Commit Graph

979 Commits

Author SHA1 Message Date
Vegard Stikbakke 2b00dade7c Revert "fix(coding-agent): abort stuck context hooks"
This reverts commit 6757561546.
2026-07-07 07:14:27 +02:00
Mat 244f1deaf1 feat(coding-agent): add before_provider_headers extension hook (#6350)
* feat(coding-agent): add before_provider_headers extension hook

Extensions can already rewrite the request payload through before_provider_request, but there is no way to adjust the outgoing HTTP
headers of a provider call. This hook fills that gap for cases like request tracing, session correlation, or tenant routing.

Handlers mutate the headers map in place - a null value deletes a header - and the return value is ignored, so a handler cannot accidentally drop auth or attribution headers by
forgetting to spread.

* docs(coding-agent): document before_provider_headers extension hook

Add the before_provider_headers section and lifecycle-diagram entry to
extensions.md; drop the now-superseded proposal file.
2026-07-06 22:35:56 +02:00
Victor Araújo b3dff19a04 feat(coding-agent): add InlineExtension type for named inline extension factories (#6267)
* feat(coding-agent): add InlineExtension type for named inline extension factories

* test(coding-agent): update utilities and add regression test for InlineExtension
2026-07-06 20:59:37 +02:00
Armin Ronacher c8ada4e76e Improve project-local pi config (#6309)
* feat(coding-agent): improve config resource overrides

* fix(coding-agent): simplify config resource overrides
2026-07-06 20:50:30 +02:00
Armin Ronacher 8c0ccd14b3 fix(ai,agent,coding-agent): normalize null message content at ingestion boundaries (#6343)
The Message types require content to always be present, but untyped JS
extension tools, hand-built histories, and old or hand-edited session
files can violate that contract, crashing rendering, compaction, and
provider request conversion with 'content is not iterable'.

Normalize null/missing content to an empty array at the ingestion
boundaries instead of guarding every consumer:

- transformMessages (choke point before every provider request)
- createToolResultMessage in the agent loop
- session entry loading (message and custom_message entries)
- extension custom messages (sendCustomMessage, before_agent_start)
- message_end extension replacements

fixes #6259, fixes #6276
2026-07-06 20:47:08 +02:00
Vegard Stikbakke 6efc09b7eb fix(coding-agent): clear label timestamp cache on new sessions
closes #6354
2026-07-06 15:31:32 +02:00
Armin Ronacher 035ea9c856 fix: remove redundant record guards 2026-07-05 18:55:09 +02:00
Armin Ronacher a1b336d73e fix(coding-agent): allow extra edit replacement fields 2026-07-04 01:52:17 +02:00
Vegard Stikbakke 83cbfc6521 fix(coding-agent): remove Vercel AI Gateway attribution 2026-07-03 15:14:01 +02:00
Vegard Stikbakke ca09b2b1a8 fix(coding-agent): skip unauthenticated default model
closes #6231
2026-07-02 10:48:11 +02:00
Vegard Stikbakke 6757561546 fix(coding-agent): abort stuck context hooks
closes #6234
2026-07-02 10:02:32 +02:00
Vegard Stikbakke f8bec25f34 fix(coding-agent): surface auth storage save failures
closes #6223
2026-07-01 21:24:26 +02:00
Vegard Stikbakke f58c115626 fix(coding-agent): serialize split-turn compaction summaries
closes #5536
2026-07-01 15:37:00 +02:00
Mario Zechner ba10b60b51 fix(coding-agent): add entry renderers for session entries 2026-07-01 11:30:26 +02:00
Vegard Stikbakke 040f0a5197 feat(coding-agent): expose model resolution helpers
closes #6201
2026-07-01 10:22:35 +02:00
Vegard Stikbakke 85b7c24741 fix(coding-agent): reject non-positive bash timeouts 2026-07-01 09:03:00 +02:00
Vegard Stikbakke cbcf4e04c3 fix(coding-agent): reject oversized bash timeouts
closes #6181
2026-07-01 08:49:31 +02:00
Mario Zechner fd6659dd5d fix(coding-agent): preserve run prompt during tool refresh
closes #6162
2026-06-30 14:08:48 +02:00
Mat e547bb9f41 fix(coding-agent): refresh session state before next turn 2026-06-30 13:56:04 +02:00
Mario Zechner 9be55bc773 fix(coding-agent): apply output padding to user messages
closes #6168
2026-06-30 11:55:40 +02:00
Alexey Zaytsev 6564d94717 feat(coding-agent): add configurable assistant output padding
Closes #6168
2026-06-30 11:44:34 +02:00
Mario Zechner 2117b61c6b fix(coding-agent): handle undici mid-stream client errors
closes #6133
2026-06-30 11:44:14 +02:00
Alexey Zaytsev 726a9c526c fix(coding-agent): emit session name changes to extensions 2026-06-30 00:40:15 -05:00
Mario Zechner a8c692c712 Merge pull request #6074 from yzhg1983/private/pre-prompt-compaction-no-continue
fix(coding-agent): avoid pre-prompt compaction continue
2026-06-28 17:49:12 +02:00
Armin Ronacher 5a073885b5 feat(coding-agent): add external editor setting
Closes #6122
2026-06-27 23:57:46 +02:00
Michael Yu 73581ea995 fix(coding-agent): avoid pre-prompt compaction continue 2026-06-25 21:43:03 +08:00
Mario Zechner 0d145e895c fix(coding-agent): shorten invalid session error
Follow-up to #6002
2026-06-25 15:20:08 +02:00
Mario Zechner 774288587f fix(coding-agent): update OpenAI default model 2026-06-25 15:18:18 +02:00
Mario Zechner 543710f643 fix(coding-agent): reject invalid session files
closes #6002
2026-06-25 15:16:18 +02:00
Armin Ronacher e454f50b48 fix(coding-agent): allow session id for no-session runs
closes #6070
2026-06-25 14:44:44 +02:00
Armin Ronacher 4cc339f58d fix(coding-agent): process BMP images from disk
closes #6047
2026-06-25 12:52:21 +02:00
Alexey Zaytsev 0bdbe7c57b fix(coding-agent): preserve extension timing measurements 2026-06-25 02:07:32 -05:00
Armin Ronacher 371adcf371 fix(coding-agent): retry explicit provider retry errors
closes #6019
2026-06-24 18:14:06 +02:00
Mario Zechner cd95c2749f fix(ai): require OpenAI Responses terminal events 2026-06-23 16:35:45 +02:00
Mario Zechner 129eb460cd feat(ai): complete models runtime migration 2026-06-23 15:29:46 +02:00
Mario Zechner 7fedc3324e Merge pull request #5999 from haoqixu/fix-5996
fix(coding-agent): normalize session names
2026-06-23 15:15:52 +02:00
haoqixu 7c1ef87756 fix(coding-agent): normalize session names 2026-06-23 19:14:02 +08:00
Armin Ronacher ce6a67fc94 fix(coding-agent): allow custom providers to use stored auth
closes #5953
2026-06-23 11:52:31 +02:00
Armin Ronacher aa6bdd778a fix(coding-agent): load resume startup themes 2026-06-22 17:20:08 +02:00
Mario Zechner 732bb1617b Merge model-registry into main 2026-06-22 14:53:24 +02:00
Mario Zechner abbd911693 Merge main into model-registry 2026-06-22 14:00:18 +02:00
Armin Ronacher 4f71b2d3b7 fix(coding-agent): clarify ZAI Coding Plan label
closes #5965
2026-06-22 13:04:08 +02:00
Armin Ronacher 756a4e8f6f fix(coding-agent): respect nested repo ignore boundaries in find
closes #5960
2026-06-22 10:57:39 +02:00
Enrico 5b9b70d29c feat(coding-agent): add compaction reason and willRetry to extension compact events (#5962)
session_before_compact and session_compact now carry
reason ("manual" | "threshold" | "overflow") and willRetry, matching
what the RPC protocol already exposes via auto_compaction_start/end.
Extensions can now distinguish manual /compact from threshold
auto-compaction and overflow recovery through the public API instead
of monkeypatching AgentSession internals.
2026-06-22 10:36:16 +02:00
Armin Ronacher 2417adb46a fix(coding-agent): preserve startup extension UI
closes #5943
2026-06-21 23:19:34 +02:00
Armin Ronacher 5505316ea2 fix(coding-agent): cache extension imports for session switches
Closes #5905.
2026-06-20 21:07:45 +02:00
Armin Ronacher a1da88aed4 fix(coding-agent): make session path traversal linear
Avoid quadratic path construction when walking deep session branches. On a 600k-entry pathological session, path construction improved from about 20.3s with Array.unshift() to about 35ms with push() plus reverse().

Refs #5804.
2026-06-20 20:29:15 +02:00
Armin Ronacher 8b97e75c6b feat(ai): add chat-template thinking compat
closes #5673
2026-06-19 23:34:17 +02:00
Armin Ronacher 128330e36f fix(coding-agent): preserve untouched lines in fuzzy edit
closes #5899
2026-06-19 20:16:47 +02:00
Vegard Stikbakke 1287b69fe0 fix(coding-agent): run legacy WSL bash commands via stdin
closes #5893
2026-06-19 15:08:25 +02:00