Commit Graph

26844 Commits

Author SHA1 Message Date
Peter Steinberger
dbcd35f6c2 test: decouple pi-tools params test imports 2026-04-05 12:53:15 +01:00
wirjo
78fe96f2d4 feat(bedrock): add inference profile discovery and region injection (#61299)
* feat(bedrock): add inference profile discovery and region injection

Inference profiles (cross-region and application) work with ConverseStream
but require the SDK client region to match the profile region. Without
this, users get "The provided model identifier is invalid" errors when
using cross-region profiles like us.anthropic.claude-sonnet-4-6.

Changes:

1. Inference profile discovery (discovery.ts):
   - Call ListInferenceProfiles alongside ListFoundationModels (parallel)
   - Inference profiles INHERIT capabilities from their underlying
     foundation model (modalities, reasoning, context window, cost)
   - resolveBaseModelId() maps profile → foundation model:
     "us.anthropic.claude-sonnet-4-6" → "anthropic.claude-sonnet-4-6"
     Application ARNs → extract model ID from models[].modelArn
   - Graceful degradation if IAM lacks bedrock:ListInferenceProfiles
   - Provider filter applies to profiles via underlying model ARNs

2. Region injection (register.sync.runtime.ts):
   - Extract region from provider baseUrl or bedrockDiscovery.region
   - Pass through to pi-ai options.region in wrapStreamFn
   - Ensures SDK client connects to correct regional endpoint

3. Inference profile model detection (anthropic-family-cache-semantics.ts):
   - isAnthropicBedrockModel() now recognizes application inference
     profile ARNs (arn:aws:bedrock:...:application-inference-profile/*)

4. Tests (discovery.test.ts):
   - New: inference profile inheritance test (4 models: 1 foundation +
     3 profiles, verifies capability inheritance, inactive filtering)
   - New: graceful AccessDeniedException handling test
   - Updated: all existing tests for dual-API discovery pattern

Fixes #55642

* fix(bedrock): preserve inference profile model lookup

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-05 12:52:03 +01:00
Vincent Koc
5f6ba749ff fix(test): restore thread-first vitest defaults 2026-04-05 12:37:39 +01:00
Peter Steinberger
b9d26fd1a4 docs: add arabic locale scaffolding 2026-04-05 12:37:22 +01:00
Peter Steinberger
996dccb19c feat(agents): add structured execution item events 2026-04-05 12:36:33 +01:00
Peter Steinberger
3b7e6152d1 fix: retry reasoning-required compaction with minimal thinking 2026-04-05 12:35:50 +01:00
Vincent Koc
c9e505f54a docs(changelog): sort and verify new entries 2026-04-05 12:32:16 +01:00
Peter Steinberger
8ad6dd92d7 ci: retrigger stalled main workflow 2026-04-05 12:19:24 +01:00
Mariano
4175caee6e fix(agents): suppress commentary-phase output leaks (#61282)
Merged via squash.

Prepared head SHA: e392904f73
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
2026-04-05 13:04:12 +02:00
Peter Steinberger
1bf5339b98 fix(gateway): pin startup channel registry 2026-04-05 12:01:03 +01:00
Peter Steinberger
283a6c65b7 ci: clone docs mirror without checkout api 2026-04-05 11:55:24 +01:00
Peter Steinberger
7fc3b22f53 fix: update changelog for Slack DM live reply routing (#59030) (thanks @afurm) 2026-04-05 19:53:23 +09:00
Andrii Furmanets
379f0d78e6 Slack: route live DM replies to channel 2026-04-05 19:53:23 +09:00
Peter Steinberger
25da786c68 docs: add generated locale picker support 2026-04-05 11:53:02 +01:00
Vincent Koc
cfe66c6e02 test(contracts): guard config footprint regressions 2026-04-05 11:48:40 +01:00
Peter Steinberger
fef155cdbc fix: tighten file tool schemas for openai 2026-04-05 11:46:34 +01:00
Vincent Koc
63db3443f1 fix(plugin-sdk): prefer canonical private-network opt-in 2026-04-05 11:45:09 +01:00
Peter Steinberger
0f58cef75e fix: finalize facade re-entry landing cleanup (#61180) (thanks @adam91holt) 2026-04-05 11:42:29 +01:00
Peter Steinberger
66c047ddc3 fix: refresh facade re-entry landing delta (#61180) (thanks @adam91holt) 2026-04-05 11:40:51 +01:00
Adam Holt
3a957cfe8b fix: resolve circular re-entry in facade module loading
resolveTrackedFacadePluginId triggers config loading (plugin auto-enable,
channel discovery) which can re-enter loadBundledPluginPublicSurfaceModuleSync
for the same module. Because the sentinel was still empty at that point,
re-entrant callers saw undefined exports (e.g. shouldNormalizeGoogleProviderConfig).

Move Object.assign(sentinel, loaded) before the plugin ID resolution so any
re-entrant lookup through the cached sentinel finds the real exports.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 11:40:32 +01:00
Vincent Koc
c5f69111ce docs(changelog): sort unreleased entries alphabetically 2026-04-05 11:38:04 +01:00
Vincent Koc
440428889e docs: add missing contributor attribution to Unreleased changelog entries 2026-04-05 11:33:58 +01:00
Peter Steinberger
dbfd96f4ec docs: move ja-JP output to publish repo 2026-04-05 11:32:55 +01:00
Peter Steinberger
495ebd28a4 fix(ci): route zai endpoint constants through plugin sdk 2026-04-05 11:30:58 +01:00
Peter Steinberger
064f474ed7 test: isolate anthropic vertex provider env cases 2026-04-05 11:28:59 +01:00
Vincent Koc
fd0cc90427 fix(plugin-sdk): resolve facade post-load re-entry (#61286) 2026-04-05 11:25:36 +01:00
Peter Steinberger
4559ece355 fix(ci): align test fixtures with current runner types 2026-04-05 11:23:51 +01:00
Chunyue Wang
8c1ca1f245 fix(cron): remove OpenAPI 3.0 incompatible JSON Schema keywords from cron tool (#61221)
The cron tool schema used type arrays (['string','null']), the 'not'
keyword, and 'const' — all unsupported by the OpenAPI 3.0 subset that
Gemini-backed providers (e.g. GitHub Copilot) enforce. This caused
HTTP 400 for every request when cron was enabled.

Replace type arrays with scalar types, remove not/const from
CronFailureAlertSchema, and add 'not' to the Gemini unsupported
keywords list as defense-in-depth.

Fixes #61206
2026-04-05 11:21:45 +01:00
Peter Steinberger
359be4eb48 test: simplify runtime cleanup setup imports 2026-04-05 11:19:06 +01:00
Peter Steinberger
2d7ec1b641 refactor: split zai config sdk seam 2026-04-05 11:19:05 +01:00
Peter Steinberger
be526d6423 refactor: split provider stream sdk seams 2026-04-05 11:19:05 +01:00
Peter Steinberger
0a21eebf56 fix(openai): keep gpt chat replies concise 2026-04-05 11:16:28 +01:00
Peter Steinberger
af81ee9fee fix(agents): add embedded item lifecycle events 2026-04-05 11:16:28 +01:00
Peter Steinberger
1ad5695aa4 ci: trigger zh-CN refresh on release 2026-04-05 11:16:00 +01:00
Vincent Koc
f02e435188 fix(google): support gemini cli personal oauth (#61260)
* fix(google): support gemini cli personal oauth

* Apply suggestion from @greptile-apps[bot]

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* fix(google): prefer gemini settings over auth env fallback

* chore(changelog): format rebased gemini entry

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-04-05 11:12:54 +01:00
Peter Steinberger
fd917a471c test: scope implicit provider discovery harness 2026-04-05 11:12:41 +01:00
Vincent Koc
be5a2611b9 test(anthropic): reuse wizard prompter helper (#61280) 2026-04-05 11:09:00 +01:00
Peter Steinberger
f2dc241e9d docs: harden zh-CN translation flow 2026-04-05 11:02:39 +01:00
Vincent Koc
3b84884793 fix(agents): harden host-managed claude-cli auth path (#61276) 2026-04-05 11:02:18 +01:00
Peter Steinberger
afca9540bf fix: add openai responses phase support 2026-04-05 10:58:49 +01:00
Vincent Koc
852e8f7a2a docs: update Claude CLI backend docs for MCP bridge, streaming, and auth changes 2026-04-05 10:54:11 +01:00
Vincent Koc
1d736dcbbc fix(ci): drop unused google prompt cache type 2026-04-05 10:49:51 +01:00
Peter Steinberger
e3eb615da8 docs: salvage english docs from translation backlog 2026-04-05 10:45:08 +01:00
Vincent Koc
3fa70f3044 fix(google): support gemini cli 2.5 model ids (#61261)
* fix(google): realign gemini cli model defaults

* fix(google): keep gemini cli defaults while adding 2.5 support

* fix(google): preserve gemini template reasoning flags

* fix(google): fall back to cli templates for gemini 2.5 ids

* fix(google): keep gemini cli 3.1 clones local
2026-04-05 10:43:20 +01:00
Vincent Koc
d609f71c9b fix(feishu): gate reasoning previews to stream sessions (#61271) 2026-04-05 10:40:22 +01:00
Vincent Koc
64cf52ca20 fix(tool-display): generate swift snapshot from core config 2026-04-05 10:34:02 +01:00
Peter Steinberger
e468da1040 fix: improve gpt execution flow and visibility 2026-04-05 10:32:58 +01:00
Peter Steinberger
219afbc2cc docs: tighten docs i18n source workflow 2026-04-05 10:30:29 +01:00
Vincent Koc
4954d025e2 fix(telegram): gate reasoning previews to stream sessions (#61266) 2026-04-05 10:22:26 +01:00
Peter Steinberger
b3d73b648b test: fix hook-alias runtime coverage after rebase (#61234) 2026-04-05 18:19:33 +09:00