diff options
| author | Dax Raad <[email protected]> | 2025-11-03 19:52:38 -0500 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-11-03 19:52:43 -0500 |
| commit | c49f5939a2612273ac3900d7baf4a50faf748f3d (patch) | |
| tree | 5bb937ad4597f12f7e4e16c319d376e3ce7d27b6 /packages | |
| parent | 63862b1609c0ef28a3b79892ffaa24f412076f3d (diff) | |
| download | opencode-c49f5939a2612273ac3900d7baf4a50faf748f3d.tar.gz opencode-c49f5939a2612273ac3900d7baf4a50faf748f3d.zip | |
tui: fix model selection for models with nested paths
Users can now select models with multiple slashes like 'openrouter/google/gemini-2.5-pro'
in the TUI. Previously the TUI would only parse the first two parts of the model
path, showing 'Invalid model openrouter/google' for nested models.
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/context/local.tsx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/context/local.tsx b/packages/opencode/src/cli/cmd/tui/context/local.tsx index 7156a3313..69e731769 100644 --- a/packages/opencode/src/cli/cmd/tui/context/local.tsx +++ b/packages/opencode/src/cli/cmd/tui/context/local.tsx @@ -9,6 +9,7 @@ import { iife } from "@/util/iife" import { createSimpleContext } from "./helper" import { useToast } from "../ui/toast" import { createEventBus } from "@solid-primitives/event-bus" +import { Provider } from "@/provider/provider" export const { use: useLocal, provider: LocalProvider } = createSimpleContext({ name: "Local", @@ -38,7 +39,7 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({ agent.set(props.initialAgent) } if (props.initialModel) { - const [providerID, modelID] = props.initialModel.split("/") + const { providerID, modelID } = Provider.parseModel(props.initialModel) if (!providerID || !modelID) return toast.show({ variant: "warning", @@ -150,7 +151,7 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({ const fallbackModel = createMemo(() => { if (sync.data.config.model) { - const [providerID, modelID] = sync.data.config.model.split("/") + const { providerID, modelID } = Provider.parseModel(sync.data.config.model) if (isModelValid({ providerID, modelID })) { return { providerID, @@ -243,8 +244,7 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({ const setInitialPrompt = createEventBus<string>() onMount(() => { - if (props.initialPrompt) - setInitialPrompt.emit(props.initialPrompt) + if (props.initialPrompt) setInitialPrompt.emit(props.initialPrompt) }) const result = { |
