11 changed files with 74 additions and 25 deletions
Binary file not shown.
@ -1,10 +1,29 @@ |
|||
import { defineWrappedResponseHandler } from "#server/utils/handler"; |
|||
import { R } from "#server/utils/response"; |
|||
import { getCurrentUser } from "#server/utils/context"; |
|||
import { listAllEnabledModelsForUser } from "#server/service/llm"; |
|||
import { getCurrentUser, getConfigGlobal } from "#server/utils/context"; |
|||
import { listAllEnabledModelsForUser, getModelWithProviderByIdAny } from "#server/service/llm"; |
|||
|
|||
export default defineWrappedResponseHandler(async (event) => { |
|||
const user = await getCurrentUser(event); |
|||
const list = await listAllEnabledModelsForUser(user?.id ?? null); |
|||
return R.success({ list }); |
|||
const [list, globalDefaultModelId] = await Promise.all([ |
|||
listAllEnabledModelsForUser(user?.id ?? null), |
|||
getConfigGlobal("agentDefaultModelId"), |
|||
]); |
|||
|
|||
if (globalDefaultModelId && !list.some((m) => m.id === globalDefaultModelId)) { |
|||
const row = await getModelWithProviderByIdAny(globalDefaultModelId); |
|||
if (row) { |
|||
list.unshift({ |
|||
id: row.model.id, |
|||
name: row.model.name, |
|||
modelId: row.model.modelId, |
|||
type: row.model.type, |
|||
providerName: row.provider.name, |
|||
providerId: row.provider.id, |
|||
supportsTools: row.model.supportsTools, |
|||
}); |
|||
} |
|||
} |
|||
|
|||
return R.success({ list, defaultModelId: globalDefaultModelId ?? null }); |
|||
}); |
|||
|
|||
Loading…
Reference in new issue