{"_id":"@pify/workflow","_rev":"29-ab47664b03917408ddd085295085bb5e","name":"@pify/workflow","dist-tags":{"latest":"0.16.0"},"versions":{"0.1.1":{"name":"@pify/workflow","version":"0.1.1","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.1.1","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"e92c7a92cbc7ef0ef881939551e21641d2045fc7","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.1.1.tgz","fileCount":10,"integrity":"sha512-HoPpa6fu6ZRKRcr0zIbCsEEkupf7qeugZO/ar2tKHlgijfPrNOIJAN9ku1Jzk9EfCmkYz65upx6N/Zdbg7G9nw==","signatures":[{"sig":"MEYCIQCHtcdJUGBVNZQxC5EHuXrSH8Kl3TiaZfIu//asCy1CsAIhALHVN5MpUMYMOJ2Aho0hkzo59TtlK/AG2Mc76Z/8ZRB3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35973},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"baa7e0ce5529f2178fab47c706fb1552c36df4f1","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.1.1_1788493429792_0.9989791791148381","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@pify/workflow","version":"0.2.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.2.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"1a8f08d03e5da3545cea97dc424f184fc51d4bec","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.2.0.tgz","fileCount":11,"integrity":"sha512-eyQARmFSeLO27AxhqIx40U46Zq9w5OoYZNR2Suuha1Z3Eb+7Yk71zlVpCmYOKw88rAgaQ7kwsvPIJcFjsDuRrw==","signatures":[{"sig":"MEUCIQDKWLj0u97TBwOMOs1sn3xEg4lEjU1WFXOI0gsxcHlytwIgW++4/uqDKJeRwTzX8iMX8W1L8Hi4A+jEWh8EYeamKgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40791},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"ce734bd822f1094b2ff7ca18616f75bb4e9dfd19","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.2.0_1788630136793_0.1912222170916571","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@pify/workflow","version":"0.3.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.3.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"68fabd32fb0a45ecd14112cd55dc9af3fbcb7db2","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.3.0.tgz","fileCount":12,"integrity":"sha512-OIO8EAetA//Jzwm6dMv78fmK8n1ctN3JlJ1k/guux+Ctm/A8tN9wTUpatqRO8yU1QQBE8/2P/YRE8lPGa37bnQ==","signatures":[{"sig":"MEUCIQDvwJqILIYl34jVyrlzKPmn1sFmxAxmFJnSvjSk8qhwBwIgPxXY/Cf5oc4Z1CQRrDzCl8N9m/53FYRmOCNnrkrdP5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50349},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"961352f1bedb4586f341d064fad49a1e5da7d2e2","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.3.0_1788639568132_0.710651502300941","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@pify/workflow","version":"0.4.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.4.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"841bb77acef160d058f022314b7f39c9038f0a96","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.4.0.tgz","fileCount":13,"integrity":"sha512-84nQQH0ri7MYr8+TKRWNl9CmvmRSrwj2hVNA4ybfALRLw5Vw6fxFJMSYI41/+Xb3ChwNi4TxWKORUVuU08BgMQ==","signatures":[{"sig":"MEYCIQCRovJ8LX+XrYbRwbX0GzI69egAHwrH2SR3eKW+q58BwQIhAKqiS1cd9KKnu3EEZk2a0Q08xDLQNG0quRDPmspKgQzk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57547},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"ab78cabb3ceeff9ed9207958a885a93ba4acd493","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.4.0_1788677512051_0.7562039418885635","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@pify/workflow","version":"0.5.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.5.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"4bc827915275c890ea919a2b85d55b700547877d","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.5.0.tgz","fileCount":13,"integrity":"sha512-dwkA85qC0y4Km+L/y+LKKKm4V+peO3j42GXYjP742UhunG/BUTP5OV6Hldf0XdMaW7oHVKoRoSBUYYzp7HLQ/w==","signatures":[{"sig":"MEUCIQD3/TqCuR0d8HYhFaYYjh8tDOaey0/x1aViw1mxlBssXgIgZFFpfBu4tKvw6RdOd77sAe8R44j4AwJRQ8w9iapQCek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59342},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"ff1336393c631f2230231bb927c91bc18e9d28b8","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.5.0_1788710305537_0.27299889076839157","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@pify/workflow","version":"0.6.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.6.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"e13fb8babf4ef7f2b49fd93bd355de5a2b03c9c8","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.6.0.tgz","fileCount":13,"integrity":"sha512-FpfbgF6A1zh+Yg4KpOQHZIWxQH0/F6iuIvQ3At+hGlJZFU4yzlgnuZ7Pwk0YWERaFeOblTTLDrTwPzreMH7iDQ==","signatures":[{"sig":"MEUCIQCOWFscDEu94TbUPNmSEG8TaxWmeiHmP22SjwsVBDGXVQIgIo9mgOeJVOrbAVYVG5XV7UlUny4b3FigTG4XHUy+MhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62406},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"8657c2cff3fbf12939448994c7ab86a4f92cd828","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.6.0_1788791094015_0.5808639150051425","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@pify/workflow","version":"0.6.1","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.6.1","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"c72ccd996e6b15a93bc295e8a02d5e16e11d3864","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.6.1.tgz","fileCount":13,"integrity":"sha512-l8XEnrhaMJ6L2K+2wiKMPeSqzuR30qDw0EaQNA4JhE26RD/99JG29Q+u9m9QdGPGYj698ggXSTBs2zOnr5Iu5w==","signatures":[{"sig":"MEYCIQDkpKG7bl1eG/aADO4n/mlc3nSA6hJXhk38cEjsPwayIAIhANvpx3dguCD5Yo27Zd0d1jpxHzNb9hppntBc73Ts7JwF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62965},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"194aa8f07eec18a70a538f2317d7bf16a24c0a52","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.6.1_1788791586038_0.2879508839871743","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@pify/workflow","version":"0.7.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.7.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"648d00730c5bb16e69a5d952a1b91710c56c39fb","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.7.0.tgz","fileCount":14,"integrity":"sha512-YB6VUpVh/4wHH23VBLnatdw91+atknQCnbTxDxUa9TiK1Oxqhb5WuTsIjcCHTtXo60H6XEqnzIleiMcK47bn0A==","signatures":[{"sig":"MEUCIGy6H4cMfRGBbekQxqiFa1drDEEWizb5Th6PQhMLL2FdAiEA6M4qgOOJ6H0RS9+I1QpCQaP4hd+rwvEk4dI0amqg9lM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69180},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"b5ae7caf779b07beeb58e945dec47e64972e72bb","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.7.0_1788802027765_0.9271007769658122","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@pify/workflow","version":"0.8.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.8.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"ff2950e7ee2eec21a8cf0c2b9e6a6b185f0ee5cc","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.8.0.tgz","fileCount":15,"integrity":"sha512-qMVnIUQjLsgZlDsWRWlqRfPwDkX/BpAThJFz2ATIa/RjJmX0HryFSH79loUxzJrf70yNiyh16UgY0w7GHt4GDg==","signatures":[{"sig":"MEQCIHlVg9mlOkeXwzFgjHbV1TvwvWL+QymJaT9DhtD20qw5AiBxVQpm70KtZdYShY6ZN5qHWZSHJR9ADGOGRFYwI2vznw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75696},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"0610aef95004941edcfa0a00979c6c220877a871","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.8.0_1788803840820_0.02607147034127122","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@pify/workflow","version":"0.9.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.9.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"dfbfbd6f0e8960f8042a9016a5329c5cd98b40d9","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.9.0.tgz","fileCount":16,"integrity":"sha512-kpBGjbNUFy1Gqaba7/JoWt3ZYZ71nWOfFFAN6xqVh0vRYvAWjAoFlh1KIvgkJnU6hYfB7eQjQD7bW9YFWbaqkA==","signatures":[{"sig":"MEYCIQD8NSI/jcuH8OSqZKCNQOWjsdnW10sBVnSmR1trd+zaPQIhAM2P6YgD6SaBVtzpSol5gNlJSEFpMbeXk+09zqxc0Vu3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82410},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"a375e21b5482bb178de86d447414f2dea370fa77","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.9.0_1788852142947_0.1491565805988624","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@pify/workflow","version":"0.9.1","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.9.1","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"9955b17d26bb7accfa0a504a36e449f2e9551b94","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.9.1.tgz","fileCount":16,"integrity":"sha512-D8SqXsHKd4pzL3NN+Xt9F+eg+Y6wiWlJZ3eHXUBxs2CQRZVjZmdboMasDZkugXKdvUX9UJuiNk3rsfVXZL3h6Q==","signatures":[{"sig":"MEUCIBL/dDV0rzMXBf0tLpJsvj0AzZlx9SLAbCVowiyo3cB8AiEA0Lg0G4niONJC4TABvX+OnWCmO1tZiR0wb4efQswEvHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82340},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"2b2fd884452e5862617bd811de8875a8a3d6ca95","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.9.1_1788915800906_0.5404450875273521","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@pify/workflow","version":"0.10.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.10.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"529152ed38024946d71f9689b31660f6021833d6","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.10.0.tgz","fileCount":16,"integrity":"sha512-WnoXfwwzXiMjfJscq4+S4UiW6uOvvGhEf9wa6HwmBNccHZVAEZIMbLosUqP52yN7JTrhI4/MzXy6nNpoOSqMvg==","signatures":[{"sig":"MEUCIDJldCdn0YWteYHBpsoAHcGqj+aODgYbicg1AoGoc6zcAiEAo3xt25GoXWzBVDnx4aLGhM9mLajv5lyS5Sb2Z8GZ47I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91486},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"8f9fbef421a86da8d3e183fad3de7d3e1389d42b","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.10.0_1788937931587_0.9254468251603654","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@pify/workflow","version":"0.10.1","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.10.1","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"70a2e4830ade1f75a9324b62281bf04470b4c167","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.10.1.tgz","fileCount":16,"integrity":"sha512-fD0Hr2XpYI7eNG9RTNciq+10mRHDkabBEnnE+sryrfGRxrVQ7IoIygag6FC3PMwqk8Aooy2/8L00um6Hn50nRw==","signatures":[{"sig":"MEYCIQCdVENMbRe2NgcNPdB33hT5J4/4OkXRLo0HqYPwQ1CC6QIhAN7bHKLQQD7ioFIrSS/L/ppqi+nKsW/aQqyg1rY8uYF8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91989},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"95bfbe570db0204d0e1f89936bbb6ae6edc3d52d","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.10.1_1789197709941_0.04460238246912818","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@pify/workflow","version":"0.10.2","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.10.2","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"46f8fc3efb904354904239ed2db77a1e4ede788e","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.10.2.tgz","fileCount":16,"integrity":"sha512-2Hohu/qAL3KLqo0eqpXbTL/5AmrP6Kl5sQqNJ+f3n5VZhZ2dsoyrGKh4rgiCKDUAqBrlOY1btAclHWd7f2AocA==","signatures":[{"sig":"MEYCIQC46EJdHId02nnak+mbPob7EmoqDYqW78x+Jy1zPIlKawIhAI+6eVKAu6EfN6NW8/xP28iTaSgkCUupnNyn5Ypw+Ck4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92135},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"f19919845cc8f619c239ea504c45e09252f4a9c6","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.10.2_1789204500116_0.1301998717709658","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@pify/workflow","version":"0.11.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"cd653565b599efa9d7ff557c608dd36e313a1cc7","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.0.tgz","fileCount":17,"integrity":"sha512-Dn+PfG/fN/s545F/8aYjVWsS53X/5zLAN4WLMl9a+vcbN899iTMUoVZ49+umO4DkZxy4yj/rssXiCao1ozNEFg==","signatures":[{"sig":"MEUCIQDrosE+UQSa3iJvE/s5X23Iy4+eZWxokTQqDx/tJFl1BAIgCo7tp/a03YYPgYqJMya9tlkJIgpP2u5atSzNwBPg6w8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100822},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"78169ba3e3eca0ffd767a770899623544668ea80","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.0_1789228274821_0.2784348801793828","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@pify/workflow","version":"0.11.1","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.1","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"877ff5d56c43ff7a23689545556199d745e1764c","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.1.tgz","fileCount":17,"integrity":"sha512-kDIPE185fhmvPnPDz7RvSWiMMjkJ9OWKXb+7EaLlywxCMd8rVjEinlr0h44mKdMg+2k5O1Ciihg6SddpQEMRXQ==","signatures":[{"sig":"MEYCIQDsFX463d/ccr7mn0tdPhxXmUqxc3Ic+vwqnXJax6MsJwIhAIhcI44rFWKtNaNhyM/6Qlgd4TEaVQWQfBtTwB3DuFl9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101074},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"62ace3ca8c17e5f19976469275fcc21a9fd2683d","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.1_1789230245440_0.4465557934472557","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@pify/workflow","version":"0.11.2","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.2","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"07172c0d47b93de84957f602424237c540262f79","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.2.tgz","fileCount":18,"integrity":"sha512-wJtqAnBtNx+8ruiuAcw2KmFhNSBm66SdhyHhzYMAePsv4oXIPBWbEEhtpXvcfVc7529+cF7t8dp2mXBtPJMqIA==","signatures":[{"sig":"MEYCIQDpwgyl6pqGGo0lunmSqiTf8X0ydKNuCdZlct9i6kzRbAIhAIst7WEF/ckxrx27ojs2AGd4vYd9gbR+whgpFN9wXx4Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103185},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"e9fc6904c868814d672f908b90dd551c1508d22e","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.2_1789233131297_0.19067479938007703","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@pify/workflow","version":"0.11.3","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.3","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"30a54026036f2047aff3d8efa1bdf04bdd70cdd8","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.3.tgz","fileCount":19,"integrity":"sha512-m1rzM9jVvZUb87QCWKMJC7GMXjryeLficSmY+T4AwMN7mmiSztPCis1l9RQ61m9T/tH30LFco4cQi6qo7OtaBA==","signatures":[{"sig":"MEQCIC+xVl6jr7vqQH1az/jcB790LH0YxMqz+Js5aFVsbRItAiBZ48ayTQiBE5zsuAJDtAXtt/iXCxCz+w/1lgFZREl8Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":104804},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"b22a192211816dc5e69852bb00fe91ec9fda5e56","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.3_1789233372235_0.7988829080368143","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"@pify/workflow","version":"0.11.4","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.4","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"0340ddcf0e62a99a99f3a8dcb52321db93669481","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.4.tgz","fileCount":19,"integrity":"sha512-UvCllBmMzNi5oM3C/09cFdTIiaBAPPUUqKZc/l8vcv3DjAhg4HnDEKnG/kQWigdrgjhGdOV684oH33i0KptzZw==","signatures":[{"sig":"MEYCIQDqoE1bP43NuOqjXcvZDYhtd3XZpegN68mdrQMmLYu95gIhANPxZHfZvyCgoNYTfN6PZcAlIk8F2N9k0lhYDUgAUHn6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105250},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"80ae0f2a637e2a74e68f7ebf76732270fe0a904e","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.4_1789274835055_0.3017489362022707","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"@pify/workflow","version":"0.11.5","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.5","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"c158cc5a42ce700bab9b41319da85c9f0a1d8399","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.5.tgz","fileCount":19,"integrity":"sha512-w61CvtFhD+6xA6s+ANQqhOJkyDtkSKWEc1XmpbiBiURohl8aL4KJfTv06DdsIp+fyM+y8M38NyCW6z+Lt66QTw==","signatures":[{"sig":"MEQCIC3omLF6v3+w9cSzv0CAGP4pFAbqDHHClGevreWET7tDAiBSMnj6D2eIlGyEfSNkQuuyodMx7ScI6Y/347glciXAXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105470},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"b22ef210c0439774960296ede6356bcc5dd523a0","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.5_1789302724224_0.6848685894805746","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"@pify/workflow","version":"0.11.6","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.6","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"de4bca491028cf55839c76b3a324a9979721ded1","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.6.tgz","fileCount":19,"integrity":"sha512-H9/pXnPNLwMe/EalhxfdnAPASa3/GMY4f57b/4noT/KgZmyS9uT2Yzj1EL8JPPxyIsfEuuToLccXmWg2BHztqg==","signatures":[{"sig":"MEYCIQDBmhfOq2khH04+yXr0zxR8JLqgsZWZsc+MQsxjMvt/HgIhAI9EkkMe5H02aYSXVn+53azKKKB6coLHnoNoMuUveolu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105612},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"9042237530446d44e0d7a87de8bb33195739b342","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.6_1789313078733_0.32661075753839164","host":"s3://npm-registry-packages-npm-production"}},"0.11.7":{"name":"@pify/workflow","version":"0.11.7","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.7","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"1afba498e190a6a7cb0ade993e4e4a1bba4af58f","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.7.tgz","fileCount":19,"integrity":"sha512-Dur8Ta5zy0mfijIoeRs37oD35PPQFehIR1vokOeJ4lLVT1fsFUejjvHVUCc9s77Qfdc6OePtqWnwWgJTulaBUA==","signatures":[{"sig":"MEUCIQCvcMEqSKBIwttfsHksv/k8mdFOg70Yc8GISfY0JVQ41wIgLqilpW90as5SQzKY+VoH0vt0TrOvPbCCC4NyfKdQSCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106718},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"33a46d8cb15b91e93ace903638cd4d6072bf5286","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.7_1789378413084_0.2776013161106665","host":"s3://npm-registry-packages-npm-production"}},"0.11.9":{"name":"@pify/workflow","version":"0.11.9","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.11.9","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"1b34d616632f39347de41526777872c239a75ea2","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.11.9.tgz","fileCount":19,"integrity":"sha512-ZuX4n0cBd1wxBnfdyMmetthyU1nZP9+dGuyiPWq2tP6/JnjhFJNwXzzZTZis68ngTyDqQxSre6tKvjssWD4LNQ==","signatures":[{"sig":"MEUCIQCtExwh9bBxDhVZfDmreF1jt10lId/B0+D8ikAqfyz4JAIgZjBeyRXC6TNqmmySl2QPvDTv2FcI93qVlZ7WfbVInRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDQYDFMXnKyTQifvbse3IaZNytKSOP/Q+lKZt+06lT3oQIhANo+jVh7na8iUECry3oCokKF5tfQMVzBgM/34/JFn7s9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.11.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111273},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"9c187176b18659b3cf4fb4a082e63303dd2ce87e","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.11.9_1789449743274_0.9247795105440264","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@pify/workflow","version":"0.12.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.12.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"d75c6bcda8f91f686edd16c277afc910116afa5b","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.12.0.tgz","fileCount":21,"integrity":"sha512-DgmNT7fSNgthsFFDqlyKU8j613TKaSEaLl4yZakbMW5lvlB94MN1s0nS4cLJYf/RGVnEZX1f7B5j7GkeGMIdCg==","signatures":[{"sig":"MEUCIQDasrjJ/KbTGTUWieIT3ykD50OxtIP+KtLyJ7FrGY8yaQIgQJOkXcBda8AzorrbJ75jzxf6vA2EEXWb76oSmjh3mX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDV+aB4U8cGNoYOHXvUP+NyvmtGai8en1WpnJt2WNc8JAiEAtpmOfHImvtBWeBCUsuC50CWOIyIXtXierDR/3f7f0fE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":129999},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"935d3be76ac1676e1fcba25eb924618bb826529b","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.12.0_1789589041408_0.8216425516077932","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@pify/workflow","version":"0.12.1","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.12.1","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"0ac5b66de02e0b8051349395f66bd772d5772359","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.12.1.tgz","fileCount":21,"integrity":"sha512-iCiIFVHnuM2iTOLMFrMyfreUMWEF3vrQ8JiGaBfQ34h0z+TWiAW0+3fpgzH48qdXDbNCtCFI8coGaTmRMubNIQ==","signatures":[{"sig":"MEUCICrWMRQwj5MDKPUxrsvYPZtViRoZdYlWvRbt7pT83uojAiEAum22PDgvqSWZx/xsNyQYbLhfJ2L7dI1H++mhJ0y0K84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEhFbMADuoFBV5FJHFZKYJv+WuaWJFfRlCx14Q423urzAiEAs4Op5oKKYP3yF6FnyviyWi9LueqpC3uBDk1MXXN2Pgw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132543},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"06a224478c9f7dff4876356b68277549985e861d","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.87.0","@earendil-works/pi-coding-agent":"^0.87.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.12.1_1790130715608_0.8982084485950921","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@pify/workflow","version":"0.13.2","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.13.2","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"d4f828a79ae82f80795801b12080e4949afff1a3","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.13.2.tgz","fileCount":23,"integrity":"sha512-4erfuHhs48wou4IUr9pHoWNI0iffUrRvDxpCcbRYLV8eKKGMrprVJFWG2oNpGNmOsHOaPzss7SohLClKU2oQww==","signatures":[{"sig":"MEUCIAC92Dhi44aIjfvbv+qfpR/VsIFPSONu4ZaK+D6HW70YAiEAi8kPpife8jkrOKrIk84nIj+YKvseEhTfK6QqHVSg9QE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDLUeDKS5WxKrGLEqxIGc3vTn4gXCnqUG6MacN/c1NtTgIgRqIvwYo0DLgZ9huuohVpot0ohipgtPQtrVPJxKRMhF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.13.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":147734},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"a148c72a103693f7df9b195f402b9a72541b25db","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.87.0","@earendil-works/pi-coding-agent":"^0.87.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.13.2_1790131820726_0.8700511382084024","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@pify/workflow","version":"0.14.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.14.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"ed2d6bf63c0947a9a15cf8b676516c10fcaa883f","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.14.0.tgz","fileCount":26,"integrity":"sha512-t/XYqIdgp+15pM/1vddGnHuaOaqCZsGZZzkZWG099ut+X3OSya+SKR8c4GZV99ynjb3XXPj/6pK2PSKvPexYEA==","signatures":[{"sig":"MEUCIER0GDVU6AZ5/5BF8ft77bDKt/yXZMLXxeCnMyjLk4d5AiEAot2kxD5c1OhpyCwDWlcXRn4TZLDD6CfDsny1ANnGLrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDwGtlwo/ZB6UvVG02O4wjYziDhsmPWHKkaJZdyNJLMugIhAOQG1dghUP/maSGA/LSClBDuNC8NEBWgNKv1oEvxXviC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":158418},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"9e09ec33d3d2074cd13377debcec69eff7c230d4","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.8","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.87.0","@earendil-works/pi-coding-agent":"^0.87.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.14.0_1790850652351_0.662557922655775","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@pify/workflow","version":"0.15.0","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"author":{"name":"Pify maintainers"},"license":"MIT","_id":"@pify/workflow@0.15.0","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"homepage":"https://github.com/pifydev/workflow#readme","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"dist":{"shasum":"9c4933b0225b14a0e16ba3cd28a632c4d7d84811","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.15.0.tgz","fileCount":26,"integrity":"sha512-/3uSOoliprhb3mrbgUVwtxPcDuPJ0/CQgOWjnZF6iwt3IE7L2OsGRfUREiEorMsQdbKVknu2fFP2wFjPuGdAiA==","signatures":[{"sig":"MEQCIBHe3XxSOxPnf2+SSLEsc5xG38Z76sc82WgQRBI4AZPWAiAly76h4eY72B6S/KGyTaKJJJJmzbDD5UYZ0AZw/nV2zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEb17SxWWYSBsaMq9xqFiw5pFE1kZ629UoyncNrswIceAiBh7Hv5CtP6QoIF3H0Zsw34L+MAhhDe23mOxk6CoR+wcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170260},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"9a08239f574fede382eb2b2d41a1636b7a61f086","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.9","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"_nodeVersion":"22.23.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.87.0","@earendil-works/pi-coding-agent":"^0.87.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workflow_0.15.0_1790851395788_0.2753321345518398","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"pi":{"skills":["./skills"],"extensions":["./extensions/workflow.ts"]},"_id":"@pify/workflow@0.16.0","bugs":{"url":"https://github.com/pifydev/workflow/issues"},"dist":{"shasum":"79255d3a0f2e271941cfcaec8a7050240718013d","tarball":"https://registry.npmjs.org/@pify/workflow/-/workflow-0.16.0.tgz","fileCount":27,"integrity":"sha512-9beNF48uu4fCXt7wUrgarQfjDFk4ZipVbvjiH3NNEE03QGedcy50zFbW0xs8dD4Oq809fRKdTtOMQaZ5YfQY5Q==","signatures":[{"sig":"MEUCIHVk5OiFKeVd+Q/WUmS1sQzdZxrFtfF7q+1Y7BIQPlMCAiEApAh/KZNcFuGsCUquaTMRPyhcDCsFsSmuJ/I15bLv9gw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICW9pcMH8iqXirKpNwJ3p2aN2qncX883QWS8PNIBJibfAiEAp8nFpS3M9Pue2+3WwFgkuyNIF6SdBCh+/PteHSlmNb8="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@pify%2fworkflow@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174763},"name":"@pify/workflow","type":"module","author":{"name":"Pify maintainers"},"engines":{"node":">=22.19.0"},"gitHead":"b71c4679c10d9bd53a17576e10d592f975aae774","license":"MIT","scripts":{"test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test"},"version":"0.16.0","_npmUser":{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"},"homepage":"https://github.com/pifydev/workflow#readme","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"_npmVersion":"10.9.9","description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","directories":{},"maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"_nodeVersion":"22.23.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typebox":"^1.1.38","typescript":"^5.7.2","@types/node":"^22.10.2","@earendil-works/pi-tui":"^0.87.0","@earendil-works/pi-coding-agent":"^0.87.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-tui":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/workflow_0.16.0_1790851771146_0.755670183905927"}}},"time":{"created":"2026-09-04T03:43:49.545Z","modified":"2026-10-01T10:49:31.634Z","0.1.1":"2026-09-04T03:43:49.926Z","0.2.0":"2026-09-05T17:42:16.957Z","0.3.0":"2026-09-05T20:19:28.290Z","0.4.0":"2026-09-06T06:51:52.184Z","0.5.0":"2026-09-06T15:58:25.669Z","0.6.0":"2026-09-07T14:24:54.145Z","0.6.1":"2026-09-07T14:33:06.177Z","0.7.0":"2026-09-07T17:27:07.895Z","0.8.0":"2026-09-07T17:57:20.960Z","0.9.0":"2026-09-08T07:22:23.084Z","0.9.1":"2026-09-09T01:03:21.079Z","0.10.0":"2026-09-09T07:12:11.703Z","0.10.1":"2026-09-12T07:21:50.066Z","0.10.2":"2026-09-12T09:15:00.257Z","0.11.0":"2026-09-12T15:51:14.953Z","0.11.1":"2026-09-12T16:24:05.566Z","0.11.2":"2026-09-12T17:12:11.452Z","0.11.3":"2026-09-12T17:16:12.368Z","0.11.4":"2026-09-13T04:47:15.202Z","0.11.5":"2026-09-13T12:32:04.385Z","0.11.6":"2026-09-13T15:24:38.863Z","0.11.7":"2026-09-14T09:33:33.210Z","0.11.9":"2026-09-15T05:22:23.358Z","0.12.0":"2026-09-16T20:04:01.517Z","0.12.1":"2026-09-23T02:31:55.698Z","0.13.2":"2026-09-23T02:50:20.798Z","0.14.0":"2026-10-01T10:30:52.469Z","0.15.0":"2026-10-01T10:43:15.863Z","0.16.0":"2026-10-01T10:49:31.247Z"},"bugs":{"url":"https://github.com/pifydev/workflow/issues"},"author":{"name":"Pify maintainers"},"license":"MIT","homepage":"https://github.com/pifydev/workflow#readme","keywords":["pi-package","pi-extension","pi","pify","workflow","orchestration"],"repository":{"url":"git+https://github.com/pifydev/workflow.git","type":"git"},"description":"Deterministic multi-step agent orchestration for pi: a Claude Code-style workflow tool with agent()/parallel()/pipeline() scripts over the shared agent catalog","maintainers":[{"name":"hypnguyen1209","email":"hypnguyen1209@gmail.com"}],"readme":"# @pify/workflow\n\n[![CI](https://github.com/pifydev/workflow/actions/workflows/ci.yml/badge.svg)](https://github.com/pifydev/workflow/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/@pify/workflow)](https://www.npmjs.com/package/@pify/workflow) [![npm downloads](https://img.shields.io/npm/dm/@pify/workflow)](https://www.npmjs.com/package/@pify/workflow)\n\nDeterministic multi-step agent orchestration for [pi](https://github.com/earendil-works/pi). The model writes a small JavaScript script that fans work out across child agents, cross-checks the results, and returns one synthesised answer. Intermediate work stays in script variables rather than your chat context.\n\nPart of the [Pify suite](https://github.com/pifydev). Install with [`pify install workflow`](https://github.com/pifydev/cli) or `pi install npm:@pify/workflow`.\n\n## Why\n\nFan-out is easy; *structured* fan-out is not. As soon as one step's output feeds the next, or findings need verifying by someone who did not produce them, the orchestration itself becomes the interesting part — and asking a model to hold that shape in its head across twenty tool calls is how steps get skipped.\n\nA script holds it instead. Control flow is ordinary JavaScript, results are variables, and the model's job shrinks to writing the script and reading the answer.\n\n## Example\n\n```js\nexport const meta = { name: \"review\", phases: [{ title: \"Find\" }, { title: \"Verify\" }] };\nphase(\"Find\");\nconst findings = await parallel([\n  () => agent(\"Review src/auth for security issues. Report file:line + why.\", { agent: \"reviewer\", label: \"auth\" }),\n  () => agent(\"Review src/api for correctness. Report file:line + why.\", { agent: \"reviewer\", label: \"api\" }),\n]);\nphase(\"Verify\");\nconst verified = await pipeline(findings.filter(Boolean),\n  (finding) => agent(`Adversarially verify this finding — is it real?\\n${finding}`, { agent: \"scout\" }));\nreturn { findings: verified.filter(Boolean) };\n```\n\n## Tools\n\n### `workflow`\n\n| Parameter | Type | Notes |\n|---|---|---|\n| `script` | string | The orchestration script. Provide this **or** `name` |\n| `name` | string | Run a saved script from `.pi/workflows/<name>.js` |\n| `args` | any, optional | Exposed to the script as the global `args` |\n| `budget` | string or number, optional | Total-token ceiling for the run: `\"500k\"`, `\"1.5m\"`, a number, or `\"off\"`. Defaults to `/workflows budget` |\n| `background` | boolean, optional | Return a `runId` immediately |\n| `resumeFromRunId` | string, optional | Reuse a prior run's results for the unchanged prefix |\n\n### `workflow_status`\n\n| Parameter | Type | Notes |\n|---|---|---|\n| `runId` | string, optional | Defaults to the most recent run |\n| `wait` | number, optional | Seconds (0–120) to hold the call open until the run finishes before answering. Esc ends the wait |\n\n## Script globals\n\n| Global | Returns |\n|---|---|\n| `agent(prompt, opts?)` | The child's report, a validated object with `schema`, or `null` on failure |\n| `parallel(thunks)` | All results — a barrier; failures resolve to `null` rather than rejecting |\n| `pipeline(items, ...stages)` | Each item through every stage, with **no barrier between stages** |\n| `phase(title)` | — groups the agents that follow, for the widget and the log |\n| `log(msg)` | — a progress line |\n| `args` | Whatever the tool call passed |\n| `budget` | `{ total, spent(), remaining() }` — the run's token ceiling (`total` is `null` and `remaining()` is `Infinity` when there is none) |\n| `workflow(name, args?)` | A saved workflow run inline as one step, returning whatever it returns — one level of nesting |\n| `loopUntilDry({ round, key?, consecutiveEmpty?, maxRounds? })` | Everything `round(n)` found, deduplicated across rounds, once `consecutiveEmpty` (2) rounds in a row found nothing new or `maxRounds` (50) ran |\n| `verify(item, { reviewers?, lens?, threshold?, agent? })` | `{ ok, upheld, refuted, reviewers, threshold, votes }` — reviewers told to refute; `ok` when a majority (or `threshold`) did not |\n| `refine(generate, validate, { attempts? })` | `{ ok, value, attempts, feedback? }` — generate, validate, retry with the validator's feedback |\n| `checkpoint(prompt, { kind?, choices?, default?, timeoutMs? })` | The person's answer: a boolean (confirm), a choice (select) or text (input) — replayed on resume |\n\nA budget is a hard ceiling on the run's work tokens (input + output + cache writes of every child message — never the cached prefix read back on each turn, which pi's `totalTokens` includes and which would count it once per turn): once it is reached the next `agent()` throws, children already running finish, and the run ends as an error that says so. Scripts scale themselves with it — `while (budget.total && budget.remaining() > 50_000) { … }` — guarding on `total` so a run with no ceiling does not loop to the agent cap.\n\n`workflow(name, args)` runs `.pi/workflows/<name>.js` as a stage of the current script, so a reusable saved workflow composes instead of being pasted. Its agents are this run's agents: same list, same 20-agent cap, same concurrency semaphore, same cancel, same budget and same resume journal, so it can neither escape the limits nor hide from the record. A saved workflow cannot itself call `workflow()`.\n\nFour helpers encode the patterns the README used to leave to copy-paste. `loopUntilDry` is the discovery loop done right: items are deduplicated across rounds by `key` (default `JSON.stringify`), already-seen items never count as progress, and the loop ends after two dry rounds rather than only when the budget runs out — budget and agent-cap errors still propagate, nothing is swallowed. `verify` is the adversarial vote: each reviewer (an ordinary `agent()` call, so it counts against the cap and budget and replays on resume) is told to refute the claim and to default to refuted when unsure; `lens` gives each a different angle (`[\"correctness\", \"security\", \"reproduces\"]`) instead of three identical skeptics. `refine` is generate → validate → retry: the validator returns `true`, or a string / `{ ok: false, feedback }` that the generator receives on the next attempt. `checkpoint` asks the person at the terminal mid-script — confirm, select or free text — and journals the reply by position, so a resume that reaches the same question replays the answer instead of asking again; a background or headless run cannot ask, so it takes the declared `default` or fails saying so, never a silent yes.\n\n`agent()` options: `agent`, `label`, `phase`, `gate`, `isolation`, `schema`. The script's return value becomes the tool result.\n\n`pipeline` is the one worth understanding: item A can be in stage three while item B is still in stage one. Reach for `parallel` only when a stage genuinely needs every previous result at once — deduplicating across the whole set, say — because a barrier makes every fast item wait for the slowest.\n\n## Structured output\n\n`agent(prompt, { schema })` makes the child answer with data and resolves the **validated object** instead of prose, so scripts stop parsing reports:\n\n```js\nconst REVIEW = { type: \"object\", required: [\"findings\"], properties: {\n  findings: { type: \"array\", maxItems: 3, items: { type: \"object\",\n    required: [\"file\", \"severity\"],\n    properties: { file: { type: \"string\" }, severity: { type: \"string\", enum: [\"low\", \"high\"] } } } } } };\nconst review = await agent(\"Review src/auth for security issues.\", { schema: REVIEW });\nconst high = review.findings.filter((f) => f.severity === \"high\");   // a real array\n```\n\nA mismatch buys exactly one retry, and what goes back is a diagnostic rather than a complaint: each failure names the **subject** (the path that is wrong), the **evidence** (what the validator saw), and the **supported fixes** — plus the instruction that turns out to matter most, *keep every field that already validates unchanged*.\n\nThat last line is load-bearing. Measured against a near-miss answer on openrouter/qwen3-235b, four runs out of four: a bare error list produced a valid object that had also rewritten the summary and other fields nobody had complained about; the diagnostic form changed only the invalid field and left the rest byte-identical. If it still fails, the call returns `null` like any other failure.\n\nThe supported subset is the part of JSON Schema workflow authors actually write — `type` (including `integer` and `null`), `properties`, `required`, `items`, `enum`, `minItems`/`maxItems`, `minimum`/`maximum`, `minLength`/`maxLength`. Keywords outside it are ignored rather than rejected, so a richer schema still works, just with less checking.\n\n## Gates that say what success looks like\n\n`gate: \"bun test\"` passes on exit 0. A contract also requires the evidence:\n\n```js\nawait agent(\"Fix the failing test.\", {\n  gate: { command: \"bun test\", expect: \"0 fail\", failure: \"error TS\", timeoutMs: 120000 },\n})\n```\n\nA command that never ran the check — a mistyped script under `sh -c`, a runner that matched no tests, a stray `|| true` — exits 0 and fails as **`result_missing`** instead of certifying the step. A `failure` pattern beats a zero exit. A killed run reports `timeout` rather than a generic failure.\n\nOne step further: a check that **ran and said no** is evidence, and a check that **could not run at all** is not evidence of anything. A command that will not spawn, a runner that is not installed, a gate whose own regex does not compile — none of those are the code failing, and calling them `failure` sends the reader debugging the work instead of fixing the gate. That is **`no_attestation`**: still not a pass, but honest about having proved nothing either way. A timeout stays a real verdict, because the check was given its deadline and did not clear it.\n\nFive outcomes, so the result says which of them happened.\n\n### A verdict names what it judged\n\n`agent()` without `isolation` runs in your checkout — and so does its gate. Inside `parallel()` that means a gate can pass over a tree another agent is still editing. The exit code is honest about the directory and misleading about the agent it gets attributed to.\n\nSo a verdict is recorded with its subject, and a run that cannot attribute one says so:\n\n```\nGates: 1 success, 1 no_attestation\n  ✓ fast — success: gate exited 0\n      judged a directory slow was also changing — true of the tree, not of this agent's work alone\n  ✗ probe — no_attestation: gate expect is not a valid regular expression\n```\n\n`isolation: \"worktree\"` is the fix rather than the warning: an isolated agent has its own checkout, nobody else can reach it, and its verdict is its own.\n\nGates run asynchronously: pi is not frozen while a two-minute test suite runs, and a gate that overruns its deadline has its whole process tree killed rather than a parent shell alone.\n\n### Gate results reach the model\n\nA rejected step makes `agent()` return `null`, and a script's own `.filter(Boolean)` then drops it — leaving the model a shorter array with no hint that anything was rejected or why, which is the one thing a gate exists to say. The ledger above travels with the run result, so the reasons arrive in bytes. A clean, attributable pass costs one word in the tally and no line; only verdicts that change what the reader should do spend one.\n\nThe same goes for every other way a step can come back `null`. A child that threw, a provider error, an empty answer, a schema still unmet after its retry, a call cancelled before it started — each is listed under `Failures:` in the result with its reason, so a shorter array never arrives unexplained:\n\n```\nFailures: 1 error, 1 aborted\n  ✗ scout-1 — error: No model available\n  ✗ worker-3 — aborted: cancelled while queued for a slot\n```\n\nA gate rejection is told once, by the gate ledger, not repeated here.\n\nVerified where it has to be true rather than in a fixture — `test/live/gate-wire.mjs` and `test/live/attribution-wire.mjs` read pi's own provider requests and confirm the ledger, the outcome and the reason reach the model, including the shared-tree note from a real `parallel()` race.\n\n## Resume\n\n`workflow({ script, resumeFromRunId: \"w3\" })` replays the previous run's agent results for as long as the calls match — same prompt, same options, same position — and runs live from the first difference onward. Editing the last stage of a five-stage workflow costs one stage, not five.\n\nIt is a prefix, not a lookup table, and that is deliberate: a workflow's later prompts are built from earlier results, so once one step's answer changes, every downstream call is potentially different even when its text happens to match. Only calls that finished with a recorded result are reusable; a failed or aborted step always runs again. Runs are replayed from the session file, so resume still works after `/reload`.\n\n## Behaviour\n\n- **Determinism is enforced.** Scripts run in a poisoned `node:vm` context where `Date.now()`, `Math.random()`, argless `new Date()`, plain `Date()`, `eval` and `Function` throw, so control flow stays reproducible and resume means something. This is cooperative discipline, not a security boundary — scripts run at the same trust level as the bash tool.\n- **Every `agent()` must settle before the script returns.** A forgotten `await` in a loop, or an early `return`, used to record the run as done with those results silently dropped while the children kept spending. Now the run fails loudly (`Workflow returned before N agent() call(s) settled`) and the orphaned children are stopped.\n- **Stopping stops the children.** A foreground run stops on Esc; a background run outlives its tool call by design, so Esc does not reach it — `/workflows stop [runId]` does. Switching away from the session stops everything. Either way every live child is aborted, and a child still queued behind the concurrency cap, or between getting a session and sending its first prompt, is refused before it starts rather than left to run to completion on a run nobody wants. The script is ordinary JavaScript and cannot be interrupted mid-statement, so a cancelled run instead refuses to start anything new: the next `agent()` returns `null` rather than spawning. A run that reaches the end of its script after being cancelled keeps the cancelled verdict — reporting it as done would claim a result nobody produced — and its result says who stopped it and what that cost (user, timeout or session switch) instead of hiding the cause.\n- **What the children cost is shown.** Every child message's cost and tokens go to a process-wide tally; with [`@pify/usage`](https://github.com/pifydev/usage) installed the footer shows it as ` · agents $…` beside the session's own cost, which child sessions otherwise never reach. The same per-call token figure feeds the run's `budget`.\n- **A session-wide default for unpinned agent types.** `defaultModel: \"provider/id\"` in `pify-agents.json` (pi's agent directory, or `.pi/pify-agents.json` in the project under the same approval as its agent definitions, which wins) is what an `agent()` call whose type pins no `model:` runs on; the type's own pin still wins, and with neither file the session model is used as before. Said once per outcome, not per call. The same file [`@pify/subagent`](https://github.com/pifydev/subagent) and [`@pify/swarm`](https://github.com/pifydev/swarm) read.\n- **A pinned model is found or the miss is said.** An agent type's `model: provider/id` is matched exactly, then under normalization within the provider (`claude-haiku-4.5` is `claude-haiku-4-5`, an undated id matches its dated snapshot), never across providers; a pin that names nothing is logged on the run and warned about, and the session model is used — it used to be a silent fall-through. A `budget` counts input + output + cache writes per call, never the cached prefix re-read on each turn. An isolated step's prompt ends with a `<worktree_isolation>` block naming its worktree as the only writable checkout.\n- **One agent catalog.** `agent()` uses the same `reviewer` / `scout` / `worker` builtins and `.pi/agents/*.md` custom types as [`@pify/subagent`](https://github.com/pifydev/subagent) and [`@pify/swarm`](https://github.com/pifydev/swarm).\n- **Isolated steps clean up after themselves.** With `isolation: \"worktree\"`, a worktree whose child changed nothing is removed along with its branch; anything uncommitted, and any commit the child made, is kept and reported.\n- **Limits.** 20 agents per run, 4 concurrent behind a shared semaphore, a 10-minute script timeout, and an optional total-token budget (`budget=` on the call, or `/workflows budget 500k` as the default) that stops new `agent()` calls once reached. A stalled provider stream is pi's to end — its HTTP idle timeout (5 minutes by default) aborts a request that stops sending — so this package adds no watchdog of its own on top of the script timeout.\n- **Saved workflows.** `.pi/workflows/<name>.js` runs by name — after you approve the repository's scripts, once per project. These are repo-shipped *executable code*: the script fans out paid child-agent calls and its `gate` option runs shell commands, and the vm it executes in is cooperative discipline, not a security boundary. So the first `name=` run asks, the answer is remembered in `pify-project-consent.json` (scope `workflows`), and a headless run needs `PIFY_TRUST_PROJECT=1`. Project agent definitions under `.pi/agents/` are gated the same way, under the same `agents` answer subagent records. An `export const meta = {…}` prefix is tolerated, so scripts written for other harnesses mostly run unchanged.\n- **Background runs come back to you.** `background: true` returns a `runId`, and when the run finishes its result is **delivered** into the conversation — measured in `test/live/delivery-wire.mjs` (3/3: the background run finished and its result reached the model unasked), which also measures the consent gate in both directions: an unapproved repository's saved workflow is refused with directions, and `PIFY_TRUST_PROJECT=1` lets a trusted headless run proceed. Delivery is a property of sessions that outlive their runs — interactive sessions do, `pi -p` does not, so the test holds the session open the way a real one naturally stays open. `workflow_status` still shows the live phase and agent lines, but no longer ends in \"poll me again\": it returns a structured result with `retryable`, the elapsed time and `pollRequired: false`. Answering \"not yet\" with a tool *error* would be worse than useless — it invites the model's own retry machinery into a loop over a condition only time resolves. Where collecting within the turn is the only option — a headless `pi -p` run — `wait` turns the collect loop into one call: `workflow_status` holds open for up to 120 seconds until the run finishes, and Esc ends the wait. A live widget shows the current phase and its agents, lingers 15 seconds after the run ends so the verdict is seen, then clears; finished runs survive `/reload`.\n\n## Command\n\n`/workflows` — saved scripts in `.pi/workflows/`, and this session's runs.\n\n`/workflows stop [runId]` — cancel a run (default: the active one). This is how a background run is stopped; a foreground run also stops on Esc.\n\n`/workflows budget [500k|1.5m|off]` — show or set the default token ceiling for runs that do not pass `budget=` themselves. Stored in `pify-workflow-budget.json` next to the consent file.\n\n## The Pify agent stack\n\n`agent_run` (one child) → `swarm_run` (independent parallel items) → `workflow` (scripted control flow). Use the smallest one that fits.\n\n## License\n\nMIT © [Pify maintainers](https://github.com/pifydev)\n","readmeFilename":"README.md"}