{"_id":"@markwylde/all-your-agents","_rev":"12-2e4d3c815ba96f2061213c8f96c876e5","name":"@markwylde/all-your-agents","dist-tags":{"latest":"1.4.3"},"versions":{"1.0.1":{"name":"@markwylde/all-your-agents","version":"1.0.1","keywords":["agents","claude-code","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.0.1","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"eedb51fcf5a544688fc5c207eefdbbb6c5461c2f","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.0.1.tgz","fileCount":172,"integrity":"sha512-WDRqHBqDCZ0oQqI1jJG4gm/Ee+NDn/QITrn6QKP0J+psoR0rILBWRs8ln2Y8LAeKDrk7QiH5oRoKvuWfDTkt0w==","signatures":[{"sig":"MEUCIQC5HKAouERnppDIsnmnRQq09fB6qynRVb8/p0u1cjrK5QIgFI82TAHjOYj87dNh71H7HAeZ+MnCBgmtPWFmD/fsfH0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518188},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"markwylde","email":"me@markwylde.co.uk"},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.9.0","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.0.1_1789671822061_0.7695079684577457","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@markwylde/all-your-agents","version":"1.1.0","keywords":["agents","claude-code","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.1.0","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"5e2730fde1c1619d845cbc62e5142249e31f5e9f","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.1.0.tgz","fileCount":172,"integrity":"sha512-nkXICGdU58aqokYtnZSCvR7eZ1XZXp6M/NlC4W5JgAQZl+3IfpBgYgaBmE7vaDcrYsRt8Xf78k0FwMAkYuKgtw==","signatures":[{"sig":"MEUCIFMTJDUTFV12GV152G+sAIE7pmhn+ud8Qf6QUUxtmlG2AiEAxXbNlRXosQ3gfugc/YG/mkFsc6O9PNNadT1r7xelOjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAVQlB93Cki/fbsEhLZf0Auqy3DG1+kPYhz2xFKGsknrAiA2auJKj3h39u7/fmimoe+0ZaxhSBXyr0uz29PTU49N6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":518188},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"9ab8e5a70b3bbbf7387697c1ee442528b7cf686a","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.1.0_1789672276004_0.8822706527929778","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@markwylde/all-your-agents","version":"1.2.0","keywords":["agents","claude-code","grok","grok-build","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.2.0","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"b003a0e8fccfe9ce7bf0a8198914ca787bcbb61c","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.2.0.tgz","fileCount":216,"integrity":"sha512-udPi+8OW/1nzzxwkKOLnAn1JSkX56gVOCpabMFYxVVZIW1QG1IE58Agd/ko/7NHjzttZEak9xSA9EkPE89bmjw==","signatures":[{"sig":"MEYCIQCwd3G+e7qcbSED54FqZkToLzAFe2zKD+KVxi2ssgO18wIhAM5LIhNuwf5/0BaPUi8gzbG3OCGbld0hADpZssWxir2R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCa29OGq7gSU01gUV6DfA8HVEPzL4AJZ8Rez5h+KapPpQIgDfCY7R+x2zRBa2pzDn81o5LDviqoB+o+WmeqNAROxxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":680213},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"ad010466b5fa77abed46fd2c558fe70aa2dd4df0","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.2.0_1789748927271_0.7627392845088132","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@markwylde/all-your-agents","version":"1.3.0","keywords":["agents","claude-code","codex","grok","grok-build","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.3.0","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"2f951d97d7a14d70c86523668c1f5a5691478f86","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.3.0.tgz","fileCount":264,"integrity":"sha512-ZpY9jNRmNcXy4JLW692bL00BDF1nSehtiPChUOs+oIsictLi+O0tm1e69MdYiPLFj9wlkeBiwhCSzYvmFo3cwA==","signatures":[{"sig":"MEYCIQCrl8wjuXTIW3+P7+n+dS1+4sI8FKwWeUxm2XuyeBlKGgIhANIRxsJscuNjaWwv2R45/aWym+RBE4CDvTACEorBw98S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHS+ltJdkbABfufLd7LUcmeQx/zI6rMei3JU7cK/fQA3AiEA7XHstpIraxAcuxliToQ0xsExC068203k4HLVDT9A6xU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":865505},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"d71bc576cc18d4781926a8470dedfe51f9a91334","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.3.0_1789768359106_0.39542865148052275","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@markwylde/all-your-agents","version":"1.3.1","keywords":["agents","claude-code","codex","grok","grok-build","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.3.1","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"3bd8a98d5dfb4226ca91a161e42a323b8a577638","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.3.1.tgz","fileCount":268,"integrity":"sha512-iOmfOogJqxF2pnCNGrHsrqfKU6EhpYp7T33rOCraRLopecTs9w1E2pCepG2hf5nEbzbfOY4C+MM1JBpSc/rU5Q==","signatures":[{"sig":"MEUCIQCmjNTGZ7ogO17uRzKQT6PDZ5x1BDj2V9Ev1SwjRt4p3AIgHDPR0CZxmip17XXLp2XPE8E3l13LiIGx+vcfuh81Kbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDrQiMaQfmNATK8D83hAcdT+IbsX0kt5wB8GaMAB4X0rAiB+6zb63IQ/PHYNMjK/ILlke+8EbWcLKisRajI9qOQpyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":880814},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"bf9263aa54915602c217b7c2b8b3f820d58d1bea","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.3.1_1789771264087_0.8178146133303024","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@markwylde/all-your-agents","version":"1.3.2","keywords":["agents","claude-code","codex","grok","grok-build","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.3.2","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"09c98751a46780d26abb0f0b7299421e0fcafe61","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.3.2.tgz","fileCount":268,"integrity":"sha512-J9KzaSTZ8Wivr0y0TBCF+Styyvx5xwrS2x/1wAfqmvySl9LJL5NlPp3LvrEtFW6had9GlhI0zeHSXI23byjuqA==","signatures":[{"sig":"MEQCIGcyZQYtgJT7nruQbIIcT5A4V1976eUFciceWQNMOXj+AiB0IgQrQYgZq4dJsuQ2g7siyAtvweTiWsx1+vDaMZmbPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDtDetDzvqlEvPm4VaRxsKikfnMJenBhL6ozPtwaFkvjAiEA6oOtsFIu/A6r78XBCfiB78oNyxY2riFh8nVsn+p41ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":886477},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"3241622d12a2da8bb12b4504fbabe7f49f9de4d0","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.3.2_1789772141043_0.009694901462790728","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@markwylde/all-your-agents","version":"1.3.3","keywords":["agents","claude-code","codex","grok","grok-build","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.3.3","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"8290416ba247d2226690071622a2754764aed731","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.3.3.tgz","fileCount":269,"integrity":"sha512-XWhXFw/fUZNI9gLC/qLPM3P3f3v1PNQ/wOwKUn8Hg+MUR3AT4qprYzVUh+V532JZvOOaIhidNcyUXyrGPnbkrQ==","signatures":[{"sig":"MEQCIAr196D8L2LOi96BZCRwnscia8mi6Eoj/rhFmZzftgZcAiBm8xrM68GmOvqfXgQ0GovW73v+gawwlohMHDJSD/cNQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF67xthM+utAs7HDBct0QIqNd+SeTzdqXFrUPToBxDPIAiA8Ypg5561t5/VjuMN9U4WDdmdDLU/grhWh8OPorkBrjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":892878},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"8fd38eb1e4d9b541eb0cdd657ea9a182a5ea1dd4","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.3.3_1789801211397_0.6889394955790686","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@markwylde/all-your-agents","version":"1.3.4","keywords":["agents","claude-code","codex","grok","grok-build","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.3.4","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"523e7012a8558a1b47e0035e7db4ecf8f8e6bd16","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.3.4.tgz","fileCount":269,"integrity":"sha512-lBFj/KD4ZPa+VGIgUQl1S2z9uYSpPFzm/hUqPYyspMfBORuOFjWeS2Wc1Y8xjOqQFNyMVAvr+67A5A9WT502yQ==","signatures":[{"sig":"MEUCIAzYkQvivVQvXYzXjLpGW/Wa0pWJBeqENfPG7ghL4qcOAiEAtGN2i+GOYI32l7a0kG/2sqMLx1PxgDQgFtavXswWrfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDHmOjQyYgG7dx8aH4q7gtSFHRewwioTPc0g7LT0kdl6wIgMZx7NPTnAF8vn/xz4H6cNGz/E8TiSDs+oVR3vXmjl0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":899025},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"8c65d3a01012bbabb2c76902918cde2f84d4440f","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.3.4_1789808134519_0.5674219609645346","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@markwylde/all-your-agents","version":"1.4.0","keywords":["agents","claude-code","codex","grok","grok-build","oh-my-pi","omp","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.4.0","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"14296609b54ded100a9c882726264a1c0489cfe3","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.4.0.tgz","fileCount":328,"integrity":"sha512-bJuhKgMCE/+x90DmUWVpd+VMs3tcqseLZ+L8z2xRmr7DqQ0ESz6p0pGfs2TXmHm8gEp8/9op+RrpS21USx82NQ==","signatures":[{"sig":"MEQCICxq+FeD/pP15BrSKV9aAQZkdcbMLx+FPoubc1WEcoVqAiAtxCwMMiRbnmDbDIA6TyPSlVPDAbegNKUQSCqGeNcu3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC5bB9A9Po2sH1iwJyiQEVvLRhsv5I3Ngh5+JRoDr42wwIgZ4BTSY9PTHRAc4fT2AkJaMlT592BlfV9CIsm6ruEQTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1134330},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"a6cb327afb494929536cea3140d3c6c4dc7d6a53","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.4.0_1789812578492_0.6140632966884221","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@markwylde/all-your-agents","version":"1.4.1","keywords":["agents","claude-code","codex","grok","grok-build","oh-my-pi","omp","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.4.1","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"e72e9fa34709a0d896745d5f95922697102c3b4b","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.4.1.tgz","fileCount":333,"integrity":"sha512-QFNzVgV9YfTfwJ+f8C1gO4EfJvvARS7cbbIDZWACinBrvYrVPKw+//7+80KxwZ9sh5ZqBlS5evvNvT52qhP7Ug==","signatures":[{"sig":"MEUCIQDIMBzXjV91IwErHXiaepJbx5oBDvjeHs8k94fcMTWMVAIgcxWzn+RBNOfJTjbPkR8AK6p18Fl4o8mVogv8ZEXvDWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICJW2U6f/SAOFqgHMQbNoBQGvDcBOt3cK5cPtAnnbGxyAiEAw2YpLc7/sefFNYXKeiknOMJPRrf9IyD6qIkEDF7be9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1176439},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"345d3a9774587df8699084bac19d7f3549537c18","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.9.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.4.1_1789858054460_0.904047308615304","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@markwylde/all-your-agents","version":"1.4.2","keywords":["agents","claude-code","codex","grok","grok-build","oh-my-pi","omp","sessions"],"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","_id":"@markwylde/all-your-agents@1.4.2","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"homepage":"https://github.com/markwylde/all-your-agents#readme","bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"bin":{"all-your-agents":"dist/cli/main.js"},"dist":{"shasum":"e26ec82bc30057a0a1795eeec5faec0a0f6a0759","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.4.2.tgz","fileCount":333,"integrity":"sha512-N9enoJK1mUateGHVVHzbEyfwzee0uY3nRa8K4DTT6OCmsd8hoNJgWJJyauuoJfiPSjQ1w5hcJhtwbYbVIeUtAA==","signatures":[{"sig":"MEUCIEK0ZUroFu29rx0rYInW4On6x5vkSt482Sbbh1clT5r4AiEA7kYAErm1/Pz2P9PzwYv12PaOdsYUtamE9K5LGcMrbSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDUQbp81y/H3P+w4s0boG/COB0EDa9I4XPEBieEd3jg1gIhALZdrlah/aN31Wo1jplZGygpxyeK80Bu+25JoXjLaatm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1178945},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"d734b3d4e270e49ca389a3e6761b84024c35f154","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:system":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test/helpers -name '*.test.js')","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c856570d-9a14-42f2-8631-481e4a559fbd"}},"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"_nodeVersion":"26.10.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/all-your-agents_1.4.2_1790145008397_0.13264550438921163","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"_id":"@markwylde/all-your-agents@1.4.3","bin":{"all-your-agents":"dist/cli/main.js"},"bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"dist":{"shasum":"5e0b82f86d42c78b6025a57847812159bfb0fb11","tarball":"https://registry.npmjs.org/@markwylde/all-your-agents/-/all-your-agents-1.4.3.tgz","fileCount":333,"integrity":"sha512-UPViau7lb/JF2RrPv05eoPkHG2ayFrW2GFaVgQuiJKSJdQM3aLjUe53+WVyV6Ra74YNnNy0nrgOtydOCyTg1cg==","signatures":[{"sig":"MEYCIQCC6iyD9/DVO74fUd9Kr83qwJVP7EAlUxvpGSE/YcYsTgIhAO4eeBpFJ0KZjAWRN4X/aCIq+pVjqLzrOZ1EySBqI+7x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICIjawTQ76Ld43sooaVFaTCffIlWM6y0CUdfpcKuUH3bAiEAsm5Y5glB0JY40uodFBwvA2g6h4en0di649QpKtZrnmU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@markwylde%2fall-your-agents@1.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1180778},"main":"./dist/index.js","name":"@markwylde/all-your-agents","type":"module","types":"./dist/index.d.ts","author":{"name":"Mark Wylde"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","import":"./dist/testing/index.js"}},"gitHead":"270071098afed08f3473e065c6b75d6e5f644632","license":"AGPL-3.0-or-later","scripts":{"lint":"biome check . && node scripts/check-no-interval.mjs","test":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test -name '*.test.js')","build":"tsc -p tsconfig.json","prepack":"npm run build","test:e2e":"tsc -p tsconfig.test.json && node scripts/run-e2e.mjs","test:system":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && node --test --test-force-exit --test-timeout=60000 $(find dist-test/test/helpers -name '*.test.js')","test:coverage":"tsc -p tsconfig.json && tsc -p tsconfig.test.json && tsc -p tsconfig.types.json && c8 --src src --all --exclude src/testing/** --exclude src/helpers/process-watch-worker.ts --reporter=text --reporter=text-summary --reporter=html node --test $(find dist-test/test -name '*.test.js')"},"version":"1.4.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"c856570d-9a14-42f2-8631-481e4a559fbd"}},"homepage":"https://github.com/markwylde/all-your-agents#readme","keywords":["agents","claude-code","codex","grok","grok-build","oh-my-pi","omp","sessions"],"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"_npmVersion":"11.19.1","description":"Event-driven, harness-neutral API for live coding-agent sessions","directories":{},"maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"_nodeVersion":"26.10.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","typescript":"^5.9.2","@types/node":"^24.3.1","@biomejs/biome":"^2.2.4","semantic-release":"^25.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/exec":"^7.1.0","@semantic-release/github":"^12.0.9"},"optionalDependencies":{"koffi":"^2.14.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/all-your-agents_1.4.3_1790945502371_0.6279606156005964"}}},"time":{"created":"2026-09-17T19:03:41.913Z","modified":"2026-10-02T12:51:44.053Z","1.0.1":"2026-09-17T19:03:42.221Z","1.1.0":"2026-09-17T19:11:16.109Z","1.2.0":"2026-09-18T16:28:47.360Z","1.3.0":"2026-09-18T21:52:39.210Z","1.3.1":"2026-09-18T22:41:04.172Z","1.3.2":"2026-09-18T22:55:41.155Z","1.3.3":"2026-09-19T07:00:11.499Z","1.3.4":"2026-09-19T08:55:34.617Z","1.4.0":"2026-09-19T10:09:38.577Z","1.4.1":"2026-09-19T22:47:34.544Z","1.4.2":"2026-09-23T06:30:08.505Z","1.4.3":"2026-10-02T12:51:42.522Z"},"bugs":{"url":"https://github.com/markwylde/all-your-agents/issues"},"author":{"name":"Mark Wylde"},"license":"AGPL-3.0-or-later","homepage":"https://github.com/markwylde/all-your-agents#readme","keywords":["agents","claude-code","codex","grok","grok-build","oh-my-pi","omp","sessions"],"repository":{"url":"git+https://github.com/markwylde/all-your-agents.git","type":"git"},"description":"Event-driven, harness-neutral API for live coding-agent sessions","maintainers":[{"name":"markwylde","email":"me@markwylde.co.uk"}],"readme":"# all-your-agents\n\nWatch every coding agent on this machine, and inspect the sessions they leave behind.\n\n## Compatibility\n\n<img src=\"docs/images/compatibility.svg\" alt=\"Compatibility matrix. Every agent fully supports live detection, status, titles, model, subagents, transcript and history. Partial: Grok Build tools and turn outcome; oh-my-pi waiting-for; print mode on Claude Code, Grok Build and oh-my-pi. None: Codex CLI waiting-for.\" width=\"720\">\n\nSubagents covers start, end, background and nested.\n\n1. `claude -p` writes no live index entry, so a print-mode run appears in history only.\n2. Grok's `tool_started` carries no call id, so the current tool is identified by name. Two tools with the same name running at once show as one.\n3. A failed turn is reported as `failed`, but Grok records no error message for it, so `activity.error` is usually empty.\n4. `grok -p` registers as live only when `GROK_TRACK_HEADLESS` is set. Otherwise it appears in history only.\n5. Codex does not persist approval requests, so a session blocked on an approval reads as `running`. A launched Codex with no prompt yet has no rollout. A `/resume` after watch started appears on its first append. A VS Code thread unloaded without touching another file stays listed until the next event for that pid.\n6. omp writes no transcript until the first reply of a new session ends. That first turn is read from omp's prompt history, which needs SQLite: Node ≥ 22.13, or your own `sqlite` reader. Without it a new session reads `idle` until its transcript appears.\n7. A pending `ask` tool reads `waiting`. Permission approvals never reach disk, so a session blocked on one reads `running` (omp's default approval mode asks for none).\n8. omp names a run after the terminal on its stdin, in print mode too: `omp -p` typed in a terminal is live and reads `interactive`. Piped or detached, it has no terminal and appears in history only. Nothing on disk marks a run `headless`.\n\n## Usage\n\n```ts\nimport AllYourAgents, { builtInProviders } from '@markwylde/all-your-agents';\n\nconst aya = AllYourAgents({\n  providers: [...builtInProviders],\n});\n\naya.on('session:create', (session) => {\n  console.log(session.harness, session.id, session.pid);\n});\n\naya.start();\n```\n\nNo polling, ever ([ADR 0001](docs/adr/0001-never-poll.md)). `start()` watches the files each harness already writes and the processes that write them. Bursts are coalesced per path (about 25 ms quiet, at most 1 s behind). `stop()` drops every file and process watch. On macOS, where opening one `fs.watch` can make the others miss an event, each watch re-checks what it covers once after any watch opens or closes (see the ADR); a custom `fs` can opt in with `onWatchChurn`.\n\n## Install\n\n```sh\nnpm install @markwylde/all-your-agents\n```\n\nNode.js ≥ 20, macOS and Linux. Pass `{ fs, processes }` to observe a remote machine.\n\n## Demos\n\nRun straight from source on Node ≥ 22.18 (no build step):\n\n```sh\nnode ./demo/list.ts          # every session, live and historical, as a table\nnode ./demo/list.ts --live   # only live sessions\nnode ./demo/watch.ts         # stream session events as they happen (Ctrl+C to stop)\n```\n\n## CLI\n\n`all-your-agents` is `top` for coding agents. It lists every live session, puts the ones waiting on you first, and updates as they change. Press `H` for every session on the machine, finished ones included, and `t` to read what any of them said.\n\n```sh\nnpx @markwylde/all-your-agents            # full-screen live view\nnpx @markwylde/all-your-agents --once     # print a table and exit (also when piped)\nnpx @markwylde/all-your-agents --json     # print live sessions as JSON and exit\nnpx @markwylde/all-your-agents --all      # also show sessions that close while it is open\nnpx @markwylde/all-your-agents --history  # start with every session, not only live ones\nnpx @markwylde/all-your-agents --json --history   # every session as JSON, live ones first\n```\n\n| Key | Action |\n| --- | --- |\n| `↑` `↓` / `k` `j`, `Home` `End`, `PgUp` `PgDn` | Move the selection |\n| `Enter` | Details: full title and folder, what it is waiting for, current tool, last error, subagents |\n| `/` | Filter by title, folder, harness, model, or pid. `Esc` clears |\n| `s` `>` / `<`, `r` | Next / previous sort column, reverse |\n| `c` | Show or hide closed sessions |\n| `H` | Show or hide history: every session the providers know, in the same table |\n| `t` | Transcript of the selected session: prompts, replies, tools, outcomes. Follows a live session. `t` or `Esc` closes |\n| `?` `h` | Help |\n| `q` `Ctrl+C` | Quit and restore the terminal |\n\nThe screen redraws only when an agent changes, a key is pressed, or the terminal resizes. History is read once when you press `H`; a transcript is one event stream, closed when you leave it. Times are clock times (`14:31:02`), not ticking durations, so nothing runs on a timer. `NO_COLOR` is honoured.\n\n## Session object\n\nLive sessions have a `pid`. Historical ones do not. `kind` is `interactive` or `headless`.\n\n```ts\nimport type { Session, SessionActivity, Subagent, Turn, SessionEvent } from '@markwylde/all-your-agents';\n```\n\n`session.activity` is the current or last turn (`tool`, `lastTurn`, `error`, `openSubagents`), separate from `status`. `session.subagents()` lists launched subagents. `transcript()` yields `Turn`s; `events()` tails normalized `SessionEvent`s until you stop iterating or call `close()` on it (both work while it is waiting) (`user`, `assistant`, `tool`, `tool-result`, `title`, `turn-end`, `subagent`, `subagent-end`, `error`, `other`). Each item keeps the original record on `raw`.\n\n**Two kinds of waiting.** `status: 'waiting'` means either that the session is blocked on you (a permission prompt, a question), or that its turn is over while a background shell command or monitor it started is still running and will wake it. The second kind always has `waitingFor` `'shell'` or `'monitor'`, so `session.status === 'waiting' && session.waitingFor !== 'shell' && session.waitingFor !== 'monitor'` is \"needs the user\". Such a session is not `idle` until that work ends; its finished turn is on `activity.lastTurn` meanwhile. A background subagent on its own leaves the session `idle` and shows on `subagents()`.\n\n**Title precedence**, highest first: `user` (custom title) > `harness` (generated) > `process` (session-file name) > `prompt` (first real user prompt). `session:update` fires only when the effective title, cwd, or model changes.\n\n## Events\n\n| Event | When |\n| --- | --- |\n| `session:create` | A live process owns a conversation that did not already have a journal. |\n| `session:open` | A live process owns a conversation that already had a journal. |\n| `session:status` | Status changed (`running` \\| `waiting` \\| `idle`). |\n| `session:update` | Effective title, cwd, or model changed. |\n| `session:activity` | `session.activity` changed. |\n| `session:close` | The process no longer holds it. `pid` is unset; history remains. |\n| `subagent:start` / `subagent:end` | A subagent launched or finished. |\n| `ready` | Catch-up from `start()` finished. |\n| `error` | A provider failed (`{ source: 'provider', provider, error }`) or one of your listeners threw (`{ source: 'listener', event, error }`). Never thrown into the library. |\n\nSubscribe before `start()`. Catch-up events carry `{ catchUp: true }`, then `ready`, then `{ catchUp: false }`.\n\nA listener that throws never stops updates. Register an `error` listener to receive the failure; without one it is rethrown asynchronously as an uncaught exception, so it is never lost.\n\n## Query\n\n```ts\naya.running();\nawait aya.sessions({ harness, cwd, live, kind, since });\nawait aya.get(id);\nawait aya.reconcile(pid); // one-shot re-validation; never schedules\n```\n\n`since` is epoch ms matched against `updatedAt` (fallback `startedAt`). `kind` is `interactive` | `headless`. `sessions()` works without `start()`. `transcript()`, `events()` and `subagents()` are always served by the provider named in `session.provider`. Closed sessions stay in memory for the 1000 most recent; older ones come from their provider's history.\n\n## Options\n\n```ts\nAllYourAgents({\n  providers: [...builtInProviders],\n  fs,            // default: local filesystem\n  processes,     // default: local ps/proc + kqueue/pidfd via optional koffi\n  sqlite,        // default: node:sqlite where the runtime has it; `false` for none\n  debounce: { quietMs: 25, maxLatencyMs: 1000 },\n});\n```\n\n`reconcile(pid?)` is for hosts that already know a process exited (a terminal emulator). Without `koffi`, `processes.watch` is `unsupported` and each provider re-validates on the next change to its live index or on `reconcile`.\n\n## Claude Code\n\nProvider id `claude-code`, harness `ClaudeCode`. Home is `$CLAUDE_CONFIG_DIR` if set, otherwise `~/.claude`, overridable via `claudeCode({ home })`.\n\nLive index: `<home>/sessions/<pid>.json`. Journals: `<home>/projects/<encoded-cwd>/<id>.jsonl`. Every non-alphanumeric character in the cwd becomes `-`, so `/Users/me/app/.claude/worktrees/x` is `-Users-me-app--claude-worktrees-x`.\n\nStatus: `busy` → `running`, `waiting` → `waiting`, `shell` → `waiting` with `waitingFor: 'shell'` (the turn ended but a background shell will wake the session), `idle` → `idle`. Unknown words omit `status`. `model` is the model of the latest assistant record in the journal. `.key` files and the messaging socket are never opened.\n\n## Grok Build\n\nProvider id `grok-build`, harness `Grok`. Home is `$GROK_HOME` if set, otherwise `~/.grok`, overridable via `grokBuild({ home })`. All four built-ins are in `builtInProviders`; pass `providers: [claudeCode()]` to watch Claude Code only.\n\nLive index: `<home>/active_sessions.json`, an array of `{ session_id, pid, cwd, opened_at }`. One pid can hold several sessions. `grok -p` registers only when `GROK_TRACK_HEADLESS` is set; otherwise print-mode runs appear in history with `kind` `headless`. Sessions: `<home>/sessions/<encoded-cwd>/<id>/`. The cwd is percent-encoded like Rust `urlencoding` (everything but `A-Za-z0-9-._~`, so `/tmp/foo(bar)!` is `%2Ftmp%2Ffoo%28bar%29%21`); a cwd whose encoding exceeds 255 bytes is found by a one-level lookup for the session id.\n\nStatus comes from `events.jsonl`, Grok's phase log: `waiting_for_model`, `streaming_text`, `streaming_reasoning`, `tool_execution` → `running`; `permission_prompt` → `waiting` (with the tool named by `permission_requested`); no open turn → `idle`, or `waiting` while a background task is still running, with `waitingFor` `monitor` if one of them is a monitor and `shell` otherwise. Those tasks are the only thing read from `updates.jsonl`: its `_x.ai/session/update` rows `background_tasks` and `task_completed`; every other row is skipped unparsed. Unknown phases omit `status`. Titles and `model` come from `summary.json`, the conversation from `chat_history.jsonl`, subagents from `subagents/<id>/meta.json`. `active_sessions.lock`, `*.tmp`, `auth.json` and the session-search sqlite are never opened.\n\n## Codex CLI\n\nProvider id `codex-cli`, harness `Codex`. Home is `$CODEX_HOME` if set, otherwise `~/.codex`, overridable via `codexCli({ home })`. VS Code Codex sessions that share that home are the same provider.\n\nLive sessions are rollout files a process currently has open: `<home>/sessions/YYYY/MM/DD/rollout-<timestamp>-<thread-id>.jsonl`. There is no pid index. Status comes from persisted turn lifecycle events: `task_started` → `running`; `task_complete` / `turn_aborted` → `idle`. Codex does not persist approvals, and has no background work that wakes an ended turn (a unified exec process that outlives its turn is not recorded as running), so `waiting` is never reported. Titles come from `session_index.jsonl` then the first user prompt; the conversation from `response_item` records; subagents from child rollouts with `parent_thread_id`. A compressed `.jsonl.zst` thread is listed only when `session_index.jsonl` has a title for it, so compressed children are not treated as sessions (an unnamed compressed root is omitted). `auth.json`, `state_*.sqlite`, `ipc/`, `process_manager/chat_processes.json` and `history.jsonl` are never opened.\n\nA session does not exist until the first prompt writes a rollout. A resume after watch started appears on the first append. A quietly unloaded VS Code thread stays listed until the next event for that pid.\n\n## oh-my-pi\n\nProvider id `oh-my-pi`, harness `OhMyPi`. Home is `~/.omp` (or `~/$PI_CONFIG_DIR`), overridable via `ohMyPi({ home })`. `PI_CODING_AGENT_DIR` and, once `$XDG_DATA_HOME/omp` / `$XDG_STATE_HOME/omp` exist, the XDG locations are followed as omp follows them. Every named profile under `<home>/profiles/`, or under `$XDG_DATA_HOME/omp/profiles` / `$XDG_STATE_HOME/omp/profiles`, is observed too, and a deleted one closes its sessions. Upstream `pi` (`~/.pi`) is not.\n\nomp keeps a registry in two parts. Each process writes `run/daemons/<project-hash>/clients/<pid>-<uuid>.json` at launch and removes it on a clean exit. Each process on a terminal writes `agent/terminal-sessions/<tty>` naming the session file it is on, rewritten when you switch session (`/new`, `/resume`) and marked `fresh` while that file does not exist yet. The two are joined by the process's controlling terminal, read once per process with `processes.tty(pid)`. A breadcrumb older than the process on its terminal is not that process's, and binds nothing.\n\nTranscripts: `agent/sessions/<encoded-cwd>/<timestamp>_<id>.jsonl`. The directory name is lossy, so `cwd` comes from the header. A session kept elsewhere (`--session notes/work`, `--session-dir`) is found through `agent/custom-session-files/`, and is bound from its breadcrumb once its file exists; omp gives a file not named `*.jsonl` no subagents. Status comes from the last conversation record: a user message, a tool result, or an assistant `stopReason` of `toolUse` → `running`; `stop` / `length` → `idle`; `error` → `idle` with the turn `failed` and its `errorMessage`; `aborted` → `idle`, `interrupted`. With no turn open, a `bash` result that omp backgrounded (`details.async`, `state: running`) makes that `waiting` with `waitingFor` `shell` until an `async-result` message or a later result reports the job; a job left by an earlier process is dropped. A turn omp retries after a provider error starts again without a new prompt. Tools come from `toolCall` blocks and their `toolResult`; titles from `title_change`; `model` from `model_change` and the latest reply. Subagents run inside the parent process and are read from `<session>/<AgentId>.jsonl` (nested ones from `<session>/<Parent>/<Parent>.<Child>.jsonl`): type from `session_init.agent`, done when the child records a successful `yield`, `background` when the `task` result said it spawned them asynchronously. For a finished session, a child whose transcript never says how it ended takes its parent's report of it, else `cancelled`.\n\nOnly the `history` table of `agent/history.db` is read, and only for a session with no transcript yet. `agent.db`, `models.db`, `logs/`, `blobs/` and the `.lock` sidecars are never opened.\n\n## Testing kit\n\n```ts\nimport { defineConformanceTests, createMemoryHarness } from '@markwylde/all-your-agents/testing';\n\nconst { provider, driver } = createMemoryHarness();\ndefineConformanceTests({ name: 'memory', provider, driver });\n```\n\n`createClaudeFixtureDriver(home)`, `createGrokFixtureDriver(home)`, `createCodexFixtureDriver(home)` and `createOmpFixtureDriver(home)` drive the same kit against those providers. A driver's optional `startBackgroundWait` / `endBackgroundWait` steps turn on the background-wait case; leave them out for a harness that records no such work.\n\n## Non-goals\n\nLaunching agents, IPC sockets, inferring status from journals, Windows.\n","readmeFilename":"README.md"}