diff --git a/src/lib/components/admin/Settings/Interface.svelte b/src/lib/components/admin/Settings/Interface.svelte index adb4fbdf9..c70259983 100644 --- a/src/lib/components/admin/Settings/Interface.svelte +++ b/src/lib/components/admin/Settings/Interface.svelte @@ -2,9 +2,9 @@ import { v4 as uuidv4 } from 'uuid'; import { toast } from 'svelte-sonner'; - import { getBackendConfig, getTaskConfig, updateTaskConfig } from '$lib/apis'; + import { getBackendConfig, getModels, getTaskConfig, updateTaskConfig } from '$lib/apis'; import { setDefaultPromptSuggestions } from '$lib/apis/configs'; - import { config, models, settings, user } from '$lib/stores'; + import { config, settings, user } from '$lib/stores'; import { createEventDispatcher, onMount, getContext } from 'svelte'; import { banners as _banners } from '$lib/stores'; @@ -15,6 +15,8 @@ import Tooltip from '$lib/components/common/Tooltip.svelte'; import Switch from '$lib/components/common/Switch.svelte'; import Textarea from '$lib/components/common/Textarea.svelte'; + import Spinner from '$lib/components/common/Spinner.svelte'; + import { getBaseModels } from '$lib/apis/models'; const dispatch = createEventDispatcher(); @@ -49,6 +51,7 @@ }; onMount(async () => { + await init(); taskConfig = await getTaskConfig(localStorage.token); promptSuggestions = $config?.default_prompt_suggestions ?? []; @@ -58,9 +61,40 @@ const updateBanners = async () => { _banners.set(await setBanners(localStorage.token, banners)); }; + + let workspaceModels = null; + let baseModels = null; + + let models = null; + + const init = async () => { + workspaceModels = await getBaseModels(localStorage.token); + baseModels = await getModels(localStorage.token, null, true); + + models = baseModels.map((m) => { + const workspaceModel = workspaceModels.find((wm) => wm.id === m.id); + + if (workspaceModel) { + return { + ...m, + ...workspaceModel + }; + } else { + return { + ...m, + id: m.id, + name: m.name, + + is_active: true + }; + } + }); + + console.log('models', models); + }; -{#if taskConfig} +{#if models !== null && taskConfig}
+{:else} +