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