mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 17:53:39 +00:00
* fix(gateway): keep worker turns working on session hosts that predate new worker tools A Gateway built from main added the `presence` worker session tool, and every worker-turn launch to a published openclaw@2026.9.6 session-host node failed with `INVALID_REQUEST: invalid worker launch descriptor` followed by `node worker cancellation timed out`. The installed node supervisor validates `toolAuthority.allowedToolNames` against a closed vocabulary, and bundle refresh does not replace the supervisor. The Gateway now negotiates the launch vocabulary per node, following the existing capability pattern: it advertises `node-worker-launch-tool-names-v1`, updated nodes declare `workerHost.launchToolNames` only to Gateways that advertise it, and the Gateway treats an absent declaration as the frozen 2026.9.6 vocabulary. Tool authority filters the projected tool set by the destination vocabulary, so turn authorization and the launch descriptor stay identical. Unknown declared names are ignored, so future worker tools need no further capability. Update behavior: Gateway-first updates keep older nodes hosting turns without newer tools (one info log names them); node-first updates keep the declaration unchanged for older Gateways; updated pairs get presence. * fix(scripts): add worker tool authority to the PR wrapper inventory src/infra/node-runner-inventory.ts is in the trusted-anchor PR wrapper's runtime import closure and now imports src/worker/tool-authority.ts for launch tool-name negotiation; the extracted wrapper could not resolve it. * test(gateway): await the shared async node tunnel manager fixture Main moved createManager into node-worker-tunnel.test-support.ts as an async helper (#160415); the launch-vocabulary lifecycle test still called it synchronously. |
||
|---|---|---|
| .. | ||
| changelog.sh | ||
| ci-dispatch.mjs | ||
| clawsweeper-review-gate.mjs | ||
| common.sh | ||
| correction-review.mjs | ||
| crabbox-gate-contract.mjs | ||
| crabbox-gate-plan.mts | ||
| crabbox-gate-transport.mts | ||
| crabbox-merge-bypass.mjs | ||
| crabbox-merge-bypass.sh | ||
| darwin-process-identity.py | ||
| gates.sh | ||
| gh-api-preflight.mjs | ||
| github.mjs | ||
| github.sh | ||
| host-tools.sh | ||
| materialize-dependencies.mjs | ||
| merge-body.mjs | ||
| merge-legacy-refusal.mjs | ||
| merge-outcome.sh | ||
| merge-pre-dispatch-refusal.mjs | ||
| merge-prior-ci-cancellation.mjs | ||
| merge-prior-ci-security.mjs | ||
| merge-prior-ci.mjs | ||
| merge-rest.mjs | ||
| merge.sh | ||
| operation-lock.sh | ||
| prepare-core.sh | ||
| process-group-runner.mjs | ||
| push.sh | ||
| review-artifacts.mjs | ||
| review-transition-state.mjs | ||
| review.sh | ||
| worktree-provision-error.mts | ||
| worktree-provision.mts | ||
| worktree.sh | ||
| wrapper-components.txt | ||