Peter Steinberger
6b3ff0dd4f
feat(openai): add codex gpt-5.4-mini support
2026-04-04 11:51:57 +09:00
Vincent Koc
e273753d45
refactor(providers): share anthropic tool payload helper
2026-04-04 11:30:30 +09:00
Peter Steinberger
b76ed0fadf
fix: harden OpenAI websocket transport
2026-04-04 02:38:36 +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
58d2b9dd46
fix: add runtime model contextTokens caps
2026-04-04 09:36:53 +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
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
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
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
fe72474153
fix: persist fallback overrides safely
2026-04-04 09:00:16 +09: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
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
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
Tak Hoffman
932379b19f
fix: honor acp spawn default account
2026-04-03 16:23:29 -05:00
Nimrod Gutman
9b667fc534
fix(agents): cover default workspace fallback ( #59858 ) (thanks @joelnishanth)
2026-04-03 23:57:58 +03:00
joelnishanth
94e170763e
fix: respect agents.defaults.workspace for non-default agents ( #59789 )
2026-04-03 23:57:58 +03:00
Peter Steinberger
0204b8dd28
fix: stabilize live and docker test lanes
2026-04-03 21:43:36 +01:00
Peter Steinberger
f336f0b83c
test: trim more helper partial mocks
2026-04-03 21:38:01 +01:00
Peter Steinberger
f3a6d13965
test: trim helper partial mocks
2026-04-03 21:34:42 +01:00
Peter Steinberger
63603876bf
test: trim fs bridge partial mocks
2026-04-03 21:24:00 +01:00
Peter Steinberger
93e716e775
test: trim model startup retry partial mocks
2026-04-03 21:10:17 +01:00
Vincent Koc
58ee283658
test(providers): fix anthropic payload test typing
2026-04-04 05:02:22 +09:00
Vincent Koc
067496b129
refactor(providers): share anthropic payload policy
2026-04-04 04:57:47 +09:00
Peter Steinberger
d007559c38
test: trim more agent e2e partial mocks
2026-04-03 20:50:57 +01:00
Peter Steinberger
7db148706a
test: trim more runtime partial mocks
2026-04-03 20:46:57 +01:00
Peter Steinberger
92409aa4d6
test: trim agent e2e partial mocks
2026-04-03 20:42:29 +01:00
Peter Steinberger
f5ec0e429f
test: trim more agent tool partial mocks
2026-04-03 20:18:56 +01:00
Peter Steinberger
1fbf863f53
test: trim more agent tool mocks
2026-04-03 20:16:50 +01:00
Peter Steinberger
e286ba2bab
test: trim more agent partial mocks
2026-04-03 20:15:55 +01:00
Peter Steinberger
ee5113b1ae
test: trim sandbox and transcript partial mocks
2026-04-03 20:14:39 +01:00
Peter Steinberger
6a465611d8
test: trim openclaw tools partial mocks
2026-04-03 20:14:39 +01:00
Vincent Koc
cc1881a838
refactor(providers): share payload patch helpers
2026-04-04 04:11:56 +09:00
Peter Steinberger
2d2fe2bf47
test: trim more agent partial mocks
2026-04-03 20:06:42 +01:00
Peter Steinberger
4578351488
test: trim agent and discord harness partial mocks
2026-04-03 20:04:52 +01:00
Peter Steinberger
35a9eeb857
test: trim sandbox and pi runner partial mocks
2026-04-03 20:02:57 +01:00
Peter Steinberger
4e27e22663
test: trim agents importActual mocks
2026-04-03 20:00:35 +01:00
Vincent Koc
88d3b73c6d
fix(types): annotate portable exported helper types
2026-04-04 03:57:47 +09:00
Vincent Koc
d8458a1481
refactor(providers): share transport stream helpers
2026-04-04 03:49:09 +09:00
Vincent Koc
e697fa5e75
feat(providers): add google transport runtime
2026-04-04 03:35:58 +09:00
Peter Steinberger
45a6f769bb
test: trim core partial mocks
2026-04-03 19:28:19 +01:00
Gustavo Madeira Santana
5e365a8ec4
agents: preserve remote skill sync eligibility
2026-04-03 14:19:43 -04:00
Peter Steinberger
856592cf00
fix(outbound): restore generic delivery and security seams
2026-04-03 19:09:20 +01:00
Peter Steinberger
ab96520bba
refactor(plugins): move channel behavior into plugins
2026-04-03 19:09:20 +01:00
Josh Lehman
c52df32878
refactor: move bundled replay policy ownership into plugins ( #60452 )
...
* refactor: move bundled replay policy ownership into plugins
* test: preserve replay fallback until providers adopt hooks
* test: cover response replay branches for ollama and zai
---------
Co-authored-by: Shakker <shakkerdroid@gmail.com>
2026-04-03 19:08:10 +01:00
Vincent Koc
54479220f5
refactor(xai): share model hint helper
2026-04-04 02:58:58 +09:00