Commit Graph

4156 Commits

Author SHA1 Message Date
Peter Steinberger
7075da59bd feat: allow occasional emoji in friendly openai overlay 2026-04-05 16:56:25 +01:00
Nimrod Gutman
0047048179 fix(memory): avoid recursive provider discovery during register (#61402)
* fix(memory): avoid recursive provider discovery during register

* test(memory): remove resetModules from provider adapter regression

* fix: avoid recursive provider discovery during register (#61402) (thanks @ngutman)
2026-04-05 18:55:58 +03:00
Peter Steinberger
2ade009901 refactor: remove provider-specific sdk shims from core 2026-04-05 16:55:10 +01:00
Peter Steinberger
a6d0ab1482 fix: swallow expired discord slash interactions 2026-04-05 16:50:11 +01:00
Peter Steinberger
a32a3e2331 fix(discord): honor explicit reply tags in delivery 2026-04-05 16:20:15 +01:00
Peter Steinberger
d25609bc06 fix: default OpenAI personality overlay to friendly 2026-04-05 16:15:08 +01:00
Peter Steinberger
97878b853a refactor: move legacy config migration behind doctor 2026-04-05 16:12:45 +01:00
Peter Steinberger
82ce30b789 feat(plugins): add reply dispatch hook 2026-04-05 16:11:31 +01:00
Peter Steinberger
6e3155ca84 feat(memory-core): add dreaming aging controls 2026-04-05 15:59:06 +01:00
Peter Steinberger
9408f682f6 test(memory-core): expand dreaming edge coverage 2026-04-05 15:47:26 +01:00
Peter Steinberger
f7670bde7e fix(memory-core): align dreaming promotion 2026-04-05 15:47:25 +01:00
Peter Steinberger
40ffada812 refactor: keep plugin legacy repair in doctor 2026-04-05 15:44:53 +01:00
Peter Steinberger
6f2f840e97 refactor: collapse plugin sdk extension shims 2026-04-05 15:44:53 +01:00
Peter Steinberger
eb8f0e1bf2 fix(ci): restore plugin sdk exports and ACP typing 2026-04-05 15:44:43 +01:00
Peter Steinberger
575371b6f7 test: trim provider compatibility cold starts 2026-04-05 15:44:29 +01:00
Peter Steinberger
1f912482e5 fix(acpx): honor ACP probe and session reuse invariants 2026-04-05 15:40:11 +01:00
Peter Steinberger
fb61986767 refactor(acpx): embed ACP runtime in plugin 2026-04-05 15:40:11 +01:00
Gustavo Madeira Santana
0aaf753148 matrix: add exec approval reaction shortcuts (#60931)
Merged via squash.

Prepared head SHA: a34e8248b0
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-05 10:30:33 -04:00
Vincent Koc
7b05253bed fix(anthropic): strip host otel env from claude cli 2026-04-05 15:27:29 +01:00
Peter Steinberger
dfd39a81d8 feat(openai): add opt-in GPT personality 2026-04-05 15:25:06 +01:00
Peter Steinberger
71fa5f481d test: split cli backend coverage by ownership 2026-04-05 15:20:15 +01:00
Peter Steinberger
9f2b760d33 refactor: move media generation runtimes into core 2026-04-05 15:13:20 +01:00
Peter Steinberger
7ff7a27f61 feat(memory-core): add dreaming verbose logging 2026-04-05 15:10:59 +01:00
Peter Steinberger
21270c2586 fix: resolve post-rebase typecheck drift 2026-04-05 14:53:53 +01:00
Peter Steinberger
629baf5fa7 refactor: move plugin setup and memory capabilities to registries 2026-04-05 14:53:53 +01:00
Tak Hoffman
d28b02a7b1 fix: preserve Foundry image capability through runtime 2026-04-05 08:36:11 -05:00
Peter Steinberger
9a0d88a868 refactor: move talk config contract under plugin 2026-04-05 14:26:35 +01:00
Peter Steinberger
89e8c8672c fix: break bundled channel bootstrap cycles 2026-04-05 14:20:31 +01:00
Vincent Koc
9efc033434 fix(anthropic): seed claude-cli model switches 2026-04-05 14:18:02 +01:00
Peter Steinberger
e8cbc1ee8a fix(discord): support carbon ratelimit signature drift 2026-04-05 14:11:43 +01:00
Peter Steinberger
9ddc3576d1 refactor: move elevenlabs talk config into plugin 2026-04-05 14:11:10 +01:00
Peter Steinberger
c731c1e61f fix(discord): sync proxy request client with carbon 2026-04-05 14:07:32 +01:00
Peter Steinberger
760c4be438 feat(agents): add provider-owned system prompt contributions 2026-04-05 14:05:41 +01:00
Vincent Koc
1a7c2a9bc8 fix(auth): persist claude-cli login profiles 2026-04-05 14:03:36 +01:00
Peter Steinberger
21d5f7a915 fix(test): restore signal test api boundary 2026-04-05 13:52:33 +01:00
Ayaan Zaidi
75752a862d fix(plugins): add required bedrock mantle config schema 2026-04-05 18:11:37 +05:30
Ayaan Zaidi
e4206007cc fix(memory): stabilize manager runtime lazy import 2026-04-05 18:11:37 +05:30
Peter Steinberger
d70162864a chore(deps): update direct dependencies 2026-04-05 13:33:16 +01:00
Peter Steinberger
c039675054 refactor(test): split channel contract helpers by policy 2026-04-05 13:15:22 +01:00
Vincent Koc
fc9648b620 docs: add Bedrock inference profiles and Bedrock Mantle provider coverage, re-sort changelog 2026-04-05 13:04:47 +01:00
Peter Steinberger
88ea0751a9 fix(test): add lightweight whatsapp group-policy seam 2026-04-05 12:57:58 +01:00
Peter Steinberger
81c095d945 fix(test): break zalo group-policy import cycle 2026-04-05 12:57:58 +01:00
wirjo
dbac5fa258 feat(bedrock): add Bedrock Mantle (OpenAI-compatible) provider (#61296)
* feat(bedrock): add Bedrock Mantle (OpenAI-compatible) provider

New amazon-bedrock-mantle extension that provides auto-discovery and
authentication for Amazon Bedrock Mantle endpoints.

Mantle (bedrock-mantle.<region>.api.aws) is Amazon Bedrock's OpenAI-
compatible API surface, separate from the existing bedrock-runtime
(ConverseStream) endpoint. It has its own model catalog including
models not available via ConverseStream (e.g. openai.gpt-oss-120b,
mistral.devstral-2-123b).

Extension structure:
- discovery.ts: Model discovery via GET /v1/models (OpenAI format),
  bearer token resolution, implicit provider configuration
- register.sync.runtime.ts: Provider registration with catalog,
  error classification (rate limits, context overflow)
- openclaw.plugin.json: Plugin manifest, enabledByDefault

Auth support:
- Long-lived Bedrock API key (AWS_BEARER_TOKEN_BEDROCK env var)
  created from the AWS Console → used directly as Bearer token
- Pre-generated SigV4-derived tokens (via aws-bedrock-token-generator)
  set in AWS_BEARER_TOKEN_BEDROCK → works transparently

Provider config (auto-resolved when AWS_BEARER_TOKEN_BEDROCK is set):
  api: "openai-completions"
  baseUrl: "https://bedrock-mantle.<region>.api.aws/v1"
  auth: "api-key" (bearer token)

Available in 12 regions: us-east-1, us-east-2, us-west-2,
ap-northeast-1, ap-south-1, ap-southeast-3, eu-central-1,
eu-west-1, eu-west-2, eu-south-1, eu-north-1, sa-east-1

Tests: 15 passing (13 discovery + 2 plugin registration)

* chore(bedrock): clarify mantle bearer auth scope

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-05 12:53:54 +01:00
Peter Steinberger
deb212d3b0 fix(openai): tighten gpt chat action turns 2026-04-05 12:53:35 +01:00
Peter Steinberger
d0afdb56ce fix: honor minimax api host during provider discovery 2026-04-05 12:53:23 +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
Andrii Furmanets
379f0d78e6 Slack: route live DM replies to channel 2026-04-05 19:53:23 +09:00
Vincent Koc
63db3443f1 fix(plugin-sdk): prefer canonical private-network opt-in 2026-04-05 11:45:09 +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