{"_id":"@spider-mesh/tcp","_rev":"43-a0a41d481a9d52a64fb384049679c9cf","name":"@spider-mesh/tcp","dist-tags":{"latest":"3.0.1"},"versions":{"1.0.138":{"name":"@spider-mesh/tcp","version":"1.0.138","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@1.0.138","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"cd83b04a41f4078ea5e1484a0bb83ae6065a5710","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-1.0.138.tgz","fileCount":29,"integrity":"sha512-DjdmMsqd/HmTv4ldS8zhDVmNxg/zDaTA+f2+Wa9Bz2w2UGt3VFcwxy6m4sBjril9mfAhhxH+Cqfkpgrb9wevmg==","signatures":[{"sig":"MEYCIQDPP2dF3dh2iSAPWHNHDuk98I9GrYTij6LAUoXoiOMgnwIhALXK3ZGn1+VehKiEZk82ny7E/lRDrwCr6f3LbfcAuJSA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38326},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"4d3cc19621a3950fe89ec1c4ec880d966b4075a8","scripts":{"dev":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git"},"_npmVersion":"10.5.0","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"20.12.2","dependencies":{"rxjs":"^7.8.1","frame-stream":"^4.0.0","@spider-mesh/core":"^1.0.137"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.0.4","@types/node":"^18.16.0"},"_npmOperationalInternal":{"tmp":"tmp/tcp_1.0.138_1724647274125_0.6076493477189822","host":"s3://npm-registry-packages"}},"1.0.140":{"name":"@spider-mesh/tcp","version":"1.0.140","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@1.0.140","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"1504b9d7611be2bca4cc7b9a1fce814cdbd3f4bd","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-1.0.140.tgz","fileCount":29,"integrity":"sha512-JDRn+CBni6LnQvTTrYPC/sGMVGCVUFdfGqWp7GuNtFY7y6Czp00EHc6JsWlWU75mZ2q2A4n6MkeqJ+CQgnNPag==","signatures":[{"sig":"MEQCIDzlVIPyENACa6QVF6GSpLNARP8vs+0fKfx0Z1ntBrFSAiAVoWC8c6onLUc9NU52b0FL0MyHOiERgetL2AYzoeX02A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38326},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"b59df9b63444d8a7cc7e57b80e690b21fd4629c8","scripts":{"dev":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git"},"_npmVersion":"10.5.0","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"20.12.2","dependencies":{"rxjs":"^7.8.1","frame-stream":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.0.4","@types/node":"^18.16.0","@spider-mesh/core":"^1.0.140"},"_npmOperationalInternal":{"tmp":"tmp/tcp_1.0.140_1724654837073_0.9192456227316519","host":"s3://npm-registry-packages"}},"1.0.143":{"name":"@spider-mesh/tcp","version":"1.0.143","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@1.0.143","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"49b93ec810358b908c11747d317efafbe4736e5a","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-1.0.143.tgz","fileCount":29,"integrity":"sha512-lOVncK3cxP15vsNQ8Yw6bA89HO3XwG5cVmYKwSpqF7KQQX9zGzOpCXXs/DJKyr2XqKZlhEkBP8CKeujCCTuo/w==","signatures":[{"sig":"MEYCIQDp8R2Y4gq312+CJua7z8BCmwzrklvNJvV5sPAKNr5p2AIhAPzsepbnAjwXoqHwruSTRjAKHkxb0FqLv8cZ+JadZPOE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38326},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"d276ff03424ef3704689ee4b7cc32295d8873181","scripts":{"dev":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git"},"_npmVersion":"10.5.0","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"20.12.2","dependencies":{"rxjs":"^7.8.1","frame-stream":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.0.4","@types/node":"^18.16.0","@spider-mesh/core":"^1.0.140"},"_npmOperationalInternal":{"tmp":"tmp/tcp_1.0.143_1724896339343_0.7061013094628383","host":"s3://npm-registry-packages"}},"1.0.146":{"name":"@spider-mesh/tcp","version":"1.0.146","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@1.0.146","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"3b6edbf77d08a51220099d4aee6162f7a23c0f5a","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-1.0.146.tgz","fileCount":29,"integrity":"sha512-J57T6/jOp7R5V3RvR1DJjpajLydRrDOB4PfNHMVsVsFEpbvU7qKGMqbe+kbbba+FF0krb+PFHbGzdNYi8gy3FQ==","signatures":[{"sig":"MEUCIEvAKvpgk56keaAtDo4KnEnEIkgyJCiP4coHk35qhQBwAiEAoyGUhbe0hh9/V8l5DzsJjLZNIW5Y19878AdVfNq8bz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39084},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"665e5439f56944414ac5db2d83e81fb36686462e","scripts":{"dev":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git"},"_npmVersion":"10.5.0","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"20.12.2","dependencies":{"rxjs":"^7.8.1","frame-stream":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.0.4","@types/node":"^22.7.9","@spider-mesh/core":"^1.0.140"},"_npmOperationalInternal":{"tmp":"tmp/tcp_1.0.146_1729755362997_0.3743288157126179","host":"s3://npm-registry-packages"}},"1.0.152":{"name":"@spider-mesh/tcp","version":"1.0.152","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@1.0.152","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"1626bc178aef67c6fce6fc0dc43d2778cb7ec150","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-1.0.152.tgz","fileCount":29,"integrity":"sha512-HbLsaiAXcLeHNBxzb4be4jtKq0AwFOkcQ9DP0THM8TIIm2lPIXYpLGAdhGBotewn2F5ZQbEYPAPvro0ugFwZeg==","signatures":[{"sig":"MEUCIAXQxXQDRV9sCI3I3edYxq6zby57eqihO30a+dwhhcF/AiEAsDde+wWSQPOCtm8jMLvzLfzcmH2NrydEyyjCYfbR2Rk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39463},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"32143c06bcd457b0e86617c2cf3eeddf340d1381","scripts":{"dev":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git"},"_npmVersion":"10.5.0","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"20.12.2","dependencies":{"rxjs":"^7.8.1","frame-stream":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","typescript":"^5.0.4","@types/node":"^22.7.9","@spider-mesh/core":"^1.0.140"},"_npmOperationalInternal":{"tmp":"tmp/tcp_1.0.152_1734699086559_0.44318242186235146","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@spider-mesh/tcp","version":"2.0.3","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.3","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"96e5d6bb84eb7683187af015b5ea5d10071476d4","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.3.tgz","fileCount":31,"integrity":"sha512-q0S8WiSpinnjWZYKaHtKt4d1q3jwgHI0G3drhhbHNS8JbxdYKsceJIAHmNuu6RJZxkEciqxh4qatol22PLG59w==","signatures":[{"sig":"MEYCIQDtcCsLvbF09ta0D8d+r7Fdpz+ahPQH5zOkOTGIM6kwlwIhAP5RRfYU3GcGdjSvRt8PkQOHDsa+hmyCT1f2FHV0ERch","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48309},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"96e5d6bb84eb7683187af015b5ea5d10071476d4","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-q0S8WiSpinnjWZYKaHtKt4d1q3jwgHI0G3drhhbHNS8JbxdYKsceJIAHmNuu6RJZxkEciqxh4qatol22PLG59w==","repository":{"url":"https://github.com/spider-mesh/tcp"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"rxjs":"^7.8.2","msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@types/msgpack":"^0.0.34","reflect-metadata":"^0.2.2","@spider-mesh/core":"2.0.2","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.3_1759858772608_0.4078567866303442","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@spider-mesh/tcp","version":"2.0.4","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.4","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"a9b82557c3023d10ec176dbd74dccdd5da09e2ce","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.4.tgz","fileCount":31,"integrity":"sha512-HYb0OzOfPVdPz4AAxDJ2ixZpBuo+UwtNo7UbGrR+KvdjpV5ZHeBy48LD4iBaA0wVX7OrKzoSQa/o2zefcII8mg==","signatures":[{"sig":"MEYCIQD8jWH4fQw1Nb72/Iz66+TVlZhwu7GGMmaTsqWAFmWO+gIhAMKy+GUM+Mg11TZgpMFj7V/er8wTegBUXxzoE9omjuQV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48309},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"a9b82557c3023d10ec176dbd74dccdd5da09e2ce","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-HYb0OzOfPVdPz4AAxDJ2ixZpBuo+UwtNo7UbGrR+KvdjpV5ZHeBy48LD4iBaA0wVX7OrKzoSQa/o2zefcII8mg==","repository":{"url":"https://github.com/spider-mesh/tcp"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"rxjs":"^7.8.2","msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@types/msgpack":"^0.0.34","reflect-metadata":"^0.2.2","@spider-mesh/core":"2.0.4","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.4_1759925453574_0.8165101916896791","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@spider-mesh/tcp","version":"2.0.5","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.5","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"215bd2c85cd89093ec2e864c3bdb31dc04164f4c","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.5.tgz","fileCount":31,"integrity":"sha512-uG69hgpYW52KlGiTpw1IoFRpPYv2eq63E2YmtVUeyfJGITlPRRkvnJcrcsTwT2ePB9mjgeldmHwemGT2l+sfLQ==","signatures":[{"sig":"MEYCIQD0WTdH3PCRXD8Id65CbImG0+ROCTNSvEf4aSyheCZUaQIhAOD3iYtwpwQcfQvM2+t3mwSgVj5B7XIYiXzRx3s6PBQq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48311},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"215bd2c85cd89093ec2e864c3bdb31dc04164f4c","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-uG69hgpYW52KlGiTpw1IoFRpPYv2eq63E2YmtVUeyfJGITlPRRkvnJcrcsTwT2ePB9mjgeldmHwemGT2l+sfLQ==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.5_1759925986534_0.016823806324487434","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@spider-mesh/tcp","version":"2.0.6","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.6","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"00cf278ae0f9819d78dccf4c6ed0c4438a538362","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.6.tgz","fileCount":31,"integrity":"sha512-uv111GFR2VOBrbTwyYdRect6PNpsvLCBISahfjGTvqEmQ36QLpfyhSgfReZW2jlygucsFDOFFMnftQI+oUcANA==","signatures":[{"sig":"MEYCIQC+O++fb5kEbD56e/0RsRVU/HzAV8LCt0pQzfUVuc9Y2wIhAK37Nby6zb1Pt3z1480b7vNICKzMnuSoNxMhetXnHQcN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47059},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"00cf278ae0f9819d78dccf4c6ed0c4438a538362","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-uv111GFR2VOBrbTwyYdRect6PNpsvLCBISahfjGTvqEmQ36QLpfyhSgfReZW2jlygucsFDOFFMnftQI+oUcANA==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.6"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.6_1759928925936_0.8314447438105244","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@spider-mesh/tcp","version":"2.0.7","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.7","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"91427a2370d9c3c1c7aad6e5d295ec14cfd7dd34","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.7.tgz","fileCount":31,"integrity":"sha512-NroOo8cyjQYGNYHy1ghzsG+xtLp1txHb0tWYYqi9O9SL+BV9n5LvXBQMh8WwWxldg+3aM3+FPL4pXNBqfxwzQw==","signatures":[{"sig":"MEUCIAFOtXqKJGlEghMXUnVHgMuCsfWJ43nqJWZP5WniXdSCAiEAtl7lVF5KxclhUURoW6axO5dWEy2fxgUYBQugMb2NfFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47396},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"91427a2370d9c3c1c7aad6e5d295ec14cfd7dd34","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-NroOo8cyjQYGNYHy1ghzsG+xtLp1txHb0tWYYqi9O9SL+BV9n5LvXBQMh8WwWxldg+3aM3+FPL4pXNBqfxwzQw==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.7_1759937799478_0.0035632193119847777","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@spider-mesh/tcp","version":"2.0.8","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.8","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"593f026cb843f70c3fbf82cf2e04167045c91862","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.8.tgz","fileCount":31,"integrity":"sha512-9m4H8tqAna0hfpZaZzYEIR8mWvrzjS6xF6Geu7h/y/j0IWp0S7HgCb0ajvrWea0os+gEqq/EfpreygNy70gQ8g==","signatures":[{"sig":"MEUCIEXfO2MeHqv2EETuDXRm7eHA2Q7vuOvrASDvw2LdjvVDAiEAn+4c3rCoOrZwP981HWMFOp+6dGVzspu4HFgPuVPPiMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47556},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"593f026cb843f70c3fbf82cf2e04167045c91862","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-9m4H8tqAna0hfpZaZzYEIR8mWvrzjS6xF6Geu7h/y/j0IWp0S7HgCb0ajvrWea0os+gEqq/EfpreygNy70gQ8g==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.7"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.8_1759942561859_0.7344597162064515","host":"s3://npm-registry-packages-npm-production"}},"2.0.14":{"name":"@spider-mesh/tcp","version":"2.0.14","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.14","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"feb7d9ebf903514153c10caddf407f561bd24068","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.14.tgz","fileCount":31,"integrity":"sha512-zTN7hV43VGwkQ1Tp2QuBdeFfkAVrmspYcYjpEme3Zjz/NmgNOlr0ClGUwfGMuyYJyAgDn/BnT/yrhFKDvuJjNA==","signatures":[{"sig":"MEUCIQCGRM0sQeabXFxLNklSd6vqe906oOB8JPRoUtnWgbKKIAIgHdt+peP9i7ZJLAf8PxxNocOZEhpodRZZF/LtIC0PFW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47558},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"feb7d9ebf903514153c10caddf407f561bd24068","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-zTN7hV43VGwkQ1Tp2QuBdeFfkAVrmspYcYjpEme3Zjz/NmgNOlr0ClGUwfGMuyYJyAgDn/BnT/yrhFKDvuJjNA==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.14"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.14_1760721093808_0.5972474706948363","host":"s3://npm-registry-packages-npm-production"}},"2.0.16":{"name":"@spider-mesh/tcp","version":"2.0.16","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.16","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"53e6f9fbc0b566fe34a2b401c17c0342f79a42fc","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.16.tgz","fileCount":31,"integrity":"sha512-heqtufeHE+7fBQaWZOTEmoVJJRjkFatTeHMqM8IHQ1KKXqkXRW6JDlNGMvimhwjbQC4ygPJFfEggO01LSf0lfg==","signatures":[{"sig":"MEUCIQDtORGx39jFbSCBqKuBkcIN3YQiWYFc+/iTqIx3fGaMlgIgQJurSDRY2xf3vlU0qxgFUjVmWj7iVwnC0GXSiNRWglo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47558},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"53e6f9fbc0b566fe34a2b401c17c0342f79a42fc","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-heqtufeHE+7fBQaWZOTEmoVJJRjkFatTeHMqM8IHQ1KKXqkXRW6JDlNGMvimhwjbQC4ygPJFfEggO01LSf0lfg==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.16"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.16_1760722388148_0.7991805722179606","host":"s3://npm-registry-packages-npm-production"}},"2.0.17":{"name":"@spider-mesh/tcp","version":"2.0.17","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.17","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"861bb1f6c463a42e857402e33a8228338d2043ed","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.17.tgz","fileCount":31,"integrity":"sha512-+FsL1FBW4QwHzYHlWaWwFgg/CCAX286B5hWNt9eA4ayv82RyETeFsBmqklH4tNeLM7XB5+xNlbI66WRzRMDkyg==","signatures":[{"sig":"MEQCIEa6MsPfXwRZZVkEWqB86tFkjEAaYMj4z/ujI0ARZ4IXAiBCil7pAylvbmL7+OXFue+je97V9UPLVi7FsVWy9TTiRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47558},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"861bb1f6c463a42e857402e33a8228338d2043ed","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-+FsL1FBW4QwHzYHlWaWwFgg/CCAX286B5hWNt9eA4ayv82RyETeFsBmqklH4tNeLM7XB5+xNlbI66WRzRMDkyg==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.17"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.17_1760723027406_0.08287574146631993","host":"s3://npm-registry-packages-npm-production"}},"2.0.18":{"name":"@spider-mesh/tcp","version":"2.0.18","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.18","maintainers":[{"name":"duongvanba","email":"duongvanba197@gmail.com"}],"dist":{"shasum":"281f396a14333d83ccb204430e3baa6faf05a01d","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.18.tgz","fileCount":31,"integrity":"sha512-jyAGbwvi4tVTegiXLO9TeFOR0OHyIiY/sZI8oUQD9VH6kz5kdy4c620SyxakI5AomEbKfhx/e2ifjXJXuE2M1A==","signatures":[{"sig":"MEQCIHIrWazGzP4Rl2Jh6oCuyFg8754hZUvXJKYwvFP62nGTAiAmJ2pcFLRACFrx7qPlg/LSUGXr2i5xBYy3TLSYUHbU5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47662},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"281f396a14333d83ccb204430e3baa6faf05a01d","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba197@gmail.com"},"_integrity":"sha512-jyAGbwvi4tVTegiXLO9TeFOR0OHyIiY/sZI8oUQD9VH6kz5kdy4c620SyxakI5AomEbKfhx/e2ifjXJXuE2M1A==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.17"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.18_1760764393526_0.9682729302506106","host":"s3://npm-registry-packages-npm-production"}},"2.0.19":{"name":"@spider-mesh/tcp","version":"2.0.19","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.19","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"080e72b9ae799d0547345c9d4ea93df57c256cd8","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.19.tgz","fileCount":31,"integrity":"sha512-hn+JQAHNP8H41Rwg98WgEuqxKpx8WSH2UTRcZ91yvloYBUa2rq0qo92cCBe1WpfA0qgSQuvCdzqi84EZHa0KaQ==","signatures":[{"sig":"MEQCIGTZqlq5mGURtrGF/xGQSFP0zxGBChucdYh6x2NTXfLLAiA6PJSEiVk40TxHvUXj45O0qRYmAA1+LRCFDrekvYop8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47832},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"080e72b9ae799d0547345c9d4ea93df57c256cd8","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-hn+JQAHNP8H41Rwg98WgEuqxKpx8WSH2UTRcZ91yvloYBUa2rq0qo92cCBe1WpfA0qgSQuvCdzqi84EZHa0KaQ==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.17"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.19_1774154853075_0.41746508680815286","host":"s3://npm-registry-packages-npm-production"}},"2.0.20":{"name":"@spider-mesh/tcp","version":"2.0.20","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.20","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"64de7658558deb94ab3c9ae4daa789d8a34d9d21","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.20.tgz","fileCount":31,"integrity":"sha512-UHA0+iKV6NBj1wSEhPks+c6XpVUuJzTcjTHFkf2Jc6UKS9P/NnLc+UcPL/XjvdTe9IWHj3/UbGTdcjOIjwyOIw==","signatures":[{"sig":"MEUCICAMOlYlf64hXo/aWCJ5wMLzeqlvzBueI45nxMjOca8dAiEApELI7ep9O/Fvhptp+rzwfKgcCXArPLFBjOOpxi6XMAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48540},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"64de7658558deb94ab3c9ae4daa789d8a34d9d21","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-UHA0+iKV6NBj1wSEhPks+c6XpVUuJzTcjTHFkf2Jc6UKS9P/NnLc+UcPL/XjvdTe9IWHj3/UbGTdcjOIjwyOIw==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.17"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.20_1774172454382_0.40170458595113034","host":"s3://npm-registry-packages-npm-production"}},"2.0.21":{"name":"@spider-mesh/tcp","version":"2.0.21","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.21","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"59889d4c5f358903d7d0be9cd4013df3593e7529","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.21.tgz","fileCount":31,"integrity":"sha512-PwmfKEba5jzIIJoZJQNTOuNdL+9+pthifdAIhiMe6KgduxsDcsk12X5DVRfOhUP4cM6GNeB2dwJJCDrt/e9l1A==","signatures":[{"sig":"MEYCIQCpV5mu6TQlTLm50Ob8itNKcMPIaKZCLuF3u4+tTXI3DwIhAKTFDP/sHg0bWfz+p9LrXHW139OWY4u69dK3JK/ie2vV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48734},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"59889d4c5f358903d7d0be9cd4013df3593e7529","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-PwmfKEba5jzIIJoZJQNTOuNdL+9+pthifdAIhiMe6KgduxsDcsk12X5DVRfOhUP4cM6GNeB2dwJJCDrt/e9l1A==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.17"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.21_1774173256013_0.5721549819800531","host":"s3://npm-registry-packages-npm-production"}},"2.0.22":{"name":"@spider-mesh/tcp","version":"2.0.22","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.22","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"ffb76456587604919e35713e5b57601e02569f7c","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.22.tgz","fileCount":31,"integrity":"sha512-4k6CtF+SMS2o8kjtyVU7gaSjSnc8f6wOuAiBS6oJPM2YbRFCX0Y1FdrUeGMRYxf+Ac04FVFS3as3VI6dFwPjFA==","signatures":[{"sig":"MEUCIQC7Zp85kduChZTdoolkT5shreCaM4LBagyBMKfPx9V0zAIgWGqlaqqCxSBXwsg2/fyybyR5JugJWr/ZrjZQyVAU8W8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48427},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"ffb76456587604919e35713e5b57601e02569f7c","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-4k6CtF+SMS2o8kjtyVU7gaSjSnc8f6wOuAiBS6oJPM2YbRFCX0Y1FdrUeGMRYxf+Ac04FVFS3as3VI6dFwPjFA==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.17"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.22_1774408962885_0.92184174817229","host":"s3://npm-registry-packages-npm-production"}},"2.0.23":{"name":"@spider-mesh/tcp","version":"2.0.23","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.23","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"41d1b3114c3df8284480c406e30e78cb0794b203","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.23.tgz","fileCount":31,"integrity":"sha512-J+tSzPrbHPDHEZGI+WX+HBsniPA5KwiVSdyr0qlVcC6nxkgCj6cb+qvdbMSTu39ZxJ+QL5d5VWdeq2QSMLfQXQ==","signatures":[{"sig":"MEQCIHvl44Nb7x82bCKLFjR9xX9qEqiFaviLUFNzgGBy1KgFAiBdmIzbIv71HGzLKMB9EGu7DH2BSSz/ZrLMZWRc7wMopg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48919},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"41d1b3114c3df8284480c406e30e78cb0794b203","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"x":"clear; node --no-warnings --es-module-specifier-resolution=node --experimental-specifier-resolution=node --loader ts-node/esm ","dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-J+tSzPrbHPDHEZGI+WX+HBsniPA5KwiVSdyr0qlVcC6nxkgCj6cb+qvdbMSTu39ZxJ+QL5d5VWdeq2QSMLfQXQ==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5","@grpc/grpc-js":"^1.12.6","@grpc/proto-loader":"^0.7.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{"@spider-mesh/core":"^2.0.17"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.23_1775289794334_0.19907075640756133","host":"s3://npm-registry-packages-npm-production"}},"2.0.26":{"name":"@spider-mesh/tcp","version":"2.0.26","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.26","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"dde2026af368db905c7ce2744337280ac2987036","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.26.tgz","fileCount":22,"integrity":"sha512-9pkfjSZbqLZbeYuttK1wg28pMTpBFUR65tNs9+QNQwVn1IIW83QRBOb2QQ7f7a8fChlin6tT3uJR3kp9VpXYXA==","signatures":[{"sig":"MEUCIFkjKZ6nc9NgYudWSbBcE1fCoXTNQm7oLRMTB1jqN7y5AiEAk1/f137r6BETal1vBF0CeqHV+Jhfbeb8Iq+sz83cuZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41376},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"dde2026af368db905c7ce2744337280ac2987036","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-9pkfjSZbqLZbeYuttK1wg28pMTpBFUR65tNs9+QNQwVn1IIW83QRBOb2QQ7f7a8fChlin6tT3uJR3kp9VpXYXA==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.26_1775384441730_0.2960182058628966","host":"s3://npm-registry-packages-npm-production"}},"2.0.28":{"name":"@spider-mesh/tcp","version":"2.0.28","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.28","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"195a84e79c94568ddc6f383ea7c27d45db37982f","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.28.tgz","fileCount":19,"integrity":"sha512-69CGwc7fjxiZVRd1iNGODUZ/0G12dJQrnidWiZ5q3ARM3ME9gb2c2qZwUvUshHRQxE0BlNuUE/Xuo4jYPxxizg==","signatures":[{"sig":"MEYCIQD15d36PaNZTk/uA5fPMOS2s8Mj+RDdkTdUOnfyRNr0/wIhAM2ts1VPWsQmaIsIwwYIDzQKOLZWBw3buSWV+PlsW7d8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41834},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"195a84e79c94568ddc6f383ea7c27d45db37982f","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-69CGwc7fjxiZVRd1iNGODUZ/0G12dJQrnidWiZ5q3ARM3ME9gb2c2qZwUvUshHRQxE0BlNuUE/Xuo4jYPxxizg==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^22.10.5","@types/msgpack":"^0.0.34","@spider-mesh/types":"^2.0.28"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.28_1775579264591_0.9228587170534475","host":"s3://npm-registry-packages-npm-production"}},"2.0.29":{"name":"@spider-mesh/tcp","version":"2.0.29","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.29","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"12d6d9c6cd478de4dda3d45f255f693e2bd533a4","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.29.tgz","fileCount":19,"integrity":"sha512-G9e9fqiu80fM+KJZ9gIHsAq10J5H4b75fL2xSVY+PPrD7z43psvel8pk/RwP/ijV0/ZtBgpJ/eF3x73YUDrKfA==","signatures":[{"sig":"MEUCIFvR3lcXSODzTdZ37XCbH05QaNBbPVs0HXLZRN7xJg0RAiEA+x7S81z8eiAhax6IAKB585rHHgKJAyFg9twIs7c4Gts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41589},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"12d6d9c6cd478de4dda3d45f255f693e2bd533a4","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-G9e9fqiu80fM+KJZ9gIHsAq10J5H4b75fL2xSVY+PPrD7z43psvel8pk/RwP/ijV0/ZtBgpJ/eF3x73YUDrKfA==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/types":"^2.0.28"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.29_1776252399005_0.9380818095644674","host":"s3://npm-registry-packages-npm-production"}},"2.0.30":{"name":"@spider-mesh/tcp","version":"2.0.30","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.30","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"b44610f2f23437e2c782b30f2e9278adceb72f2b","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.30.tgz","fileCount":19,"integrity":"sha512-WzX02oB6uEBV/81sB4biSN2d0YpJNgO8UJfqKhYdt+ol8LORyr8pchJlTJA32CLCjgXENOCOF8FXV8eiUMyDng==","signatures":[{"sig":"MEUCIQDL3kAmjlzd1lavkmzgjfoxe4dE0fkGyVuw4e8XX452RwIgf71xCm6vIBsIksNbQ+pG2C0B7NoSHYKqvUA/bPSrxJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43827},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"b44610f2f23437e2c782b30f2e9278adceb72f2b","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-WzX02oB6uEBV/81sB4biSN2d0YpJNgO8UJfqKhYdt+ol8LORyr8pchJlTJA32CLCjgXENOCOF8FXV8eiUMyDng==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/types":"^2.0.28"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.30_1776403408106_0.06699525768658621","host":"s3://npm-registry-packages-npm-production"}},"2.0.31":{"name":"@spider-mesh/tcp","version":"2.0.31","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.31","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"b13c29cc85fa37b8c1be6fdf640f2381ccfee90a","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.31.tgz","fileCount":19,"integrity":"sha512-eEzLpyCCzqJU0aLu4Ial3NL53dbB5ZLImcVuxu6FQefRxvvAbDT6M6IXY/V2wGU9MNFZtb6rdGJge4o01pNMcg==","signatures":[{"sig":"MEYCIQC7fDj5iC2KdUPOsPXj3m7Oif4Zp5Emq7h//8NQ6KUTNwIhAPwZHx62YNXTWXGQ2unukKijvLG/1sHX9qMOuIcymgQQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44163},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"b13c29cc85fa37b8c1be6fdf640f2381ccfee90a","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-eEzLpyCCzqJU0aLu4Ial3NL53dbB5ZLImcVuxu6FQefRxvvAbDT6M6IXY/V2wGU9MNFZtb6rdGJge4o01pNMcg==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/types":"^2.0.28"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.31_1776487303130_0.00463266543243801","host":"s3://npm-registry-packages-npm-production"}},"2.0.32":{"name":"@spider-mesh/tcp","version":"2.0.32","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.32","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"33cb1856c5c8ea6f924b1f09bcc204645628fea9","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.32.tgz","fileCount":19,"integrity":"sha512-uQ4vlkYOyZUE830U2S6boERUy+LArAv+e/pSk07QyDfMGokbrfZ2UBvy2wIueNYUrWHO+YkCtgUsJD3qMVg4Qw==","signatures":[{"sig":"MEUCIQDB1uWQj806f0CNN4K/iJ8IiSHI2z1aK5FlCWH2uDDO+QIgbvVl2sK0qZhymYZXP3sAmrfN862CxRQ/N6ssVm/WcUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44166},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"33cb1856c5c8ea6f924b1f09bcc204645628fea9","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-uQ4vlkYOyZUE830U2S6boERUy+LArAv+e/pSk07QyDfMGokbrfZ2UBvy2wIueNYUrWHO+YkCtgUsJD3qMVg4Qw==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/types":"^2.0.28"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.32_1776535873967_0.40112862139075345","host":"s3://npm-registry-packages-npm-production"}},"2.0.36":{"name":"@spider-mesh/tcp","version":"2.0.36","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.36","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"f222f9e5ed58c5911978905a6fdfbd78b00f9984","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.36.tgz","fileCount":25,"integrity":"sha512-hhmO6Wmvl0CddEg/XwbWpnK92eJdEkJscNXC6P6NDaGjDu8O9HFnE4qhsDqJCcOoSDGsVhxAFZBZi6D5UkZqeg==","signatures":[{"sig":"MEUCIDMkmEFllUINx1OVN920IZ625GMJlciDAyXk8k+RSJPnAiEAusL1VZQFTmCIcT7oMzewv3mJxrEVy+24JMWFE/XgvZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55834},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"f222f9e5ed58c5911978905a6fdfbd78b00f9984","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-hhmO6Wmvl0CddEg/XwbWpnK92eJdEkJscNXC6P6NDaGjDu8O9HFnE4qhsDqJCcOoSDGsVhxAFZBZi6D5UkZqeg==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.36"},"peerDependencies":{"@spider-mesh/core":"^2.0.36"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.36_1777880764793_0.21756773492917736","host":"s3://npm-registry-packages-npm-production"}},"2.0.37":{"name":"@spider-mesh/tcp","version":"2.0.37","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.37","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"89fcaabf73510a868965d70c45d07702d10ee5d5","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.37.tgz","fileCount":25,"integrity":"sha512-GSTmcDNmVJJv53gApe0grqUlyTq4ikd+bonAm3TiQfE5q2h3msYeWqiEyhLg5YdKqcHNSQbsCIEj8qAVMmyPBA==","signatures":[{"sig":"MEUCIEUk6lt06PO+au7BfgHRvMvcuJzImPr7/nziuBXgI7+GAiEAyFgyRyGryd2KBKA5UT9M2W/Rlp88EC1JhL87Ko1ZdCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55834},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"89fcaabf73510a868965d70c45d07702d10ee5d5","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-GSTmcDNmVJJv53gApe0grqUlyTq4ikd+bonAm3TiQfE5q2h3msYeWqiEyhLg5YdKqcHNSQbsCIEj8qAVMmyPBA==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.37"},"peerDependencies":{"@spider-mesh/core":"^2.0.37"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.37_1777880960624_0.5638941147940482","host":"s3://npm-registry-packages-npm-production"}},"2.0.38":{"name":"@spider-mesh/tcp","version":"2.0.38","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@2.0.38","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"3873d318a5651efd842cac75d35c06ef28b3bca0","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.38.tgz","fileCount":25,"integrity":"sha512-v00Bx5P3QSC0kypRSlQrasHBuXf21H1aDubC1Eny7nzukLqZwTMInneUFmKiHl+6JAYciHsf24Wp137G5HPnMg==","signatures":[{"sig":"MEYCIQCCNNMjmiFnHbd/tkJtNyot8bki7MbR6/imoHsT2D2/5wIhAMe4vLP6zkrFztrLl13Q8l4pW/f4obSBbB+GUC9AOlHA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56003},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"0620d38ac370e7b00f9b79e11fc8e0a268a0ff3d","scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"11.6.2","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.38"},"peerDependencies":{"@spider-mesh/core":"^2.0.38"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.38_1777885916597_0.15286799949105467","host":"s3://npm-registry-packages-npm-production"}},"2.0.40":{"name":"@spider-mesh/tcp","version":"2.0.40","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@2.0.40","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"f13de0543846d2e26c75b8b6f0e212b735366d37","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.40.tgz","fileCount":25,"integrity":"sha512-efM+kmVOeh/y0hjwEcKI0QrScqMAIJ+hhunBL5nTjCl1dX7/DbvI8VOhR2gE/YK6llIh1nGfnwMnx2E8kUWg8A==","signatures":[{"sig":"MEYCIQChq4URvfotBfZMNvHGyxh9YGrMj+uGY0QPzncmRC00wwIhAIC2aNgX2FfIt8tdAdcxiVbMvfiduXKoGQF8a2D78IER","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55531},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"03a33feb6504540673506527c421b39f042056bc","scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"11.6.2","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"25.2.1","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.40"},"peerDependencies":{"@spider-mesh/core":"^2.0.40"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.40_1777895605882_0.04249581101782929","host":"s3://npm-registry-packages-npm-production"}},"2.0.41":{"name":"@spider-mesh/tcp","version":"2.0.41","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@2.0.41","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"e81385eb2d4feb90d6f9d90a344cab7e9939b25f","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.41.tgz","fileCount":25,"integrity":"sha512-CSlhex3ABbdn/EuKcddB1qccg9UTx+iWrF9IOv7ahEtcT795MV+AxUzlBand0QcZETrUXNMFeBHKqeXAqjiYYw==","signatures":[{"sig":"MEQCICuhP7TvKySOyEcEdCAdEADolGRw0NzbCMRI3EW4K4SvAiAqV6L5+ETEUY3jlfW0UbWLuHF3oKr6Yme+SpCASlac6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55531},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"132163796f1d596b5b109f457d0def9b1283471d","scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"11.6.2","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.41"},"peerDependencies":{"@spider-mesh/core":"^2.0.41"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.41_1777904024181_0.37243536616329487","host":"s3://npm-registry-packages-npm-production"}},"2.0.42":{"name":"@spider-mesh/tcp","version":"2.0.42","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.42","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"7f20e4023e9643bbcffe871f6f27cfbafab2d232","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.42.tgz","fileCount":22,"integrity":"sha512-bIC+VpTFcnJsq3xWG5i2KyBp2hYyjJg6a/BPBdloGv3ceejw7BMne7ByZ5zQKU8wnAb6IiKqELYNVvjTmggv+w==","signatures":[{"sig":"MEYCIQChygmnBqacFV+2+3GMUkENy8FK3mKBTRDX/t6XfMjlYQIhAO6It7Cix7bI+9b79YAK5VLAn5RGkDfBL9AStE2rOcNz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48871},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"7f20e4023e9643bbcffe871f6f27cfbafab2d232","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-bIC+VpTFcnJsq3xWG5i2KyBp2hYyjJg6a/BPBdloGv3ceejw7BMne7ByZ5zQKU8wnAb6IiKqELYNVvjTmggv+w==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.42"},"peerDependencies":{"@spider-mesh/core":"^2.0.42"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.42_1778081888586_0.9564290486150651","host":"s3://npm-registry-packages-npm-production"}},"2.0.44":{"name":"@spider-mesh/tcp","version":"2.0.44","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@2.0.44","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"e2d59039d026c3e941d35affca8623c3e86ace65","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.44.tgz","fileCount":22,"integrity":"sha512-itH4RubrgkOcudABQSOzQqaB57jxyRGG6qaUwtUhCTjNwo/ngt38spPocRlIv45NRhPB54VGu+tGwlqAudzymA==","signatures":[{"sig":"MEYCIQDvuz2cwv5UHBkm/Hqla9vnjf4AZpwrehkXgqr7BorlFgIhAKfpM+JaklMdcSBhT3LHVLTB4uTK5/x7vwoX/QsSr4wR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50769},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"ca36c670511890e9bc67bafa17a1bcd76b3dc5be","scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"11.6.2","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.44"},"peerDependencies":{"@spider-mesh/core":"^2.0.44"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.44_1778166293158_0.20629311032292108","host":"s3://npm-registry-packages-npm-production"}},"2.0.45":{"name":"@spider-mesh/tcp","version":"2.0.45","author":{"name":"Duong Van Ba"},"license":"ISC","_id":"@spider-mesh/tcp@2.0.45","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"homepage":"https://github.com/spider-mesh/tcp#readme","bugs":{"url":"https://github.com/spider-mesh/tcp/issues"},"dist":{"shasum":"de241d88574089ee74005307dfe55cb9300db704","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.45.tgz","fileCount":22,"integrity":"sha512-CobAaS7yyrVFT8Rtp/KJE7iJeDW2JxgvCu1NNib7bt0WXX39hxY2kJgMH5xTrkpxKaELR04rEePw7jSc7uQ+rw==","signatures":[{"sig":"MEQCIHC4Ga0PvOua04IetLlYHhMDNaASMMHwrvbtlwxOaAubAiAMUIT6N8GWsC9XcaOEqNkfmkr6EoBiVJfP6Jv5f8ulKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50769},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"gitHead":"ca36c670511890e9bc67bafa17a1bcd76b3dc5be","scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"repository":{"url":"git+https://github.com/spider-mesh/tcp.git","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"11.12.1","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"25.9.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.45"},"peerDependencies":{"@spider-mesh/core":"^2.0.45"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.45_1778228256200_0.5963246794665547","host":"s3://npm-registry-packages-npm-production"}},"2.0.145":{"name":"@spider-mesh/tcp","version":"2.0.145","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.145","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"ed8b85e4fe9e921b3b66683316685dbaca06656f","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.145.tgz","fileCount":22,"integrity":"sha512-pjeKeylrpLo31lTSL+uW/xqlMXx4mFSu8Utl/Yv6PRUnaVW5LO0Qh1SQVe4Ag8sNmfDLk5kDiiNgLhNRtJGhnQ==","signatures":[{"sig":"MEYCIQC06+sWx8WM4AsiMdsc12FDk2kXe2PDDJ/rjq0/YCDoSgIhAPzpHq7oCDA582cgr8GQPdUV5FPWCVb/rtIk7Rq34iBT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57177},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"ed8b85e4fe9e921b3b66683316685dbaca06656f","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-pjeKeylrpLo31lTSL+uW/xqlMXx4mFSu8Utl/Yv6PRUnaVW5LO0Qh1SQVe4Ag8sNmfDLk5kDiiNgLhNRtJGhnQ==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.145"},"peerDependencies":{"@spider-mesh/core":"^2.0.145"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.145_1780934888894_0.7482646166982119","host":"s3://npm-registry-packages-npm-production"}},"2.0.146":{"name":"@spider-mesh/tcp","version":"2.0.146","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.146","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"9814cc630d13945f82fc1442fe6d4c84ab0a697d","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.146.tgz","fileCount":22,"integrity":"sha512-3Do7+UU+uV+QVuTmRUBmnVFUpKZB34i0riu8yFNbW309IfwMh+TOlV0zTesD5C1jsoIFPKRBsJE/nzZPrD4eUg==","signatures":[{"sig":"MEUCIQDAamOGlzaHeKkL8RlM/MCc8Z/imkcaZB6EWyDbKpSRugIgKdIGJx/6mIvWZf9u6qgi1RUIxDCgKnKeGSksbs76TSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57177},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"9814cc630d13945f82fc1442fe6d4c84ab0a697d","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-3Do7+UU+uV+QVuTmRUBmnVFUpKZB34i0riu8yFNbW309IfwMh+TOlV0zTesD5C1jsoIFPKRBsJE/nzZPrD4eUg==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.146"},"peerDependencies":{"@spider-mesh/core":"^2.0.146"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.146_1780995092983_0.6594623521949201","host":"s3://npm-registry-packages-npm-production"}},"2.0.152":{"name":"@spider-mesh/tcp","version":"2.0.152","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.152","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"8022f238b09201340839e303125a76fb0163ee1f","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.152.tgz","fileCount":22,"integrity":"sha512-x7u5SLka1nL5fVS52BSp84lG+0OsNQWDwlvCF0RAFG+8/F8Wn8GnMsOiEJjGixiUsuO6LcZ1faT2iz456pclMQ==","signatures":[{"sig":"MEYCIQCylJ3SMfuGGWgC+1kcNJeCtX+Z4P3br0efgIf1XKlEBwIhAKCPwf37otqobVym3oBnC6wkQUAETd33o4Wl+/1QLzYN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58079},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"8022f238b09201340839e303125a76fb0163ee1f","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-x7u5SLka1nL5fVS52BSp84lG+0OsNQWDwlvCF0RAFG+8/F8Wn8GnMsOiEJjGixiUsuO6LcZ1faT2iz456pclMQ==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.152"},"peerDependencies":{"@spider-mesh/core":"^2.0.152"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.152_1781322112069_0.7705047898922672","host":"s3://npm-registry-packages-npm-production"}},"2.0.153":{"name":"@spider-mesh/tcp","version":"2.0.153","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.153","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"c26a27b2d20cafdfb30ffdbffe012bb7990e74a4","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.153.tgz","fileCount":22,"integrity":"sha512-cVsoG308U3o+fqN2vfhISMhqZJpHUtVSuCJ8Hll+ZuqtfMuAlGuBs/JMAwxVG76qOFttcDv7qjsHDL1qo0Dm4w==","signatures":[{"sig":"MEUCIQDELwvpWfkHG0TfydwR6S3USbGNDHpqilC+dAYvuVgqcQIgOBdH3rP0mugJBYTe7EH9I8Emiae/srBQZKufAIreNIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58092},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"c26a27b2d20cafdfb30ffdbffe012bb7990e74a4","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-cVsoG308U3o+fqN2vfhISMhqZJpHUtVSuCJ8Hll+ZuqtfMuAlGuBs/JMAwxVG76qOFttcDv7qjsHDL1qo0Dm4w==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.153"},"peerDependencies":{"@spider-mesh/core":"^2.0.153"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.153_1781886931115_0.26414507944904875","host":"s3://npm-registry-packages-npm-production"}},"2.0.154":{"name":"@spider-mesh/tcp","version":"2.0.154","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.154","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"4ff13884fcc4ee9ca75c37c128e82f65741eb915","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.154.tgz","fileCount":22,"integrity":"sha512-hdXpmMTrBwHrded5YUfxx1AdGXNDvILRspJ8XU1t3pZ0O9yfdJzpX1gnnIIQIqx094hSZSlpN25YsFjYwE26ow==","signatures":[{"sig":"MEQCIAgfZRe2K5GqZgMx1n4BlTgcnO9DTx/t/7453DAx1W6MAiBrtd8NE8EK4CFR8t4EO3F17LWz9U0UkbHcPpm4sKiWMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58400},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"4ff13884fcc4ee9ca75c37c128e82f65741eb915","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-hdXpmMTrBwHrded5YUfxx1AdGXNDvILRspJ8XU1t3pZ0O9yfdJzpX1gnnIIQIqx094hSZSlpN25YsFjYwE26ow==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.153"},"peerDependencies":{"@spider-mesh/core":"^2.0.153"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.154_1782464867963_0.4719652401345469","host":"s3://npm-registry-packages-npm-production"}},"2.0.156":{"name":"@spider-mesh/tcp","version":"2.0.156","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.156","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"79462e398910479bd428d0f2fb889b8b14c41ed6","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.156.tgz","fileCount":22,"integrity":"sha512-X0LVbEYCf1wiBBqXNQl80amfIMZbINXqq4/mZkvJTnH1XekbzPvW1KEowfy06OvO8YS+T8SYyVLOcPWS1qJCIw==","signatures":[{"sig":"MEQCHy+/vUjcPs2kj7zmw2rIqRL6tjJlWQHDP1IlLHI3VU8CIQCOYuntV2alPB/b/DkdbyWwaj6V10fH66UP9TFdfyep9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58400},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"79462e398910479bd428d0f2fb889b8b14c41ed6","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-X0LVbEYCf1wiBBqXNQl80amfIMZbINXqq4/mZkvJTnH1XekbzPvW1KEowfy06OvO8YS+T8SYyVLOcPWS1qJCIw==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"24.3.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.156"},"peerDependencies":{"@spider-mesh/core":"^2.0.156"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.156_1782472458451_0.11410576243632597","host":"s3://npm-registry-packages-npm-production"}},"2.0.157":{"name":"@spider-mesh/tcp","version":"2.0.157","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@2.0.157","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"dist":{"shasum":"826bc9038c5cc38db1fdb6e294eee0aea7d421c4","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-2.0.157.tgz","fileCount":22,"integrity":"sha512-R+Y0Kooy5DSRcDWriQPxmM9Ly6CHbTBw4HlboZbYqfSkWodvM2NBvg4ZjmQX8dDVN4fo1GOiIeF+HR49VF5ufg==","signatures":[{"sig":"MEYCIQCjd5V9RPInKo48nfhMtieOMu895kUcN9URz2ZScyJjXwIhALDGOoa2dJLIXQpzgygaxm6+AQtktrU78ayg5h6B9a3y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62092},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"826bc9038c5cc38db1fdb6e294eee0aea7d421c4","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-R+Y0Kooy5DSRcDWriQPxmM9Ly6CHbTBw4HlboZbYqfSkWodvM2NBvg4ZjmQX8dDVN4fo1GOiIeF+HR49VF5ufg==","repository":{"url":"https://github.com/spider-mesh/tcp","rxjs":"^7.8.2","reflect-metadata":"^0.2.2"},"_npmVersion":"10.8.3","description":"Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters","directories":{},"_nodeVersion":"22.6.0","dependencies":{"msgpackr":"^1.11.5"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"^2.0.157"},"peerDependencies":{"@spider-mesh/core":"^2.0.157"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.0.157_1783153849222_0.5023191554006405","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@spider-mesh/tcp","version":"3.0.0","author":"Duong Van Ba","license":"ISC","_id":"@spider-mesh/tcp@3.0.0","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"homepage":"https://github.com/flygo-opensource/spider-mesh/tree/main/packages/tcp#readme","dist":{"shasum":"d4164046537b6b33c5686e8420383deefcf1287d","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-3.0.0.tgz","fileCount":22,"integrity":"sha512-bQma8upLPDf0GwTR2dWKnLNP/SaCSk+ZMk+rvvNuPanoZjq1hSENc0Ng3ofCJwxoDVTId5vr1uOCwXL3ejsz3A==","signatures":[{"sig":"MEYCIQCBofpico2iGIo5ybI/MOxb61ztwd5pQqbW4lx7L4FCggIhAJWkAETDOrGtsxEU7cEM6xQLj6c/GIP1TGvQ+zVtxR1i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFG/g4RoMhTnUNnDdQL8XNrtZjYjYBgJ7rZUXpmwi/v7AiEAiPCH53rMrqeuHGkmqITmPdxxLFXL2mhQwgoJtb5229w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84570},"main":"./build/src/index.js","type":"module","types":"./build/src/index.d.ts","shasum":"d4164046537b6b33c5686e8420383deefcf1287d","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/topology-discovery-adapter.test.ts && bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-session-recovery.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts && bun test tests/tcp-rpc-contract.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:resilience":"bun test tests/tcp-resilience.e2e.test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"_integrity":"sha512-bQma8upLPDf0GwTR2dWKnLNP/SaCSk+ZMk+rvvNuPanoZjq1hSENc0Ng3ofCJwxoDVTId5vr1uOCwXL3ejsz3A==","repository":{"url":"git+https://github.com/flygo-opensource/spider-mesh.git","type":"git","directory":"packages/tcp"},"_npmVersion":"10.8.3","description":"HTTP/2 RPC and pubsub transporters for @spider-mesh/core","directories":{},"_nodeVersion":"26.3.0","dependencies":{"rxjs":"^7.8.2","msgpackr":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"file:../core","@spider-mesh/events":"file:../events","@simple-discovery/udp":"^3.0.0"},"peerDependencies":{"@spider-mesh/core":"^3.0.0","@simple-discovery/udp":"^3.0.0"},"peerDependenciesMeta":{"@simple-discovery/udp":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tcp_3.0.0_1789974135037_0.44458175931345645","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"_id":"@spider-mesh/tcp@3.0.1","dist":{"shasum":"3b524e60f0b86887bc7f998fb6efe116b78d0b66","tarball":"https://registry.npmjs.org/@spider-mesh/tcp/-/tcp-3.0.1.tgz","fileCount":22,"integrity":"sha512-KGNLavIIQ4SptjftbNwtJZ1on+YPWwRMEubMJv4T2tH8hyOavgkjSENJ3VF9FGloSALeXTA2m21SYL4O8vGjOw==","signatures":[{"sig":"MEQCIDYTHBGWsQm6pj+xMIR/lStQBtOtqquHeSz0OPFJr2LfAiBUWJXxqd+s2v7Nfd0tgmIyez2XIp8wMux6FomdwQEj8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDeF0JmxQTzjf08+H+5hB2p77o7SuLs/EDqWfr3EzwpfQIhAM+cIRzpE4M+K4VS3I94VXxPHLvi3QfmC7mlBnE3IgQV"}],"unpackedSize":90583},"main":"./build/src/index.js","name":"@spider-mesh/tcp","type":"module","types":"./build/src/index.d.ts","author":"Duong Van Ba","shasum":"3b524e60f0b86887bc7f998fb6efe116b78d0b66","exports":{".":{"import":{"types":"./build/src/index.d.ts","default":"./build/src/index.js"}}},"license":"ISC","scripts":{"dev":"clear; npx tsx ","build":"tsc -v; rm -rf build && tsc -b tsconfig.json","test:e2e":"bun test tests/topology-discovery-adapter.test.ts && bun test tests/tcp-transporters.e2e.test.ts && bun test tests/tcp-contracts.e2e.test.ts && bun test tests/tcp-session-recovery.e2e.test.ts && bun test tests/tcp-spidermesh.e2e.test.ts && bun test tests/tcp-spidermesh-reverse.e2e.test.ts && bun test tests/tcp-spidermesh-matrix.e2e.test.ts && bun test tests/tcp-spidermesh-round-robin.e2e.test.ts && bun test tests/tcp-getting-started.e2e.test.ts && bun test tests/tcp-registry-free-wait.e2e.test.ts && bun test tests/tcp-missing.e2e.test.ts && bun test tests/tcp-missing-hostname.e2e.test.ts && bun test tests/tcp-multi-provider-noretry.e2e.test.ts && bun test tests/tcp-rpc-contract.e2e.test.ts","test:tcp":"bun run examples/tcp-smoke-test.ts","test:tcp:e2e":"bun run examples/tcp-e2e-test.ts","test:resilience":"bun test tests/tcp-resilience.e2e.test.ts","test:tcp:e2e:matrix":"bun run examples/tcp-e2e-matrix-test.ts","test:tcp:e2e:reverse":"bun run examples/tcp-e2e-reverse-test.ts"},"version":"3.0.1","_npmUser":{"name":"duongvanba","email":"duongvanba.agency@gmail.com"},"homepage":"https://github.com/flygo-opensource/spider-mesh/tree/main/packages/tcp#readme","_integrity":"sha512-KGNLavIIQ4SptjftbNwtJZ1on+YPWwRMEubMJv4T2tH8hyOavgkjSENJ3VF9FGloSALeXTA2m21SYL4O8vGjOw==","repository":{"url":"git+https://github.com/flygo-opensource/spider-mesh.git","type":"git","directory":"packages/tcp"},"_npmVersion":"10.8.3","description":"HTTP/2 RPC and pubsub transporters for @spider-mesh/core","directories":{},"maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"_nodeVersion":"26.3.0","dependencies":{"rxjs":"^7.8.2","msgpackr":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.23","typescript":"^5.8.2","@types/node":"^25.6.0","@types/msgpack":"^0.0.34","@spider-mesh/core":"file:../core","@spider-mesh/events":"file:../events","@simple-discovery/udp":"^3.0.2"},"peerDependencies":{"@spider-mesh/core":"^3.0.0","@simple-discovery/udp":"^3.0.2"},"peerDependenciesMeta":{"@simple-discovery/udp":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tcp_3.0.1_1790219000186_0.06920279597510604"}}},"time":{"created":"2024-08-26T04:41:14.034Z","modified":"2026-09-24T03:03:20.503Z","1.0.138":"2024-08-26T04:41:14.274Z","1.0.140":"2024-08-26T06:47:17.255Z","1.0.143":"2024-08-29T01:52:19.538Z","1.0.146":"2024-10-24T07:36:03.193Z","1.0.152":"2024-12-20T12:51:26.788Z","2.0.3":"2025-10-07T17:39:32.790Z","2.0.4":"2025-10-08T12:10:53.771Z","2.0.5":"2025-10-08T12:19:46.715Z","2.0.6":"2025-10-08T13:08:46.136Z","2.0.7":"2025-10-08T15:36:39.728Z","2.0.8":"2025-10-08T16:56:02.066Z","2.0.14":"2025-10-17T17:11:34.010Z","2.0.16":"2025-10-17T17:33:08.327Z","2.0.17":"2025-10-17T17:43:47.615Z","2.0.18":"2025-10-18T05:13:13.736Z","2.0.19":"2026-03-22T04:47:33.218Z","2.0.20":"2026-03-22T09:40:54.540Z","2.0.21":"2026-03-22T09:54:16.159Z","2.0.22":"2026-03-25T03:22:43.043Z","2.0.23":"2026-04-04T08:03:14.545Z","2.0.26":"2026-04-05T10:20:41.880Z","2.0.28":"2026-04-07T16:27:44.738Z","2.0.29":"2026-04-15T11:26:39.172Z","2.0.30":"2026-04-17T05:23:28.242Z","2.0.31":"2026-04-18T04:41:43.303Z","2.0.32":"2026-04-18T18:11:14.118Z","2.0.36":"2026-05-04T07:46:04.942Z","2.0.37":"2026-05-04T07:49:20.773Z","2.0.38":"2026-05-04T09:11:56.732Z","2.0.40":"2026-05-04T11:53:26.053Z","2.0.41":"2026-05-04T14:13:44.320Z","2.0.42":"2026-05-06T15:38:08.741Z","2.0.44":"2026-05-07T15:04:53.328Z","2.0.45":"2026-05-08T08:17:36.333Z","2.0.145":"2026-06-08T16:08:09.048Z","2.0.146":"2026-06-09T08:51:33.145Z","2.0.152":"2026-06-13T03:41:52.200Z","2.0.153":"2026-06-19T16:35:31.254Z","2.0.154":"2026-06-26T09:07:48.107Z","2.0.156":"2026-06-26T11:14:18.661Z","2.0.157":"2026-07-04T08:30:49.384Z","3.0.0":"2026-09-21T07:02:15.128Z","3.0.1":"2026-09-24T03:03:20.310Z"},"author":"Duong Van Ba","license":"ISC","homepage":"https://github.com/flygo-opensource/spider-mesh/tree/main/packages/tcp#readme","repository":{"url":"git+https://github.com/flygo-opensource/spider-mesh.git","type":"git","directory":"packages/tcp"},"description":"HTTP/2 RPC and pubsub transporters for @spider-mesh/core","maintainers":[{"name":"duongvanba","email":"duongvanba.agency@gmail.com"}],"readme":"# @spider-mesh/tcp\n\nTransporter HTTP/2 cho Spider Mesh: các node kết nối thẳng tới nhau, không qua broker hay relay. Kèm\n`Http2Pubsub` để gửi event trực tiếp giữa các node.\n\nCó hai cách dùng:\n\n| Cách | Khi nào | Cần gì |\n| --- | --- | --- |\n| **Linux/PM2 với UDP discovery** | Các server tự tìm nhau trong mạng LAN | `Topology` + `@simple-discovery/udp` |\n| **Hạ tầng tự chọn đích** | Có sẵn load balancer/DNS (ví dụ Kubernetes Service) | Chỉ `resolveService` |\n\nCách khai báo và gọi service được mô tả trong `@spider-mesh/core`.\n\n## Linux/PM2 với UDP discovery\n\n```bash\nbun add @spider-mesh/core @spider-mesh/tcp @simple-discovery/udp rxjs\n```\n\nMọi process (provider lẫn client) dùng cùng một cấu hình:\n\n```ts\n// mesh.ts\nimport { SpiderMesh, Topology, type SpiderMeshNode } from '@spider-mesh/core'\nimport { Http2Rpc, TopologyDiscoveryAdapter } from '@spider-mesh/tcp'\nimport { UdpDiscovery } from '@simple-discovery/udp'\n\n// Phải trùng namespace của mesh (đọc từ cùng biến SPIDERMESH_NAMESPACE, mặc định 'default').\nconst namespace = process.env.SPIDERMESH_NAMESPACE ?? 'default'\n\nconst udp = new UdpDiscovery<SpiderMeshNode>({\n  namespace,\n  tags: ['spider-mesh', 'node'],\n  // Khoá ký gói discovery; mọi node trong mesh dùng cùng một khoá bí mật.\n  key: process.env.SIMPLE_DISCOVERY_KEY!,\n})\n\nconst topology = new Topology({\n  discovery: new TopologyDiscoveryAdapter(udp, {\n    onError: error => console.error('discovery broadcast failed', error),\n  }),\n  // Xoá node khi kết nối HTTP/2 tới nó đứt liên tục 5 phút (process đã chết hẳn).\n  removeUnreachableAfterMs: 5 * 60_000,\n})\n\nexport const mesh = new SpiderMesh({\n  topology,\n  // Cổng được công bố qua discovery, nên để trống (cổng ngẫu nhiên) là đủ. Cần cổng cố định cho\n  // firewall thì đặt RPC_PORT riêng cho từng process: nhiều process trên một máy không dùng chung cổng.\n  transporters: [new Http2Rpc({ port: Number(process.env.RPC_PORT) || undefined })],\n})\nexport { topology }\n```\n\nHai lớp làm hai việc khác nhau:\n\n- **UDP chỉ để các node tìm thấy nhau.** `TopologyDiscoveryAdapter` broadcast node local mỗi khi nó\n  thay đổi, và đưa node nhận được vào `Topology`. Không cần heartbeat.\n- **Kết nối HTTP/2 quyết định node còn sống hay không.** `Http2Rpc` giữ kết nối tới mọi node và tự\n  nối lại khi đứt; node không kết nối được thì không được chọn để gọi, và bị xoá khỏi `Topology` sau\n  `removeUnreachableAfterMs`.\n\nAdapter nhận mọi discovery có `broadcast()` và phát ra message, không riêng `@simple-discovery/udp`.\n\n| Tuỳ chọn adapter | Mặc định | Ý nghĩa |\n| --- | --- | --- |\n| `heartbeatIntervalMs` | tắt | Broadcast lại định kỳ. **Không cần** với `Http2Rpc`; chỉ dùng khi discovery là nguồn duy nhất cho biết node còn sống (kèm `staleAfterMs`). |\n| `onError` | bỏ qua | Nhận lỗi broadcast. **Nên luôn đặt**, xem bảng lỗi bên dưới. |\n| `tags` | `['spider-mesh', 'node']` | Tag gắn vào message; tag của `UdpDiscovery` phải nằm trong danh sách này. |\n| `closeTransporter` | `true` | Đóng discovery khi `Topology` đóng. |\n\nĐịa chỉ để node khác kết nối tới: không đặt `SPIDERMESH_NODE_HOSTNAME` thì `TopologyDiscoveryAdapter`\ndùng địa chỉ nguồn của gói UDP (`remote_host`). Đặt biến này khi địa chỉ đó không phải địa chỉ kết\nnối được, ví dụ máy có nhiều card mạng, sau NAT, hoặc muốn dùng hostname trong VPN:\n\n```bash\nSPIDERMESH_NODE_HOSTNAME=192.168.1.21 SPIDERMESH_NAMESPACE=shop SIMPLE_DISCOVERY_KEY=... bun run provider.ts\n```\n\nProvider và client chỉ cần import `mesh.ts`:\n\n```ts\n// provider.ts\nimport { Microservice } from '@spider-mesh/core'\nimport './mesh.js'\n\n@Microservice()\nclass GreetingService {\n  hello(name: string) {\n    return `Hello ${name}`\n  }\n}\n\nnew GreetingService()\n```\n\n```ts\n// client.ts\nimport { RemoteServiceLinker } from '@spider-mesh/core'\nimport { mesh } from './mesh.js'\n\ntype GreetingService = {\n  hello(name: string): string\n}\n\nconst greeting = RemoteServiceLinker.link<GreetingService>(mesh, { service: 'GreetingService' })\nawait greeting.wait()\nconsole.log(await greeting.hello('Spider Mesh'))\n```\n\n### Những lỗi hay gặp\n\n| Triệu chứng | Nguyên nhân |\n| --- | --- |\n| Node không bao giờ thấy nhau, `onError` báo `namespace must be …` | Namespace của `UdpDiscovery` khác `SPIDERMESH_NAMESPACE`. Không có `onError` thì lỗi này **im lặng**. |\n| Node thấy nhau nhưng gọi bị `MICROSERVICE_OFFLINE` | Địa chỉ node công bố (`SPIDERMESH_NODE_HOSTNAME`, hoặc địa chỉ nguồn gói UDP khi không đặt) không tới được từ máy gọi, hoặc firewall chặn cổng RPC. Thông báo lỗi có địa chỉ đã thử. |\n| Máy khác subnet / mạng chặn multicast không thấy nhau | Khai báo `peers` (xem bên dưới). |\n| Thấy node lạ | Các mesh dùng chung `key` và `namespace`. Đặt `key` riêng. |\n| Node không thấy nhau, không có lỗi nào | Khác `key` hoặc khác cổng discovery, hoặc đồng hồ các máy lệch quá 30 giây (gói bị bỏ im lặng; đồng bộ giờ bằng NTP). Bật `SIMPLE_DISCOVERY_UDP_DEBUG=1` để xem lỗi mạng. |\n\n### Mạng cần mở\n\n| Giao thức | Cổng | Để làm gì |\n| --- | --- | --- |\n| UDP | `11001` (tuỳ chọn `port` của `UdpDiscovery`) | Discovery |\n| UDP multicast | `239.0.1.1` (tuỳ chọn `multicastAddress`) | Discovery trong cùng subnet |\n| TCP | `port` của `Http2Rpc` (mặc định ngẫu nhiên) | RPC |\n| TCP | cổng ngẫu nhiên | Event (`Http2Pubsub`) |\n\n### Khi multicast không dùng được\n\nLiệt kê các máy trong `peers`: IP đầy đủ, hostname, hoặc 3 octet đầu để quét cả dải `/24`. Node mới\nchỉ cần liệt kê các node đã có; node cũ tự nhớ địa chỉ của node vừa gửi tin tới.\n\n```ts\nimport { type SpiderMeshNode } from '@spider-mesh/core'\nimport { UdpDiscovery } from '@simple-discovery/udp'\n\nconst udp = new UdpDiscovery<SpiderMeshNode>({\n  namespace: process.env.SPIDERMESH_NAMESPACE ?? 'default',\n  tags: ['spider-mesh', 'node'],\n  key: process.env.SIMPLE_DISCOVERY_KEY!,\n  peers: ['192.168.1.21', '192.168.1.22', '10.0.5'],\n})\n```\n\nNhiều process trên cùng một máy chia nhau cùng cổng discovery; gói từ máy khác được chuyển tiếp cho\nmọi process trên máy.\n\n### Qua VPN (NetBird, WireGuard, Tailscale)\n\nVPN chỉ chuyển unicast, nên tắt multicast và liệt kê máy bằng IP hoặc tên DNS trong VPN. Địa chỉ mà\nnode công bố cho HTTP/2 cũng phải là địa chỉ trong VPN:\n\n```bash\nSPIDERMESH_NODE_HOSTNAME=worker-1.netbird.cloud \\\nSIMPLE_DISCOVERY_UDP_MULTICAST=off \\\nSIMPLE_DISCOVERY_UDP_WHITELIST_ADDRESS=worker-2.netbird.cloud,worker-3.netbird.cloud \\\nSIMPLE_DISCOVERY_KEY=... bun run provider.ts\n```\n\nChính sách truy cập của VPN phải mở UDP cổng discovery (mặc định `11001`) và cổng TCP của `Http2Rpc`\ngiữa các máy; đặt `RPC_PORT` cố định nếu chính sách chỉ mở một số cổng.\n\n### Chọn node cho từng lời gọi\n\nKhông chỉ định gì thì lời gọi được chia lần lượt cho các node (round-robin). Xem các chiến lược khác\n(`consistent-hash`, `least-active`, …) và cách gọi hàng loạt trong `@spider-mesh/core`.\n\n## Hạ tầng tự chọn đích\n\nKhông cần `Topology` khi mỗi service đã có một địa chỉ ổn định phía sau load balancer:\n\n```ts\nimport { SpiderMesh } from '@spider-mesh/core'\nimport { Http2Rpc } from '@spider-mesh/tcp'\n\nconst mesh = new SpiderMesh({\n  transporters: [new Http2Rpc({\n    port: 8080,\n    // Tên service -> địa chỉ; ở đây là DNS của Kubernetes Service đặt tên theo kebab-case\n    // (GreetingService -> greeting-service.default.svc.cluster.local).\n    resolveService: service => ({\n      host: `${service.replace(/(?<!^)([A-Z])/g, '-$1').toLowerCase()}.default.svc.cluster.local`,\n      port: 8080,\n    }),\n  })],\n})\n```\n\n`wait()` thử kết nối tới địa chỉ đó; hạ tầng quyết định request vào pod nào.\n\n## Event\n\n```ts\n// events.ts\nimport { EventBus } from '@spider-mesh/events'\nimport { Http2Pubsub } from '@spider-mesh/tcp'\nimport { mesh, topology } from './mesh.js'\n\nclass OrderPaid {\n  constructor(public orderId = '', public amount = 0) {}\n}\n\nconst events = new EventBus({ mesh })\nevents.registerTransporter(new Http2Pubsub(topology))\n\nconst orderPaid = events.link(OrderPaid)\norderPaid.listen().subscribe(event => console.log('paid', event.orderId))\nawait orderPaid.publish(new OrderPaid('o-1', 100))\n```\n\nEvent được gửi thẳng tới những node đang lắng nghe topic, không qua broker.\n\n## Khi mất kết nối\n\n- Kết nối tới một node đứt: node bị loại khỏi danh sách chọn đích ngay, và lời gọi đang chạy tới node\n  đó kết thúc bằng `MICROSERVICE_OFFLINE`.\n- `Http2Rpc` **tự nối lại, không bỏ cuộc**, với thời gian chờ tăng dần tới\n  `SPIDERMESH_HTTP2_RECONNECT_MAX_DELAY_MS` (mặc định 30 s). Mạng phục hồi là node gọi được lại, không\n  cần discovery làm gì.\n- Node đổi địa chỉ hoặc cổng (process khởi động lại) thì được thử ngay, không đợi hết thời gian chờ.\n- Không kết nối được liên tục quá `removeUnreachableAfterMs` thì node bị xoá khỏi `Topology`. Đặt đủ\n  dài để một lần mất mạng không xoá nhầm node còn sống: node đã bị xoá chỉ quay lại khi nó broadcast\n  lần nữa (khi khởi động lại, hoặc khi thấy một node mới vào mạng).\n\n## Tuỳ chọn và biến môi trường\n\n| `Http2Rpc` | Ý nghĩa |\n| --- | --- |\n| `port` | Cổng nhận RPC. Mặc định cổng ngẫu nhiên; mỗi process trên cùng máy cần một cổng khác nhau. |\n| `resolveService` | Hàm trả `{ host, port }` cho một service; dùng khi hạ tầng tự chọn đích. |\n\n| Biến | Mặc định | Ý nghĩa |\n| --- | --- | --- |\n| `SPIDERMESH_NODE_HOSTNAME` | *(rỗng)* | Địa chỉ node khác dùng để kết nối tới node này. Rỗng thì lấy địa chỉ nguồn gói discovery (cần `@simple-discovery/udp` ≥ 3.0.2). **Bắt buộc** với `resolveService` và discovery không báo địa chỉ người gửi. |\n| `SPIDERMESH_NAMESPACE` | `default` | Namespace của mesh. |\n| `SPIDERMESH_HTTP2_CONNECT_TIMEOUT_MS` | `2000` | Thời gian chờ mở kết nối. |\n| `SPIDERMESH_HTTP2_RECONNECT_ATTEMPTS` | `3` | Số lần thất bại liên tiếp trước khi coi node là không kết nối được. Vẫn tiếp tục thử sau đó. |\n| `SPIDERMESH_HTTP2_RECONNECT_DELAY_MS` | `250` | Độ trễ ban đầu giữa các lần nối lại (tăng dần). |\n| `SPIDERMESH_HTTP2_RECONNECT_MAX_DELAY_MS` | `30000` | Độ trễ tối đa giữa các lần nối lại. |\n\nTên transporter trên wire: `'http2'` (RPC) và `'http2-pubsub'` (event).\n\n## Chuyển từ 2.x\n\nDiscovery không còn nằm trong `@spider-mesh/tcp`. `SpiderMesh` nhận `Topology` (giữ danh sách node) và\ntransporter RPC; event đi qua `EventBus` của `@spider-mesh/events`.\n\nTrước (2.x, không còn biên dịch với 3.x):\n\n```js\nimport { Registry, SpiderMesh } from '@spider-mesh/core'\nimport { Http2Pubsub, Http2Rpc, UdpDiscovery } from '@spider-mesh/tcp'\n\nconst mesh = new SpiderMesh()\nconst registry = new Registry()\nmesh.registerTransporter(new UdpDiscovery(registry))\nmesh.registerTransporter(new Http2Rpc(registry))\nmesh.registerTransporter(new Http2Pubsub(registry))\n```\n\nSau (3.x):\n\n```ts\nimport { SpiderMesh, Topology, type SpiderMeshNode } from '@spider-mesh/core'\nimport { EventBus } from '@spider-mesh/events'\nimport { Http2Pubsub, Http2Rpc, TopologyDiscoveryAdapter } from '@spider-mesh/tcp'\nimport { UdpDiscovery } from '@simple-discovery/udp'\n\nconst topology = new Topology({\n  discovery: new TopologyDiscoveryAdapter(new UdpDiscovery<SpiderMeshNode>({\n    namespace: process.env.SPIDERMESH_NAMESPACE ?? 'default',\n    tags: ['spider-mesh', 'node'],\n    key: process.env.SIMPLE_DISCOVERY_KEY!,\n  })),\n  removeUnreachableAfterMs: 5 * 60_000,\n})\nconst mesh = new SpiderMesh({ topology, transporters: [new Http2Rpc()] })\n\nconst events = new EventBus({ mesh })\nevents.registerTransporter(new Http2Pubsub(topology))\n```\n\n| 2.x | 3.x |\n| --- | --- |\n| `new SpiderMesh()` rồi `mesh.registerTransporter(...)` | `new SpiderMesh({ topology, transporters })`. Thiếu `topology` thì `Http2Rpc` vẫn chạy nhưng không bao giờ thấy node nào. |\n| `UdpDiscovery` từ `@spider-mesh/tcp` | `UdpDiscovery` từ `@simple-discovery/udp`, bọc trong `TopologyDiscoveryAdapter` |\n| `Registry` truyền vào từng transporter | `Topology`, truyền vào `SpiderMesh`; `Http2Rpc` nhận nó qua `SpiderMesh` |\n| `mesh.registerTransporter(new Http2Pubsub(registry))` | `new EventBus({ mesh }).registerTransporter(new Http2Pubsub(topology))` |\n| `host` lấy từ địa chỉ nguồn gói UDP | Như cũ khi không đặt `SPIDERMESH_NODE_HOSTNAME` (từ 3.0.1) |\n| `SPIDERMESH_WHITELIST_ADDRESS` | `SIMPLE_DISCOVERY_UDP_WHITELIST_ADDRESS` (hoặc option `peers`) |\n| `SPIDERMESH_MULTICAST_ADDRESS` | `SIMPLE_DISCOVERY_UDP_MULTICAST_ADDRESS` (hoặc option `multicastAddress`) |\n| `SPIDERMESH_MULTICAST_PORT` | `SIMPLE_DISCOVERY_PORT` (hoặc option `port`) |\n| *(không có)* | `SIMPLE_DISCOVERY_KEY` (hoặc option `key`): khoá ký gói discovery, mọi node dùng chung |\n| `SPIDERMESH_HTTP2_RECONNECT_ATTEMPTS`: hết lượt thì xoá node | Hết lượt thì node chỉ bị đánh dấu `unreachable`, vẫn thử lại; xoá do `removeUnreachableAfterMs` |\n\nWire protocol UDP đổi: node 2.x và 3.x không thấy nhau, phải nâng mọi process cùng lúc.\n","readmeFilename":"README.md"}