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