mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-30 05:15:24 +00:00
Add automatic discovery of AWS Bedrock models using ListFoundationModels API. When AWS credentials are detected, models that support streaming and text output are automatically discovered and made available. - Add @aws-sdk/client-bedrock dependency - Add discoverBedrockModels() with caching (default 1 hour) - Add resolveImplicitBedrockProvider() for auto-registration - Add BedrockDiscoveryConfig for optional filtering by provider/region - Filter to active, streaming, text-output models only - Update docs/bedrock.md with auto-discovery documentation
58 lines
1.3 KiB
TypeScript
58 lines
1.3 KiB
TypeScript
export type ModelApi =
|
|
| "openai-completions"
|
|
| "openai-responses"
|
|
| "anthropic-messages"
|
|
| "google-generative-ai"
|
|
| "github-copilot"
|
|
| "bedrock-converse-stream";
|
|
|
|
export type ModelCompatConfig = {
|
|
supportsStore?: boolean;
|
|
supportsDeveloperRole?: boolean;
|
|
supportsReasoningEffort?: boolean;
|
|
maxTokensField?: "max_completion_tokens" | "max_tokens";
|
|
};
|
|
|
|
export type ModelProviderAuthMode = "api-key" | "aws-sdk" | "oauth" | "token";
|
|
|
|
export type ModelDefinitionConfig = {
|
|
id: string;
|
|
name: string;
|
|
api?: ModelApi;
|
|
reasoning: boolean;
|
|
input: Array<"text" | "image">;
|
|
cost: {
|
|
input: number;
|
|
output: number;
|
|
cacheRead: number;
|
|
cacheWrite: number;
|
|
};
|
|
contextWindow: number;
|
|
maxTokens: number;
|
|
headers?: Record<string, string>;
|
|
compat?: ModelCompatConfig;
|
|
};
|
|
|
|
export type ModelProviderConfig = {
|
|
baseUrl: string;
|
|
apiKey?: string;
|
|
auth?: ModelProviderAuthMode;
|
|
api?: ModelApi;
|
|
headers?: Record<string, string>;
|
|
authHeader?: boolean;
|
|
models: ModelDefinitionConfig[];
|
|
};
|
|
|
|
export type BedrockDiscoveryConfig = {
|
|
enabled?: boolean;
|
|
region?: string;
|
|
providerFilter?: string[];
|
|
refreshInterval?: number;
|
|
};
|
|
|
|
export type ModelsConfig = {
|
|
mode?: "merge" | "replace";
|
|
providers?: Record<string, ModelProviderConfig>;
|
|
bedrockDiscovery?: BedrockDiscoveryConfig;
|
|
};
|