diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/android/prompt-executor-anthropic-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/android/prompt-executor-anthropic-client.api index 52e93e7f17..ab3eaf11d4 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/android/prompt-executor-anthropic-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/android/prompt-executor-anthropic-client.api @@ -75,9 +75,12 @@ public final class ai/koog/prompt/executor/clients/anthropic/AnthropicModels : a public static final field Opus_4_5 Lai/koog/prompt/llm/LLModel; public static final field Opus_4_6 Lai/koog/prompt/llm/LLModel; public static final field Opus_4_7 Lai/koog/prompt/llm/LLModel; + public static final field Opus_4_8 Lai/koog/prompt/llm/LLModel; + public static final field Opus_5 Lai/koog/prompt/llm/LLModel; public static final field Sonnet_4 Lai/koog/prompt/llm/LLModel; public static final field Sonnet_4_5 Lai/koog/prompt/llm/LLModel; public static final field Sonnet_4_6 Lai/koog/prompt/llm/LLModel; + public static final field Sonnet_5 Lai/koog/prompt/llm/LLModel; public fun addCustomModel (Lai/koog/prompt/llm/LLModel;)V public fun getModels ()Ljava/util/List; } diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/jvm/prompt-executor-anthropic-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/jvm/prompt-executor-anthropic-client.api index 52e93e7f17..ab3eaf11d4 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/jvm/prompt-executor-anthropic-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/jvm/prompt-executor-anthropic-client.api @@ -75,9 +75,12 @@ public final class ai/koog/prompt/executor/clients/anthropic/AnthropicModels : a public static final field Opus_4_5 Lai/koog/prompt/llm/LLModel; public static final field Opus_4_6 Lai/koog/prompt/llm/LLModel; public static final field Opus_4_7 Lai/koog/prompt/llm/LLModel; + public static final field Opus_4_8 Lai/koog/prompt/llm/LLModel; + public static final field Opus_5 Lai/koog/prompt/llm/LLModel; public static final field Sonnet_4 Lai/koog/prompt/llm/LLModel; public static final field Sonnet_4_5 Lai/koog/prompt/llm/LLModel; public static final field Sonnet_4_6 Lai/koog/prompt/llm/LLModel; + public static final field Sonnet_5 Lai/koog/prompt/llm/LLModel; public fun addCustomModel (Lai/koog/prompt/llm/LLModel;)V public fun getModels ()Ljava/util/List; } diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/prompt-executor-anthropic-client.klib.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/prompt-executor-anthropic-client.klib.api index f6e5a790d7..09e055b237 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/prompt-executor-anthropic-client.klib.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/api/prompt-executor-anthropic-client.klib.api @@ -275,12 +275,18 @@ final object ai.koog.prompt.executor.clients.anthropic/AnthropicModels : ai.koog final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Opus_4_6.|(){}[0] final val Opus_4_7 // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Opus_4_7|{}Opus_4_7[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Opus_4_7.|(){}[0] + final val Opus_4_8 // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Opus_4_8|{}Opus_4_8[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Opus_4_8.|(){}[0] + final val Opus_5 // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Opus_5|{}Opus_5[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Opus_5.|(){}[0] final val Sonnet_4 // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Sonnet_4|{}Sonnet_4[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Sonnet_4.|(){}[0] final val Sonnet_4_5 // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Sonnet_4_5|{}Sonnet_4_5[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Sonnet_4_5.|(){}[0] final val Sonnet_4_6 // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Sonnet_4_6|{}Sonnet_4_6[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Sonnet_4_6.|(){}[0] + final val Sonnet_5 // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Sonnet_5|{}Sonnet_5[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.Sonnet_5.|(){}[0] final val models // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.models|{}models[0] final fun (): kotlin.collections/List // ai.koog.prompt.executor.clients.anthropic/AnthropicModels.models.|(){}[0] diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt index 0a312dfc30..eff87b0b4e 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt @@ -8,9 +8,12 @@ import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Opus_4_1 import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Opus_4_5 import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Opus_4_6 import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Opus_4_7 +import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Opus_4_8 +import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Opus_5 import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Sonnet_4 import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Sonnet_4_5 import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Sonnet_4_6 +import ai.koog.prompt.executor.clients.anthropic.AnthropicModels.Sonnet_5 import ai.koog.prompt.llm.LLMCapability import ai.koog.prompt.llm.LLMProvider import ai.koog.prompt.llm.LLModel @@ -27,11 +30,14 @@ import kotlin.jvm.JvmField * | [Sonnet_4] | Fast | $3-$15 | Text, Image, Tools, Document | Text, Tools | * | [Sonnet_4_5] | Fast | $3-$15 | Text, Image, Tools, Document | Text, Tools | * | [Sonnet_4_6] | Fast | $3-$15 | Text, Image, Tools, Document | Text, Tools | + * | [Sonnet_5] | Fast | $3-$15 | Text, Image, Tools, Document | Text, Tools | * | [Opus_4] | Moderately fast | $15-$75 | Text, Image, Tools, Document | Text, Tools | * | [Opus_4_1] | Moderately fast | $15-$75 | Text, Image, Tools, Document | Text, Tools | * | [Opus_4_5] | Moderately fast | $5-$25 | Text, Image, Tools, Document | Text, Tools | * | [Opus_4_6] | Moderately fast | $5-$25 | Text, Image, Tools, Document | Text, Tools | * | [Opus_4_7] | Moderately fast | $5-$25 | Text, Image, Tools, Document | Text, Tools | + * | [Opus_4_8] | Moderately fast | $5-$25 | Text, Image, Tools, Document | Text, Tools | + * | [Opus_5] | Moderately fast | $5-$25 | Text, Image, Tools, Document | Text, Tools | */ public object AnthropicModels : LLModelDefinitions { /** @@ -178,6 +184,37 @@ public object AnthropicModels : LLModelDefinitions { maxOutputTokens = 64_000, ) + /** + * Claude Sonnet 5 is the first Sonnet model of Anthropic's fifth generation, delivering + * near-Opus quality on coding and agentic work at Sonnet pricing. + * Adaptive thinking is enabled by default on this model. + * + * 1M context window + * 128K max output tokens + * + * @see + * @see + */ + @JvmField + public val Sonnet_5: LLModel = LLModel( + provider = LLMProvider.Anthropic, + id = "claude-sonnet-5", + capabilities = listOf( + LLMCapability.Temperature, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Vision.Image, + LLMCapability.Document, + LLMCapability.Completion, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.Thinking, + LLMCapability.PromptCaching, + ), + contextLength = 1_000_000, + maxOutputTokens = 128_000, + ) + /** * Claude Opus 4 is Anthropic's previous flagship model. * It has very high intelligence and capability. @@ -325,6 +362,65 @@ public object AnthropicModels : LLModelDefinitions { maxOutputTokens = 128_000, ) + /** + * Claude Opus 4.8 is the most capable model in the Opus 4 series — highly autonomous, + * with state-of-the-art long-horizon agentic execution, knowledge work, and memory. + * + * 1M context window + * 128K max output tokens + * + * @see + */ + @JvmField + public val Opus_4_8: LLModel = LLModel( + provider = LLMProvider.Anthropic, + id = "claude-opus-4-8", + capabilities = listOf( + LLMCapability.Temperature, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Vision.Image, + LLMCapability.Document, + LLMCapability.Completion, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.Thinking, + LLMCapability.PromptCaching, + ), + contextLength = 1_000_000, + maxOutputTokens = 128_000, + ) + + /** + * Claude Opus 5 is the first Opus model of Anthropic's fifth generation — a step-change over + * Opus 4.8 for complex agentic coding and enterprise work, strongest on deep reasoning and + * long-horizon tasks. Thinking is enabled by default on this model. + * + * 1M context window + * 128K max output tokens + * + * @see + */ + @JvmField + public val Opus_5: LLModel = LLModel( + provider = LLMProvider.Anthropic, + id = "claude-opus-5", + capabilities = listOf( + LLMCapability.Temperature, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Vision.Image, + LLMCapability.Document, + LLMCapability.Completion, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.Thinking, + LLMCapability.PromptCaching, + ), + contextLength = 1_000_000, + maxOutputTokens = 128_000, + ) + /** * List of the supported models by the Anthropic provider. */ @@ -333,11 +429,14 @@ public object AnthropicModels : LLModelDefinitions { Sonnet_4, Sonnet_4_5, Sonnet_4_6, + Sonnet_5, Opus_4, Opus_4_1, Opus_4_5, Opus_4_6, Opus_4_7, + Opus_4_8, + Opus_5, Haiku_4_5 ) @@ -361,9 +460,12 @@ internal val DEFAULT_ANTHROPIC_MODEL_VERSIONS_MAP: Map = mapOf( Sonnet_4 to "claude-sonnet-4-20250514", Sonnet_4_5 to "claude-sonnet-4-5-20250929", Sonnet_4_6 to "claude-sonnet-4-6", + Sonnet_5 to "claude-sonnet-5", Opus_4 to "claude-opus-4-20250514", Opus_4_1 to "claude-opus-4-1-20250805", Opus_4_5 to "claude-opus-4-5-20251101", Opus_4_6 to "claude-opus-4-6", Opus_4_7 to "claude-opus-4-7", + Opus_4_8 to "claude-opus-4-8", + Opus_5 to "claude-opus-5", ) diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModelsTest.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModelsTest.kt index 88317dc814..4e69669d1d 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModelsTest.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModelsTest.kt @@ -34,9 +34,12 @@ class AnthropicModelsTest { AnthropicModels.Haiku_4_5, AnthropicModels.Sonnet_4_5, AnthropicModels.Sonnet_4_6, + AnthropicModels.Sonnet_5, AnthropicModels.Opus_4_5, AnthropicModels.Opus_4_6, AnthropicModels.Opus_4_7, + AnthropicModels.Opus_4_8, + AnthropicModels.Opus_5, ) modelsWithSchema.forEach { model -> @@ -117,6 +120,9 @@ class AnthropicModelsTest { assertNotNull(AnthropicModels.Sonnet_4.capabilities) shouldContain LLMCapability.Thinking assertNotNull(AnthropicModels.Opus_4_6.capabilities) shouldContain LLMCapability.Thinking assertNotNull(AnthropicModels.Opus_4_7.capabilities) shouldContain LLMCapability.Thinking + assertNotNull(AnthropicModels.Opus_4_8.capabilities) shouldContain LLMCapability.Thinking + assertNotNull(AnthropicModels.Opus_5.capabilities) shouldContain LLMCapability.Thinking + assertNotNull(AnthropicModels.Sonnet_5.capabilities) shouldContain LLMCapability.Thinking } @Test diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/api/jvm/prompt-executor-bedrock-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/api/jvm/prompt-executor-bedrock-client.api index ec8e5269d1..29de924595 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/api/jvm/prompt-executor-bedrock-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/api/jvm/prompt-executor-bedrock-client.api @@ -224,6 +224,7 @@ public final class ai/koog/prompt/executor/clients/bedrock/BedrockModelFamilies$ public final class ai/koog/prompt/executor/clients/bedrock/BedrockModels : ai/koog/prompt/executor/clients/LLModelDefinitions { public static final field INSTANCE Lai/koog/prompt/executor/clients/bedrock/BedrockModels; public fun addCustomModel (Lai/koog/prompt/llm/LLModel;)V + public final fun getAmazonNova2Lite ()Lai/koog/prompt/llm/LLModel; public final fun getAmazonNovaLite ()Lai/koog/prompt/llm/LLModel; public final fun getAmazonNovaMicro ()Lai/koog/prompt/llm/LLModel; public final fun getAmazonNovaPremier ()Lai/koog/prompt/llm/LLModel; @@ -232,11 +233,14 @@ public final class ai/koog/prompt/executor/clients/bedrock/BedrockModels : ai/ko public final fun getAnthropicClaude45Opus ()Lai/koog/prompt/llm/LLModel; public final fun getAnthropicClaude46Opus ()Lai/koog/prompt/llm/LLModel; public final fun getAnthropicClaude47Opus ()Lai/koog/prompt/llm/LLModel; + public final fun getAnthropicClaude48Opus ()Lai/koog/prompt/llm/LLModel; public final fun getAnthropicClaude4Opus ()Lai/koog/prompt/llm/LLModel; public final fun getAnthropicClaude4Sonnet ()Lai/koog/prompt/llm/LLModel; public final fun getAnthropicClaude4_5Haiku ()Lai/koog/prompt/llm/LLModel; public final fun getAnthropicClaude4_5Sonnet ()Lai/koog/prompt/llm/LLModel; public final fun getAnthropicClaude4_6Sonnet ()Lai/koog/prompt/llm/LLModel; + public final fun getAnthropicClaude5Opus ()Lai/koog/prompt/llm/LLModel; + public final fun getAnthropicClaude5Sonnet ()Lai/koog/prompt/llm/LLModel; public final fun getAnthropicClaudeFable5 ()Lai/koog/prompt/llm/LLModel; public final fun getGoogleGemma3_12BIt ()Lai/koog/prompt/llm/LLModel; public final fun getGoogleGemma3_27BIt ()Lai/koog/prompt/llm/LLModel; diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockModels.kt index e22e1fcf08..8049739064 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockModels.kt @@ -200,6 +200,29 @@ public object BedrockModels : LLModelDefinitions { "anthropic.claude-opus-4-7", ).effectiveModel + /** + * Claude Opus 4.8 is the most capable model in the Opus 4 series — highly autonomous, + * with state-of-the-art long-horizon agentic execution, knowledge work, and memory. + * + * @see + */ + public val AnthropicClaude48Opus: LLModel = BedrockModel( + AnthropicModels.Opus_4_8, + "anthropic.claude-opus-4-8", + ).effectiveModel + + /** + * Claude Opus 5 is the first Opus model of Anthropic's fifth generation — a step-change over + * Opus 4.8 for complex agentic coding and enterprise work, strongest on deep reasoning and + * long-horizon tasks. Thinking is enabled by default on this model. + * + * @see + */ + public val AnthropicClaude5Opus: LLModel = BedrockModel( + AnthropicModels.Opus_5, + "anthropic.claude-opus-5", + ).effectiveModel + /** * Claude Fable 5 is Anthropic's most capable widely released model, built for the most demanding * reasoning and long-horizon agentic work. @@ -253,6 +276,18 @@ public object BedrockModels : LLModelDefinitions { "anthropic.claude-sonnet-4-6", ).effectiveModel + /** + * Claude Sonnet 5 is the first Sonnet model of Anthropic's fifth generation, delivering + * near-Opus quality on coding and agentic work at Sonnet pricing. + * Adaptive thinking is enabled by default on this model. + * + * @see + */ + public val AnthropicClaude5Sonnet: LLModel = BedrockModel( + AnthropicModels.Sonnet_5, + "anthropic.claude-sonnet-5", + ).effectiveModel + /** * Claude Haiku 4.5 - Anthropic's most powerful model for powering real-world agents, * with industry-leading capabilities around coding, and computer use. @@ -350,6 +385,30 @@ public object BedrockModels : LLModelDefinitions { ), ).effectiveModel + /** + * Amazon Nova 2 Lite - Fast, cost-effective reasoning model for everyday workloads + * + * Part of the Amazon Nova 2 family announced at re:Invent 2025: + * - Extended thinking with three intensity levels (low, medium, high) + * - 1M token context window + * - Multimodal understanding (text, image, video) + * - Tool/function calling support + * + * @see + */ + public val AmazonNova2Lite: LLModel = BedrockModel( + LLModel( + provider = LLMProvider.Bedrock, + id = "amazon.nova-2-lite-v1:0", + capabilities = novaCapabilities + listOf( + LLMCapability.Vision.Image, + LLMCapability.Vision.Video, + LLMCapability.Thinking, + ), + contextLength = 1_000_000, + ), + ).effectiveModel + /** * Meta's Llama 3 8B Instruct * @@ -859,16 +918,19 @@ public object BedrockModels : LLModelDefinitions { * List of the supported models by the Bedrock provider. */ private val supportedModels: List = listOf( - // Claude 4 Series + // Claude Series AnthropicClaude4Opus, AnthropicClaude41Opus, AnthropicClaude45Opus, AnthropicClaude46Opus, AnthropicClaude47Opus, + AnthropicClaude48Opus, + AnthropicClaude5Opus, AnthropicClaudeFable5, AnthropicClaude4Sonnet, AnthropicClaude4_5Sonnet, AnthropicClaude4_6Sonnet, + AnthropicClaude5Sonnet, AnthropicClaude4_5Haiku, // Amazon Nova Series @@ -876,6 +938,7 @@ public object BedrockModels : LLModelDefinitions { AmazonNovaLite, AmazonNovaPro, AmazonNovaPremier, + AmazonNova2Lite, // Meta Llama 3.0 Series MetaLlama3_0_8BInstruct, diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt index 38854edcf3..71c99ebc13 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt @@ -161,6 +161,79 @@ public object DashscopeModels : LLModelDefinitions { maxOutputTokens = 65_536 ) + /** + * Qwen3.5-Plus is the flagship model of the Qwen3.5 series, unifying text and vision + * with a single backbone trained via early fusion of text and multimodal tokens. + * Supports thinking mode via the `enable_thinking` parameter. + */ + @JvmField + public val QWEN3_5_PLUS: LLModel = LLModel( + provider = LLMProvider.Alibaba, + id = "qwen3.5-plus", + capabilities = listOf( + LLMCapability.Completion, + LLMCapability.Speculation, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Temperature, + LLMCapability.MultipleChoices, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.Thinking, + LLMCapability.Vision.Image, + ), + contextLength = 1_000_000, + maxOutputTokens = 65_536 + ) + + /** + * Qwen3.7-Max is the flagship of the Qwen3.7 series, designed for the agent-centric era + * with a native extended-thinking mode. Text-only input and output. + */ + @JvmField + public val QWEN3_7_MAX: LLModel = LLModel( + provider = LLMProvider.Alibaba, + id = "qwen3.7-max", + capabilities = listOf( + LLMCapability.Completion, + LLMCapability.Speculation, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Temperature, + LLMCapability.MultipleChoices, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.Thinking, + ), + contextLength = 1_000_000, + maxOutputTokens = 65_536 + ) + + /** + * Qwen3.8-Max is the most capable model in the Qwen family to date — a 2.4T parameter MoE model + * (95B active) built on the Qwen3.5 architecture. Accepts text, image, and video input. + */ + @JvmField + public val QWEN3_8_MAX: LLModel = LLModel( + provider = LLMProvider.Alibaba, + id = "qwen3.8-max", + capabilities = listOf( + LLMCapability.Completion, + LLMCapability.Speculation, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Temperature, + LLMCapability.MultipleChoices, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.Thinking, + LLMCapability.Vision.Image, + LLMCapability.Vision.Video, + ), + contextLength = 1_000_000, + maxOutputTokens = 131_072 + ) + /** * List of the supported models by the Dashscope provider. */ @@ -171,7 +244,10 @@ public object DashscopeModels : LLModelDefinitions { QWEN_PLUS_LATEST, QWEN3_CODER_PLUS, QWEN3_CODER_FLASH, - QWEN3_MAX + QWEN3_MAX, + QWEN3_5_PLUS, + QWEN3_7_MAX, + QWEN3_8_MAX ) /** diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekModels.kt index 08bad5f400..97cfb48ac3 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekModels.kt @@ -2,6 +2,7 @@ package ai.koog.prompt.executor.clients.deepseek import ai.koog.prompt.executor.clients.LLModelDefinitions import ai.koog.prompt.executor.clients.deepseek.DeepSeekModels.DeepSeekV4Flash +import ai.koog.prompt.executor.clients.deepseek.DeepSeekModels.DeepSeekV4FlashVisionExp import ai.koog.prompt.executor.clients.deepseek.DeepSeekModels.DeepSeekV4Pro import ai.koog.prompt.llm.LLMCapability import ai.koog.prompt.llm.LLMProvider @@ -15,10 +16,11 @@ import kotlin.jvm.JvmField * DeepSeek provides powerful language models with competitive pricing and advanced reasoning capabilities. * All models support JSON output, function calling, and chat prefix completion features. * - * | Name | Speed | Price | Input | Output | - * |--------------------|--------|----------------------|-------------|-------------| - * | [DeepSeekV4Flash] | Fast | $0.14 / $0.28 per 1M | Text, Tools | Text, Tools | - * | [DeepSeekV4Pro] | Medium | $1.74 / $3.48 per 1M | Text, Tools | Text, Tools | + * | Name | Speed | Price | Input | Output | + * |-----------------------------|--------|----------------------|--------------------|-------------| + * | [DeepSeekV4Flash] | Fast | $0.44 / $1.32 per 1M | Text, Tools | Text, Tools | + * | [DeepSeekV4FlashVisionExp] | Fast | $0.44 / $1.32 per 1M | Text, Image, Tools | Text, Tools | + * | [DeepSeekV4Pro] | Medium | $1.74 / $3.48 per 1M | Text, Tools | Text, Tools | * * @see DeepSeek Pricing Documentation */ @@ -72,11 +74,38 @@ public object DeepSeekModels : LLModelDefinitions { maxOutputTokens = 384_000 ) + /** + * DeepSeek V4 Flash Vision (experimental) is a multimodal vision understanding model + * with stronger visual agent performance, staying on par with [DeepSeekV4Flash] for pure text tasks. + * Supports both thinking and non-thinking modes in the DeepSeek API. + * + * @see Chat Completion API + */ + @JvmField + public val DeepSeekV4FlashVisionExp: LLModel = LLModel( + provider = LLMProvider.DeepSeek, + id = "deepseek-v4-flash-vision-exp", + capabilities = listOf( + LLMCapability.Completion, + LLMCapability.Temperature, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.MultipleChoices, + LLMCapability.Thinking, + LLMCapability.Vision.Image, + ), + contextLength = 1_000_000, + maxOutputTokens = 384_000 + ) + /** * List of the supported models by the DeepSeek provider. */ private val supportedModels: List = listOf( DeepSeekV4Flash, + DeepSeekV4FlashVisionExp, DeepSeekV4Pro, ) diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleModels.kt index fdbe670c33..024a3a5ef0 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleModels.kt @@ -9,6 +9,9 @@ import ai.koog.prompt.executor.clients.google.GoogleModels.Gemini3_1FlashLite import ai.koog.prompt.executor.clients.google.GoogleModels.Gemini3_1FlashLite_Preview import ai.koog.prompt.executor.clients.google.GoogleModels.Gemini3_1Pro_Preview import ai.koog.prompt.executor.clients.google.GoogleModels.Gemini3_5Flash +import ai.koog.prompt.executor.clients.google.GoogleModels.Gemini3_5FlashLite +import ai.koog.prompt.executor.clients.google.GoogleModels.Gemini3_6Flash +import ai.koog.prompt.executor.clients.google.GoogleModels.Gemini3_7Flash import ai.koog.prompt.executor.clients.google.GoogleModels.Gemini3_Flash_Preview import ai.koog.prompt.llm.LLMCapability import ai.koog.prompt.llm.LLMProvider @@ -30,6 +33,11 @@ import kotlin.jvm.JvmField * | [Gemini3_1FlashLite_Preview]| Very fast | $0.25-$0.50 / $1.50 | Audio, Image, Video, Text, Tools, Document | Text, Tools | * | [Gemini3_1FlashLite] | Very fast | $0.25-$0.50 / $1.50 | Audio, Image, Video, Text, Tools, Document | Text, Tools | * | [Gemini3_5Flash] | Fast | $1.50 / $9.00 | Audio, Image, Video, Text, Tools, Document | Text, Tools | + * | [Gemini3_5FlashLite] | Very fast | — | Audio, Image, Video, Text, Tools, Document | Text, Tools | + * | [Gemini3_6Flash] | Fast | — | Audio, Image, Video, Text, Tools, Document | Text, Tools | + * | [Gemini3_7Flash] | Fast | $0.75 / $3.75¹ | Audio, Image, Video, Text, Tools, Document | Text, Tools | + * + * ¹ Introductory pricing through December 31, 2026. * * @see */ @@ -203,6 +211,51 @@ public object GoogleModels : LLModelDefinitions { maxOutputTokens = 65_536, ) + /** + * Gemini 3.5 Flash-Lite is the most cost-effective model of the Gemini 3.5 class, + * optimized for low latency and high-volume workloads. + * + * @see + */ + @JvmField + public val Gemini3_5FlashLite: LLModel = LLModel( + provider = LLMProvider.Google, + id = "gemini-3.5-flash-lite", + capabilities = fullCapabilities + LLMCapability.Thinking, + contextLength = 1_048_576, + maxOutputTokens = 65_536, + ) + + /** + * Gemini 3.6 Flash is Google's workhorse model with improved coding, knowledge work, + * and multimodal performance while reducing token usage. + * + * @see + */ + @JvmField + public val Gemini3_6Flash: LLModel = LLModel( + provider = LLMProvider.Google, + id = "gemini-3.6-flash", + capabilities = fullCapabilities + LLMCapability.Thinking, + contextLength = 1_048_576, + maxOutputTokens = 65_536, + ) + + /** + * Gemini 3.7 Flash is Google's most intelligent workhorse model for coding and agents, + * with substantial improvements across software engineering, web development, and agentic workflows. + * + * @see + */ + @JvmField + public val Gemini3_7Flash: LLModel = LLModel( + provider = LLMProvider.Google, + id = "gemini-3.7-flash", + capabilities = fullCapabilities + LLMCapability.Thinking, + contextLength = 1_048_576, + maxOutputTokens = 65_536, + ) + /** * Models for generating text embeddings. */ @@ -236,6 +289,9 @@ public object GoogleModels : LLModelDefinitions { Gemini3_1FlashLite_Preview, Gemini3_1FlashLite, Gemini3_5Flash, + Gemini3_5FlashLite, + Gemini3_6Flash, + Gemini3_7Flash, Embeddings.GeminiEmbedding001, ) diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt index acf41e597b..0815e9d5c0 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt @@ -51,11 +51,13 @@ public object MistralAIModels : LLModelDefinitions { ) /** - * Mistral Large 2.1 - Top-tier large model for high-complexity tasks (Premier) + * Mistral Large - Top-tier large model for high-complexity tasks (Premier) * - * Released November 2024. Most capable model for complex reasoning and tasks. + * The `mistral-large-latest` alias currently points to Mistral Large 3 (`mistral-large-2512`, + * released December 2025) — an open-weight multimodal MoE model (41B active / 675B total + * parameters) with agentic capabilities. * - * 128k context window + * 256k context window * * @see Mistral AI Models */ @@ -72,7 +74,7 @@ public object MistralAIModels : LLModelDefinitions { LLMCapability.Schema.JSON.Standard, LLMCapability.MultipleChoices ), - contextLength = 128_000 + contextLength = 256_000 ) /** @@ -177,6 +179,81 @@ public object MistralAIModels : LLModelDefinitions { ), contextLength = 128_000 ) + + /** + * Ministral 3 3B - Smallest model of the Ministral 3 edge family (Open) + * + * Released December 2025 (`ministral-3b-2512`). Designed for phones, laptops, + * and embedded hardware. + * + * 128k context window + * + * @see Mistral AI Models + */ + @JvmField + public val Ministral3_3B: LLModel = LLModel( + provider = LLMProvider.MistralAI, + id = "ministral-3b-latest", + capabilities = listOf( + LLMCapability.Temperature, + LLMCapability.Completion, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Schema.JSON.Basic, + LLMCapability.MultipleChoices + ), + contextLength = 128_000 + ) + + /** + * Ministral 3 8B - Mid-size model of the Ministral 3 edge family (Open) + * + * Released December 2025 (`ministral-8b-2512`). Balanced quality and efficiency + * for edge and on-device deployments. + * + * 128k context window + * + * @see Mistral AI Models + */ + @JvmField + public val Ministral3_8B: LLModel = LLModel( + provider = LLMProvider.MistralAI, + id = "ministral-8b-latest", + capabilities = listOf( + LLMCapability.Temperature, + LLMCapability.Completion, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Schema.JSON.Basic, + LLMCapability.MultipleChoices + ), + contextLength = 128_000 + ) + + /** + * Ministral 3 14B - Largest model of the Ministral 3 edge family (Open) + * + * Released December 2025 (`ministral-14b-2512`). The most capable Ministral, + * still deployable on consumer hardware. + * + * 128k context window + * + * @see Mistral AI Models + */ + @JvmField + public val Ministral3_14B: LLModel = LLModel( + provider = LLMProvider.MistralAI, + id = "ministral-14b-latest", + capabilities = listOf( + LLMCapability.Temperature, + LLMCapability.Completion, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Schema.JSON.Basic, + LLMCapability.MultipleChoices + ), + contextLength = 128_000 + ) } /** @@ -258,6 +335,9 @@ public object MistralAIModels : LLModelDefinitions { Chat.MagistralMedium12, Chat.Codestral, Chat.DevstralMedium, + Chat.Ministral3_3B, + Chat.Ministral3_8B, + Chat.Ministral3_14B, Embeddings.MistralEmbed, Embeddings.CodestralEmbed, Moderation.MistralModeration diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/android/prompt-executor-ollama-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/android/prompt-executor-ollama-client.api index 07e68087bc..283fc36ecd 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/android/prompt-executor-ollama-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/android/prompt-executor-ollama-client.api @@ -129,6 +129,8 @@ public final class ai/koog/prompt/executor/ollama/client/OllamaModels$Alibaba { public static final field QWEN_2_5_05B Lai/koog/prompt/llm/LLModel; public static final field QWEN_3_06B Lai/koog/prompt/llm/LLModel; public static final field QWEN_3_5_9B Lai/koog/prompt/llm/LLModel; + public static final field QWEN_3_6_27B Lai/koog/prompt/llm/LLModel; + public static final field QWEN_3_8_27B Lai/koog/prompt/llm/LLModel; public static final field QWEN_CODER_2_5_32B Lai/koog/prompt/llm/LLModel; public static final field QWQ Lai/koog/prompt/llm/LLModel; public static final field QWQ_32B Lai/koog/prompt/llm/LLModel; diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/jvm/prompt-executor-ollama-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/jvm/prompt-executor-ollama-client.api index 07e68087bc..283fc36ecd 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/jvm/prompt-executor-ollama-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/jvm/prompt-executor-ollama-client.api @@ -129,6 +129,8 @@ public final class ai/koog/prompt/executor/ollama/client/OllamaModels$Alibaba { public static final field QWEN_2_5_05B Lai/koog/prompt/llm/LLModel; public static final field QWEN_3_06B Lai/koog/prompt/llm/LLModel; public static final field QWEN_3_5_9B Lai/koog/prompt/llm/LLModel; + public static final field QWEN_3_6_27B Lai/koog/prompt/llm/LLModel; + public static final field QWEN_3_8_27B Lai/koog/prompt/llm/LLModel; public static final field QWEN_CODER_2_5_32B Lai/koog/prompt/llm/LLModel; public static final field QWQ Lai/koog/prompt/llm/LLModel; public static final field QWQ_32B Lai/koog/prompt/llm/LLModel; diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/prompt-executor-ollama-client.klib.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/prompt-executor-ollama-client.klib.api index 658700aa53..493aae6d0c 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/prompt-executor-ollama-client.klib.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/api/prompt-executor-ollama-client.klib.api @@ -132,6 +132,10 @@ final object ai.koog.prompt.executor.ollama.client/OllamaModels : ai.koog.prompt final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_3_06B.|(){}[0] final val QWEN_3_5_9B // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_3_5_9B|{}QWEN_3_5_9B[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_3_5_9B.|(){}[0] + final val QWEN_3_6_27B // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_3_6_27B|{}QWEN_3_6_27B[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_3_6_27B.|(){}[0] + final val QWEN_3_8_27B // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_3_8_27B|{}QWEN_3_8_27B[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_3_8_27B.|(){}[0] final val QWEN_CODER_2_5_32B // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_CODER_2_5_32B|{}QWEN_CODER_2_5_32B[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWEN_CODER_2_5_32B.|(){}[0] final val QWQ // ai.koog.prompt.executor.ollama.client/OllamaModels.Alibaba.QWQ|{}QWQ[0] diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonMain/kotlin/ai/koog/prompt/executor/ollama/client/OllamaModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonMain/kotlin/ai/koog/prompt/executor/ollama/client/OllamaModels.kt index b3839243f2..e7f3316a0f 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonMain/kotlin/ai/koog/prompt/executor/ollama/client/OllamaModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonMain/kotlin/ai/koog/prompt/executor/ollama/client/OllamaModels.kt @@ -346,6 +346,63 @@ public object OllamaModels : LLModelDefinitions { ), contextLength = 256_000, ) + + /** + * Represents the Alibaba Qwen 3.6 dense model with 27 billion parameters. + * + * A strong single-GPU model for agentic coding and general work, outperforming + * much larger MoE models on agentic coding benchmarks. + * + * Supported capabilities: + * - `Schema.JSON.Basic`: Supports JSON schema-based tasks. + * - `Temperature`: Allows adjustment of the temperature setting. + * - `Thinking`: Represents the thinking/reasoning capability of the model. + * - `ToolChoice`: Represents how tools calling can be configured for the LLM. + * - `Tools`: Enables interaction with external tools. + * + * + */ + @JvmField + public val QWEN_3_6_27B: LLModel = LLModel( + provider = LLMProvider.Ollama, + id = "qwen3.6:27b", + capabilities = listOf( + LLMCapability.Schema.JSON.Basic, + LLMCapability.Temperature, + LLMCapability.Thinking, + LLMCapability.ToolChoice, + LLMCapability.Tools, + ), + contextLength = 256_000, + ) + + /** + * Represents the Alibaba Qwen 3.8 open-weight multimodal model with 27 billion parameters. + * + * Supported capabilities: + * - `Schema.JSON.Basic`: Supports JSON schema-based tasks. + * - `Temperature`: Allows adjustment of the temperature setting. + * - `Thinking`: Represents the thinking/reasoning capability of the model. + * - `ToolChoice`: Represents how tools calling can be configured for the LLM. + * - `Tools`: Enables interaction with external tools. + * - `Vision.Image`: Enables processing and understanding of image inputs alongside text. + * + * + */ + @JvmField + public val QWEN_3_8_27B: LLModel = LLModel( + provider = LLMProvider.Ollama, + id = "qwen3.8:27b", + capabilities = listOf( + LLMCapability.Schema.JSON.Basic, + LLMCapability.Temperature, + LLMCapability.Thinking, + LLMCapability.ToolChoice, + LLMCapability.Tools, + LLMCapability.Vision.Image, + ), + contextLength = 256_000, + ) } /** @@ -559,6 +616,8 @@ public object OllamaModels : LLModelDefinitions { Alibaba.QWQ, Alibaba.QWEN_CODER_2_5_32B, Alibaba.QWEN_3_5_9B, + Alibaba.QWEN_3_6_27B, + Alibaba.QWEN_3_8_27B, Granite.GRANITE_3_2_VISION, DeepSeek.DEEPSEEK_R1_DISTILL_LLAMA_1_5B, OpenAI.GPT_OSS_20B, diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/android/prompt-executor-openai-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/android/prompt-executor-openai-client.api index c74f4ff317..6f277bac1b 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/android/prompt-executor-openai-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/android/prompt-executor-openai-client.api @@ -110,6 +110,9 @@ public final class ai/koog/prompt/executor/clients/openai/OpenAIModels$Chat { public static final field GPT5_4Pro Lai/koog/prompt/llm/LLModel; public static final field GPT5_5 Lai/koog/prompt/llm/LLModel; public static final field GPT5_5Pro Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Luna Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Sol Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Terra Lai/koog/prompt/llm/LLModel; public static final field INSTANCE Lai/koog/prompt/executor/clients/openai/OpenAIModels$Chat; public static final field O1 Lai/koog/prompt/llm/LLModel; public static final field O3 Lai/koog/prompt/llm/LLModel; diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/jvm/prompt-executor-openai-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/jvm/prompt-executor-openai-client.api index c74f4ff317..6f277bac1b 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/jvm/prompt-executor-openai-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/jvm/prompt-executor-openai-client.api @@ -110,6 +110,9 @@ public final class ai/koog/prompt/executor/clients/openai/OpenAIModels$Chat { public static final field GPT5_4Pro Lai/koog/prompt/llm/LLModel; public static final field GPT5_5 Lai/koog/prompt/llm/LLModel; public static final field GPT5_5Pro Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Luna Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Sol Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Terra Lai/koog/prompt/llm/LLModel; public static final field INSTANCE Lai/koog/prompt/executor/clients/openai/OpenAIModels$Chat; public static final field O1 Lai/koog/prompt/llm/LLModel; public static final field O3 Lai/koog/prompt/llm/LLModel; diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/prompt-executor-openai-client.klib.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/prompt-executor-openai-client.klib.api index bd242a538f..a2fb0f3833 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/prompt-executor-openai-client.klib.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/api/prompt-executor-openai-client.klib.api @@ -428,6 +428,12 @@ final object ai.koog.prompt.executor.clients.openai/OpenAIModels : ai.koog.promp final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_5.|(){}[0] final val GPT5_5Pro // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_5Pro|{}GPT5_5Pro[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_5Pro.|(){}[0] + final val GPT5_6Luna // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_6Luna|{}GPT5_6Luna[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_6Luna.|(){}[0] + final val GPT5_6Sol // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_6Sol|{}GPT5_6Sol[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_6Sol.|(){}[0] + final val GPT5_6Terra // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_6Terra|{}GPT5_6Terra[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.GPT5_6Terra.|(){}[0] final val O1 // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.O1|{}O1[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.O1.|(){}[0] final val O3 // ai.koog.prompt.executor.clients.openai/OpenAIModels.Chat.O3|{}O3[0] diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt index 36a58638a2..52f76e1699 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt @@ -43,6 +43,9 @@ import kotlin.jvm.JvmField * | [Chat.GPT5_4Pro] | Slowest | $30-$180 | Text, Image, Tools, Document | Text, Tools | * | [Chat.GPT5_5] | Fast | $5-$30 | Text, Image, Tools, Document | Text, Tools | * | [Chat.GPT5_5Pro] | Slowest | $30-$180 | Text, Image, Tools, Document | Text, Tools | + * | [Chat.GPT5_6Sol] | Medium | $5-$30 | Text, Image, Tools, Document | Text, Tools | + * | [Chat.GPT5_6Terra] | Fast | $2-$12 | Text, Image, Tools, Document | Text, Tools | + * | [Chat.GPT5_6Luna] | Very fast | $0.2-$1.2 | Text, Image, Tools, Document | Text, Tools | * | [Audio.GptAudio] | Fast | $2.5-$10 | Text, Audio, Tools | Text, Audio, Tools | * | [Audio.GPT4oMiniAudio] | Fast | $0.15-$0.6/$10-$20 | Text, Audio, Tools | Text, Audio, Tools | * | [Audio.GPT4oAudio] | Medium | $2.5-$10/$40-$80 | Text, Audio, Tools | Text, Audio, Tools | @@ -945,6 +948,100 @@ public object OpenAIModels : LLModelDefinitions { contextLength = 1_050_000, maxOutputTokens = 128_000, ) + + /** + * GPT-5.6 Sol is the flagship model of the GPT-5.6 family, setting a new standard for both + * intelligence and efficiency across coding, knowledge work, cybersecurity, and science. + * The `gpt-5.6` API alias points to this model. + * + * 1,050,000 context window + * 128,000 max output tokens + * Reasoning token support + * + * @see Model page + */ + @JvmField + public val GPT5_6Sol: LLModel = LLModel( + provider = LLMProvider.OpenAI, + id = "gpt-5.6-sol", + capabilities = listOf( + LLMCapability.Completion, + LLMCapability.Speculation, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Vision.Image, + LLMCapability.Document, + LLMCapability.MultipleChoices, + LLMCapability.OpenAIEndpoint.Completions, + LLMCapability.OpenAIEndpoint.Responses, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + ) + reasoningCapabilities, + contextLength = 1_050_000, + maxOutputTokens = 128_000, + ) + + /** + * GPT-5.6 Terra is the balanced model of the GPT-5.6 family for everyday work, + * matching GPT-5.5 quality at a lower price point. + * + * 1,050,000 context window + * 128,000 max output tokens + * Reasoning token support + * + * @see Model page + */ + @JvmField + public val GPT5_6Terra: LLModel = LLModel( + provider = LLMProvider.OpenAI, + id = "gpt-5.6-terra", + capabilities = listOf( + LLMCapability.Completion, + LLMCapability.Speculation, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Vision.Image, + LLMCapability.Document, + LLMCapability.MultipleChoices, + LLMCapability.OpenAIEndpoint.Completions, + LLMCapability.OpenAIEndpoint.Responses, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + ) + reasoningCapabilities, + contextLength = 1_050_000, + maxOutputTokens = 128_000, + ) + + /** + * GPT-5.6 Luna is the fastest, most cost-efficient model of the GPT-5.6 family, + * designed for high-volume tasks like classification, extraction, and sub-agents. + * + * 1,050,000 context window + * 128,000 max output tokens + * Reasoning token support + * + * @see Model page + */ + @JvmField + public val GPT5_6Luna: LLModel = LLModel( + provider = LLMProvider.OpenAI, + id = "gpt-5.6-luna", + capabilities = listOf( + LLMCapability.Completion, + LLMCapability.Speculation, + LLMCapability.Tools, + LLMCapability.ToolChoice, + LLMCapability.Vision.Image, + LLMCapability.Document, + LLMCapability.MultipleChoices, + LLMCapability.OpenAIEndpoint.Completions, + LLMCapability.OpenAIEndpoint.Responses, + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + ) + reasoningCapabilities, + contextLength = 1_050_000, + maxOutputTokens = 128_000, + ) } /** @@ -1171,6 +1268,11 @@ public object OpenAIModels : LLModelDefinitions { Chat.GPT5_5, Chat.GPT5_5Pro, + // Chat Models - GPT-5.6 Series + Chat.GPT5_6Sol, + Chat.GPT5_6Terra, + Chat.GPT5_6Luna, + // Audio Models Audio.GptAudio, Audio.GPT4oMiniAudio, diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/android/prompt-executor-openrouter-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/android/prompt-executor-openrouter-client.api index 8c81f44302..808772d5f2 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/android/prompt-executor-openrouter-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/android/prompt-executor-openrouter-client.api @@ -52,6 +52,10 @@ public final class ai/koog/prompt/executor/clients/openrouter/OpenRouterModels : public static final field Claude4_5Sonnet Lai/koog/prompt/llm/LLModel; public static final field Claude4_6Opus Lai/koog/prompt/llm/LLModel; public static final field Claude4_6Sonnet Lai/koog/prompt/llm/LLModel; + public static final field Claude4_7Opus Lai/koog/prompt/llm/LLModel; + public static final field Claude4_8Opus Lai/koog/prompt/llm/LLModel; + public static final field Claude5Opus Lai/koog/prompt/llm/LLModel; + public static final field Claude5Sonnet Lai/koog/prompt/llm/LLModel; public static final field DeepSeekV30324 Lai/koog/prompt/llm/LLModel; public static final field GPT35Turbo Lai/koog/prompt/llm/LLModel; public static final field GPT4 Lai/koog/prompt/llm/LLModel; @@ -64,10 +68,14 @@ public final class ai/koog/prompt/executor/clients/openrouter/OpenRouterModels : public static final field GPT5Nano Lai/koog/prompt/llm/LLModel; public static final field GPT5_2 Lai/koog/prompt/llm/LLModel; public static final field GPT5_2Pro Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Luna Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Sol Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Terra Lai/koog/prompt/llm/LLModel; public static final field GPT_OSS_120b Lai/koog/prompt/llm/LLModel; public static final field Gemini2_5Flash Lai/koog/prompt/llm/LLModel; public static final field Gemini2_5FlashLite Lai/koog/prompt/llm/LLModel; public static final field Gemini2_5Pro Lai/koog/prompt/llm/LLModel; + public static final field Gemini3ProPreview Lai/koog/prompt/llm/LLModel; public static final field INSTANCE Lai/koog/prompt/executor/clients/openrouter/OpenRouterModels; public static final field Llama3 Lai/koog/prompt/llm/LLModel; public static final field Llama3Instruct Lai/koog/prompt/llm/LLModel; diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/jvm/prompt-executor-openrouter-client.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/jvm/prompt-executor-openrouter-client.api index 8c81f44302..808772d5f2 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/jvm/prompt-executor-openrouter-client.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/jvm/prompt-executor-openrouter-client.api @@ -52,6 +52,10 @@ public final class ai/koog/prompt/executor/clients/openrouter/OpenRouterModels : public static final field Claude4_5Sonnet Lai/koog/prompt/llm/LLModel; public static final field Claude4_6Opus Lai/koog/prompt/llm/LLModel; public static final field Claude4_6Sonnet Lai/koog/prompt/llm/LLModel; + public static final field Claude4_7Opus Lai/koog/prompt/llm/LLModel; + public static final field Claude4_8Opus Lai/koog/prompt/llm/LLModel; + public static final field Claude5Opus Lai/koog/prompt/llm/LLModel; + public static final field Claude5Sonnet Lai/koog/prompt/llm/LLModel; public static final field DeepSeekV30324 Lai/koog/prompt/llm/LLModel; public static final field GPT35Turbo Lai/koog/prompt/llm/LLModel; public static final field GPT4 Lai/koog/prompt/llm/LLModel; @@ -64,10 +68,14 @@ public final class ai/koog/prompt/executor/clients/openrouter/OpenRouterModels : public static final field GPT5Nano Lai/koog/prompt/llm/LLModel; public static final field GPT5_2 Lai/koog/prompt/llm/LLModel; public static final field GPT5_2Pro Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Luna Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Sol Lai/koog/prompt/llm/LLModel; + public static final field GPT5_6Terra Lai/koog/prompt/llm/LLModel; public static final field GPT_OSS_120b Lai/koog/prompt/llm/LLModel; public static final field Gemini2_5Flash Lai/koog/prompt/llm/LLModel; public static final field Gemini2_5FlashLite Lai/koog/prompt/llm/LLModel; public static final field Gemini2_5Pro Lai/koog/prompt/llm/LLModel; + public static final field Gemini3ProPreview Lai/koog/prompt/llm/LLModel; public static final field INSTANCE Lai/koog/prompt/executor/clients/openrouter/OpenRouterModels; public static final field Llama3 Lai/koog/prompt/llm/LLModel; public static final field Llama3Instruct Lai/koog/prompt/llm/LLModel; diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/prompt-executor-openrouter-client.klib.api b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/prompt-executor-openrouter-client.klib.api index cd67abc102..30b9c24270 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/prompt-executor-openrouter-client.klib.api +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/api/prompt-executor-openrouter-client.klib.api @@ -341,6 +341,14 @@ final object ai.koog.prompt.executor.clients.openrouter/OpenRouterModels : ai.ko final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude4_6Opus.|(){}[0] final val Claude4_6Sonnet // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude4_6Sonnet|{}Claude4_6Sonnet[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude4_6Sonnet.|(){}[0] + final val Claude4_7Opus // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude4_7Opus|{}Claude4_7Opus[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude4_7Opus.|(){}[0] + final val Claude4_8Opus // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude4_8Opus|{}Claude4_8Opus[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude4_8Opus.|(){}[0] + final val Claude5Opus // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude5Opus|{}Claude5Opus[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude5Opus.|(){}[0] + final val Claude5Sonnet // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude5Sonnet|{}Claude5Sonnet[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Claude5Sonnet.|(){}[0] final val DeepSeekV30324 // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.DeepSeekV30324|{}DeepSeekV30324[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.DeepSeekV30324.|(){}[0] final val GPT35Turbo // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT35Turbo|{}GPT35Turbo[0] @@ -365,6 +373,12 @@ final object ai.koog.prompt.executor.clients.openrouter/OpenRouterModels : ai.ko final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_2.|(){}[0] final val GPT5_2Pro // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_2Pro|{}GPT5_2Pro[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_2Pro.|(){}[0] + final val GPT5_6Luna // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_6Luna|{}GPT5_6Luna[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_6Luna.|(){}[0] + final val GPT5_6Sol // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_6Sol|{}GPT5_6Sol[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_6Sol.|(){}[0] + final val GPT5_6Terra // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_6Terra|{}GPT5_6Terra[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT5_6Terra.|(){}[0] final val GPT_OSS_120b // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT_OSS_120b|{}GPT_OSS_120b[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.GPT_OSS_120b.|(){}[0] final val Gemini2_5Flash // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Gemini2_5Flash|{}Gemini2_5Flash[0] @@ -373,6 +387,8 @@ final object ai.koog.prompt.executor.clients.openrouter/OpenRouterModels : ai.ko final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Gemini2_5FlashLite.|(){}[0] final val Gemini2_5Pro // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Gemini2_5Pro|{}Gemini2_5Pro[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Gemini2_5Pro.|(){}[0] + final val Gemini3ProPreview // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Gemini3ProPreview|{}Gemini3ProPreview[0] + final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Gemini3ProPreview.|(){}[0] final val Llama3 // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Llama3|{}Llama3[0] final fun (): ai.koog.prompt.llm/LLModel // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Llama3.|(){}[0] final val Llama3Instruct // ai.koog.prompt.executor.clients.openrouter/OpenRouterModels.Llama3Instruct|{}Llama3Instruct[0] diff --git a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterModels.kt b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterModels.kt index 935ffccdca..fce36deae5 100644 --- a/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterModels.kt +++ b/prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterModels.kt @@ -226,6 +226,78 @@ public object OpenRouterModels : LLModelDefinitions { maxOutputTokens = 128_000, ) + /** + * Claude Opus 4.7 is Anthropic's Opus model for advanced coding, long-running agents, + * knowledge work, and higher-resolution vision tasks. + */ + @JvmField + public val Claude4_7Opus: LLModel = LLModel( + provider = LLMProvider.OpenRouter, + id = "anthropic/claude-opus-4.7", + capabilities = multimodalCapabilities + listOf( + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.ToolChoice, + LLMCapability.Thinking, + ), + contextLength = 1_000_000, + maxOutputTokens = 128_000, + ) + + /** + * Claude Opus 4.8 is the most capable model in the Opus 4 series — highly autonomous, + * with state-of-the-art long-horizon agentic execution, knowledge work, and memory. + */ + @JvmField + public val Claude4_8Opus: LLModel = LLModel( + provider = LLMProvider.OpenRouter, + id = "anthropic/claude-opus-4.8", + capabilities = multimodalCapabilities + listOf( + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.ToolChoice, + LLMCapability.Thinking, + ), + contextLength = 1_000_000, + maxOutputTokens = 128_000, + ) + + /** + * Claude Opus 5 is the first Opus model of Anthropic's fifth generation — a step-change over + * Opus 4.8 for complex agentic coding and enterprise work. Thinking is enabled by default. + */ + @JvmField + public val Claude5Opus: LLModel = LLModel( + provider = LLMProvider.OpenRouter, + id = "anthropic/claude-opus-5", + capabilities = multimodalCapabilities + listOf( + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.ToolChoice, + LLMCapability.Thinking, + ), + contextLength = 1_000_000, + maxOutputTokens = 128_000, + ) + + /** + * Claude Sonnet 5 is the first Sonnet model of Anthropic's fifth generation, delivering + * near-Opus quality on coding and agentic work at Sonnet pricing. + */ + @JvmField + public val Claude5Sonnet: LLModel = LLModel( + provider = LLMProvider.OpenRouter, + id = "anthropic/claude-sonnet-5", + capabilities = multimodalCapabilities + listOf( + LLMCapability.Schema.JSON.Basic, + LLMCapability.Schema.JSON.Standard, + LLMCapability.ToolChoice, + LLMCapability.Thinking, + ), + contextLength = 1_000_000, + maxOutputTokens = 128_000, + ) + /** * Represents the GPT-4o-mini model hosted on OpenRouter. * @@ -429,6 +501,56 @@ public object OpenRouterModels : LLModelDefinitions { contextLength = 400_000, ) + /** + * GPT-5.6 Sol is the flagship model of OpenAI's GPT-5.6 family, setting a new standard for + * both intelligence and efficiency across coding, knowledge work, and science. + */ + @JvmField + public val GPT5_6Sol: LLModel = LLModel( + provider = LLMProvider.OpenRouter, + id = "openai/gpt-5.6-sol", + capabilities = multimodalCapabilities + listOf( + LLMCapability.Schema.JSON.Standard, + LLMCapability.ToolChoice, + LLMCapability.Thinking, + ), + contextLength = 1_050_000, + maxOutputTokens = 128_000, + ) + + /** + * GPT-5.6 Terra is the balanced model of OpenAI's GPT-5.6 family for everyday work. + */ + @JvmField + public val GPT5_6Terra: LLModel = LLModel( + provider = LLMProvider.OpenRouter, + id = "openai/gpt-5.6-terra", + capabilities = multimodalCapabilities + listOf( + LLMCapability.Schema.JSON.Standard, + LLMCapability.ToolChoice, + LLMCapability.Thinking, + ), + contextLength = 1_050_000, + maxOutputTokens = 128_000, + ) + + /** + * GPT-5.6 Luna is the most cost-efficient model of OpenAI's GPT-5.6 family, + * designed for high-volume tasks like classification, extraction, and sub-agents. + */ + @JvmField + public val GPT5_6Luna: LLModel = LLModel( + provider = LLMProvider.OpenRouter, + id = "openai/gpt-5.6-luna", + capabilities = multimodalCapabilities + listOf( + LLMCapability.Schema.JSON.Standard, + LLMCapability.ToolChoice, + LLMCapability.Thinking, + ), + contextLength = 1_050_000, + maxOutputTokens = 128_000, + ) + /** * Represents the Llama3 model configuration provided by OpenRouter. * This model is identified by the unique ID "meta-llama/llama-3-70b" and @@ -609,6 +731,23 @@ public object OpenRouterModels : LLModelDefinitions { maxOutputTokens = 65_600, ) + /** + * Gemini 3 Pro Preview — Google's Pro-class reasoning model on OpenRouter, + * with advanced intelligence and complex problem-solving skills. + */ + @JvmField + public val Gemini3ProPreview: LLModel = LLModel( + provider = LLMProvider.OpenRouter, + id = "google/gemini-3-pro-preview", + capabilities = multimodalCapabilities + listOf( + LLMCapability.Schema.JSON.Standard, + LLMCapability.ToolChoice, + LLMCapability.Thinking, + ), + contextLength = 1_048_576, + maxOutputTokens = 65_536, + ) + /** * Qwen 2.5 model with 72B parameters from Alibaba. * Supports advanced language understanding and generation capabilities. @@ -661,6 +800,10 @@ public object OpenRouterModels : LLModelDefinitions { Claude4_5Opus, Claude4_6Sonnet, Claude4_6Opus, + Claude4_7Opus, + Claude4_8Opus, + Claude5Opus, + Claude5Sonnet, Claude3VisionSonnet, Claude3VisionOpus, Claude3VisionHaiku, @@ -678,6 +821,9 @@ public object OpenRouterModels : LLModelDefinitions { GPT_OSS_120b, GPT5_2, GPT5_2Pro, + GPT5_6Sol, + GPT5_6Terra, + GPT5_6Luna, Llama3, Llama3Instruct, @@ -688,10 +834,11 @@ public object OpenRouterModels : LLModelDefinitions { // DeepSeek Models DeepSeekV30324, - // Gemini 2.5 Models + // Gemini Models Gemini2_5FlashLite, Gemini2_5Flash, Gemini2_5Pro, + Gemini3ProPreview, // Qwen Models Qwen2_5,