Commit Graph

26 Commits

Author SHA1 Message Date
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 d131fcd4ba feat(coding-agent): add after_provider_response hook closes #3128 2026-04-16 20:28:08 +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 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
xu0o0 a3bf1eb399 fix(ai): fix bedrock throttling misidentification (#2699)
- Add NON_OVERFLOW_PATTERNS to explicitly exclude known non-overflow errors
- Consolidate Cerebras 400/413 no-body check into OVERFLOW_PATTERNS
- Format Bedrock errors as ${error.name}: ${error.message} for pattern matching
2026-03-30 17:26:03 +02:00
wjonaskr 3bcbae490c feat(ai): add requestMetadata support to BedrockOptions for cost allocation tagging (#2511)
Add an optional requestMetadata field to BedrockOptions that forwards
key-value pairs to the Bedrock Converse API ConverseStreamCommand. Tags
appear in AWS Cost Explorer split cost allocation data, enabling callers
to attribute inference costs to specific applications or contexts.

Changes:
- Add requestMetadata?: Record<string, string> to BedrockOptions with
  JSDoc documenting AWS constraints (max 50 pairs, key 64 chars, value
  256 chars, no aws: prefix)
- Pass requestMetadata to commandInput via conditional spread to avoid
  sending undefined when omitted
- Export BedrockOptions from package root (consistent with other
  provider option types)
- Add E2E tests: metadata forwarded to SDK payload, and omitted when
  not provided

closes #2510
2026-03-22 19:05:55 +01:00
xu0o0 31d59f8513 fix(ai): support prompt caching for Bedrock application inference profiles (#2346)
Add AWS_BEDROCK_FORCE_CACHE=1 environment variable support. When the
model ID doesn't contain a recognizable Claude model name, users can
set this variable to force cache point injection.
2026-03-18 11:21:10 +01:00
Mario Zechner 1a4d153d7a fix(ai): limit Bedrock prompt caching to Claude models\n\ncloses #2053 2026-03-14 05:20:41 +01:00
Mario Zechner c961cda2cd fix(ai): harden Bedrock unsigned thinking replay closes #2063 2026-03-14 05:06:14 +01:00
Mario Zechner a3f05423d9 feat(coding-agent): add provider payload hook 2026-03-07 14:34:28 +01:00
xu0o0 d4b473e298 fix(ai): respect region from profile config when AWS_PROFILE is set (#1800) 2026-03-04 08:56:06 +01:00
tctev e9d0074fa6 fix(ai): enable adaptive thinking for sonnet 4.6 and clamp xhigh effort (#1548)
* fix(ai): enable adaptive thinking for sonnet 4.6 and clamp xhigh effort

* chore(ai): drop changelog edit from contribution

---------

Co-authored-by: tctev <224793535+tctev@users.noreply.github.com>
2026-02-26 00:34:06 +01:00
Markus Ylisiurunen 28c0991281 Extend interleaved thinking test to Anthropic first-party provider (#1413)
* extend interleaved thinking test to Anthropic first-party provider

* switch back to global Bedrock model identifier

* set retry to 3 for both

* enable bedrock claude interleaved thinking by default and use completeSimple in test
2026-02-12 17:27:42 +01:00
xu0o0 e9f94ba6c3 feat: better cache support in bedrock (#1326) 2026-02-06 18:05:46 +01:00
Mario Zechner a40bf5fbd5 fix(ai): move AWS_BEDROCK_SKIP_AUTH inside Node.js environment check
The process.env access was outside the typeof process check, which
would throw in browser environments. Moved inside the Node.js/Bun
block for consistency with other env var access.

Also added changelog entry for #1320 and improved docs clarity.
2026-02-06 10:45:20 +01:00
Dustin Spicuzza df527fb988 fix(ai): provide mechanism to connect to unauthenticated bedrock proxies (#1320)
fixes #1309
2026-02-06 10:44:28 +01:00
Markus Ylisiurunen d3d3ef4155 fix(ai): handle bedrock opus 4.6 adaptive thinking and interleaved beta 2026-02-06 10:27:13 +02:00
haoqixu 1e718e63ea feat(ai): Support HTTP proxy through environment variables 2026-01-25 15:52:45 +08:00
Mario Zechner c725135a76 refactor(ai): register api providers 2026-01-24 23:15:11 +01:00
Mario Zechner 2c7c23b865 fix(ai): normalize tool call ids and handoff tests fixes #821 2026-01-19 00:10:49 +01:00
Pablo Tovar ba8059a502 fix: sanitize bedrock tool call ids (#781) 2026-01-16 17:51:48 +01:00
Burak Varlı 9a438465eb fix(ai): signature support for non-Anthropic models in Amazon Bedrock provider (#727)
* Add Amazon Bedrock models test suite for agent package

Tests basic prompts, multi-turn conversations with thinking, and
synthetic thinking signatures across all Bedrock models.

Known issues are categorized and skipped:
- Models requiring inference profile (5)
- Invalid model IDs for us-east-1 region (6)
- Max tokens config exceeds model limit (2)
- No signature support in reasoningContent (10)
- Rejects reasoning content in user messages (25)
- Validates signature format - Anthropic newer models (7)

* Fix Bedrock signature support for non-Anthropic models

Only include the signature field in reasoningContent.reasoningText for
Anthropic Claude models. Other models (OpenAI, Qwen, Minimax, Moonshot,
etc.) reject this field with:
"This model doesn't support the reasoningContent.reasoningText.signature field"

This fix enables multi-turn conversations with thinking content for
10 additional Bedrock models that previously failed.

https://buildwithpi.ai/session?7e39c05f66ea358da3f993c267fe3e29

* Add a CHANGELOG entry
2026-01-14 19:21:35 +01:00
Pablo Tovar b74535dc85 fix: apply message transforms for bedrock tool calls (#707)
Ensure Bedrock uses transformMessages before conversion.
2026-01-14 00:05:47 +01:00
Mario Zechner 8af8d0d672 Add MiniMax provider support (#656 by @dannote)
- Add minimax to KnownProvider and Api types
- Add MINIMAX_API_KEY to getEnvApiKey()
- Generate MiniMax-M2 and MiniMax-M2.1 models
- Add context overflow detection pattern
- Add tests to all required test files
- Update README and CHANGELOG with attribution

Also fixes:
- Bedrock duplicate toolResult ID when content has multiple blocks
- Sandbox extension unused parameter lint warning
2026-01-13 02:27:09 +01:00
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 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