{"_id":"@alexeiled/pi-subagents-bridge","_rev":"17-5f9723596e6b5045ae8b7b4061fd67d5","name":"@alexeiled/pi-subagents-bridge","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@alexeiled/pi-subagents-bridge","version":"0.1.0","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.1.0","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"ed078bc68e5e122082b112924523c007552718e9","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.1.0.tgz","fileCount":6,"integrity":"sha512-yK+uLhLJvTMQpE0m9xKl0gnynotXvPSzkertewePgzkfOl4jaGOg+1Lkctbi/t0VMFgG1FA56tASwXWyKYnKog==","signatures":[{"sig":"MEUCIQCdEPQCEYrIc+lQlNkHrahFYJKFcVEnCbdpx0TmJdhatQIgEWRfyc6WfdsRgo6Wl73JAGCNFOGzL7ugiX4z7Mzo5kI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21240},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"57de5bc709bedee0bbebbfc13b9dd4bda52c8bfa","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"alexeiled","email":"alexei.led@gmail.com"},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.18.0","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.80.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.1.0_1783587965324_0.5042687500094667","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@alexeiled/pi-subagents-bridge","version":"0.1.2","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.1.2","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"cfa2834378ea6a27eeaaf4cf3db76b1b0e33c7b2","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.1.2.tgz","fileCount":4,"integrity":"sha512-2iV0zT2S3v9fxtI1WneX8ewe5jzq4EwLmOlxpyh/UPHM+Z0aYmf71dGDE34Do8tm9KVx9eQt6VSocmtR9YBQyw==","signatures":[{"sig":"MEYCIQC56h4/ykN7dlxMUGwIzuX9ClW28CQXd4hDu4NKI7UcLQIhAJDh3FhfxXhhkYaTRmbiKPspeFv0TaQZG1VLtuK5UOTu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":17964},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"bc7836059e16283d7dc218c1b84b7252b6f2d562","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.80.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.1.2_1783591187554_0.6331261257107619","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@alexeiled/pi-subagents-bridge","version":"0.1.3","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.1.3","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"de7ae766b0ad7b2416c53ebac8aaa3266aed834e","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.1.3.tgz","fileCount":4,"integrity":"sha512-fUtMTml5YVZaUjCs0mnhOrfQcFncXBSSjh7+ffb8oWyfyqkXN+VSdWxm69fUIgw+k/pZyHijAxpML3IYQ4mKPA==","signatures":[{"sig":"MEYCIQDcNoPPUaT1e9fUBOadRzBlqzjaCuOTpUgk4SbB17EP+QIhALpYddGAZ1HDo9j/4f62xFSMWdttUmfvptf8WdmzZvrf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":19206},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"b5c9f540faee476eb22c2b7462a187114633523e","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.80.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.1.3_1783594902451_0.2707169147437958","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@alexeiled/pi-subagents-bridge","version":"0.1.4","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.1.4","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"dad84a48cb94a8b3bb771b6a1a9486459d33ae7b","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.1.4.tgz","fileCount":4,"integrity":"sha512-lWxfhQyguYxE4Itb3zt/KK1ntFu0EzKB0+c1+gqZeGw9CI3roEieN729TeG+hab9fFFd3uKs9pI8l0BUkLG4eA==","signatures":[{"sig":"MEUCIQDqYI+a9FR6lUEBmdlhTh3hrWwLKhr8rMd1IJzmhYhHHgIgDlE0WCXPsa1xGXfjFTwgvbt6eJ+DhAGiQUAG//Pawn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22942},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"66903144f70358a7eb01da6564c5aeba648780d3","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.80.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.1.4_1783598951251_0.46872107905712657","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@alexeiled/pi-subagents-bridge","version":"0.1.5","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.1.5","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"fe23ae214692fcae7b03b2b3d31e658abe2a64fd","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.1.5.tgz","fileCount":4,"integrity":"sha512-732+OkvFlH4qhug4h8xFU/zI/ijDA/e6IChWj6prnQIcO340MWTl3dxUJsLkIh42FNGKRC8VAd8DbpmKxxFl/w==","signatures":[{"sig":"MEQCIDIecdtKMN2S/VC74LpjHCHttHWTl3cWPJAmOOKp0Y+UAiACaqoL0u4NLlqGDobL8WSK6xX85jIm94560MuaJHD/wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31065},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"39ac8ee8b0c49a7c862555c192e41a3ebcd8faf5","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.80.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.1.5_1783850402523_0.9472579235195546","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@alexeiled/pi-subagents-bridge","version":"0.1.6","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.1.6","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"9d912de4b9ccb9382082ded16ffd9c3bc7808595","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.1.6.tgz","fileCount":5,"integrity":"sha512-W51IIiUHwHS9mDPtVig6druaLymtEEQ5ouGZs/Rb0uyVZDhgfGI+s+OTgugWLRJAK0WYg/M1nEbL/bWwPjGm5w==","signatures":[{"sig":"MEYCIQDg1nm5CgBani2LF2Wu8Wx9Kd9Yf0DEdyVFk4MIoqgpRgIhALqkDqamjBF2QTvznnPIfszXVpPDN3BtGjuQFoL2vJBT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48957},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"664f6d926306afddff4e5072ad9f91e65b735e4b","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.80.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.1.6_1783885454914_0.05178663837203379","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@alexeiled/pi-subagents-bridge","version":"0.2.0","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.2.0","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"9742b860bf302f10063ea00f5bbb8c6746d412b4","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.2.0.tgz","fileCount":5,"integrity":"sha512-jqE3WZFjIFWIdIiSd5LAtJcMIyFSPB9mCkm9JRLa/nqMgihAze1uFuQd+KAoRBI9sR8/ht6q7Mcz2X66mQWCXQ==","signatures":[{"sig":"MEUCIGUZnSjdUVzP1IAipALtEx5VLnMyGKEbZPmmRSC4IJ4DAiEAx1gO2m0vi47f9xuaumiugF9T8jLS9N9HOZGVJ/DhL6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51588},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"33194b43deda7954eb59a0128de66351ee242cb0","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.80.3"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.2.0_1784200094521_0.9570621185940782","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@alexeiled/pi-subagents-bridge","version":"0.2.1","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.2.1","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"22a0a831c8d3c8f33fe957ec411d428f5bd2a4c8","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.2.1.tgz","fileCount":5,"integrity":"sha512-1keP0z03AivbZAub3iq3ka2sopIvjb6S8v50Gox3f5bWL14dYRqQO2dBxKpkcNU5WfN1cuqDeCmwImrSE9jE4A==","signatures":[{"sig":"MEQCIBKte0EqoCkCZU0A9z5K3MH6UAIx3TkYK8Xf1skUoh6FAiBkgCUm/2OScipsmCjMHVQTtr9kBnFzsDF+QJL3utPaBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51588},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"8979a674f9a42b3e4d3afe0ba594d1c98d8f0db2","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.82.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.2.1_1785087956185_0.8624580120841234","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@alexeiled/pi-subagents-bridge","version":"0.2.2","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.2.2","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"91f9802ac38c5e2c338c88705fa427f845bc9bab","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.2.2.tgz","fileCount":6,"integrity":"sha512-cs9aEEVLTsMUc4nb4DQQ5cl6FLRQ7CB4Yrv6E6C3ke3ZDjaSSFKvd9oVN5plhcYP36J1p/X7fLvMjlDX3hE5ww==","signatures":[{"sig":"MEQCIAlx4leSlXHU/xNvOuWjgtMWA9RtZ9dFcpMpnnLU+tDfAiANw3DMsNo6Goc7j2QRZNG1sQSWtWRlWAwiVsYzXxaE3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52915},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"7f3c608d6ad07d50858da463d88d75d205ed27a9","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.82.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.2.2_1786186397144_0.47042433768328973","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@alexeiled/pi-subagents-bridge","version":"0.2.3","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.2.3","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"d34cb1390bb05eee4ee2634f6a9930ba75fdcb49","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.2.3.tgz","fileCount":6,"integrity":"sha512-5UWq5BhTD3+x6a8MlqaGLYaVDFlpTmw6t65YXZypLdOPjyjt0oy5fQUgylSp9bMtuLuGAth+lFub6ImwZ9jKEQ==","signatures":[{"sig":"MEYCIQCgjfl58fSvcfL0sUqjEnRRGV+OAmXh/B/UUK/46nPgfAIhAMsPsbooJvZxQo7LKAQvMlQbEqw3BdmbUCeTG7spLx96","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53029},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"00bbfb5bcad881185de49c1ae218202beeffa2ec","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","typescript-eslint":"^8.62.1","@earendil-works/pi-coding-agent":"^0.82.1"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.2.3_1786196706806_0.13596117125620855","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@alexeiled/pi-subagents-bridge","version":"0.3.0","keywords":["pi-package","pi-extension","pi-subagents","pi-tasks","bridge","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.3.0","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"3dec8effcf055b6ce67dcb1dab9fd7dcf4c23ccd","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.3.0.tgz","fileCount":7,"integrity":"sha512-GThrjGsywtZlRVXqG+BHoSdLACGNuPE1C6esbmracjNF35P6DzQNw9l6e8039j0g+a6eMKT1rlTQgNBHGHyvJg==","signatures":[{"sig":"MEYCIQCRJc9HC26Gnllofg3qrq78KQceA3uzh3Yh2ZLEI8iwoQIhAPax/unJnRCfKUegX5MEgPLmY7SV3sWAnyLQMUmNg0SW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99369},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"cfa60b6639230049956c7e7a721935dd39b3c212","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","pi-subagents":"0.60.0","typescript-eslint":"^8.62.1","@tintinweb/pi-tasks":"0.9.0","@earendil-works/pi-coding-agent":"0.84.4"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.3.0_1788099129046_0.4100948266571198","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@alexeiled/pi-subagents-bridge","version":"0.3.1","keywords":["bridge","pi-extension","pi-package","pi-subagents","pi-tasks","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.3.1","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"c7238e9892678ff62bd07b73feb3f37a54983599","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.3.1.tgz","fileCount":7,"integrity":"sha512-NZO9A9qSW0RkJzDzSskus10aEXfDiRbZ4DWG76L0LuKsvGqB4Xw64D3cFLEJYVXfqJt4tmNXsMWjxiNfndVsDA==","signatures":[{"sig":"MEUCIEG8k3HjLIVKWY+urke4XlXc7k1ieR9ymm69s7olTWucAiEAlEv2KrECxycOMMHVQhei63gKax7FvZF5IOrUmmhZDQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAm2k+foORqbk/pw7JkSbgCttdeXO+NADBXYx8nuzg0VAiEAv1MaufLZmhfxfh+ILGs389Ut/HUnfffQ2xw07Iv0fNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99652},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"44616b584fd9a7aee4541c248e7a2744a9561907","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.18.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","pi-subagents":"0.60.0","typescript-eslint":"^8.62.1","@tintinweb/pi-tasks":"0.9.0","@earendil-works/pi-coding-agent":">=0.84.4"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.3.1_1790074753643_0.25367622059313466","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@alexeiled/pi-subagents-bridge","version":"0.3.2","keywords":["bridge","pi-extension","pi-package","pi-subagents","pi-tasks","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.3.2","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"e8f5bf8184ea4f4e7382d5a6e760933e672060ae","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.3.2.tgz","fileCount":9,"integrity":"sha512-U6VHZeC2i6VUSjKmCoZA+q88WeXDASJ2To4f76TIwKXuT3b7T9q6jeL0RgTjQYnd68s6g8PlTP5vIShTzQlrTQ==","signatures":[{"sig":"MEUCIQDNQ1RPODLX9L1473nJRaxuNMHNWY6IjyQCV/+2lH6rowIgbPe5x66lF0pJzoPfQpGym0wbFs/gj/2918WgvS4kSto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDFYcQ++awkXYawqnYBkIF/mTwE2khnzlPVWMV7OSPXIAIgEI0QXMuzwqYkk2l1g0naPMSROu5U5LFhEcZL2QcfU0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":134182},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"dcf60b17d3457089133199a8a0294fafc974fb19","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run","test:native":"node --experimental-strip-types --test test/native-runtime-contract.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@12.0.2","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","pi-subagents":"git+https://github.com/alexei-led/pi-subagents-codex-fix.git#e78595340ff36ad481e205c0872fadba9412227d","typescript-eslint":"^8.62.1","@tintinweb/pi-tasks":"0.9.0","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.3.2_1790077152035_0.126022799840797","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@alexeiled/pi-subagents-bridge","version":"0.4.0","keywords":["bridge","pi-extension","pi-package","pi-subagents","pi-tasks","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.4.0","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"101200ee4adfd47b1268bb0955d4d63e976505ba","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.4.0.tgz","fileCount":9,"integrity":"sha512-uzUyxnq9y/YdMY4x9XKwGoWYQwQIGzXEQIn9ceWLGBSNn8XpiviQ3nhgRTQCy4gPw4kfOd+PP1M55IhNoDuYIA==","signatures":[{"sig":"MEUCIDs7Z5D2kXACCEKfIp4vYaS2VmizRrmW6Y+IXT4msnWMAiEA+PcBOxodxS0PVdJKSQEy8ZIsXBXL/wy3xUsXc5gTYZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDUNxQmF/Vt7rik83coIoSFAw0Rzv/Qzd/Wu6rE0FPfFgIgVUPqbLJPiCP7WsEuHmI2WiCz0EqoJoNa169b/7jLAhk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128679},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"cb02195be93eb5953855dbcf6e3851ab02f630d0","scripts":{"lint":"eslint . --cache --cache-strategy content","test":"node --import jiti/register --test test/*.test.ts","check":"tsc --noEmit","pack:dry":"npm pack --dry-run","test:all":"npm run lint && npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run","test:native":"node --experimental-strip-types --test test/native-runtime-contract.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@12.0.2","devDependencies":{"jiti":"^2.7.0","eslint":"^10.6.0","globals":"^17.7.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.10.0","pi-subagents":"git+https://github.com/alexei-led/pi-subagents-codex-fix.git#e78595340ff36ad481e205c0872fadba9412227d","typescript-eslint":"^8.62.1","@tintinweb/pi-tasks":"0.9.0","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.4.0_1790081190779_0.5494573910077614","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@alexeiled/pi-subagents-bridge","version":"0.4.1","keywords":["bridge","pi-extension","pi-package","pi-subagents","pi-tasks","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.4.1","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"34efeb5102585dab238f7144beae2962ccd82e41","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.4.1.tgz","fileCount":9,"integrity":"sha512-TkBMNa76OVMRGz0KTvMMP9/x4G4FXfmsLW4eQxZ/Lfsxh3hBS8N0bmC0ena09vzhFPF3x1TgpNaEQC4QR6ndFg==","signatures":[{"sig":"MEUCIQDglnjG0qGU2+SfS2T6BxiylMbRtLOdP4TmQfiwgjSsVQIgPNlAO2/QpX6UYG9hs95guPVolhcV+O+tP9vph7IbpMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCteldxIM+Dc5yx5CpAnLsaqpZvx6AW2TirxqQM02GEeAIgamCW1JV8QcND/dlaJRFcDBAHpYCR5REFGBMmtY54cBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":132473},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"f339c7d051899099c0aed90ffcab4a18bb850405","scripts":{"tsc":"tsc --noEmit","lint":"biome lint --error-on-warnings .","test":"vitest run --pool=threads","check":"biome check --error-on-warnings . && npm run tsc","format":"biome format --write .","lint:fix":"biome lint --write --error-on-warnings .","pack:dry":"npm pack --dry-run","test:all":"npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@12.0.2","devDependencies":{"jiti":"^2.7.0","vitest":"^5.0.1","typescript":"^7.0.2","@types/node":"^24.10.0","pi-subagents":"^0.70.1","@biomejs/biome":"2.5.14","@tintinweb/pi-tasks":"0.9.0","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.4.1_1790083337322_0.6151563791536838","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@alexeiled/pi-subagents-bridge","version":"0.4.2","keywords":["bridge","pi-extension","pi-package","pi-subagents","pi-tasks","rpc"],"license":"MIT","_id":"@alexeiled/pi-subagents-bridge@0.4.2","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"dist":{"shasum":"83585d6556cb90017f116ac8c736af6588ae8488","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.4.2.tgz","fileCount":9,"integrity":"sha512-UD2sOvUc0SUb5N4EdgOEQ37QQNy5X203jUTy68gIw5WpndUUyqtl6XN83fP4Upodu8vPD7KoE0QAyBatYKcDOQ==","signatures":[{"sig":"MEYCIQDmpGtblpEjaln0irWZf5Gn6C9ZhEIu9HIZ/BZYStZilgIhAN/2O7Ts0HKPozgH1EmuLBDmX1AT0LY4imWmvOJH6C6w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD3QZcMs2Jcr/BvXceaZHbuZFS/0m9aw8B7l9BtZkm8fgIhAIBMGa6aOOCfzGnZ1BsU0U4/WpVUlD0Q7howPHg9OI0y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":135519},"main":"./src/index.ts","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"5058c8d4126314ce81e681947e3d9f33f42b894e","scripts":{"tsc":"tsc --noEmit","lint":"biome lint --error-on-warnings .","test":"vitest run --pool=threads","check":"biome check --error-on-warnings . && npm run tsc","format":"biome format --write .","lint:fix":"biome lint --write --error-on-warnings .","pack:dry":"npm pack --dry-run","test:all":"npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@12.0.2","devDependencies":{"jiti":"^2.7.0","vitest":"^5.0.1","typescript":"^7.0.2","@types/node":"^24.10.0","pi-subagents":"^0.70.1","@biomejs/biome":"2.5.14","@tintinweb/pi-tasks":"0.9.0","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-subagents-bridge_0.4.2_1790095223725_0.8215991953022388","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"pi":{"image":"https://raw.githubusercontent.com/alexei-led/pi-subagents-bridge/main/assets/bridge.svg","extensions":["./src/index.ts"]},"_id":"@alexeiled/pi-subagents-bridge@0.5.0","bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"dist":{"shasum":"7f2070d6c8f492c5d05ea1a95ecd2c617e89fb0b","tarball":"https://registry.npmjs.org/@alexeiled/pi-subagents-bridge/-/pi-subagents-bridge-0.5.0.tgz","fileCount":9,"integrity":"sha512-sRsMF456mZYZTtcDJ3hxtUVO6HQ9n1dWh4hZhOxtenPqqi36ltQ41RnmXEAb6vmB7LTukDplkTH8/pPgJ+zHrg==","signatures":[{"sig":"MEUCIE23Pwk6dmOJO388j19Fa8VHnlZGok+v7AvzMYF29OxnAiEAmIE9TBLDHfEnyEt4d17L28XFs/Hn3BV9dZZ17v8cN3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDV51exWsWOGJe5TuNhlATAHC50yvbmz8W5WdOMJyuKuAIgGS+WwIIIUgq2MAz2ulizrgyZp4yPwhmFPs4B/zYktfg="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexeiled%2fpi-subagents-bridge@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133734},"main":"./src/index.ts","name":"@alexeiled/pi-subagents-bridge","type":"module","engines":{"node":">=22.19.0"},"exports":"./src/index.ts","gitHead":"d5333d9492e2bd1ac851edb53c9f66f4ba8d514b","license":"MIT","scripts":{"tsc":"tsc --noEmit","lint":"biome lint --error-on-warnings .","test":"vitest run --pool=threads","check":"biome check --error-on-warnings . && npm run tsc","format":"biome format --write .","lint:fix":"biome lint --write --error-on-warnings .","pack:dry":"npm pack --dry-run","test:all":"npm run check && npm test && npm run pack:dry","publish:dry":"npm publish --dry-run","format:check":"biome format ."},"version":"0.5.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b6484e80-505b-49c0-bd38-ce1a9e32d122"}},"homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","keywords":["bridge","pi-extension","pi-package","pi-subagents","pi-tasks","rpc"],"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"_npmVersion":"11.12.1","description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","directories":{},"maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@12.0.2","devDependencies":{"jiti":"^2.7.0","vitest":"^5.0.1","typescript":"^7.0.2","@types/node":"^24.10.0","pi-subagents":"^0.71.0","@biomejs/biome":"2.5.14","@tintinweb/pi-tasks":"0.9.0","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"pi-subagents":">=0.71.0 <1.0.0","@earendil-works/pi-coding-agent":">=0.86.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-subagents-bridge_0.5.0_1790161872515_0.8950950902718049"}}},"time":{"created":"2026-07-09T09:06:05.137Z","modified":"2026-09-23T11:11:13.503Z","0.1.0":"2026-07-09T09:06:05.470Z","0.1.2":"2026-07-09T09:59:47.665Z","0.1.3":"2026-07-09T11:01:42.591Z","0.1.4":"2026-07-09T12:09:11.380Z","0.1.5":"2026-07-12T10:00:02.643Z","0.1.6":"2026-07-12T19:44:15.054Z","0.2.0":"2026-07-16T11:08:14.787Z","0.2.1":"2026-07-26T17:45:56.324Z","0.2.2":"2026-08-08T10:53:17.291Z","0.2.3":"2026-08-08T13:45:06.953Z","0.3.0":"2026-08-30T14:12:09.178Z","0.3.1":"2026-09-22T10:59:13.715Z","0.3.2":"2026-09-22T11:39:12.141Z","0.4.0":"2026-09-22T12:46:30.863Z","0.4.1":"2026-09-22T13:22:17.412Z","0.4.2":"2026-09-22T16:40:23.809Z","0.5.0":"2026-09-23T11:11:12.602Z"},"bugs":{"url":"https://github.com/alexei-led/pi-subagents-bridge/issues"},"license":"MIT","homepage":"https://github.com/alexei-led/pi-subagents-bridge#readme","keywords":["bridge","pi-extension","pi-package","pi-subagents","pi-tasks","rpc"],"repository":{"url":"git+https://github.com/alexei-led/pi-subagents-bridge.git","type":"git"},"description":"Protocol adapter that lets @tintinweb/pi-tasks TaskExecute spawn nicobailon/pi-subagents.","maintainers":[{"name":"alexeiled","email":"alexei.led@gmail.com"}],"readme":"# pi-subagents-bridge\n\n[![npm version](https://img.shields.io/npm/v/%40alexeiled%2Fpi-subagents-bridge?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@alexeiled/pi-subagents-bridge)\n[![CI](https://img.shields.io/github/actions/workflow/status/alexei-led/pi-subagents-bridge/ci.yml?branch=main&style=flat-square&label=ci)](https://github.com/alexei-led/pi-subagents-bridge/actions/workflows/ci.yml?query=branch%3Amain)\n[![node](https://img.shields.io/badge/node-%3E%3D22.19.0-5fa04e?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org/)\n[![license](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](./LICENSE)\n\n`pi-subagents-bridge` is a protocol adapter between two Pi extensions:\n\n- [`@tintinweb/pi-tasks`](https://www.npmjs.com/package/@tintinweb/pi-tasks)\n- [`pi-subagents`](https://www.npmjs.com/package/pi-subagents)\n\nIt makes `TaskExecute` work with `pi-subagents` by translating the `pi-tasks` subagent RPC into the RPC and completion events that `pi-subagents` exposes. It also exposes a separate, generic plan-exec RPC for direct execution clients.\n\n## What it does\n\n`@tintinweb/pi-tasks` expects a v2 subagent protocol.\n`pi-subagents` exposes a v1 RPC plus async completion events.\nThis bridge sits between them and handles the mismatch.\n\nSpecifically, it:\n\n- answers the `pi-tasks` v2 ping handshake\n- forwards `spawn` and `stop` requests to `pi-subagents`\n- translates `pi-subagents` completion events back into `pi-tasks` task updates\n- falls back to polling `pi-subagents` run `status` if an async completion event is missed\n- keeps the generic plan-exec RPC separate from all `pi-tasks` channels\n\n### Request and completion flow\n\n```mermaid\nsequenceDiagram\n  autonumber\n  participant Tasks as @tintinweb/pi-tasks\n  participant Bridge as pi-subagents-bridge\n  participant Subs as pi-subagents\n\n  Tasks->>Bridge: ping (v2)\n  Bridge-->>Tasks: version 2\n\n  Tasks->>Bridge: spawn(type, prompt, options)\n  Bridge->>Subs: spawn(workflowScript, async: true)\n  Subs-->>Bridge: runId\n  Bridge-->>Tasks: id = runId\n\n  Subs-->>Bridge: subagent:async-complete\n  Bridge-->>Tasks: subagents:completed / subagents:failed\n\n  alt async completion event is missed\n    Bridge->>Subs: status(runId)\n    Subs-->>Bridge: state + result path\n    Bridge-->>Tasks: subagents:completed / subagents:failed\n  end\n```\n\n## Install\n\nInstall the two extensions being bridged, then install the bridge:\n\n```bash\npi install npm:@tintinweb/pi-tasks\npi install npm:pi-subagents\npi install npm:@alexeiled/pi-subagents-bridge\n```\n\nRequirements:\n\n- Node `>= 22.19.0`\n- Pi `>= 0.86.1` with extension loading enabled; tested with Pi `0.87.0`\n- `pi-subagents >= 0.71.0` for native workflow and process-terminal proofs\n\nThe npm peer requirement does not verify which Pi extension is active. If a\nclosed workflow status has no native proof field, the bridge reports an error\nto check the active runtime and durable async status/proof artifacts instead of\nclaiming that the worker exited.\n\nThe bridge uses Pi's public extension event API. Future Pi releases still need\nvalidation if that API or the upstream subagent protocol changes.\n\nThe operation journal supports schema versions 1–5. Versions 4 and 5 retain their\nversion and extra fields when opened by this bridge. Unknown versions are rejected\nbefore database changes; update the bridge instead of deleting or resetting the journal.\n\n## Usage\n\nCreate tasks with `TaskCreate`, then execute them with `TaskExecute`.\n\n```text\nTaskCreate(subject=\"Write a short plan\", agentType=\"general-purpose\", ...)\nTaskExecute(task_ids=[\"1\"])\n```\n\n### Agent type mapping\n\nThe bridge preserves task agent names except for the compatibility aliases that `pi-tasks` examples commonly use.\n\n| `TaskCreate(..., agentType=...)` | `pi-subagents` agent     |\n| -------------------------------- | ------------------------ |\n| `general-purpose`                | `delegate`               |\n| `Explore`                        | `scout`                  |\n| `explore`                        | `scout`                  |\n| anything else                    | passed through unchanged |\n\nUse an execution-capable agent for tasks that need shell commands, builds, or tests.\nA read-only agent can still be useful for read-only tasks such as review or metadata inspection.\n\n## Bridge behavior\n\n### Request flow\n\n| `pi-tasks` input      | Bridge behavior                                   |\n| --------------------- | ------------------------------------------------- |\n| `subagents:rpc:ping`  | replies locally with protocol version `2`         |\n| `subagents:rpc:spawn` | sends a `pi-subagents` v1 `spawn` request         |\n| `subagents:rpc:stop`  | sends a best-effort `pi-subagents` `stop` request |\n\nSpawned runs are always forwarded as:\n\n- one-child `workflowScript` execution\n- `async: true`\n- `context: \"fresh\"`\n- `control: { enabled: false }` on the outer workflow and its child\n\nThe bridge does not send the removed public `clarify` field.\n\nThe bridge returns the spawned run ID back to `pi-tasks` and tracks that run as bridge-owned state. It runs at most **two** bridge-owned tasks at once. A task without an explicit `maxTurns` receives a **12-turn** budget.\n\n### Completion flow\n\nFor runs the bridge spawned itself, it converts `pi-subagents` outcomes into `pi-tasks` events:\n\n- success → `subagents:completed`\n- failure → `subagents:failed`\n- stopped or paused run → `subagents:failed` with `status: \"stopped\"`\n\nIf `subagent:async-complete` does not arrive, the bridge polls `pi-subagents` `status`, reads the result file path from that status output, and emits the same completion event that `pi-tasks` expects. If a terminal status arrives before its result file is readable, the bridge retries for up to five seconds instead of silently dropping the result.\n\n## Generic plan-exec RPC\n\nThis protocol is independent of `pi-tasks`. Version 1 remains available on `plan-exec:bridge:v1:request` with replies on `plan-exec:bridge:v1:reply:<requestId>`.\n\nVersion 2 uses `plan-exec:bridge:v2:request` and `plan-exec:bridge:v2:reply:<requestId>`. It supports `ping`, `spawn`, `operation`, `status`, `result`, `stop`, `adopt`, `cancelOperation`, and optional `diagnoseOperation` with durable launch identity and native process-terminal proof.\n\n- `ping` verifies the live `pi-subagents` RPC before advertising `workflowScriptSpawn`, `durableOperationLookup`, and `processTerminalProof` capabilities.\n- `spawn` requires `operationId`, `cwd` when needed, `params.agent`, `params.task`, and an owner `{ kind: \"pi-plan-exec\", runId, key, requestDigest }`. The digest is SHA-256 over canonical `{ cwd, params }`. The bridge rejects mismatches before dispatch.\n- The durable journal is written before the native spawn is emitted. A bound operation survives a full Pi restart. A legacy dispatch with no durable native reply becomes `unknown`; the bridge never launches it again automatically.\n- `operation` never starts work. Version 2 returns `operationId`, `requestDigest`, and `absent`, `pending`, `found`, `cancelled`, or `unknown` binding state. It redelivers a durable cancellation intent when needed.\n- `status` and `adopt` include a validated native `processTerminal` value when `pi-subagents` returns one. Only an `observed` proof with the matching run ID proves process termination.\n- `result` uses the native status RPC because `pi-subagents` has no separate result RPC. `stop` delegates to the native stop RPC.\n- `adopt` is observational. It does not silently transfer session ownership. Native correlated runs use durable lookup for `status`, `result`, and `adopt`, and durable cancellation for `stop`, including after the originating session changes.\n\nExplicit execution lifetimes require v2. Set `params.executionLifetime` to\n`{ mode: \"unbounded\" }` or `{ mode: \"bounded\", timeoutMs: 1800000 }`.\nDo not combine this field with legacy `timeout` or `timeoutMs`. The bridge sends\nthe agent and task directly to the native async executor with\n`executionOwnership: { mode: \"kernel\" }`, includes the lifetime in the durable\ndigest, and verifies the native `effectiveExecutionLifetime` reply. Explicit\nlifetimes do not accept arbitrary workflow scripts. The exact native launch\nparameters are frozen in the journal and reused after restart.\nOmitting the field preserves legacy behavior.\n\n`ping` advertises `executionLifetime: { version: 1, modes: [\"unbounded\", \"bounded\"] }`\nonly when the native runtime also supports durable lookup, replay, and cancellation\nfences. An incompatible runtime is rejected before spawn. Explicit requests use\nnative `operationId` and `digest` correlation: `operation` can recover a lost spawn\nreply after restart, and replay keeps the original identity. `cancelOperation`\ntakes the same `operationId` and owner, installs a native cancellation fence, and\ncan return `cancelled` without a run ID when dispatch was prevented. A cancellation\nrequest or RPC timeout does not prove that a running child exited. Reconcile the\nnative `processTerminalProof` (also exposed as `processTerminal`) and lifecycle\nobservations before starting replacement work. Pending or unknown process-terminal\nstates are diagnostic only and do not confirm exit. A workflow uses the native\n`workflowTerminalProof`: dispatch must be closed, and each child must be observed\nor explicitly marked not-started. Pending, unknown, malformed, or absent workflow\nproofs do not establish completion. The workflow's hosting Pi process can remain\nalive.\n\nExplicit launches also require `processTreeOwnership` to advertise\n`scope: \"owned-process-tree\"`, `escapedDescendants: \"contained\"`,\n`routes: [\"single-async\"]`, and `requestMode: \"kernel\"`. A provider must establish\nthese capabilities on the current host before the bridge dispatches work. A\nPOSIX process-group-only provider remains unsupported, and its weaker descriptor\nis preserved for diagnostics. The bridge never upgrades group exit into full\nprocess-tree proof. Cancellation and lookup remain available for existing runs\nwhen the owned execution route becomes unavailable.\n\nThe pinned native backend supports this route on macOS arm64/x64 with the current\nuser's launchd GUI domain and `/usr/bin/clang`. Its first probe builds the private\nhelper in the runtime artifact directory. Unsupported hosts fail preflight before\nspawn. `singleAgentSpawn` identifies this supported direct route;\n`workflowScriptSpawn` describes the separate legacy wrapper capability.\n\nObserved kernel proofs include three distinct bindings: the bridge's\n`callerBinding`, the native RPC's `nativeOperation`, and the prepared kernel\nrequest's `kernelBinding`. The bridge validates their persisted relationship\nwithout equating unrelated digests. A missing or ambiguous run-ID mapping returns\n`unknown`; it cannot attest a foreign terminal proof.\n\nWhen native `diagnosticGuidance` advertises durable, idempotent `follow_up`\nguidance for confirmed tool failures, `diagnoseOperation` accepts\n`{ operationId, owner, params: { diagnosticId, toolCallId, message } }`.\nThe native runtime checks the referenced failed tool and queues guidance into the\nexisting live session. Reuse the same diagnostic ID and payload after an uncertain\nreply: durable native receipts prevent a second enqueue. Replies bind the caller\noperation, request digest, diagnostic ID, and tool-call ID, with\n`guidanceOnly: true` and `queued`, `pending`, `cancelled`, or `rejected` state.\nAn enqueue receipt does not confirm a repair. Cancellation fences late guidance;\nthis method does not start or revive a worker.\n\nThe Vitest suite covers the bridge protocol against capability fixtures. The\ninstalled end-to-end path (controller, Bridge, native RPC, owned workers,\nchecks, review, promotion, archive) is exercised from pi-plan-exec with\n`npm run test:runtime-smoke`; that smoke run also covers the real client's\ncapability negotiation against the released runtime.\n\nThe journal defaults to `~/.pi/pi-subagents-bridge/plan-exec-operations.sqlite`. SQLite transactions provide crash recovery and cross-process serialization without a stale application lock. Version 1 clients retain their existing response shape and also benefit from durable bound-operation lookup. Operation identity rows are retained as idempotency records; automatic pruning could make an old operation ID dispatch again. Remove the database only after all referenced plan runs are permanently retired and duplicate-launch protection is no longer needed. Existing v1 accepted-run rows migrate fail-closed with no session identity; they require explicit manual recovery rather than unsafe cross-session delivery.\n\nFailures use `{ success: false, error: { code, message } }`. `operation_capacity` means the in-process bridge has 128 unresolved active operation IDs and will not evict one to accept another spawn.\n\n## TaskExecute-specific safeguards\n\n`TaskExecute` is queue-style orchestration, not direct subagent supervision.\nBecause of that, the bridge also applies two execution defaults to bridge-spawned runs:\n\n- disables `pi-subagents` acceptance gating\n- disables `pi-subagents` live control nudges\n\nThis avoids false pauses on missing acceptance reports and avoids misleading background `needs attention` notices for normal task runs. Repeated copies of one live request are coalesced only after their session and request digest match. The request ID is also journaled before native dispatch, so replay after the in-memory reply cache expires returns the existing run or fails closed as unknown instead of dispatching again. Transient persistence failures for known accepted runs and launch bindings are retried while the bridge process remains active.\n\nAccepted run IDs are tied to the originating Pi session ID and a leased process owner. A foreign Pi session cannot claim or delete them. The same resumed session can reclaim them after the owner exits. An expired heartbeat alone cannot prove exit; a reused or still-live PID leaves ownership unresolved. The owner renews its fence before emitting completion, and failed reconciliation is retried periodically. If another session wins ownership, the bridge stops polling and emits `subagents:warning` with code `accepted_run_ownership_lost` instead of silently dropping the run.\n\nThe legacy `pi-tasks` spawn request does not contain task ID, list ID, or attempt generation. Therefore the bridge cannot recover a task binding after a crash that occurs after native dispatch but before the run ID is received. The durable request becomes unknown and is not launched again automatically. The bridge does not use prompt matching.\n\nIf the native run ID is known but local accepted-run persistence fails, the bridge acknowledges that known run instead of returning an error that could trigger a duplicate launch. It keeps completion ownership for the current process and logs the durability loss; a subsequent process restart then requires manual completion recovery.\n\n## Scope and limits\n\nThis package is intentionally narrow.\n\nIt does:\n\n- bridge `TaskExecute` task launches to `pi-subagents`\n- track only runs spawned through this bridge\n- ignore unrelated `pi-subagents` runs\n\nIt does not:\n\n- replace `pi-tasks` task orchestration\n- act as a generic adapter for `pi-subagents` methods beyond the documented plan-exec protocol\n- support loading `@tintinweb/pi-subagents` alongside this bridge\n\nDo not load `@tintinweb/pi-subagents` at the same time as this package.\n\n## More detail\n\n- [`docs/design.md`](./docs/design.md) — bridge behavior and maintenance rules\n- [`docs/protocol-research.md`](./docs/protocol-research.md) — upstream protocol notes\n- [`DEVELOPMENT.md`](./DEVELOPMENT.md) — local validation and release workflow\n- [`CHANGELOG.md`](./CHANGELOG.md) — release history and RPC compatibility changes\n","readmeFilename":"README.md"}