{"_id":"@cocodrino/bridge-harness-pi","_rev":"19-e18647390a38c6d48eb2f933a1a33230","name":"@cocodrino/bridge-harness-pi","dist-tags":{"latest":"0.3.16"},"versions":{"0.1.0":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.0","keywords":["pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.0","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"dist":{"shasum":"89db00d1137a6b5f5704518fbb9ef1529457f1a3","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.0.tgz","fileCount":3,"integrity":"sha512-EO4NWzhD9dPAZfL0vrHPyMAjr2ebg+JrKIQnUtFACKao76sQUiNC1GrzrfNn+w77Lq85oBiODZotK/0ZQ54aJQ==","signatures":[{"sig":"MEUCIGTi9E7t2ed4ozF+Lqe10zz8WppSmcNc1VgWlGuMEI3rAiEAyKR9Dick++GjH/RS29dJmn6m/kxWnc7mAeOhSHk2hn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7051},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3d0b073dc3f00904b333c13cf535beff00302f23","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.0_1780015914172_0.047085567859528554","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.1","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.1","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"f9b3ee64d701c09853498619eb6e94840612abe1","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.1.tgz","fileCount":3,"integrity":"sha512-+Q6Pwv/IrqbVofsvAyhVQSUjL7QHEmSBQyw+S94n5fC9wEKwKMNuqYpPeL4thzUmAKLkoql/5rCNzJQes8N6YA==","signatures":[{"sig":"MEUCIQDhmeCxsxzQZ9F91Wek+fcEiqbKCNM1V3Fr9O6qxHospgIgC9Tmjc3k7kJZdUt4c9jn4coBax1RpVCcCM7wrpMjCKE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7121},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"38c2caed83d57975c767807e5471a8c76fc6cd47","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.1_1780016646003_0.27204825926687626","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.3","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.3","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7dd3c5f38d271a3b296e01e3e07be7492d7bd9fa","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.3.tgz","fileCount":4,"integrity":"sha512-NsqKsAvSLlX2djCq/6a0PhG+VuY6y+clRQq0ge+/cCv07papz/rrHeUODu/0Uk6/QkdXJul0H5ALG1F93rdowA==","signatures":[{"sig":"MEUCIGQTIFIrYv/PAObuZ1aILe2jWs2aQgEZgEQx6ZOWCxlNAiEAs44uOMOMYUUp5brrTpJzu9X+XBdiU7NTyzh9Ey4GaHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13888},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d3d4976a0b572495c1fbae6d454221b35e1c1a34","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.3_1780018430318_0.6861345261207028","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.4","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.4","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"50ad02e56c4cf6646a6ed403b2231c83ed395912","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.4.tgz","fileCount":4,"integrity":"sha512-vj0+pNHvd9PTjpe/mWRmoF6J8x7V5RMHdZ+e3CfA+UBFDgaqFpgw3Y0sHPyiECK6FKIxtkPt8f9uajtlAa22wg==","signatures":[{"sig":"MEQCIDLea6iYL7ZbGURKbRR9PYYXG+3bcuFrGgoUPPh6aA3tAiA6j9oCrHqDu7xz9i+pwsK6JlcNkON1D6XHMixSaN+/mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13848},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d3d4976a0b572495c1fbae6d454221b35e1c1a34","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.4_1780071947862_0.9889802231888603","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.5","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.5","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"5357e910c2e91606b7c93a43ec92ce02b22d9577","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.5.tgz","fileCount":4,"integrity":"sha512-eJpkxZ7d8dgvUd6bPtK+VFrorIlPg86pU1ZEe0FSF09SpSPkwVKtB2BRt6mw5ztVaZ3DtXK2ny4JSIynP7q7Kw==","signatures":[{"sig":"MEQCIFgCTfc82DTL24ZFKIqSMWL8p32bGe4qh97AOjmKKxWQAiA5EJFSP+3rjfhBi5UvYaijObCe7iuBhh9R752vulYI+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15842},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f5d765443f2a3b2b3676e1bf3739d54af5360f04","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.5_1780105446234_0.7868771315051601","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.6","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.6","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"2f48b897dfa0647d4acc1f75717a74599fc2de47","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.6.tgz","fileCount":4,"integrity":"sha512-7aI4+6I+V1yWSk2ThH++QYM0dtBey0hPof8xofLoen/KjrFDMhyGQiPdEElzIIED9wIYj6AveRrz3Dt6T2YGfA==","signatures":[{"sig":"MEYCIQC3BhE1PmczQOhofDGBPEgyB0EexBTQqaecZRIPjqQ7/AIhANVVMZMI7FfEe0Atkq2SFdOXJ6o+fSwP2FhmZesbV8eb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16775},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"1a86fdeceacb9cde27eedc64a99f20b6d5ccdf93","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.6_1780110049122_0.8389039756018568","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.7","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.7","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"23093c6a59adeeeec0264e6a158de42400c9ae94","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.7.tgz","fileCount":4,"integrity":"sha512-/eAmmbxleSvJuNN6A/sqtsBMlU8aA9cDgEfLfUFNL1G4GaXf6jv5D6TJst7rYgYRBT8D+4kWCc1pVeFKPG95hQ==","signatures":[{"sig":"MEUCIQCMhSKEFkrdi8SQ9oy8/8Eulwn8dMEoZ9ct+P0iac8x1AIgeSlCNfm6DmWUmwhiowoG4vqrRnAkKH+T56/Zfo6/ee8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22660},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"a508575cdca2f82308ee13192c59a686a6768e82","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.7_1782142437600_0.38155413552768747","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.8","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.8","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"10532796d8c3cd3bf334df8a95af266b0c6240e0","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.8.tgz","fileCount":4,"integrity":"sha512-NPY1SeERb2nVEVwN6ZShVV8/dtsxvf1cmPPvZsZN/aE0ezj67jtLreAZTUJhxFrvv5lgRI9qh9zaBd5HJWuG2Q==","signatures":[{"sig":"MEUCIDWjAKy/x6mBYHwhCnpmQ56y9Dcp6djDhiCBAAgy6DkjAiEAviVzqGYinpJa821AQInLpVbe1pmAcDkehrrCt2Unfdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23468},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"1ba9f5454970f0c1c8f833ca4e2c8f2fea9333ad","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.8_1782143556834_0.5437217664659384","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.9","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.9","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"8de03b1d0d964ce83b508ace5bc8f1d8c793eae0","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.9.tgz","fileCount":4,"integrity":"sha512-0ugMyonH6AIFXNdiBZe6GHq7Qwx8Nak0T7YWltb1Dhj3NaUMaKyF/M3no8QaAxS0OuCD6eMCuJJPcBd1Q3E3pA==","signatures":[{"sig":"MEUCIDIFkh08DDWiY3cE1K+FWy3c6LJ3QC8YRIrSXMchfyGEAiEAmyCk8GUQB04dgM7aGoIXUpbKU8uA1IQMnhmhLpAQmVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25137},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"1cf4ae26013bace7e02993d447943d7b1c9c79ee","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.9_1782146869802_0.26966847657787407","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@cocodrino/bridge-harness-pi","version":"0.1.11","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.1.11","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"699f1cfd173332c9300b3c1bd562243790d34e4e","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.1.11.tgz","fileCount":4,"integrity":"sha512-NYHMHWDiJoJtL52pwKFMvqzNs4HJ1XO8x7lVfTU2gDvR3ne4NFQk9UrlKv7/g85JKwM8ElfBOpaM96J+WE1+ZA==","signatures":[{"sig":"MEYCIQDNEl8XonK2jdEpwzd9669ha7FVbeH2ALcxWyci9TxdAwIhAK9HhN9G4Od4zi8zD2E2gFwnTwBdaECOMmPPdY7mSE8M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28004},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d54debb02e44c8af5edfcd873d9bed3e5c966447","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.1.11_1784837949191_0.13528699866522698","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cocodrino/bridge-harness-pi","version":"0.2.1","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.2.1","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7f98c171d0debd15060d7930b1d12b4b5547cff4","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.2.1.tgz","fileCount":4,"integrity":"sha512-g6BxZtCPMFzu6M1LcHBciD06C0RhpSwP5bZkXBGNhwnYSZjdHh2AXAMXRnxTN4ZeayhSoc9+5WMfw8/wu473Cg==","signatures":[{"sig":"MEUCIQDnWkilMRxBEzt6wRX/cI1oxAVOPud7WOboVJMftPTd9gIgCH31MDPrs3kMCbZxGjqxecGN/afJxwcwEJOL5Kihvic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30705},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"5509d29e690c713795013317c9952977e5c25777","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.2.1_1785018070373_0.44454618473820706","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@cocodrino/bridge-harness-pi","version":"0.3.1","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.3.1","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"dddb851ec9fe7a87f432f523f742db4bb6d9b61a","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.3.1.tgz","fileCount":4,"integrity":"sha512-sJn18PMO3CMfA4PEbD9FUG98e4bwBj/47VovfbNFdtDmw4Xr4D7IbO+3kNhyrFdwLy9f/3usyfkiAp23YaLHdQ==","signatures":[{"sig":"MEYCIQDeAvApk4gPGpCD34gNe7T8wkaJnmxJetfgTf4K/w16pwIhAKw6tAYzVyNzEdvfMfhpfMRGguNVRSGov3JUsnrnEFFs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31822},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"9b60ed9e5d4241135ae2ce5113a31fe055053cf5","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.3.1_1785094325501_0.49128230448414323","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@cocodrino/bridge-harness-pi","version":"0.3.2","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.3.2","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a2ab0f93ecd69833afc4c9fefa1705bec3d71e1f","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.3.2.tgz","fileCount":4,"integrity":"sha512-KPSdd6g9R1qJJ17UaqRLLMiLcJRwvmu8eFt23zZiAzLpWsRg77JHPjn9N/r9mRcB/GXZJ59VxrrxRJATN/i4NQ==","signatures":[{"sig":"MEQCIBuiLMLB2UsCtBkndjTSM2HbZ2SXbNZI/p17cXw3icAQAiBo6JfcqtRjNfjbswTXWCvQBHBXxbY9QF6ZHhM6S1mkHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31822},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f082a8b00ee597e9452dcc89adf984b31d80a4bf","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.3.2_1785095505839_0.15483129253387062","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@cocodrino/bridge-harness-pi","version":"0.3.7","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.3.7","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"skills":["./skills"],"extensions":["./src/index.ts"]},"dist":{"shasum":"a658244c5bf971313ac805bd5c9f6871989351ad","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.3.7.tgz","fileCount":5,"integrity":"sha512-RIcWLF++ujP5uoRlpbrl1dWneQBGecPmzDUD0jsPYml8hMAG3ka+0soIc9tXrfilJMHbDvtNMCNpMbvcUx740A==","signatures":[{"sig":"MEQCIHsmysMdIWtiDZ4nHLy/r3Wo+eVS3/94BH47LtFKqu0IAiAO4bsKc9np6LFPFTEHKPa0DlxK1HYcfqAkiC46EiDa8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38111},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"950e11208beaaa6eb069cb35deb608a4354fa93a","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.3.7_1785367446697_0.1017352768108497","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"@cocodrino/bridge-harness-pi","version":"0.3.10","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.3.10","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"skills":["./skills"],"extensions":["./src/index.ts"]},"dist":{"shasum":"189a1681025217b027a88608874cd0e0108bfa88","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.3.10.tgz","fileCount":5,"integrity":"sha512-2rCzMJKyXwc238WwL1ONPZ03++fgfIefidGivOu8/sZMJlIhjvHsh0BQ8OHSPv4SneI+ACkoAB7qapbIY0xk1Q==","signatures":[{"sig":"MEYCIQC2VkpDeuy933+xPedUSv7ofWpHw1fmHB6l5H2IL+N9cgIhAJheGdLGTVG2dXQcqFbemVmlAs7MeXANcyBndDjA8Cdd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41351},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"ce90015e13181519e8efa3687a66d749ecadaebc","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.3.10_1786331866916_0.10032224561116165","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"@cocodrino/bridge-harness-pi","version":"0.3.12","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.3.12","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"skills":["./skills"],"extensions":["./src/index.ts"]},"dist":{"shasum":"a63fe9d2188ae38e3ef10690acb26817a773ce7f","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.3.12.tgz","fileCount":5,"integrity":"sha512-H22OkuJ935w2855yx5lrwNGv3ZGq69LfAlJ0XqQdp7dcerpt9QWAptSqoAB4/ogXgOC9c31YEVsSw52RFh6RMA==","signatures":[{"sig":"MEQCIC9yDtGvxNyk/obfLbF40QaL5Ppg+1ObfudL6cuVz251AiAT/x/q15b3uUPHfed/8AMwGb7N65aRh7HQbQxVMdTmgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43042},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"6ccb70bb797555c6b04ef63f6fe01d261e11b7c9","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.3.12_1786333466250_0.852314512765203","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"@cocodrino/bridge-harness-pi","version":"0.3.13","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.3.13","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"skills":["./skills"],"extensions":["./src/index.ts"]},"dist":{"shasum":"878d7bd20512dfc801f951b9b73af44d7703e114","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.3.13.tgz","fileCount":5,"integrity":"sha512-bockWqRGFleCrtHaHP6BDT73uJFduRrqCDgIcU4K0luKb5guN5rUk9bB0FR32afJaJmIo1O/N5CZiluagu1n9w==","signatures":[{"sig":"MEYCIQCX1LN9NrHzWamZ0jvUPAgl1J35OjTXMIeoB9UULglJvgIhAO0Gm0yNXY/hfmzs8g6xfrm5ViWiHq8zIT74463cgSnw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50692},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"450a72a58f11bdc5853dc432de765dbf980b7b35","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.3.13_1786651661011_0.6084299212650248","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"@cocodrino/bridge-harness-pi","version":"0.3.14","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"author":{"name":"cocodrino"},"license":"MIT","_id":"@cocodrino/bridge-harness-pi@0.3.14","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"homepage":"https://github.com/cocodrino/bridge-harness#readme","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"pi":{"skills":["./skills"],"extensions":["./src/index.ts"]},"dist":{"shasum":"55708953134275ea2d6ac6fe8e05ae4bb9fc60a7","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.3.14.tgz","fileCount":5,"integrity":"sha512-LLXBunERldbx6Dai/i2Ew0gPVoA5qFrGWjh+J21Mhbd3QoMn9lkYz/fkB4zoTrZs1urJwol3P7nRC5625aH/eA==","signatures":[{"sig":"MEYCIQDhARD4memMfyZO+pj6dcirZEz32Zc/tDkSZPRDbSLmdgIhAPWkaMW6OZpZ7PbK6HXFAlCVwiTgjBKnLvcgoCwFGZ3w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51052},"main":"./src/index.ts","type":"module","engines":{"node":">=18.0.0"},"gitHead":"61b05e92f294f0b9654294d14b327b13a12b703b","scripts":{"build":"tsc"},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"repository":{"url":"git+https://github.com/cocodrino/bridge-harness.git","type":"git","directory":"packages/bridge-harness-pi"},"_npmVersion":"11.7.0","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","directories":{},"_nodeVersion":"24.0.1","dependencies":{"nats":"^2.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bridge-harness-pi_0.3.14_1787185322759_0.20172104775980038","host":"s3://npm-registry-packages-npm-production"}},"0.3.16":{"name":"@cocodrino/bridge-harness-pi","version":"0.3.16","description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","type":"module","main":"./src/index.ts","author":{"name":"cocodrino"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/cocodrino/bridge-harness.git","directory":"packages/bridge-harness-pi"},"homepage":"https://github.com/cocodrino/bridge-harness#readme","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"pi":{"extensions":["./src/index.ts"],"skills":["./skills"]},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc"},"dependencies":{"nats":"^2.29.0"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true}},"gitHead":"00aa6335e488586949ee926cc1a543802642da9a","_id":"@cocodrino/bridge-harness-pi@0.3.16","bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"_nodeVersion":"24.0.1","_npmVersion":"11.7.0","dist":{"integrity":"sha512-06Tq2mzMoJ8kbnl8K6lVX0xW9h/F3Fi4gBE5Nv7YO+aOFyKvAIv+92ylf4lrHV+7S/tZMfEy7gOInUKY4fgqJQ==","shasum":"8789d80efdc20d2caea9cd595a0c2b9e7520002a","tarball":"https://registry.npmjs.org/@cocodrino/bridge-harness-pi/-/bridge-harness-pi-0.3.16.tgz","fileCount":5,"unpackedSize":53924,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDG9QJUk/tPSIKFFPXdlbK+Hdz7X+8IUPqoRaGPIY0FNAIhAKr0fJZlOQtMy/GB23NVSS+1sWgQwabgNpyD8Fka3jcz"}]},"_npmUser":{"name":"cocodrino","email":"clagccs@gmail.com"},"directories":{},"maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bridge-harness-pi_0.3.16_1788198711592_0.925656768299773"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T00:51:53.937Z","modified":"2026-08-31T17:51:51.888Z","0.1.0":"2026-05-29T00:51:54.335Z","0.1.1":"2026-05-29T01:04:06.153Z","0.1.3":"2026-05-29T01:33:50.461Z","0.1.4":"2026-05-29T16:25:47.997Z","0.1.5":"2026-05-30T01:44:06.369Z","0.1.6":"2026-05-30T03:00:49.262Z","0.1.7":"2026-06-22T15:33:57.723Z","0.1.8":"2026-06-22T15:52:37.005Z","0.1.9":"2026-06-22T16:47:49.938Z","0.1.11":"2026-07-23T20:19:09.310Z","0.2.1":"2026-07-25T22:21:10.503Z","0.3.1":"2026-07-26T19:32:05.664Z","0.3.2":"2026-07-26T19:51:45.976Z","0.3.7":"2026-07-29T23:24:06.839Z","0.3.10":"2026-08-10T03:17:47.068Z","0.3.12":"2026-08-10T03:44:26.394Z","0.3.13":"2026-08-13T20:07:41.232Z","0.3.14":"2026-08-20T00:22:02.934Z","0.3.16":"2026-08-31T17:51:51.716Z"},"bugs":{"url":"https://github.com/cocodrino/bridge-harness/issues"},"author":{"name":"cocodrino"},"license":"MIT","homepage":"https://github.com/cocodrino/bridge-harness#readme","keywords":["pi-package","pi-agent","claude-code","nats","multi-agent","bridge","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/cocodrino/bridge-harness.git","directory":"packages/bridge-harness-pi"},"description":"Pi coding agent extension for bridge-harness — real-time NATS communication with Claude Code","maintainers":[{"name":"cocodrino","email":"clagccs@gmail.com"}],"readme":"<div align=\"center\">\n\n# 🌉 bridge-harness · Pi Extension\n\n### Real-time messaging between AI coding agents — **no matter the provider.**\n\n**Claude Code ⇄ Pi**, talking to each other live. They ask, they answer, they\ngo back and forth — **on their own**. No files, no copy-paste, no polling.\n\n[![npm version](https://img.shields.io/npm/v/@cocodrino/bridge-harness-pi?color=7c3aed&label=npm&logo=npm)](https://www.npmjs.com/package/@cocodrino/bridge-harness-pi)\n[![built on NATS](https://img.shields.io/badge/transport-NATS.io-27aae1?logo=natsdotio&logoColor=white)](https://nats.io)\n[![license MIT](https://img.shields.io/badge/license-MIT-black)](../../LICENSE)\n[![provider agnostic](https://img.shields.io/badge/provider-agnostic-10b981)](#-why-its-different)\n\n</div>\n\n---\n\n## 💬 See it in action\n\nTwo agents. One conversation. Neither one is a chatbot window — these are **real\ncoding agents** wiring a fix together in real time:\n\n```text\n  ╭─ 🔵 Claude Code ─────────────────────────────────────────────╮\n  │  Pi, review the auth module while I refactor the payments     │\n  │  flow — ping me with anything you find.                       │\n  ╰───────────────────────────────────────────────────────────────╯\n        │\n        ⚡ delivered over NATS · Pi wakes up on its own\n        ▼\n  ╭──────────────────────────────────────────────── 🟣 Pi Agent ─╮\n  │  On it. … Found 2 issues in middleware.ts (lines 42 & 88).    │\n  │  Missing token expiry check + a timing-unsafe compare. Patch? │\n  ╰───────────────────────────────────────────────────────────────╯\n        │\n        ⚡ asyncRewake fires · Claude answers instantly\n        ▼\n  ╭─ 🔵 Claude Code ─────────────────────────────────────────────╮\n  │  Yes please. Send the patch, I'll wire it in and run tests.   │\n  ╰───────────────────────────────────────────────────────────────╯\n        │\n        ▼\n  ╭──────────────────────────────────────────────── 🟣 Pi Agent ─╮\n  │  Sent. 🎯 Tests green on my side too. Nice teamwork.          │\n  ╰───────────────────────────────────────────────────────────────╯\n\n         no files · no copy-paste · no polling · pure real-time\n```\n\nThat whole exchange happened **without you touching the keyboard**. You started\nit; the agents carried it.\n\n---\n\n## ✨ Why it's different\n\n- ⚡ **Real-time.** Messages travel over [NATS](https://nats.io) pub/sub — sub-millisecond, in-process. No inbox to poll, no webhook to wire.\n- 🧠 **Reactive, both ways.** When Claude sends, Pi *wakes up and processes it* (`triggerTurn`). When Pi replies, Claude wakes up too (asyncRewake). It's a genuine back-and-forth loop, not a one-shot.\n- 🔌 **Provider-agnostic.** The transport doesn't care who's behind the agent. Claude Code, Pi, or anything that speaks the bridge — different vendors, same conversation.\n- 🗂️ **No intermediate files.** No shared scratch file, no `/tmp` handoff, no glue script relaying output. Agents address each other directly.\n- 🎯 **Reach anyone by identity.** DM any agent with `agent:<id>` — it works across projects and git worktrees. No matching config, no shared room required.\n- 👋 **They find each other.** Active presence discovery is global — `list_agents` shows everyone online (and their project), and late joiners still see who's already there.\n- 🌐 **Local or remote.** Same machine, same LAN, or a NATS server in the cloud. Point both at the same URL and they connect.\n\n---\n\n## 🔁 The reactive loop\n\n```mermaid\nsequenceDiagram\n    participant C as 🔵 Claude Code\n    participant N as ⚡ NATS bridge\n    participant P as 🟣 Pi Agent\n    C->>N: send \"review the auth module\"\n    N-->>P: deliver — Pi wakes automatically\n    P->>N: send \"found 2 issues, patch?\"\n    N-->>C: deliver — asyncRewake fires\n    C->>N: send \"yes, wiring it in\"\n    N-->>P: deliver\n    Note over C,P: no files · no copy-paste · pure real-time\n```\n\n---\n\n## 🚀 Install\n\n```bash\npi install npm:@cocodrino/bridge-harness-pi\n```\n\nThat's it — Pi loads the extension automatically on the next session start. The package\nalso ships an **`agent-bridge` skill** (declared via `pi.skills`) that Pi picks up on\ninstall — it teaches the agent how to operate the bridge (routing, discovery, `use_bridge`,\nworktree alignment). Trigger it with *\"activa bridge harness\"* or *\"who's connected?\"*.\n\n**Updating to the latest version.** Pi caches the installed package, so pin `@latest`\n(or an explicit version) to force it to fetch the new one, then restart the session:\n\n```bash\npi install npm:@cocodrino/bridge-harness-pi@latest\n# or a specific version:  pi install npm:@cocodrino/bridge-harness-pi@0.3.0\n```\n\n> **Prerequisite:** a local NATS server **with JetStream** (needed for DM durability).\n> `brew install nats-server && nats-server -js &`\n\nPairing with the Claude Code side (the other half of the bridge):\n\n```bash\nnpm install -g @cocodrino/bridge-harness@latest\nbridge-harness-setup      # registers the MCP server + reactive hook\n```\n\nOnce both are running, the bridge is live. **Say the word and they'll talk.**\n\n---\n\n## 🛠️ The `agent_bridge` tool\n\nPi gets one tool with everything it needs to join the conversation:\n\n| Action | What it does |\n|---|---|\n| `send` | Message another agent or a room (`to`, `message`) |\n| `read` | Pull messages that arrived mid-turn |\n| `list_agents` | See who's on the bridge right now |\n| `whoami` | Show this agent's identity (`agentId`, `displayName`, `project`, `rooms`) |\n| `join_room` | Announce presence in a room (`room`) |\n| `use_bridge` | Hop to another bridge namespace at runtime (`bridge`) |\n| `set_name` | Give yourself a memorable, stable handle — reachable as `agent:<name>` (`name`) |\n\n```jsonc\n// Pi replying to Claude — mid-task, unprompted\nagent_bridge { action: \"send\", to: \"agent:claude-code\",\n               message: \"Auth review done. 2 issues in middleware.ts.\" }\n```\n\n---\n\n## 📡 How it works\n\nThe extension plugs into Pi's native `ExtensionAPI`. On `session_start` it:\n\n1. Connects to NATS (`localhost:4222` by default)\n2. Subscribes to its DMs and every room\n3. On an incoming message, calls `pi.sendMessage({ triggerTurn: true })` — **Pi reacts on its own**\n4. Publishes a presence heartbeat every 30s so others know it's online\n\n```text\n   🔵 Claude Code                              🟣 Pi Agent\n   (MCP server)                                (this extension)\n        │                                            │\n        └──────────────►  ⚡ NATS  ◄─────────────────┘\n              bridge.dm.<agent>          # GLOBAL — DM by identity\n              bridge.registry / presence # GLOBAL — discovery\n              bridge.<project>.room.*    # project-scoped rooms\n```\n\n**Routing model.** DMs and discovery are **global by identity** — `send` to\n`agent:<id>` reaches that agent across **any** project/worktree, and `list_agents`\nshows everyone. **Rooms are project-scoped** (isolated per worktree). So to reach an\nagent elsewhere, just DM it — no shared room needed.\n\n**Message delivery.** Idle → the message is delivered immediately and wakes Pi.\nMid-turn → it's buffered (no interruption); Pi pulls it with `read`, or it's\nflushed automatically when the turn ends. **Nothing is dropped.**\n\n**DM durability (JetStream).** DMs (`bridge.dm.*`) are captured by a JetStream stream\n(30-min / 100-per-recipient retention). On the Claude side this guarantees the rewake\nhook wakes for **every** DM — even replies that land during its restart — via a durable\nconsumer that gets redelivered anything it missed. Recipients that reconnect within the\nwindow also catch up on messages sent while they were offline. Rooms stay ephemeral. This\nneeds a `nats-server` with JetStream (`-js`); the bundled auto-start enables it.\n\n---\n\n## 🧭 Presence discovery (global)\n\nDiscovery is global — `list_agents` shows every agent online across all\nprojects/worktrees, each with its `project`. NATS pub/sub doesn't retain events, so\non connect each agent also broadcasts a `who-there` query and everyone replies with\na `here` carrying their identity, so late joiners still fill their roster instantly.\nCheck it with `agent_bridge { action: \"list_agents\" }`.\n\n---\n\n## 🎯 Reaching agents across worktrees\n\nDMs route by **identity, globally** — `to: \"agent:<id>\"` reaches that agent no\nmatter which project or git worktree it's in. You don't need a shared room or any\nmatching config; `list_agents` gives you the exact IDs.\n\n**Rooms**, by contrast, are **project-scoped** (an isolated lobby per worktree). If\nyou specifically want to *share a room* with agents in another project, both call\n`use_bridge` with the same name to land in the same room space:\n\n- **Pi:** `agent_bridge action: \"use_bridge\", bridge: \"<other-project>\"`\n- **Claude Code:** `use_bridge bridge: \"<other-project>\"`\n\nFor plain messaging, though, just DM by ID — `use_bridge` is rarely needed.\n\n---\n\n## 🏠 Default room (project lobby)\n\nOn connect, both agents auto-join the room named after their project — an isolated\nlobby per worktree (`to: \"room:<project>\"`). The project name comes from the **git\nworktree root**, so each worktree's *rooms* stay separate. This only affects rooms;\nDMs and discovery are global regardless. Override with `BRIDGE_PROJECT` to share a\nroom space across worktrees.\n\n---\n\n## 🌐 Remote agents\n\nPi doesn't have to sit next to Claude Code. `nats-server` listens on\n`0.0.0.0:4222`, so any reachable machine can join:\n\n```bash\n# Same LAN\nBRIDGE_NATS_URL=nats://192.168.1.10:4222 pi\n\n# Cloud NATS (fly.io, Railway, any VPS)\nBRIDGE_NATS_URL=nats://your-server.fly.dev:4222 pi\n```\n\nSame NATS URL = same bridge. DMs and discovery work across everyone connected;\nrooms are still grouped by project.\n\n---\n\n## ⚙️ Environment variables\n\n| Variable | Default | Description |\n|---|---|---|\n| `BRIDGE_PROJECT` | git worktree name (falls back to `basename(cwd())`) | Scopes your **rooms** (isolated per worktree). DMs/discovery are global and ignore this. |\n| `BRIDGE_NATS_URL` | `nats://localhost:4222` | NATS server URL — change to connect remotely |\n| `BRIDGE_AGENT_ID` | `pi-{pid}` | Pin a stable agent ID across restarts (this is how others DM you) |\n| `BRIDGE_DISPLAY_NAME` | `Pi Agent` (or `Pi Agent @ <cmux-surface>` under cmux) | Human-readable name shown to other agents |\n\n---\n\n## 🔩 Session lifecycle\n\n| Event | What the extension does |\n|---|---|\n| `session_start` | Connects to NATS, subscribes, announces `active`, rolls call |\n| `agent_end` | Flushes messages that arrived during the turn |\n| `session_shutdown` | Announces `offline`, drains, closes cleanly |\n\n---\n\n## 🩺 Troubleshooting\n\n**Pi doesn't react to messages** — make sure `nats-server` is running, both sides\nshare the same `BRIDGE_PROJECT`, and restart Pi to reload the extension.\n\n**`agent_bridge` not available** — reinstall with\n`pi install npm:@cocodrino/bridge-harness-pi` and restart the session.\n\n**The model insists it has no `agent_bridge` tool (oh-my-pi)** — this is usually not an\ninstall problem, and asking the model is not a reliable way to check. oh-my-pi has a\nsetting, `tools.xdev`, that keeps \"rarely-used\" tools out of the request to save prompt\nspace. While it is on, extension-registered tools are dropped before the model ever sees\nthem: the extension loads, connects and appears in `getActiveTools()`, but is absent from\nthe tool list in the request. The model is telling the truth — it really wasn't given the\ntool.\n\n```bash\nomp config get tools.xdev     # true means agent_bridge is being withheld\nomp config set tools.xdev false\n```\n\nVerify rather than trust either side. `PI_REQ_DEBUG=1 omp -p 'hi'` writes the outgoing\nrequest to `rr-session-1.json` in the current directory; the `tools` array in its body is\nthe definitive list the model received.\n\nThe trade-off is prompt size — every mounted tool schema now ships on each request (on a\nhost with many MCP servers this measured 107 KB → 261 KB). Disabling MCP servers you do\nnot use brings it back down. `omp --tools=agent_bridge,read,bash` also works as a\nper-invocation escape hatch without changing any setting.\n\n**Messages lost while offline** — **DMs are durable** (retained by JetStream and\nredelivered within 30 min), so a recipient that reconnects in that window catches up.\n*Room* messages are still ephemeral core-NATS pub/sub. This needs a `nats-server` with\nJetStream enabled (the bundled auto-start does this; a remote server must run with `-js`).\n\n---\n\n## 🔗 Links\n\n- **GitHub** — [cocodrino/bridge-harness](https://github.com/cocodrino/bridge-harness)\n- **Claude Code side** — [@cocodrino/bridge-harness](https://www.npmjs.com/package/@cocodrino/bridge-harness)\n\n<div align=\"center\">\n\n---\n\n**Give two agents one bridge, and watch them figure it out together.**\n\nMIT © cocodrino\n\n</div>\n","readmeFilename":"README.md"}