27 lines
886 B
TypeScript
27 lines
886 B
TypeScript
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,
|
|
});
|
|
},
|
|
});
|