Commit Graph

25757 Commits

Author SHA1 Message Date
Peter Steinberger
1e6e685347 fix: unblock cli startup metadata 2026-04-04 02:35:36 +01:00
Peter Steinberger
143d377c5a fix(cli): keep status json startup lean 2026-04-04 02:16:56 +01:00
Gustavo Madeira Santana
3713b0e506 vertex: read ADC files without exists preflight (#60592)
Merged via squash.

Prepared head SHA: 72f7372e97
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-03 21:13:34 -04:00
Peter Steinberger
34cd49faa6 perf: route browser and line extension tests 2026-04-04 02:08:45 +01:00
Peter Steinberger
1e90b3afcd perf: split extension channel vitest lane 2026-04-04 02:08:45 +01:00
Peter Steinberger
e941d425ac perf: split acp and ui vitest lanes 2026-04-04 02:08:45 +01:00
Peter Steinberger
fb0ff6896a perf: route contract test targets 2026-04-04 02:08:45 +01:00
Peter Steinberger
b04c4e599c perf: route bundled and extension helper tests 2026-04-04 02:08:44 +01:00
Peter Steinberger
ac11e02518 perf: route bundled and extension helper tests 2026-04-04 02:08:44 +01:00
Peter Steinberger
269771a4b6 perf: route targeted tests to scoped vitest configs 2026-04-04 02:08:44 +01:00
Peter Steinberger
37ee19521f fix(status): keep empty status path lightweight 2026-04-04 10:02:42 +09:00
Peter Steinberger
f8a3840a42 fix(ci): restore contextTokens runtime typing 2026-04-04 02:00:19 +01:00
Gustavo Madeira Santana
931ddd96f0 fix(cache): preserve full 3-turn history image cache window (#60603)
Merged via squash.

Prepared head SHA: 58d06ea372
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-03 20:48:56 -04:00
Peter Steinberger
b8021d6709 docs: add prompt cache stability rules 2026-04-04 01:47:00 +01:00
Peter Steinberger
58d2b9dd46 fix: add runtime model contextTokens caps 2026-04-04 09:36:53 +09:00
Peter Steinberger
45675c1698 docs: update Anthropic subscription billing guidance 2026-04-04 09:32:13 +09:00
Peter Steinberger
b2fb1210e1 fix: normalize openai websocket errors 2026-04-04 01:31:49 +01:00
Peter Steinberger
a38cb20177 feat(openai): add default prompt overlay 2026-04-04 09:27:07 +09:00
Gustavo Madeira Santana
f6f7609b66 matrix: retry credentials after legacy migration race (#60591)
Merged via squash.

Prepared head SHA: e050b39de0
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-03 20:25:49 -04:00
Boris Cherny
af81c437fa fix(cache): delay history image pruning to preserve prompt cache prefix (#58038)
pruneProcessedHistoryImages was stripping image blocks from every
already-answered user turn on each run. Turn N sends image bytes → provider
caches the prefix. Turn N+1 replaces image with text marker → bytes diverge
at that message → cache miss from there onward.

Now only prune images older than 3 assistant turns. Recent history stays
byte-identical so the cached prefix survives, while legacy sessions with
persisted image payloads still get cleaned up.
2026-04-03 17:22:58 -07:00
Gustavo Madeira Santana
300fb36879 infra: atomically replace sync JSON writes (#60589)
Merged via squash.

Prepared head SHA: cb8ed77049
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-03 20:21:44 -04:00
Peter Steinberger
628c71103e fix: align native openai transport defaults 2026-04-04 01:20:34 +01:00
Boris Cherny
bc16b9dccf fix(cache): sort MCP tools deterministically to stabilize prompt cache (#58037)
Co-authored-by: George Zhang <georgezhangtj97@gmail.com>
2026-04-03 17:19:53 -07:00
George Zhang
881f7dc82f Plugin SDK: add plugin config TUI prompts to onboard and configure wizards (#60590) (#60590)
Wire uiHints from plugin manifests into the TUI wizard so sandbox/tool
plugins get interactive config prompts during openclaw onboard (manual
flow) and openclaw configure --section plugins.

- Add setup.plugin-config.ts: discovers plugins with non-advanced uiHints,
  generates type-aware prompts (enum→select, boolean→confirm, array→csv,
  string/number→text) from jsonSchema + uiHints metadata.
- Onboard: new step after Skills, before Hooks (skipped in QuickStart).
  Only shows plugins with unconfigured fields.
- Configure: new 'plugins' section in the section menu. Shows all
  configurable plugins with configured/total field counts.

Closes #60030
2026-04-03 17:19:19 -07:00
Boris Cherny
f6380ae4b7 fix(cache): compact newest tool results first to preserve prompt cache prefix (#58036)
* fix(cache): compact newest tool results first to preserve prompt cache prefix

compactExistingToolResultsInPlace iterated front-to-back, replacing the
oldest tool results with placeholders when context exceeded 75%. This
rewrote messages[k] for small k, invalidating the provider prompt cache
from that point onward on every subsequent turn.

Reverse the loop to compact newest-first. The cached prefix stays intact;
the tradeoff is the model loses recent tool output instead of old, which
is acceptable since this guard only fires as an emergency measure past
the 75% threshold.

* fix(cache): compact newest tool results first to preserve prompt cache prefix (#58036) Thanks @bcherny

---------

Co-authored-by: George Zhang <georgezhangtj97@gmail.com>
2026-04-03 17:19:15 -07:00
Peter Steinberger
d01cb5ecc6 docs: expand model fallback guide 2026-04-04 09:13:43 +09:00
Peter Steinberger
5bea93fd63 fix: restore gateway watch boot path 2026-04-04 01:10:49 +01:00
Peter Steinberger
fe72474153 fix: persist fallback overrides safely 2026-04-04 09:00:16 +09:00
Peter Steinberger
411282c36d docs(changelog): note Telegram picker fix (#60384) (thanks @sfuminya) 2026-04-04 08:58:50 +09:00
fumin
43272d27f8 fix(telegram): compare full provider/model in models picker 2026-04-04 08:58:50 +09:00
Vincent Koc
bb4e54ccf7 fix(ci): restore plugin sdk boundary seams 2026-04-04 08:51:57 +09:00
Vincent Koc
df83374a54 docs(changelog): summarize provider transport rollout 2026-04-04 08:34:23 +09:00
Peter Steinberger
236a9003b6 test(ci): fix logs cli gateway mock typing 2026-04-04 00:28:25 +01:00
Peter Steinberger
3a3fdf1920 fix(ci): restore plugin contract surfaces 2026-04-04 00:24:57 +01:00
Ted Li
ff62705206 fix(whatsapp): reset watchdog timeout after reconnect (#60007)
Merged via squash.

Prepared head SHA: 64223e5dd4
Co-authored-by: MonkeyLeeT <6754057+MonkeyLeeT@users.noreply.github.com>
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com>
Reviewed-by: @mcaxtr
2026-04-03 20:23:36 -03:00
Peter Steinberger
306fe841f5 fix(cli): add local logs fallback 2026-04-04 08:17:11 +09:00
Peter Steinberger
de2eaccfce fix: restore discord startup logging and boundary bootstrap 2026-04-04 00:16:10 +01:00
Peter Steinberger
0f18e44538 test: trim onboarding helper partial mock 2026-04-04 00:13:45 +01:00
Peter Steinberger
d02fc365b4 test(plugins): drop stale core test files 2026-04-04 00:11:54 +01:00
Peter Steinberger
ab318de8b7 test(plugins): finish moving contract coverage 2026-04-04 00:11:39 +01:00
Peter Steinberger
e4b5027c5e refactor(plugins): move extension seams into extensions 2026-04-04 00:10:16 +01:00
Tak Hoffman
c19321ed9e docs: trim PR template root-cause boilerplate 2026-04-03 18:08:55 -05:00
Agustin Rivera
ff607adc69 fix(sandbox): block home credential binds (#59157)
* fix(sandbox): block home credential binds
* fix(sandbox): harden blocked credential bind checks
2026-04-03 16:06:22 -07:00
Peter Steinberger
4540effd6c test(ci): make mattermost client retry deterministic 2026-04-03 23:55:39 +01:00
Efe Büken
5fc9918a20 fix(matrix): surface user-visible 'too large' marker when Matrix media exceeds size limit (#60289)
Merged via squash.

Prepared head SHA: f33dd49946
Co-authored-by: efe-arv <259833796+efe-arv@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-03 18:53:51 -04:00
Peter Steinberger
94fee8486f test: make mattermost reconnect tests deterministic 2026-04-03 23:46:19 +01:00
pgondhi987
e19dce0aed fix(hooks): harden before_tool_call hook runner to fail-closed on error [AI] (#59822)
* fix: address issue

* fix: address PR review feedback

* docs: add changelog entry for PR merge

* docs: normalize changelog entry placement

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-03 16:44:35 -06:00
Peter Steinberger
1322aa2ba2 test(ci): make mattermost reconnect deterministic 2026-04-03 23:30:33 +01:00
Peter Steinberger
2af05ac558 test: restore leaked timer spies in mattermost reconnect tests 2026-04-03 23:27:29 +01:00
Peter Steinberger
3d2734185b test: stabilize rebased auto-reply command checks 2026-04-03 23:11:34 +01:00