| const { logger } = require('~/config'); |
|
|
| |
| |
| |
| |
| |
| |
| function loadDefaultInterface(config, configDefaults) { |
| const { interface: interfaceConfig } = config ?? {}; |
| const { interface: defaults } = configDefaults; |
| const hasModelSpecs = config?.modelSpecs?.list?.length > 0; |
|
|
| const loadedInterface = { |
| endpointsMenu: |
| interfaceConfig?.endpointsMenu ?? (hasModelSpecs ? false : defaults.endpointsMenu), |
| modelSelect: interfaceConfig?.modelSelect ?? (hasModelSpecs ? false : defaults.modelSelect), |
| parameters: interfaceConfig?.parameters ?? (hasModelSpecs ? false : defaults.parameters), |
| presets: interfaceConfig?.presets ?? (hasModelSpecs ? false : defaults.presets), |
| sidePanel: interfaceConfig?.sidePanel ?? defaults.sidePanel, |
| privacyPolicy: interfaceConfig?.privacyPolicy ?? defaults.privacyPolicy, |
| termsOfService: interfaceConfig?.termsOfService ?? defaults.termsOfService, |
| }; |
|
|
| let i = 0; |
| const logSettings = () => { |
| |
| logger.warn(`\`interface\` settings:\n${JSON.stringify(loadedInterface, null, 2)}`); |
| logger.warn( |
| `\`modelSpecs\` settings:\n${JSON.stringify( |
| { ...(config?.modelSpecs ?? {}), list: undefined }, |
| null, |
| 2, |
| )}`, |
| ); |
| }; |
|
|
| |
| if (config?.modelSpecs?.prioritize && loadedInterface.presets) { |
| logger.warn( |
| 'Note: Prioritizing model specs can conflict with default presets if a default preset is set. It\'s recommended to disable presets from the interface or disable use of a default preset.', |
| ); |
| i === 0 && i++; |
| } |
|
|
| |
| if ( |
| config?.modelSpecs?.enforce && |
| (loadedInterface.endpointsMenu || |
| loadedInterface.modelSelect || |
| loadedInterface.presets || |
| loadedInterface.parameters) |
| ) { |
| logger.warn( |
| 'Note: Enforcing model specs can conflict with the interface options: endpointsMenu, modelSelect, presets, and parameters. It\'s recommended to disable these options from the interface or disable enforcing model specs.', |
| ); |
| i === 0 && i++; |
| } |
| |
| if (config?.modelSpecs?.enforce && !config?.modelSpecs?.prioritize) { |
| logger.warn( |
| 'Note: Enforcing model specs without prioritizing them can lead to unexpected behavior. It\'s recommended to enable prioritizing model specs if enforcing them.', |
| ); |
| i === 0 && i++; |
| } |
|
|
| if (i > 0) { |
| logSettings(); |
| } |
|
|
| return loadedInterface; |
| } |
|
|
| module.exports = { loadDefaultInterface }; |
|
|