From 243485d8a63340bcc6434917778f67731d324d11 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 151c25238..92032ae1e 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 8b11825fd..13a0f1668 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 c46242f8fb90154168bf50f7739758e6e92b9088 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 5e2ffa540..2d146f80b 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 }));