{"_id":"@quintinshaw/pi-dynamic-workflows","_rev":"62-4e547cf41f967233814d8f6f7cba82a6","name":"@quintinshaw/pi-dynamic-workflows","dist-tags":{"latest":"3.14.0"},"versions":{"1.0.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.0.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.0.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"a4c984dd7f32693f2296b7d24590d700b06dace9","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.0.0.tgz","fileCount":51,"integrity":"sha512-fFoeOAw6P8RAw3yTjD8tzXw0iCaTcdlknAMBpBGgQo/Hu+wQv5ur4qy5gcWVfpX6hujNaKTerYbdqQ138LVvrQ==","signatures":[{"sig":"MEYCIQDnB5ecHJdFxqtlKTw4i1Rh99tYFoLyKReAOMpycL0/igIhAN6EtxFkB32LiG7fYrOODJudBU3ak59klBMlQG3gs280","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":180293},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7f6b284306e833427e8a90c390b8c01eacfad064","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.0.0_1780168087200_0.1643766560089115","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.1.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.1.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"d49ed35066033cd1fba87b15811071751fe12212","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.1.0.tgz","fileCount":51,"integrity":"sha512-lqod2Qz9MfymgRQ/5XUd1KCgekNyYQxWOUOX6ngzxIIOibJc7yT4i1qdkYM69VJewxkDTGZssa3XM+jbSPpqjA==","signatures":[{"sig":"MEUCIQD6qu4gZmXiZ5O6oUHcIO7sZXEgZOvUp9ldcxzMeB+iIQIgHQhAhp0COoNXo+nq7DOqqxgDfAAyeuU1TzfpDo/QAtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184619},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"de85673a9630404861bebaa8e1f0563db62c3e87","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.1.0_1780169095244_0.5288619147234253","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.2.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.2.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"719f01a8c37ba2ad7a66372714128be7edc12aa4","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.2.0.tgz","fileCount":51,"integrity":"sha512-E5ZT1ETaKKr9wqfBhIkPF0Z/0TpkVkniTOCHVJOcwUB+0QM3kg/szaBetR0jdU0VVYmY03zGwFzoYlJ43HLzGg==","signatures":[{"sig":"MEUCIQDzFuEOspmoYrsZq69PSxejJMOtwMxSzBio50kRWZFdBgIga1u37mMLGzkbUKk7CtGyTnMmLIUHJo4JWSVW3WBriDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":190885},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f5d1b625902d0c36a3072007c93debf9e37a550f","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.2.0_1780169743574_0.9760063125479967","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.3.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.3.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"5ad23c6c9c83839b53c0001fc8d086bc2bdcfdc4","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.3.0.tgz","fileCount":54,"integrity":"sha512-3DSA6ExzRrWQhbh4w2hs3ES+WIw6SRKPiIsWNoBkEPv9cc8C0CS1WYwgvJ9sGiMXJSmQfp8M1CAbEXkoTCLufA==","signatures":[{"sig":"MEQCIDD0/kqM5op+nf/p/9z3O5qDE9orqId1nF2qWLxUrpsKAiAQcUXNMUwo6jXOD8Y3bGXAFGXy2/CViwypGoSO3mqtPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202645},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"583b70cc4cfb6a37c1d5cecdbea067ed8e623462","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.3.0_1780170245624_0.20390143320209586","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.4.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.4.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"c253d91d5a3eaa3be26ca47cd17a71b341c1de45","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.4.0.tgz","fileCount":54,"integrity":"sha512-44k+J9i9G0qQ+6me4qogw9T50JyDZ5sIKodVU/9CI2wuwvqo7GjY9N3Y8lKum+tIrVeqxcztEiVpOCz6ogV/6w==","signatures":[{"sig":"MEYCIQC4m9ELiWyhY9No6ZXmucv5BQJoY3cZLS5VjOIrpMyc6QIhAMG3zpDiZqWdGE6bYjUkkNpMwC94I4BiAYLlhNN16zK0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211611},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4339a1c61e370fae6e8a20a9a80ea8224497090a","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.4.0_1780170735333_0.04315379139588238","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.5.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.5.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"fe85936651a991be72a1238389598c7fa7d6e441","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.5.0.tgz","fileCount":57,"integrity":"sha512-dTvHvh8o7XSUMaPJDbFXxyujTse+MyXFDx6iloUh+viHwyq11amdYKpAVNmoZ7Lo6bN+CPc89kXXv2XF83U8mg==","signatures":[{"sig":"MEUCIH+gB5qTp923KRw3ZJX/uC2RUV5sZLrILpWAuaajE2k2AiEAsKarICTXt6xuj8Y9BGxQtIbzQ0e0FSK9oMnFe8Zcoho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221047},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b781fcafbc2e03962182893d05cb7f262ec1ee10","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.5.0_1780171077293_0.8883268312139783","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.6.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.6.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"a5f51b47ca7c47292c8c6bf7d29146601b8b4267","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.6.0.tgz","fileCount":63,"integrity":"sha512-38JP99CwJxYV28uqqR7nd21n5ND0Igx+Je4Bo/pZRQdctx9LRj/gajV4X8/xsdfCb6NWJ15PxuzGDT2icacuPA==","signatures":[{"sig":"MEQCIB8CFiMtOHkcqR/+B7TgC3eICO62brA1DHah5R+hkdeEAiBoJWiraL/5pw+7YIDCS7JVLWN+/qRCyUtbHLxonMDsvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244965},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0b8b77d89adbfc1efa92939ced4324c88dfc3061","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.6.0_1780171834091_0.7857898431791734","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.7.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.7.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"973b795c9a9264b85116a6ee203f3cd6ba2772d2","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.7.0.tgz","fileCount":66,"integrity":"sha512-u/I9J9J29hsg0YrV9uEln5KVADqTPBUsYaU+8KmYvojSTgowly1+Hh3hVARP4gfczQDvB+zDU+2Z+DOW1lXNqw==","signatures":[{"sig":"MEYCIQDe9+IxdXHJmqxP0tEYPGOEaa5cbhpH0Zy8LnQqhgJMugIhAJDB+Q4UgrzLL4+0yIazp+ljIyxqsIzkadyuhoLLc/+a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":255641},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2fe2da2d3776f91e2e2a0e4bba9f1f4032339edb","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.7.0_1780172199541_0.9460336925582717","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.7.1","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.7.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"fff1c89b6c276fdf1e8196b3ff3db7fe86174321","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.7.1.tgz","fileCount":66,"integrity":"sha512-E75Nfo+kh68Ga8XksDB4cdtT/OQ30zVJaPLsDBNvMs/I7vvncLNQOt2CuvcRicA9ohKC6vdLj9hoav6jTruO6A==","signatures":[{"sig":"MEQCIEGdxIhzOudlRbTzOAJSJMY5JaYSu1JBBy6wySmUVPkhAiBrIl4vf/f8okpo0sK+UEHzyS8hMILp0bFxwsEekAAMMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261035},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f40bcc60f22cfcf7e5e72dcaa215c3ad54559469","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.7.1_1780172648253_0.5098330419113917","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.8.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.8.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"35088ed82c57bfc35e7255f5aa8a641b16b83608","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.8.0.tgz","fileCount":66,"integrity":"sha512-xmMG3B6MgbI/OyJnum163qxutTlRJaGFKKIx+SZ6CnyIlVNWHApGWzc8ZGWi7+Qv0yjWYD9nkQP4SVLsin35YA==","signatures":[{"sig":"MEQCIBnqE95apgEgZc0hmSAzdUx2v7LB6MDgy1z4oEcND+d1AiBIkADDWz/RQIBrBiKseS7+jYmz63Pkn98j2Wj+lyOv7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266770},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8c44a47870f3cf61ea2bb670ba5cb40d71032006","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.8.0_1780173102736_0.7626198358289993","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.9.0","keywords":["pi-package","pi","workflow","agents"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.9.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"169c3e4ec9ecdcf27fc841724bba1bc77d9b4d46","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.9.0.tgz","fileCount":72,"integrity":"sha512-Miy493bsDwmzuj/XeZRwvHmiatqg6ex0LX4hIN5DYqmcWk4bgE+CbSshUAaD1uRw5ZceYX/bSLYjAPYCLoL+jA==","signatures":[{"sig":"MEQCIHr485odpDU40zGs+c8HXtd8zUTYtymnTZs/BD2/0vUQAiAiTWEWOa70vtG3IPgp5GPrntr7ljN4xRabHGWM9hDAqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":314681},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b91de77e1ba42ca67e8a5d1660885f7fcdeeade6","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflow orchestration for Pi.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.9.0_1780174113563_0.5340201080202605","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.9.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.9.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"7d285a24ae5ed7ea514c4fede503a7d95f42cd41","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.9.1.tgz","fileCount":72,"integrity":"sha512-jDgeHmvLj5Mos5O0IDrc0HI44zReM8U5716YW6wVetuxF7jFbfOaQrsaRFe2ccOobgLk+rriQuoyOnPV9j40+g==","signatures":[{"sig":"MEYCIQDf4WujpJ/yYaOudirH7d9cjeskksSlO+WVkF55FaHMJwIhAMzWLlRYwu7o0tIV50al8zZa6LmtITOK532XelFv3/Mb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":315862},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3fdd0be97c40838a136691da01230d304e5bfed0","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.9.1_1780174561528_0.4142076737028204","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.9.2","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.9.2","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"d0cf561571d75358ae1c062b7bd72fc1edc52557","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.9.2.tgz","fileCount":75,"integrity":"sha512-aPPQ+Sr5RB9iqonO+cc954JEsX8WUp24HiMprsQSmWfV0+oAnhldJh88ZVpU+9ZknW+ED9Idq9K3MM2dYHUBbA==","signatures":[{"sig":"MEUCIQDfG5uk9UhvoTmC7aFr1zpNl4Boqpgi/R4a8QXQPIlzUwIgPudWCIPjAzo6tdeJhf+TUtC8oW2vjilf1Rngi/17/ko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":360431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7ceb7492e2e5fae445af7822bd67941d7893aa43","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.9.2_1780195782446_0.7278418991220568","host":"s3://npm-registry-packages-npm-production"}},"1.9.3":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.9.3","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.9.3","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"e086300a19fd3d4469f6bfa8ae7c6c1ddec4e232","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.9.3.tgz","fileCount":75,"integrity":"sha512-/8cC9+Kw4KJ4MbALM5zcDZ3g5TOMDcF6F94HSiEs6ggOO9TJ+0t6wQWCGMSRqtr4VAVbA9Ouw34P2wBcmIcPQg==","signatures":[{"sig":"MEQCIHM29wE4DkcUkBT8GQ6flEB/NXu2pNnasUIb/0mybktOAiBvLvKQIr3AN63YfKBwB7JVQrSC71BD4iUjCjh4yeDRKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":363783},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0040b2292c398cf5aa4134047dd00ed798625d19","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.9.3_1780198980623_0.2801777838109256","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.10.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.10.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"fddfff36cb71678ae65f260d2ea534518a1dfa21","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.10.0.tgz","fileCount":81,"integrity":"sha512-jsRn/76buKqxiBMUknMOiRsUTq+rYmoeG9Xj4x3HLcSzmd3m5Qc1ZSZLPEC7yj8WOhPRA9CInwMSN0QPGICeIw==","signatures":[{"sig":"MEYCIQClyUmsKG4Lhzt35I5Si2mV6y8Ad/u3BLQd3qi+OcPCTQIhAPBZPCwPfpkFgOOo+ILFugKNSed19rcdcvYHilLW6uYv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":421066},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"556782fc0d2c16386824f62af31a17cdc46617e7","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.10.0_1780582890067_0.8286584170782534","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"1.10.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@1.10.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"aa340e88177862db56e24f83db0055a5e7fdfebb","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-1.10.1.tgz","fileCount":81,"integrity":"sha512-hrnP43cGf1/Q114tseKBir5TbmDnyE2JArbP7tFYqjlMp2Na8kAXJJ3jLx+PfFRtq3N+JoS2azjPPaeSZjh9fQ==","signatures":[{"sig":"MEYCIQD/GxER4H1zpk9llsQpSQJBbGY56kXxc4aIZCk7XafcPgIhAJ30rCNyDEFX3jxJSZRLpyelB4BUEhvPNgezPEQFg41A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@1.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":423706},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"61a984c72b899101a4f8cec44d935f30270fdf67","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_1.10.1_1780591334926_0.06676242514107633","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.0.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.0.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"12ab5d108f4551a5628b75b8a26bdb625da6c78a","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.0.0.tgz","fileCount":85,"integrity":"sha512-vFOGeoNg95LYDvB/jOyM6CtC+yR3HXEtwIRgpsORa3teF6dFf/ltPJHeFPHSIMEF8gZIhRXg7ZNTO0Eb9VORkA==","signatures":[{"sig":"MEYCIQDS/EmX77Q8R/5QbJDjjqaPlY5P67eBJB7QtfMyD4Oc9wIhAMbQp+Wq/C9Vb7xKfuDcCD8p0IYnrIRMzUvnWMnnxevz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":506287},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c980f8dd9115c23c312b1f862064f0066a36fd27","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.0.0_1780601107315_0.9435320903454596","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.0.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.0.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"ec277af989ea2c1f28d240d993ff8513f875d5f8","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.0.1.tgz","fileCount":85,"integrity":"sha512-zGScwYNkmI5iqjriR3jbbjM/Xg5BgFi8IeZQ5bDKMVdum7trs6UzWwUSVpZxJSMBkHE343D13VNVdSZysWajlQ==","signatures":[{"sig":"MEQCIEpAJIPXlcKB7AkzVQglHJTQcvEvvaacLAgXFYVT/i7vAiBBD2sWuJjY4wIU9lP/+2W5+ut8Oo9smf4fAavN5BE3vA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":506431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b817f17ec957fd4a9c83bb4cef956b0c7d718d7b","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.0.1_1780602025691_0.7548734839153812","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.0.2","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.0.2","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"30b1e0b0f6d85cab6d4d713a2ca8e90f1e335884","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.0.2.tgz","fileCount":85,"integrity":"sha512-hzYBb+HO5AUGMiXh5Y/Rba9zoQxxGe+TbThaX62Y6vBqTzaZ2zDog247h4ex+YMi9zgKgmF6Sbumt1xUb+5NOA==","signatures":[{"sig":"MEUCIQCqp07cKxt/RusUodXW7eNyyel2lz2rGJl+LqqG+HJM7wIgMYXbZDsp1AylaPOkTUzSZbaRobU2SMFquEWeCsL+u/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514458},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ec7026ad126722b60fc91adf313cddff39a5c00f","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.0.2_1780927319678_0.5990446022706872","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.0.3","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.0.3","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"9562a04eb0ce1cc3e4b5967470cdd1573f72963b","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.0.3.tgz","fileCount":85,"integrity":"sha512-BME5Ajvob1Hq1avGIcgWD4AK9qytca/dinfFNALVBNaLWcQXzBXnrpvap1qcxZI61uUKHu53R9yQpbsuAQMwJg==","signatures":[{"sig":"MEUCIGKkDaypDLr9BDflfgjEpyoa1MSV0WwmNqpy9SfrV9ApAiEApj3NCRQAC/9nOWp4EVDnHcw99fReadn98emP6D2hmF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":515261},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"199cfd7ff6350d84568254ad1e0cc43c1dae8c9a","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.0.3_1780995274704_0.38368024627620945","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.0.4","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.0.4","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"8415068662699650f95183e95be4722ee709305b","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.0.4.tgz","fileCount":85,"integrity":"sha512-rYLH+fodkgCeOhZRRDlFv+R916ZcDTsSfIF+Fsn9+TRHDnWgwIS97iiJHIjnaOHwjJt8/IBc2lY17nXOhZK55g==","signatures":[{"sig":"MEUCIDqt0k2DhTqjCgri0dTeXdp8sDenCDQ/b1Zs3bcrzBk2AiEA7THQLqde+tX9+GMM0267JCfsuE2LybIGuAlWdCyF31Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":520858},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"52d59bd08f6c84193a816b92cdf466563d8f3033","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.0.4_1781000466358_0.6354917737041608","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.1.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.1.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"0041cee90caf273fec957a2c47abb49ea441a5a7","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.1.0.tgz","fileCount":88,"integrity":"sha512-hem3OoLPqDpmUOfaucWd/QyS88qKH4W2Y2AzJC6i7H2H/HFL397cqzRdK8AncMpQ/IThb6yZYdswyZnh0QHCqg==","signatures":[{"sig":"MEYCIQCoz7AVgoNlaImEIWdA6pdKQ5yLY3Pvbck8D+2x8sq2VgIhALK1hrjN+NjQiuuOJNJcZz89xL3iHpv8gcnWO20m+kvk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":539615},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b49764f3ecd68aac02a4aee67afab373de042199","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.1.0_1781007865111_0.8947236749618239","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.2.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.2.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"f8068a3a473b7c13e9e13660111062203b7d2eed","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.2.0.tgz","fileCount":88,"integrity":"sha512-7Ch7ggdPEDoym6hjPWUAV/PJou/cgJ42185j7uSrrKoB7BPZgef1hEu4+olbCg565DEzxnUtNjj1NUbssh27Jw==","signatures":[{"sig":"MEYCIQCqMPXbILLK67Mmf7pfmqIgxwEIQ4dssOM+RITWBnB62wIhANaDagGBqGzzezj0z8YL3kpw25XU9qDgiJbN7IF84/n+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":546097},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7b1357d95cef9290dc366c0454e05a8f1f6f4514","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.2.0_1781068498312_0.9043932445151339","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.3.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.3.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"60a17ad05f0629203f2f0039f9ebb4a4a468da56","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.3.0.tgz","fileCount":91,"integrity":"sha512-UF6dvTYynUL8fW2n22ixyLNQXUHUq4FKkM6aCuPjGKz3/f1jF+An7JlYNl1aSS+ICYn9uC27tlrs2FCmQF5X1g==","signatures":[{"sig":"MEQCICZd44S+oXILFCiHyjsgYmniih7yKS3hENJzOg2yElU+AiBPfuaZfRS1YdC2xp3ki7uagbbiIzhVDc/pp41+K/I6gA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":559729},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"40577adb3f312d2c40465535d8c83eeeda748ff6","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.3.0_1781173588459_0.30794163164744326","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.4.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.4.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"41002abab7b7fe848ca76b59b9726d117afcd87e","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.4.0.tgz","fileCount":94,"integrity":"sha512-tkn2FLTnhB9M7+PoCjq1tL8FQoACkYXDA4iGpapWiv52S6VrnEFcknKmtmfY+ftR2IK//hg/jiw5kwtnVZ+J9g==","signatures":[{"sig":"MEUCIFfSnyStVjSvZV4aRlp49m6+Lb/Ya9oBaPTvoFQqj83NAiEA/4sbycId38w9QXV++OOyXgUrYlHar3ckHkfewABweiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":578202},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"490de40572a6ed9cb21be842df3a6ddf1fbc1baf","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.4.0_1781195220712_0.07440225888627583","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.5.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.5.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"8a89b95eb88cee66307acdac8c8d9744aa667f02","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.5.0.tgz","fileCount":94,"integrity":"sha512-tX1RguHT0nI0jdaiwi4mFlJBaNG2hBsBsyp+6bKrnPpQ1u7uZQ1oiYxHxL/3Veh/7HM5M58n/X4EdPv/fS+ukw==","signatures":[{"sig":"MEUCIE01whgqaUCNRsLYXos+ODZ6vZZHQBopt2LQAXf7q5vzAiEAgH5z9P6QALKleg14rCtVvx3wBJ42Bi/ei3nMDdMcscM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609575},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"901de2bab7a449977c241659b9de8bc33cad0d4f","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.5.0_1781359237313_0.13407831160302242","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.6.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.6.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"d4a68ec9fe1c46c242e1ffdf91444ae1bebab59b","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.6.0.tgz","fileCount":94,"integrity":"sha512-MlOh/EiT/A7AxftW7HSRkp8GIDjOcQdXZc/ztev1CyjTTdnULUceYcVHHQxD06axWZzalDXkHX6FjZ2NZ1TQYg==","signatures":[{"sig":"MEYCIQC5hgfkC5s+KSjTDIFwi6SRQ/53F2XOtVywKqjyqSGKjAIhAOvBFUnIz7BsD3e2EIuN3ib2HJV2eUlNGxsw70xfwrwO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620878},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8a33ed72b37c118c54067e2689642f4d6c56d45e","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.6.0_1781508071581_0.16395364443473492","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.7.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.7.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"95a8969169c65933a7b9f2422eeaa83a6aeb2983","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.7.0.tgz","fileCount":94,"integrity":"sha512-WS4MQnXMZSKoM5KmbaxY9A5usTaN9wESMd1u11CWTYdJToGzsJ+aeouooxOgYdjQ/tjQ0JAW+1mmENdm/e8Y4A==","signatures":[{"sig":"MEUCIQDhQM9cjVTYTtr4ITXtU8h8ETsfTNI9rhb0pVvVabHznQIgNMotZrQWbpnRgA1jpEXbdbtINaDBg9zwc85yu9pfTis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":637746},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b11fdbd19ca229ef7ea67543357ca03a8fbf25f9","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.7.0_1782017786950_0.12124796501476265","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.8.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.8.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"11933d6f5ec682180aa436e1a93dfc091532c21a","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.8.0.tgz","fileCount":94,"integrity":"sha512-UZbpUX8m21nkz4a7JQajoIadgXqW6OgiZdH9H4+sckz5sH9IIsjWJqoQDT+C2+JUBDXUOlurv+wHjwyXBcNpcQ==","signatures":[{"sig":"MEQCICuifrwRwKgeK4KPJxi7/XrThwHSYxE/nh8ouy11ST4SAiBgzzk94LeswaipirUA6q0/IRFD/Gr7QhdQFyy1VhncLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":652320},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"62f72f686563a23aef76b27d45854eb35e0c48cd","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.8.0_1782221485852_0.2255872311538647","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.9.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.9.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"48000811311fa998dadcd669960807982e5656e6","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.9.0.tgz","fileCount":94,"integrity":"sha512-ckOgaPKFVdtOajZrOPdR5U+WlIWwo/Q4zs+r3TWnxCR5xycLkO5plWLHx0AGKyyslM1IeBGtOSTjmS95thRnzg==","signatures":[{"sig":"MEUCIEdxS23H9gu1aAFzvu15wUgQpYXaq46jVjKgohX18EC2AiEAlyRBFZTySDPa+utotIbnmCl+t2HvL8gXAyl7nCWZzVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":660227},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"452ef4ef3880a77c238f7d3ebd088b7bcad2edda","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.9.0_1782486922019_0.6992236768081279","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.10.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.10.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"9f968843e226f5b739e7996714ea0da6edd9a5f0","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.10.0.tgz","fileCount":94,"integrity":"sha512-PB4KumsjCavDWKMuCvLvJwWlwLH/EkSVDYwk/0LeDag/4ApHm6qqNz3TwpmIngne9ohwjaBfOtaJp5tT9DdxYQ==","signatures":[{"sig":"MEQCIAM2GoS23K7aE8kjUbQwy/DGntCF3if8yBq+kGGxCoXUAiBCPzLPafA7jNYjvWhxkibYn8JqrvQ2Ef6PynGtIkn6vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":671751},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"707b876d214a34dc3e6cb472a9fc7ccff5e15660","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.10.0_1782947922470_0.8173770504671802","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.11.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.11.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"0ac847bd4e58ca31966412ba6a5d1d0eb22b45bd","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.11.0.tgz","fileCount":94,"integrity":"sha512-+F6N+Q8ahFjoBL1HaDJJzQvGJRky2RPsef7hCO60PW+QY0RRHKm7sC8a+jYpkAhI5aM2YJrRSK7Jnrn3NPHQTA==","signatures":[{"sig":"MEUCIH9mZ2sgzt+B15viztVaUr0nLHaaPwnseCsenQ+5Q+LpAiEApEIh30tGRpZ9vThKEUIM310vGWiBimlhN2Myd7Eklpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":707701},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ffc6c9027ba89db9f11a6f28ae603041373ab947","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.11.0_1783084676726_0.18046801129570045","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.12.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.12.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"2384a4865d22f5e24d7e3f39d25581133f664b85","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.12.0.tgz","fileCount":100,"integrity":"sha512-4VnszHfrCS5NCv8ArD4BAfYf5TppVrdrbV2+CZeWOS6IpVuge5VeLTnuFmS/7QDGiChHWurgp3EV/8aTSkWdag==","signatures":[{"sig":"MEYCIQC0MsMQm4EAIwr8ZX7keVfxLX8s2leZ6nV0Nk5WxxgNOAIhAJZqmvf1WO5X9mUtLGVXaQzX1bWaSf9wOyXuS7yv3TmS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":776870},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"66cb1eafbdf80a0d2c34b2c4e90efcf054c1e90e","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.12.0_1783623948564_0.32203523899994124","host":"s3://npm-registry-packages-npm-production"}},"2.12.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.12.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.12.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"26f9c96b98a2e708275c469c141457205b227572","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.12.1.tgz","fileCount":100,"integrity":"sha512-WjKcQHLEENutv2bnqEeKq5hvi2/qeyQKvVQtDH6RQFuRey1hXnKjh3o+Iy5W+nN2Jv3goL0rngy56AdZDZTf0A==","signatures":[{"sig":"MEYCIQCsNMhVmZ+Es0P9n/y5KVuzjNrXoNUudp4eiMFkv8HBKwIhAN1UBgrI5LvEtxs72pYJXM60A6IJmNxfZlnLRFgvUJwG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":783038},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"df334361b1149b7b9a129c720c0d8c287838be8a","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.12.1_1783708338133_0.12755487779498442","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.13.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.13.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"1b9c25c9bdda5aa74a2a4b39701f212aa63a5ab8","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.13.0.tgz","fileCount":103,"integrity":"sha512-2Nt/inyYFYZYbAE1EcWdKd9P32S57yyRLAyQfH73D0GBqmB8Mnb+hlLfHYan+wnRcZJdSMRFroHw2bDCsyHsWA==","signatures":[{"sig":"MEUCIAgxwV8vjWMTLNdcfVe28ARmx+0p16BXY0ZMsTfaY8z6AiEAxh1wIk9DlqnibPk35SIWUDHd746NKAWLKZyHE8jPvUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":828779},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d24621e1957090d44ddf3c08530406c284ee693e","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.6"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.13.0_1783790661139_0.7451522847022238","host":"s3://npm-registry-packages-npm-production"}},"2.13.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.13.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.13.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"f1da2980e98b105e4869b1b18ddec775f8a671ac","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.13.1.tgz","fileCount":103,"integrity":"sha512-I/Hgj4OUY6GlUFrKx3GZipQON19Whmh36YMD9UgEKtmhktXlIwfqLjnrwfI5edIVmPVbfaQ3ilyq2mHfz/lZGA==","signatures":[{"sig":"MEYCIQCjvnG8ksdn8KYyKdQ+tBvAiDaP0rsfQH1LcMeygmYyEgIhAPWda2jHatmNmQMLzRV2m6nT3Y+Mp4N9xCs3JMsTkffU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":829173},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b587566e30bc3befe15a6539584ec3d79c0c5caf","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.6"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.13.1_1784000612463_0.33563316082115846","host":"s3://npm-registry-packages-npm-production"}},"2.13.2":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.13.2","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.13.2","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"5a5c456c4a8cc0e66a46c0e111869c054fde6fe4","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.13.2.tgz","fileCount":103,"integrity":"sha512-uyt3e5zOA9uWL0ztlTuirgeD25dWwd5E9RH5unJoJjfh6cxIXD4mShtDPu+Dc+9eUZmxQkSp9P+0gMZfIPz5GA==","signatures":[{"sig":"MEQCIEDfUfi7m9zsaqY8L7Jdcv1nBienUKia8W6wXh41F3hlAiBUG36CHwqtPY4PrrjhgPlUx0ilFguFiaBnYWTXewDJOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":838894},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"625cd036279ac29c72d10794d3f6473c784ca0e8","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.6"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.13.2_1784165118592_0.02753145962231307","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.14.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.14.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","extensions":["extensions/workflow.ts"]},"dist":{"shasum":"ec1f500c11099362bac86c58d8bb41a6b0d27cbd","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.14.0.tgz","fileCount":112,"integrity":"sha512-bUO+NPMpSJ+DksiNqIh6mVaJdPiwSQilkm7hpNdtOz9hZmIP/kimbB2N0BBfl/M4fyA/BOQ81YyZFLpZd3zjvg==","signatures":[{"sig":"MEUCIHjBusyPKJ8bEeEUkL1KPRMTk9zSFpaBYDUbpm7qb2PoAiEA0hV3Wyx2c6hEiKhtDxHZX15YNoKHwdlwUx0PmCvZonY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1229479},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7800cbd10194a37b1924982b295c8514a1e1bb77","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.6"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.14.0_1784194715744_0.06158228695388979","host":"s3://npm-registry-packages-npm-production"}},"2.14.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.14.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.14.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","extensions":["extensions/workflow.ts"]},"dist":{"shasum":"63748e6ef8b8c3bf8c98083d64f749b75bf543a7","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.14.1.tgz","fileCount":112,"integrity":"sha512-qEUKtpSwResr9wJJi4OYm0ikqpa4PU02pDMYeZnyPOXX+6VsbZ+CgP6zN4LTbglJOlWF29gyVQxDCRAWlix5Tg==","signatures":[{"sig":"MEQCIE0DGRKh7ZtQBNISHP0zPtbDJwpGIX2QSFOs6C8Ed47MAiBBLPIr9T1+TfIdlMgP0DwakRkOqhZgY6ZNc1iPEvlfbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1230679},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e459fe62d3ef126fabfa89dbd59b49d68c998583","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.6"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.14.1_1784248797948_0.5712603276839769","host":"s3://npm-registry-packages-npm-production"}},"2.14.2":{"name":"@quintinshaw/pi-dynamic-workflows","version":"2.14.2","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@2.14.2","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","extensions":["extensions/workflow.ts"]},"dist":{"shasum":"cb11cc70350c1771eaff0bb8bb2a658f05bc2cad","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-2.14.2.tgz","fileCount":112,"integrity":"sha512-2lRpSIawYQ97m4VrXImBZRZCfGYyll7nQCWL92TihcxhGTftraZf3zqCyttqMDnUmG59+JbKxwouiU79HT/CKg==","signatures":[{"sig":"MEUCIQD8QqIB5Y4LZPinxINg6hsFfIebmzztvOOHd9LH3dNGpgIgNEqHRsNdSIxrqk3oHc6fogNcc92iKBuxQ/hk9kHJ4v8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@2.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1237918},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9f871d3edc31daf3dca910d654bce702df67f3c0","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_2.14.2_1784323677093_0.5121957856555277","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.0.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.0.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","extensions":["extensions/workflow.ts"]},"dist":{"shasum":"48858ef931feb66989c400e3dbf3e348c63c745e","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.0.0.tgz","fileCount":115,"integrity":"sha512-xFyGUfHeL94bjOHGEpMVzZnNopRPghxKq0++q8I6v0xLrV70fMeiq3F8mvzIL7zsqTJM2IW9TlS/FWQ6AvnCAg==","signatures":[{"sig":"MEUCIQCKcvEASA9Oe/xMqw2gaKHEuEWbQvosPwkQCeaHqAh3BQIgZn/5G4zAbS61NfVCQlfyqlEa/KrEY6N1J9/wj/sDthk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1308666},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"818fdd88509cafdd02c743464f3ee3874b34619b","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.0.0_1784349021192_0.7640436060560281","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.1.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.1.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","extensions":["extensions/workflow.ts"]},"dist":{"shasum":"bceacc3e68894df67a874bf64726e1531fcdc664","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.1.0.tgz","fileCount":115,"integrity":"sha512-vn9k0XLkfybbTNoEw6cEkHBnPUXys/dCwT0qvL0+tti1DNH2Z33w6FnPqxpNFs78UKOBoEkjbJEY0Mr6ZIGfQA==","signatures":[{"sig":"MEQCIFRAZKTrGkBRVdq11zRyEWjfP2PcVf87kS2BoSY1uSVNAiBsp2Id6uuznP8MKOutNrjMbNS/j3A8u/C779c/mXrmAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1278023},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5baa50863eeec675034cbec9cbe3733f526ed450","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.1.0_1784427044833_0.2450781017188417","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.2.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.2.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","extensions":["extensions/workflow.ts"]},"dist":{"shasum":"753092ffbc02c0f4360bf265f5fdd1425dba5445","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.2.0.tgz","fileCount":115,"integrity":"sha512-6VnE9RLEog9rxmiSLbnRAukLXFkrGnOZEXfn2diBgPkUZ4KfUfu7Tj7+KT+RuLXhOriQJev6VUdodIvMVUiXxQ==","signatures":[{"sig":"MEUCIByWtKzC5dDGcevqabFHDgJKnUfmzqv9I59ryoeb7lrkAiEAuU1rxyaifzb5zLuPjH0tJAIzZ5Mv2Rtl87awmLj/9SU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1286235},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f8c20d738dfd9180f41b0599f7fdcab0605b2979","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.2.0_1784429889149_0.6335756887708548","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.2.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.2.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","extensions":["extensions/workflow.ts"]},"dist":{"shasum":"0eae42832ba28351a5188b35bb89c6471f1f906c","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.2.1.tgz","fileCount":115,"integrity":"sha512-2MmrmNSDX4TeOWP8q1SqDZiP9+iyd2edEBsA+SEtTJYnkwSL5+wjk+5oIPW3Fxk5E3wvTZXhFvGUQoMM1nPiOQ==","signatures":[{"sig":"MEUCIA2FBHkBkFtYmuvZId3RP/8tFJrXhatyrFZqY4QZUKL8AiEA1Ibhe6EMuiIorMMG33CActP8KhktibuWYrig8lLwD3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1299499},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cc2b7d09a4ffa8b5c56fcb4a6d0b27d8a31feebe","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.2.1_1784495914047_0.5590271462418874","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.2.2","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.2.2","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","extensions":["extensions/workflow.ts"]},"dist":{"shasum":"cca54acbb0c80cb85327770102254ccd5226c106","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.2.2.tgz","fileCount":115,"integrity":"sha512-zu+/cDyfSQYgi8Ch+rpL9FqbHiRUaiAAxU4nuMZZpfEBvECeSxNmw8RAFBi8Nc9mwbClm4DXy+Mu8SBHroNUbQ==","signatures":[{"sig":"MEQCIEmXFZnbmHRTSPdwN+u8yw/mRhf3hLU6I36Z94cTZhyuAiBEIL/o7t1C0tbQkQY3GKFQNtORyHTJDMFbdZLaCEwLtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1312618},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cd7ceadc485592e69766031388d8066d90e296ea","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run build && npm run test:unit","build":"tsc","check":"biome check .","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.2.2_1784499239888_0.08756515871460535","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.3.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.3.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"4f520a9ccaae43b7509e605ef3aada6fa7516906","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.3.0.tgz","fileCount":176,"integrity":"sha512-tPN7x3+M/OCYXcm786O9yNk8xKQKL8ui6P4noqC99Rn5/n0fUjizG0SnLChsNrZZXKVtqLRv8vKdzDmNPewvTA==","signatures":[{"sig":"MEUCIQCS6mYQiUAQwuvuliNaiEwNfU4tfZxFHk78QWMO5M8L+gIgIey+ot2CVm9aCoX9lOJd6aRUGXPqlnFNXJD9rPoGbls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1929735},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dcd4f625222052af9b80bc9465e4c0925f464429","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.3.0_1784533766348_0.1583140185507912","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.4.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.4.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"5cfd3b0d68ccb84b568f557eb09ba9c8e33701fa","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.4.0.tgz","fileCount":179,"integrity":"sha512-nDVRi9YkI4UYTQ8KiwZDLZNqFq/FXWHbMVpH05ugRIKUeW2nhHT9UKKTuF68/nNwTlWe/yyfaYaVHRlMsmzFbg==","signatures":[{"sig":"MEUCIFa4qu8qxzVwLLKAiKXArwMyYD3vS0VU5R8ZgYgkQUG7AiEA4AmL5oez55V6hQ6ZPFcHm+5WbBgXsNihzb4nkizjo5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1996737},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2c917ef28254611a8f70d990fc9e8706e33386a8","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.4.0_1784702056100_0.8442757089023565","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.4.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.4.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"8bdf670a1ce713d8396541e2053ae76a49f784f4","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.4.1.tgz","fileCount":179,"integrity":"sha512-oGvpEkqoG4MQ5HQsQ6zG+DuPmX3Z+AY+Fxx5qN7lqEQNl7Vvq3EU7jTRRJoeyTFPZNOsornqaqnUeGecpHEQoQ==","signatures":[{"sig":"MEUCIBrxc0SyU8+s8+WAAIWtv2jvdaN/jK5/idpOm3DKgW42AiEAwdyzYOjMjX6ag+zsW6e6ASgHLG4Fw1enHCyz7rjqhZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2000471},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6d866e16396ca487dfde2591dd4d4e7ab04e9ba1","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.4.1_1784758797282_0.06909755277175389","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.5.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.5.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"668750d4053e5f446da810139000c916c623d472","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.5.0.tgz","fileCount":180,"integrity":"sha512-B/uq11yAxDECfEVL4D/bmO84+Hf/+RrdNEB2z6bnpzkh5yF2zTZiIhuHtZ/Dh2a7EO95xBrjeCPsm220NnFnXg==","signatures":[{"sig":"MEUCICkrseSdoJAOsegi+FmiwRL2akZd1hdPVFHcE+C9H5iRAiEAxlK6pRRa68PxqTJPcY0ksgT82MEz+dnHa3PHQpySDBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2022555},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"356ea76836d04bcd2e9cbc09b289d5f18f732c65","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.5.0_1785441528917_0.6120243878324165","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.5.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.5.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"9ef036a12e2d19ba1bec653ec727e4f04cabbeff","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.5.1.tgz","fileCount":180,"integrity":"sha512-YeIIJQpYpF5hPCQm2dlW6zsonZ82BTdelIh1J7TKmaoZkatiTKwM/yBSby7bZpatWQ2YbYdj+RfGEll+cXT8Hg==","signatures":[{"sig":"MEQCID+LU3O5SFes903bz5jK75m85aEayudGRtqnVljbN7SQAiBGGShbn3L3kuwUIvGKlz6ovvEIYc6J/Yg8KmK9h6EjhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2066711},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bab5ad78457bc2046f34b3ab2964adee9a342c25","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.5.1_1785947963852_0.04784514814073937","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.6.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.6.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"63f931edaaf10361513b2fb1a5ce822d544f62a1","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.6.0.tgz","fileCount":180,"integrity":"sha512-jZhrwI9YabOv325T6rprLhx7f8D991XXxaFt77AzkGWCBaD42Dqg6B0BnCPW9j5mydxj+otXJQHy79aoJWUOdA==","signatures":[{"sig":"MEYCIQDUMOAStwP/64GgMBZJPyHh1C8Aa880RNS1bWYeNmw5NgIhAPH2vgUbfnGrBetE268FW33aMC6cAVxkip0uTaaHsFIa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2138871},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f1e05aa766b729788e9c53892cfa0dd940aa36e1","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.6.0_1786900543466_0.9947154230800066","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.7.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.7.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"e67a2b828cf208f649d745123257bc660094ef59","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.7.0.tgz","fileCount":180,"integrity":"sha512-zouAO72IlCHplCNdY+M3LgdcftDD5AbW3QakCpsbSU5oDRNZSlW+es9hBILXegRlFDHW0VgmfaYSdLCtWgMoJQ==","signatures":[{"sig":"MEUCIAbcyFTc/UK+x7xvzhr5qgD5g3EtfQHMytKpCHWtfVW0AiEAhRHlC79NKE5TX9O16Mih3FQTjSRcH4iPO9le7zEeysM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2158294},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fad6ef36990394621b08b245b16d355ccdfcc175","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.7.0_1787151570680_0.12988579181829674","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.8.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.8.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"afad8ce8773e08388a95b2ff6d9434e5a1114470","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.8.0.tgz","fileCount":186,"integrity":"sha512-aoZgLaO1UxOvK2pdxOb9x8P63/6EPKipUVD9J9eqVHDHgETyeOzXKg1mJ4tx5Z7m0wpeH+7AL44RBJrQq9mJMQ==","signatures":[{"sig":"MEUCIQDv7Zz3sYo+DS5CHnowmfzHyWcp+YFcIlmcBeB4gHs+vAIgS8rrCpibzbDYEKFJYm9IN/tt3dTQSjTI/pqkGfSxnVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE66/7rDBu0E5eyrsMNKNnyG8v9K8WQzKAtjyukBMmmBAiAMCKuX0Lob8IkExwd6WDNNCcyv5SWtljlU9GaHfGlGcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2266404},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9f4ec57f543c87f3ddec18ade73d2072d02d8212","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.8.0_1787676985301_0.9516895310141289","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.9.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.9.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"0d382e40ef730e5849bc3ced81708734d0e01b88","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.9.0.tgz","fileCount":186,"integrity":"sha512-25TlwDGXuu7JWmBWh9nFcsJCCWwvAqSLUQEsT++mmpTpmnXHQNECX0957lqhmule4gunukO5+Q5NfDslm3VytA==","signatures":[{"sig":"MEUCIQCRcIhbzC6234eKbHZMIRKqNp3r/j6TJUxXY/5n7j40KgIgN5omTUIpCXRFt6oReRn2+sFYwawneZHEToHmYM90pTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICTZhb3c7Omq4SAZZm9Xc/hZc9kvv5i/SaxM/WbjvHeCAiAyTUvdZKrDyFlEUgAyzRqJ0fBaDj/FSj/mLN2Soe+/Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2273689},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1c1a92201432622afc99389d72f308b6a24ef794","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"quintinshaw","email":"email@xyt.email"},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"10.9.8","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.9.0_1787811998427_0.3583970953143645","host":"s3://npm-registry-packages-npm-production"}},"3.9.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.9.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.9.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"0e3c26135d69d3a47bb8172adaddcd023fdc6405","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.9.1.tgz","fileCount":186,"integrity":"sha512-oZ3rYmaaGbQv47bKj0OrBNN7tE1PZ3GRcFG8CT1fHXALPHkJ7e/myGL2VvrGA9gDEytp3eeSuEOZV0+VCmgRmQ==","signatures":[{"sig":"MEYCIQDUZMDBHaNFCtrzr7qWh28sf772yrvEiwe1HM+bsRfCuAIhAMHiLGiodjbQ7z9gFaXnNB217YBfH73M3MBufgyrJwk3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDQ1vrZf/hrXbSb0y4RZb44saNeYBndUgMDDnjQ53vsAAiEAg3PomlbO94Z1JeGx5YGl8OOC34QKjFP5uEXoqF6AKAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2287154},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2f85c9eb350319e14a2ff16b98986a30b3c8bb4d","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67f3813d-4224-4324-a987-e5e17795f729"}},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.9.1_1788015921514_0.4106555161435368","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.10.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.10.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"56187f1a123e33c2b0bf66dd298922f182c39ce2","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.10.0.tgz","fileCount":186,"integrity":"sha512-YJMqZc2SnPlOreCv3fbtWlPQpc4M1M7SrVAfiYU774jwfW26BG779RMgB2ajg1Nf5n93fCMLGWNgOhXRJ0TI2w==","signatures":[{"sig":"MEYCIQCy+HpNUZJQI2MM6y6t/zW3PJpZJ7m/emDN1yNfm1tPXwIhAP8C/FGIv1JIZ4aww1Hj8/Ag5fAmHwMe1OLC0T2Om+gV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICq0McC4WVsUwbQiLRcpybfceqcSELtutDux6680eiI8AiBFQf7LJFGzPz2XgNyewgUzO+UO4UC5wMxPLSc97UZu6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2321405},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4aaf451a97707aa7f614fc5c103ed57ae3b290c7","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67f3813d-4224-4324-a987-e5e17795f729"}},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.10.0_1788071692711_0.19618899276680835","host":"s3://npm-registry-packages-npm-production"}},"3.10.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.10.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.10.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["dist/pi-extension.js"]},"dist":{"shasum":"72448b40704709ec7148f139fd67477289b1145e","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.10.1.tgz","fileCount":189,"integrity":"sha512-w42qKOGRJgO5g9mlKp4JmOoaywEqL+bJzG/iklSokfh6CbcBLicougGFLalrfyahesKxM6ecpdfyKCVXzo+gTw==","signatures":[{"sig":"MEQCIHd6amrkml0Sad1rK+J6UuVAwVzyfRJLgYvTvohNTYuZAiBfoCTPJdexeCKTX7wvLbJmLj4YclIIzXZgBvdL7INC0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA9y8SaFVKBp93N6Aa+Tzdt8iUcrYTAqEiti3snmcIuUAiAgr1KS6rdox+7/4B3EtVKycDN0umJUgTcAifu8ygb71A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2339300},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1c0f7462aa8a007afb8112f073887590a57ea82d","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67f3813d-4224-4324-a987-e5e17795f729"}},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.10.1_1788468687655_0.2626267157354878","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.11.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.11.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"909e4716d167b4410026d606db11982776c3810d","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.11.0.tgz","fileCount":195,"integrity":"sha512-sBVFj5CSSZ0e7CmG7fH/mpocnx3rHHL4JpLyVeAlf/chVwIn+ESsSKf8yjyI/6uuGCx0Qxerwac9X+x1RBYHMA==","signatures":[{"sig":"MEUCICHIUngSX5ceJnk0Ggm5EI1k/xycj0cQ7ONXW2zHPmZZAiEAkzDWxXMabKgkjcFPJCNjBWZS/B6Mbqg/dll72DwXXcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD6mpLlaRr7/vsfmiLVeUGn3gLUEVwf2Js9miHi/vOJXQIhAI0ISBFHlJTZisQZDRNdObNDr1RdSUXS3lbHzXOGWT9R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2426087},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3a6c259df96558275dcbac7278e0038aefb5dcbd","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67f3813d-4224-4324-a987-e5e17795f729"}},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.11.0_1789226842721_0.9437992341374786","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.12.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.12.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"985a13c7cd7308bb65108d5ef9080cb39a5bb232","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.12.0.tgz","fileCount":195,"integrity":"sha512-W6Ufw+Q2e9GeMCd8R/NxgcOnXz2umQXT60etS1vkCI6cPz3+F1kMQoakuMXGiBJcdyuHfEXbAF0tjnSzB6DUYg==","signatures":[{"sig":"MEQCIF7E8jWRG4YowUF564m4RChzMeiGuJ7WBx8rGGzKfDRDAiA33LWQMPHFUvs+3t8iJy8QG5XUl/VjWPjXgTFcbnIqFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCggOUoN41M65j0wBZ3Lq3rvJDde1upm1IKvadyPxGXDQIgFMxDnZC0oXSq+Kh9ixKEPtCF//EZ3C54YuWICXyV5GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2480651},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e29dbcae9a4739161abdf2bd21b302c076256379","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67f3813d-4224-4324-a987-e5e17795f729"}},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.12.0_1789420315906_0.5932591300171437","host":"s3://npm-registry-packages-npm-production"}},"3.13.0":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.13.0","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.13.0","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"deda926077a29dbdd04db51d6be4531e69dc33b5","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.13.0.tgz","fileCount":201,"integrity":"sha512-9n4SsBEK3sazujaLUU/bYQjwsWkTwzVcnVH8ixOZxRK0FM6cNKT/g2OZP7MbOKi3IX/WhyMZWNz5pnfkuh2FVw==","signatures":[{"sig":"MEYCIQD/Q7zf0SMm4WHp5V0DadaA3F5DgY+pxvM3wjhtp4LZQwIhAI2PzMuUuV1c+tbnEIx0i5N5OMdHei6ox2Dw/b7mtZ5f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBJSjqceamI5yn7fC4k4lG7azSebtkQXWT0Vo/HoGZj7AiABHdDCE3M5+PN4Dl1qjDfCr9NFD28s867EE16hkGuVrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2736686},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bd27cf0ce582f937e2f6baaf0f28f101008490e8","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67f3813d-4224-4324-a987-e5e17795f729"}},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.13.0_1789923738092_0.3480723004499706","host":"s3://npm-registry-packages-npm-production"}},"3.13.1":{"name":"@quintinshaw/pi-dynamic-workflows","version":"3.13.1","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"author":{"name":"QuintinShaw"},"license":"MIT","_id":"@quintinshaw/pi-dynamic-workflows@3.13.1","maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"contributors":[{"url":"original author","name":"michaelliv"}],"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"dist":{"shasum":"e2e2328de814116c4f2849efe06f7d9c5eca6e00","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.13.1.tgz","fileCount":201,"integrity":"sha512-EYVXJEJOjHSp98pcjlgK4mjcBL9jodiSZRkKZY2q4vbvVJonbTAoQ20YhWBD0N7X5A9SaDyKfazYVE/K7jPNLg==","signatures":[{"sig":"MEYCIQDa8ejiV5VygxYwJEVjvl/VBct4pkEbXr34vcZcP2vl2QIhANmHsbo/Te/y2ATYFz5bX58BWMqBt2opatRvwtyNuSyA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHykF1BhDkMMPxlyqgarJkzjaVEmEN4z8nQFcgN27uFPAiEAgOLZvmsooWq7hKG6TsoSOcGf8B5pU3ANLdrTxNfQQ0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2740953},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3bea96cbbec3328f7579d821a23c060835d268f6","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"67f3813d-4224-4324-a987-e5e17795f729"}},"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"12.1.0","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"tmp":"tmp/pi-dynamic-workflows_3.13.1_1790654743691_0.09865000471940721","host":"s3://npm-registry-packages-npm-production"}},"3.14.0":{"pi":{"image":"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/package-cover.png","skills":["skills/workflow-authoring","skills/workflow-patterns"],"extensions":["extensions/workflow.ts"]},"_id":"@quintinshaw/pi-dynamic-workflows@3.14.0","bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"dist":{"shasum":"44f28f5c9a685b34f7bbb75eb74bfde788377559","tarball":"https://registry.npmjs.org/@quintinshaw/pi-dynamic-workflows/-/pi-dynamic-workflows-3.14.0.tgz","fileCount":204,"integrity":"sha512-ZZtTD0r+60cfzjLk3Xq3OOz7x8RL9Mer2t2l0zY5CX0l93q74TTlj2GULFKp/z14lY0nXLAL0kco5KwMqLdnGg==","signatures":[{"sig":"MEQCIBs6w+jwvoOD8ZMySuYYuYmfij3YdBa6HvaZqC7z4LV/AiBkssBwB22cJyl55GTh5S88c/9C9So1f8uYWpAqb2/1kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFVM3Yk/E+r2jmxNnUqcxW8JB+O+EVoE13DjjNUKotALAiAIb4IUTErGd/pYhpSw3iNTx30zWmZiqjBH+ksD0X2UKw=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@quintinshaw%2fpi-dynamic-workflows@3.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2862928},"main":"./dist/index.js","name":"@quintinshaw/pi-dynamic-workflows","type":"module","types":"./dist/index.d.ts","author":{"name":"QuintinShaw"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3a52f19ab1f01e09535b6b3e1d8200b6f3bcb63a","license":"MIT","scripts":{"dev":"tsx src/index.ts","lint":"biome lint .","test":"npm run check && npm run release:check","build":"tsc","check":"biome check . && npm run check:scripts","format":"biome format --write .","test:unit":"tsx --test tests/**/*.test.ts","docs:check":"tsx scripts/generate-workflow-capabilities.ts --check","check:scripts":"tsc -p tsconfig.scripts.json","comprehension":"tsx scripts/run-workflow-comprehension.ts","context:check":"tsx scripts/generate-workflow-context-measurement.ts --check","docs:generate":"tsx scripts/generate-workflow-capabilities.ts","release:check":"npm run build && npm run docs:check && npm run context:check && npm run test:unit && npm run release:verify","guidance:check":"tsx scripts/generate-workflow-guidance-baseline.ts --check","prepublishOnly":"npm run release:check","release:verify":"tsx scripts/check-workflow-release.ts","delivery-choice":"tsx scripts/run-workflow-delivery-choice.ts","guidance:accept":"tsx scripts/accept-workflow-guidance.ts","context:generate":"tsx scripts/generate-workflow-context-measurement.ts","guidance:generate":"tsx scripts/generate-workflow-guidance-baseline.ts"},"version":"3.14.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"67f3813d-4224-4324-a987-e5e17795f729"}},"homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"_npmVersion":"12.2.0","description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","directories":{},"maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"_nodeVersion":"22.23.3","contributors":[{"url":"original author","name":"michaelliv"}],"dependencies":{"acorn":"^8.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"latest","typebox":"latest","fast-check":"^4.8.0","typescript":"latest","@biomejs/biome":"2.4.16","@earendil-works/pi-ai":"latest","@earendil-works/pi-tui":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":">=0.80.6","@earendil-works/pi-coding-agent":">=0.80.8"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-dynamic-workflows_3.14.0_1791298552035_0.15932929863462064"}}},"time":{"created":"2026-05-30T19:08:07.084Z","modified":"2026-10-06T14:55:52.525Z","1.0.0":"2026-05-30T19:08:07.340Z","1.1.0":"2026-05-30T19:24:55.385Z","1.2.0":"2026-05-30T19:35:43.757Z","1.3.0":"2026-05-30T19:44:05.758Z","1.4.0":"2026-05-30T19:52:15.473Z","1.5.0":"2026-05-30T19:57:57.460Z","1.6.0":"2026-05-30T20:10:34.229Z","1.7.0":"2026-05-30T20:16:39.688Z","1.7.1":"2026-05-30T20:24:08.398Z","1.8.0":"2026-05-30T20:31:42.880Z","1.9.0":"2026-05-30T20:48:33.865Z","1.9.1":"2026-05-30T20:56:01.683Z","1.9.2":"2026-05-31T02:49:42.599Z","1.9.3":"2026-05-31T03:43:00.797Z","1.10.0":"2026-06-04T14:21:30.254Z","1.10.1":"2026-06-04T16:42:15.075Z","2.0.0":"2026-06-04T19:25:07.530Z","2.0.1":"2026-06-04T19:40:25.920Z","2.0.2":"2026-06-08T14:01:59.851Z","2.0.3":"2026-06-09T08:54:34.903Z","2.0.4":"2026-06-09T10:21:06.583Z","2.1.0":"2026-06-09T12:24:25.257Z","2.2.0":"2026-06-10T05:14:58.465Z","2.3.0":"2026-06-11T10:26:28.651Z","2.4.0":"2026-06-11T16:27:00.886Z","2.5.0":"2026-06-13T14:00:37.520Z","2.6.0":"2026-06-15T07:21:11.789Z","2.7.0":"2026-06-21T04:56:27.177Z","2.8.0":"2026-06-23T13:31:26.035Z","2.9.0":"2026-06-26T15:15:22.154Z","2.10.0":"2026-07-01T23:18:42.706Z","2.11.0":"2026-07-03T13:17:56.884Z","2.12.0":"2026-07-09T19:05:48.792Z","2.12.1":"2026-07-10T18:32:18.292Z","2.13.0":"2026-07-11T17:24:21.335Z","2.13.1":"2026-07-14T03:43:32.689Z","2.13.2":"2026-07-16T01:25:18.781Z","2.14.0":"2026-07-16T09:38:35.961Z","2.14.1":"2026-07-17T00:39:58.150Z","2.14.2":"2026-07-17T21:27:57.272Z","3.0.0":"2026-07-18T04:30:21.367Z","3.1.0":"2026-07-19T02:10:44.982Z","3.2.0":"2026-07-19T02:58:09.303Z","3.2.1":"2026-07-19T21:18:34.202Z","3.2.2":"2026-07-19T22:14:00.103Z","3.3.0":"2026-07-20T07:49:26.517Z","3.4.0":"2026-07-22T06:34:16.309Z","3.4.1":"2026-07-22T22:19:57.499Z","3.5.0":"2026-07-30T19:58:49.120Z","3.5.1":"2026-08-05T16:39:24.095Z","3.6.0":"2026-08-16T17:15:43.649Z","3.7.0":"2026-08-19T14:59:30.878Z","3.8.0":"2026-08-25T16:56:25.432Z","3.9.0":"2026-08-27T06:26:38.580Z","3.9.1":"2026-08-29T15:05:21.657Z","3.10.0":"2026-08-30T06:34:52.849Z","3.10.1":"2026-09-03T20:51:27.803Z","3.11.0":"2026-09-12T15:27:22.826Z","3.12.0":"2026-09-14T21:11:56.078Z","3.13.0":"2026-09-20T17:02:18.219Z","3.13.1":"2026-09-29T04:05:43.803Z","3.14.0":"2026-10-06T14:55:52.165Z"},"bugs":{"url":"https://github.com/QuintinShaw/pi-dynamic-workflows/issues"},"author":{"name":"QuintinShaw"},"license":"MIT","homepage":"https://github.com/QuintinShaw/pi-dynamic-workflows#readme","keywords":["pi-package","pi","pi-coding-agent","workflow","workflows","dynamic-workflows","orchestration","subagents","multi-agent","agents","ai-agents","parallel","fan-out","claude-code","deep-research","code-review","llm"],"repository":{"url":"git+https://github.com/QuintinShaw/pi-dynamic-workflows.git","type":"git"},"description":"Claude-Code-style dynamic workflows for Pi — fan a task out across 100s of subagents with real model routing, token/cost accounting, resume, git-worktree isolation, an interactive /workflows TUI, and a real /deep-research.","contributors":[{"url":"original author","name":"michaelliv"}],"maintainers":[{"name":"quintinshaw","email":"email@xyt.email"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/hero.png\" width=\"100%\" alt=\"pi-dynamic-workflows turns one prompt into a routed, resumable, cross-checked fleet of Pi subagents\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@quintinshaw/pi-dynamic-workflows\"><img src=\"https://img.shields.io/npm/v/@quintinshaw/pi-dynamic-workflows?color=cb3837&logo=npm\" alt=\"npm version\"></a>\n  <a href=\"#license\"><img src=\"https://img.shields.io/badge/license-MIT-blue\" alt=\"MIT license\"></a>\n  <a href=\"https://pi.dev\"><img src=\"https://img.shields.io/badge/for-Pi-7c3aed\" alt=\"Built for Pi\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://quintinshaw.github.io/pi-dynamic-workflows/\">Documentation</a> ·\n  <a href=\"https://www.npmjs.com/package/@quintinshaw/pi-dynamic-workflows\">npm</a> ·\n  <a href=\"https://pi.dev/packages/@quintinshaw/pi-dynamic-workflows\">Pi package</a>\n</p>\n\nTurn one request into a JavaScript orchestration script that fans work out across isolated subagents, routes each task to the right model, cross-checks the results, and returns one synthesized answer. Intermediate work stays in script variables instead of filling your chat context.\n\nBuilt for **codebase-wide audits, multi-perspective review, large refactors, and source-checked research**—the jobs that are too broad for one agent and one context window.\n\n![A real pi-dynamic-workflows run showing parallel agents and live progress](https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/docs/media/demo.gif)\n\n## Start in 30 seconds\n\n```bash\npi install npm:@quintinshaw/pi-dynamic-workflows\n```\n\nRun `/reload` in Pi, then ask naturally:\n\n```text\nRun a workflow to audit every route under src/routes/ for missing auth checks.\n```\n\nPi writes and starts the workflow in the background. A live panel tracks progress while you keep working, and the final result is delivered back into the conversation automatically.\n\nKeyword triggering is on by default: use the bounded word **workflow** or **workflows** in an idle interactive editor submission to arm workflow mode — the assistant then handles a request by fanning it out across agents, but still answers plainly if you're only asking *about* workflows (the trigger authorizes the tool, it doesn't force it). The directive applies only to that request; the original user message stays unchanged. Print/JSON/RPC inputs and queued steering/follow-up inputs do not keyword-arm. Or run `/workflows run <prompt>` explicitly. Identifier-like text and paths such as `myworkflow`, `workflow_name`, and `src/workflow-editor.ts` do not trigger. You can change the keyword with `/workflows-trigger set pi-workflow` or disable it with `/workflows-trigger off`.\n\n## How it works\n\n![A prompt becomes deterministic orchestration, parallel routed agents, verification, and one result](https://raw.githubusercontent.com/QuintinShaw/pi-dynamic-workflows/main/assets/readme/workflow.png)\n\n1. **Orchestrate** — Pi writes a deterministic JavaScript workflow with `agent()`, `parallel()`, `pipeline()`, and `phase()`.\n2. **Fan out** — fresh subagent sessions run concurrently, optionally on different models or isolated git worktrees.\n3. **Verify and return** — the workflow cross-checks findings, journals completed work for resume, and delivers one result.\n\nThe orchestration itself is plain JavaScript:\n\n```js\nexport const meta = {\n  name: 'auth_audit',\n  description: 'Find routes missing auth checks and verify the findings',\n  phases: [{ title: 'Scan' }, { title: 'Review' }, { title: 'Verify' }],\n}\n\nphase('Scan')\nconst files = await agent('List every route file under src/routes/.', { tier: 'small' })\n\nphase('Review')\nconst findings = await parallel(\n  files.split('\\n').filter(Boolean).map((file) =>\n    () => agent(`Audit ${file} for missing auth checks.`, {\n      tier: 'medium',\n      isolation: 'worktree',\n    }),\n  ),\n)\n\nphase('Verify')\nreturn await agent(\n  'Synthesize and double-check these findings:\\n' + findings.join('\\n\\n'),\n  { tier: 'big' },\n)\n```\n\n## Why use it\n\n- **Real parallel orchestration** — fan out up to 16 concurrent and 1000 total subagents from one orchestration script.\n- **Per-agent model routing** — use `small`, `medium`, or `big` tiers, or choose an exact provider/model and thinking level.\n- **Journaled resume** — replay completed agents after interruption instead of spending their tokens again. Replay follows the longest-unchanged-prefix rule: the first call that never journaled (or whose script changed) and everything after it re-run live; pass `resumeMode: \"replay-completed\"` when resuming to also replay completed calls dispatched concurrently with a never-completed gap in the same fan-out (e.g. a `parallel()` fan-out paused mid-flight). The orchestrator can also resume with an **edited script** (`resumeFromRunId`): unchanged `agent()` calls replay from cache and only edited/new ones re-run — so a single bad prompt no longer means paying to re-run the whole workflow.\n- **Git worktree isolation** — parallel agents edit on separate branches with `isolation: \"worktree\"`. Kept by default for merge; pass `keepWorktree: false` to delete (tests).\n- **Measured usage** — report real tokens and cost from each subagent session; add run, phase, or agent budgets only when you want them. When a provider session ends without reporting usage, the affected totals are heuristic character estimates and UI token surfaces render them with a `~` prefix (e.g. `~640 tok`) — never silently as metered figures. (Script-facing `budget.spent()/remaining()` are raw numbers and cannot carry the marker.)\n- **Visible background runs** — track phases, agents, models, fresh/cache tokens, cost, and live tok/s from the progress panel or `/workflows` navigator.\n- **Quality patterns** — compose `verify()`, `judgePanel()`, `loopUntilDry()`, and `completenessCheck()` instead of rebuilding review loops.\n- **Reusable workflows** — save any run as a command and call saved workflows from other workflows.\n\n## Supported workflow capabilities\n\nThe installed extension generates this compact index from its executable capability contract. Read the [workflow authoring guide](docs/workflow-authoring.md) or use the packaged `workflow-authoring` skill for constraints, lifecycle guidance, and adaptable examples; configured route and agent-type values remain environment-specific.\n\n<!-- BEGIN GENERATED SUPPORTED WORKFLOW CAPABILITIES -->\n| Name | Classification | Signature | Options and defaults |\n| --- | --- | --- | --- |\n| agent | runtime-global | `agent(prompt, options?) => Promise<string \\| structured value \\| null>` | `label`: string (optional; default: derived from phase and call count)<br>`phase`: string (optional; default: current phase)<br>`schema`: plain JSON Schema (optional)<br>`model`: string (optional)<br>`thinking`: \"off\" \\| \"minimal\" \\| \"low\" \\| \"medium\" \\| \"high\" \\| \"xhigh\" \\| \"max\" (optional)<br>`tier`: string (optional)<br>`isolation`: \"worktree\" \\| false (optional)<br>`keepWorktree`: boolean (optional; default: true)<br>`cwd`: string (optional)<br>`thread`: string (optional)<br>`agentType`: string (optional)<br>`timeoutMs`: number \\| null (optional; default: run timeout, finite ms in [1, 2^31-1]; null disables)<br>`retries`: number (optional; default: run retry count) |\n| parallel | runtime-global | `parallel(thunks) => Promise<Array<unknown \\| null>>` | — |\n| pipeline | runtime-global | `pipeline(items, ...stages) => Promise<Array<unknown \\| null>>` | — |\n| workflow | runtime-global | `workflow(savedName, childArgs?) => Promise<unknown>` | — |\n| verify | runtime-global | `verify(item: unknown, options?: { reviewers?: number; threshold?: number; lens?: string \\| string[] }) => Promise<{ real: boolean; realCount: number; total: number; votes: Array<{ real: boolean; reason?: string }> }>` | `reviewers`: number (optional; default: 2)<br>`threshold`: number (optional; default: 0.5)<br>`lens`: string \\| string[] (optional) |\n| judgePanel | runtime-global | `judgePanel(attempts: unknown[], options?: { judges?: number; rubric?: string }) => Promise<{ index: number; attempt: unknown; score: number; judgments: Array<{ score: number; reason?: string }> } \\| undefined>` | `judges`: number (optional; default: 3)<br>`rubric`: string (optional; default: \"overall quality and correctness\") |\n| loopUntilDry | runtime-global | `loopUntilDry(options: { round: (roundIndex: number) => unknown[] \\| Promise<unknown[]>; key?: (item: unknown) => string; consecutiveEmpty?: number; maxRounds?: number }) => Promise<unknown[]>` | `round`: (roundIndex: number) => unknown[] \\| Promise<unknown[]> (required)<br>`key`: (item: unknown) => string (optional; default: JSON.stringify)<br>`consecutiveEmpty`: number (optional; default: 2)<br>`maxRounds`: number (optional; default: 50) |\n| completenessCheck | runtime-global | `completenessCheck(taskArgs: unknown, results: unknown) => Promise<{ complete: boolean; missing?: string[] } \\| null>` | — |\n| retry | runtime-global | `retry(thunk: (attempt: number) => unknown \\| Promise<unknown>, options?: { attempts?: number; until?: (result: unknown) => boolean }) => Promise<unknown>` | `attempts`: number (optional; default: 3)<br>`until`: (result: unknown) => boolean (optional; default: accept first result when omitted) |\n| gate | runtime-global | `gate(thunk: (feedback: string \\| undefined, attempt: number) => unknown \\| Promise<unknown>, validator: (value: unknown) => { ok: boolean; feedback?: string } \\| Promise<{ ok: boolean; feedback?: string }>, options?: { attempts?: number }) => Promise<{ ok: boolean; value: unknown; attempts: number }>` | `attempts`: number (optional; default: 3) |\n| checkpoint | runtime-global | `checkpoint(prompt, options?) \\| checkpoint({ kind, checkpointId, payload }) => Promise<unknown>` | `default`: unknown (optional; default: true when no UI and omitted)<br>`headless`: \"default\" \\| \"abort\" (optional; default: \"default\")<br>`kind`: \"confirm\" \\| \"input\" \\| \"select\" (optional; default: \"confirm\")<br>`choices`: string[] (optional)<br>`timeoutMs`: number (optional) |\n| log | runtime-global | `log(message) => void` | — |\n| phase | runtime-global | `phase(title, options?) => void` | `budget`: number (optional) |\n| args | runtime-global | `args: unknown` | — |\n| cwd | runtime-global | `cwd: string` | — |\n| process | runtime-global | `process: { cwd(): string }` | — |\n| budget | runtime-global | `budget: { total, spent(), remaining() }` | — |\n| script | workflow-tool-input | `script?: string` | — |\n| name | workflow-tool-input | `name?: string` | — |\n| args | workflow-tool-input | `args?: unknown` | — |\n| background | workflow-tool-input | `background?: boolean = true` | — |\n| maxAgents | workflow-tool-input | `maxAgents?: number = 1000` | — |\n| concurrency | workflow-tool-input | `concurrency?: number` | — |\n| agentRetries | workflow-tool-input | `agentRetries?: number = configured value or 0` | — |\n| agentTimeoutMs | workflow-tool-input | `agentTimeoutMs?: number = configured default or unbounded` | — |\n| tokenBudget | workflow-tool-input | `tokenBudget?: number = configured default or unlimited` | — |\n| resumeFromRunId | workflow-tool-input | `resumeFromRunId?: string` | — |\n| resumeMode | workflow-tool-input | `resumeMode?: \"prefix\" \\| \"replay-completed\" = \"prefix\"` | — |\n<!-- END GENERATED SUPPORTED WORKFLOW CAPABILITIES -->\n\n## Built-in workflows\n\n```text\n/deep-research <question>   source-checked web research with citations\n/adversarial-review <task>  findings challenged by skeptical reviewers\n/multi-perspective \"<topic>\" [angle …]\n                            independent angles followed by synthesis\n/code-review [target]       7 parallel review angles plus verification\n/codebase-audit <scope> \"<check>\" …\n                            parallel checks followed by cross-validation\n```\n\n`/code-review` defaults to the current working diff. It also accepts a git range, a file, or a GitHub PR number:\n\n```text\n/code-review\n/code-review HEAD~3..HEAD\n/code-review src/foo.ts\n/code-review 42\n```\n\nFor an always-on exhaustive mode, use `/ultracode`; `/effort high` is the lighter standing option.\n\nThese same 5 patterns are also reachable by name without a slash command — Pi can recognize a decomposable request and run the matching curated pattern directly:\n\n```text\nDo a deep-research on whether Bun's test runner is production-ready.\n```\n\nis equivalent to `/deep-research \"...\"`. A saved workflow always wins over a built-in of the same name, on both the slash-command and natural-language paths — so saving your own `code-review` shadows the built-in one everywhere.\n\n## Commands and run control\n\nPi can manage background runs directly with the `workflow_control` tool instead of asking you to type a command. It supports `list`, `status`, `pause`, `resume`, and `stop`; run-specific actions use the canonical run ID returned when the workflow starts. Status output includes the run state, current phase, agent counts, active labels, and recorded token total.\n\n| Command | Purpose |\n| --- | --- |\n| `/workflows` | Open the interactive run navigator |\n| `/workflows run <prompt>` | Arm workflow mode for a prompt even when keyword triggering is off |\n| `/workflows status <id>` | Watch a run and print its result when complete |\n| `/workflows pause\\|resume\\|stop\\|rm <id>` | Control a run |\n| `/workflows save <name>` | Save the latest script as a reusable command |\n| `/workflows-trigger off\\|on\\|status` | Control automatic keyword triggering |\n| `/workflows-trigger set <word>\\|reset` | Set or reset the trigger word |\n| `/workflows-progress compact\\|detailed\\|status\\|max <N>` | Live-panel detail level (and max agents shown per phase in detailed mode) |\n| `/workflows-models` | Map model tiers and thinking levels |\n| `/ultracode [off]` | Toggle exhaustive automatic workflows |\n| `/effort off\\|high\\|ultra` | Set the standing orchestration effort |\n\nIn the navigator: `↑/↓` select · `PgUp/PgDn` page · `Home/End` jump · `/` filter runs by name, ID, or status and saved workflows by name or description · `enter/→` open · `esc/←` back. Filter text updates the visible list immediately; `enter` commits the draft filter. In filter-edit mode, `esc` cancels the draft and keeps the committed query; in browse mode, `esc` first clears an existing filter without closing the navigator, and only a second `esc` with no filter backs/closes normally. On a run, `p` pauses (press `p` again to confirm), `x` stops (press `x` again to confirm), `r` restarts, and `s` saves; these lifecycle controls remain bound to the run while viewing its phases, agents, or detail. On a saved workflow (including its detail view), `r` renames and `x` deletes (press `x` again to confirm). Rename `enter` commits and `esc` cancels; names cannot contain whitespace, controls, or path separators. `q` quits.\n\nAgent details use a compact summary by default: completed agents show their final result, while active agents show the prompt and two latest history events. Press `enter` to open the full syntax-highlighted pager. In the pager, use `j/k` or `↑/↓` for lines, `PgUp/PgDn` for pages, `g/G` for the ends, and `t` to toggle live tail mode.\n\n## Runtime reference\n\n| Global | What it does |\n| --- | --- |\n| `agent(prompt, opts)` | Spawn an isolated subagent; optionally validate its result with JSON Schema |\n| `parallel(thunks)` | Run `() => agent(...)` thunks concurrently and preserve input order |\n| `pipeline(items, ...stages)` | Fan items through sequential stages |\n| `phase(title, { budget? })` | Group work in the live view and optionally set a phase budget |\n| `verify` / `judgePanel` | Cross-check a result or choose the best candidate |\n| `loopUntilDry` / `completenessCheck` | Repeat discovery until no new findings remain |\n| `workflow(name, args)` | Run a saved workflow inline |\n| `checkpoint(prompt, opts)` | Add a journaled human-approval gate |\n| `budget` | Inspect tokens spent and remaining (raw numbers; UI surfaces mark heuristic estimates with `~`) |\n\n| Agent option | Description |\n| --- | --- |\n| `tier` | `small`, `medium`, or `big` model routing |\n| `model` | Exact `provider/modelId` or `provider/modelId:thinking`; overrides `tier` |\n| `agentType` | Named role, tool, and model definition |\n| `isolation` | `\"worktree\"` for conflict-free parallel edits; `false` opts out of an agentType default |\n| `keepWorktree` | Default `true` (kept for merge). `false` deletes after the call (test runs) |\n| `schema` | JSON Schema for a validated structured result |\n| `label` / `phase` | Display label and phase override |\n| `timeoutMs` / `retries` | Optional per-agent timeout and recoverable-failure retries |\n\nHost setting / SDK option (not an `agent()` call option): `providerMiddlewareExtensions: string[]` opts child sessions into trusted provider/auth extensions; default `[]`.\n\n`agent()` resolves to plain text unless `schema` is set — a prompt that merely asks the model to \"return JSON\" does not change that, and reading a field off unparsed text fails silently (`undefined`, not an error), which can make a whole `parallel()` fleet look \"successful\" while every result is unusable. Parse and validate defensively when a schema isn't set, and flag what doesn't parse instead of dropping it:\n\n```js\nfunction parseOrFlag(text, requiredKeys) {\n  const fence = text.match(/```(?:json)?\\s*([\\s\\S]*?)```/i);\n  try {\n    const value = JSON.parse(fence ? fence[1] : text);\n    if (value && typeof value === \"object\" && requiredKeys.every((k) => k in value)) return { ok: true, value };\n  } catch {\n    // fall through\n  }\n  return { ok: false, raw: text };\n}\n```\n\nPrefer `schema` (JSON Schema validation with bounded repair) over ad hoc parsing whenever the result's shape matters downstream.\n\nThe [full documentation](https://quintinshaw.github.io/pi-dynamic-workflows/) covers every option, structured output, determinism, saved workflows, and operational control.\n\n<details>\n<summary><strong>Model tiers and run controls</strong></summary>\n\nSettings and model-tier paths below show the default workflow home; see [active workflow home](#active-workflow-home) for custom Pi profiles.\n\nModel tiers live at `~/.pi/workflows/model-tiers.json`. A project file at `~/.pi/workflows/projects/<project>/model-tiers.json` overlays the global map (project keys win). They accept Pi CLI-style thinking suffixes:\n\n```json\n{\n  \"tiers\": {\n    \"small\": \"openai-codex/gpt-5.4-mini:low\",\n    \"medium\": \"openai-codex/gpt-5.4:medium\",\n    \"big\": \"openai-codex/gpt-5.5:xhigh\"\n  }\n}\n```\n\nUse `/workflows-models` to edit them interactively; it is cwd-aware and can save to the project or global file. A project save writes the resolved map, including keys currently inherited from global. Without a config, the extension ranks authenticated models by capability hints and assigns distinct models when possible.\n\nUntagged `agent()` calls (no `model`, no `tier`, and no agentType/phase routing) use the configured `medium` tier, or the Pi settings default when no tiers are saved. Set `\"inheritMainModel\": true` in `~/.pi/workflows/settings.json` (or a project overlay) to instead have untagged agents inherit the orchestrating session's main model — the model in effect when the run starts; a mid-run `/model` switch applies to subsequent runs; when the session has no main model, legacy routing applies — with no tier config required. Explicit `model`/`tier` tags are unaffected, and an unavailable inherited model degrades to the settings default with a run-visible warning instead of throwing.\n\nOmitted `tokenBudget` and `agentTimeoutMs` values use configured `defaultTokenBudget` and `defaultAgentTimeoutMs` settings; without them, runs are unlimited and have no hard per-agent timeout. Add per-run or per-agent values when you need explicit gates. `concurrency` is clamped to 16; `agentRetries` retries only recoverable failures. Programmatic runs can tune the retry pacing via `agentRetryBackoffMs?: (failedAttempt: number) => number` (default `min(250*2^(N-1), 2000)` ms; the retry holds its concurrency slot during the wait). Settings load in order (later wins): global `~/.pi/workflows/settings.json` → repo-local `<cwd>/.pi/workflows/settings.json` → the existing external project override `~/.pi/workflows/projects/<project>/settings.json`. Repo-local defaults can be version-controlled and shared as common repository configuration; external project overrides remain user-specific. `defaultTokenBudget` is a soft pre-call gate, and a project-level override of `null` cancels a global budget.\n\nChild sessions intentionally disable host extensions to avoid per-child factory churn and recursive orchestration. Some providers require extension request/auth hooks in addition to a shared model registry. To opt in, set `\"providerMiddlewareExtensions\": [\"example-provider-adapter\"]` in `~/.pi/workflows/settings.json` (also available on `WorkflowAgent`, `runWorkflow`, and `WorkflowManager` SDK options). Omitted or `[]` keeps all host extensions disabled. Names match an extension filename without its JS/TS suffix, an exact npm package identity, or a resolved local/Git package source name, case-insensitively; ancestor directory names do not authorize descendants; only enabled resources are considered, and project resources still require Pi project trust. `pi-dynamic-workflows`, `workflow`, and `pi-subagents` are always excluded, even if allowlisted. Only allow trusted, child-safe middleware: the allowlist enables whole extensions, not a hook-only sandbox, and opted-in factories and runtimes are isolated per child session and receive session_shutdown before disposal. Extension-free resource loaders remain shared. Explicit SDK resource-loader injection remains authoritative and bypasses this discovery filter.\n\nSet `\"defaultEffort\": \"high\"` or `\"ultra\"` in that settings file to opt a fresh session into the corresponding orchestration effort (`\"off\"` is the default). Project settings overlay the global value. This is an initial in-memory value only: `/effort` and `/ultracode` change the current session without writing settings, and reload/new/fork/session switches retain their existing in-process effort.\n\nA schema-less agent call that comes back as whitespace-only text is a recoverable `AGENT_EMPTY_OUTPUT` failure and retries like any other. Some models occasionally hit this on an otherwise-fine first attempt; if a fleet is built on one of them, set `agentRetries: 1-2` rather than treating an isolated empty output as a failed run. Because an exhausted recoverable failure resolves to `null` rather than throwing, a run whose **every** agent came back empty still reports `completed`; when that happens the runtime logs a prominent `⚠ Workflow produced no usable results` warning (naming the empty agents and pointing at `agentRetries` and output-token limits) so an all-null fleet can't be mistaken for success.\n\nPausing and resuming a run keeps the limits it started with — `maxAgents`, `agentTimeoutMs`, `concurrency`, and `agentRetries` carry over instead of falling back to defaults, and `tokenBudget` tracking is cumulative across the pause, so a run can't reset its spend by pausing and resuming.\n\nProgrammatic hosts can set `drainAbortGraceMs` on `runWorkflow` or manager execution options to bound the final wait for agents that ignore cancellation. The default is 10,000 ms; `Infinity` waits without a bound. Finite values from 1 through 2,147,483,647 are rounded down; other values use the default. This is a host-only option, not a `workflow` tool input or persisted setting. It does not limit a successful run's final wait or a checkpoint suspension unless the run is also cancelled. One exception: under `resumeMode: \"replay-completed\"`, a nested frame's replay-quiescence drain is bounded by this grace for its whole lifetime, cancelled or not. In replay-completed mode, an already-dispatched live gap or edit is recorded before provider execution and forces subsequent parent calls live when the child returns. Finite nested grace may let those calls dispatch before the child's side effects finish. The drain does not guarantee observation of independently deferred work whose first gap/edit occurs after the child returns. Top-level successful completion still waits for outstanding agents and may remain blocked. `Infinity` removes the drain's time bound, but does not extend tracking to arbitrary deferred work. After a top-level abort-drain abandonment, already-reported terminal usage is retained, provisional usage is rolled back, and late agent callbacks cannot modify the settled run; a nested abandonment is not a rollback — the call keeps running and its usage commits when it settles.\n\n</details>\n\n<a name=\"active-workflow-home\"></a>\n\n<details>\n<summary><strong>Storage, resume, and persisted sessions</strong></summary>\n\nExtension state lives outside the repository under `~/.pi/workflows` by default:\n\n- global settings and tiers: `~/.pi/workflows/settings.json` and `model-tiers.json`\n- project runs, journals, locks, saved overrides, and optional tier overlay: `~/.pi/workflows/projects/<project>/`\n- older project-local `.pi/workflows/runs` and `.pi/workflows/saved` remain readable as fallbacks\n- repo-local `<cwd>/.pi/workflows/settings.json` is also read for shared defaults, between global settings and the existing external project override `~/.pi/workflows/projects/<project>/settings.json`. This path is relative to the supplied project cwd; it does not search parent directories. Missing, corrupt, or invalid files are ignored. Saving settings still targets global or external project settings, not the repo-local file.\n\nTo use a custom Pi configuration directory, export Pi's `PI_CODING_AGENT_DIR` before starting Pi (for example, in `~/.bashrc`):\n\n```bash\nexport PI_CODING_AGENT_DIR=\"$HOME/.config/pi\"\n```\n\nWhen this variable is non-empty, the `~/.pi/workflows` paths documented here use `$PI_CODING_AGENT_DIR/workflows` instead, including settings, model tiers, saved workflows, and project run state. The directory is resolved by Pi's `getAgentDir()`, including `~` expansion. An unset or empty variable keeps the existing default. To keep existing workflow state after changing the directory, copy the contents of `~/.pi/workflows` into the new `workflows/` directory before restarting Pi; files are not moved automatically. Repo-local `.pi` paths remain unchanged, following Pi's separate project configuration convention.\n\nSubagents are in-memory by default. Set `persistAgentSessions: true` to retain full transcripts in Pi's standard session directory, with one file per unthreaded call or named thread. Persisted child session headers link back to the originating host session through `parentSession` when the parent has a persisted file. Workflow run JSON records the original parent session ID/file and each call's child session ID/file; those links and historical call timestamps survive journal replay on resume. Delivery may move to a replacement host session without rewriting the original parent lineage. In-memory children still have session IDs, but no session files for reconstructing historical per-message usage. Persisted transcripts may store sensitive material that an agent read, so enable them deliberately.\n\n`PI_WORKFLOW_AGENT_CACHE_RETENTION` sets the prompt-cache retention tier for agent sessions, overriding `PI_CACHE_RETENTION` for them only. Anthropic charges more per cache write on the 1h tier than the 5m one; a long-lived parent conversation earns that back by surviving idle gaps, but agent sessions are short-lived and rarely idle long enough to claim the longer window, so a wide fan-out pays the higher write price without the benefit. Set `PI_CACHE_RETENTION=long PI_WORKFLOW_AGENT_CACHE_RETENTION=short` to keep the longer window for your own conversation only. Unset by default, so agents inherit the parent's retention and behaviour is unchanged unless you opt in. The override is applied to each agent session's own stream function rather than to `process.env`, so a background run cannot change retention for a parent turn streaming at the same time.\n\nRun storage uses a small versioned `<runId>.json` index head plus an append-only `<runId>.json.events.jsonl` change log. Only bytes committed by the head participate in replay. Existing full-JSON run files remain readable and migrate on their next write; read-only scans never migrate them. Older releases cannot read the new format, so retain a pre-upgrade backup if you need to downgrade. See [the storage protocol](docs/run-storage.md) for recovery and compatibility details and [the Pi Durable alignment note](docs/durable-alignment.md) for why run storage stays extension-owned.\n\nCompleted background runs retain their full result in run storage. Conversation delivery also creates an immutable JSON result artifact (`<runId>.json.result-<content-hash>`) and links to it, so a shortened summary still has a directly readable full result. These artifacts are removed with the run. Other Pi extensions can subscribe to the exported `WORKFLOW_LIFECYCLE_EVENT` through `pi.events`. Background workflows emit `{ status, runId, name }` and include `sessionId` when the originating Pi session is known, where `status` is `started`, `resumed`, `paused`, `completed`, `failed`, or `stopped`.\n\nIn Pi RPC mode, workflow and subagent progress is also published as structured session entries. Hosts can show each workflow with its child agents, current phase, model, token usage, and bounded result previews, including while the parent conversation is idle. Progress entries stay out of the model context; updates are coalesced and unchanged agent rows are omitted. A host adapter is required to render these entries, such as the Paseo Subagents adapter. Hosts can restore the display from the session after reconnecting. See the [RPC progress contract](docs/workflow-progress.md) for integration details. Full child transcripts still require `persistAgentSessions`; progress previews do not.\n\nIn-process session replacements (`/reload`, `/new`, resume, fork) keep the live workflow manager when the installed extension version has not changed. Active background runs therefore continue streaming progress, remain controllable, and deliver their result into the replacement session; session-local `/effort` also survives. If the package version changes, or the process is exiting, active runs are paused onto the journal recovery path instead of mixing extension versions or burning tokens after teardown. A process restart uses the same durable journal path, recovering an interrupted running workflow as paused so it can be resumed safely.\n\nFinished runs (completed, failed, or aborted) are retained in full on disk, capped at the 300 most recent per project — older ones are evicted first; running, paused, leased and undelivered runs are protected. Only a smaller number (20 by default) also stay fully loaded in the live manager. History listings and startup recovery read small index heads; details hydrate on demand through a cache capped at eight records and a 16 MiB serialized-weight budget. The navigator retains only its most recently selected historical snapshot. Library embedders can tune `maxTerminalRunsInMemory` on `WorkflowManager` and `maxTerminalRunsOnDisk` on the run-persistence layer.\n\n</details>\n\n<details>\n<summary><strong>Keyword trigger</strong></summary>\n\nSet a literal, case-insensitive custom trigger in `~/.pi/workflows/settings.json` (see [active workflow home](#active-workflow-home) for custom Pi profiles):\n\n```json\n{\n  \"keywordTriggerWord\": \"pi-workflow\"\n}\n```\n\nThe default `workflow` also matches `workflows`; a custom word matches exactly. Trigger words are case-insensitive and Unicode identifier-bounded, and do not activate inside paths, slash commands, or identifier-like text. Detection is purely textual, applied at submit time to the message you send — it does not depend on, or own, Pi's editor component, so it works the same regardless of what else is installed.\n\n</details>\n\n<details>\n<summary><strong>How it maps to Claude Code dynamic workflows</strong></summary>\n\n| Claude Code dynamic workflows | pi-dynamic-workflows on Pi |\n| --- | --- |\n| Code-mode orchestration | JavaScript `agent()` / `parallel()` / `pipeline()` / `phase()` in a VM realm (for determinism, not a security boundary) |\n| Isolated subagent contexts | Fresh in-memory Pi sessions; results remain in variables |\n| Structured outputs | JSON Schema validation with bounded repair |\n| Background runs | Non-blocking run, live panel, and automatic result delivery |\n| Resume | Journaled replay of the unchanged completed prefix, including edit-and-resume with a revised script (`resumeFromRunId`) and an opt-in `replay-completed` mode for fan-outs paused mid-flight |\n| Model selection | Per-agent and per-phase routing across authenticated providers |\n| Ultracode | `/ultracode` or `/effort ultra` |\n| Additional Pi features | Worktree isolation, real cost accounting, deep research, and quality-pattern helpers |\n\n</details>\n\n## Determinism and limits\n\nWorkflow scripts run in a Node `vm` sandbox. `Date.now()`, `Math.random()`, `new Date()`, `require`, `import`, filesystem access, and network access are unavailable inside the orchestration script. Subagents use their assigned tools; keeping the orchestrator deterministic is what makes journal replay reliable.\n\nJournal replay — including edit-and-resume via `resumeFromRunId` — matches cached agent results by **positional call index** (the order in which `agent()` calls execute), the same contract Claude Code uses. Editing an `agent()` prompt in place reuses the cache up to that call and re-runs it and everything after. Inserting, removing, or reordering an `agent()` call before others shifts their positions and invalidates the cache from that point on (mismatched calls simply re-run — no crash). To preserve the cached prefix, keep the earlier still-good `agent()` calls unchanged and in the same order.\n\nOnly a call that finishes with a real result is journaled — a call whose every attempt ended in a recoverable failure (including one that only ever produced `AGENT_EMPTY_OUTPUT`) is never cached. Resuming such a run with `resumeFromRunId` under the default prefix policy therefore replays every earlier, already-succeeded call from cache and re-runs only that one call and everything lexically after it — cheap and exactly targeted, not a full re-run of the fleet.\n\nA call interrupted before it could journal (a pause mid-`parallel()`, a usage-limit stop) is a **gap**: under the default prefix rule it ends the replayable prefix, so its completed later siblings re-run live on resume. For fan-outs where that re-spend is unacceptable, resume with `resumeMode: \"replay-completed\"` (on `workflow`'s `resumeFromRunId` call or `workflow_control`'s `resume` action): a completed call replays across a gap only when it was dispatched concurrently with the gap inside one fan-out — any synchronous dispatch of a `parallel()`/`pipeline()` thunk (a thunk may dispatch several calls before its first `await`; all of them are in the window). Calls made after an `await` (including inside a fan-out thunk) count as sequential and still re-run; the `workflow()` call that opens a nested frame follows the same dispatch-timing rule as any other call — dispatched in the gap's own window it replays with its child journal, dispatched later it re-executes live — a gap inside the child follows the same same-window rule within that frame, and a gap or edit inside a nested frame also re-runs the parent calls dispatched after that frame returns; a changed call always re-runs its whole suffix. The chosen mode persists on the run, so later resumes keep it unless overridden. Results that flowed through the shared store or the filesystem rather than prompts can replay stale values across a re-run gap — no hash observes those channels — so keep the default when agents coordinate through the store or files across the gap.\n\n## Upgrading to 3.0\n\n3.0 is a milestone release. The one behavior change to know about:\n\n- **Keyword triggering now _authorizes_ the workflow tool instead of _forcing_ it.** In 2.x, typing the trigger word (default `workflow`) rewrote your message into a directive that forced a background workflow. In 3.0 it _arms_ the tool and the model decides: a real, decomposable request is fanned out across agents, but a message that only mentions workflows — a question, a filename, a passing reference — is answered normally. Nothing to configure. If you relied on the word always kicking off a run, use `/workflows run <prompt>` for the explicit path. Keyword triggering stays on by default; `/workflows-trigger off` disables it and `/workflows-trigger set <word>` changes the word.\n\nEverything else is additive or a fix: the `workflow_control` tool (list/status/pause/resume/stop), edited-script resume, auto-resume on provider usage limits, and persistence/perf hardening. Requires pi ≥ 0.80.8.\n\nLibrary API note: the unused `createSharedStoreTools` export was removed — use `createAgentStoreTools`.\n\n## Upgrading past 3.2\n\nTwo behavior changes to know about:\n\n- **Subagents no longer load host extensions by default.** Each run now builds one shared, extension-free resource loader for all of its subagents (a memory-leak mitigation). Skills, prompts, and `AGENTS.md` context still load, and the coding tools and any toolset (e.g. `web-research`) you hand a subagent are unaffected. What subagents lose is **host-extension-registered tools** — MCP bridges, browser tools, or anything else another installed extension adds. If an `agentType` names one of those tools in its allowlist, that entry now matches nothing. This also means a subagent can no longer recurse into another orchestration extension, even one not covered by the existing tool denylist.\n- **Checkpoints persisted before this release re-run once.** `checkpoint()`'s resume-identity hash now also covers `default`, `headless`, and `timeoutMs`, so changing any of them between runs correctly invalidates a stale cached answer. This is a one-time effect: any checkpoint cached under the old hash simply re-prompts once and then caches normally again.\n\n## Host: customize worker model before session creation\n\nAn independent Pi extension (or embedder) can register one process-wide policy that runs **after** Dynamic Workflows resolves `model` / `tier` / phase intent and **before** `createAgentSession`. The policy may leave routing unchanged, override the concrete model, or reject the spawn. With no policy registered, routing is unchanged.\n\n```ts\nimport { setPreSpawnModelResolver } from \"@quintinshaw/pi-dynamic-workflows\";\n\nexport default function (_pi) {\n  // Example host policy — not required DW behavior.\n  setPreSpawnModelResolver(async (ctx) => {\n    // ctx.modelSource is \"explicit\" | \"tier\" | \"phase\" | \"default\" | \"session\"\n    if (ctx.modelSource === \"explicit\" || ctx.modelSource === \"tier\" || ctx.modelSource === \"phase\") {\n      return { action: \"unchanged\" };\n    }\n    // Only untagged default / session fallback is overridden in this example.\n    return { action: \"use\", model: \"provider/model-id\" };\n    // return { action: \"reject\", reason: \"policy refused this spawn\" };\n  });\n}\n```\n\nUnexpected policy errors do not fall back to the parent/session model.\n\nThe separate agent `thinking` option is passed to policy as `ctx.requestedThinking`. A thinking suffix on the selected model takes precedence, including a policy's `use` decision. A selection without a suffix retains the separate option; omitting both retains the existing session default. Call-site `thinking` overrides agent-type frontmatter, and invalid call-site values fail before dispatch.\n\n**Resolver precedence (highest wins):** per-run `AgentRunOptions.preSpawnModel` > instance `WorkflowAgentOptions.preSpawnModel` > process `setPreSpawnModelResolver`.\n\n**Process-wide, single resolver.** Registration is stored on `globalThis` under `Symbol.for(\"@quintinshaw/pi-dynamic-workflows.preSpawnModelResolver\")` so an independent extension and the packaged/dist workflow runtime share one slot even if Node loaded two copies of this package. There is no middleware chain, priority, or registry: the last `setPreSpawnModelResolver` call wins; pass `undefined` to clear. The resolver is not serialized into worker context and does not cross process boundaries.\n\n## Development\n\n```bash\nnpm install\nnpm test     # Biome, TypeScript, unit tests, and release checks\n```\n\n### Optional model-comprehension evidence\n\nThe comprehension harness is manual and never runs in normal CI, `npm test`, or the release gate. Select an available model explicitly; the harness never embeds or chooses from a static model or agent-type catalogue.\n\n```bash\nnpm run comprehension -- --model provider/model                    # quick writing scenario\nnpm run comprehension -- --model provider/model --suite full       # write, edit, review, and debug\nnpm run comprehension -- --model provider/model --output runs/a.json\nnpm run delivery-choice -- --model provider/model                  # timing and token-budget choices\n```\n\nBy default, evidence is written under ignored `.pi/model-comprehension/`. Each JSON run records the exact prompts and versions, generated workflows, skill reads, provider token usage, deterministic runtime calls/topology/results, assertions, and failure details. The delivery-choice harness also checks that ordinary requests omit `tokenBudget` and explicit user caps are preserved exactly. Scenario failures are retained as non-blocking evidence and do not produce a failing exit status; argument, model-selection, and setup errors do.\n\nFeatures are also verified end-to-end against real Pi subagent sessions before release. See [CONTRIBUTING.md](./CONTRIBUTING.md) to contribute.\n\n## Credits\n\nThe code-mode orchestration idea comes from [Michael Livs' original pi-dynamic-workflows](https://github.com/Michaelliv/pi-dynamic-workflows) and Anthropic's [dynamic workflows in Claude Code](https://claude.com/blog/introducing-dynamic-workflows-in-claude-code). This project adds model routing, journaled resume, worktree isolation, measured usage, an interactive TUI, and built-in research and review workflows.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}