Commit Graph

800 Commits

Author SHA1 Message Date
Armin Ronacher 8fb1e877cd fix(ai): disable hidden provider 429 retries (#4991) 2026-05-26 23:41:58 +02:00
Armin Ronacher 71446c6c2b fix(ai): correct Codex Spark context window
closes #4969
2026-05-26 09:08:40 +02:00
Armin Ronacher fa1180b6b7 fix(ai): detect Poolside context overflow
Closes #4943
2026-05-26 08:58:21 +02:00
Armin Ronacher fc8a155901 fix(ai): honor Codex Responses maxRetries 2026-05-25 12:30:04 +02:00
Mario Zechner 83a227aed3 Update release instructions and generated models 2026-05-23 12:02:35 +02:00
Mario Zechner d801d88a11 Support adaptive thinking for Anthropic-compatible aliases
closes #4790
2026-05-22 18:30:51 +02:00
Mario Zechner c841a6c78f Clean up OAuth device-code callbacks 2026-05-22 15:51:36 +02:00
Mario Zechner 11e868b790 Merge pull request #4788 from earendil-works/refactor-device-code-login
feat(ai): refactor device code login for copilot
2026-05-22 15:21:42 +02:00
Mario Zechner 1a2a536dba chore: update PR prompt template 2026-05-22 11:11:38 +02:00
Vegard Stikbakke c554364c2a feat(ai): refactor device code login for copilot 2026-05-22 08:54:18 +02:00
Mario Zechner 11c3da4f74 fix(ai): set bedrock claude default max tokens
closes #4848
2026-05-21 23:27:40 +02:00
Mario Zechner b141e1fa24 chore: remove web-ui workspace 2026-05-20 02:26:09 +02:00
Armin Ronacher ae9450dc51 chore(ts): use source import extensions 2026-05-20 00:04:03 +02:00
Mario Zechner 06c6c324d7 chore: enforce erasable TypeScript syntax 2026-05-19 23:15:39 +02:00
Mario Zechner 2787b601d7 fix(ai): stop defaulting max token request caps
closes #4675
2026-05-19 11:49:44 +02:00
Mario Zechner 7be75baded fix(ai): clamp OpenAI prompt cache keys
closes #4720
2026-05-19 10:51:11 +02:00
Mario Zechner 0c4d704a7b Add [Unreleased] section for next cycle 2026-05-18 11:47:16 +02:00
Mario Zechner b8f51957a0 fix(ai): add Xiaomi reasoning replay compat
closes #4678
2026-05-18 11:15:20 +02:00
Mario Zechner 9e2bfc7c40 fix(ai): skip unknown bedrock content blocks
closes #4223
2026-05-18 01:42:18 +02:00
Mario Zechner 52e13870a1 fix(ai): prefix HTTP status codes onto Azure OpenAI and OpenAI Responses error messages so auto-retry fires on 5xx/429
closes #4232
2026-05-18 01:11:23 +02:00
Mario Zechner 21d80deda2 fix(ai): normalize opencode go reasoning replay
closes #4251
2026-05-18 01:11:23 +02:00
Mario Zechner ed3904ddd3 fix(ai): switch xiaomi models to openai completions
closes #4505
2026-05-18 00:14:31 +02:00
Mario Zechner 266234047a Remove openai-codex fast model variants, they do not work 2026-05-18 00:02:52 +02:00
Mario Zechner b256ac7d77 Closes #4342 2026-05-17 23:55:25 +02:00
Mario Zechner 7f3c340dc6 Add [Unreleased] section for next cycle 2026-05-17 21:03:41 +02:00
Mario Zechner a01cf7afae Merge pull request #4603 from mattiacerutti/fix/openai-codex-model-list
fix(ai): update OpenAI Codex model list
2026-05-17 20:54:53 +02:00
Mario Zechner 6730c04a65 Merge pull request #4622 from mattiacerutti/fix/copilot-gpt-thinking-map-fix
fix(ai): map copilot gpt 5 minimal thinking to low
2026-05-17 20:53:42 +02:00
Mario Zechner 6d474f8c1a fix(ai): cap context-sized default output budgets
closes #4614
2026-05-17 20:06:59 +02:00
Mattia Cerutti 485afc9c3f fix(ai): map copilot gpt minimal thinking to low 2026-05-17 12:18:50 +02:00
Mattia Cerutti 1af823be9d fix(ai): update OpenAI Codex model list 2026-05-17 03:12:19 +02:00
Mario Zechner 2c708492e3 Release v0.74.1 2026-05-17 01:35:45 +02:00
Mario Zechner c5831df689 fix(ai): vendor proxy env resolution
closes #4513
2026-05-17 00:02:37 +02:00
Mario Zechner 22a9c484e7 fix(ai): respect model output token limits
closes #4539
2026-05-16 23:33:06 +02:00
Mario Zechner 7c5c3d6fd6 fix(ai): detect litellm context overflow errors
closes #4563
2026-05-16 23:29:22 +02:00
Mario Zechner 0412f62f9e Merge pull request #4558 from earendil-works/fix/openai-completions-throw-on-missing-finish_reason
fix(ai): openai-completions - throw error on missing finish-reason
2026-05-16 22:54:42 +02:00
Armin Ronacher 87881ca686 fix(ai): preserve OpenRouter cached token semantics 2026-05-16 11:55:16 +02:00
Ramiz Wachtler 98ffad0437 fix(ai): openai-completions - throw error on missing finish-reason
- require \ before treating \ streams as successful
- add regression coverage for truncated streams without \
- closes #4345
2026-05-15 15:26:57 +02:00
Mario Zechner a8af0b5e99 fix(ai): ignore generic GitHub tokens for Copilot auth
closes #4485
2026-05-15 01:26:31 +02:00
Ramiz Wachtler 0ae909316a fix(ai): honor retry-after for OpenAI Codex SSE retries
- honor `retry-after-ms` and `retry-after` for OpenAI Codex SSE retries
- add SSE retry coverage for millisecond, seconds, date, and fallback delays
2026-05-13 19:44:07 +02:00
Mario Zechner 40c05f5539 Merge pull request #4473 from apoorvumang/fix/inception-mercury-2-reasoning-off
fix(ai): mark inception/mercury-2 thinkingLevelMap.off as null
2026-05-13 18:48:49 +02:00
Mario Zechner a5cca409d8 refactor(ai): use HTTP proxy agents for Bedrock 2026-05-13 16:12:48 +02:00
Apoorv Saxena e2b69a0bb1 fix(ai): mark inception/mercury-2 thinkingLevelMap.off as null
Mercury 2 in instant mode (reasoning_effort: "none") disables tool calling.
The openai-completions provider hardcodes {reasoning:{effort:"none"}} when no
explicit reasoning level is passed and thinkingLevelMap.off isn't null
(openai-completions.ts:575), so every caller that doesn't opt in to a level
silently breaks Mercury 2's agentic use cases.

Setting thinkingLevelMap.off = null on the Mercury 2 catalog entry causes the
provider to omit the reasoning param entirely, letting Mercury 2's own default
take over. Low/medium/high pass through verbatim; OpenRouter normalizes them
to Mercury's vocabulary.

Prefix-matched on "inception/mercury-2" so future Mercury 2 variants on
OpenRouter inherit the fix.
2026-05-13 19:17:36 +05:30
Mario Zechner f6b6b1f052 Merge pull request #4354 from haoqixu/fix-bun-ws-proxy
fix(ai): respect proxy envs in bun's websocket
2026-05-10 18:03:48 +02:00
yanirz 99dc6fcec8 fix(ai): add session affinity and compat fixes for Fireworks provider caching
Fireworks prompt caching is enabled by default (automatic prefix matching),
but on serverless infrastructure, requests hit random replicas. Without
session affinity, the per-replica cache misses, negating cache hit rates
and the discounted cacheRead pricing.

Changes:

- Add sendSessionAffinityHeaders and supportsCacheControlOnTools
  to AnthropicMessagesCompat interface
- Send x-session-affinity header for Fireworks (and Cloudflare AI
  Gateway Anthropic) when sessionId is available and caching is enabled
- Omit cache_control on tool definitions for Fireworks (unsupported
  per https://docs.fireworks.ai/tools-sdks/anthropic-compatibility)
- Default supportsEagerToolInputStreaming to false for Fireworks
  (unsupported field)
- Default supportsLongCacheRetention to false for Fireworks
  (cache_control.ttl not supported)
- Add compat settings to Fireworks models in generate-models.ts
- Update generated models with Fireworks compat settings
- Add integration tests for session affinity and tool compat

Refs: https://docs.fireworks.ai/guides/prompt-caching
Refs: https://docs.fireworks.ai/tools-sdks/anthropic-compatibility
2026-05-10 00:11:36 +02:00
haoqixu 8c2e3eddec fix(ai): respect proxy envs in bun's websocket
fixes #4346
2026-05-10 03:43:07 +08:00
Mario Zechner 7adb8e7634 feat(ai): add Together AI provider 2026-05-08 16:44:18 +02:00
Mario Zechner 9751057be9 Merge pull request #3887 from cristinaponcela/feat/image-outputs
feat: image content
2026-05-08 15:57:06 +02:00
Cristina Poncela Cubeiro 8fa1194c23 fix: no fallback for apiKey 2026-05-08 11:23:15 +02:00
Cristina Poncela Cubeiro 0e4f845cf4 fix: lazy loading 2026-05-08 11:08:04 +02:00
Mario Zechner 783e96a144 fix(ai): disable OpenAI reasoning where supported 2026-05-07 22:52:54 +02:00