{"_id":"@hydra-acp/planner","_rev":"29-5d3f3ae1e2e9971d871ebbe3202b5407","name":"@hydra-acp/planner","dist-tags":{"latest":"0.1.30"},"versions":{"0.0.2":{"name":"@hydra-acp/planner","version":"0.0.2","license":"MIT","_id":"@hydra-acp/planner@0.0.2","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"d41df17165d14d520f3a3ba9dec523493db2c99a","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.2.tgz","fileCount":17,"integrity":"sha512-Y0mHsYZ5Om/ZmDE2ho6FvAf9I4zY+At9y/yPisdJwGNAtnK/4fPdPB4cJjppc2cOZrZWrCgTscJFXpx2St1Btg==","signatures":[{"sig":"MEUCIArkGv3ETc6gJpQKP4x9qDMEdNM2nBiVaZyjJrbqPjioAiEA0wxBbWb9My+K8mrIG1Ez4VSmFOlQlK180KG0I/xAn0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78047},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"cb228b9bd3bbbd1181139a9a3a8cb55ac85954f5","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.2_1780555124728_0.21934275483948462","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@hydra-acp/planner","version":"0.0.3","license":"MIT","_id":"@hydra-acp/planner@0.0.3","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"3b48456fcf3e63bdfe1e74e8717cfbe662559f8b","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.3.tgz","fileCount":24,"integrity":"sha512-/cd1G3NZ163Lh95eJAmISHYAs/HjoOyq8BTUWdWvwbPeoZUWceKqu4aqVIEhrRS3IgqngJUcdOTtd3vHuwk9Hg==","signatures":[{"sig":"MEYCIQDV38NPq4JlV7kmf6vLP07LFFJoBhCbgbT5gqy7ktzonwIhAJGWGIIha3h2QzgkvOZEiS64xnu/rriVLwkFVuXp2N1X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162926},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"7363274f074ceab3606f56dcd1f7aa7622b0b23b","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.3_1780941238940_0.37364196262106075","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@hydra-acp/planner","version":"0.0.4","license":"MIT","_id":"@hydra-acp/planner@0.0.4","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"018543d9cac034f01bd2da7c2a5727fac91e3735","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.4.tgz","fileCount":24,"integrity":"sha512-7Rh67oArp38kR/fTPh6yxO2ZuEMisuMDlWKEYuuwdOMrtTyNl0XJMa7vDmaOqMzFtHRweDz4dNDoRL9uTKNrYw==","signatures":[{"sig":"MEUCIQDZwNrzdpFi0gugwEFCpw/4atqIFFcmlPzKPGrVpibSmQIgJE4d5XzB5Rvv6y1PVEcslXLNFDfHXZK2hgc1OwybWHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171968},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"50f6351575bbbc57ea0a109ad2305f9b7385f4a1","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.4_1780970574265_0.3176694699938043","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@hydra-acp/planner","version":"0.0.5","license":"MIT","_id":"@hydra-acp/planner@0.0.5","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"36035552abd97d2bf4390567af32bfc347b81b76","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.5.tgz","fileCount":24,"integrity":"sha512-WJ9mtQCc4DAo7IS4BDMWmlxrqj+97vUOxecZWbtaCxTRczn67vcqd59+dw4MoaJFXt7alYbvoVcOHnmmlyWAyA==","signatures":[{"sig":"MEUCIQDduXakv6Bs+tnilJQTOmXnxCZvyU6puGtxWXb9rVqrvgIgJgv9vNluaI++NJC+ZYqz5mPV89kYm9AgasxQnuxhC9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172638},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"5be20a63a9a7d8dfd6fb12646a1e03bdca4528e5","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.5_1780975465381_0.8581855563253731","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@hydra-acp/planner","version":"0.0.6","license":"MIT","_id":"@hydra-acp/planner@0.0.6","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"99e7c143a6ec882c2f437e0c6f0b76990e419bc0","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.6.tgz","fileCount":24,"integrity":"sha512-L72p0blC8/6JOHmnssdmsyT3qpv3vmn17wbG+dtvVfjoONY70DSWUEtKbUKzGMRKwR/a5+JooZuRa+dlEOzMyA==","signatures":[{"sig":"MEQCIB1H5LN4tgro86/ux1n14nR8TXwqikSVdd9q5cM3xmg8AiAO5BerfUj55uGiPcTY4JhVS+cZsveqL7U2k8ieG7xJzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184075},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"9b6f225a7ad7832dbbf0caedd325c1b12f7c5952","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.6_1781077611113_0.25134671723190327","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@hydra-acp/planner","version":"0.0.7","license":"MIT","_id":"@hydra-acp/planner@0.0.7","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"b276e7cacabde8fc5d7033a2158f86bedc94b89d","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.7.tgz","fileCount":25,"integrity":"sha512-k+acpLGk6o+EFS8okmowNfxGVr42nPkNMmUOF8i2dZ4m/nXZn4sif06nOgI7uLCW9ExLTJFDcqsA+VqrkW5cbQ==","signatures":[{"sig":"MEUCIDF0MveFZzmLi2VSnJHP/m47kLz9wETo6JVZKxXOZQ5OAiEAqLyJ5/wXcaJYHe/v0XHwrEhhUPALNJvsghlVl495t9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190360},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"e503d5b7d833a1329b94fd49548aa428cf96780d","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.7_1781126745741_0.33484150382708466","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@hydra-acp/planner","version":"0.0.8","license":"MIT","_id":"@hydra-acp/planner@0.0.8","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"c0f8713293ae47eb394e045f005b2b1f7e97815a","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.8.tgz","fileCount":25,"integrity":"sha512-Ps4bMAphbn8KDl/fhiAp15RbSonxf9kKc4Fvnnc6fPt5ukdZIZvhaTdsUC1N2vcQpGXFmju0i3UzaoCfBP+l6A==","signatures":[{"sig":"MEQCIAeNdMzt4cdYB5Nquo8PaZmUpMsoHztzmbm2w1ythGXZAiAcxzcoQBoAN09DW6aG5Jbi40ctw4Vyi+V5tVm36NWugw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190751},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"d03417370abdd4eb8cea8dc45d1a80148d01c4b6","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.8_1781193260772_0.8061135626832787","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@hydra-acp/planner","version":"0.0.9","license":"MIT","_id":"@hydra-acp/planner@0.0.9","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"fbb9635c32323ea22d4726226f18ea33f1bb5ee7","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.9.tgz","fileCount":25,"integrity":"sha512-1mV1ioCIZ9rzyDgR+kKMiP7+6Z8FUVTIlb0fk7kxWMrWeLeDnoVPuuVfnvLW/nwhCWDIw2KEyT65NwoamVFUag==","signatures":[{"sig":"MEQCICcrVLqWJmwITMDS+7n/vZENiJKhQW/r6rnL2rHf6i89AiB51tw1SQyvgbmkAbY724jk+ttHYuFZo7m3b7s4wLPyMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192900},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"91a5cb0795819304ea0f474751698e33bf6a23e6","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.9_1781197914703_0.8476805878615001","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@hydra-acp/planner","version":"0.0.10","license":"MIT","_id":"@hydra-acp/planner@0.0.10","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"72b6c230089db09b71ec541ecb05aa184ef6b2be","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.10.tgz","fileCount":25,"integrity":"sha512-DyfHKrT2duPwnL8FgBze9QnBirMU5vYs10domLuCoRrD1pIs6Iw8Y6taWw0MHSIFGQj7haglwmPqa3eBXaGqtQ==","signatures":[{"sig":"MEUCIQCigYXDYgcB5ZfXoT6BV3u9AvA6ICY7vcZoi7sLBai7SgIgXZ+sgxN0+s32Ys/KtzQyNE3P/1gihl+i84I7nco7TZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198048},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"0f82bc93b10e14b37e1af030a8d2e4dc79565c63","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.10_1781315898080_0.013441569055816505","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@hydra-acp/planner","version":"0.0.11","license":"MIT","_id":"@hydra-acp/planner@0.0.11","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"4ed43d06bf4e2b4721e168f895b92d9d7e83c812","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.11.tgz","fileCount":25,"integrity":"sha512-hnbrkLhiZmTWQ4iMsfKHATqS7e7r+yuZqCx6E8zXesjZajTS5vGBNxazMJDnRo9o61+IdFB0jFikBMCHkCBa1Q==","signatures":[{"sig":"MEQCIBM1fPTfhvj1TTn97q5CQqYTLwDCAxJvkCXlXEEGl/5YAiBtpc6w25EEquKWeWhkTkfBa9Eh4v+/NO5fH9hqV8VnrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202780},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"6c00a55fd586d50b03015931c4254dba900f32c8","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.11_1781330770694_0.3996731628345218","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@hydra-acp/planner","version":"0.0.12","license":"MIT","_id":"@hydra-acp/planner@0.0.12","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"cc1196f39c8ceb57593b6eda639e1646e7f35568","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.12.tgz","fileCount":25,"integrity":"sha512-eG3f2ubRkTQjwBGCPSHE9sooeH2THmSWGQ6WabpReipg/mGVSl6pm0YsXiNmH20wNqmnx8JY8OKRo3Bd3fpegg==","signatures":[{"sig":"MEUCIQDtCGepl3171ANQJbmc+Eubjw89o0OOBeIvETmWfoYmTQIgZjoWCcTZ4lfNU6Fg0CUzPiYTdR8NQ1uUJJiYS9M1KQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225582},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"f7bc718983bd8732c865d5d2e7535506099a6a1a","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.12_1781400461035_0.812500755773744","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@hydra-acp/planner","version":"0.0.13","license":"MIT","_id":"@hydra-acp/planner@0.0.13","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"d67a475e6e8d80da0d55d72157cd94e357d5e37f","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.13.tgz","fileCount":25,"integrity":"sha512-2f5GzXaNPd5U+QMZU0IEoGrvmSf4/A3mViEl4PrdSaZhwIVJ1enMF2vLIooHHI2TTu15YIKlU0prSZyo1uPjtQ==","signatures":[{"sig":"MEUCIQCLot4ohnojcXl5Gt5j8Ip5HyJLKp6X7bDhIXcOIf8X1QIgCovbub4kerlebsJdFDJZqWzyVo7gQFt+mhP4QzQJS+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225885},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"96b5e0a791d7f5a5233c4f80e5cd0f343d230af5","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.13_1781463642563_0.7042443268810494","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@hydra-acp/planner","version":"0.0.14","license":"MIT","_id":"@hydra-acp/planner@0.0.14","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"923820731419a5d7fa8c8a6fd67ac444ba0dc88c","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.14.tgz","fileCount":25,"integrity":"sha512-5Th1dH4cySoC3P1cQX4bJmYN0LkiqVBOZHTvDEX1fU2Re0aM6fGpMEsuCiz7FD4HI9T7xuqllLWH6tfZsfVyRg==","signatures":[{"sig":"MEUCIFzCaBrsf1h1WPegZlJOCZE7Xa9XBzwccqrkkA2mo7RPAiEA9AmLRUhLk/GacxKp/7wog4pxOoGczA7Iz6DqXGikY5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228014},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"800bd838413102018a74320c46d8dd39721716a5","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.14_1781471541025_0.4945119644872047","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@hydra-acp/planner","version":"0.0.15","license":"MIT","_id":"@hydra-acp/planner@0.0.15","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"f06b75ba1362582f6566d780b68865b5275a5526","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.15.tgz","fileCount":25,"integrity":"sha512-cRCGpVvkb0U882FpF7ME9GN/wUYOOv9P5QxbMT0bDS5DRERdnj3U+dOdiXHZqLXqayJuTXYmLMql23ppFVWD8w==","signatures":[{"sig":"MEUCIGPwWx0YUNgpOx8AaUFF9sVIZ7aotFs+5uO83FcomR45AiEAo6Y4qyEgSO+cPV4w3fVxqc8tWNPLWNS4p7C6RyWHEuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229847},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"87a4d2dbf51e508883a1945c809c159864ef77c4","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.15_1781492651989_0.7869844057186317","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@hydra-acp/planner","version":"0.0.16","license":"MIT","_id":"@hydra-acp/planner@0.0.16","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"caed78c6c932d454bb3f33d94e51870bb03873f4","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.16.tgz","fileCount":25,"integrity":"sha512-zm+X89yKYTSF9YVdCe/rAd1M1qsMrkCCXqwOStIK9LLcNIdm32gLC1MxsbX8G5xBlA4Ec72OyK4PzBxYh+FVpQ==","signatures":[{"sig":"MEUCIQCSRYeMnGwDjKZNKB6aWgf2KIH+pQLHaD6yqZ5Ev2q68wIgM7zvz+smxrlYquzg2teon8uVuxngBxZXibozZOB5rig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231747},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"12b8ee7383d3fc61bd0fe2ac2b311d78f38d61cc","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.16_1781746228172_0.03871873739939402","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@hydra-acp/planner","version":"0.0.17","license":"MIT","_id":"@hydra-acp/planner@0.0.17","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"cc25c23ed617244650aa079ee98e6f07458721f2","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.17.tgz","fileCount":26,"integrity":"sha512-d2+fCTwoxgv3UoPj+eM0274hD6QUbFxxtAPpQzWMs1Dd9CNn+6SdXuVKMn6PaIH78MRtANAGVpZY+BuXKtI2Nw==","signatures":[{"sig":"MEQCIEMQTB16ou8pkYGPwBsMVokRZpnzwhN0/Cs3nmCYNy7aAiAmeL0Y9WSAQEeplLNILV6pspda8qSviqPujcHbDCrR0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236184},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"cddc8095aeeb2caca6985944a1c52005714c981b","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.17_1781764903903_0.2922292809213076","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@hydra-acp/planner","version":"0.0.18","license":"MIT","_id":"@hydra-acp/planner@0.0.18","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"420026982b83124e061b57c43fd9c46126e97838","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.18.tgz","fileCount":26,"integrity":"sha512-UIt/Md53HzRjUxWFfFXvBn+zYWhPxBeb6tZOkvcMINJisrf/NdIHHILj2fpcHgFCQq32XJCHP9K+W1sEvSVyew==","signatures":[{"sig":"MEUCIGtgvULSeFMeq0HjQJoEO992XIeM4qTYnMBoG9TPcm0vAiEA/SczwL0RYBzTfCNz1XYhjJSYlxzkv586RKzyOcAozWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236179},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"6f3f305fcea4362bca25b54fc97d8e37ed4e7764","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.18_1781940149632_0.7923372927781971","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@hydra-acp/planner","version":"0.0.19","license":"MIT","_id":"@hydra-acp/planner@0.0.19","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"d5856a774277bfd912cd296c8ebc782807923910","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.19.tgz","fileCount":26,"integrity":"sha512-MysQtEQ3avOJW4YfKREEAg75sGgqQ0WMw5Bt+6JLCbDVF76jCEI+BVKvajFTdrq7U3ZMk6Tyl1dO3dqtzFW8ow==","signatures":[{"sig":"MEYCIQDw0TzaHlQelHeJ5fkNJHzjKlpZEedWrfKOpWL4UPP30wIhAN49jKQzDaNkn518VqZ+4gw/wCEbcr+bJdCBxff5sOUj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236179},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"27e411c8e11eec541b71aeef34b1de1f03f4d0cf","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.19_1782506361377_0.6440469694466644","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@hydra-acp/planner","version":"0.0.20","license":"MIT","_id":"@hydra-acp/planner@0.0.20","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"fb2aac46f4ea0f291f0d3014919f92d3f003abc0","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.20.tgz","fileCount":26,"integrity":"sha512-j3EstLhCCacdOhaK1O8J67v5/rBAxJg65pBw6AeWSRctgjEJC8Jai4G256wtzarzncxufmYVe7CjWK6KAMH+ow==","signatures":[{"sig":"MEUCIQDLGQjoYoo4rlj6vee50mTcgP5wckP1oXVYk2qX1B1V5AIgTBJa8rkLdKegRLwLo1axFIbYAklHhRPEnzEM8Z4edVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238627},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"6b7605181e51231099b985846de765bfa180f321","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.20_1782749766594_0.5311947979451082","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@hydra-acp/planner","version":"0.0.21","license":"MIT","_id":"@hydra-acp/planner@0.0.21","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"0b82c9165a659313c95931ab775277f1fd7e6190","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.21.tgz","fileCount":26,"integrity":"sha512-/aiMVMPlTy8QxIt8G6fF3LDtBw8pWLfCkRd1KiUcadf6Ikfpq0sEJMZsHet9FxtdD8yQewIT8sZfTmOUTAsRWw==","signatures":[{"sig":"MEUCIDPTf3rEGbgneQNPcvFnoZRhkWn1/FieMpw6hakZuyBxAiEAq6OVqq9LLPnkuSaqdX8PBcgGCUomHFTNu/I5ikWGvvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242980},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"822871e79bdb7fbbcb0c1ffcd416ed7d9441d3d6","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.21_1782783148466_0.8855633270482763","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@hydra-acp/planner","version":"0.0.22","license":"MIT","_id":"@hydra-acp/planner@0.0.22","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"e3b6489eac207343d0baeddc21f8fdb63d92adce","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.22.tgz","fileCount":26,"integrity":"sha512-EkODWhxB7MXsRzhCj58BdXRNO4iShos47/IZ/ZrRNOukMSvbjw24EhD2dLTjIjkb7LB8te4VJVqu3XKZlztV3g==","signatures":[{"sig":"MEQCIG1simMYufuYftW9q6r2QMh7BoGAFj7Cck5JhdXz/LiBAiBCoPUpFNPAkjPAbPBNKCzLn04tMC4CfmsmLMDGb8y4CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243595},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"8b8a659546f9075d766be7ba5a6498b1c5fc9649","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.22_1783358050763_0.12720800582976244","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@hydra-acp/planner","version":"0.0.23","license":"MIT","_id":"@hydra-acp/planner@0.0.23","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"30bea6ecb61a41a9c2d4ed0b9b6a565429883086","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.23.tgz","fileCount":26,"integrity":"sha512-s7vIgWhCARQxFqy0GMBog6N8j+nmUS4txkqExll2WVuAvesS4ffBFCl5kSHeoHhAB8rjrMdDYMqWBF5epblmdQ==","signatures":[{"sig":"MEQCIDGa1TeeJag1BZmIdL63bMbpQ33mA8/LLnSWaP/Gno6WAiBgZ8cZHHKdfAhWgvtDp4MYwvvLm0EXeZ4MdG826VsqQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253785},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"1d24492e6c194070600dad9d176f3d1125c1ee34","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.6.2","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.23_1783975711562_0.3747287427304493","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@hydra-acp/planner","version":"0.0.24","license":"MIT","_id":"@hydra-acp/planner@0.0.24","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"08bd054656b6baefff118427e63079ab626a372d","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.24.tgz","fileCount":26,"integrity":"sha512-zLcinPqWAu/35KMHxnpjKiEMGqsKvD4cHBdU7rmAae5rYSU8x4fJPUnLh+CmrHUlh2D67db5irvd2NJAR7b2eQ==","signatures":[{"sig":"MEUCIH/sr2EmEj4vuACOqnuXxOaA2wq9Tp1QA/5oXsV7WObtAiEAr1x0dHLkPqb7p9MQelrVsfZUoHV1SpSixrgpSzXMVHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253785},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"2c8ed56d306bc794168d190bf25548ce57d7ae0c","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.16.0","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.24_1784658233285_0.21680298015155564","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@hydra-acp/planner","version":"0.0.25","license":"MIT","_id":"@hydra-acp/planner@0.0.25","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"ad8eb8f2d6f0f61d6d0fecd7d8e384efebc35abc","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.25.tgz","fileCount":26,"integrity":"sha512-iu7t1ubCWqHJJGRSsbaGLcYK6Mp+oVjjFkbN8FZTcTjYIMOIF7pNn0UNSX7YIBPYdIWhP3SZgNBMRJkSJVvazA==","signatures":[{"sig":"MEUCIQCQjT8Ev+BkCSncbVCkyWsFPSu9eDMuPa1jiow+bMwACQIgaF70CI5t22Jw/HPm+h18AMMyHeQjzNHvUD5cCGz9Bd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255208},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"8b4d92d11458f866ee6b0c80dcccc21f8a8d68d6","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.16.0","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.25_1784747238653_0.45268245533380713","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@hydra-acp/planner","version":"0.0.26","license":"MIT","_id":"@hydra-acp/planner@0.0.26","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"aa3bd9465c698810d794fae35ca937367fc90f26","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.26.tgz","fileCount":26,"integrity":"sha512-4vVV9c0OXJl+6JSfNcSpbqU/knclYC9AXBCmUXDPZRWnujYTnaB5xDuEZNW4x899EeMkiRe5UZ3xD3BUyfxUsg==","signatures":[{"sig":"MEYCIQDqYjrdDW+n2+eQd6wc1Vb6QhI4FxYD3GzNx24x0hemvAIhAOic4+kICWGRoM46mnBmkL/MiVqvoF/vhoza2pCEApif","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255107},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"50d96ed9ca383ed37f16469792a6b8ca854a3df3","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.16.0","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.26_1786067960852_0.6227628770785483","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@hydra-acp/planner","version":"0.0.27","license":"MIT","_id":"@hydra-acp/planner@0.0.27","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"2d750fadb65e07f4ae24b0cd37f9d3f01e92087b","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.27.tgz","fileCount":26,"integrity":"sha512-NDDv1ryi7+gTPy7+YLnSk6zxtREII/DNs83R7bSk2UHc4duqEuJnjyINCy3FLmyudvjCx2Foe83D1hxAMOKi0Q==","signatures":[{"sig":"MEUCIQCr+0+piok0pWfnkgWB7T+oTnJjECJ3JhQTW0Fp4YkwcQIgTXYiqdtY2ZI9HJAwDJ6eFQ4ZEmyRo1UQKI4RUh/LHlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255142},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"7810be986453db3b092f0997225b06363f06bbf2","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node --test --import tsx 'test/**/*.test.ts'","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.16.0","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.27_1787783162535_0.2938522290930252","host":"s3://npm-registry-packages-npm-production"}},"0.0.28":{"name":"@hydra-acp/planner","version":"0.0.28","license":"MIT","_id":"@hydra-acp/planner@0.0.28","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"9feb5ab0a7995bdb59f7ce843357ec3abc6212e5","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.0.28.tgz","fileCount":26,"integrity":"sha512-Pq4Cf5aJMXLa22sD1T6LGKD1D+OIdy52WaQY/XwZ6jvmZ1fQcFYcaOcfx/vsWhlZtY332bZtjo9FlMZrpdpMRA==","signatures":[{"sig":"MEUCIQDpCcCQ+5IUQv1YTZ0lnMCJ8SWqKuB/m4LcmD7ebL+p/QIgECJUn7bx4CQMz7SbA9DgYrBFa0yeA4MYqwD06JLzNBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255124},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"591dcdfc837e1f7e945cbf410c66d4b50e02d8a6","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node scripts/run-tests.mjs","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.16.0","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.0.28_1788754594736_0.921309937301376","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"@hydra-acp/planner","version":"0.1.29","license":"MIT","_id":"@hydra-acp/planner@0.1.29","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"240ce0e77631360e856c4be96cc8f76399e7680e","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.1.29.tgz","fileCount":26,"integrity":"sha512-7NTIJonmJrkoy+WWHkf39AEPXseWlZlU18j/RU+NOQl3xdHzIFQySDxviM7qpr1Zz8qEnfyTF9fhTEfeq6tatQ==","signatures":[{"sig":"MEUCIEEA4p6D8UkXn1quJnq2xG21r+zBAE+tiJ2elLe4UF4EAiEA04vhGTxbx4nOroo7GJX5z5PdlXxjfzjVPobnsIdD+kc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255124},"main":"dist/index.js","type":"module","engines":{"node":">=20"},"gitHead":"3886a66df4d63ebff78d034bea6229954520ee00","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node scripts/run-tests.mjs","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.16.0","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/planner_0.1.29_1788845891970_0.6545806232083746","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"_id":"@hydra-acp/planner@0.1.30","bin":{"hydra-acp-planner":"dist/index.js"},"dist":{"shasum":"05c8a8c794cb5e3069b6250d54fab2959117e3bc","tarball":"https://registry.npmjs.org/@hydra-acp/planner/-/planner-0.1.30.tgz","fileCount":27,"integrity":"sha512-0qLXKODabhglfzPbnGj96rhlb1BjyiVd2M9GGZ3Cxz5OQcfuL5p04CkuymBHkSbvKL3M2TTJuQU1UqP+P5sRwg==","signatures":[{"sig":"MEUCIQDM+UXkiOSsOdHw4UxVesbwe33e56SJboZ5zTmZbHECqwIgA2gI1BgHl4zWGYl/wt2CtxYUonjYTkOGhbxMZ3bmak0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAy7gzlVMkQ7VqENpKsjoHdU+cVm/+gCqDeJmRu3eKtnAiEA142xySprxmWnZtt/Z+0g7qdqH+5kyKN3YZBC0NJbYoM="}],"unpackedSize":277175},"main":"dist/index.js","name":"@hydra-acp/planner","type":"module","engines":{"node":">=20"},"gitHead":"22e35a845bc322883d51d44df3a328b3c6a92d77","license":"MIT","scripts":{"dev":"tsup && node dist/index.js","lint":"tsc -p . --noEmit","test":"node scripts/run-tests.mjs","build":"npm run lint && tsup","start":"node dist/index.js","watch":"tsup --watch","prepublishOnly":"npm run build && npm test"},"version":"0.1.30","_npmUser":{"name":"zachakahn","email":"smagnuso@gmail.com"},"_npmVersion":"11.16.0","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","directories":{},"maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","tsup":"^8.5.1","@types/ws":"^8.18.1","typescript":"^5.6.3","@types/node":"^22.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/planner_0.1.30_1789500730574_0.9633837862729606"}}},"time":{"created":"2026-06-04T06:38:44.599Z","modified":"2026-09-15T19:32:10.850Z","0.0.2":"2026-06-04T06:38:44.865Z","0.0.3":"2026-06-08T17:53:59.070Z","0.0.4":"2026-06-09T02:02:54.450Z","0.0.5":"2026-06-09T03:24:25.532Z","0.0.6":"2026-06-10T07:46:51.266Z","0.0.7":"2026-06-10T21:25:45.890Z","0.0.8":"2026-06-11T15:54:20.901Z","0.0.9":"2026-06-11T17:11:54.849Z","0.0.10":"2026-06-13T01:58:18.226Z","0.0.11":"2026-06-13T06:06:10.859Z","0.0.12":"2026-06-14T01:27:41.169Z","0.0.13":"2026-06-14T19:00:42.750Z","0.0.14":"2026-06-14T21:12:21.147Z","0.0.15":"2026-06-15T03:04:12.188Z","0.0.16":"2026-06-18T01:30:28.306Z","0.0.17":"2026-06-18T06:41:44.104Z","0.0.18":"2026-06-20T07:22:29.785Z","0.0.19":"2026-06-26T20:39:21.614Z","0.0.20":"2026-06-29T16:16:06.727Z","0.0.21":"2026-06-30T01:32:28.598Z","0.0.22":"2026-07-06T17:14:10.896Z","0.0.23":"2026-07-13T20:48:31.697Z","0.0.24":"2026-07-21T18:23:53.459Z","0.0.25":"2026-07-22T19:07:18.828Z","0.0.26":"2026-08-07T01:59:20.999Z","0.0.27":"2026-08-26T22:26:02.691Z","0.0.28":"2026-09-07T04:16:34.879Z","0.1.29":"2026-09-08T05:38:12.107Z","0.1.30":"2026-09-15T19:32:10.668Z"},"license":"MIT","description":"Multi-agent project orchestrator for hydra-acp — decomposes a goal into a task DAG, spawns worker sessions, coordinates via prompts.","maintainers":[{"name":"zachakahn","email":"smagnuso@gmail.com"}],"readme":"# hydra-acp-planner\n\nA multi-agent project orchestrator that lives inside the\n[hydra-acp](https://github.com/smagnuso/hydra-acp) daemon. You describe\na project to your agent in chat; your agent decomposes it into a task\nDAG and runs it. Workers run as plain ACP agents — no special protocol,\nno special system message — driven entirely by prompt management.\nProgress streams back into the same chat session you started from.\n\nThe planner exposes its capabilities to your agent as schema-validated\nMCP tools (`set_plan`, `start`, `get_status`, `get_findings`, …). The\nagent calls them directly; you stay in the conversation. Slash commands\n(`/hydra planner …`) exist as a direct-invocation power-user path, but\nthe main mode is conversational.\n\n## How you use it\n\nYou describe a project. Your agent proposes a task DAG and calls\n`set_plan`. You say go. Workers run; progress streams back to your chat.\n\n```\nuser> I want to build a Python web scraper that fetches a list of URLs,\n      parses links, and writes them to CSV.\n\nagent> Here's a plan I'd run with three tasks: T1 fetch, T2 parse, T3\n       write. T2 and T3 depend on T1. I'll set this up.\n       [calls set_plan with the DAG]\n       Plan is ready. Want me to start it?\n\nuser> Go.\n\nagent> [calls start]\n       ✓ T1 fetch — 50 URLs fetched, 2 retries\n       ✓ T2 parse — 412 links extracted\n       ✓ T3 write — links.csv written\n       Done. Want me to summarize what each task did?\n```\n\nThe agent drives the planner through MCP tools: `set_plan`, `start`,\n`get_status`, `get_findings`, `retry`, `add_task`, `skip`, `pause`,\n`resume`, `update_task`, and others. These are first-class,\nschema-validated calls — the agent is not screen-scraping a CLI.\n\nYou can also invoke directly with `/hydra planner create <description>`\nfollowed by `/hydra planner start` when you want to skip the\nconversational step. Both paths are first-class.\n\n## Modes of operation\n\nThree worked examples covering the patterns the planner is built for.\n\n### a) Plain DAG build\n\nThe basic case: a project decomposes into a handful of work tasks with\ndependencies, and workers run them in topological order under a\nconcurrency cap.\n\n```\nuser> Build a todo app with auth.\n\nagent> I'll set up a 7-task DAG.\n       [calls set_plan]\n       [calls start]\n\n  T1  Design auth schema       —  no deps\n  T2  Implement signup         —  depends on T1\n  T3  Implement login          —  depends on T1\n  T4  Frontend scaffold        —  no deps\n  T5  Integrate auth UI        —  depends on T2, T3, T4\n  T6  Tests                    —  depends on T2, T3\n  T7  Docs                     —  depends on T5\n\n▶ T1 → worker fa3c\n▶ T4 → worker 8b91\n✓ T1  bcrypt cost 12, sessions in redis\n▶ T2 → worker fa3c\n✓ T4\n…\n🎉 7 tasks complete\n```\n\nConcurrency defaults to a sweep-line analysis of the DAG; override\nwith `concurrency` in `set_plan` or `--workers N` on the slash form.\n\n### b) Multi-angle PR review with distill\n\nUse case: review an external artifact (a PR diff, a design doc, a\nbenchmark) from multiple independent perspectives, then collapse the\nresults into one cited merge report.\n\n```\nuser> I want three independent reviews of this PR — one for security,\n      one for API design, one for tests — and then a fourth pass that\n      merges them with citations.\n\nagent> Setting up four tasks: T1/T2/T3 as independent work-kind\n       reviews, T4 as a distill that merges them.\n       [calls set_plan]\n```\n\nThe resulting plan:\n\n```\n  T1  Security review of the PR     —  no deps\n  T2  API-design review of the PR   —  no deps\n  T3  Test-coverage review of the PR—  no deps\n  T4  Distill from T1, T2, T3       —  deps: T1,T2,T3   reviews: T1,T2,T3\n```\n\n`T4` carries `kind: \"distill\"`; its `reviews` list defines the\ncitation domain it is allowed to source from. The distill output is\nparser-validated for source citations by construction, and lands on\n`T4`'s artifacts (visible via `get_findings`). YAML form:\n\n```yaml\ntasks:\n  - id: T1\n    kind: work\n    what: Review the attached PR diff for security issues. Cite line ranges.\n  - id: T2\n    kind: work\n    what: Review the attached PR diff for API design. Cite line ranges.\n  - id: T3\n    kind: work\n    what: Review the attached PR diff for test coverage. Cite line ranges.\n  - id: T4\n    kind: distill\n    deps: [T1, T2, T3]\n    reviews: [T1, T2, T3]\n    what: Merge the three angle-specific reviews into one cited report.\n```\n\nUser-authored distill differs from the bridge-synthesized competition\ndistill in one way: `recommended_action` is informational only —\nnothing is superseded, no follow-up task is spawned. See **Reviews,\ncompetitions, distill** below for the competition-driven variant.\n\n### c) Tiered agents with senior review\n\nUse case: workers run on a fast/cheap agent; reviewers run on a more\ncapable agent. Useful when you want a lot of parallel exploration but\na careful gate.\n\n```\nuser> Use sonnet for the work and opus for the reviews. Review every\n      task.\n\nagent> Setting fleet defaults: work on sonnet, reviews on opus, and\n       reviewPolicy.mode = \"all\" so every work task gets a review.\n       [calls set_plan]\n```\n\nThe relevant `set_plan` fields:\n\n```yaml\nfleetDefaults:\n  work:    { agent: claude, model: claude-sonnet-4 }\n  review:  { agent: claude, model: claude-opus-4 }\nreviewPolicy:\n  mode: all\ncontractBrief: |\n  Cross-cutting invariants every task (work AND review) must respect.\n  Workers implement against this brief; reviewers check the\n  implementation against it. Keep it short and concrete.\n```\n\n`contractBrief` is rendered above per-task context in both worker and\nreviewer prompts, which is how you make the cheap workers and the\nsenior reviewer check against the same set of invariants.\n\nSlash-command equivalent:\n\n```text\n/hydra planner create \\\n  --work-model claude-sonnet-4 \\\n  --review-model claude-opus-4 \\\n  --review-policy all \\\n  <description>\n```\n\nThis composes with the competition pattern: `--compete true` together\nwith tiered agents gives you cheap parallel workers and a senior\nreferee that picks the winner.\n\n## Reviewing the work\n\nAfter a project finishes (or while it's in flight), your agent calls\n`get_findings` to surface what needs attention: failed tasks, review\nverdicts that asked for fixes, worker-captured follow-ups. It's a\ntwo-call pattern — calling `get_findings` with no arguments returns a\ndirectory of which tasks have findings; calling it again per task\nreturns full notes, follow-ups, and a `verified_diff` descriptor where\napplicable.\n\nIn conversational use you don't have to ask for this by name — you\ncan just say \"what's left?\" or \"why did T3 choose bcrypt cost 12?\".\nWhen the current session owns an active project, every non-slash\nprompt is rewritten with a board-context preamble before reaching the\nagent, so it answers from the board it can see without calling any\ntools.\n\n`/hydra planner status` is the slash equivalent of a one-shot\nsnapshot — it prints the board without opening a live view, useful\nwhen you just want a quick check.\n\nFor failed or rejected tasks, `/hydra planner retry [<taskId>]` resets\nthe task to pending and resumes work. With no argument it retries\nevery failed task in the current project.\n\n## Reviews, competitions, distill\n\nThe planner supports a second task kind, `review`, that evaluates the\noutput of a work task before it's considered done. Synthesized reviews\nship with an adversarial-but-honest system prompt: search for the\nspecific way the implementation might be wrong about contracts outside\nthe diff, but if the search turns up nothing of substance, approve.\n\n### Review decisions\n\n| Decision | Effect |\n|----------|--------|\n| `approve` | The reviewed work task transitions to `done`; dependents unblock. |\n| `reject`  | Work task stays pending (or resets per strategy); feedback attaches. |\n| `amend`   | Same as reject, but the reviewer can also supply corrected artifacts. |\n| `fix`     | Orchestrator-lane only — the reviewer patches artifacts in-place. |\n\n### Review lanes\n\nReviews run on one of two lanes:\n\n| Lane | Worker | Can apply fixes? |\n|------|--------|------------------|\n| `orchestrator` (default) | Host session's agent | Yes (`canApplyFixes=true`) |\n| `worker` | Dedicated review worker | No |\n\nOrchestrator-lane reviews stream into your active chat and can apply\nfixes without spawning a new worker. Worker-lane reviews are fully\nisolated — useful when the reviewer should be a different agent.\n\n### `onReject` strategies\n\n| Strategy | Behavior |\n|----------|----------|\n| `fresh` (default) | Reset the task to pending with accumulated feedback; a worker retries from scratch. |\n| `continue` | Keep current state but bump `attemptCount`; the next worker sees feedback and continues. |\n| `escalate` | Spawn a new task targeting a different agent/model (requires `onReject.escalateTo`). |\n\nAll strategies respect `onReject.maxAttempts` (default 3), after which\nthe work task fails with all accumulated feedback attached. The\ndefault can be raised board-wide via `reviewPolicy.maxAttempts` in\n`set_plan`; per-task `onReject.maxAttempts` overrides it.\n\n### Competition pattern\n\nThe competition pattern lets multiple workers tackle the same task in\nparallel; the first review to approve wins and the others are marked\n`superseded`. Useful when you want diverse approaches — e.g., two\nagents independently designing a schema, then a single reviewer picks\nthe best one.\n\n```\n  T1  Design auth schema        —  no deps         ← two workers spawn\n  T2  Review T1                 —  reviews: T1     ← competition review\n  T3  Implement signup          —  depends on T1   ← blocked until T1 done\n```\n\nWith `--compete true`, the decomposer emits multiple parallel work\ntasks for the same dependency and a single competition review that\npicks a winner. Superseded tasks are persisted but don't block\ndependents.\n\n### Distill\n\n`distill` is a task kind that merges N inputs into one source-cited\nreport. It comes in two flavors:\n\n- **Bridge-synthesized** — emitted automatically as the terminal step\n  in a competition flow, merging the per-attempt reviews into one\n  report; `recommended_action` here can mutate state (`apply Tx`\n  picks a winner; `rework` spawns a fix-up task).\n- **User-authored** — declared directly in `set_plan` with a\n  non-empty `reviews` list as the citation domain. Use this for the\n  multi-angle PR review pattern shown above. `recommended_action` is\n  informational only; nothing is superseded and no follow-up task is\n  spawned. Use `noop` when the report is purely informational.\n\nIn both flavors, the distill output is parser-validated for source\ncitations and lands on the distill task's artifacts, visible via\n`get_findings`.\n\n## Setup\n\n### Install\n\nFrom npm (recommended):\n\n```sh\nnpm install -g @hydra-acp/cli @hydra-acp/planner\n```\n\nThis drops the `hydra-acp` CLI plus an `hydra-acp-planner` binary on\nyour PATH. The CLI dispatches `hydra-acp <name>` to any\n`hydra-acp-<name>` binary on PATH, so the planner is also reachable\nas `hydra-acp planner`.\n\nOr from source:\n\n```sh\ngit clone https://github.com/smagnuso/hydra-acp-planner.git ~/dev/hydra-acp/planner\ncd ~/dev/hydra-acp/planner\nnpm install\nnpm run build\n```\n\n### Register as a transformer\n\n```sh\nhydra-acp transformer add hydra-acp-planner\nhydra-acp daemon restart\n```\n\nOr pointed at a local build:\n\n```sh\nhydra-acp transformer add hydra-acp-planner \\\n  --command node \\\n  --args ~/dev/hydra-acp/planner/dist/index.js\nhydra-acp daemon restart\n```\n\nYou do not need to add the planner to `defaultTransformers`. The\nfirst `/hydra planner` invocation (or first MCP tool call) installs\nthe planner into the session it was invoked from via\n`hydra-acp/transformer/attach`. Sessions where you never invoke the\nplanner stay free of its intercepts entirely.\n\n## Reference\n\n### Slash commands\n\nThese are the direct-invocation forms. In conversational use your\nagent calls the equivalent MCP tools (next subsection).\n\n| Command | Effect |\n|---------|--------|\n| `/hydra planner create [flags] <description>` | Form a plan from `<description>` and stop — no workers spawned. Iterate by re-running `create`; commit with `start`. |\n| `/hydra planner start [flags]` | Run the current ready plan. If no plan exists, decompose from conversation and run in one step. |\n| `/hydra planner status` | One-shot snapshot of the current session's board. |\n| `/hydra planner findings [<taskId>]` | Human-readable view of failures, review verdicts that asked for fixes, and worker-captured follow-ups. With no arg shows everything; with a taskId shows the full block for that task. |\n| `/hydra planner continue` | Open the live view on this session's running project. |\n| `/hydra planner add <description>` | Slot a new task into the current project. |\n| `/hydra planner retry [<taskId>]` | Reset a task to pending and resume work. No arg = retry all failed tasks. |\n| `/hydra planner skip <taskId>` | Mark a task done without running it. |\n| `/hydra planner kill <workerId>` | Close a specific worker session; requeue its task. |\n| `/hydra planner pause` | Stop scheduling new tasks. In-flight workers run to completion. |\n| `/hydra planner resume` | Resume scheduling on a paused project. |\n| `/hydra planner cancel [<projectId>]` | Force-stop the project. Board freezes; sessions are kept for inspection. |\n| `/hydra planner remove [<projectId>]` | Delete the project and close its worker sessions. |\n\n### CLI flags (create / start)\n\nBoth commands accept the same leading flags, which override fleet\ndefaults for the spawned workers.\n\n| Flag | Effect |\n|------|--------|\n| `--workers N` | Cap concurrent workers at N. |\n| `--agent ID` / `--model ID` | Default agent / model for spawned workers. |\n| `--work-agent ID` / `--work-model ID` | Agent / model for work tasks specifically. |\n| `--review-agent ID` / `--review-model ID` | Agent / model for review tasks. |\n| `--review-policy MODE` | Synthesize reviews: `off`, `hints` (default), `all`, `high-only`. |\n| `--override-hint true\\|false` | Synthesize a review even if the agent's hint says skip. |\n| `--compete true\\|false` | Enable the competition pattern in decomposition. |\n| `--review-run-on orchestrator\\|worker` | Default lane for synthesized reviews. |\n| `--attach <path>` | Inline the contents of `<path>` into every worker's prompt. Repeatable. Tilde-expanded. |\n\nExamples:\n\n```text\n/hydra planner create --workers 5 build a todo app with auth\n/hydra planner create --review-policy all --compete true implement the spec in SPEC.md\n/hydra planner start --review-run-on worker --review-agent code-reviewer\n```\n\n### MCP tools\n\nThe tools your agent calls. Names match `src/mcp-tools.ts`.\n\n| Tool | Effect |\n|------|--------|\n| `list_agents`  | List agents available to spawn workers on. |\n| `set_plan`     | Declare or replace the DAG: tasks, deps, kinds, fleetDefaults, reviewPolicy, contractBrief. |\n| `get_plan`     | Read the current plan. |\n| `start`        | Transition the ready plan to running and spawn workers. |\n| `get_status`   | One-shot snapshot of the board. |\n| `get_findings` | Two-call drill-down for failed tasks, review verdicts, follow-ups, and `verified_diff` descriptors. |\n| `add_task`     | Slot a new task into the running project. |\n| `update_task`  | Mutate fields on an existing task. |\n| `retry`        | Reset a task to pending and resume work. |\n| `skip`         | Mark a task done without running it. |\n| `pause`        | Stop scheduling new tasks. |\n| `resume`       | Resume scheduling on a paused project. |\n| `restart`      | Restart a worker session for a task. |\n| `stop`         | Force-stop the project; freeze the board. |\n| `remove`       | Delete the project and close its worker sessions. |\n\n### Hydra-acp CLI\n\nThe CLI inspects the planner's on-disk state without needing the\ndaemon to be up:\n\n```text\nhydra-acp planner                       # list projects (live + recent terminal)\nhydra-acp planner list [--all] [--json]\nhydra-acp planner info <projectId> [--json]\nhydra-acp planner remove <projectId>\n```\n\nThere is no `hydra-acp planner create` CLI form — creation is\nintrinsically tied to a host session.\n\n## Internals\n\nThe planner is a hydra-acp **transformer**: it lives inside the\ndaemon's message pipeline. Slash commands route through it; MCP tool\ncalls route through it; worker spawns go out via\n`hydra-acp/child_session/spawn`.\n\n```\n              hydra-acp daemon\n              ┌──────────────────────────┐\n   /hydra ──► │  message chain           │\n   planner    │   ├─ planner transformer │◄── attaches to orchestrator\n   create     │   └─ ...                 │    session on first invocation\n              │                          │\n              │  spawns child sessions ──┼──► worker session 1 (T1)\n              │  via child_session/spawn │    worker session 2 (T4)\n              │                          │    ...\n              └──────────────────────────┘\n                         │\n                  ~/.hydra-acp/planner/\n                  └─ projects/<id>/\n                       ├─ board.json\n                       └─ orchestrator   ← session id pointer\n```\n\nIf the planner (or the daemon) restarts, it rehydrates non-terminal\nboards from disk, re-attaches to orchestrator sessions when they come\nback live, and resumes any in-flight worker tasks.\n\n### On-disk layout\n\n```\n~/.hydra-acp/planner/\n└── projects/\n    └── proj_a3f9b1.../\n        ├── board.json     # full DAG state, worker pointers, fleet defaults\n        └── orchestrator   # text file: the session id that owns this project\n```\n\n`board.json` is the source of truth; the in-memory state mirrors it\nand writes through on every transition. Sessions referenced by the\nboard live in hydra-acp's own session store, not here.\n\n### Environment\n\nThe planner reads its connection info from env vars injected by the\ndaemon when spawned as a transformer. You don't normally set these\nby hand.\n\n| Env var | Default | Notes |\n|---------|---------|-------|\n| `HYDRA_ACP_TOKEN` | (required) | Bearer token. Injected by the daemon. |\n| `HYDRA_ACP_DAEMON_URL` | `http://127.0.0.1:55514` | HTTP base of the hydra daemon. |\n| `HYDRA_ACP_WS_URL` | derived from `HYDRA_ACP_DAEMON_URL` | WebSocket endpoint. |\n| `HYDRA_ACP_TRANSFORMER_NAME` | (set by daemon) | Presence flips the binary into transformer mode; absence runs the CLI. |\n| `DEBUG` | `false` | Verbose logging. |\n\n### Tests\n\n```sh\nnpm test         # board, decomposition, formatter, task-protocol, smoke\nnpm run lint     # tsc --noEmit\nnpm run build    # tsup → dist/index.js\nnpm run watch    # rebuild on change\n```\n\n## Status\n\nIn active development. Functional for create/start/status/add/skip/\nretry/kill/pause/resume/cancel/remove flows with worker spawning,\ndependency-aware scheduling, reviews, competitions, distill, and\nrestart-rehydration. Rough edges around long-tail error cases; open\nissues at the project repo.\n\n## License\n\nMIT.\n","readmeFilename":"README.md"}