build(client): make @openclaw/gateway-client publishable to npm#111707
Conversation
Dependency GuardThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
Dependency graph changes notedThis PR includes dependency graph changes. The dependency guard is informational because the PR author is a repository admin or a member of
Security review is still recommended before merge when the dependency graph change is intentional. |
04ffcd5 to
c9298f2
Compare
|
ClawSweeper's browser-export finding is based on an incorrect diff read, so no code change is needed. The proposed
That satisfies both rank-up moves: the browser API and README are already aligned, and every documented packed entry point has executable import proof. |
|
Merged via squash.
|
What Problem This Solves
@openclaw/gateway-protocolships to npm at the next release train (#111664), but third-party clients still have no installable reference client — openclaw-studio vendored our entire private client layer. This makes@openclaw/gateway-clientpublishable alongside it.Why This Change Was Made
@openclaw/retrywas already force-bundled by the root build;@openclaw/net-policy(only 4 IP helpers used) now bundles too (tsdown.config.tsexternalize predicate). Published tarball depends only on public packages:ws,ipaddr.js,@openclaw/gateway-protocol(workspace:* rewritten to exact2026.7.2at pack).publishConfig.access: public,openclaw.release.publishToNpm: true, metadata,fileswhitelist, truthfulsideEffects: false. New README (entry points incl. the browser-safe graph, verified Node quickstart), LICENSE, CHANGELOG, tool-generatednpm-shrinkwrap.json.CORE_PACKAGE_DIRS+ per-package preflight verification (fail-closed both directions) inopenclaw-npm-release.yml,VERSION_ALIGNED_PACKAGE_DIRS,release-check.tstarball recognition, contract-test updates. The manifest-driven publish loop needed no changes; publish order is ai → gateway-protocol → gateway-client → root.workspace:*deps from registry resolution (shrinkwrap pins onlyipaddr.js+ws), confirmed against live npm E404 for the not-yet-published protocol package.User Impact
No client logic changes. Next release train publishes both packages with provenance; third parties get
npm install @openclaw/gateway-client @openclaw/gateway-protocolinstead of vendoring private source.Evidence
sync-plugin-versions --checkand shrinkwrap--checkgreen; four release-tooling test files green on Blacksmith Testbox run 29722428264 (141 tests).npm pack --dry-run: 18 files, dist + docs + shrinkwrap, no src; packed manifest shows exact-version protocol dep.