/** * Amazon Bedrock provider source. Anthropic models use Bedrock Converse; * allowlisted OpenAI frontier models use the regional bedrock-mantle * OpenAI-compatible API. */ import { BedrockClient } from "@aws-sdk/client-bedrock"; import { BedrockRuntimeClient } from "@aws-sdk/client-bedrock-runtime"; import { fromBedrockConverseOutput, toBedrockConverseInput } from "./bedrock-codec.js"; import { OpenAiBackend } from "./openai-backend.js"; import type { ProviderSource } from "./source.js"; export type BedrockControlClient = Pick; export type BedrockRuntime = Pick; export type BedrockMantleBackend = Pick; export type BedrockProviderSourceOptions = { controlClient?: BedrockControlClient; runtimeClient?: BedrockRuntime; env?: Readonly>; mantleBackend?: BedrockMantleBackend; }; export { fromBedrockConverseOutput, toBedrockConverseInput }; export declare const BEDROCK_OPENAI_ALLOWLIST: readonly ["openai.gpt-5.6-sol", "openai.gpt-5.6-terra", "openai.gpt-5.6-luna"]; export declare function isBedrockOpenAiModel(modelId: string): boolean; /** * Remove OpenAI/Codex protocol fields that bedrock-mantle rejects while * leaving native OpenAI egress unchanged. */ export declare function sanitizeBedrockMantleRequestBody(body: unknown): unknown; export declare class BedrockProviderSource implements ProviderSource { #private; readonly sourceId: "bedrock"; readonly discovery: ProviderSource["discovery"]; readonly requests: ProviderSource["requests"]; readonly responses: ProviderSource["responses"]; readonly capabilities: ProviderSource["capabilities"]; readonly resource: ProviderSource["resource"]; constructor(options?: BedrockProviderSourceOptions); }