Commit Graph

664 Commits

Author SHA1 Message Date
Zeremonienmeister Berber Aab
f05f4e8a5f Add all OpenRouter provider routing fields to OpenRouterRouting (#2904)
The OpenRouterRouting interface only had only and order, but the runtime
passes the entire object as-is to the OpenRouter API's provider field.
This means all other fields worked at runtime but had no TypeScript
type-checking, no autocomplete, and no config validation.

This adds all fields from the OpenRouter provider selection API
(https://openrouter.ai/docs/guides/routing/provider-selection):
allow_fallbacks, require_parameters, data_collection, zdr,
enforce_distillable_text, ignore, quantizations, sort, max_price,
preferred_min_throughput, preferred_max_latency.

Also fixes the models.md documentation which had an invalid fallbacks
field in the example (not part of the OpenRouter API), replaces it with
a comprehensive example showing all available fields, and clarifies that
openRouterRouting is sent as-is in the provider field.
2026-04-09 03:08:45 +02:00
Aadish Verma
ee2483cd34 fix: update google provider to handle gemma 4 thinking levels and route between MINIMAL and HIGH (#2903)
resolves #2812

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-04-09 03:08:00 +02:00
Jason
b48d802930 fix(ai): correct thinking budget for 2.5-flash-lite models (#2861)
The 2.5-flash-lite model was incorrectly matching the 2.5-flash
case, setting minimal budget to 128. Per Google's docs, flash-lite's
minimum thinking budget is 512, not 128. This caused the error:

  The thinking budget 128 is invalid. Please choose a value between
  512 and 24576.

Add a dedicated 2.5-flash-lite case before the 2.5-flash case so
the more specific match takes priority.

Fixes #2838

Co-authored-by: JasonOA888 <JasonOA888@users.noreply.github.com>
2026-04-09 03:03:45 +02:00
Mario Zechner
2cf2a8528e Add [Unreleased] section for next cycle 2026-04-09 01:01:16 +02:00
Mario Zechner
da6e9ea473 chore(ai): update generated model catalog 2026-04-08 18:54:56 +02:00
Mario Zechner
377eca9684 fix(ai,coding-agent): use node:readline import prefix for Deno compatibility
closes #2885
2026-04-08 01:59:34 +02:00
Mario Zechner
78d4625a48 Add [Unreleased] section for next cycle 2026-04-06 00:26:57 +02:00
Vladyslav Tkachenko
a9bd8045d6 fix: update zai processing logic (#2855)
* feat: add new models and update zai processing logic

* chore(ai): removed overrides, simplify provider pick

---------

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-04-05 23:44:17 +02:00
Mario Zechner
6044cabb15 fix(ai): preserve cache_write_tokens in completions stream usage closes #2802 2026-04-04 21:39:11 +02:00
Mario Zechner
84d134061f Add [Unreleased] section for next cycle 2026-04-03 20:32:11 +02:00
Mario Zechner
9f9277ccdd refactor(coding-agent): replace AgentSessionRuntimeHost with closure-based AgentSessionRuntime
- Replace AgentSessionRuntimeHost and bootstrap abstractions with AgentSessionRuntime
- Runtime creation is now closure-based via CreateAgentSessionRuntimeFactory
- Factory closes over process-global fixed inputs, recreates cwd-bound services per effective cwd
- Session config (model, thinking, tools, scoped models) re-resolved per target cwd
- CLI resource paths resolved once at startup as absolute paths
- Swap lifecycle: teardown old, create next, apply next (hard fail on creation error)
- Unified diagnostics model (info/warning/error) for args, services, session resolution, resources
- No logging or process exits inside creation/parsing logic
- Removed session_directory support
- Removed session_switch and session_fork extension events (use session_start with reason)
- Moved package/config CLI to package-manager-cli.ts
- Fixed theme init for --resume session picker
- Fixed flaky reftable footer test (content-based polling)
- Fixed silent drop of unknown single-dash CLI flags
- Added error diagnostics for missing explicit CLI resource paths
- Updated SDK docs, examples, plans, exports, tests, changelog

fixes #2753
2026-04-03 20:14:12 +02:00
Mario Zechner
2f8019b610 fix(ai): emit missing responses toolcall delta closes #2745 2026-04-02 01:39:32 +02:00
Mario Zechner
39b1bf7b62 fix(ai): detect anthropic request_too_large overflow closes #2734 2026-04-01 23:51:27 +02:00
Kao Félix
758ede4da0 Enable tool streaming for newer Z.ai models (#2732) 2026-03-31 14:28:24 +02:00
xu0o0
a3bf1eb399 fix(ai): fix bedrock throttling misidentification (#2699)
- Add NON_OVERFLOW_PATTERNS to explicitly exclude known non-overflow errors
- Consolidate Cerebras 400/413 no-body check into OVERFLOW_PATTERNS
- Format Bedrock errors as ${error.name}: ${error.message} for pattern matching
2026-03-30 17:26:03 +02:00
Mario Zechner
cbe1a8b732 fix(agent): simplify state API and update consumers fixes #2633 2026-03-30 12:43:34 +02:00
Mario Zechner
ef6af5ebbd feat(ai,coding-agent): add faux provider and ModelRegistry factories 2026-03-29 21:08:50 +02:00
Mario Zechner
567249e8b4 Add [Unreleased] section for next cycle 2026-03-29 13:14:04 +02:00
Mario Zechner
bc8eb74b82 fix(ai): detect Ollama overflow errors closes #2626 2026-03-27 02:50:22 +01:00
Gordon Hui
17625cc8a2 feat(ai): add google-vertex gemini-3.1-pro-preview-customtools (#2610) 2026-03-27 02:45:58 +01:00
Mario Zechner
e24a61ef01 Add [Unreleased] section for next cycle 2026-03-27 02:31:10 +01:00
Mario Zechner
10a02d461b chore(ai): update generated models 2026-03-27 00:47:40 +01:00
Mario Zechner
76f6f8cb8b fix(coding-agent,ai): restore main syntax and apply biome formatting 2026-03-26 00:12:26 +01:00
Mario Zechner
6dc43d6dd1 fix(ai): prune deprecated direct minimax models 2026-03-25 22:44:32 +01:00
sparkleMing
6d744f02ef fix: subtract cached tokens from input in Google and Vertex cost calculation (#2588)
Google's promptTokenCount includes cachedContentTokenCount, so using it
directly as the input token count causes double-counting when calculateCost
multiplies input by the input rate AND cacheRead by the cacheRead rate.

The google-gemini-cli provider already handles this correctly (subtracting
cachedContentTokenCount from promptTokenCount), but google.ts and
google-vertex.ts were using the raw promptTokenCount.

This fix aligns both providers with the google-gemini-cli behavior.
2026-03-25 22:02:28 +01:00
Mario Zechner
bab58f821d fix(ai): omit copilot responses reasoning default closes #2567 2026-03-24 20:39:11 +01:00
Mario Zechner
05c17cfbfe Add [Unreleased] section for next cycle 2026-03-23 02:50:43 +01:00
Mario Zechner
d1613e3f53 fix(ai): handle explicit thinking off across providers closes #2490 2026-03-22 20:27:44 +01:00
Mario Zechner
6129971c04 fix(ai): explicitly disable Anthropic thinking when off closes #2022 2026-03-22 19:38:54 +01:00
wjonaskr
3bcbae490c feat(ai): add requestMetadata support to BedrockOptions for cost allocation tagging (#2511)
Add an optional requestMetadata field to BedrockOptions that forwards
key-value pairs to the Bedrock Converse API ConverseStreamCommand. Tags
appear in AWS Cost Explorer split cost allocation data, enabling callers
to attribute inference costs to specific applications or contexts.

Changes:
- Add requestMetadata?: Record<string, string> to BedrockOptions with
  JSDoc documenting AWS constraints (max 50 pairs, key 64 chars, value
  256 chars, no aws: prefix)
- Pass requestMetadata to commandInput via conditional spread to avoid
  sending undefined when omitted
- Export BedrockOptions from package root (consistent with other
  provider option types)
- Add E2E tests: metadata forwarded to SDK payload, and omitted when
  not provided

closes #2510
2026-03-22 19:05:55 +01:00
Mario Zechner
b21b42d032 fix(ai): hash foreign responses tool item ids 2026-03-22 05:40:26 +01:00
Mario Zechner
60358dc493 Merge remote-tracking branch 'origin/main' 2026-03-20 20:16:07 +01:00
Mario Zechner
a84fd4e3cf Add [Unreleased] section for next cycle 2026-03-20 20:15:24 +01:00
Cheng-Zi-Qing
7e2689ac18 packages/ai: ignore null chunks in openai-completions streams (#2466) 2026-03-20 20:01:28 +01:00
简简简简
8705fbee54 fix(models): align minimax and zai defaults (#2445)
Update the coding-agent default model picks for ZAI, Cerebras,
and MiniMax so new sessions prefer the current model lineup.

Add the missing MiniMax-M2.1-highspeed direct provider entries
and normalize MiniMax Anthropic-compatible context limits so the
catalog matches the provider's supported model set.
2026-03-20 10:00:57 +01:00
Mario Zechner
527c2af5e7 chore(ai): normalize MiMo V2 Pro model name 2026-03-20 01:55:30 +01:00
Mario Zechner
0d7c81ec9e fix(ai): skip AJV validation in restricted runtimes closes #2395 2026-03-19 22:51:12 +01:00
Mario Zechner
ac5e0ef76e Updated models 2026-03-19 22:13:27 +01:00
Mario Zechner
ff1ea12324 fix(ai): ignore placeholder vertex api keys closes #2335 2026-03-18 22:51:14 +01:00
PriNova
f704ee7255 fix(ai): use OpenRouter reasoning payload (#2298)
* fix(ai): use OpenRouter reasoning payload

* fix(coding-agent): stop updating packages on startup closes #1963

* fix(ai): add openrouter thinkingFormat compat

---------

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-03-18 11:23:27 +01:00
Jheng-Hong Yang
68da22f18c feat(ai): add openai-codex gpt-5.4-mini (#2334) 2026-03-18 11:22:11 +01:00
xu0o0
31d59f8513 fix(ai): support prompt caching for Bedrock application inference profiles (#2346)
Add AWS_BEDROCK_FORCE_CACHE=1 environment variable support. When the
model ID doesn't contain a recognizable Claude model name, users can
set this variable to force cache point injection.
2026-03-18 11:21:10 +01:00
Mario Zechner
6a95f6882c Add [Unreleased] section for next cycle 2026-03-18 03:42:13 +01:00
Mario Zechner
b2548ce489 fix(ai): normalize replayed responses tool call ids closes #2328 2026-03-18 03:37:40 +01:00
Mario Zechner
453b22397d fix(ai): keep image tool results inline for gemini 3+ and antigravity closes #2052 2026-03-18 02:17:44 +01:00
Mario Zechner
d70dfbeb3e fix(ai): correct Bedrock Claude 4.6 context window to 200k
Bedrock Claude Opus 4.6 and Sonnet 4.6 models have 200k context
window, not 1M. Removed incorrect overrides that were forcing these
models to 1M. The native Anthropic API models correctly remain at 1M.

closes #2305
2026-03-18 00:08:50 +01:00
Mario Zechner
8dc2bb969c fix(coding-agent,ai): restore Bun binary lazy provider loading closes #2314 2026-03-17 23:30:18 +01:00
Mario Zechner
94ba13ccef fix(ai): align oauth callback flows closes #2316 2026-03-17 23:13:44 +01:00
Mario Zechner
3563cc4df6 fix(ai): resolve codex oauth callback immediately closes #2316 2026-03-17 22:47:51 +01:00
Mario Zechner
d914d1c199 fix(coding-agent): handle z.ai network_error closes #2313 2026-03-17 22:34:49 +01:00