{"_id":"appmesh","_rev":"138-8e61c49a1cdb127f4d9030697928db73","name":"appmesh","dist-tags":{"latest":"3.1.6"},"versions":{"1.2.3":{"name":"appmesh","version":"1.2.3","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@1.2.3","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"18cee04e8c6a713d78783e6544104677005f7290","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-1.2.3.tgz","fileCount":11,"integrity":"sha512-hXMPsHkmlrVkLrf6BcgHqIw6ge4rwBzrPQuoidYKe7vDsJzZMXnZLxws1rxiVwhW/WkIKzfw2F3PkIfxbSqduQ==","signatures":[{"sig":"MEQCIFSuYpYSIb8SUxhPQGfyVhKZcw8nemiCloBM+tYkf+W+AiA7VXvNFXZe1Ppcv6PWjI1muYfcVT2o557MXdpec5bsxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178032},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./server":{"node":"./src/server.js","import":null,"default":null}},"gitHead":"907cee8db15486cdf128c29f2e83a07e29f2323a","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"11.17.0","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4","base-64":">=1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"peerDependencies":{"base-64":">=1.0.0"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_1.2.3_1782471123524_0.21772115930216374","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"appmesh","version":"1.3.0","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@1.3.0","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"e6f1b237d2a5872fec194031995cecd9701fe630","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-1.3.0.tgz","fileCount":11,"integrity":"sha512-jTLfngrFkS0tJEosDx0Uas5tu+Un8OSTMeXuzCNcZ5s15ctfHFG5Gf8m++OhLruDhBCFXDzhD7YTESJp6SwI+g==","signatures":[{"sig":"MEYCIQCna5US7LRo/05YROeh09A79w6cN+VeHJHecSFcdW7uQQIhAMd49HCT7MfHaTUJOHruYyP/g85XnRcBbZ9fIfYGbD/m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":201646},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/server.js","import":null,"default":null}},"gitHead":"2c9284339cf085a7e57d1b604d09b351557cd61a","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"11.18.0","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4","base-64":">=1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"peerDependencies":{"base-64":">=1.0.0"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_1.3.0_1783237463197_0.3609091116334404","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"appmesh","version":"1.3.1","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@1.3.1","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"abbd9314c09d9b81d2ae59a63ac1108ce006da78","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-1.3.1.tgz","fileCount":11,"integrity":"sha512-ENeYqFPDGRRx6iXBFHjg1bi6uBQy8IP/Yc6USLyWDmYxUX0bKIYcQbktJtiiqblLOBa65+lseDTbncmZj6im7g==","signatures":[{"sig":"MEQCIAIQ8gP5A7eILi6fIWzrqNaDUmyzZuFGAYvd88rRcWI6AiABY95dsECuBbDvwW1iu+DPhSG3ozLSbDiBb2ZQjNhmrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200316},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/server.js","import":null,"default":null}},"gitHead":"3abeb7a8abd275ceb4fd6f2b8a7a69c8108d8e0a","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"11.18.0","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4","base-64":">=1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"peerDependencies":{"base-64":">=1.0.0"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_1.3.1_1783470121180_0.4269562102973059","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"appmesh","version":"1.3.2","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@1.3.2","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"c8f8edf2f948cb322b0f567bb2d7d114f064f00c","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-1.3.2.tgz","fileCount":11,"integrity":"sha512-Ri16NCPMxodU6XS4vxVYFO9pLOEyNvXF14SblrUtMtsAzsBAVszMwQNRU6r50dLis4EifN8ZaVQuyI5JzjYaMA==","signatures":[{"sig":"MEUCIQDh1LJGiA3fTMP/jjeKo1oWkJs1w1eG+V8uQoASyn1TdwIgLul0UnFBZ0vFbPNb6ucUoZbhP/a5jJKvRcRv01jPH0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199486},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"49531f79ea42ce400d1da0239ab23588a7f1d229","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.0.1","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.18.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4","base-64":">=1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"peerDependencies":{"base-64":">=1.0.0"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_1.3.2_1784892111692_0.1514415862737244","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"appmesh","version":"1.3.3","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@1.3.3","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"4e8914b99d16120e14bb7ef7d3e6fc35386b2725","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-1.3.3.tgz","fileCount":12,"integrity":"sha512-j/EFvRbqGT+szKmqPOriKSMN1kLcRAloXHv8yLye/gJsDTTks/7NrpNMYR2Zmjs1dICQXHtH2oGqvTmbloGo2A==","signatures":[{"sig":"MEUCIQCE1/k8wjZRclfC10+vext1tOEbNghfvOLqjb4oN5sc/QIgGgcishVDGCsNKWJ9KVIKSMb74ECTdBW3+TD+NC8ZgC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@1.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232688},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./oauth":{"node":"./src/appmesh_oauth.js","import":"./src/appmesh_oauth.js","default":"./src/appmesh_oauth.js"},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"c01bd0dcef9315dd3f806bfc26aac24ef2fc1047","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:unit":"node test/token_refresh_test.js","test:oauth":"node test/appmesh_oauth_test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.0.2","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.18.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4","base-64":">=1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"peerDependencies":{"base-64":">=1.0.0"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_1.3.3_1785754621608_0.318583850248342","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"appmesh","version":"3.0.0","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@3.0.0","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"3544e657864cbe30a1cfa87fefdd14f3d0524bf8","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-3.0.0.tgz","fileCount":11,"integrity":"sha512-J9IHY4pA7Ri7ulVcXFtmXx81WXWJDvptMETg3hXerR/VZaF19Z5V38wBKdejxu3qF5fT/LAE01N0a5TYh9hh8A==","signatures":[{"sig":"MEYCIQCdFJVeorFMMizDAgpqKRNhujt2UjMNOM4xLwmPD1l8DgIhAOJzrq0fRL3Rv3B4vF7Pxa+ygApLxvWQI3FF54MTqo4z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179238},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"6c32a596d496265f77a1b21d46f2b7f1c8c1ac26","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:subscribe":"node test/subscribe_test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.0.2","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.19.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_3.0.0_1787577279638_0.24352846951382467","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"appmesh","version":"3.1.0","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@3.1.0","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"1b31113b27ab5c6c414cf798f953420e58ddb529","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-3.1.0.tgz","fileCount":11,"integrity":"sha512-CUIZdYa8RGFzj9/gvMU3zHlWyRjwm0dnyKUXdXyxO/zZZVKoiKXi0fqsyS2ZTKS22RL6/fz3TFpmd5Jjz0UoKA==","signatures":[{"sig":"MEUCIBJoDVKBmKXNg0qYR3/NTu959dOX9njXfeY8Nmobbz3EAiEAsdggDB/9ec8Yz8Vy1cEF0N6DJtEFAM2OZF+fBGnSwMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183082},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"25a30c3a43f56bd6e79692c65eb7d805c942dae0","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:subscribe":"node test/subscribe_test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.0.2","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.19.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_3.1.0_1788089276273_0.5279513643481781","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"appmesh","version":"3.1.1","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@3.1.1","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"6db8b49fda36bf9f65416bcae6a6c0c8975c0239","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-3.1.1.tgz","fileCount":11,"integrity":"sha512-K7Fh0pzham5nllsWkVNin6OxmySuT9GOIGRCUX0hKMDGg2gAfd70MppmrS3uGSMmG4o9uitvZfZB9EYjkqpIVQ==","signatures":[{"sig":"MEUCIGHLh5v7jZ9iXRuCg+LfFJOpnH7rY0Ji1xJhT4mHOvBDAiEAhuxxjnm/OJ498URzJ9DOj1zg5W/3Ce2Vpr6ZYlCUFtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCYszcOzaEccXkDQquY10SBE4+KcOOFa93Pa/hSqN2ucgIgW4APzQ0bGr2Gi36wjO4pd/UVzL1JAVbo6BTE3MlIU68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@3.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183105},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"27628e079dd2035b17ca02f1f9d3f86ac8c4aafe","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:subscribe":"node test/subscribe_test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.0.2","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.20.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_3.1.1_1789251896672_0.5370486142996629","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"appmesh","version":"3.1.2","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@3.1.2","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"74c9774a788cb80efe3401316dc324a8b662553c","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-3.1.2.tgz","fileCount":11,"integrity":"sha512-zILT1bsT14qFNfU6DpvnZ8khz+G410l5eqxRkTjKLx0ezxl5Brac1Bmn9haBex4jzW2HX7l9yoxAV7+9wPgYbA==","signatures":[{"sig":"MEQCIAxmV6V/tUmoaMOzx56y1xsLGzLpPgyajEpSnaYgYR1FAiBgkAeHvGvI3x/z8M096LtfOF2BvNh90CUdRk0SLisyMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCwINeZe8koU7yLTvysB3EJxRlLZchn04QhUuT1TIsI9AIhAMv+DzSTd1ylC483BU+IPXvsvQybwiLDwzZBhXYkgpwP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@3.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183293},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"e2b34e8d715b17fc03601ed79c6a4ee3217c8497","scripts":{"lint":"prettier --write .","test":"node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:subscribe":"node test/subscribe_test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.0.2","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.20.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_3.1.2_1789703731758_0.901670572578104","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"appmesh","version":"3.1.3","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@3.1.3","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"7b4a3f201c51857bed7680f87617a7d080350170","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-3.1.3.tgz","fileCount":11,"integrity":"sha512-cheSLMhihCMxab35ZycrxLP7B7t7/J2Oa+9g6HrrLMW/tqHyZ0GLG3T6jGs1w3Y8uq+3Ekb5oYHfCPlSmxNvMA==","signatures":[{"sig":"MEYCIQCToYz9qyQ7P+IjBhw6gIz6tRTMzZVqMtPEw41BxyHzRAIhALnhH/nC54QliczUXHbW7TMCHHBNeWus/s3XCQ3CFtg3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC2DF5fr2rnE/W6e4qmZ3aUPSDkfD5daQIuTJMgXZGbOgIhAJGBxJ2YhbZ0/13iDC+N5PiZ5LR/dLxjwKka9OueAyUt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@3.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185865},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"4bc733a3fa5b43a72bcab71673358a11d2ac8b3c","scripts":{"lint":"prettier --write .","test":"node test/unit_test.js && node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:subscribe":"node test/subscribe_test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.0.2","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.20.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_3.1.3_1789792151755_0.9167446601828915","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"name":"appmesh","version":"3.1.4","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@3.1.4","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"ceb71a995bfd8376945f7daa32a78a91db75c7d7","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-3.1.4.tgz","fileCount":11,"integrity":"sha512-eXETgcGRT8ybLJtuKO89CflpUggRQxf9PgB/eIm3LShJllxG8CiZEpA1W2wZtvwSsM4TxFx2xqahEFXqkJPmJg==","signatures":[{"sig":"MEUCIAzYoVhfS1oyBlCSPoM9R0lNvhY3Z6gZSZLXQCQtLIZiAiEAkrQVB/3cmJxBu4oN4+aGneoRfInGhPGeyYKet+olOaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHdegixwzoR6NB2Hc7Ay98cLMw8fBn0G4wFMBEL5sgc7AiEAuj95zPfhArF3CIT4YBrIR7gWfCu2mE1fC1fs+oERq3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@3.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":191995},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"cb38bd38644410b4ccb8543fb5e8e40bda2936dd","scripts":{"lint":"prettier --write .","test":"node test/unit_test.js && node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:subscribe":"node test/subscribe_test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.1.0","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.21.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_3.1.4_1790380133797_0.3359054711841811","host":"s3://npm-registry-packages-npm-production"}},"3.1.5":{"name":"appmesh","version":"3.1.5","keywords":["app-mesh","sdk","api","server","tcp","client"],"author":{"name":"laoshanxi"},"license":"MIT","_id":"appmesh@3.1.5","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"5e39407be201f90b287ba734b4a37f3b8835562d","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-3.1.5.tgz","fileCount":13,"integrity":"sha512-2sb2Igl6n7Or6ahgftu7oUZQyM3iaZhw4WMaXR89YtZiN5+AThlvzpWe6yVvCVwjlP9q20yOiTls3CJ0GbuXbw==","signatures":[{"sig":"MEUCIQCeK081hNC656hI4qL4KBwerbTUsUW4tdvaLwplhqYs/wIgSGcEEij9oWC+pH/JqJzlI2cUGIrTMERlqa9lQU7MmiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAxU0ygdxP4ndFhoThD4jX/peb5e1enFF/zyRT8qZHknAiBm9YQQ6wqHfgXJuRHVGeFpNfxzuKAQfmPFFJjZvU2u0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@3.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":218490},"main":"./src/appmesh.js","type":"module","module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"45bb4d87ebecc1cc712e9f985ffe80dddd805793","scripts":{"lint":"prettier --write .","test":"node test/unit_test.js && node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:subscribe":"node test/subscribe_test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a8702b93-93c0-4940-8b5d-76448400e05d"}},"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.1.0","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"sideEffects":false,"_nodeVersion":"24.21.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/appmesh_3.1.5_1790739496104_0.6688417808770384","host":"s3://npm-registry-packages-npm-production"}},"3.1.6":{"_id":"appmesh@3.1.6","bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"dist":{"shasum":"94342471e730bfc4d89eaae4358e6fab9fa4ba55","tarball":"https://registry.npmjs.org/appmesh/-/appmesh-3.1.6.tgz","fileCount":13,"integrity":"sha512-mtK25fHnZ/kDrET/7X1tnvD4ei+yhJLcQN23gro1bnOVfahtAzqb9L7321eRfINrRXthFcFKoTi6JnbujTw8+w==","signatures":[{"sig":"MEQCIFl/MuzRi0wUi5YZBnPn+X+OUtt5Ax/c7kkT1B4UVau6AiA40/WAW+4oBYmZX9ZKP6yoHk1j2tkPjZ55PG1MiSOB9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD38uGAFrHW4DIKrDrnVS1omGPzanKN4bYb5SkUlyLaAwIhAOf79tX2HUVxe1e6hazSd1pDloL0y8MTEHxZ/Vc9HkHN"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/appmesh@3.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":218825},"main":"./src/appmesh.js","name":"appmesh","type":"module","author":{"name":"laoshanxi"},"module":"./dist/appmesh.esm.js","engines":{"npm":">=6.0.0","node":">=14.15.0"},"exports":{".":{"node":"./src/appmesh.js","import":"./dist/appmesh.esm.js","default":"./dist/appmesh.esm.js"},"./tcp":{"node":"./src/appmesh_tcp.js","import":null,"default":null},"./server":{"node":"./src/worker.js","import":null,"default":null},"./worker":{"node":"./src/worker.js","import":null,"default":null}},"gitHead":"4d1c1701c76f5fed844b3ce35a9fdf2fc299c7ff","license":"MIT","scripts":{"lint":"prettier --write .","test":"node test/unit_test.js && node test/appmesh_test.js","build":"webpack --config webpack.config.cjs --mode production","clean":"rm -rf dist","prepare":"npm run build","test:subscribe":"node test/subscribe_test.js"},"version":"3.1.6","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a8702b93-93c0-4940-8b5d-76448400e05d"}},"homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","keywords":["app-mesh","sdk","api","server","tcp","client"],"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"_npmVersion":"12.2.0","description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","directories":{"test":"test"},"maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","browserslist":[">0.2%","not dead","maintained node versions","not op_mini all","ie 11"],"dependencies":{"axios":"^1.8.4","form-data":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"buffer":"^6.0.3","webpack":"^5.89.0","@babel/core":"^7.23.0","webpack-cli":"^5.1.4","babel-loader":"^9.2.1","@babel/runtime":"^7.23.0","@babel/preset-env":"^7.23.0","terser-webpack-plugin":"^5.3.9"},"optionalDependencies":{"uuid":"^13.0.0","msgpack-lite":"^0.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/appmesh_3.1.6_1790939166580_0.9886787779553923"}}},"time":{"created":"2025-02-13T11:17:14.035Z","modified":"2026-10-02T11:06:07.232Z","0.1.1":"2024-07-30T11:44:13.048Z","0.1.2":"2024-07-31T14:13:13.116Z","0.1.3":"2024-08-01T01:25:33.724Z","0.1.4":"2024-08-02T13:29:16.173Z","0.1.5":"2024-08-05T23:28:00.618Z","0.1.6":"2024-08-13T11:30:32.274Z","0.1.7":"2024-08-28T11:05:21.054Z","0.1.8":"2024-09-17T05:13:05.650Z","0.1.9":"2024-10-09T02:08:47.892Z","0.2.0":"2024-10-19T10:01:32.347Z","0.2.1":"2024-11-26T06:47:40.783Z","0.2.2":"2024-11-26T14:05:27.667Z","0.2.3":"2025-01-02T11:21:59.654Z","0.2.4":"2025-01-16T10:13:19.394Z","0.2.5":"2025-02-10T10:09:04.478Z","0.2.6":"2025-02-10T23:21:13.178Z","0.2.7":"2025-02-11T23:04:10.907Z","0.2.8":"2025-02-11T23:15:19.036Z","0.2.9":"2025-02-11T23:49:46.831Z","0.3.0":"2025-02-12T00:21:31.463Z","0.3.1":"2025-02-12T00:25:26.048Z","0.3.2":"2025-02-12T00:42:00.527Z","0.3.3":"2025-02-12T00:49:38.311Z","0.3.4":"2025-02-12T03:15:18.325Z","0.3.5":"2025-02-12T05:16:30.079Z","0.3.6":"2025-02-12T05:54:42.762Z","0.3.9":"2025-02-13T11:17:14.330Z","0.4.0":"2025-02-13T11:29:27.666Z","0.4.1":"2025-02-13T11:36:46.640Z","0.4.2":"2025-02-13T13:05:32.411Z","0.4.3":"2025-02-13T13:15:14.137Z","0.4.4":"2025-02-13T23:24:06.956Z","0.4.5":"2025-02-13T23:42:19.611Z","0.4.6":"2025-02-13T23:55:47.046Z","0.4.7":"2025-02-14T00:10:07.126Z","0.4.8":"2025-02-14T00:15:39.916Z","0.4.9":"2025-02-15T05:39:45.842Z","0.5.0":"2025-02-15T06:01:59.811Z","0.5.1":"2025-02-15T06:19:12.722Z","0.5.2":"2025-02-16T04:05:02.059Z","0.5.4":"2025-02-20T11:15:38.321Z","0.5.5":"2025-02-21T00:41:30.890Z","0.5.6":"2025-02-22T02:13:08.958Z","0.5.7":"2025-02-24T10:13:20.385Z","0.5.8":"2025-02-24T12:12:41.101Z","0.5.9":"2025-02-24T13:56:11.724Z","0.6.0":"2025-02-25T07:02:15.219Z","0.6.1":"2025-02-25T09:06:49.403Z","0.6.2":"2025-02-25T13:37:35.322Z","0.6.3":"2025-02-26T10:17:30.926Z","0.6.4":"2025-02-26T10:26:21.104Z","0.6.5":"2025-02-26T12:18:28.927Z","0.6.6":"2025-02-26T12:21:47.868Z","1.0.1":"2025-03-02T00:25:26.184Z","1.0.2":"2025-04-17T22:49:26.640Z","1.0.3":"2025-04-21T23:06:46.367Z","1.0.4":"2025-04-22T05:34:29.176Z","1.0.5":"2025-04-22T08:17:23.860Z","1.0.6":"2025-04-23T22:18:33.608Z","1.0.7":"2025-04-26T06:37:01.040Z","1.0.8":"2025-09-27T01:48:03.734Z","1.0.9":"2025-10-05T07:45:46.024Z","1.1.0":"2025-10-17T03:36:53.176Z","1.1.1":"2025-10-17T08:27:00.915Z","1.1.2":"2025-10-27T00:00:37.649Z","1.1.3":"2026-03-21T06:03:44.754Z","1.1.4":"2026-03-28T11:25:15.951Z","1.1.5":"2026-03-29T12:35:42.306Z","1.1.6":"2026-03-30T05:39:08.719Z","1.1.7":"2026-04-02T05:08:42.544Z","1.1.8":"2026-04-25T13:41:17.726Z","1.1.9":"2026-04-26T03:15:10.248Z","1.2.0":"2026-04-26T04:02:35.679Z","1.2.1":"2026-05-03T08:51:04.464Z","1.2.3":"2026-06-26T10:52:03.699Z","1.3.0":"2026-07-05T07:44:23.331Z","1.3.1":"2026-07-08T00:22:01.452Z","1.3.2":"2026-07-24T11:21:51.832Z","1.3.3":"2026-08-03T10:57:01.758Z","3.0.0":"2026-08-24T13:14:39.762Z","3.1.0":"2026-08-30T11:27:56.404Z","3.1.1":"2026-09-12T22:24:56.767Z","3.1.2":"2026-09-18T03:55:31.850Z","3.1.3":"2026-09-19T04:29:11.849Z","3.1.4":"2026-09-25T23:48:53.894Z","3.1.5":"2026-09-30T03:38:16.213Z","3.1.6":"2026-10-02T11:06:06.671Z"},"bugs":{"url":"https://github.com/laoshanxi/app-mesh/issues"},"author":{"name":"laoshanxi"},"license":"MIT","homepage":"https://github.com/laoshanxi/app-mesh/tree/main/src/sdk/javascript","keywords":["app-mesh","sdk","api","server","tcp","client"],"repository":{"url":"git+https://github.com/laoshanxi/app-mesh.git","type":"git"},"description":"JavaScript SDK for App Mesh (https://github.com/laoshanxi/app-mesh)","maintainers":[{"name":"laoshanxi","email":"178029200@qq.com"}],"readme":"# App Mesh JavaScript SDK\n\n## Client SDK\n\n### Build\n\n```shell\nnpm run build\n```\n\n### Install\n\n```shell\nnpm i appmesh\n```\n\n### Usage\n\n#### Node.js\n\n```js\nimport { AppMeshClient } from \"appmesh\";\n\nconst client = new AppMeshClient();\nclient.set_bearer_token(process.env.APPMESH_BEARER_TOKEN);\n```\n\n#### Browser (VUE Example)\n\n```js\nimport { AppMeshClient } from \"appmesh\";\nimport { Message } from \"element-ui\";\n\nexport class VueAppMeshClient extends AppMeshClient {\n  constructor(options = {}) {\n    super(options.baseURL, options.sslConfig);\n  }\n\n  /**\n   * Override error handler\n   * @protected\n   * @param {Error} error - The caught error\n   * @returns {AppMeshError} Standardized AppMeshError\n   */\n  onError(error) {\n    const message = error.message;\n    if (message) {\n      Message({ message, type: \"error\", duration: 5 * 1000 });\n    }\n    return error;\n  }\n}\n```\n\n## Server SDK for Node.js\n\nServer-side SDK for building App Mesh applications in Node.js. This SDK enables your Node.js applications to receive tasks from clients via the App Mesh service and return processed results.\n\n### 📦 Package Structure\n\nThe `appmesh` package supports **both browser and Node.js** environments:\n\n- **Client SDK** (`appmesh`) - Works in both browser and Node.js\n- **Server SDK** (`appmesh/worker`) - **Node.js only** (not bundled for browser)\n\nThis ensures the browser build remains lightweight and doesn't include Node.js-specific server code.\n\n### Features\n\n- ✅ **HTTP Server Support** - Communicate with App Mesh REST service over HTTPS\n- ✅ **TCP Server Support** - Use TCP transport for better performance (requires optional dependencies)\n- ✅ **SSL/TLS Security** - Full support for client certificates and CA verification\n- ✅ **Automatic Retry** - Built-in retry logic for task fetching\n- ✅ **Context Manager** - Clean resource management with `withServer` helper\n- ✅ **Custom Logging** - Pluggable logger support\n- ✅ **Binary & Text Data** - Handle both text and binary payloads\n- ✅ **Error Handling** - Comprehensive error handling and reporting\n- ✅ **Browser Compatible** - Server SDK doesn't affect browser builds\n\n### Installation\n\n```bash\n# Basic installation (HTTP server support only)\nnpm install appmesh\n\n# For TCP server support, install optional dependencies:\nnpm install msgpack-lite uuid\n```\n\n### Quick Start\n\n#### Basic HTTP Server\n\n```javascript\nimport { AppMeshWorker, ProcessSupersededError, WorkerRejectedError } from \"appmesh/worker\";\n\nconst server = new AppMeshWorker();\n\ntry {\n  // Fetch task from client\n  const payload = await server.fetch_task();\n  console.log(\"Received:\", payload);\n\n  // Process the task\n  const result = processData(payload);\n\n  // Return result to client\n  await server.send_task_result(result);\n} catch (error) {\n  if (error instanceof ProcessSupersededError || error instanceof WorkerRejectedError) {\n    // This process was replaced (412), or its request is permanently invalid (400).\n    // Exiting is an app entry-point decision; the SDK only surfaces the error.\n    console.error(error.message);\n    process.exit(1);\n  }\n  throw error;\n}\n```\n\n#### With SSL Configuration\n\n```javascript\nimport { AppMeshWorker } from \"appmesh/worker\";\nimport fs from \"fs\";\n\nconst sslConfig = {\n  cert: fs.readFileSync(\"/opt/appmesh/ssl/client.pem\"),\n  key: fs.readFileSync(\"/opt/appmesh/ssl/client-key.pem\"),\n  ca: fs.readFileSync(\"/opt/appmesh/ssl/ca.pem\"),\n  rejectUnauthorized: true,\n};\n\nconst server = new AppMeshWorker(\"https://127.0.0.1:6060\", sslConfig);\n```\n\n#### TCP Server (Better Performance)\n\n**Dependencies:** `npm install msgpack-lite uuid`\n\n```javascript\nimport { AppMeshWorkerTCP, withServer } from \"appmesh/worker\";\nimport fs from \"fs\";\n\nconst sslConfig = {\n  ca: fs.readFileSync(\"/opt/appmesh/ssl/ca.pem\"),\n  cert: fs.readFileSync(\"/opt/appmesh/ssl/client.pem\"),\n  key: fs.readFileSync(\"/opt/appmesh/ssl/client-key.pem\"),\n};\n\n// Auto-cleanup with context manager\nawait withServer(\n  () => new AppMeshWorkerTCP(sslConfig, [\"127.0.0.1\", 6059]),\n  async (server) => {\n    const payload = await server.fetch_task();\n    const result = processPayload(payload);\n    await server.send_task_result(result);\n  }\n);\n// Connection automatically closed\n```\n\n### Environment Variables\n\nThe App Mesh service automatically sets these environment variables:\n\n- `APP_MESH_PROCESS_KEY` - Process authentication key\n- `APP_MESH_APPLICATION_NAME` - Application name\n\nThese are **required** and set automatically by the App Mesh service when running your application.\n\n### API Reference\n\n#### AppMeshWorker\n\n##### Constructor\n\n```javascript\nnew AppMeshWorker(baseURL, sslConfig, options);\n```\n\n**Parameters:**\n\n- `baseURL` (string, optional) - App Mesh service URL. Default: `'https://127.0.0.1:6060'`\n- `sslConfig` (object, optional) - SSL configuration. `false` disables verification; `null`/`undefined` verifies against the bundled App Mesh CA or system roots\n  - `ca` - CA certificate (Buffer or string path)\n  - `cert` - Client certificate (Buffer or string path)\n  - `key` - Client private key (Buffer or string path)\n  - `rejectUnauthorized` (boolean) - Verify SSL certificate. Default: `true`\n- `options` (object, optional)\n  - `logger` - Custom logger instance. Default: `console`\n  - `client` - Pre-built `AppMeshClient` instance to reuse. When supplied, `baseURL` and `sslConfig` are ignored, and the worker shares the caller's bearer.\n\n##### Methods\n\n###### `fetch_task()`\n\nFetch task payload from the App Mesh service. Automatically retries transient failures.\n\n**Returns:** `Promise<string|Buffer|null>` - The payload sent by the client, or `null` when the fetch loop is cancelled via `stop()`\n\n**Throws:** `ProcessSupersededError` for HTTP 412, or `WorkerRejectedError` for a permanent HTTP 400. The caller should stop serving; exit at the app entry point if appropriate.\n\n**Example:**\n\n```javascript\nconst payload = await server.fetch_task();\nconst data = JSON.parse(payload);\n```\n\n###### `send_task_result(result)`\n\nReturn processed result back to the client.\n\n**Parameters:**\n\n- `result` (string|Buffer) - Result to return to client\n\n**Returns:** `Promise<void>`\n\n**Throws:** Error if return fails\n\n**Example:**\n\n```javascript\nconst result = { status: \"success\", data: processedData };\nawait server.send_task_result(JSON.stringify(result));\n```\n\n###### `stop()`\n\nCancel the fetch loop. A running `fetch_task()` call resolves `null`.\n\n```javascript\nserver.stop();\n```\n\n#### AppMeshWorkerTCP\n\nTCP-based server for better performance with large data transfers.\n\n##### Constructor\n\n```javascript\nnew AppMeshWorkerTCP(sslConfig, tcpAddress, options);\n```\n\n**Parameters:**\n\n- `sslConfig` (object, optional) - SSL configuration (same as AppMeshWorker)\n- `tcpAddress` (array or object, optional) - `[host, port]` (legacy) or `{host, port}`. Default: `['127.0.0.1', 6059]`. The `{host, port}` object form is also accepted as the first argument: `new AppMeshWorkerTCP({host, port}, sslConfig)`\n- `options` (object, optional) - Same as AppMeshWorker\n\n##### Methods\n\nSame as `AppMeshWorker`, plus:\n\n###### `close()`\n\nClose the TCP connection and release resources.\n\n**Example:**\n\n```javascript\nconst server = new AppMeshWorkerTCP();\ntry {\n  // Use server...\n} finally {\n  server.close();\n}\n```\n\n#### Helper Functions\n\n##### `withServer(serverFactory, callback)`\n\nContext manager for automatic resource cleanup.\n\n**Parameters:**\n\n- `serverFactory` (function) - Function that creates a server instance\n- `callback` (async function) - Function to execute with the server\n\n**Returns:** `Promise<any>` - Result from callback\n\n**Example:**\n\n```javascript\nawait withServer(\n  () => new AppMeshWorkerTCP(),\n  async (server) => {\n    const payload = await server.fetch_task();\n    await server.send_task_result(processData(payload));\n  }\n);\n```\n\n### Usage Examples\n\n#### JSON Processing\n\n```javascript\nimport { AppMeshWorker } from \"appmesh/worker\";\n\nconst server = new AppMeshWorker();\n\ntry {\n  const payload = await server.fetch_task();\n  const data = JSON.parse(payload);\n\n  // Process JSON data\n  const result = {\n    status: \"success\",\n    processed: data,\n    timestamp: new Date().toISOString(),\n  };\n\n  await server.send_task_result(JSON.stringify(result));\n} catch (error) {\n  await server.send_task_result(\n    JSON.stringify({\n      status: \"error\",\n      message: error.message,\n    })\n  );\n}\n```\n\n#### Binary Data Processing\n\n```javascript\nimport { AppMeshWorker } from \"appmesh/worker\";\nimport crypto from \"crypto\";\n\nconst server = new AppMeshWorker();\n\nconst binaryPayload = await server.fetch_task();\nconst hash = crypto.createHash(\"sha256\");\nhash.update(binaryPayload);\n\nconst result = {\n  size: binaryPayload.length,\n  checksum: hash.digest(\"hex\"),\n};\n\nawait server.send_task_result(JSON.stringify(result));\n```\n\n#### Long-Running Task\n\n```javascript\nimport { AppMeshWorker } from \"appmesh/worker\";\n\nconst server = new AppMeshWorker();\n\nconst config = JSON.parse(await server.fetch_task());\nconst results = [];\n\nfor (let i = 0; i < config.steps; i++) {\n  // Simulate work\n  await new Promise((resolve) => setTimeout(resolve, 1000));\n  results.push({ step: i + 1, status: \"completed\" });\n  console.log(`Step ${i + 1}/${config.steps} completed`);\n}\n\nawait server.send_task_result(\n  JSON.stringify({\n    status: \"success\",\n    results: results,\n  })\n);\n```\n\n### Client-Server Workflow\n\n#### 1. Client Sends Task\n\n```javascript\n// Client side\nimport { AppMeshClient } from \"appmesh\";\n\nconst client = new AppMeshClient();\nclient.set_bearer_token(process.env.APPMESH_BEARER_TOKEN);\n\nconst result = await client.run_task(\n  \"my-app\",\n  JSON.stringify({\n    action: \"process\",\n    data: [1, 2, 3, 4, 5],\n  })\n);\n\nconsole.log(\"Result:\", result);\n```\n\n#### 2. Server Processes Task\n\n```javascript\n// Server side (running as App Mesh application)\nimport { AppMeshWorker } from \"appmesh/worker\";\n\nconst server = new AppMeshWorker();\n\nconst payload = await server.fetch_task();\nconst request = JSON.parse(payload);\n\nconst result = {\n  action: request.action,\n  sum: request.data.reduce((a, b) => a + b, 0),\n};\n\nawait server.send_task_result(JSON.stringify(result));\n```\n\n## Behavioral contract\n\nCross-SDK client guarantees (event demuxer ordering, `__disconnected__` event, buffering caps, timeout/cleanup policy, and bearer authentication) are defined in [SDKContract.md](https://github.com/laoshanxi/app-mesh/blob/main/docs/source/SDKContract.md).\n","readmeFilename":"README.md"}