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