diff --git a/packages/types/src/providers/bedrock.ts b/packages/types/src/providers/bedrock.ts index 7f5d6b214b..87bc0a75c6 100644 --- a/packages/types/src/providers/bedrock.ts +++ b/packages/types/src/providers/bedrock.ts @@ -428,6 +428,15 @@ export const bedrockModels = { outputPrice: 6.0, description: "GPT-OSS 120B - Production-ready, general-purpose, high-reasoning model", }, + "openai.gpt-5.6-sol": { + maxTokens: 128_000, + contextWindow: 1_000_000, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 4.4, + outputPrice: 22.0, + description: "GPT-5.6 Sol - OpenAI's most capable model for coding, cybersecurity, and scientific research", + }, "meta.llama3-3-70b-instruct-v1:0": { maxTokens: 8192, contextWindow: 128_000, @@ -675,6 +684,7 @@ export const BEDROCK_GLOBAL_INFERENCE_MODEL_IDS = [ "anthropic.claude-opus-5", "anthropic.claude-fable-5-1", "anthropic.claude-fable-5", + "openai.gpt-5.6-sol", ] as const // Amazon Bedrock Service Tier types diff --git a/src/api/providers/__tests__/bedrock.spec.ts b/src/api/providers/__tests__/bedrock.spec.ts index 917bccfa00..30e4e90297 100644 --- a/src/api/providers/__tests__/bedrock.spec.ts +++ b/src/api/providers/__tests__/bedrock.spec.ts @@ -811,6 +811,42 @@ describe("AwsBedrockHandler", () => { expect(typeof model.info.supportsPromptCache).toBe("boolean") }) + it("should return GPT-5.6 Sol model info", () => { + const handler = new AwsBedrockHandler({ + apiModelId: "openai.gpt-5.6-sol", + awsAccessKey: "test", + awsSecretKey: "test", + awsRegion: "us-east-1", + }) + + const model = handler.getModel() + expect(model.id).toBe("openai.gpt-5.6-sol") + expect(model.info.contextWindow).toBe(1_000_000) + expect(model.info.supportsImages).toBe(true) + expect(model.info.inputPrice).toBe(4.4) + expect(model.info.outputPrice).toBe(22) + }) + + it("should apply inference profile prefixes for GPT-5.6 Sol", () => { + const geoHandler = new AwsBedrockHandler({ + apiModelId: "openai.gpt-5.6-sol", + awsAccessKey: "test", + awsSecretKey: "test", + awsRegion: "us-east-1", + awsUseCrossRegionInference: true, + }) + const globalHandler = new AwsBedrockHandler({ + apiModelId: "openai.gpt-5.6-sol", + awsAccessKey: "test", + awsSecretKey: "test", + awsRegion: "us-east-1", + awsUseGlobalInference: true, + }) + + expect(geoHandler.getModel().id).toBe("us.openai.gpt-5.6-sol") + expect(globalHandler.getModel().id).toBe("global.openai.gpt-5.6-sol") + }) + it("should return Claude Fable 5 model info", () => { const handler = new AwsBedrockHandler({ apiModelId: "anthropic.claude-fable-5",