Commit Graph

4559 Commits

Author SHA1 Message Date
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