Commit Graph

2491 Commits

Author SHA1 Message Date
Vincent Koc
3500a0bffa fix(cli): improve guardrail messages 2026-05-09 08:05:05 +08:00
Vincent Koc
ebd59f1e01 fix(cli): clarify startup failures 2026-05-09 08:05:05 +08:00
Vincent Koc
f06b77c0d4 fix(cli): explain parser errors 2026-05-09 08:05:04 +08:00
Peter Steinberger
5377e952ca test: simplify nodes media path collection 2026-05-09 00:52:06 +01:00
Peter Steinberger
17b1562c1e test: avoid filtered map assertion allocations 2026-05-08 22:23:52 +01:00
Peter Steinberger
ce515dbf4d test: avoid misc count filter allocations 2026-05-08 22:05:41 +01:00
Peter Steinberger
9803a96adc test: avoid cli count filter allocations 2026-05-08 21:54:43 +01:00
Peter Steinberger
aa8b233942 test: avoid command filter allocation assertions 2026-05-08 21:38:37 +01:00
Peter Steinberger
3a2cd7ded5 test: tighten cli status helper assertions 2026-05-08 20:47:39 +01:00
Shakker
469be1b591 test: tighten plugin policy entry assertions 2026-05-08 20:36:04 +01:00
Shakker
635863ab38 test: tighten plugin policy write assertions 2026-05-08 20:35:24 +01:00
Peter Steinberger
6575788231 test: require CLI routes 2026-05-08 17:09:33 +01:00
Shakker
4d448e4cce test: tighten missing plugin command assertion 2026-05-08 17:05:55 +01:00
Peter Steinberger
7c31a9aafc test: clear object shape matcher scan 2026-05-08 15:23:09 +01:00
Peter Steinberger
ad52612008 test: tighten docs config task assertions 2026-05-08 14:37:25 +01:00
Peter Steinberger
067ceb38b7 test: tighten session proxy assertions 2026-05-08 14:25:43 +01:00
Peter Steinberger
d16fff10c0 test: clarify ui gateway no throw assertions 2026-05-08 12:58:57 +01:00
Peter Steinberger
ea2799389a test: clarify proxy tui cli accepted paths 2026-05-08 12:47:48 +01:00
Peter Steinberger
604c73a489 test: clarify cron cli list output 2026-05-08 12:34:05 +01:00
Peter Steinberger
8b57d0fe9e test: clarify update cli exit assertions 2026-05-08 11:21:56 +01:00
Peter Steinberger
378cfe2da2 test: clarify cli media error assertion 2026-05-08 11:08:58 +01:00
Peter Steinberger
12487509c8 test: clarify config cli error assertions 2026-05-08 11:05:56 +01:00
NVIDIAN
263469f696 fix(cli): canonicalize infer model refs safely (#78940)
* fix(cli): canonicalize infer model refs safely

* docs: add changelog entry for infer model ref canonicalization

---------

Co-authored-by: Mason Huang <masonxhuang@tencent.com>
2026-05-08 17:43:22 +08:00
Shakker
d760bf87f0 test: assert config secret resolvability errors 2026-05-08 10:37:43 +01:00
Shakker
5b9f94baae test: assert update restart message suppression 2026-05-08 10:37:15 +01:00
Shakker
663c9700e4 test: clarify config cli dry run assertion 2026-05-08 10:24:16 +01:00
Shakker
2bf3c1d387 test: clarify logs cli reconnect assertions 2026-05-08 10:23:44 +01:00
Shakker
f46fec4f4c test: clarify skills cli log assertions 2026-05-08 10:23:23 +01:00
Shakker
3d70ffa596 test: clarify update cli completion warning assertions 2026-05-08 10:23:01 +01:00
Shakker
856a0b135e test: clarify plugin update restart assertions 2026-05-08 10:22:15 +01:00
Shakker
779122d761 test: clarify plugin install persist cache assertion 2026-05-08 10:21:55 +01:00
Shakker
16cdf85a05 test: clarify plugin install persist warning assertion 2026-05-08 10:21:16 +01:00
Shakker
b0966f5356 test: clarify plugin uninstall log assertions 2026-05-08 10:20:50 +01:00
Shakker
f82d842335 test: clarify plugin install log assertions 2026-05-08 10:20:22 +01:00
Peter Steinberger
d7f2c3d344 test: clarify daemon install warning assertion 2026-05-08 10:16:05 +01:00
Peter Steinberger
8df998e55e test: dedupe cron cli log assertions 2026-05-08 10:15:07 +01:00
Peter Steinberger
aa6160c1db test: clarify secrets cli skipped notes 2026-05-08 10:14:08 +01:00
Peter Steinberger
b417a100f9 test: clarify daemon cli json actions 2026-05-08 10:05:25 +01:00
Peter Steinberger
20316cc079 test: clarify capability cli list assertion 2026-05-08 10:03:28 +01:00
Peter Steinberger
76b09fbc68 test: clarify cli secret target scope assertions 2026-05-08 09:42:07 +01:00
Shakker
75fca35d38 perf: bound plugin and doctor selections 2026-05-08 08:14:29 +01:00
Brandon
2d65908f7f fix(update): pipe post-core child stdio on Windows (#78483)
Fixes #78445.

- Use piped stdio for the post-core update child on Windows so the child and descendants do not inherit the parent console handles.
- Relay child stdout/stderr back to the parent when piped so update output remains visible.
- Keep non-Windows behavior on inherited stdio.
- Add focused coverage for the stdio resolver.

Verification:
- `pnpm vitest run src/cli/update-cli/update-command.test.ts`
- `pnpm build`
- `pnpm exec oxlint src/cli/update-cli/update-command.ts src/cli/update-cli/update-command.test.ts`
- Full GitHub CI green at `321608e00ba118421ea65124f494458ed229defd`.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 01:52:28 -05:00
Gio Della-Libera
bc735f4fde feat(workspace): oc-path addressing substrate + openclaw path CLI (md/jsonc/jsonl/yaml) (#78678)
Implements #78051 — oc:// addressing substrate for workspace files.

New src/oc-path/ substrate (parser/formatter, per-kind parse+emit for
md/jsonc/jsonl/yaml, universal resolveOcPath/setOcPath/findOcPaths verbs,
sentinel emit guard) + openclaw path resolve|find|set|validate|emit CLI +
docs/cli/path.md reference page + CHANGELOG entry.

Co-authored-by: giodl73-repo <235387111+giodl73-repo@users.noreply.github.com>
Co-authored-by: galiniliev <5711535+galiniliev@users.noreply.github.com>
2026-05-07 22:26:28 -07:00
sallyom
397cf2b9ff fix: clarify gateway version mismatch warnings 2026-05-08 00:59:42 -04:00
Peter Steinberger
9e58cc82c8 test: fix strict CI gates 2026-05-08 05:56:38 +01:00
Peter Steinberger
1f88cb2ce5 fix(gateway): persist macOS stop disable after bootout
Summary:
- carry forward #78412's macOS LaunchAgent bootout-by-default stop behavior and repair guard
- fix the remaining `gateway stop --disable` tail when the service is already not loaded after bootout
- add lifecycle regressions, docs, and changelog

Verification:
- pnpm install
- pnpm test src/cli/daemon-cli/lifecycle-core.test.ts src/cli/daemon-cli/lifecycle.test.ts src/daemon/launchd.test.ts
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/cli/daemon-cli/lifecycle-core.ts src/cli/daemon-cli/lifecycle.ts src/cli/daemon-cli/lifecycle-core.test.ts src/cli/daemon-cli/lifecycle.test.ts docs/cli/gateway.md docs/gateway/index.md src/daemon/launchd.ts src/daemon/launchd.test.ts src/cli/daemon-cli/register-service-commands.ts src/cli/daemon-cli/types.ts src/daemon/service-types.ts
- git diff --check origin/main...HEAD
- pnpm build
- Parallels macOS Tahoe VM reproduce/fix proof in PR body
- PR checks green: Real behavior proof, auto-response, dispatch, label, label-issues

Co-authored-by: wdeveloper16 <25180374+wdeveloper16@users.noreply.github.com>
2026-05-08 05:35:21 +01:00
Peter Steinberger
9ef37d1907 test: tighten assertions and harness coverage 2026-05-08 05:28:12 +01:00
Jerry-Xin
6ec4e5cf4a fix: check effective UID (geteuid) in root guard
assertNotRoot only checked process.getuid(), so the guard was bypassed
when the CLI was launched with a non-root real UID but an effective UID
of 0 (e.g. via a setuid-root wrapper). In that context the process still
has root write privileges and can cause the same state/config corruption
the guard was added to prevent.

Now checks both getuid() and geteuid() — either being 0 triggers the
guard. Added three tests covering setuid-root scenarios.
2026-05-07 23:31:03 -04:00
Jerry-Xin
ad461c74cc fix: narrow container bypass to require container hint
OPENCLAW_CLI_CONTAINER_BYPASS alone is an internal recursion sentinel,
not a user-facing opt-in. Require OPENCLAW_CONTAINER_HINT to also be
present — this combination only occurs in the container-forwarding flow
(container-target.ts), so inherited or accidental env vars can no
longer silently skip the root guard.
2026-05-07 23:31:03 -04:00
Jerry-Xin
a5f6668a5c fix: skip root guard for container-forwarded CLI
The container forwarder sets OPENCLAW_CLI_CONTAINER_BYPASS=1 but not
OPENCLAW_ALLOW_ROOT. When the child CLI inside a root-based container
hits assertNotRoot(), it would exit before command handling. Exempt
container-forwarded invocations from the root guard.
2026-05-07 23:31:03 -04:00