respect server suggestion for default model

This commit is contained in:
Dax Raad
2025-11-17 20:53:48 -05:00
parent 16cab556df
commit bc232045a1
3 changed files with 12 additions and 5 deletions

View File

@@ -158,10 +158,10 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({
}
}
const provider = sync.data.provider[0]
const model = Object.values(provider.models)[0]
const model = sync.data.provider_default[provider.id] ?? Object.values(provider.models)[0].id
return {
providerID: provider.id,
modelID: model.id,
modelID: model,
}
})

View File

@@ -19,7 +19,7 @@ import { Binary } from "@/util/binary"
import { createSimpleContext } from "./helper"
import type { Snapshot } from "@/snapshot"
import { useExit } from "./exit"
import { onMount } from "solid-js"
import { batch, onMount } from "solid-js"
export const { use: useSync, provider: SyncProvider } = createSimpleContext({
name: "Sync",
@@ -27,6 +27,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
const [store, setStore] = createStore<{
status: "loading" | "partial" | "complete"
provider: Provider[]
provider_default: Record<string, string>
agent: Agent[]
command: Command[]
permission: {
@@ -61,6 +62,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
permission: {},
command: [],
provider: [],
provider_default: {},
session: [],
session_status: {},
session_diff: {},
@@ -233,7 +235,12 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
onMount(() => {
// blocking
Promise.all([
sdk.client.config.providers({ throwOnError: true }).then((x) => setStore("provider", x.data!.providers)),
sdk.client.config.providers({ throwOnError: true }).then((x) => {
batch(() => {
setStore("provider", x.data!.providers)
setStore("provider_default", x.data!.default)
})
}),
sdk.client.app.agents({ throwOnError: true }).then((x) => setStore("agent", x.data ?? [])),
sdk.client.config.get({ throwOnError: true }).then((x) => setStore("config", x.data!)),
])

View File

@@ -627,7 +627,7 @@ export namespace Provider {
}
}
const priority = ["gemini-2.5-pro-preview", "gpt-5", "claude-sonnet-4"]
const priority = ["gemini-2.5-pro-preview", "gpt-5", "claude-sonnet-4", "big-pickle"]
export function sort(models: ModelsDev.Model[]) {
return sortBy(
models,