const { FileSources, EModelEndpoint, EImageOutputType, defaultSocialLogins, } = require('librechat-data-provider'); const { checkVariables, checkHealth, checkConfig, checkAzureVariables } = require('./start/checks'); const { azureAssistantsDefaults, assistantsConfigSetup } = require('./start/assistants'); const { initializeFirebase } = require('./Files/Firebase/initialize'); const loadCustomConfig = require('./Config/loadCustomConfig'); const handleRateLimits = require('./Config/handleRateLimits'); const { azureConfigSetup } = require('./start/azureOpenAI'); const { loadAndFormatTools } = require('./ToolService'); const paths = require('~/config/paths'); /** * * Loads custom config and initializes app-wide variables. * @function AppService * @param {Express.Application} app - The Express application object. */ const AppService = async (app) => { /** @type {TCustomConfig}*/ const config = (await loadCustomConfig()) ?? {}; const fileStrategy = config.fileStrategy ?? FileSources.local; const imageOutputType = config?.imageOutputType ?? EImageOutputType.PNG; process.env.CDN_PROVIDER = fileStrategy; checkVariables(); await checkHealth(); if (fileStrategy === FileSources.firebase) { initializeFirebase(); } /** @type {Record