{"_id":"@openclaw/gateway-client","_rev":"18-6dcb9eb97285677cdcad431a07ff7712","name":"@openclaw/gateway-client","dist-tags":{"reserved":"0.0.0","beta":"2026.9.3","latest":"2026.9.6"},"versions":{"0.0.0":{"name":"@openclaw/gateway-client","version":"0.0.0","license":"MIT","_id":"@openclaw/gateway-client@0.0.0","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"41dcccee55e437e5a69ce53ebae623c5d48b0a46","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-0.0.0.tgz","fileCount":2,"integrity":"sha512-PbjFED9wfIzxO9eHa6E4l8QFUlA4Up9hr8Ivoyl51+51jug+eVeh1rR9v0gVUywXdlNGy+f/PzRL7gdGRwaVSg==","signatures":[{"sig":"MEYCIQCVjoyAjchP+TupY9pGgANIe9xbhfd0gQ67YtVZSkTZAwIhAJuIvH3xVX+0FxrRhbEVFuc/XWCgdKz37yyyQB7dF1X2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384},"private":false,"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git"},"_npmVersion":"11.17.0","description":"Reserved package name for the OpenClaw Gateway client.","directories":{},"_nodeVersion":"26.5.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gateway-client_0.0.0_1784873015663_0.5253720352713989","host":"s3://npm-registry-packages-npm-production"}},"2026.7.2-beta.4":{"name":"@openclaw/gateway-client","version":"2026.7.2-beta.4","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.7.2-beta.4","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"ca0ca67cf978e33c55a63c7282a7e88aea934924","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.7.2-beta.4.tgz","fileCount":18,"integrity":"sha512-iWkaaUQ+sBuLYYw6NkFlmboFJ4ZCIv/5YZiLcCvl8+EsYOyumVim1C+ar9OfIRj/eusMeMbvEpzpkuVfu6WDmg==","signatures":[{"sig":"MEUCIQDkMbUi+Wq9JEspnGeTZCWf+VRq+52Q7o47gQIRQZnfvAIgBF8uwKcLcfroCWure95xb063EgXqBzuXHK+rmXF+p90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.7.2-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":136459},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.7.2-beta.4.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/timeouts.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.7.2-beta.4.tgz","_integrity":"sha512-iWkaaUQ+sBuLYYw6NkFlmboFJ4ZCIv/5YZiLcCvl8+EsYOyumVim1C+ar9OfIRj/eusMeMbvEpzpkuVfu6WDmg==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.12.1","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"ws":"8.21.1","ipaddr.js":"2.4.0","@openclaw/gateway-protocol":"2026.7.2-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":true,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.7.2-beta.4_1784873491290_0.5614533899652292","host":"s3://npm-registry-packages-npm-production"}},"2026.7.2-beta.5":{"name":"@openclaw/gateway-client","version":"2026.7.2-beta.5","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.7.2-beta.5","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"d709c51f25893d76c9d023d90e2db03d1b34032b","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.7.2-beta.5.tgz","fileCount":17,"integrity":"sha512-dr36QNztu1BetFnb+vOuqa2QuQ6m7wD1ZSRmtA+tcmCUVgWGBrWaNW570aoBPofB7BxJ8F7USmlvjaxyhboS9Q==","signatures":[{"sig":"MEUCICIWlsVhE+68UKOKjHdpjI2k7J7xKm1tyfxXKhKZPcD6AiEAoHcvU6xDl/BKinoUDUVk40jBAXpLehDEUeRVztgYido=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.7.2-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":135102},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.7.2-beta.5.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/timeouts.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.7.2-beta.5.tgz","_integrity":"sha512-dr36QNztu1BetFnb+vOuqa2QuQ6m7wD1ZSRmtA+tcmCUVgWGBrWaNW570aoBPofB7BxJ8F7USmlvjaxyhboS9Q==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.12.1","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"ws":"8.21.1","ipaddr.js":"2.4.0","@openclaw/gateway-protocol":"2026.7.2-beta.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.7.2-beta.5_1785208885219_0.40667480149030966","host":"s3://npm-registry-packages-npm-production"}},"2026.7.2-beta.6":{"name":"@openclaw/gateway-client","version":"2026.7.2-beta.6","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.7.2-beta.6","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"8b3c885669acbd169f8cce0eba0726bcb5b0b5be","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.7.2-beta.6.tgz","fileCount":17,"integrity":"sha512-BOiq9dReT5gBWRtWAuKOY325L3gCBGQTqN5H0pTMCugSPy2S7l0ZaDub6fdHmIaY3hxHjJkfCtkR4IYFY7Zlsg==","signatures":[{"sig":"MEUCIQCN5ycAcWAG82WL3mj/Zgm9j0v+j5X0yp4vV6iMvvVZdQIgZKRpgZk+wJCXrMunga+kO1NzwYc9s3AYGD2octU8ZQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.7.2-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179811},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.7.2-beta.6.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/timeouts.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.7.2-beta.6.tgz","_integrity":"sha512-BOiq9dReT5gBWRtWAuKOY325L3gCBGQTqN5H0pTMCugSPy2S7l0ZaDub6fdHmIaY3hxHjJkfCtkR4IYFY7Zlsg==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.12.1","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"ws":"8.21.1","ipaddr.js":"2.4.0","@openclaw/gateway-protocol":"2026.7.2-beta.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.7.2-beta.6_1785561015796_0.2941630965514521","host":"s3://npm-registry-packages-npm-production"}},"2026.7.2-beta.7":{"name":"@openclaw/gateway-client","version":"2026.7.2-beta.7","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.7.2-beta.7","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"98f8bfd30bd706cd441aad67a13d8a4bd1eb0bed","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.7.2-beta.7.tgz","fileCount":17,"integrity":"sha512-XuXuvxGVruTM4z8BMeYnILQEcElenC+3CQmIj0I9vNkJJrV3DT3dp6eNKEElQEc3dKQYNcMqaqMdmQ0UD9J/Sw==","signatures":[{"sig":"MEUCIQDB9VubwPflD+A/1zPNCA57FFTApRmSf7JB/Elk9KrzUwIgVD9MHX1NcSBgb1d2xwc5xBIRhF4xRlu3/qEx4tz4iCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.7.2-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179811},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.7.2-beta.7.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/timeouts.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.7.2-beta.7.tgz","_integrity":"sha512-XuXuvxGVruTM4z8BMeYnILQEcElenC+3CQmIj0I9vNkJJrV3DT3dp6eNKEElQEc3dKQYNcMqaqMdmQ0UD9J/Sw==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.12.1","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"ws":"8.21.1","ipaddr.js":"2.4.0","@openclaw/gateway-protocol":"2026.7.2-beta.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.7.2-beta.7_1785655955138_0.2723124859728878","host":"s3://npm-registry-packages-npm-production"}},"2026.8.1-beta.1":{"name":"@openclaw/gateway-client","version":"2026.8.1-beta.1","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.8.1-beta.1","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"2857dddd1494fba74ead0d2a2e7fc8eb507ea867","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.8.1-beta.1.tgz","fileCount":17,"integrity":"sha512-nmLabzVFcAAtWG2g35FULYAoiwdN41xrJb5dr2oWDvzdNSuqYboU4mPOr9ujuN0EMRSzbzUDOEz6EcsnPhaKQg==","signatures":[{"sig":"MEQCICGlo3DgaN5iRwWnGsBF24IZWq1b1KG1nQ6iyIatckaFAiB3MZzI/kwbr9+lb6kFESoygLLAZg0t/yGZrhP42C3J4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.8.1-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182117},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.8.1-beta.1.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/timeouts.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.8.1-beta.1.tgz","_integrity":"sha512-nmLabzVFcAAtWG2g35FULYAoiwdN41xrJb5dr2oWDvzdNSuqYboU4mPOr9ujuN0EMRSzbzUDOEz6EcsnPhaKQg==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.12.1","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"ws":"8.21.1","ipaddr.js":"2.4.0","@openclaw/gateway-protocol":"2026.8.1-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.8.1-beta.1_1786374228947_0.9565955203487344","host":"s3://npm-registry-packages-npm-production"}},"2026.8.1-beta.2":{"name":"@openclaw/gateway-client","version":"2026.8.1-beta.2","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.8.1-beta.2","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"bef96e8396aca889847891bf3ee13cea863fc5de","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.8.1-beta.2.tgz","fileCount":23,"integrity":"sha512-vlCY0DgWS7a70nNYjM5/KFo/L7PDAb7WO/wDX4lyCGqaQySicL2wXX3cxlNwBqW1QOfpayjFtNrX9U7C1Te60w==","signatures":[{"sig":"MEUCIQCuaBz6C1y6ZD6rL+rzf2k/ksAPKF6ZwE5BzTNGqz+ZJAIgAhGHCej3SR9OpF+bLvItusI30Jocd4r9m06WR1PusMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203696},"main":"./dist/index.mjs","type":"module","_from":"file:/tmp/openclaw-core-preflight-31865167546/openclaw-gateway-client-2026.8.1-beta.2.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/tmp/openclaw-core-preflight-31865167546/openclaw-gateway-client-2026.8.1-beta.2.tgz","_integrity":"sha512-vlCY0DgWS7a70nNYjM5/KFo/L7PDAb7WO/wDX4lyCGqaQySicL2wXX3cxlNwBqW1QOfpayjFtNrX9U7C1Te60w==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.1","ipaddr.js":"2.4.0","@openclaw/gateway-protocol":"2026.8.1-beta.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.8.1-beta.2_1786771472630_0.4552025309286729","host":"s3://npm-registry-packages-npm-production"}},"2026.8.1-beta.3":{"name":"@openclaw/gateway-client","version":"2026.8.1-beta.3","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.8.1-beta.3","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"ce95c8fbc87a6a7ee711ff3cb6fe12b243e6c2a1","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.8.1-beta.3.tgz","fileCount":23,"integrity":"sha512-KypvHZiiY1VM4RQrdTyT2wsNMvaxETnpWmwX7meIFz5koMnFuxatnXnn1/xPHzHTQip93GGYoMH2tnDkJrfhfg==","signatures":[{"sig":"MEYCIQDMK3iFDaaoDAJiMvg/mMoNGWNnjuB0T3CsWxF7b9gleAIhAOYJ6Fh4RCTvD4t/F8pf4GeO3Ein7q0R2THuRZnr3GWb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.8.1-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197948},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.8.1-beta.3.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.8.1-beta.3.tgz","_integrity":"sha512-KypvHZiiY1VM4RQrdTyT2wsNMvaxETnpWmwX7meIFz5koMnFuxatnXnn1/xPHzHTQip93GGYoMH2tnDkJrfhfg==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.13.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"ws":"8.21.1","ipaddr.js":"2.4.0","@openclaw/gateway-protocol":"2026.8.1-beta.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.8.1-beta.3_1787545469285_0.5836441861667827","host":"s3://npm-registry-packages-npm-production"}},"2026.9.1-beta.1":{"name":"@openclaw/gateway-client","version":"2026.9.1-beta.1","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.9.1-beta.1","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"068707df761747696f28a53ba3c0b9d87ce548ef","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.9.1-beta.1.tgz","fileCount":23,"integrity":"sha512-lBcfuF7zdiXUGAaYnXAqU6+1rqQ1PO2OBvADUlRbwU9O3N3n8ClrQlSm6Bsq2ORmZjdxEPm1+rcVA01Nugfcmg==","signatures":[{"sig":"MEUCIBf8Z2h3+oBVOuWn3mF8bkSYdKBFmqEPUJBCVRx5MqXzAiEAns+lwuswQehmI/ECDuLmxyVwM5Rr1nIVq4ucVMZFJME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.9.1-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199403},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.9.1-beta.1.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.9.1-beta.1.tgz","_integrity":"sha512-lBcfuF7zdiXUGAaYnXAqU6+1rqQ1PO2OBvADUlRbwU9O3N3n8ClrQlSm6Bsq2ORmZjdxEPm1+rcVA01Nugfcmg==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.9.1-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.9.1-beta.1_1787946279747_0.3975329795098572","host":"s3://npm-registry-packages-npm-production"}},"2026.8.1":{"name":"@openclaw/gateway-client","version":"2026.8.1","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.8.1","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"16d722a26b5694c0b96228c32d700551db543f95","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.8.1.tgz","fileCount":23,"integrity":"sha512-Qp4A41c4mWROftJDpr88XwXBIq1yJAh8IghGRljhxPxL6w/yGiV0PW70nBiGXceoNP8D6Li6ZNCK7gi4DD03SA==","signatures":[{"sig":"MEQCIA2S/JzXrfbLYdR1gGHNaKmGm28QhuCGtBifdTyRa4xoAiBNzGnAZ9dSWD/YSsXD/ZPGJOu2KaJbSsG7frUwIcKBEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199772},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.8.1.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.8.1.tgz","_integrity":"sha512-Qp4A41c4mWROftJDpr88XwXBIq1yJAh8IghGRljhxPxL6w/yGiV0PW70nBiGXceoNP8D6Li6ZNCK7gi4DD03SA==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.8.1_1788143451836_0.7179455298952926","host":"s3://npm-registry-packages-npm-production"}},"2026.8.2":{"name":"@openclaw/gateway-client","version":"2026.8.2","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.8.2","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"66c0235e666f3424f643bf5686b4b623f7287eae","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.8.2.tgz","fileCount":23,"integrity":"sha512-SoBgMgDA6mRShoVMv8rzPvEBn+P+DioonqbWvGb2hRvqoCX7tEn0F9/GNooc0ragx+WTzIb5RUeKWTKbA2voRA==","signatures":[{"sig":"MEYCIQClPIYy+JzAsuBdKhJJmTWDG+2wRStEdaMioNWTOCPiXAIhAIYgWtsYyOcdDwVSQhKZcyiTMQQtT+PkdF7hKyIl9cZv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":201984},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.8.2.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.8.2.tgz","_integrity":"sha512-SoBgMgDA6mRShoVMv8rzPvEBn+P+DioonqbWvGb2hRvqoCX7tEn0F9/GNooc0ragx+WTzIb5RUeKWTKbA2voRA==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.8.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.8.2_1788278040216_0.5012722588287193","host":"s3://npm-registry-packages-npm-production"}},"2026.9.1":{"name":"@openclaw/gateway-client","version":"2026.9.1","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.9.1","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"656bd557bc13b81247464a9350daff2d56197458","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.9.1.tgz","fileCount":23,"integrity":"sha512-rgnSYSp2tlZtEoI3MbxbJX3HP3NBXsRsF0oT1cRlYmUMMDvM1IR9jPumIxj0tfFAiAQKYWsGFz7BLwwKo9zJZA==","signatures":[{"sig":"MEUCIQDhyhj18G+/tpooRWpVirzV/JaFbOGCQPTb1qm/e93zowIgRlIhSXJ0kA8C3JQyNFRnmW6L5JoDiXWRHyAYlGJPBuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203872},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.9.1.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.9.1.tgz","_integrity":"sha512-rgnSYSp2tlZtEoI3MbxbJX3HP3NBXsRsF0oT1cRlYmUMMDvM1IR9jPumIxj0tfFAiAQKYWsGFz7BLwwKo9zJZA==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.9.1_1788457968758_0.3220547038058319","host":"s3://npm-registry-packages-npm-production"}},"2026.9.2":{"name":"@openclaw/gateway-client","version":"2026.9.2","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.9.2","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"6580d0e6f8ce46cac970cbc522bbe7d613502e3d","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.9.2.tgz","fileCount":23,"integrity":"sha512-mjV9uIEGCd4+Rvwp37B72cG/12xf+AxEUsyVWGmQz4ttwK1JFFEwVJ6HjzxFfnBGeFJGwgPAjnTwkByyrwnrPQ==","signatures":[{"sig":"MEUCIHt5HOj1IlriR++Pf+2QgLLpZFCiivaU1+G+BMb7+YVaAiEAmCk+kOyoylz09QFYEwe6JbgXFL8p5D6x/gy3VHesTuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204313},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.9.2.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.9.2.tgz","_integrity":"sha512-mjV9uIEGCd4+Rvwp37B72cG/12xf+AxEUsyVWGmQz4ttwK1JFFEwVJ6HjzxFfnBGeFJGwgPAjnTwkByyrwnrPQ==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.9.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.9.2_1788635003958_0.007432870731636454","host":"s3://npm-registry-packages-npm-production"}},"2026.9.3":{"name":"@openclaw/gateway-client","version":"2026.9.3","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.9.3","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"20dcfd38440600010429ebce42645115507bb9f2","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.9.3.tgz","fileCount":23,"integrity":"sha512-NfBXoINz2cOWfMGKwNIU1xGwtla7nKgaxA4cslwBnJaKTs/Y2IUYkafn9GCxxcLHTI760edlD8epYFgmk07NPA==","signatures":[{"sig":"MEYCIQCKrRTVFsE12elMnbCLCG+B+Vjbr8TO4nqcHVeDBn1iMQIhAMwBkW/UttXRzU+3x/s6TeXUu4Bu+Wd1ZqtIyT/Wmmc7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":208352},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.9.3.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.9.3.tgz","_integrity":"sha512-NfBXoINz2cOWfMGKwNIU1xGwtla7nKgaxA4cslwBnJaKTs/Y2IUYkafn9GCxxcLHTI760edlD8epYFgmk07NPA==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.9.3_1788872151283_0.32938841136958863","host":"s3://npm-registry-packages-npm-production"}},"2026.9.4":{"name":"@openclaw/gateway-client","version":"2026.9.4","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.9.4","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"17795c68a77ae9a031b735ca43f5269cba9315ed","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.9.4.tgz","fileCount":23,"integrity":"sha512-MQSj/agWzPMvPbWIyh5azarYYJvxcrc9TVdPn22zdGAfW7SAOpocpa/ImOi8YcIDk6IILXvv0nRDFKXQnjMS6A==","signatures":[{"sig":"MEUCIQDwEXrD7J2UfrpknZU418S+TXq26pVVEv7sC5aBPOMFUAIgNneNSK/D83y4ou7jz6+5733DeL6S82wVSVPcMPUkfvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":217949},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.9.4.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.9.4.tgz","_integrity":"sha512-MQSj/agWzPMvPbWIyh5azarYYJvxcrc9TVdPn22zdGAfW7SAOpocpa/ImOi8YcIDk6IILXvv0nRDFKXQnjMS6A==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.9.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.9.4_1789093931799_0.12283143810272468","host":"s3://npm-registry-packages-npm-production"}},"2026.9.5":{"name":"@openclaw/gateway-client","version":"2026.9.5","keywords":["client","gateway","openclaw","websocket"],"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","_id":"@openclaw/gateway-client@2026.9.5","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"homepage":"https://github.com/openclaw/openclaw#readme","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"f9a1ba998eea2ee00f7d7353de7a2246fff7e316","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.9.5.tgz","fileCount":23,"integrity":"sha512-3Sfe7XpzSDfRyu61N0Se7uCErEFQhP0wo8E9YLfMP4rLwn2xtZpTPn4qgXZE+iun56cNg/1ByV+ENfHmWw95mw==","signatures":[{"sig":"MEUCIQCtX/7qtlqllqckCJzcw9RxHbLuPyMkfiQFbw71DetlEwIgExgjjRqwKIsXBWSJVkEq9bNAxYqSRKhvQ+tMNtvh/xA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICn3V/i/PnjBtPx586a0wbgXjW/k1aITzb5AlVl98VpPAiAehWRZ8mIqM4JpDfzUtei5TC+wRJsQPx9l76jF2RQKkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":234966},"main":"./dist/index.mjs","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.9.5.tgz","types":"./dist/index.d.mts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.9.5.tgz","_integrity":"sha512-3Sfe7XpzSDfRyu61N0Se7uCErEFQhP0wo8E9YLfMP4rLwn2xtZpTPn4qgXZE+iun56cNg/1ByV+ENfHmWw95mw==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.9.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"tmp":"tmp/gateway-client_2026.9.5_1789779440256_0.2107419687755394","host":"s3://npm-registry-packages-npm-production"}},"2026.9.6":{"_id":"@openclaw/gateway-client@2026.9.6","bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"dist":{"shasum":"e27b166899e9997a7ed97453d4236d4d0b047380","tarball":"https://registry.npmjs.org/@openclaw/gateway-client/-/gateway-client-2026.9.6.tgz","fileCount":23,"integrity":"sha512-C34ae6bG2Vj0ayrT9CjMULmcdQ3/bJiM9IQlGoajbtOmm4+plXh72ByREyCNDRI6561kiR4zk3oQeqbM4f+o/Q==","signatures":[{"sig":"MEQCIEfLjQUXaDgLJz8zODfd0f5ob9DU+iIi+XUi1aYhDBuyAiBt3H1nNEa4Hjk6IKsxhUDwqtmKf7gHlOzXAmoa4QI32Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCGpvtv5ycWOgHfPJkvN9b5eqL3h0Rb6uen1NyfNgJ6awIhALcoa7bpHRnFp6CVBDavyb/M4RLZLMS6m1GxEqLLHXix"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openclaw%2fgateway-client@2026.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":236963},"main":"./dist/index.mjs","name":"@openclaw/gateway-client","type":"module","_from":"file:preflight-tarball/openclaw-gateway-client-2026.9.6.tgz","types":"./dist/index.d.mts","author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"engines":{"node":">=22.19.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.mts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"},"./timeouts":{"types":"./dist/timeouts.d.mts","import":"./dist/timeouts.mjs","default":"./dist/timeouts.mjs"},"./readiness":{"types":"./dist/readiness.d.mts","import":"./dist/readiness.mjs","default":"./dist/readiness.mjs"},"./scope-upgrade":{"types":"./dist/scope-upgrade.d.mts","import":"./dist/scope-upgrade.mjs","default":"./dist/scope-upgrade.mjs"},"./websocket-data":{"types":"./dist/websocket-data.d.mts","import":"./dist/websocket-data.mjs","default":"./dist/websocket-data.mjs"}},"license":"MIT","scripts":{"build":"tsdown src/index.ts src/browser.ts src/readiness.ts src/scope-upgrade.ts src/timeouts.ts src/websocket-data.ts --no-config --platform node --format esm --dts --out-dir dist --clean"},"version":"2026.9.6","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2455ec99-3a05-4e98-ab19-c96d292c9973"}},"homepage":"https://github.com/openclaw/openclaw#readme","keywords":["client","gateway","openclaw","websocket"],"openclaw":{"release":{"publishToNpm":true}},"_resolved":"/home/runner/work/openclaw/openclaw/preflight-tarball/openclaw-gateway-client-2026.9.6.tgz","_integrity":"sha512-C34ae6bG2Vj0ayrT9CjMULmcdQ3/bJiM9IQlGoajbtOmm4+plXh72ByREyCNDRI6561kiR4zk3oQeqbM4f+o/Q==","repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"_npmVersion":"11.17.0","description":"Reference WebSocket client for the OpenClaw Gateway protocol","directories":{},"maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ws":"8.21.3","ipaddr.js":"2.5.0","@openclaw/gateway-protocol":"2026.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@openclaw/normalization-core":"0.0.0-private"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gateway-client_2026.9.6_1790204343388_0.676314109822733"}}},"time":{"created":"2026-07-24T06:03:35.499Z","modified":"2026-09-23T22:59:03.924Z","0.0.0":"2026-07-24T06:03:35.794Z","2026.7.2-beta.4":"2026-07-24T06:11:31.446Z","2026.7.2-beta.5":"2026-07-28T03:21:25.368Z","2026.7.2-beta.6":"2026-08-01T05:10:15.953Z","2026.7.2-beta.7":"2026-08-02T07:32:35.291Z","2026.8.1-beta.1":"2026-08-10T15:03:49.087Z","2026.8.1-beta.2":"2026-08-15T05:24:32.767Z","2026.8.1-beta.3":"2026-08-24T04:24:29.417Z","2026.9.1-beta.1":"2026-08-28T19:44:39.876Z","2026.8.1":"2026-08-31T02:30:51.972Z","2026.8.2":"2026-09-01T15:54:00.374Z","2026.9.1":"2026-09-03T17:52:48.894Z","2026.9.2":"2026-09-05T19:03:24.093Z","2026.9.3":"2026-09-08T12:55:51.413Z","2026.9.4":"2026-09-11T02:32:11.985Z","2026.9.5":"2026-09-19T00:57:20.354Z","2026.9.6":"2026-09-23T22:59:03.512Z"},"bugs":{"url":"https://github.com/openclaw/openclaw/issues"},"author":{"url":"https://openclaw.org","name":"OpenClaw Foundation"},"license":"MIT","homepage":"https://github.com/openclaw/openclaw#readme","keywords":["client","gateway","openclaw","websocket"],"repository":{"url":"git+https://github.com/openclaw/openclaw.git","type":"git","directory":"packages/gateway-client"},"description":"Reference WebSocket client for the OpenClaw Gateway protocol","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"vincentkoc","email":"vincentkoc@ieee.org"}],"readme":"# `@openclaw/gateway-client`\n\nReference WebSocket client for the OpenClaw Gateway protocol. It provides the\nconnection state machine used by OpenClaw's own Node and browser clients:\nchallenge-based authentication, typed protocol frames, request correlation,\ntimeouts, reconnect backoff, device-token handling, and event delivery.\n\nThe current wire protocol is version 4. General clients must advertise exactly v4 with\n`minProtocol: 4` and `maxProtocol: 4`. See the\n[Gateway protocol specification](https://docs.openclaw.ai/gateway/protocol) for\nthe complete handshake, authentication, role, scope, and method contracts.\nExact node identities (`role: \"node\"` plus `mode: \"node\"`) and probe clients\ncan use v3. The built-in node host starts with an exact v4 envelope, then retries\nan exact v3 envelope after a v3 Gateway rejects v4. If that legacy probe reaches\nan upgraded v4 Gateway, the client reconnects with the full v4 envelope before\nreporting readiness. Other exact node identities default to `[3, 4]`. Explicit\nbounds override these defaults; `[3, 4]` on the built-in node host selects the\nsame bounded negotiation.\n\n## Versioning\n\nPackage versions follow the OpenClaw calendar release train: `YYYY.M.PATCH`,\nincluding the OpenClaw prerelease suffix when applicable. The package version is\nseparate from the Gateway's current wire protocol number reported in `hello-ok`.\n\n## Install\n\nUse the verified stable release with exact pins:\n\n```bash\nnpm install --save-exact @openclaw/gateway-client@2026.8.1 @openclaw/gateway-protocol@2026.8.1\n```\n\nSee the canonical [installation guide](https://docs.openclaw.ai/gateway/clients#install-the-packages)\nfor package/wire-version rules and recovery from reserved `0.0.0` artifacts.\nTest it with the Gateway version you deploy; the root `openclaw` CLI has its own\npackage versions and dist-tags.\n\nThis release declares Node.js `>=22.19.0`. Node consumers use the `ws` transport\nincluded as a runtime dependency. Browser consumers provide their platform\nWebSocket through the browser-safe protocol client surface.\n\nFor device-authenticated Node connections, supply `deviceIdentity` (or\n`hostDeps.loadOrCreateDeviceIdentity`) and the `hostDeps.signDevicePayload` and\n`hostDeps.publicKeyRawBase64UrlFromPem` callbacks. The host also owns device-token\nstorage through `GatewayClientHostDeps`; the package does not load OpenClaw's\nlocal identity or credentials automatically.\n\nToken storage callbacks may return their existing synchronous result or a\n`Promise`. The client waits for token loading before sending `connect`, and for\nissued-token persistence before calling `onHelloOk`. An accepted hello creates a\npersistence obligation that survives disconnect or stop; bootstrap credentials\nretire after that persistence succeeds. Readiness still belongs to the current\nconnection. `stop()` requests shutdown synchronously; `stopAndWait()` also waits\nfor accepted token operations to settle, even when transport closure times out.\nA reconnect waits for earlier token operations before reading the token again.\n\nAccepted asynchronous persistence failures reach `onConnectError` even after the\nconnection retires. If that callback is absent or throws, `stopAndWait()` rejects\nwith the first undelivered persistence error after draining accepted work. A later\nconnection can still load credentials; a reported failure does not poison its\nstorage queue. Synchronous callback exceptions retain their existing connect-error\nbehavior.\n\nHosts should honor the optional `expectedToken` storage condition. A string\ncompares the existing row before writing or clearing; `null` on a store means\ninsert only when no row exists. Omission preserves unconditional storage behavior.\nThis prevents an older receipt or cleanup from replacing another client's newer\ntoken. Close cleanup waits for pending persistence and, if its result is uncertain,\nconditionally clears only the sampled and received tokens. Cleanup before any token\nobservation retains its existing unconditional behavior. An observed empty cache\ndoes not permit unconditional cleanup.\n\nWhen storage callbacks receive `signal` or `assertCurrent`, check them immediately\nbefore admission and before committing a write. These callbacks stay local to the\nhost; do not send them to a worker. Loads use the current connection lifetime;\ncleanup uses the client lifetime. Accepted hello persistence is independent of\ntransport lifetime and retains the host's normal storage admission checks.\n\n## Entry points\n\n- `@openclaw/gateway-client` exports the Node `GatewayClient`, device-auth\n  helpers, readiness helpers, and timeout utilities.\n- `@openclaw/gateway-client/browser` exports the browser-safe protocol client,\n  browser device-auth lifecycle, reconnect policy, and lightweight protocol\n  constants. Its module graph does not import Node built-ins or `ws`.\n- `@openclaw/gateway-client/readiness` exports helpers that delay client startup\n  until the event loop can process Gateway IO.\n- `@openclaw/gateway-client/timeouts` exports timeout constants and safe timer\n  resolution helpers.\n- `@openclaw/gateway-client/websocket-data` converts every Node `ws` raw-data\n  shape to UTF-8 text.\n\n## Node quickstart\n\n```ts\nimport { GatewayClient } from \"@openclaw/gateway-client\";\nimport { PROTOCOL_VERSION } from \"@openclaw/gateway-protocol/version\";\n\nconst connected = Promise.withResolvers<void>();\nconst client = new GatewayClient({\n  url: \"ws://127.0.0.1:18789\",\n  token: process.env.OPENCLAW_GATEWAY_TOKEN,\n  minProtocol: PROTOCOL_VERSION, // v4\n  maxProtocol: PROTOCOL_VERSION, // v4\n  onHelloOk: () => connected.resolve(),\n  onConnectError: (error) => connected.reject(error),\n  onEvent: (event) => {\n    console.log(event.event, event.payload);\n  },\n});\n\nclient.start();\nawait connected.promise;\n\nconst status = await client.request(\"status\", {});\nconsole.log(status);\n\nclient.stop();\n```\n\nThe client waits for the Gateway's `connect.challenge` event before sending its\n`connect` request. It includes the challenge nonce in device authentication and\ndoes not fall back to a pre-challenge handshake. `onHelloOk` fires only after the\nGateway accepts a compatible connection, so requests should wait for that callback.\n\nThis loopback example uses the default `gateway-client` / `backend` identity.\nIt is not a device-pairing example. UI clients should declare their actual `mode`\nand supply the device-auth host callbacks described above; see\n[device identity and pairing](https://docs.openclaw.ai/gateway/protocol#device-identity-and-pairing).\n\nFor remote connections, prefer `wss://`. The Node client also accepts plaintext\n`ws://` by default for loopback, private/link-local/CGNAT IP addresses, and\n`.local` or `.ts.net` hostnames. This allowlist does not provide encryption:\nauthentication material and Gateway traffic must not cross an untrusted network\nwithout transport security.\n\n## Browser clients\n\nImport `@openclaw/gateway-client/browser` when the host owns the WebSocket\nadapter and device-key storage. The browser entry includes\n`GatewayProtocolClient` and `GatewayBrowserDeviceAuthLifecycle`; it deliberately\nomits the Node transport, TLS fingerprint handling, and private-network address\npolicy.\n\nThe host is responsible for:\n\n- creating a `GatewayProtocolSocket` adapter around the browser WebSocket;\n- loading and storing browser device identity and issued device tokens;\n- signing the challenge-bound device payload;\n- using the Gateway challenge `ts` as the device proof's `signedAt` value;\n- supplying the client identity, role, scopes, and authentication selection;\n- choosing close and reconnect behavior for product-specific errors.\n\nThe shared protocol client still owns frame parsing, request correlation,\nchallenge ordering, timeout cleanup, sequence-gap detection, and reconnect\nscheduling.\n\nBoth the Node and browser entries export `isGatewayProtocolResponseError(error)`.\nIt recognizes correlated Gateway response errors; constructed errors and local\ntransport timeouts return `false`. Both entries use the same implementation.\n\n## Defaults and reconnect behavior\n\nThe Node client starts with a 30 second request timeout, a 15 second\nconnect-challenge timeout, and exponential reconnect delays from 1 second to 30\nseconds with a multiplier of 2. Server-provided startup retry hints may override\nthe next delay.\n\nThe canonical defaults table and the server policy fields that can replace\npre-handshake values are documented in the\n[Gateway protocol specification](https://docs.openclaw.ai/gateway/protocol#client-constants).\n\nUse the `./timeouts` entry point when a host must align readiness or watchdog\nbudgets with these defaults. Use the `./readiness` entry point when startup must\nwait for an event-loop probe before opening the socket.\n\n## Bundled internals\n\nThe retry supervisor and the small `@openclaw/net-policy/ip` implementation are\ninlined into the published JavaScript and declarations. They are implementation\ndetails, not public exports or supported API surfaces. `ipaddr.js` remains an\nexternal dependency because the inlined IP helpers use its public runtime and\ntypes.\n\n`ws`, `@openclaw/gateway-protocol`, and `ipaddr.js` remain external in the\npublished distribution. Consumers should import protocol types and constants\nfrom `@openclaw/gateway-protocol`, not from bundled implementation paths.\n\n## Contract notes\n\n- The client is inert at module import and construction time. `start()` opens\n  the socket; `stop()` closes it and rejects pending requests.\n- A request uses `request(method, params)` after `hello-ok`. Passing\n  `timeoutMs: null` creates an intentionally unbounded request.\n- Finite request deadlines reject with `GatewayProtocolRequestTimeoutError`,\n  whose `CLIENT_TIMEOUT` code, method, deadline, and send-boundary flag remain\n  distinct from authoritative Gateway response errors.\n- Device identity persistence, signing, proxy routing, TLS formatting, and\n  logging stay host-owned through `GatewayClientHostDeps`.\n- Protocol changes are additive first. Incompatible changes require an explicit\n  wire-version decision and coordinated server/client follow-through.\n","readmeFilename":"README.md"}