diff --git a/internal/registry/model_definitions.go b/internal/registry/model_definitions.go index b8b6667a..0967db60 100644 --- a/internal/registry/model_definitions.go +++ b/internal/registry/model_definitions.go @@ -376,6 +376,18 @@ func GetKiroModels() []*ModelInfo { MaxCompletionTokens: 64000, Thinking: &ThinkingSupport{Min: 1024, Max: 32000, ZeroAllowed: true, DynamicAllowed: true}, }, + { + ID: "kiro-claude-opus-4-6", + Object: "model", + Created: 1736899200, // 2025-01-15 + OwnedBy: "aws", + Type: "kiro", + DisplayName: "Kiro Claude Opus 4.6", + Description: "Claude Opus 4.6 via Kiro (2.2x credit)", + ContextLength: 200000, + MaxCompletionTokens: 64000, + Thinking: &ThinkingSupport{Min: 1024, Max: 32000, ZeroAllowed: true, DynamicAllowed: true}, + }, { ID: "kiro-claude-opus-4-5", Object: "model", @@ -425,6 +437,18 @@ func GetKiroModels() []*ModelInfo { Thinking: &ThinkingSupport{Min: 1024, Max: 32000, ZeroAllowed: true, DynamicAllowed: true}, }, // --- Agentic Variants (Optimized for coding agents with chunked writes) --- + { + ID: "kiro-claude-opus-4-6-agentic", + Object: "model", + Created: 1736899200, // 2025-01-15 + OwnedBy: "aws", + Type: "kiro", + DisplayName: "Kiro Claude Opus 4.6 (Agentic)", + Description: "Claude Opus 4.6 optimized for coding agents (chunked writes)", + ContextLength: 200000, + MaxCompletionTokens: 64000, + Thinking: &ThinkingSupport{Min: 1024, Max: 32000, ZeroAllowed: true, DynamicAllowed: true}, + }, { ID: "kiro-claude-opus-4-5-agentic", Object: "model", diff --git a/internal/runtime/executor/kiro_executor.go b/internal/runtime/executor/kiro_executor.go index 5a2cfa2b..5bc7d6cf 100644 --- a/internal/runtime/executor/kiro_executor.go +++ b/internal/runtime/executor/kiro_executor.go @@ -1681,6 +1681,7 @@ func (e *KiroExecutor) mapModelToKiro(model string) string { modelMap := map[string]string{ // Amazon Q format (amazonq- prefix) - same API as Kiro "amazonq-auto": "auto", + "amazonq-claude-opus-4-6": "claude-opus-4.6", "amazonq-claude-opus-4-5": "claude-opus-4.5", "amazonq-claude-sonnet-4-5": "claude-sonnet-4.5", "amazonq-claude-sonnet-4-5-20250929": "claude-sonnet-4.5", @@ -1688,6 +1689,7 @@ func (e *KiroExecutor) mapModelToKiro(model string) string { "amazonq-claude-sonnet-4-20250514": "claude-sonnet-4", "amazonq-claude-haiku-4-5": "claude-haiku-4.5", // Kiro format (kiro- prefix) - valid model names that should be preserved + "kiro-claude-opus-4-6": "claude-opus-4.6", "kiro-claude-opus-4-5": "claude-opus-4.5", "kiro-claude-sonnet-4-5": "claude-sonnet-4.5", "kiro-claude-sonnet-4-5-20250929": "claude-sonnet-4.5", @@ -1696,6 +1698,8 @@ func (e *KiroExecutor) mapModelToKiro(model string) string { "kiro-claude-haiku-4-5": "claude-haiku-4.5", "kiro-auto": "auto", // Native format (no prefix) - used by Kiro IDE directly + "claude-opus-4-6": "claude-opus-4.6", + "claude-opus-4.6": "claude-opus-4.6", "claude-opus-4-5": "claude-opus-4.5", "claude-opus-4.5": "claude-opus-4.5", "claude-haiku-4-5": "claude-haiku-4.5", @@ -1707,10 +1711,12 @@ func (e *KiroExecutor) mapModelToKiro(model string) string { "claude-sonnet-4-20250514": "claude-sonnet-4", "auto": "auto", // Agentic variants (same backend model IDs, but with special system prompt) + "claude-opus-4.6-agentic": "claude-opus-4.6", "claude-opus-4.5-agentic": "claude-opus-4.5", "claude-sonnet-4.5-agentic": "claude-sonnet-4.5", "claude-sonnet-4-agentic": "claude-sonnet-4", "claude-haiku-4.5-agentic": "claude-haiku-4.5", + "kiro-claude-opus-4-6-agentic": "claude-opus-4.6", "kiro-claude-opus-4-5-agentic": "claude-opus-4.5", "kiro-claude-sonnet-4-5-agentic": "claude-sonnet-4.5", "kiro-claude-sonnet-4-agentic": "claude-sonnet-4",