Commit Graph

1006 Commits

Author SHA1 Message Date
Mario Zechner 49fbe6834f fix(ai): align api key credentials with auth json 2026-06-23 22:29:46 +02:00
Armin Ronacher 386d079afa fix(ai): restore legacy compat stream aliases
closes #6016
2026-06-23 22:20:20 +02:00
Mario Zechner 6184307c39 fix(ai): require explicit anthropic compat metadata 2026-06-23 21:04:59 +02:00
Armin Ronacher 1c4a9ba7c8 Release v0.80.1 2026-06-23 20:04:09 +02:00
Armin Ronacher 828493b37c fix(ai): unblock release provider tests 2026-06-23 19:57:29 +02:00
Armin Ronacher f08e968c83 Release v0.80.0 2026-06-23 19:30:32 +02:00
Mario Zechner cd95c2749f fix(ai): require OpenAI Responses terminal events 2026-06-23 16:35:45 +02:00
Konstantin Gukov e3dcb244f8 Support modern Microsoft Foundry Responses API endpoints:
- support *.ai.azure.com endpoints
- normalize away the /responses postfix in the query path which by
  default is added on Microsoft Foundry UI
2026-06-23 15:38:43 +02:00
Mario Zechner 129eb460cd feat(ai): complete models runtime migration 2026-06-23 15:29:46 +02:00
Mario Zechner 6a4813a7ca Merge remote-tracking branch 'origin/main'
# Conflicts:
#	packages/ai/CHANGELOG.md
2026-06-23 13:52:09 +02:00
Mario Zechner 8eeaa2bcba fix(ai): honor scoped env in compat API key injection 2026-06-23 13:45:26 +02:00
Mario Zechner 2cbce395fb feat(ai): pass provider-resolved env to APIs 2026-06-23 13:42:25 +02:00
Mario Zechner 5a8ea0bc81 fix(ai): honor scoped AWS profile in Bedrock endpoint resolution 2026-06-23 13:36:44 +02:00
Armin Ronacher d0e0b84cb9 fix(ai): reconnect Codex websocket on connection limit
closes #5973
2026-06-23 00:17:37 +02:00
Mario Zechner 732bb1617b Merge model-registry into main 2026-06-22 14:53:24 +02:00
Mario Zechner abbd911693 Merge main into model-registry 2026-06-22 14:00:18 +02:00
Armin Ronacher 71ca9b2b92 fix(ai): expose OpenCode Go GLM-5.2 xhigh effort
closes #5967
2026-06-22 13:45:44 +02:00
Mario Zechner 717a8f958a fix(ai): revert selective pi-ai base entrypoints 2026-06-22 12:54:32 +02:00
Armin Ronacher 8e1900666f Release v0.79.10 2026-06-22 11:14:43 +02:00
Vegard Stikbakke 7d0497fdb7 fix(ai): preserve early reasoning details
closes #5114
2026-06-22 10:14:59 +02:00
Armin Ronacher 615bf2f874 Release v0.79.9 2026-06-20 22:15:37 +02:00
Armin Ronacher 500b568b04 fix(ai): use OpenAI endpoint for Fireworks GLM-5.2
closes #5923
2026-06-20 21:32:02 +02:00
Armin Ronacher 8597ebafd9 fix(ai): expose OpenRouter GLM-5.2 xhigh effort
closes #5770
2026-06-20 18:47:42 +02:00
Armin Ronacher 8b97e75c6b feat(ai): add chat-template thinking compat
closes #5673
2026-06-19 23:34:17 +02:00
Vegard Stikbakke 6e6ce70caf fix(ai): filter Copilot models by account availability
closes #5897
2026-06-19 13:17:13 +02:00
Armin Ronacher 8eb9704b3e Release v0.79.8 2026-06-19 09:53:43 +02:00
Fred K. Schott 0d89a33373 feat(packages): Add selective pi-ai base entrypoints (#5348) 2026-06-19 00:41:49 +02:00
Armin Ronacher 651d10d90b feat(ai): enable Mistral prompt caching 2026-06-18 23:47:25 +02:00
Armin Ronacher c4ab61dcbf Release v0.79.7 2026-06-18 18:22:07 +02:00
Vegard Stikbakke 58dd2f5996 feat(ai): add GLM-5.2 to OpenCode Go model catalog
closes #5860
2026-06-18 10:06:23 +02:00
Armin Ronacher 7da475db66 fix(ai): regenerate model catalog 2026-06-16 23:58:43 +02:00
Armin Ronacher bd9f8773ad fix(ai): restore OpenCode Go DeepSeek thinking controls 2026-06-16 23:14:56 +02:00
Armin Ronacher 6561cb293b Release v0.79.5 2026-06-16 19:54:23 +02:00
Armin Ronacher 2431491c92 fix(ai): avoid duplicate OpenCode DeepSeek reasoning controls
closes #5818
2026-06-16 19:05:44 +02:00
Armin Ronacher 2d597f0212 fix(ai): tolerate null Responses message content
closes #5819
2026-06-16 19:00:12 +02:00
Armin Ronacher 7f29e7a369 feat: add provider-scoped environment overrides (#5807) 2026-06-16 17:19:08 +02:00
Armin Ronacher 75b0d723c0 fix(ai): support Z.AI GLM-5.2 effort levels
closes #5770
2026-06-16 14:29:27 +02:00
Armin Ronacher b0c8f65ffa fix(ai): update Google Vertex Gemini models
closes #5761
2026-06-16 01:03:12 +02:00
Armin Ronacher 0369bdb8f4 fix(ai): add Moonshot CN Kimi K2.7 metadata
closes #5760
2026-06-15 17:08:59 +02:00
Armin Ronacher 408ac103ec fix(ai): update Copilot Claude thinking metadata
closes #4637
2026-06-15 09:50:25 +02:00
Bucky 0be5bb6c96 fix(ai): price anthropic 1h cache writes at 2x input (#5738)
anthropic 1h cache writes were billed at the 5m rate; split the bucket and price the 1h portion correctly
2026-06-15 09:21:14 +02:00
Armin Ronacher 21a904f4b7 fix(ai): disable OpenCode long cache retention for rejecting routes
closes #5702
2026-06-13 23:59:45 +02:00
Armin Ronacher aa3a5233ad fix(ai): restore Codex context limits 2026-06-13 11:02:38 +02:00
Armin Ronacher f21f3c4bbd Release v0.79.2 2026-06-13 00:25:15 +02:00
Armin Ronacher 121f0edbf4 fix(ai): detect parenthesized context overflow errors
closes #5677
2026-06-13 00:01:37 +02:00
Armin Ronacher a7cdc679e7 fix(ai): correct GPT-5 context window metadata
closes #5644
2026-06-12 23:03:10 +02:00
Armin Ronacher be7d5cf585 fix(ai): relax Codex SSE header timeout 2026-06-12 17:08:30 +02:00
Ramiz Wachtler a455f62f72 fix(ai): preserve Anthropic refusal details (#5666)
Propagate Anthropic refusal stop_details explanation to errorMessage
2026-06-12 14:52:46 +02:00
Mario Zechner 827fe1e2c4 feat(ai): ImagesModels collections mirroring the chat-side design
createImagesModels()/ImagesProvider/createImagesProvider() give image
generation the same shape as chat: sync model reads, explicit async
refresh(provider?) with in-flight dedupe, provider-resolved auth, and
never-rejecting generateImages() (failures return AssistantImages with
stopReason error). Auth resolution is shared with the chat side via the
free-standing resolveProviderAuth() in auth/resolve.ts, which also owns
ModelsError; both collections pass their store/context as arguments.

The OpenRouter implementation moves to api/openrouter-images.ts with a
lazy wrapper; openrouterImagesProvider() factory plus
builtinImagesProviders()/builtinImagesModels() land in providers/all.
The ImagesProvider id type alias is renamed to ImagesProviderId
(mirror of Provider -> ProviderId). The old global image API
(getImageModel*, generateImages, registerImagesApiProvider) stays on
/compat, its registration shim repointed at the moved implementation.

README: Quick Start uses builtinModels(), the full streaming event
switch, image generation and the development checklist are restored in
full, image generation documents the new collections with compat noted
for the old API, plus the review fixes (builtinModels options,
credential-store mention for browsers, ImagesModels notes).
2026-06-11 00:27:43 +02:00
Mario Zechner 6e98573f24 feat(ai): sync model reads, explicit async refresh
Provider.getModels() is sync-only (last-known list; must not throw) with
an optional refreshModels() where dynamic providers fetch. The
sync-or-async union invited latent sync assumptions that would detonate
on the first dynamic provider; async-only reads would force sync
consumer surfaces (extension find/getAll) through Promises. Sync reads
plus an explicit refresh verb keeps the contract single and the
staleness visible.

Models.getModels()/getModel() are sync best-effort reads;
Models.refresh(provider?) rejects with ModelsError(model_source) for a
single provider and is concurrent best-effort across all providers.
createProvider() takes a models array plus an optional refreshModels
fetcher (stored on success, in-flight calls deduped, list unchanged on
rejection). forceRefresh options are gone.

Also finishes the in-progress AuthStorage fallbackResolver removal
(drops the now-unused includeFallback option from getApiKey).
2026-06-10 23:30:04 +02:00