Commit graph

515 commits

Author SHA1 Message Date
Mario Zechner
4c175790b1 fix(ai): preserve mistral thinking replay 2026-03-05 23:49:18 +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
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
380236a003 Add [Unreleased] section for next cycle 2026-02-23 01:57:06 +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
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
6312fc2e42 Add [Unreleased] section for next cycle 2026-02-13 23:43:35 +01:00
Mario Zechner
a26a9cfabd feat: add configurable transport and codex websocket session caching 2026-02-13 23:41:49 +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
ed0cfcbda2 fix(ai): tolerate malformed trailing tool-call JSON in OpenAI streams closes #1424 2026-02-12 21:09:42 +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
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
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
1caadb2e2a fix(ai): use parametersJsonSchema for Google tool declarations, revert Antigravity opus model
- Use parametersJsonSchema instead of parameters for Gemini tool declarations
  to support full JSON Schema (anyOf, oneOf, const, etc.)
- Keep legacy parameters field for Claude models on Cloud Code Assist, where
  the API translates parameters into Anthropic's input_schema
- Revert claude-opus-4-6-thinking back to claude-opus-4-5-thinking (model
  doesn't exist on the Antigravity endpoint)

fixes #1398
2026-02-08 15:53:17 +01:00
Mario Zechner
2c3f624348 fix(ai): correct opencode context windows for Claude Sonnet 4/4.5
fixes #1383
2026-02-08 14:35:07 +01:00
PriNova
08e88f1036
fix(antigravity): fixes the tests for antigravitiy opus (#1369)
* feat(antigravity): update model costs and tokens, migrate compaction tests to Claude 4.6

- Update model costs for various models in `models.generated.ts` to reflect the latest pricing.
- Update maxTokens for certain models.
- Migrate compaction tests from `claude-opus-4-5-thinking` to `claude-opus-4-6-thinking` in `compaction-thinking-model.test.ts`.

* fix: remove unnecessary peer dependencies in package-lock.json

This commit removes the `peer: true` flag from several dependencies in `package-lock.json`. These dependencies (lit, tailwind-merge, tailwindcss, picomatch, @tailwindcss/typescript, vite, picomatch) do not need to be explicitly marked as peer dependencies in this context, as they are already managed as regular dependencies. Removing the `peer: true` flag simplifies the dependency graph and avoids potential conflicts during installation.
2026-02-07 15:49:30 +01:00
Shashank Goyal
3fb33da429
feat(ai): add openrouter "auto" model alias (#1361)
Add a manually inserted "auto" model entry for OpenRouter alongside
the existing "openrouter/auto" entry, allowing users to select the
auto-routing model with a shorter identifier.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 15:35:21 +01:00
calvin-hpnet
2ae668823c
feat(antigravity): replace Claude Opus 4.5 with 4.6 (#1345)
Claude Opus 4.5 has been replaced by Claude Opus 4.6 on the
Antigravity (Google Cloud Code Assist) platform.

- Update model definition in generate-models.ts
- Update generated models output
2026-02-07 03:28:54 +01:00
Mario Zechner
d39faa72d3 Add [Unreleased] section for next cycle 2026-02-06 19:20:32 +01:00
Mario Zechner
f5b9eeb514 fix(ai): clamp minimal reasoning for gpt-5.3-codex (fixes #1334) 2026-02-06 18:45:08 +01:00
Mario Zechner
b0a8d79844 fix(ai): guard google oauth node http imports for browser bundlers closes #1330 2026-02-06 18:44:57 +01:00
Mario Zechner
0232c44064 fix(ai,coding-agent): re-export typebox symbols and align docs closes #1338 2026-02-06 18:34:25 +01:00
xu0o0
e9f94ba6c3
feat: better cache support in bedrock (#1326) 2026-02-06 18:05:46 +01:00
Mario Zechner
a40bf5fbd5 fix(ai): move AWS_BEDROCK_SKIP_AUTH inside Node.js environment check
The process.env access was outside the typeof process check, which
would throw in browser environments. Moved inside the Node.js/Bun
block for consistency with other env var access.

Also added changelog entry for #1320 and improved docs clarity.
2026-02-06 10:45:20 +01:00
Dustin Spicuzza
df527fb988
fix(ai): provide mechanism to connect to unauthenticated bedrock proxies (#1320)
fixes #1309
2026-02-06 10:44:28 +01:00
Markus Ylisiurunen
d3d3ef4155 fix(ai): handle bedrock opus 4.6 adaptive thinking and interleaved beta 2026-02-06 10:27:13 +02:00
Mario Zechner
d1fce2ba1d fix(ai): disable OpenAI Responses storage by default (closes #1308) 2026-02-06 01:24:37 +01:00
Mario Zechner
abf96f33e5 Add [Unreleased] section for next cycle 2026-02-06 00:26:38 +01:00
Mario Zechner
ee53b53689 fix(ai): enable xhigh for anthropic opus 4.6 2026-02-05 22:57:43 +01:00