diff --git a/models/poolside/laguna-m.1.toml b/models/poolside/laguna-m.1.toml new file mode 100644 index 0000000000..12e7e7ff7e --- /dev/null +++ b/models/poolside/laguna-m.1.toml @@ -0,0 +1,19 @@ +name = "Laguna M.1" +description = "Poolside's flagship agentic coding model for long-horizon work" +family = "laguna" +release_date = "2026-04-28" +last_updated = "2026-06-13" +attachment = false +reasoning = true +temperature = true +tool_call = true +structured_output = false +open_weights = true + +[limit] +context = 262_144 +output = 32_768 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/models/poolside/laguna-xs-2.1.toml b/models/poolside/laguna-xs-2.1.toml new file mode 100644 index 0000000000..0be7b97088 --- /dev/null +++ b/models/poolside/laguna-xs-2.1.toml @@ -0,0 +1,19 @@ +name = "Laguna XS 2.1" +description = "Agentic coding model from Poolside in the XS size class for local deployment" +family = "laguna" +release_date = "2026-07-02" +last_updated = "2026-07-02" +attachment = false +reasoning = true +temperature = true +tool_call = true +structured_output = false +open_weights = true + +[limit] +context = 262_144 +output = 32_768 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/models/poolside/laguna-xs.2.toml b/models/poolside/laguna-xs.2.toml new file mode 100644 index 0000000000..4ee1b454d1 --- /dev/null +++ b/models/poolside/laguna-xs.2.toml @@ -0,0 +1,19 @@ +name = "Laguna XS.2" +description = "Agentic coding model from Poolside in the XS size class for local deployment" +family = "laguna" +release_date = "2026-04-28" +last_updated = "2026-06-13" +attachment = false +reasoning = true +temperature = true +tool_call = true +structured_output = false +open_weights = true + +[limit] +context = 262_144 +output = 32_768 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/packages/core/src/family.ts b/packages/core/src/family.ts index 144572983b..5a58d70739 100644 --- a/packages/core/src/family.ts +++ b/packages/core/src/family.ts @@ -76,6 +76,9 @@ export const ModelFamilyValues = [ "kimi-free", "kimi-thinking", + // Poolside Laguna + "laguna", + // Mistral family "mistral", "mistral-large", diff --git a/providers/kilo/models/poolside/laguna-m.1:free.toml b/providers/kilo/models/poolside/laguna-m.1:free.toml index 99be863810..acde523806 100644 --- a/providers/kilo/models/poolside/laguna-m.1:free.toml +++ b/providers/kilo/models/poolside/laguna-m.1:free.toml @@ -1,22 +1,8 @@ +base_model = "poolside/laguna-m.1" name = "Poolside: Laguna M.1 (free)" description = "Free provider route for experiments, demos, and cost-sensitive chat workloads" -release_date = "2026-04-28" -last_updated = "2026-06-13" -attachment = false reasoning_options = [] -reasoning = true -tool_call = true -temperature = true -open_weights = false [cost] input = 0.0 output = 0.0 - -[limit] -context = 262144 -output = 32768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/kilo/models/poolside/laguna-xs.2:free.toml b/providers/kilo/models/poolside/laguna-xs.2:free.toml index 94ad4279a2..52db7e3860 100644 --- a/providers/kilo/models/poolside/laguna-xs.2:free.toml +++ b/providers/kilo/models/poolside/laguna-xs.2:free.toml @@ -1,22 +1,8 @@ +base_model = "poolside/laguna-xs.2" name = "Poolside: Laguna XS.2 (free)" description = "Free provider route for experiments, demos, and cost-sensitive chat workloads" -release_date = "2026-04-28" -last_updated = "2026-06-13" -attachment = false reasoning_options = [] -reasoning = true -tool_call = true -temperature = true -open_weights = false [cost] input = 0.0 output = 0.0 - -[limit] -context = 262144 -output = 32768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/nano-gpt/models/poolside/laguna-m.1.toml b/providers/nano-gpt/models/poolside/laguna-m.1.toml index 5ac51751d3..b420977294 100644 --- a/providers/nano-gpt/models/poolside/laguna-m.1.toml +++ b/providers/nano-gpt/models/poolside/laguna-m.1.toml @@ -1,23 +1,7 @@ # Included in subscription -name = "Laguna M.1" -description = "General-purpose chat model for instruction following, writing, and analysis" -release_date = "2026-04-29" -last_updated = "2026-04-29" -attachment = false -reasoning = false -tool_call = false -structured_output = false -open_weights = false +base_model = "poolside/laguna-m.1" +reasoning_options = [] [cost] -input = 0.1 -output = 0.3 - -[limit] -context = 128000 -input = 128000 -output = 32768 - -[modalities] -input = ["text"] -output = ["text"] +input = 0.20 +output = 0.40 diff --git a/providers/nano-gpt/models/poolside/laguna-xs.2.toml b/providers/nano-gpt/models/poolside/laguna-xs.2.toml index 44a6587a23..ea86196cf7 100644 --- a/providers/nano-gpt/models/poolside/laguna-xs.2.toml +++ b/providers/nano-gpt/models/poolside/laguna-xs.2.toml @@ -1,23 +1,7 @@ # Included in subscription -name = "Laguna XS.2" -description = "General-purpose chat model for instruction following, writing, and analysis" -release_date = "2026-04-29" -last_updated = "2026-04-29" -attachment = false -reasoning = false -tool_call = false -structured_output = false -open_weights = false +base_model = "poolside/laguna-xs.2" +reasoning_options = [] [cost] -input = 0.1 -output = 0.3 - -[limit] -context = 128000 -input = 128000 -output = 32768 - -[modalities] -input = ["text"] -output = ["text"] +input = 0.20 +output = 0.40 diff --git a/providers/openrouter/models/poolside/laguna-m.1.toml b/providers/openrouter/models/poolside/laguna-m.1.toml index 3cafc9d40b..cb7ef4a66f 100644 --- a/providers/openrouter/models/poolside/laguna-m.1.toml +++ b/providers/openrouter/models/poolside/laguna-m.1.toml @@ -1,24 +1,7 @@ -name = "Laguna M.1" -description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" +base_model = "poolside/laguna-m.1" reasoning_options = [] -release_date = "2026-04-28" -last_updated = "2026-04-28" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = false -open_weights = true [cost] input = 0.2 output = 0.4 cache_read = 0.1 - -[limit] -context = 262_144 -output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/openrouter/models/poolside/laguna-m.1:free.toml b/providers/openrouter/models/poolside/laguna-m.1:free.toml index 7d619317cb..9ea387ea6f 100644 --- a/providers/openrouter/models/poolside/laguna-m.1:free.toml +++ b/providers/openrouter/models/poolside/laguna-m.1:free.toml @@ -1,13 +1,6 @@ +base_model = "poolside/laguna-m.1" name = "Laguna M.1 (free)" description = "Free provider route for experiments, demos, and cost-sensitive chat workloads" -release_date = "2026-04-28" -last_updated = "2026-04-28" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = false -open_weights = true reasoning_options = [] [interleaved] @@ -16,11 +9,3 @@ field = "reasoning_content" [cost] input = 0 output = 0 - -[limit] -context = 262_144 -output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/openrouter/models/poolside/laguna-xs-2.1.toml b/providers/openrouter/models/poolside/laguna-xs-2.1.toml index 24265e005a..f3a506b812 100644 --- a/providers/openrouter/models/poolside/laguna-xs-2.1.toml +++ b/providers/openrouter/models/poolside/laguna-xs-2.1.toml @@ -1,24 +1,7 @@ -name = "Laguna XS 2.1" -description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" -release_date = "2026-07-02" -last_updated = "2026-07-02" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = false -open_weights = true +base_model = "poolside/laguna-xs-2.1" reasoning_options = [] [cost] input = 0.06 output = 0.12 cache_read = 0.03 - -[limit] -context = 262_144 -output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/openrouter/models/poolside/laguna-xs-2.1:free.toml b/providers/openrouter/models/poolside/laguna-xs-2.1:free.toml index 1a485d1421..9e6fbbab9d 100644 --- a/providers/openrouter/models/poolside/laguna-xs-2.1:free.toml +++ b/providers/openrouter/models/poolside/laguna-xs-2.1:free.toml @@ -1,23 +1,8 @@ +base_model = "poolside/laguna-xs-2.1" name = "Laguna XS 2.1 (free)" description = "Free provider route for experiments, demos, and cost-sensitive chat workloads" -release_date = "2026-07-02" -last_updated = "2026-07-02" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = false -open_weights = true reasoning_options = [] [cost] input = 0 output = 0 - -[limit] -context = 262_144 -output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/poolside/models/poolside/laguna-m.1.toml b/providers/poolside/models/poolside/laguna-m.1.toml index 05c1e8d9ce..1fcd57cb21 100644 --- a/providers/poolside/models/poolside/laguna-m.1.toml +++ b/providers/poolside/models/poolside/laguna-m.1.toml @@ -1,16 +1,5 @@ -name = "Laguna M.1" -description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" -release_date = "2026-04-28" -last_updated = "2026-06-13" -attachment = false -reasoning = true -# Laguna-specific support is represented here; the public API schema supplies -# the exact `reasoning.effort` enum, while this model page only confirms API use. -# https://docs.poolside.ai/release-notes/laguna-m1 -reasoning_options = [{ type = "effort", values = ["none", "minimal", "low", "medium", "high", "xhigh"] }] -temperature = true -tool_call = true -open_weights = false +base_model = "poolside/laguna-m.1" +reasoning_options = [] [interleaved] field = "reasoning_content" @@ -20,11 +9,3 @@ input = 0.0 output = 0.0 cache_read = 0.0 cache_write = 0.0 - -[limit] -context = 262_144 -output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/poolside/models/poolside/laguna-xs-2.1.toml b/providers/poolside/models/poolside/laguna-xs-2.1.toml new file mode 100644 index 0000000000..7400ec3e3d --- /dev/null +++ b/providers/poolside/models/poolside/laguna-xs-2.1.toml @@ -0,0 +1,11 @@ +base_model = "poolside/laguna-xs-2.1" +reasoning_options = [] + +[interleaved] +field = "reasoning_content" + +[cost] +input = 0.0 +output = 0.0 +cache_read = 0.0 +cache_write = 0.0 diff --git a/providers/poolside/models/poolside/laguna-xs.2.toml b/providers/poolside/models/poolside/laguna-xs.2.toml index 9aaccf0712..7a3f2576ea 100644 --- a/providers/poolside/models/poolside/laguna-xs.2.toml +++ b/providers/poolside/models/poolside/laguna-xs.2.toml @@ -1,16 +1,5 @@ -name = "Laguna XS.2" -description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" -release_date = "2026-04-28" -last_updated = "2026-06-13" -attachment = false -reasoning = true -# Laguna-specific support is represented here; the public API schema supplies -# the exact `reasoning.effort` enum, while this model page only confirms API use. -# https://docs.poolside.ai/release-notes/laguna-xs2 -reasoning_options = [{ type = "effort", values = ["none", "minimal", "low", "medium", "high", "xhigh"] }] -temperature = true -tool_call = true -open_weights = true +base_model = "poolside/laguna-xs.2" +reasoning_options = [] [interleaved] field = "reasoning_content" @@ -20,11 +9,3 @@ input = 0.0 output = 0.0 cache_read = 0.0 cache_write = 0.0 - -[limit] -context = 262_144 -output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/poolside/provider.toml b/providers/poolside/provider.toml index 5bb0eb843f..c7942028fa 100644 --- a/providers/poolside/provider.toml +++ b/providers/poolside/provider.toml @@ -1,13 +1,5 @@ name = "Poolside" env = ["POOLSIDE_API_KEY"] npm = "@ai-sdk/openai-compatible" -# Raw HTTP reasoning controls (sources accessed 2026-06-25): POST -# `/openai/v1/chat/completions` has generic `reasoning.effort` with -# none|minimal|low|medium|high|xhigh and allows additional properties. That -# schema describes the API surface, not support by every model; the published -# Laguna model pages establish OpenAI-compatible use but do not repeat the enum. -# https://docs.poolside.ai/openai-api/chat/create-chat-completion -# https://docs.poolside.ai/release-notes/laguna-m1 -# https://docs.poolside.ai/release-notes/laguna-xs2 api = "https://inference.poolside.ai/v1" doc = "https://platform.poolside.ai"