From a793523b749769e828c6552b0de9489eb66cecec Mon Sep 17 00:00:00 2001 From: Andrew Lauppe Date: Tue, 20 Jan 2026 01:28:07 -0500 Subject: [PATCH 1/2] feat(models): add bedrock-converse-stream API type Add AWS Bedrock Converse Stream API to the list of supported model APIs, enabling custom provider configurations for Amazon Bedrock endpoints. This allows users to configure Bedrock models in their clawdbot.json: "models": { "providers": { "amazon-bedrock": { "baseUrl": "https://bedrock-runtime.us-east-1.amazonaws.com", "api": "bedrock-converse-stream", "models": [...] } } } The underlying adapter already exists; this change exposes it as a valid configuration option. --- src/config/types.models.ts | 3 ++- src/config/zod-schema.core.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/config/types.models.ts b/src/config/types.models.ts index 151c252382..92032ae1e9 100644 --- a/src/config/types.models.ts +++ b/src/config/types.models.ts @@ -3,7 +3,8 @@ export type ModelApi = | "openai-responses" | "anthropic-messages" | "google-generative-ai" - | "github-copilot"; + | "github-copilot" + | "bedrock-converse-stream"; export type ModelCompatConfig = { supportsStore?: boolean; diff --git a/src/config/zod-schema.core.ts b/src/config/zod-schema.core.ts index 8b11825fdc..13a0f16689 100644 --- a/src/config/zod-schema.core.ts +++ b/src/config/zod-schema.core.ts @@ -8,6 +8,7 @@ export const ModelApiSchema = z.union([ z.literal("anthropic-messages"), z.literal("google-generative-ai"), z.literal("github-copilot"), + z.literal("bedrock-converse-stream"), ]); export const ModelCompatSchema = z From 2dee177c9b52cacc608106a0bbc23da8ae767c6d Mon Sep 17 00:00:00 2001 From: Andrew Lauppe Date: Tue, 20 Jan 2026 01:28:13 -0500 Subject: [PATCH 2/2] fix(models): attach provider to inline model definitions When resolving models from custom provider configurations, ensure the provider name is attached to each inline model entry. This fixes model resolution for custom providers where the model definition exists in the config but lacks an explicit provider field. Without this fix, inline models from custom providers (like amazon-bedrock) would fail to resolve because the provider context was lost during the flatMap operation. --- src/agents/pi-embedded-runner/model.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/agents/pi-embedded-runner/model.ts b/src/agents/pi-embedded-runner/model.ts index 5e2ffa540b..2d146f80b6 100644 --- a/src/agents/pi-embedded-runner/model.ts +++ b/src/agents/pi-embedded-runner/model.ts @@ -39,7 +39,7 @@ export function resolveModel( if (!model) { const providers = cfg?.models?.providers ?? {}; const inlineModels = - providers[provider]?.models ?? + providers[provider]?.models?.map((entry) => ({ ...entry, provider })) ?? Object.values(providers) .flatMap((entry) => entry?.models ?? []) .map((entry) => ({ ...entry, provider }));