Mario Zechner
ad48b52de4
fix(ai): align codex websocket headers and terminate SSE closes #1961
2026-03-14 12:23:17 +01:00
Mario Zechner
1a4d153d7a
fix(ai): limit Bedrock prompt caching to Claude models\n\ncloses #2053
2026-03-14 05:20:41 +01:00
Mario Zechner
03ad7ecee7
fix(ai): add qwen-chat-template compat mode closes #2020
2026-03-14 05:20:27 +01:00
Mario Zechner
c961cda2cd
fix(ai): harden Bedrock unsigned thinking replay closes #2063
2026-03-14 05:06:14 +01:00
Mario Zechner
62064b2b64
fix(ai): support xhigh for opus 4.6 by model id closes #2040
2026-03-14 04:55:03 +01:00
Mario Zechner
a79ca41190
fix(ai): handle unknown finish_reason in openai-completions gracefully
...
Map unknown finish_reason values (e.g. "end" from Ollama/LM Studio) to
"stop" instead of throwing, since assistant content is already produced.
fixes #2142
2026-03-14 04:01:22 +01:00
Mario Zechner
c7309aedac
fix(ai): replace curl with fetch in Anthropic OAuth token exchange
2026-03-14 03:21:08 +01:00
Mario Zechner
9b794558c6
chore(ai): refresh generated models
2026-03-14 03:11:15 +01:00
Mario Zechner
933348593c
fix(ai): send tool result images in function_call_output closes #2104
2026-03-14 00:49:40 +01:00
Mario Zechner
4aa25bfb72
docs(agent,ai): clarify non-throwing stream and hook contracts
2026-03-13 22:54:41 +01:00
Mario Zechner
92882dc4cc
fix(ai): improve anthropic oauth flow fixes #2119
2026-03-13 22:38:34 +01:00
Mario Zechner
4535415300
fix(ai): capture usage from choice.usage for non-standard OpenAI-compatible providers
...
Some OpenAI-compatible providers (e.g., Moonshot/Kimi) return usage
data in chunk.choices[0].usage instead of the standard chunk.usage.
Extract usage parsing into a helper and check choice.usage as fallback.
closes #2017
2026-03-10 16:28:39 +01:00
Geraldo Dutra Neto
23109b113d
fix: send assistant content as string in openai-completions provider ( #2008 )
...
The OpenAI Chat Completions API standard format for assistant message
content is a plain string. Sending it as an array of
{type:"text", text:"..."} objects causes some models (notably DeepSeek
V3.2 via NVIDIA NIM) to mirror the content-block structure literally
in their output. This produces recursive nesting where each turn wraps
the previous content blocks deeper:
[{'type':'text','text':'[{\'type\':\'text\',\'text\':...}]'}]
The fix unifies the assistant content serialization to always use a
joined string — the same approach already used for the github-copilot
provider — for all openai-completions backends.
Affected models observed: deepseek-ai/deepseek-v3.2 (nvidia provider).
Models like GLM-5, GPT-4, Claude were unaffected as they tolerate
array content, but sending a standard string is safer for all.
Co-authored-by: geraldoaax <geraldoaax@users.noreply.github.com >
2026-03-10 16:04:11 +01:00
Ben Hayden
fd0c7c3bdb
fix(ai): improve GitHub Copilot OAuth polling ( #1994 )
2026-03-09 20:15:17 +01:00
Gordon Hui
01f7faae9c
fix(ai): support GOOGLE_CLOUD_API_KEY for google-vertex ( #1948 ) ( #1976 )
2026-03-09 13:30:22 +01:00
Drew Brown
d9cfa115be
fix(ai): improve error details in response.failed handler ( #1956 )
2026-03-08 21:34:01 +01:00
Mario Zechner
b370cd5a5c
Add [Unreleased] section for next cycle
2026-03-08 00:56:38 +01:00
Mario Zechner
ade6a35e75
fix(ai): detect z.ai context overflow
...
closes #1937
2026-03-08 00:18:29 +01:00
Mario Zechner
b279d03d33
Add [Unreleased] section for next cycle
2026-03-07 14:44:23 +01:00
Mario Zechner
a3f05423d9
feat(coding-agent): add provider payload hook
2026-03-07 14:34:28 +01:00
Mario Zechner
1e52a687ae
Add [Unreleased] section for next cycle
2026-03-06 17:07:29 +01:00
Mario Zechner
e4172e68d0
feat(ai): add claude-sonnet-4-6 to Antigravity, fix Claude thinking header detection, bump UA to 1.18.4
...
closes #1859
2026-03-06 13:27:35 +01:00
Mario Zechner
b4e7d5c445
fix(ai): restore OpenAI Responses reasoning replay closes #1878
2026-03-06 12:39:55 +01:00
Mario Zechner
b14c359289
Add [Unreleased] section for next cycle
2026-03-06 00:42:35 +01:00
Mario Zechner
863135d429
fix(ai): keep mistral browser-safe
2026-03-06 00:16:18 +01:00
Mario Zechner
a31065166d
Merge branch 'feat/use-mistral-sdk'
2026-03-05 23:49:29 +01:00
Mario Zechner
4c175790b1
fix(ai): preserve mistral thinking replay
2026-03-05 23:49:18 +01:00
Mario Zechner
16ec7de29c
fix(ai): cap gpt-5.4 context windows to 272k
2026-03-05 22:57:20 +01:00
Markus Ylisiurunen
f8d731a134
fix codex context window and add a few tests
2026-03-05 22:54:16 +01:00
Markus Ylisiurunen
8a6384a925
add support for gpt-5.4
2026-03-05 22:53:08 +01:00
Mario Zechner
a0d839ce84
fix(ai): use skip_thought_signature_validator for unsigned Gemini 3 tool calls
...
Replace text fallback with the official sentinel value so unsigned function
calls retain structured context in multi-turn conversations.
closes #1829
2026-03-05 22:04:00 +01:00
Mario Zechner
cfbb15876a
fix(ai): antigravity endpoint cascade on 403/404, add autopush fallback, strip extra headers
...
closes #1830
2026-03-05 21:59:43 +01:00
Mario Zechner
8f2af2ae7e
feat(ai): add github-copilot gpt-5.3-codex fallback closes #1853
2026-03-05 21:47:52 +01:00
Mario Zechner
8fc2b76827
fix(ai): omit empty OpenAI Responses thinking blocks on replay
2026-03-05 21:28:16 +01:00
Mario Zechner
87d71380e2
fix(ai): preserve OpenAI Responses assistant phase across turns closes #1819
2026-03-05 21:13:06 +01:00
Mario Zechner
708ce9d4ce
Add [Unreleased] section for next cycle
2026-03-05 07:14:13 +01:00
Mario Zechner
668ebc0941
fix(ai): replace Function-based dynamic imports with module imports ( fixes #1814 )
2026-03-04 20:50:14 +01:00
Mario Zechner
0199abfd11
fix(binary): preload Bedrock provider module for Bun bundle
...
refs #1814
2026-03-04 20:47:41 +01:00
Mario Zechner
e0754fdbb3
fix(ai,coding-agent): make pi-ai browser-safe and move OAuth runtime exports
...
- add browser smoke bundling check to root check + pre-commit
- lazy-load Bedrock provider registration to avoid browser graph traversal
- remove top-level OAuth runtime exports from @mariozechner/pi-ai
- add @mariozechner/pi-ai/oauth subpath export and update coding-agent imports
- move proxy dispatcher init to coding-agent CLI (Node-only)
- document Bedrock/OAuth browser limitations
closes #1814
2026-03-04 20:21:25 +01:00
Mario Zechner
2af0c98b5f
fix(ai): support gemini-3.1 flash-lite and thinking matching
...
closes #1785
2026-03-04 20:17:58 +01:00
Mario Zechner
8e157412a6
Update AGENTS.md
2026-03-04 18:06:26 +01:00
xu0o0
d4b473e298
fix(ai): respect region from profile config when AWS_PROFILE is set ( #1800 )
2026-03-04 08:56:06 +01:00
Abdeslam Yassine Agmar
eb9f1183ad
refactor(ai): migrate mistral provider to conversations sdk
2026-03-03 17:25:50 +00:00
Mario Zechner
7b96041068
fix(ai): map groq qwen3 reasoning effort values closes #1745
2026-03-03 16:44:42 +01:00
Mario Zechner
42579dd923
feat(ai,coding-agent): add OpenCode Go provider support closes #1757
2026-03-03 16:02:29 +01:00
Mario Zechner
7bd4c45d81
fix(ai,coding-agent): update antigravity gemini 3.1 models and headers
...
fixes #1761
2026-03-03 14:54:43 +01:00
Mario Zechner
c65de34e11
Add [Unreleased] section for next cycle
2026-03-02 23:25:10 +01:00
Mario Zechner
105e296b69
chore(ai): update generated models data
2026-03-02 19:41:38 +01:00
Mario Zechner
edca5dd769
Add [Unreleased] section for next cycle
2026-02-27 22:26:46 +01:00
Mario Zechner
9825c13f5f
fix(ai): handle redacted_thinking blocks, skip interleaved beta for adaptive models, drop temperature with thinking
...
- Map redacted_thinking to ThinkingContent with redacted: true instead of
adding a new content type. The opaque payload goes in thinkingSignature,
thinking text is set to "[Reasoning redacted]" so it renders naturally
everywhere. Cross-model transform drops redacted blocks.
- Skip interleaved-thinking-2025-05-14 beta header for Opus 4.6 / Sonnet 4.6
where adaptive thinking makes it deprecated/redundant.
- Do not send temperature when thinkingEnabled is true (incompatible with
both adaptive and budget-based thinking).
Based on #1665 by @tctev
2026-02-27 21:53:25 +01:00