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
Gustavo Madeira Santana
9004ef65df
Plugins: add install --force overwrite flag ( #60544 )
...
Merged via squash.
Prepared head SHA: 28ae50b615
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 18:09:14 -04:00
Tak Hoffman
3fd29e549d
fix: honor tools default account
2026-04-03 17:06:50 -05:00
Peter Steinberger
ccf16a25d2
test: tolerate plain baileys exports in whatsapp hooks
2026-04-03 23:06:43 +01:00
Tak Hoffman
cc0987f7b1
fix: honor allowlist default account
2026-04-03 17:04:11 -05:00
Agustin Rivera
42ffdf882f
fix(fetch): normalize guarded redirect handling ( #59121 )
...
* fix(fetch): align guarded redirect rewrites
* fix(fetch): tighten redirect coverage
* fix(fetch): add changelog entry
2026-04-03 15:03:18 -07:00
Tak Hoffman
393d8c7606
fix: honor approve default account
2026-04-03 17:01:58 -05:00
Tak Hoffman
5f1f43af4d
fix: honor config write default account
2026-04-03 16:59:58 -05:00
Tak Hoffman
4d60d61dec
fix: honor reset notice default account
2026-04-03 16:57:15 -05:00
Tak Hoffman
da68fa4079
fix: honor followup default account
2026-04-03 16:53:38 -05:00
Tak Hoffman
6ddc86a3d1
fix: honor session default delivery account
2026-04-03 16:51:34 -05:00
Peter Steinberger
30fd4c6cdb
test: add default channel account stubs in subagent focus tests
2026-04-03 22:51:17 +01:00
Tak Hoffman
01534d9bd5
fix: honor acp projector default account
2026-04-03 16:49:16 -05:00
Peter Steinberger
381a865822
test: force real timers in mattermost reconnect tests
2026-04-03 22:47:19 +01:00
Tak Hoffman
2b54ce30ae
fix: honor acp delivery default account
2026-04-03 16:46:25 -05:00
Tak Hoffman
bb649de1ad
fix: honor subagent default account
2026-04-03 16:43:26 -05:00
Tak Hoffman
4518b9ea7a
fix: honor acp reset default account
2026-04-03 16:39:50 -05:00
Peter Steinberger
32f9a7c7bc
test(ci): stabilize discord model picker timers
2026-04-03 22:35:42 +01:00
Tak Hoffman
10062e8111
fix: honor plugin binding default account
2026-04-03 16:31:24 -05:00
Peter Steinberger
4fb0837220
test: relax qr dashboard cli exit assertion
2026-04-03 22:30:46 +01:00
Agustin Rivera
e8e7d1fab3
Keep non-interactive auth choices on trusted plugins ( #59120 )
...
* fix(onboard): ignore untrusted workspace auth choices
* fix(onboard): scope auth-choice inference to trusted plugins (#59120 ) (thanks @eleqtrizit)
2026-04-03 14:28:01 -07:00
Tak Hoffman
037da3ce34
fix: honor acp dispatch default account
2026-04-03 16:26:41 -05:00
Peter Steinberger
ee45a59b4e
test: normalize owning npm path assertions
2026-04-03 22:25:34 +01:00