Commit graph

613 commits

Author SHA1 Message Date
Mario Zechner
d442bbcc19 feat(ai): Add prompt caching for Claude models on Bedrock
Adds cache points to system prompt and last user message for:
- Claude 3.5 Haiku
- Claude 3.7 Sonnet
- Claude 4.x models (Opus, Sonnet, Haiku)

Uses Bedrock's cachePoint blocks with 5-minute TTL.
2026-01-13 00:38:12 +01:00
Mario Zechner
d0c1065731 docs: Mark Bedrock as experimental, add coding-agent changelog entry 2026-01-13 00:36:22 +01:00
Mario Zechner
fd268479a4 feat(ai): Add Amazon Bedrock provider (#494)
Adds support for Amazon Bedrock with Claude models including:
- Full streaming support via Converse API
- Reasoning/thinking support for Claude models
- Cross-region inference model ID handling
- Multiple AWS credential sources (profile, IAM keys, API keys)
- Image support in messages and tool results
- Unicode surrogate sanitization

Also adds 'Adding a New Provider' documentation to AGENTS.md and README.

Co-authored-by: nickchan2 <nickchan2@users.noreply.github.com>
2026-01-13 00:32:59 +01:00
Markus Ylisiurunen
4f216d318f
Apply service tier pricing (#675) 2026-01-12 23:56:51 +01:00
nathyong
7b2c627079
Insert cache point on openrouter+anthropic completions (#584)
Co-authored-by: nathyong <nathyong@noreply.github.com>
2026-01-12 23:29:33 +01:00
Markus Ylisiurunen
7b79e8ec51
Add service tier option for OpenAI Responses API (#672)
* add service tier option for OpenAI responses

* add serviceTier option for OpenAI Responses requests
2026-01-12 23:20:18 +01:00
Mario Zechner
7cad705a15 Add [Unreleased] section for next cycle 2026-01-12 19:05:08 +01:00
Mario Zechner
477c263838 Release v0.44.0 2026-01-12 19:04:28 +01:00
Mario Zechner
0138eee6f7 Fix tool mapping 2026-01-12 17:56:13 +01:00
Mario Zechner
5f380822ea Revert "Fix jiti alias resolution in dev mode with tsx"
This reverts commit c7aa2c97a9.
2026-01-12 17:41:46 +01:00
Mario Zechner
c7aa2c97a9 Fix jiti alias resolution in dev mode with tsx
When running from source with tsx, the jiti aliases pointed to .js files
that don't exist (only .ts files exist). This caused jiti to fall back to
different module resolution, loading a separate instance of theme.ts where
initTheme() was never called, resulting in undefined theme.

Now checks if .js exists and falls back to .ts for dev mode compatibility.
2026-01-12 17:38:31 +01:00
Mario Zechner
a46c4aab4f Revert "Initialize theme with default value at module load time"
This reverts commit d18e44d378.
2026-01-12 17:29:56 +01:00
Mario Zechner
d18e44d378 Initialize theme with default value at module load time
Prevents undefined theme when extensions call ctx.ui.custom() in edge cases
where module resolution could cause the theme variable to be accessed before
initTheme() is called.
2026-01-12 17:27:59 +01:00
Danila Poyarkov
7a41975e9e
Fix Claude via Google APIs requiring tool call IDs (#653)
Claude models accessed through Google Cloud Code Assist API require
explicit id fields in both functionCall and functionResponse parts.
Without these IDs, the API returns 'tool_use.id: Field required' error.

Add requiresToolCallId() helper to centralize the Claude model detection
and include IDs in both tool call and tool result message conversions.
2026-01-12 16:40:07 +01:00
Danila Poyarkov
934e7e470b
Avoid cross-provider thought signatures (#654)
* Avoid cross-provider thought signatures

* Fix Google thought signature replay

Filter thought signatures to same provider with base64 validation and rename the transform helper for clarity.
2026-01-12 16:38:53 +01:00
Mario Zechner
6730b4fa59 Add [Unreleased] section for next cycle 2026-01-12 01:00:23 +01:00
Mario Zechner
8ac130c729 Release v0.43.0 2026-01-12 00:59:39 +01:00
Mario Zechner
667cf5aa6e docs(ai): add changelog entry for Google thinking fix 2026-01-11 19:26:00 +01:00
theBucky
a315cfe813 fix(ai): complete textSignature round-trip for Google providers
- Store thoughtSignature on text blocks during streaming (all 3 providers)
- Replay textSignature as thoughtSignature in convertMessages
- Remove redundant conditional since retainThoughtSignature handles undefined

Per Google docs, text part signatures are optional but recommended for
high-quality reasoning in multi-turn conversations.
2026-01-11 19:25:38 +01:00
theBucky
4f757fbe23 fix(ai): correct Google thinking detection and remove unsupported id fields
- isThinkingPart now only checks thought === true, not thoughtSignature
- thoughtSignature is for context replay and can appear on any part type
- Store thoughtSignature on text blocks as textSignature for proper replay
- Remove id from functionCall/functionResponse (unsupported by Vertex/Cloud Code Assist)

Refs: https://ai.google.dev/gemini-api/docs/thought-signatures
Co-authored-by: Amp <amp@ampcode.com>
2026-01-11 19:25:38 +01:00
Mario Zechner
016a24e9a1 Add [Unreleased] section for next cycle 2026-01-11 04:11:34 +01:00
Mario Zechner
31fe16f2e7 Release v0.42.5 2026-01-11 04:10:49 +01:00
Thomas Mustier
d3a457dc95 fix(ai): update codex stream originator test 2026-01-10 21:54:21 +00:00
Mario Zechner
c95b132fcc Add [Unreleased] section for next cycle 2026-01-10 13:56:55 +01:00
Mario Zechner
345de59833 Release v0.42.4 2026-01-10 13:56:11 +01:00
Mario Zechner
ec83d91473 fix(ai): resolve OAuth tool names via context 2026-01-10 13:45:08 +01:00
Mario Zechner
3743ebc03d Add [Unreleased] section for next cycle 2026-01-10 13:28:10 +01:00
Mario Zechner
2a04b0fb28 Release v0.42.3 2026-01-10 13:27:28 +01:00
Mario Zechner
232749ee52 Remove copy-assets.js build step (prompt now bundled in .ts) 2026-01-10 13:26:46 +01:00
Mario Zechner
6dcb64565a Prepare for alternative Codex harness certification 2026-01-10 13:22:10 +01:00
Mario Zechner
11dd2f476b Add [Unreleased] section for next cycle 2026-01-10 01:43:32 +01:00
Mario Zechner
0c02f5c053 Release v0.42.2 2026-01-10 01:42:46 +01:00
Mario Zechner
cf922b01b4 docs: update changelogs and clarify lockstep versioning in AGENTS.md 2026-01-10 01:41:48 +01:00
Mario Zechner
d82df76222 docs: add supportsUsageInStreaming to compat table 2026-01-10 01:16:52 +01:00
Mario Zechner
14be8efba8 Merge PR #596: Add supportsUsageInStreaming compat flag 2026-01-10 00:34:29 +01:00
Mario Zechner
52ce113754 Add supportsUsageInStreaming compat flag for OpenAI-compatible providers
Renamed from supportsStreamOptions to clarify this controls stream_options: { include_usage: true }.
Defaults to true (no behavioral change for existing providers).
Providers like gatewayz.ai that reject this parameter can set supportsUsageInStreaming: false in model config.

Based on #596 by @XesGaDeus
2026-01-10 00:34:06 +01:00
Mario Zechner
a613306e11 fix(ai): disable strict mode for OpenAI completions tool schemas
OpenRouter with models like openai/gpt-5.2 enforces strict mode which
requires all properties in the required array. Setting strict: false
allows optional parameters without null unions, matching the approach
already used in openai-responses.ts.
2026-01-10 00:19:02 +01:00
Mario Zechner
fe98895706 Better error messages on OpenRouter via openai-completions 2026-01-10 00:09:51 +01:00
Mario Zechner
c84f2f25de Fix lint warnings: use literal keys instead of bracket notation 2026-01-09 23:54:50 +01:00
Mario Zechner
c39250d0df Fix Google Cloud Code Assist OAuth for paid subscriptions
- Properly handle long-running operations for project provisioning
- Support GOOGLE_CLOUD_PROJECT / GOOGLE_CLOUD_PROJECT_ID env vars for paid tiers
- Handle VPC-SC affected users
- Update docs for paid subscription requirements

Closes #582
2026-01-09 23:32:46 +01:00
cmf
c7bac7583c Fix OAuth using Google Cloud Code Assist. 2026-01-09 23:31:11 +01:00
Aadish Verma
92eb6665fe
feat: add API pricing for antigravity models (#588) 2026-01-09 22:20:51 +01:00
Mario Zechner
35690f6d1a Merge branch 'fix/lazy-homedir-env-first' 2026-01-09 22:09:27 +01:00
Mario Zechner
32dd0d3cc4 Add changelog entries for PR 598 2026-01-09 20:50:23 +01:00
gnattu
58b903690b
Set strict parameter to false in OpenAI response mapping (#598)
lm-studio hosted openai-like api endpoint requires this parameter to either be a defined boolean, or not specifying this option entirely. null will fail the API validation.
2026-01-09 20:32:58 +01:00
Mario Zechner
60f5a03576 Add [Unreleased] section for next cycle 2026-01-09 20:24:50 +01:00
Mario Zechner
d856bb097c Release v0.42.1 2026-01-09 20:24:10 +01:00
Thomas Mustier
fbc4e89f84
fix(ai): skip zen tests when OPENCODE_API_KEY is not set (#605)
The zen.test.ts file was added without the standard skipIf guard,
causing CI to fail on all PRs since no OPENCODE_API_KEY is configured.

This follows the same pattern used by other API-dependent tests.
2026-01-09 18:41:12 +01:00
Helmut Januschka
b4351040a7
pi pi pi pew (#594) 2026-01-09 12:43:00 +01:00
xes garcia
732d46123b fix for gatewayz provider 2026-01-09 10:58:05 +01:00