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
Mario Zechner
afe9ae06e8
Closes #1671 , switch to GLM-5 for tests
2026-02-27 21:35:40 +01:00
Yoshiaki Okuyama
22b3be834e
fix(ai): use enable_thinking for Z.ai instead of thinking param ( #1674 )
...
Z.ai uses the same enable_thinking: boolean parameter as Qwen to control reasoning, not thinking: { type: "enabled" | "disabled" }.
The wrong parameter name means Z.ai ignores the disable request and always runs with thinking enabled, wasting tokens and adding latency.
Merge the Z.ai and Qwen branches since they use the same format.
PR by @okuyam2y
2026-02-27 21:33:14 +01:00
Mario Zechner
8880cd3cb8
Manual merge of #1677
2026-02-27 21:27:55 +01:00
Mario Zechner
3dcb3c1c77
Merge branch 'pr-1669-fixes'
...
# Conflicts:
# package-lock.json
# packages/ai/CHANGELOG.md
# packages/coding-agent/CHANGELOG.md
2026-02-27 21:04:00 +01:00
Mario Zechner
2f55890452
fix(coding-agent,ai): finalize provider unregister lifecycle and dependency security updates fixes #1669
2026-02-27 21:00:25 +01:00
Mario Zechner
9a0a8d7ccb
Add [Unreleased] section for next cycle
2026-02-26 01:10:55 +01:00