{"_id":"@earendil-works/pi-client","_rev":"20-2b99be7f57550dafb5e9e70aef779e69","name":"@earendil-works/pi-client","dist-tags":{"latest":"1.1.0"},"versions":{"0.84.0":{"name":"@earendil-works/pi-client","version":"0.84.0","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.84.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"ff44d6ddaef11612a4600120b180201f0dbce1cd","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.84.0.tgz","fileCount":43,"integrity":"sha512-fHXgw1FdLDh+uw42SvTkJRBfgc3nsrslghvbRFEAxdjfcOxJt7hPsTj4HHNK96wMy1f+zvQYL8Y2znvFoZ8JDA==","signatures":[{"sig":"MEYCIQDCVR9WNi9tr0VHiWm4T3LaGz0OcqwouNKKZHLlggY13wIhAKmGUKqhjlHZvqRa5B8y6uBvDZZ808Q7dkO6DqHEHBoj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183060},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"95a6aa7bd02f37b19a4b19db7e134b07413b0bf3","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.11.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"@earendil-works/pi-protocol":"^0.84.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.84.0_1786013478332_0.16736632040638533","host":"s3://npm-registry-packages-npm-production"}},"0.84.1":{"name":"@earendil-works/pi-client","version":"0.84.1","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.84.1","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"797fb7d37191a8db82a2f81287074d6428569f69","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.84.1.tgz","fileCount":43,"integrity":"sha512-/V5hGHE4Zq+jG0GtwIB9PyBUOGd6gBLZ7lkQYFKchKnxYHeH3rmWC5xw4kpnZKKBuBuFTdLVbU9vEjlAGMMb2A==","signatures":[{"sig":"MEQCIC+iMBjs6QyBImWxQvVJdTkRGKf8E4Uy3E3UmmgYgNxoAiBnoZEPhXnhYkyr78avmbrvLJV4ro4yPlaWQWfVAAxyCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.84.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183069},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"53fa77ccd8a279eb87e92294ef3687b03ff80112","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@earendil-works/pi-protocol":"^0.84.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.84.1_1786082177568_0.0034904736261971436","host":"s3://npm-registry-packages-npm-production"}},"0.84.2":{"name":"@earendil-works/pi-client","version":"0.84.2","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.84.2","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"b49b564024eb5df0870b8b4022538bd32dd792c3","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.84.2.tgz","fileCount":43,"integrity":"sha512-/RFSPhD/bZbpOp1oJj+UneSUFSgZhWxzcSENUY+8+8xhoBrWXMYI2t77XNx4Yf+c8YK2qTHquForhNcelYpXvg==","signatures":[{"sig":"MEUCIC2RvF5rshHrckyqTKM6RwpozX4RWKTIo/eXNzH/8L5iAiEAjwr6bF/VxK6Ach/5zffgiyTFj4L8v2SeBUAKu5rLYl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.84.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183095},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"914cf1472e715297caa30db4b9535d534a9eb718","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@earendil-works/pi-protocol":"^0.84.2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.84.2_1786701951764_0.7074045312035104","host":"s3://npm-registry-packages-npm-production"}},"0.84.3":{"name":"@earendil-works/pi-client","version":"0.84.3","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.84.3","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"e573f47c7c21d9cff8015d09506c905787f4390d","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.84.3.tgz","fileCount":43,"integrity":"sha512-zfErYane+390W0xpBJ/FWCp6aktPpkpcIcXUeZiAziWLoxE80ZNQALRyOSa/gGS5V+1OkNnMYxRxbzN0zUvnOA==","signatures":[{"sig":"MEQCIFF4J0peeAVaiITKMW49XK+QShNu5jk5PVOFzUhCdOtdAiAZaI+4wvSBJcMFYZSO/e6vZhXjNL+aMwiLg/T3oWhrBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.84.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183138},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"bfb004d4418ff05c6f909eaaab856cbe75c1fde0","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/pi-protocol":"^0.84.3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.84.3_1787569163028_0.6449718410456027","host":"s3://npm-registry-packages-npm-production"}},"0.84.4":{"name":"@earendil-works/pi-client","version":"0.84.4","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.84.4","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"88523ba121aea1f57bae5d67656f09af7c6fcf02","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.84.4.tgz","fileCount":43,"integrity":"sha512-q398WY/3ZQHTizk7IKxApzqFV0xt4yM9LkSkwyqeLK5Bj5RwRjOWxESt26z4LgNp4O+8hqhqFPf/8fj4H5rE4A==","signatures":[{"sig":"MEUCIQCzLk6SY2TZweKyCukIkF4KXKfpwmW1VwsICtljq4CWqAIgEfksX1l6cf5I68n+ErTsQO9ept8q6MEwZd748C44uTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCt00tPUyXWOUUEGj+UlKSEyVaIeECYUuB/SA7R/F2M5AIgJEdJC8p9LEinM3Zoejdwf6eD0KFZHxY3nL+nN9VkNMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.84.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183147},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"b79e4cc834970cca69daebffab7df1da7d1e52c4","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/pi-protocol":"^0.84.4"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.84.4_1787954616369_0.5090956900960408","host":"s3://npm-registry-packages-npm-production"}},"0.85.0":{"name":"@earendil-works/pi-client","version":"0.85.0","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.85.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"ce5e5470122d7217a88ff6b2eac26a447d1189e1","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.85.0.tgz","fileCount":35,"integrity":"sha512-IpYoQ2h2TBeytQAV5lnNwgGGty4BFjjFcJrseqc6ryPou8yX/dKXvEDshL5Sc7WicLv+dLzwzgCODPHAcHinug==","signatures":[{"sig":"MEUCIEK47eerRo1eCpYUwYFr2cfE6H1GrkTSxV8mBrmapIbfAiEAjKws6/fJyScm6DdWIDrgmvrDzhFfnHEKWQJYwuiuqOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFm0TuhUwxC40bvzmFoq6VFaXsdyMYhVA5LE1eTlZ1VqAiEA1hC7UGouy/qdAGvp1hSoGVyQ1Xpc2cBPH9c4n1rxJmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.85.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164185},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"107d79f11072bbc8a3a757ed7fd69596bee7d68c","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.85.0","@earendil-works/pi-protocol":"^0.85.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.85.0_1788516833484_0.016453019026904325","host":"s3://npm-registry-packages-npm-production"}},"0.85.1":{"name":"@earendil-works/pi-client","version":"0.85.1","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.85.1","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"73cede50e28eea3aedf1db38ff4d32666e02b6ef","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.85.1.tgz","fileCount":35,"integrity":"sha512-YKZeFZTcpH7SWdeJ9IeJO+AhW5EVGRYZV2WuZ9jgMGD1hSe3+vDPlcsVqOUmYbyl/vvzPe9SzvPz+HzlYhvCLA==","signatures":[{"sig":"MEYCIQDmE87kzmOmomftXswcIfGs08ckzHr6ewbgmWgUSJMCsQIhAIpHHhP5i2JGA5Lz3nePF2ekLQ1V7cyqUQiT8HNuVnvK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDy6uHP2eOVpUEG+r7GXhIFTWeQmkodMvumKZELGAoYrQIhAMHk1t74NntfgUV5vWiVRvfyhxfNMON71HmT42smO3qT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.85.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164211},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"d981de1229ef899957bbe968bc8dcda02a21f477","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.85.1","@earendil-works/pi-protocol":"^0.85.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.85.1_1788609891056_0.4108843486011937","host":"s3://npm-registry-packages-npm-production"}},"0.86.0":{"name":"@earendil-works/pi-client","version":"0.86.0","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.86.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"9c9c7e4b20e6b0ddd346c0e82f48061c9fc0d8c9","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.86.0.tgz","fileCount":35,"integrity":"sha512-XWTiH82aBjurHHR5mRT44e60xCmXAP2O8vX/ynskYlkr+AO9NhxYjnMLbsyZ6NG1BlETMdEY3iE24tBCqO6YkQ==","signatures":[{"sig":"MEYCIQDPwkPFS9R8jG1vhRFK+rPTbvwcxiK4QRQr92+K5VzORgIhALPLICJSlOIhnEa+drSLqJhdNW9WNnlpsGnyOy2c7nRa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCNBSA3DOyZsv2HcNO9Y8lZoCGyQZ6hc7pztX8tg7n5+QIgbFKwSQJyWp2TR0z+idk/t8p08apJnjI7S2DcDFFFm2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.86.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164237},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"ecac0a9c4edad3dac5d9f8b40e0c7db7a56471fc","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.86.0","@earendil-works/pi-protocol":"^0.86.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.86.0_1789859394487_0.36379268420131594","host":"s3://npm-registry-packages-npm-production"}},"0.86.1":{"name":"@earendil-works/pi-client","version":"0.86.1","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.86.1","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"fe8422de4ac759e5b6a4149a4787bf8b0ae260e8","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.86.1.tgz","fileCount":35,"integrity":"sha512-y1Pv6sRtki+I7CS29b10x/bp5NUF4ohZ4KFiy+PAPoiyHoW5D7KLTFdt8o1HgyEsNtyp45/nXfct/67RncU9Uw==","signatures":[{"sig":"MEQCIER5eqSF7id0f8CLCD7hwVzSpKTFMG0UgAOs3bFtsQ9lAiALvUQGof4IebbKLkhHUwJFvdQQrFdONgeML0Ecdy2yxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCrG9UnZ5+kabEKy6bsbpaCIUSxgV4ZxZ6oyl2MNgi2+QIgRvGJXMl3gADODDhAwmVnIMwocpC1U5tBrc0x9n2Fmog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.86.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164263},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"13cbf77df2396303013a41646bcfa77b4271ae56","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.86.1","@earendil-works/pi-protocol":"^0.86.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.86.1_1789902798231_0.22535765872279812","host":"s3://npm-registry-packages-npm-production"}},"0.87.0":{"name":"@earendil-works/pi-client","version":"0.87.0","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.87.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"6ec170ab20f021d46116082881de537bb5211aec","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.87.0.tgz","fileCount":35,"integrity":"sha512-SzlKFULcz3VchpfVizd9fTxaFHxhIe/Dpn9CDHthqRzUx6Sym2tWwlveqdjD4V81yid+r7VEziZuHYYqNt4+kA==","signatures":[{"sig":"MEUCIB/4ZABTylfbJih4D+yV6CEMzWm4ypbIz8bdQqKOCgM5AiEA/oAmlKSJo5di17nOo2xe5BlLz3JVMcgk7OqJZZCxYtg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFiiqwB1Z6JLkVt18ki4X1cOd+MyLBDw2AxHV77HLXigAiEAjhshrSDnYvmDD494BVlB23dScAEEH80yBD17us2djno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.87.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164289},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"16787ad5b2dc748047f314ca1bfe7708f30f54f3","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.87.0","@earendil-works/pi-protocol":"^0.87.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.87.0_1790008874301_0.6754339619939631","host":"s3://npm-registry-packages-npm-production"}},"0.87.1":{"name":"@earendil-works/pi-client","version":"0.87.1","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.87.1","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"9e351baef4b2a2ff787857b78e68177b0fa5ecfd","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.87.1.tgz","fileCount":35,"integrity":"sha512-x8dfZ7ppAao9SDnZvD5/DErVdq2fI7hg4lFj7qEhtgo6wimrRafGSLsqLklFVjb6kxU2W3j9F4RZz0rRcb0cwA==","signatures":[{"sig":"MEYCIQCP9Bel2U3v416wwU/GQ72IjXeI/BvhVJxUF5cj+OSrSAIhAJzeKTWhmh4VWhBxA1LPbGhV+jxuc8Z6ibg+LOIrNWwZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDGVCsff4BjsI+OOZ8UQwgQ3SPNZth3+CtlpHSqREkt2AIhAP57CtYxsv5h9qYRqpyagMbHN8/sda3d3UunGO7eErY0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.87.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164315},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"f07218c4d4bbc12bef056a7058c3dd49dfe41abe","scripts":{"test":"vitest --run","build":"tsgo -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsgo -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.87.1","@earendil-works/pi-protocol":"^0.87.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.87.1_1790105885136_0.7358142980532114","host":"s3://npm-registry-packages-npm-production"}},"0.99.0":{"name":"@earendil-works/pi-client","version":"0.99.0","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.99.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"7af78a5d5d74a862860019a23656398c39b74afd","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.99.0.tgz","fileCount":35,"integrity":"sha512-wLJIlkM/oNJ6PXzOADJzXvwD1h4R8eJvrgV4NELULemePEzfILnRWf1d+fgS1YWS05GhHnVDA9Bz9SpkhOB16g==","signatures":[{"sig":"MEQCIEeudai5zAfJ2R5AvXkOll30GTHZlgMKoE7/o0ioFJN+AiAQcuFEsgKgMKH36t+6IGV2DagIAsOwfjXzeBYZPv3rFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDHckm5BP0yaI7o2Rc1HWejmWAtXXPFYdw94N/t2gSMPwIhAPMcO+w8Z/9YdCrM/uP+wetFiCyDKvCjmvaz2wvLM7sr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.99.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124592},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"4b060d3a98618019adb9985d517516c8e99a2bbe","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.99.0","@earendil-works/pi-protocol":"^0.99.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.99.0_1790702259522_0.2370074793223349","host":"s3://npm-registry-packages-npm-production"}},"0.99.1":{"name":"@earendil-works/pi-client","version":"0.99.1","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.99.1","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"e37e7d219a8ab47eeee055e4946430c2ea6e40eb","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.99.1.tgz","fileCount":35,"integrity":"sha512-0wlRybJZK3mSJagJvKh8CDfVykhDQsoB9Mtn9JekZn/FK9WN1GWWv+gxnYRfBoS1sG9+u1J+ZN9VZsCKfRJm9g==","signatures":[{"sig":"MEUCIBwFq8DLBWEjpA4wW56z4DbW1VProH6/izgCpcaCwWeXAiEArKbhxdyDrhLKpaAljFd3lmRCTIw6eIslYW21Uqo29Hk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICzfhGqkQ282VaF0Frhnp0JHO5HR7xasQQdhQaPup2aJAiEA9bStt86z4V85UcQ8T2oii5AYwOYPlSj/78omxTNKaOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.99.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124618},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"d86654abb8862e201933517d6f1fce9f88dd117f","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.99.1","@earendil-works/pi-protocol":"^0.99.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.99.1_1790706011665_0.5597292885064737","host":"s3://npm-registry-packages-npm-production"}},"0.99.2":{"name":"@earendil-works/pi-client","version":"0.99.2","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@0.99.2","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"b7f5cacd073568e27af36001eac1cc86bd1a714e","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-0.99.2.tgz","fileCount":35,"integrity":"sha512-j8dc4gOC3ExalNZqJODfmaT3Ei2nQNMFKDe4KbyGSMbByD/fbKXjbNeQLy2H0aG3L9fZJc4bZh+cR10D3XTfQQ==","signatures":[{"sig":"MEUCIQDDd0z+wXIYJNzZuLxHYAYfcBIpJ5sRMxb7XUJiMBP8wAIgYCxP3BeYFElJZaI6+2tic3Ga/wHeK5IkXm17tXrGO9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA04yKlZDeBi4WLppMeCE0JQpWy07BuHmDSF+CHxSQWNAiAM6Gm7uRL7Jo3miVjg6Ceqg7Ewi++Pn891dplg2/Kr0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@0.99.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124644},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"005af57d88ee23b33778f343a9595b32e67ff788","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@earendil-works/chord":"^0.99.2","@earendil-works/pi-protocol":"^0.99.2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_0.99.2_1790796232449_0.4134275355104047","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@earendil-works/pi-client","version":"1.0.0","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@1.0.0","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"c0e493c7c7e777072e179b499607b1fb5f952571","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-1.0.0.tgz","fileCount":35,"integrity":"sha512-vK7v5eyD+e0JWk8UWWwTRATXVxjqL811cDjoqfXcd2mhe8rC8eHoRQw6d4Zfh857KrWVLNSR0v7snPX3Gu8FSQ==","signatures":[{"sig":"MEUCIQCf8icTRTsjeL4ASKItiLFNrYFx92/w6xikFD9YhveqMwIgeQNyooiP8fvIn+S9g1Occjj0D77G7+PvxulZeU45Zs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBSJ5hRNCh2uoyK0GMY436CAECngZhCtvZqKXs+9U6TsAiEA/MQVC6j8VbPEF6yM8DCcjGI94+aqfVQ2ZF1hu7aWKNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124666},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"a13d35a742c6ef8462812a28fbe1d8c8b7431c32","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"@earendil-works/chord":"^1.0.0","@earendil-works/pi-protocol":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_1.0.0_1790881817606_0.9964648950560451","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@earendil-works/pi-client","version":"1.0.1","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@1.0.1","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"6db9e55da3097c223235fb95681dca217d1b963f","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-1.0.1.tgz","fileCount":35,"integrity":"sha512-TtZqDaIKA36MhCyfZdA4Z04EOaPg65ltaOs2gasQB/2o0CW2lo2nCCRtDycv8jIbW92MbyOaUBaC7flQ4oM96Q==","signatures":[{"sig":"MEUCIGN2HjhjG/2/C2SR6heXiYPAW+eaZxE5fegSNCBdqV+GAiEAwOUVEs1XdQYy6y7cNX9ve9ozENCGeGBqKF3kGjVGHaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICnzb+NJvT7YfI3yiVuZXEsSu3luo2U3d2vbhJxESg19AiEAm3kKE7y3M3bOaCOmrZEGhJzxYopDGPJxaM/nrMIpBfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124691},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"a7229ddc21810d6245105978033b7df645ecc2f7","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"@earendil-works/chord":"^1.0.1","@earendil-works/pi-protocol":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_1.0.1_1791030606991_0.058130744034848414","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@earendil-works/pi-client","version":"1.0.2","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@1.0.2","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"d20b9094bbbed6b8ae058844aeed7e2a4288169a","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-1.0.2.tgz","fileCount":35,"integrity":"sha512-KwznnEx24irb2pBIMeha6iIVyoYtrfpbtKkgw31xVn2Q/yzCbTtMe81a5Ep0BAN001iLn5D+aALjQ9vQDpSnGw==","signatures":[{"sig":"MEUCIQDQ3AlfoKglPCzV9egqamog2NX7TVKZD5nk2pc6I3GnXAIgG7ATn9JH++yKGDOGJLjdBqsMX5SFzIV1UTZgHRvCGCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDbEjI9rBqkfhDVf21zzTs0dYFVJRE8kIFS8c5gbMQxfAiB8+T719P+AqsWmZBmAqABDd1glgwsURVskYrNFSoJ2bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124716},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"cd32f7725fdbddbaecdff5b1e68491563394e0ca","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"@earendil-works/chord":"^1.0.2","@earendil-works/pi-protocol":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_1.0.2_1791075154597_0.6987495926347824","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@earendil-works/pi-client","version":"1.0.3","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@1.0.3","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"416a9989a3a772a10c2faa7c05e29ad5bdcedb6a","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-1.0.3.tgz","fileCount":35,"integrity":"sha512-9kV6FL2wpAIH9skwhgMJLZzcOtNwy2lgQpNmdVfSr1Q6nvx1/T4uENI6AsIRNI6XNlZYEObEjL4zIApAsEKQ4g==","signatures":[{"sig":"MEUCIELL/JjFFqbLp7AmqrhTUuLg0HeQzfWDrA9vZq0xUewlAiEA39cBaeAq9QROD2SlQ2Uod62+feIsVwpIVVPrau/MuRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDjLsJn5qamDAi21hjZb3NZfOWxVFEpfscz3ICRy79emwIhANc92EB39eutuiudAVS8m2PF2pL+EeXEYsQTcO0I8ZIk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124741},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"d78dc83d633229d12f8b79631384c4c2717c399f","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"@earendil-works/chord":"^1.0.3","@earendil-works/pi-protocol":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_1.0.3_1791189070785_0.03230188182043481","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@earendil-works/pi-client","version":"1.0.4","keywords":["pi","client","protocol","cbor","binary"],"author":{"name":"Earendil Works"},"license":"MIT","_id":"@earendil-works/pi-client@1.0.4","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"homepage":"https://github.com/earendil-works/pi#readme","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"4505e1a5520bac61c3575fc87bf2a26f2e53ef71","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-1.0.4.tgz","fileCount":35,"integrity":"sha512-c+hB+VE+K+2990do99wk4m+R7RvRt7A/Wb9JOHWM3c+vCFqZqo8VdU65a+P/hUZp2cVhoxFnzFZsDf9yqaGvUA==","signatures":[{"sig":"MEYCIQCAXitUXWiHJeGZjnN/0daDujw2o+n40emng/49OzRpfgIhAOgPz4dsnnvNnJuqWUWutSCAwKayZsk8Bl4mbGCaFjhw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDWSr6E3NODDsroQeTHnZf9lIfbGlXoERRt76C9YciLawIgSE8mYRSslR/yQvOQtMzedZMgeXlu1lXlcOTf1EPz9wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124766},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"gitHead":"7c10bd4337495ee613f2224843ecdf349b80d1df","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"@earendil-works/chord":"^1.0.4","@earendil-works/pi-protocol":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/pi-client_1.0.4_1791236773937_0.5403607355386875","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@earendil-works/pi-client@1.1.0","bugs":{"url":"https://github.com/earendil-works/pi/issues"},"dist":{"shasum":"785c8dd68e18e42247a28ab4991fc05ecbfbb800","tarball":"https://registry.npmjs.org/@earendil-works/pi-client/-/pi-client-1.1.0.tgz","fileCount":35,"integrity":"sha512-FARsu7NP59wA4tpzNaW6FqHG7N98OzPvwbdTbPE4dgkPzaIMjd0yMiW82Kfx8jqYLX5hujZfoj4SI80D6cOnrw==","signatures":[{"sig":"MEQCIGOx+Zwxnz6QhFO3JdmeAwOHhSAK3OBnO5crAy7jy2veAiBb2Qmbg80zCY0tl3hmR2A1qcQ7NxxHVnsluPL/tI+j3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC9zNYbIncgIJE3U3EPcCgKCSmVRdAZhP0Za97KD9B3egIgeCtCCUrq0BF/5+liZNzDozOy46W4pKALRFCXdB6olTI="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@earendil-works%2fpi-client@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":124791},"main":"./dist/index.js","name":"@earendil-works/pi-client","type":"module","_from":"file:/tmp/pi-package-artifacts-gBWTz8/tarballs/earendil-works-pi-client-1.1.0-14046cbbb34f.tgz","types":"./dist/index.d.ts","author":{"name":"Earendil Works"},"engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./unix":{"types":"./dist/unix.d.ts","import":"./dist/unix.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"test":"vitest --run","build":"tsc -p tsconfig.build.json","clean":"shx rm -rf dist","typecheck":"tsc -p tsconfig.test.json","prepublishOnly":"npm run clean && npm run build"},"version":"1.1.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a5bc2109-2dee-4e85-9c03-e36c70055a82"}},"homepage":"https://github.com/earendil-works/pi#readme","keywords":["pi","client","protocol","cbor","binary"],"_resolved":"/tmp/pi-package-artifacts-gBWTz8/tarballs/earendil-works-pi-client-1.1.0-14046cbbb34f.tgz","_integrity":"sha512-FARsu7NP59wA4tpzNaW6FqHG7N98OzPvwbdTbPE4dgkPzaIMjd0yMiW82Kfx8jqYLX5hujZfoj4SI80D6cOnrw==","repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"_npmVersion":"11.16.0","description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","directories":{},"maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"@earendil-works/chord":"^1.1.0","@earendil-works/pi-protocol":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.3.4","vitest":"4.1.11"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-client_1.1.0_1791411190020_0.6665458463073881"}}},"time":{"created":"2026-08-06T10:51:18.108Z","modified":"2026-10-07T22:13:10.433Z","0.84.0":"2026-08-06T10:51:18.545Z","0.84.1":"2026-08-07T05:56:17.723Z","0.84.2":"2026-08-14T10:05:51.917Z","0.84.3":"2026-08-24T10:59:23.198Z","0.84.4":"2026-08-28T22:03:36.454Z","0.85.0":"2026-09-04T10:13:53.582Z","0.85.1":"2026-09-05T12:04:51.132Z","0.86.0":"2026-09-19T23:09:54.565Z","0.86.1":"2026-09-20T11:13:18.339Z","0.87.0":"2026-09-21T16:41:14.373Z","0.87.1":"2026-09-22T19:38:05.249Z","0.99.0":"2026-09-29T17:17:39.642Z","0.99.1":"2026-09-29T18:20:11.751Z","0.99.2":"2026-09-30T19:23:52.536Z","1.0.0":"2026-10-01T19:10:17.724Z","1.0.1":"2026-10-03T12:30:07.082Z","1.0.2":"2026-10-04T00:52:34.677Z","1.0.3":"2026-10-05T08:31:10.878Z","1.0.4":"2026-10-05T21:46:14.037Z","1.1.0":"2026-10-07T22:13:10.109Z"},"bugs":{"url":"https://github.com/earendil-works/pi/issues"},"author":{"name":"Earendil Works"},"license":"MIT","homepage":"https://github.com/earendil-works/pi#readme","keywords":["pi","client","protocol","cbor","binary"],"repository":{"url":"git+https://github.com/earendil-works/pi.git","type":"git","directory":"packages/client"},"description":"Transport-neutral client for remote pi sessions over framed CBOR bytes","maintainers":[{"name":"mitsuhiko","email":"armin.ronacher@active-4.com"},{"name":"badlogic","email":"mario@badlogicgames.com"},{"name":"rwachtler","email":"r.wachtler@outlook.com"}],"readme":"# @earendil-works/pi-client\n\nTransport-neutral client for the experimental Pi service protocol.\n\n```ts\nimport { Client, type ByteTransportFactory } from \"@earendil-works/pi-client\";\n\nconst transportFactory: ByteTransportFactory = async (handlers) => {\n  // Connect using WebSocket, Unix socket, or another ordered byte transport.\n  return {\n    async send(chunk) {\n      // Deliver bytes in invocation order and honor backpressure.\n    },\n    close() {},\n  };\n};\n\nconst client = await Client.connect({\n  serverId: \"01234567-89ab-4def-8123-456789abcdef\",\n  transportFactory,\n});\nconst result = await client.request(\n  { serverId: client.hello.serverId },\n  { serviceId: \"example.service\", member: \"read\", args: [] },\n);\n```\n\nThe client verifies that the physical endpoint reports the expected logical `serverId`. Server-wide requests carry that ID, and every Session request carries the full live target `{ serverId, sessionId, attachmentId }`. The combined durable address prevents cross-server or cross-session misrouting; the server-generated attachment ID rejects delayed frames after switching or reattaching.\n\nTyped server and Session APIs are provided by Chord service bindings owned by the application. `createClientServiceTransport()` adapts a lazily resolved server or Session route to a Chord transport; `request()` and `subscribeService()` remain its low-level primitives. The client uses Chord's service-control parsers and per-subscription state decoder; `pi-protocol` only validates the routed envelope and strict-JSON boundary. A service subscription returns a complete provider snapshot; the binding installs it and then calls `start()` to release updates buffered during hydration. `Client` applies ordered out-of-band attachment changes but deliberately does not construct typed service proxies or interpret application contracts.\n\nApplication observation APIs such as the coding agent's `Transcript` are ordinary Chord services. The client does not interpret their snapshots or updates.\n\nOn disconnect or disposal, pending requests reject locally, but accepted work may still complete remotely before the attachment is released. The client clears its live attachment route. It never reconnects or replays requests automatically. After disconnection, call `reconnect()`, attach through the application's management service again, and explicitly repeat only operations known to be safe.\n\nThe experimental local coordinator only provides a stable endpoint and relays traffic. Replaceable server processes own Session and worker lifecycle outside the public client protocol.\n\nCall transport handlers as follows:\n\n- `handlers.onData(chunk)` for inbound bytes;\n- `handlers.onClose()` for an orderly terminal close;\n- `handlers.onError(error)` for transport failures.\n\nA transport factory creates a fresh authenticated connection for each attempt. Requests are correlated by ID, and server failures are exposed as `ServerError`.\n\n## Unix-domain sockets\n\nNode.js and Bun consumers can use the separate Unix transport:\n\n```ts\nimport { Client } from \"@earendil-works/pi-client\";\nimport { createUnixTransportFactory } from \"@earendil-works/pi-client/unix\";\n\nconst client = new Client({\n  serverId: \"01234567-89ab-4def-8123-456789abcdef\",\n  transportFactory: createUnixTransportFactory({ path: \"/tmp/pi.sock\" }),\n});\nawait client.connect();\n```\n\nUnix discovery scans an explicit physical-route directory, derives each expected server ID from its filename, and verifies it through the existing handshake:\n\n```ts\nimport { discoverUnixServers } from \"@earendil-works/pi-client/unix\";\n\nconst routes = await discoverUnixServers({ directory: \"/run/user/1000/pi\" });\n// [{ serverId: \"...\", path: \"/run/user/1000/pi/<serverId>.sock\" }]\n```\n\nMalformed entries, non-sockets, stale or unresponsive endpoints, and server-ID mismatches are ignored. Discovery is read-only and probes at most 16 sockets concurrently. Unexpected filesystem and socket errors reject discovery. Pass `timeoutMs` to override the default probe timeout.\n\n`ClientOptions.maxFrameLength` bounds protocol payloads. `maxPendingBytes` bounds queued Unix transport output. Configure matching limits on both peers.\n","readmeFilename":"README.md"}