openclaw/scripts/dev
Peter Steinberger b07c6b2b8b
fix(computer-use): macOS live-proof rig deadlocks on operator device approval (#124536)
* fix(computer-use): unblock the macOS live-rig proof flow

The rig ran its operator CLI and its proof runner from one state dir, so both
shared one device identity. A paired operator device is pinned to the scopes of
its first connect, and `nodes list` connects first for `node.pair.list`
(operator.pairing); the proof runner then needs operator.write, which is a scope
upgrade the gateway never approves silently and which no rig client can approve
for itself. The proof runner is a GATEWAY_CLIENT/BACKEND client, so on a
loopback auth-none gateway it is admitted unpaired with the scopes it asks for:
giving the CLI its own `cli-state` identity is enough, and `agent-state` now
never accumulates a pairing row.

`nodes list` also read `node.list` through the plain CLI client while
`nodes status`/`describe` used the diagnostics ladder. On any gateway where the
CLI must pair, the unfiltered list silently dropped connected/commands/
computerUse and `--connected` failed outright, so the documented rig gate could
not confirm the node. Both call sites now use `callNodeDiagnosticsGatewayCli`.

Docs drop the `devices approve <requestId>` instruction, which was circular:
that invocation is its own new device identity.

* test(cli): share the runtime-log formatter across nodes CLI e2e files

The extracted diagnostics-auth file stringified captured log arguments directly, which the type-aware core lint stripe rejects (no-base-to-string). Move the existing formatter into the shared node test helpers instead of duplicating it.
2026-08-16 04:25:03 -07:00
..
computer-use-linux-x11-fixture.py fix(computer-use): repair artifact verification and post-approval descriptor found by the Linux gate (#124128) 2026-08-15 03:53:23 -07:00
computer-use-macos-live-proof.ts fix(cua): initialize execution resources on first use (#124156) 2026-08-15 04:30:08 -07:00
computer-use-macos-live-rig.sh fix(computer-use): macOS live-proof rig deadlocks on operator device approval (#124536) 2026-08-16 04:25:03 -07:00
discord-acp-plain-language-smoke.ts refactor(test): remove unused testing bag members (#124175) 2026-08-15 06:18:23 -07:00
gateway-smoke.ts refactor(dev): reuse canonical record guard 2026-07-29 16:42:13 +02:00
gateway-ws-client.ts
ios-node-e2e.ts refactor(dev): reuse canonical record guard 2026-07-29 16:42:13 +02:00
ios-pull-gateway-log.sh
realtime-talk-live-smoke.ts refactor: consolidate remaining coercion helpers (#122020) 2026-08-11 10:22:01 -07:00
test-device-pair-telegram.ts fix(scripts): reject flag device-pair Telegram values 2026-06-21 22:56:54 +02:00
tui-pty-test-watch.ts refactor(test): remove unused testing bag members (#124175) 2026-08-15 06:18:23 -07:00