refac: model selection

This commit is contained in:
Timothy Jaeryang Baek 2025-05-19 00:41:49 +04:00
parent 18d6311951
commit 05b79ce221

View File

@ -685,10 +685,16 @@
////////////////////////// //////////////////////////
const initNewChat = async () => { const initNewChat = async () => {
if ($page.url.searchParams.get('models')) { const availableModels = $models
selectedModels = $page.url.searchParams.get('models')?.split(','); .filter((m) => !(m?.info?.meta?.hidden ?? false))
} else if ($page.url.searchParams.get('model')) { .map((m) => m.id);
const urlModels = $page.url.searchParams.get('model')?.split(',');
if ($page.url.searchParams.get('models') || $page.url.searchParams.get('model')) {
const urlModels = (
$page.url.searchParams.get('models') ||
$page.url.searchParams.get('model') ||
''
)?.split(',');
if (urlModels.length === 1) { if (urlModels.length === 1) {
const m = $models.find((m) => m.id === urlModels[0]); const m = $models.find((m) => m.id === urlModels[0]);
@ -711,6 +717,10 @@
} else { } else {
selectedModels = urlModels; selectedModels = urlModels;
} }
selectedModels = selectedModels.filter((modelId) =>
$models.map((m) => m.id).includes(modelId)
);
} else { } else {
if (sessionStorage.selectedModels) { if (sessionStorage.selectedModels) {
selectedModels = JSON.parse(sessionStorage.selectedModels); selectedModels = JSON.parse(sessionStorage.selectedModels);
@ -723,12 +733,12 @@
selectedModels = $config?.default_models.split(','); selectedModels = $config?.default_models.split(',');
} }
} }
selectedModels = selectedModels.filter((modelId) => availableModels.includes(modelId));
} }
selectedModels = selectedModels.filter((modelId) => $models.map((m) => m.id).includes(modelId));
if (selectedModels.length === 0 || (selectedModels.length === 1 && selectedModels[0] === '')) { if (selectedModels.length === 0 || (selectedModels.length === 1 && selectedModels[0] === '')) {
if ($models.length > 0) { if (availableModels.length > 0) {
selectedModels = [$models[0].id]; selectedModels = [availableModels?.at(0) ?? ''];
} else { } else {
selectedModels = ['']; selectedModels = [''];
} }