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 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 { return {
providerID: provider.id, providerID: provider.id,
modelID: model.id, modelID: model,
} }
}) })

View File

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