Peter Steinberger
abb85ccc86
fix(cli): validate timeout and banner TTY state
Fixes two CLI edge cases found by clawpatch.
- `emitCliBanner` now honors injected TTY state before writing to stdout.
- Nodes RPC timeout handling now rejects malformed `--timeout` values with the existing timeout parser instead of forwarding `NaN` into gateway transport calls.
Proof:
- `node scripts/run-vitest.mjs src/cli/banner.test.ts src/cli/nodes-cli/register.invoke.approval-transport-timeout.test.ts`
- `pnpm exec oxfmt --check --threads=1 src/cli/banner.ts src/cli/banner.test.ts src/cli/nodes-cli/rpc.runtime.ts src/cli/nodes-cli/register.invoke.approval-transport-timeout.test.ts`
- `.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- Real CLI proof: `pnpm openclaw nodes list --timeout nope --json` exits 1 with `Invalid --timeout`.
- Runtime banner proof: injected `isTty:false` with `stdout.isTTY=true` produced `writes=0`, `emitted=false`.
2026-05-26 21:08:11 +01:00
..
2026-05-25 21:20:41 +01:00
2026-05-26 21:06:19 +01:00
2026-05-26 21:05:08 +01:00
2026-05-26 17:40:44 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 21:08:11 +01:00
2026-05-26 20:40:13 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 21:07:07 +01:00
2026-05-26 18:40:31 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 12:11:31 +01:00
2026-05-26 20:51:00 +01:00
2026-05-26 18:08:39 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 20:59:24 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-27 00:49:34 +08:00
2026-05-26 21:05:08 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 20:59:24 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 19:40:12 +01:00
2026-05-26 14:51:11 +01:00
2026-05-26 19:40:12 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 02:53:29 +01:00
2026-05-26 08:45:28 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 08:45:28 +01:00
2026-05-25 19:19:51 +01:00
2026-05-26 18:08:33 +01:00
2026-05-26 20:51:00 +01:00
2026-05-26 14:51:11 +01:00
2026-05-26 14:51:11 +01:00
2026-05-26 14:51:11 +01:00
2026-05-25 21:20:41 +01:00
2026-05-26 13:13:19 +01:00
2026-05-26 02:28:30 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 01:00:10 -04:00
2026-05-25 01:00:10 -04:00