{"_id":"@biroai/agent-events-claude-code","_rev":"8-493ff0370e1eb3232686ad244b80e07c","name":"@biroai/agent-events-claude-code","dist-tags":{"latest":"2026.513.0","canary":"2026.513.0-canary.1"},"versions":{"2026.512.0-canary.0":{"name":"@biroai/agent-events-claude-code","version":"2026.512.0-canary.0","license":"MIT","_id":"@biroai/agent-events-claude-code@2026.512.0-canary.0","maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"homepage":"https://github.com/Tim-ReJet/biro","bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"dist":{"shasum":"fbcd4f5c038359d718e2be3a4b52edb2c32614cc","tarball":"https://registry.npmjs.org/@biroai/agent-events-claude-code/-/agent-events-claude-code-2026.512.0-canary.0.tgz","fileCount":27,"integrity":"sha512-OQQpEbsvKQ5ehUaTTJaLH0EpVrad5KGoLPvqiBuTALy3nsGCMd6GepMnpPPe6IXwi3xfl9YOht88zoiGFaim3Q==","signatures":[{"sig":"MEUCIBGhUDEMqpCDERPyrYoIy7Z3ZBdyfgsgf1XHxf1tfFbiAiEAujhYC6OdBOnbVUe2kEmOWjuWd500f+7Z3BGqaKy5za0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212225},"main":"./dist/index.js","type":"module","_from":"file:biroai-agent-events-claude-code-2026.512.0-canary.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"timreactor","email":"tim@reactorjet.com"},"_resolved":"/private/var/folders/tn/cfqsycsd5k99cmcdx2dbjq_h0000gn/T/a7f803267cbce27ab67a000f17091024/biroai-agent-events-claude-code-2026.512.0-canary.0.tgz","_integrity":"sha512-OQQpEbsvKQ5ehUaTTJaLH0EpVrad5KGoLPvqiBuTALy3nsGCMd6GepMnpPPe6IXwi3xfl9YOht88zoiGFaim3Q==","repository":{"url":"git+https://github.com/Tim-ReJet/biro.git","type":"git","directory":"packages/agent-events-claude-code"},"_npmVersion":"11.12.1","description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","@biroai/agent-events":"2026.512.0-canary.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-events-claude-code_2026.512.0-canary.0_1778564626459_0.7967086624018542","host":"s3://npm-registry-packages-npm-production"}},"2026.512.0-canary.1":{"name":"@biroai/agent-events-claude-code","version":"2026.512.0-canary.1","license":"MIT","_id":"@biroai/agent-events-claude-code@2026.512.0-canary.1","maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"homepage":"https://github.com/Tim-ReJet/biro","bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"dist":{"shasum":"115927dd10e4bb0acfcc609413752e87a5aca45f","tarball":"https://registry.npmjs.org/@biroai/agent-events-claude-code/-/agent-events-claude-code-2026.512.0-canary.1.tgz","fileCount":27,"integrity":"sha512-WNUTPRv1zzt4KTKm4sRxB4a2CkbRhpqBr/7ZFIjegMDVBiMMf9uom2HEfNcVH4Qxw8Hveyob6l8QlwRX0NXlfg==","signatures":[{"sig":"MEQCIGMlZ34Jql2BLQlwfebbblV+GvdFiIuZ3TIR+tAocXhxAiAkcyAhiYplTgnOvjtrfjviUxYEu3/y4/jJP/2GPl9wgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212225},"main":"./dist/index.js","type":"module","_from":"file:biroai-agent-events-claude-code-2026.512.0-canary.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"timreactor","email":"tim@reactorjet.com"},"_resolved":"/private/var/folders/tn/cfqsycsd5k99cmcdx2dbjq_h0000gn/T/13dfa1f0d9c67177fed7b67ef46c424f/biroai-agent-events-claude-code-2026.512.0-canary.1.tgz","_integrity":"sha512-WNUTPRv1zzt4KTKm4sRxB4a2CkbRhpqBr/7ZFIjegMDVBiMMf9uom2HEfNcVH4Qxw8Hveyob6l8QlwRX0NXlfg==","repository":{"url":"git+https://github.com/Tim-ReJet/biro.git","type":"git","directory":"packages/agent-events-claude-code"},"_npmVersion":"11.12.1","description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","@biroai/agent-events":"2026.512.0-canary.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-events-claude-code_2026.512.0-canary.1_1778593591702_0.1477226551017048","host":"s3://npm-registry-packages-npm-production"}},"2026.512.0-canary.2":{"name":"@biroai/agent-events-claude-code","version":"2026.512.0-canary.2","license":"MIT","_id":"@biroai/agent-events-claude-code@2026.512.0-canary.2","maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"homepage":"https://github.com/Tim-ReJet/biro","bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"dist":{"shasum":"17c72cc3e6e04a1203667f1683f144f7a22ba5d2","tarball":"https://registry.npmjs.org/@biroai/agent-events-claude-code/-/agent-events-claude-code-2026.512.0-canary.2.tgz","fileCount":27,"integrity":"sha512-bsD20KEHlND4FaXlgJblz1xvRQvtJXfhne5PZdBJ6qIEYO5Ofm1IzCqTcaKhetp+YWpUSICRtYF8Jx9IGpE5QA==","signatures":[{"sig":"MEUCIQDG5pp7laE53HD5DJ56hM0r7+gK6VB7aGmD8Hbk77fcoQIgccM3JtJ6H9SsTYhlAPD08BAiFBBwBbdFCKMoVlMk6Bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212225},"main":"./dist/index.js","type":"module","_from":"file:biroai-agent-events-claude-code-2026.512.0-canary.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"timreactor","email":"tim@reactorjet.com"},"_resolved":"/private/var/folders/tn/cfqsycsd5k99cmcdx2dbjq_h0000gn/T/61eae8d7b7a4f944da1547a6ad3587af/biroai-agent-events-claude-code-2026.512.0-canary.2.tgz","_integrity":"sha512-bsD20KEHlND4FaXlgJblz1xvRQvtJXfhne5PZdBJ6qIEYO5Ofm1IzCqTcaKhetp+YWpUSICRtYF8Jx9IGpE5QA==","repository":{"url":"git+https://github.com/Tim-ReJet/biro.git","type":"git","directory":"packages/agent-events-claude-code"},"_npmVersion":"11.12.1","description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","@biroai/agent-events":"2026.512.0-canary.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-events-claude-code_2026.512.0-canary.2_1778606087934_0.672393985962261","host":"s3://npm-registry-packages-npm-production"}},"2026.512.0-canary.3":{"name":"@biroai/agent-events-claude-code","version":"2026.512.0-canary.3","license":"MIT","_id":"@biroai/agent-events-claude-code@2026.512.0-canary.3","maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"homepage":"https://github.com/Tim-ReJet/biro","bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"dist":{"shasum":"5fb39c0ae28e8689003e1246f3858e67fc350580","tarball":"https://registry.npmjs.org/@biroai/agent-events-claude-code/-/agent-events-claude-code-2026.512.0-canary.3.tgz","fileCount":27,"integrity":"sha512-nqEsVPhB6cY5aSGiSUd+yod/PoygiXSF/RCI+lNHPnTEsC2of84c9KgvkiOciCH5U+V15AgJc+62wZ2rbvBYTQ==","signatures":[{"sig":"MEQCIAbluiJ6gWOixegl6M16OWmrMPELeepSIWvo70o/2QNiAiBsNJILZhj21VY8d31wLOhskhn8sdrfmFH54wi2Mk6Oug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212225},"main":"./dist/index.js","type":"module","_from":"file:biroai-agent-events-claude-code-2026.512.0-canary.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"timreactor","email":"tim@reactorjet.com"},"_resolved":"/private/var/folders/tn/cfqsycsd5k99cmcdx2dbjq_h0000gn/T/384ce0a62a3112a4ff572ee45bec0f46/biroai-agent-events-claude-code-2026.512.0-canary.3.tgz","_integrity":"sha512-nqEsVPhB6cY5aSGiSUd+yod/PoygiXSF/RCI+lNHPnTEsC2of84c9KgvkiOciCH5U+V15AgJc+62wZ2rbvBYTQ==","repository":{"url":"git+https://github.com/Tim-ReJet/biro.git","type":"git","directory":"packages/agent-events-claude-code"},"_npmVersion":"11.12.1","description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","@biroai/agent-events":"2026.512.0-canary.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-events-claude-code_2026.512.0-canary.3_1778607884635_0.4080532055933892","host":"s3://npm-registry-packages-npm-production"}},"2026.512.0-canary.4":{"name":"@biroai/agent-events-claude-code","version":"2026.512.0-canary.4","license":"MIT","_id":"@biroai/agent-events-claude-code@2026.512.0-canary.4","maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"homepage":"https://github.com/Tim-ReJet/biro","bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"dist":{"shasum":"ccca87517165565b9637428fdf3c0f9a3173907e","tarball":"https://registry.npmjs.org/@biroai/agent-events-claude-code/-/agent-events-claude-code-2026.512.0-canary.4.tgz","fileCount":27,"integrity":"sha512-o1/5uBTmghkp9AyX3D4HdjNeNV377Hwj6ObiTh3LRsBdcSM/mUJL1wk1MBUQhfwh/8WhOO7IY2+t8bYmp4qezg==","signatures":[{"sig":"MEYCIQD9pIEA7n+CxeekoCmlytlgz3x3xOuwHL4zT6FyKRPgMgIhAJs2tAOSlb9UPtMPKR4KCjUgkS7FjXFSgVr1hIo2i2AL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212225},"main":"./dist/index.js","type":"module","_from":"file:biroai-agent-events-claude-code-2026.512.0-canary.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"timreactor","email":"tim@reactorjet.com"},"_resolved":"/private/var/folders/tn/cfqsycsd5k99cmcdx2dbjq_h0000gn/T/49d958d4062a1e2815e62e579480294b/biroai-agent-events-claude-code-2026.512.0-canary.4.tgz","_integrity":"sha512-o1/5uBTmghkp9AyX3D4HdjNeNV377Hwj6ObiTh3LRsBdcSM/mUJL1wk1MBUQhfwh/8WhOO7IY2+t8bYmp4qezg==","repository":{"url":"git+https://github.com/Tim-ReJet/biro.git","type":"git","directory":"packages/agent-events-claude-code"},"_npmVersion":"11.12.1","description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","@biroai/agent-events":"2026.512.0-canary.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-events-claude-code_2026.512.0-canary.4_1778609864735_0.2982362248083694","host":"s3://npm-registry-packages-npm-production"}},"2026.513.0-canary.0":{"name":"@biroai/agent-events-claude-code","version":"2026.513.0-canary.0","license":"MIT","_id":"@biroai/agent-events-claude-code@2026.513.0-canary.0","maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"homepage":"https://github.com/Tim-ReJet/biro","bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"dist":{"shasum":"2e5e4ebd7bec6f32ab4b5dc9696b1df622cacdc3","tarball":"https://registry.npmjs.org/@biroai/agent-events-claude-code/-/agent-events-claude-code-2026.513.0-canary.0.tgz","fileCount":27,"integrity":"sha512-2AP4NXwM0a6KqoIAnDLpWifShELTp2S8CGJTh95F5sOSR1cF6JVjzrjsIolLWP0Il3fIh9TVYvnh6WZFD6wWGQ==","signatures":[{"sig":"MEQCIBiGvBOD8RIlWJLyNdUqQwFpEHBX0YWnV5C/SjOW70EBAiArewAowe1X9OLIcgZ7Euw2uY2H5bpUsFTu7P7hWMtz8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212225},"main":"./dist/index.js","type":"module","_from":"file:biroai-agent-events-claude-code-2026.513.0-canary.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"timreactor","email":"tim@reactorjet.com"},"_resolved":"/private/var/folders/tn/cfqsycsd5k99cmcdx2dbjq_h0000gn/T/b12a01cae3114a301a7665ae4865336e/biroai-agent-events-claude-code-2026.513.0-canary.0.tgz","_integrity":"sha512-2AP4NXwM0a6KqoIAnDLpWifShELTp2S8CGJTh95F5sOSR1cF6JVjzrjsIolLWP0Il3fIh9TVYvnh6WZFD6wWGQ==","repository":{"url":"git+https://github.com/Tim-ReJet/biro.git","type":"git","directory":"packages/agent-events-claude-code"},"_npmVersion":"11.12.1","description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","@biroai/agent-events":"2026.513.0-canary.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-events-claude-code_2026.513.0-canary.0_1778636331876_0.03594738278202425","host":"s3://npm-registry-packages-npm-production"}},"2026.513.0-canary.1":{"name":"@biroai/agent-events-claude-code","version":"2026.513.0-canary.1","license":"MIT","_id":"@biroai/agent-events-claude-code@2026.513.0-canary.1","maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"homepage":"https://github.com/Tim-ReJet/biro","bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"dist":{"shasum":"28264e72000e6e0327f01fab3fe24ea43da1ab04","tarball":"https://registry.npmjs.org/@biroai/agent-events-claude-code/-/agent-events-claude-code-2026.513.0-canary.1.tgz","fileCount":27,"integrity":"sha512-3Uj56huN9Ygi1CN/3Z0CzLuA33INF+QsdBxhaUrNrp/ZG7J9DvOJMN/5YD2+2Anss2eO3WW+7s89xuVGlLRnxA==","signatures":[{"sig":"MEQCIBA9sMsJl0YVJXwUMn+95ggICbV2OuUBajk2BJM2lgQ4AiBPXS4Lu1KlErrisKJPx57ofdpmzAg6GvXUogTtjdpD/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212225},"main":"./dist/index.js","type":"module","_from":"file:biroai-agent-events-claude-code-2026.513.0-canary.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"timreactor","email":"tim@reactorjet.com"},"_resolved":"/private/var/folders/tn/cfqsycsd5k99cmcdx2dbjq_h0000gn/T/1895ad304af97ddd74c88620b304e312/biroai-agent-events-claude-code-2026.513.0-canary.1.tgz","_integrity":"sha512-3Uj56huN9Ygi1CN/3Z0CzLuA33INF+QsdBxhaUrNrp/ZG7J9DvOJMN/5YD2+2Anss2eO3WW+7s89xuVGlLRnxA==","repository":{"url":"git+https://github.com/Tim-ReJet/biro.git","type":"git","directory":"packages/agent-events-claude-code"},"_npmVersion":"11.12.1","description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.24.2","@biroai/agent-events":"2026.513.0-canary.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.0.5","typescript":"^5.7.3","@types/node":"^24.6.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-events-claude-code_2026.513.0-canary.1_1778657844231_0.23410906688335875","host":"s3://npm-registry-packages-npm-production"}},"2026.513.0":{"name":"@biroai/agent-events-claude-code","version":"2026.513.0","license":"MIT","homepage":"https://github.com/Tim-ReJet/biro","bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"repository":{"type":"git","url":"git+https://github.com/Tim-ReJet/biro.git","directory":"packages/agent-events-claude-code"},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"dependencies":{"@biroai/agent-events":"2026.513.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^24.6.0","typescript":"^5.7.3","vitest":"^3.0.5"},"scripts":{"build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test":"vitest run"},"main":"./dist/index.js","types":"./dist/index.d.ts","_id":"@biroai/agent-events-claude-code@2026.513.0","description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","_integrity":"sha512-HVktiQj6JBXvj/KJhZPkZm+WDn0bvIrjIKpGULZmUd4lQUxwtho2n0tB/ocdSAr7hItLiUUvQZCKbP/0b1C2RA==","_resolved":"/private/var/folders/tn/cfqsycsd5k99cmcdx2dbjq_h0000gn/T/94b9aa1b1553e5efc668f53983ef4418/biroai-agent-events-claude-code-2026.513.0.tgz","_from":"file:biroai-agent-events-claude-code-2026.513.0.tgz","_nodeVersion":"24.14.1","_npmVersion":"11.12.1","dist":{"integrity":"sha512-HVktiQj6JBXvj/KJhZPkZm+WDn0bvIrjIKpGULZmUd4lQUxwtho2n0tB/ocdSAr7hItLiUUvQZCKbP/0b1C2RA==","shasum":"79121695c2f6267223e021785e678cd09fd592e2","tarball":"https://registry.npmjs.org/@biroai/agent-events-claude-code/-/agent-events-claude-code-2026.513.0.tgz","fileCount":27,"unpackedSize":212207,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDTwRcPvH65hublTMw70shueuOWV8ZaLaXsRa5GU2ZHdAiEA/apWHNC1YBaOU+PxyoAZ2B4Q5arTS2RQa3vyfhm0c80="}]},"_npmUser":{"name":"timreactor","email":"tim@reactorjet.com"},"directories":{},"maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-events-claude-code_2026.513.0_1778658564104_0.4688931122393831"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T05:43:46.361Z","modified":"2026-05-13T07:49:24.415Z","2026.512.0-canary.0":"2026-05-12T05:43:46.610Z","2026.512.0-canary.1":"2026-05-12T13:46:31.839Z","2026.512.0-canary.2":"2026-05-12T17:14:48.082Z","2026.512.0-canary.3":"2026-05-12T17:44:44.806Z","2026.512.0-canary.4":"2026-05-12T18:17:44.889Z","2026.513.0-canary.0":"2026-05-13T01:38:52.010Z","2026.513.0-canary.1":"2026-05-13T07:37:24.416Z","2026.513.0":"2026-05-13T07:49:24.267Z"},"bugs":{"url":"https://github.com/Tim-ReJet/biro/issues"},"license":"MIT","homepage":"https://github.com/Tim-ReJet/biro","repository":{"type":"git","url":"git+https://github.com/Tim-ReJet/biro.git","directory":"packages/agent-events-claude-code"},"description":"**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.","maintainers":[{"name":"timreactor","email":"tim@reactorjet.com"}],"readme":"# @biroai/agent-events-claude-code\n\n**P1.2** from `ROADMAP-NEXT.md` — the first runtime adapter for the Biro universal agent event bus.\n\nParses Claude Code `--output-format stream-json` NDJSON events and emits\nnormalized `BiroAgentEvent` objects from `@biroai/agent-events`. Pure: no I/O,\nno subprocess management, no Anthropic SDK dependency — input is an event\nobject or async line stream, output is validated schema events.\n\n## Usage\n\n### Per-line (sync)\n\n```ts\nimport { parseClaudeStreamLine, translateClaudeEvent } from \"@biroai/agent-events-claude-code\";\nimport { randomUUID } from \"node:crypto\";\n\nconst ctx = {\n  companyId: \"co-abc\",\n  agentId: \"agent-xyz\",\n  issueId: null,\n  generateEventId: () => randomUUID(),\n  inFlightTools: new Map(), // reuse across lines for durationMs tracking\n};\n\nfor (const line of rawLines) {\n  const raw = parseClaudeStreamLine(line);\n  if (!raw) continue;\n  const events = translateClaudeEvent(raw, ctx);\n  for (const ev of events) {\n    // ev is a validated BiroAgentEvent — safe to persist or broadcast\n    console.log(ev.type, ev.eventId);\n  }\n}\n```\n\n### Async streaming\n\n```ts\nimport { translateClaudeStream } from \"@biroai/agent-events-claude-code\";\nimport { createInterface } from \"node:readline\";\nimport { randomUUID } from \"node:crypto\";\n\nasync function processStream(readable: NodeJS.ReadableStream) {\n  const rl = createInterface({ input: readable, crlfDelay: Infinity });\n  const ctx = { companyId: \"co-abc\", agentId: \"agent-xyz\", issueId: null, generateEventId: randomUUID };\n\n  for await (const ev of translateClaudeStream(rl, ctx)) {\n    await persistEvent(ev); // your downstream\n  }\n}\n```\n\n## Event type coverage\n\n| Raw event | Emitted BiroAgentEvent(s) |\n|-----------|--------------------------|\n| `system/init` | `agent.session.started` |\n| `assistant` (tool_use blocks) | `agent.tool.requested` × N |\n| `assistant` (Task tool) | `agent.tool.requested` + `agent.subagent.spawned` |\n| `assistant` (any content) | `agent.turn.completed` |\n| `user` (tool_result blocks) | `agent.tool.completed` × N |\n| `result` | `agent.session.ended` |\n| `system/compact_summary` or `compact_boundary` | `agent.compacted` |\n| Unknown types | _(empty — dropped silently)_ |\n\n## Pointer\n\nSchema types and Zod validators: [`@biroai/agent-events`](../agent-events/README.md)\n\n## Limitations\n\n- **`agent.subagent.completed` is not emitted.** Correlating a `Task` tool result back to the sub-agent's session would require cross-stream state that belongs upstream of this package.\n- **`durationMs` on `agent.tool.completed`** is wall-clock from translation time (not tool execution start), because stream-json tool_use blocks carry no timestamp. Pass a shared `inFlightTools` map across lines to get a reasonable approximation; without it, `durationMs` is 0.\n- **`toolName` on `agent.tool.completed`** is populated with the `tool_use_id` because `tool_result` blocks do not repeat the tool name. Downstream consumers can join on `toolUseId`.\n\n## Schema TODOs\n\n- **Compaction event shape is not fully documented** as of 2026-05. Fields `tokens_before`, `tokens_after`, and `summary` are inferred from community observation for `compact_summary`; `compact_boundary` appears to carry no token data. Both default to 0 when absent. See comment in `src/translate.ts`.\n- **`agent.subagent.completed`** exists in `@biroai/agent-events` but is not emitted here. The wire format would require the parent to track `tool_use_id → sub-session` mapping across event boundaries.\n","readmeFilename":"README.md"}