import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; import { createBedrockNoCacheWrapper, isAnthropicBedrockModel, } from "openclaw/plugin-sdk/provider-stream"; const PROVIDER_ID = "amazon-bedrock"; const CLAUDE_46_MODEL_RE = /claude-(?:opus|sonnet)-4(?:\.|-)6(?:$|[-.])/i; export default definePluginEntry({ id: PROVIDER_ID, name: "Amazon Bedrock Provider", description: "Bundled Amazon Bedrock provider policy plugin", register(api) { api.registerProvider({ id: PROVIDER_ID, label: "Amazon Bedrock", docsPath: "/providers/models", auth: [], wrapStreamFn: ({ modelId, streamFn }) => isAnthropicBedrockModel(modelId) ? streamFn : createBedrockNoCacheWrapper(streamFn), resolveDefaultThinkingLevel: ({ modelId }) => CLAUDE_46_MODEL_RE.test(modelId.trim()) ? "adaptive" : undefined, }); }, });