Commit graph

2845 commits

Author SHA1 Message Date
Gio Della-Libera
489cab2738
fix(config): add --dry-run support to unset (#81895)
* Add config unset dry-run

Add --dry-run support to config unset, including JSON output and allow-exec validation parity with config set/patch dry-run handling.

* Refresh checks after proof update

* fix(config): address unset dry-run review

Return structured JSON when config unset dry-run misses a path and validate broad secret provider/default unsets against affected SecretRefs.
2026-05-16 11:09:42 -07:00
Vincent Koc
e06782d5e7
fix(gateway): land linked diagnostics fixes
Fix logs.tail credential-header redaction and JSON-mode gateway transport errors.\n\nFixes #66832.\nFixes #79108.\nSupersedes #67041.\nSupersedes #79233.\n\nCo-authored-by: Mil Wang <mingjwan@microsoft.com>\nCo-authored-by: Andy Ye <35905412+TurboTheTurtle@users.noreply.github.com>
2026-05-17 02:05:02 +08:00
Peter Steinberger
d77c4bbb2d fix(gateway): harden startup restart queue (#82660) (thanks @samzong) 2026-05-16 18:57:58 +01:00
samzong
9b53a95d8e fix(gateway): queue startup restart signals
Signed-off-by: samzong <samzong.lu@gmail.com>
2026-05-16 18:57:58 +01:00
Vincent Koc
61ee9755ad
fix(update): preserve channel config across package repair
Preserve channel config across package-swap doctor and post-core repair.\n\nFixes #82533.
2026-05-17 01:32:37 +08:00
Peter Steinberger
97d1f5fd15
fix: bypass npm freshness filters during updates
Bypass npm min-release-age/before quarantine for OpenClaw-managed package installs and update installer scripts/tests/docs.\n\nFixes #82630.
2026-05-16 18:17:18 +01:00
Peter Steinberger
9dedc4d95c
fix: honor Codex auth order for OpenAI PI (#82605)
* fix: honor Codex auth order for OpenAI PI

* docs: add PR reference for OpenAI PI auth fix
2026-05-16 15:26:27 +01:00
Peter Steinberger
605a2c87ae fix: carry gateway restart trace across respawn (#82396) (thanks @samzong) 2026-05-16 13:42:50 +01:00
samzong
587b06768f feat(gateway): add restart trace instrumentation
Signed-off-by: samzong <samzong.lu@gmail.com>
2026-05-16 13:42:50 +01:00
Peter Steinberger
7593ba8623 test: type daemon gateway auth mock 2026-05-16 13:22:24 +01:00
Peter Steinberger
03a7b19228
fix: recover gateway dashboard startup in stripped shells 2026-05-16 13:06:19 +01:00
Peter Steinberger
c6af9908e7
fix: hide decorative emoji on unsupported terminals (#82556)
* fix: hide decorative emoji on unsupported terminals

* chore: fix gateway readiness lint
2026-05-16 12:39:13 +01:00
Peter Steinberger
b5ba210fd5
fix: gate dashboard on gateway readiness 2026-05-16 12:11:56 +01:00
Vincent Koc
f78434985a
fix(update): skip plugin validation during package repair reads 2026-05-16 12:44:33 +08:00
Josh Avant
0240cc578c
fix: repair source-only official plugin installs (#82425)
* fix: repair source-only official plugin installs

* docs: add changelog for official plugin repair
2026-05-15 23:04:15 -05:00
Brad
372a8e4d22
Add wait mode for manual cron runs (#81929)
Adds wait mode for manual cron runs, exact run-id lookup for cron run logs, protocol/Swift schema support, and docs/changelog coverage.
2026-05-15 20:17:48 -07:00
Vincent Koc
81d1424ad9
fix(update): allow plugin convergence after package doctor repairs 2026-05-16 10:28:26 +08:00
Josh Avant
a1e208ee26
Recover stale embedded tool calls during gateway diagnostics (#82369)
* fix(gateway): recover stale embedded tool calls

* chore(changelog): note stale embedded tool recovery
2026-05-15 19:36:59 -05:00
Jesse Merhi
6921d9072e
Adopt Proxyline for managed proxy routing
Route managed HTTP/WebSocket/fetch interception through Proxyline 0.3.0, preserving Gateway loopback bypass behavior and root undici hardening.

Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com>
2026-05-15 22:51:36 +01:00
Vincent Koc
d2e0a8231f
fix(plugins): reject malformed package entries 2026-05-16 03:44:33 +08:00
Peter Steinberger
d5b87672f8
fix(mac): disarm legacy update launchd jobs 2026-05-15 17:20:41 +01:00
Peter Steinberger
93b9223bee fix(plugins): tolerate legacy inspect reports 2026-05-15 12:25:31 +01:00
Peter Steinberger
db3c4ba8d3 refactor(gateway): collapse method metadata shims 2026-05-15 12:25:31 +01:00
Peter Steinberger
64d4f99d26
refactor(auto-reply): centralize command turn context
* refactor(auto-reply): centralize command turn context

* fix(channels): narrow command turn context literals

* fix(auto-reply): preserve command auth on refinalize

* fix(auto-reply): keep command turn context sdk-compatible

* fix(auto-reply): route structured command turns before reply setup

* test(cli): type stale launchd job mock
2026-05-15 08:41:09 +01:00
Peter Steinberger
7acbb2260c
fix(mac): surface stale updater launchd jobs 2026-05-15 08:20:55 +01:00
Gio Della-Libera
0dc8552cb3
fix(config): preserve numeric patch object keys (#81999)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-15 08:20:08 +01:00
Peter Steinberger
916fc3d09a
test: keep update mock persisted hash order 2026-05-15 07:32:29 +01:00
Peter Steinberger
7bc73ded71
test: remove duplicate persisted hash mock keys 2026-05-15 07:32:29 +01:00
Peter Steinberger
9f211bb802
test: align update mocks with persisted config hash 2026-05-15 07:32:29 +01:00
Peter Steinberger
b830beb34b
fix: surface update restart and plugin repair guidance 2026-05-15 07:32:29 +01:00
Peter Steinberger
4a188e7ca5
chore: update dependencies 2026-05-15 07:28:28 +01:00
Kaspre
5734193fdf
fix(plugins): keep metadata snapshot memo fresh
* fix(plugins): keep metadata memo freshness

* fix(plugins): keep metadata memo freshness

* fix(plugins): resolve metadata memo review gaps

* fix(plugins): scope metadata memo watches to env

* fix(plugins): tighten metadata memo fingerprint return type

`resolvePersistedRegistryFastMemoFingerprint` was annotated `: unknown`
but always returns object literals (`{ disabled: true }` or
`{ index, npmPackageJson }`). Spreading the unknown-typed result on
line 478 (`...fastFingerprint`) was rejected by tsgo with TS2698, which
cascaded across every check that runs the project compile (build,
tsgo:prod, check:test-types, lint, all node test shards).

Tighten the return type to `Record<string, unknown>` to match the
function's actual return shapes and unblock the spread.

* test(gateway): tolerate ENOENT in sessions.list spy predicate

The `sessions.list configuredAgentsOnly hides disk-discovered
unregistered agent stores` test spies on `fsSync.readFileSync` and
predicates with `fsSync.realpathSync.native(file) === realDiskOnlyStorePath`
for every captured read. The native realpath call throws on missing
files, so any new readFileSync of a path that may not exist (e.g. the
persisted plugin install records probe added in this PR) crashes the
predicate before the assertion runs.

Wrap the predicate in ENOENT tolerance so the test stays robust against
any future readFileSync of files that may not exist on disk.

* fix(plugins): refresh memo from cached registry

* fix(plugins): use high resolution memo fingerprints

* test(plugins): stabilize memo freshness regression

* test(cli): satisfy config mutation mock hash contract

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-15 07:12:31 +01:00
Peter Steinberger
7e9a863423
test(update): model finalize channel rewrite snapshots 2026-05-15 06:55:04 +01:00
Peter Steinberger
cc129a0dd3
fix(update): refresh config after package doctor 2026-05-15 06:55:03 +01:00
Peter Steinberger
f1deb53d43
fix(release): unblock full validation 2026-05-15 06:55:03 +01:00
B.K.
22a0ca9e3b
fix: hand off managed update run self-updates
Route managed LaunchAgent package self-updates through the post-exit CLI handoff path and persist handoff helper failures through the update restart sentinel so agent-invoked updates cannot stay pending indefinitely.

Add handoff ownership guards for stale helpers, atomic helper sentinel writes, and regression coverage for unrelated and newer pending sentinels.

Fixes #81894.

Co-authored-by: B.K. <bandark@mac.com>
2026-05-15 06:12:57 +01:00
Shakker
4199034de2
fix: refresh finalize state after doctor 2026-05-15 01:09:06 +01:00
Shakker
92f8c1edac
feat: add update finalization command 2026-05-15 01:09:06 +01:00
Gio Della-Libera
abf59205fc
fix(config): return persisted config write responses (#81445)
Merged via squash.

Prepared head SHA: 8f549e0621
Co-authored-by: giodl73-repo <235387111+giodl73-repo@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
2026-05-15 00:35:15 +03:00
Vincent Koc
2d6fd54ebd
fix(cli): keep plugin json output parseable
Co-authored-by: Eric Milgram, PhD <4348294+ScientificProgrammer@users.noreply.github.com>
2026-05-14 19:44:38 +08:00
Gio Della-Libera
b9dc6d86b8
test(config): refresh plugin schema fixtures 2026-05-14 17:58:27 +08:00
Gio Della-Libera
13c2e245aa
fix(config): use plugin channel schemas in dry-run 2026-05-14 17:58:26 +08:00
Ayaan Zaidi
e28d66d531 fix(cli): preserve lazy sender formatting 2026-05-14 14:39:23 +05:30
Ayaan Zaidi
41aee75cd1 test(cli): prove lazy sender preserves html formatting 2026-05-14 14:39:23 +05:30
Peter Steinberger
a0f35574d0
Remove codex-cli backend and migrate to Codex runtime
Remove the bundled codex-cli backend, migrate legacy codex-cli refs and runtime pins to the Codex app-server runtime, and update live/backend workflow coverage for the supported CLI lanes.
2026-05-14 10:07:18 +01:00
Vincent Koc
94f3ecae9a
perf(cli): route plugin list json directly 2026-05-14 16:29:21 +08:00
Vincent Koc
f6d0cc6cc3
perf(cli): keep channel option help lightweight 2026-05-14 16:13:28 +08:00
Vincent Koc
fe25ed214e
refactor(cli): lazy-load devices runtime 2026-05-14 16:02:42 +08:00
Vincent Koc
a012411d5e
refactor(cli): lazy-load plugins runtime 2026-05-14 15:57:07 +08:00
Vincent Koc
babd25c6b7
refactor(cli): lazy-load models runtime 2026-05-14 15:48:11 +08:00