Commit Graph

1106 Commits

Author SHA1 Message Date
Mario Zechner 5476b56e41 Add [Unreleased] section for next cycle 2026-04-16 23:26:44 +02:00
Mario Zechner 2a356dca4d Release v0.67.6 2026-04-16 23:25:54 +02:00
Mario Zechner f84c4c89f5 fix(ai): restore FakeOpenAI mock .withResponse() so openai-completions tests pass
The openai-completions provider now calls .withResponse() on the
create() result to surface HTTP status/headers for the new onResponse
hook (d131fcd4). The FakeOpenAI test mock only returned an async
iterable, so 4 tests in openai-completions-tool-choice.test.ts that
actually consume the stream failed with "withResponse is not a function".

Updated the mock to return a Promise augmented with .withResponse()
resolving to { data: <async iterable>, response: { status, headers } }.

closes #3304
2026-04-16 22:57:30 +02:00
Mario Zechner ab518d8651 docs(ai): changelog for openai-responses session header fix
closes #3196
2026-04-16 22:42:40 +02:00
Vegard Stikbakke 45f1a2cd00 fix(ai): set session id headers for all OpenAI compatible responses (#3264) 2026-04-16 22:38:40 +02:00
Mario Zechner c3ded498ad docs(ai): drop incorrect anthropic sdk bump changelog entry
The @anthropic-ai/sdk range was already ^0.90.0 in the previous commit.
Only node_modules was stale; no dependency version actually changed.
2026-04-16 22:16:48 +02:00
Mario Zechner acbf8eca06 feat(ai): add thinkingDisplay option for Anthropic and Bedrock Claude
Exposes the new ThinkingConfig.display field on Anthropic and Bedrock
Claude providers. Defaults to 'summarized' so Claude Opus 4.7 and Mythos
Preview keep returning thinking text despite Anthropic's silent default
change to 'omitted'. Set to 'omitted' explicitly to skip thinking
streaming for faster time-to-first-text-token.
2026-04-16 22:12:06 +02:00
Mario Zechner a5f9f47d13 fix(ai): restore changelog and sdk type compatibility 2026-04-16 20:32:23 +02:00
Mario Zechner d131fcd4ba feat(coding-agent): add after_provider_response hook closes #3128 2026-04-16 20:28:08 +02:00
Armin Ronacher aa78fa91fe Add [Unreleased] section for next cycle 2026-04-16 20:06:43 +02:00
Armin Ronacher 23259e5f19 Release v0.67.5 2026-04-16 20:05:42 +02:00
Armin Ronacher 85ff56a0b4 docs(changelog): add missing unreleased entries 2026-04-16 20:04:24 +02:00
Armin Ronacher 54bbaece5c fix(ai): rebuild models 2026-04-16 19:58:40 +02:00
Markus Ylisiurunen d1c6cb1e0f fix(ai): Fix a configuration bug with Opus 4.7 adaptive thinking (#3286) 2026-04-16 19:57:19 +02:00
Armin Ronacher 72619e9246 Add [Unreleased] section for next cycle 2026-04-16 17:56:55 +02:00
Armin Ronacher 01949c1d4f Release v0.67.4 2026-04-16 17:32:50 +02:00
Armin Ronacher b071e99b27 docs(changelog): audit unreleased entries since v0.67.3 2026-04-16 17:31:34 +02:00
Armin Ronacher a91978cf19 fix(ai): add temporary Anthropic Opus 4.7 model override 2026-04-16 17:06:23 +02:00
Mario Zechner eb1cf80b10 fix(ai,coding-agent): replace deprecated kimi k2p5 model closes #3242 2026-04-16 12:06:24 +02:00
Mario Zechner 1c016cb018 fix(ai): cache Anthropic tools separately from transcript closes #3260 2026-04-16 11:31:58 +02:00
Mario Zechner e0918a627b Add [Unreleased] section for next cycle 2026-04-15 23:41:16 +02:00
Mario Zechner 0299811c02 Release v0.67.3 2026-04-15 23:40:28 +02:00
Mario Zechner cbf6e6141c docs(changelog): audit unreleased entries since v0.67.2 2026-04-15 23:37:09 +02:00
Mario Zechner b920622110 refactor(ai): extract synthetic tool result helper 2026-04-15 20:53:21 +02:00
deepkilo 3a13fa80c8 fix(ai): treat gcp vertex marker as ADC auth (#3221) 2026-04-15 16:20:45 +02:00
Mario Zechner 94f24f2102 Add [Unreleased] section for next cycle 2026-04-14 23:42:08 +02:00
Mario Zechner 5a3e702389 Release v0.67.2 2026-04-14 23:41:17 +02:00
Mario Zechner be6ac02238 docs: audit unreleased changelog entries 2026-04-14 23:40:29 +02:00
Mario Zechner 018b40c30c fix: align OpenAI cache affinity and use uuidv7 session ids 2026-04-14 23:20:13 +02:00
Armin Ronacher e2b40dfc81 fix(ai): strip partialJson from responses tool calls
Mutate persisted tool-call blocks in place on function_call completion,
remove partialJson, and emit the same reference on toolcall_end.
Add regression coverage for persisted block cleanup and event identity.

fixes #3078
2026-04-14 18:56:53 +02:00
Mario Zechner efc58fed70 Add [Unreleased] section for next cycle 2026-04-14 00:32:10 +02:00
Mario Zechner 5326452452 Release v0.67.1 2026-04-14 00:31:22 +02:00
Mario Zechner 852efe9596 Add [Unreleased] section for next cycle 2026-04-14 00:23:18 +02:00
Mario Zechner 023cd4afda Release v0.67.0 2026-04-14 00:22:27 +02:00
Mario Zechner 31eaef590e docs: audit unreleased changelog entries 2026-04-13 23:42:31 +02:00
Markus Ylisiurunen f829f80885 fix(ai): support service tier in codex responses (#2996) 2026-04-13 11:04:11 +02:00
Aadish Verma 4f7fc9de7e fix: bump antigravity User-Agent header version (#2901)
resolves #2815

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-04-09 03:10:05 +02:00
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 f3780d7004 Release v0.66.1 2026-04-09 01:00:19 +02:00
Mario Zechner a99aee3360 Add [Unreleased] section for next cycle 2026-04-08 18:57:08 +02:00
Mario Zechner 918cc09dd6 Release v0.66.0 2026-04-08 18:56:20 +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 0ff00ad4e3 Add [Unreleased] section for next cycle 2026-04-06 02:05:48 +02:00
Mario Zechner 573eb91c78 Release v0.65.2 2026-04-06 02:04:58 +02:00
Mario Zechner 78d4625a48 Add [Unreleased] section for next cycle 2026-04-06 00:26:57 +02:00
Mario Zechner 4171cf0dbb Release v0.65.1 2026-04-06 00:26:06 +02:00