Commit graph

898 commits

Author SHA1 Message Date
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
Mario Zechner
187a99c720 docs(ai): add changelog entry for Z.ai thinking fix #1674 2026-02-27 21:33:42 +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
Mario Zechner
a753e24135 Release v0.55.1 2026-02-26 01:10:09 +01:00
Mario Zechner
a27ea5b9e2 docs(changelog): cover upstream unreleased ai and coding-agent entries 2026-02-26 01:13:32 +01:00
tctev
e9d0074fa6
fix(ai): enable adaptive thinking for sonnet 4.6 and clamp xhigh effort (#1548)
* fix(ai): enable adaptive thinking for sonnet 4.6 and clamp xhigh effort

* chore(ai): drop changelog edit from contribution

---------

Co-authored-by: tctev <224793535+tctev@users.noreply.github.com>
2026-02-26 00:34:06 +01:00
jeremiahgaylord-web
cf656c169c
fix(ai): don't cache false for Vertex ADC credentials during async import race (#1550)
`hasVertexAdcCredentials()` uses dynamic imports to load `node:fs`,
`node:os`, and `node:path` to avoid breaking browser/Vite builds. These
imports are fired eagerly but resolve asynchronously. If the function is
called during gateway startup before those promises resolve, `_existsSync`,
`_homedir`, and `_join` are still null — causing the function to cache
`false` permanently and never re-evaluate.

This means users with valid `GOOGLE_APPLICATION_CREDENTIALS`,
`GOOGLE_CLOUD_PROJECT`, and `GOOGLE_CLOUD_LOCATION` configured are silently
treated as unauthenticated for Vertex AI. Calls fall back to the AI Studio
endpoint (generativelanguage.googleapis.com) which has much stricter rate
limits, causing unexpected 429 errors even though Vertex credentials are
correctly configured.

Fix: in Node.js/Bun environments, return false without caching when the
async modules aren't loaded yet, so the next call retries. Only cache false
permanently in browser environments where `fs` is genuinely unavailable.

Co-authored-by: Jeremiah Gaylord <jeremiahgaylord-web@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 00:31:16 +01:00
audichuang
96cf7425ca
feat(ai): add gemini-3.1-pro-preview to google-gemini-cli provider (#1599)
Add Gemini 3.1 Pro Preview model to the Cloud Code Assist (google-gemini-cli)
provider for parity with the google and google-vertex providers that already
include this model.

Tested and confirmed working via the Cloud Code Assist API endpoint.
2026-02-26 00:18:03 +01:00
Mario Zechner
5c0ec26c28 Add [Unreleased] section for next cycle 2026-02-24 23:52:43 +01:00
Mario Zechner
d3232c2e9e Release v0.55.0 2026-02-24 23:52:01 +01:00
Mario Zechner
380236a003 Add [Unreleased] section for next cycle 2026-02-23 01:57:06 +01:00
Mario Zechner
2417fc256f Release v0.54.2 2026-02-23 01:56:21 +01:00
Mario Zechner
de1560a7ba Add [Unreleased] section for next cycle 2026-02-22 14:35:28 +01:00
Mario Zechner
5563d8969a Release v0.54.1 2026-02-22 14:34:44 +01:00
Mario Zechner
19c6f641cf chore(ai): update generated models 2026-02-22 14:33:51 +01:00
Mario Zechner
3a3e37d390 Add [Unreleased] section for next cycle 2026-02-20 00:18:31 +01:00
Mario Zechner
76b02a81b1 Release v0.54.0 2026-02-20 00:17:44 +01:00
Mario Zechner
5706e66ae0 Add [Unreleased] section for next cycle 2026-02-19 20:34:59 +01:00
Mario Zechner
18ea1ed997 Release v0.53.1 2026-02-19 20:34:16 +01:00
Mario Zechner
18c7ab8a47 chore(models): update Gemini 3.1 provider catalogs and antigravity opus 4.6 2026-02-19 20:33:27 +01:00
Mario Zechner
4ba3e5be22 Add [Unreleased] section for next cycle 2026-02-17 20:04:38 +01:00
Mario Zechner
ce1410b01d Release v0.53.0 2026-02-17 20:03:50 +01:00
Mario Zechner
312af81eb1 docs(ai): add claude sonnet 4.6 unreleased changelog entry 2026-02-17 20:02:59 +01:00
Mario Zechner
0245b524e9 feat(ai): add claude sonnet 4.6 model fallback 2026-02-17 19:59:09 +01:00
Mario Zechner
6312fc2e42 Add [Unreleased] section for next cycle 2026-02-13 23:43:35 +01:00
Mario Zechner
479eedd46f Release v0.52.12 2026-02-13 23:42:49 +01:00
Mario Zechner
a26a9cfabd feat: add configurable transport and codex websocket session caching 2026-02-13 23:41:49 +01:00
Mario Zechner
9537919a49 Release v0.52.11 2026-02-13 21:58:59 +01:00
Mario Zechner
130c23e6c7 chore(models): add MiniMax M2.5 entries across providers 2026-02-13 21:57:21 +01:00
Mario Zechner
d0543d3c18 Add [Unreleased] section for next cycle 2026-02-12 22:19:30 +01:00
Mario Zechner
2668a1125d Release v0.52.10 2026-02-12 22:18:43 +01:00
Mario Zechner
460b891470 chore(changelog): audit unreleased entries since v0.52.9 2026-02-12 22:17:24 +01:00
Mario Zechner
ed0cfcbda2 fix(ai): tolerate malformed trailing tool-call JSON in OpenAI streams closes #1424 2026-02-12 21:09:42 +01:00
Mario Zechner
fb83307092 feat(ai): add gpt-5.3-codex-spark model definition
Added to both OpenAI API and OpenAI Codex (ChatGPT OAuth) providers.
128k context window, text-only, research preview with zero cost.
Not yet functional via pi, may become available in the next few hours or days.
2026-02-12 20:49:03 +01:00
Mario Zechner
7ccf809a5d chore(ai): add changelog entry for copilot claude messages routing 2026-02-12 18:53:04 +01:00
Nate Smyth
2419412483 refactor(ai): fix inconsistencies, trim ai code+replace tests, remove unnceccessary tool_result check 2026-02-12 18:41:12 +01:00
Nate Smyth
0a132a30a1 feat(ai): route copilot claude via anthropic messages api 2026-02-12 18:41:12 +01:00
Nate Smyth
cf1353b8e7 test(ai): cover copilot claude messages routing + headers 2026-02-12 18:41:12 +01:00
Mario Zechner
1e88c5e463 feat(ai): add generic metadata field to StreamOptions, closes #1384
Add metadata?: Record<string, unknown> to StreamOptions so providers
can extract fields they understand. Anthropic provider extracts user_id
for abuse tracking and rate limiting. Other providers ignore it.

Based on #1384 by @7Sageer, reworked to use a generic type instead of
Anthropic-specific typing on the base interface.
2026-02-12 17:39:03 +01:00
Markus Ylisiurunen
28c0991281
Extend interleaved thinking test to Anthropic first-party provider (#1413)
* extend interleaved thinking test to Anthropic first-party provider

* switch back to global Bedrock model identifier

* set retry to 3 for both

* enable bedrock claude interleaved thinking by default and use completeSimple in test
2026-02-12 17:27:42 +01:00
Mario Zechner
fdcd9ab783 Add [Unreleased] section for next cycle 2026-02-09 00:17:28 +01:00
Mario Zechner
cc3eaee560 Release v0.52.9 2026-02-09 00:16:45 +01:00
Mario Zechner
c26505c55d chore(changelog): audit unreleased entries before patch release 2026-02-09 00:15:55 +01:00
Mario Zechner
ed9255d3bd ai: update Antigravity system instruction to compact version, fix flaky tool test
- Replace verbose ANTIGRAVITY_SYSTEM_INSTRUCTION with compact version from CLIProxyAPI
- Replace bridgePrompt override with [ignore] wrapper pattern
- Switch Antigravity Gemini test model from gemini-3-flash to gemini-3-pro-high
- Rename calculator tool to math_operation (gemini-3-pro ignores schema for 'calculator')

closes #1415
2026-02-08 23:37:09 +01:00
Mario Zechner
5d361f4719 chore: audit and update changelog entries for v0.52.8..HEAD 2026-02-08 22:50:53 +01:00