|
7 | 7 |
|
8 | 8 | import { getTools } from '$lib/apis/tools'; |
9 | 9 | import { getFunctions } from '$lib/apis/functions'; |
| 10 | + import { getModelsDefaults } from '$lib/apis/configs'; |
10 | 11 |
|
11 | 12 | import AdvancedParams from '$lib/components/chat/Settings/Advanced/AdvancedParams.svelte'; |
12 | 13 | import Tags from '$lib/components/common/Tags.svelte'; |
|
239 | 240 | await tools.set(await getTools(localStorage.token)); |
240 | 241 | await functions.set(await getFunctions(localStorage.token)); |
241 | 242 |
|
| 243 | + // Fetch admin-configured default model metadata so the editor |
| 244 | + // reflects the actual defaults rather than hardcoded values |
| 245 | + const modelsConfig = await getModelsDefaults(localStorage.token).catch(() => null); |
| 246 | + const defaultMeta = modelsConfig?.DEFAULT_MODEL_METADATA ?? {}; |
| 247 | +
|
| 248 | + // Use admin defaults as base, falling back to hardcoded defaults |
| 249 | + capabilities = { ...DEFAULT_CAPABILITIES, ...(defaultMeta.capabilities ?? {}) }; |
| 250 | + defaultFeatureIds = defaultMeta.defaultFeatureIds ?? []; |
| 251 | + builtinTools = defaultMeta.builtinTools ?? {}; |
| 252 | +
|
242 | 253 | // Scroll to top 'workspace-container' element |
243 | 254 | const workspaceContainer = document.getElementById('workspace-container'); |
244 | 255 | if (workspaceContainer) { |
|
301 | 312 | defaultFilterIds = model?.meta?.defaultFilterIds ?? []; |
302 | 313 | actionIds = model?.meta?.actionIds ?? []; |
303 | 314 |
|
| 315 | + // Per-model overrides take precedence over admin defaults |
304 | 316 | capabilities = { ...capabilities, ...(model?.meta?.capabilities ?? {}) }; |
305 | | - defaultFeatureIds = model?.meta?.defaultFeatureIds ?? []; |
306 | | - builtinTools = model?.meta?.builtinTools ?? {}; |
| 317 | + defaultFeatureIds = model?.meta?.defaultFeatureIds ?? defaultFeatureIds; |
| 318 | + builtinTools = model?.meta?.builtinTools ?? builtinTools; |
307 | 319 | tts = { voice: model?.meta?.tts?.voice ?? '' }; |
308 | 320 |
|
309 | 321 | accessGrants = model?.access_grants ?? []; |
|
0 commit comments