summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-11-03 19:52:38 -0500
committerDax Raad <[email protected]>2025-11-03 19:52:43 -0500
commitc49f5939a2612273ac3900d7baf4a50faf748f3d (patch)
tree5bb937ad4597f12f7e4e16c319d376e3ce7d27b6 /packages
parent63862b1609c0ef28a3b79892ffaa24f412076f3d (diff)
downloadopencode-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.tsx8
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 = {