@n8n/stores 2.35.3 → 2.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rbac.store.d.cts +9 -9
- package/dist/rbac.store.d.mts +27 -27
- package/dist/roles.store.d.mts +21 -21
- package/dist/settings.store.d.cts +18 -3
- package/dist/settings.store.d.mts +257 -242
- package/dist/settings2.store.cjs +3 -0
- package/dist/settings2.store.cjs.map +1 -1
- package/dist/settings2.store.mjs +3 -0
- package/dist/settings2.store.mjs.map +1 -1
- package/dist/useAgentRequestStore.d.cts +2 -2
- package/dist/useRootStore.d.cts +85 -72
- package/dist/useRootStore.d.mts +87 -74
- package/dist/useRootStore2.cjs +8 -1
- package/dist/useRootStore2.cjs.map +1 -1
- package/dist/useRootStore2.mjs +8 -1
- package/dist/useRootStore2.mjs.map +1 -1
- package/dist/users.store.d.cts +49 -49
- package/dist/users.store.d.mts +51 -51
- package/dist/users2.store.cjs +11 -2
- package/dist/users2.store.cjs.map +1 -1
- package/dist/users2.store.mjs +11 -2
- package/dist/users2.store.mjs.map +1 -1
- package/dist/versions.store.d.cts +28 -28
- package/dist/versions.store.d.mts +40 -40
- package/package.json +11 -11
package/dist/settings2.store.cjs
CHANGED
|
@@ -135,6 +135,7 @@ const useSettingsStore = (0, pinia.defineStore)(require_constants.STORES.SETTING
|
|
|
135
135
|
const aiCreditsQuota = (0, vue.computed)(() => settings.value.aiCredits?.credits);
|
|
136
136
|
const isAiDataSharingEnabled = (0, vue.computed)(() => settings.value.ai?.allowSendingParameterValues ?? true);
|
|
137
137
|
const isAiGatewayEnabled = (0, vue.computed)(() => settings.value.aiGateway?.enabled ?? false);
|
|
138
|
+
const isAiGatewayCloudUbbEnabled = (0, vue.computed)(() => settings.value.aiGateway?.cloudUbbEnabled ?? false);
|
|
138
139
|
const aiGatewayBudget = (0, vue.computed)(() => settings.value.aiGateway?.budget ?? 0);
|
|
139
140
|
const isSmtpSetup = (0, vue.computed)(() => userManagement.value.smtpSetup);
|
|
140
141
|
const isPersonalizationSurveyEnabled = (0, vue.computed)(() => settings.value.telemetry?.enabled && settings.value.personalizationSurveyEnabled);
|
|
@@ -237,6 +238,7 @@ const useSettingsStore = (0, pinia.defineStore)(require_constants.STORES.SETTING
|
|
|
237
238
|
rootStore.setTimezone(fetchedSettings.timezone);
|
|
238
239
|
rootStore.setExecutionTimeout(fetchedSettings.executionTimeout);
|
|
239
240
|
rootStore.setMaxExecutionTimeout(fetchedSettings.maxExecutionTimeout);
|
|
241
|
+
rootStore.setPublicApiPath(`${fetchedSettings.publicApi.path}/v${fetchedSettings.publicApi.latestVersion}`);
|
|
240
242
|
rootStore.setInstanceId(fetchedSettings.instanceId);
|
|
241
243
|
rootStore.setOauthCallbackUrls(fetchedSettings.oauthCallbackUrls);
|
|
242
244
|
rootStore.setN8nMetadata(fetchedSettings.n8nMetadata ?? {});
|
|
@@ -346,6 +348,7 @@ const useSettingsStore = (0, pinia.defineStore)(require_constants.STORES.SETTING
|
|
|
346
348
|
aiCreditsQuota,
|
|
347
349
|
isAiDataSharingEnabled,
|
|
348
350
|
isAiGatewayEnabled,
|
|
351
|
+
isAiGatewayCloudUbbEnabled,
|
|
349
352
|
aiGatewayBudget,
|
|
350
353
|
reset,
|
|
351
354
|
getTimezones,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings2.store.cjs","names":["i18n","STORES","AuthenticationMethod","Bowser","allowedModules","useRootStore","settingsApi","eventsApi","moduleSettingsApi","aiUsageApi"],"sources":["../src/settings.store.ts"],"sourcesContent":["import {\n\tAuthenticationMethod,\n\ttype IUserManagementSettings,\n\ttype FrontendSettings,\n\ttype FrontendModuleSettings,\n\ttype WorkflowReviewsPolicy,\n} from '@n8n/api-types';\nimport { i18n } from '@n8n/i18n';\nimport { makeRestApiRequest } from '@n8n/rest-api-client';\nimport * as aiUsageApi from '@n8n/rest-api-client/api/ai-usage';\nimport * as eventsApi from '@n8n/rest-api-client/api/events';\nimport * as moduleSettingsApi from '@n8n/rest-api-client/api/module-settings';\nimport * as settingsApi from '@n8n/rest-api-client/api/settings';\nimport { testHealthEndpoint } from '@n8n/rest-api-client/api/templates';\nimport Bowser from 'bowser';\nimport type { IDataObject, WorkflowSettings } from 'n8n-workflow';\nimport { defineStore } from 'pinia';\nimport { computed, ref } from 'vue';\n\nimport { STORES } from './constants';\nimport { useRootStore } from './useRootStore';\n\n/**\n * Full-page warning rendered when the instance requires a secure cookie but the\n * page is served over an insecure origin (or via Safari, which drops the cookie).\n * The copy is localized; the structural markup and inline styles stay in code\n * because this is written via `document.write` before the Vue app mounts.\n */\nconst buildInsecureConnectionWarning = () => `\n<body style=\"margin-top: 20px; font-family: 'Open Sans', sans-serif; text-align: center;\">\n<h1 style=\"font-size: 40px\">🚫</h1>\n<h2>${i18n.baseText('settings.authCookie.insecureConnection.title')}</h2>\n<br/>\n<div style=\"font-size: 18px; max-width: 640px; text-align: left; margin: 10px auto\">\n\t${i18n.baseText('settings.authCookie.insecureConnection.fixIntro')}\n\t<ul>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.tls')}</li>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.localhost', { interpolate: { localhostUrl: 'http://localhost:5678' } })}</li>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.disableSecureCookie', { interpolate: { envVar: 'N8N_SECURE_COOKIE' } })}</li>\n\t</ul>\n</div>\n</body>`;\n\nexport const useSettingsStore = defineStore(STORES.SETTINGS, () => {\n\tconst initialized = ref(false);\n\tconst settings = ref<FrontendSettings>({} as FrontendSettings);\n\tconst moduleSettings = ref<FrontendModuleSettings>({});\n\tconst userManagement = ref<IUserManagementSettings>({\n\t\tquota: -1,\n\t\tshowSetupOnFirstLoad: false,\n\t\tsmtpSetup: false,\n\t\tauthenticationMethod: AuthenticationMethod.Email,\n\t\tpasswordMinLength: 8,\n\t});\n\tconst templatesEndpointHealthy = ref(false);\n\tconst api = ref({\n\t\tenabled: false,\n\t\tlatestVersion: 0,\n\t\tpath: '/',\n\t\tswaggerUi: {\n\t\t\tenabled: false,\n\t\t},\n\t});\n\tconst mfa = ref({ enabled: false });\n\tconst folders = ref({ enabled: false });\n\n\tconst saveDataErrorExecution = ref<WorkflowSettings.SaveDataExecution>('all');\n\tconst saveDataSuccessExecution = ref<WorkflowSettings.SaveDataExecution>('all');\n\tconst saveManualExecutions = ref(false);\n\tconst saveDataProgressExecution = ref(false);\n\tconst isMFAEnforced = ref(false);\n\n\tconst isDocker = computed(() => settings.value?.isDocker ?? false);\n\n\tconst databaseType = computed(() => settings.value?.databaseType);\n\n\tconst planName = computed(() => settings.value?.license?.planName ?? 'Community');\n\n\tconst consumerId = computed(() => settings.value?.license?.consumerId);\n\n\tconst binaryDataMode = computed(() => settings.value?.binaryDataMode);\n\n\tconst pruning = computed(() => settings.value?.pruning);\n\n\tconst security = computed(() => ({\n\t\tblockFileAccessToN8nFiles: settings.value?.security?.blockFileAccessToN8nFiles,\n\t\tsecureCookie: settings.value?.authCookie?.secure,\n\t}));\n\n\tconst isEnterpriseFeatureEnabled = computed(() => settings.value.enterprise ?? {});\n\n\tconst nodeJsVersion = computed(() => settings.value.nodeJsVersion);\n\n\tconst nodeEnv = computed(() => settings.value.nodeEnv);\n\n\tconst concurrency = computed(() => settings.value.concurrency);\n\n\tconst isConcurrencyEnabled = computed(() => concurrency.value !== -1);\n\n\tconst isPublicApiEnabled = computed(() => api.value.enabled);\n\n\tconst isSwaggerUIEnabled = computed(() => api.value.swaggerUi?.enabled ?? false);\n\n\tconst isPreviewMode = computed(() => settings.value.previewMode);\n\n\tconst isE2ETestMode = computed(() => settings.value.inE2ETests);\n\n\tconst isCanvasOnly = computed(() => settings.value.canvasOnly);\n\n\tconst isCrdtCollaborationEnabled = computed(\n\t\t() => (settings.value.collaboration?.crdt ?? 'off') !== 'off',\n\t);\n\n\tconst publicApiLatestVersion = computed(() => api.value.latestVersion);\n\n\tconst publicApiPath = computed(() => api.value.path);\n\n\tconst isAiAssistantEnabled = computed(\n\t\t() => settings.value.aiAssistant?.enabled && settings.value.aiAssistant?.setup,\n\t);\n\n\tconst isAskAiEnabled = computed(() => settings.value.askAi?.enabled);\n\n\tconst isAiBuilderEnabled = computed(\n\t\t() => settings.value.aiBuilder?.enabled && settings.value.aiBuilder?.setup,\n\t);\n\n\tconst isAiAssistantOrBuilderEnabled = computed(\n\t\t() => isAiAssistantEnabled.value || isAiBuilderEnabled.value,\n\t);\n\n\tconst showSetupPage = computed(() => userManagement.value.showSetupOnFirstLoad);\n\n\tconst deploymentType = computed(() => settings.value.deployment?.type || 'default');\n\n\tconst isCloudDeployment = computed(() => settings.value.deployment?.type === 'cloud');\n\n\tconst activeModules = computed(() => settings.value.activeModules);\n\n\tconst isModuleActive = (moduleName: string) => {\n\t\treturn activeModules.value?.includes(moduleName);\n\t};\n\n\t/**\n\t * Checks whether an agents-module sub-feature token (listed in\n\t * `N8N_AGENTS_MODULES` on the backend) is enabled. Returns `false`\n\t * unless the top-level `agents` module is active AND the token is\n\t * present in the module settings' `modules` array.\n\t *\n\t * Known tokens: see `AGENTS_MODULE_NAMES` in `agents.config.ts`.\n\t */\n\tconst isAgentModuleActive = (name: string): boolean => {\n\t\treturn (\n\t\t\tisModuleActive('agents') && moduleSettings.value.agents?.modules?.includes(name) === true\n\t\t);\n\t};\n\n\tconst isAiCreditsEnabled = computed(\n\t\t() => settings.value.aiCredits?.enabled && settings.value.aiCredits?.setup,\n\t);\n\n\tconst aiCreditsQuota = computed(() => settings.value.aiCredits?.credits);\n\n\tconst isAiDataSharingEnabled = computed(\n\t\t() => settings.value.ai?.allowSendingParameterValues ?? true,\n\t);\n\n\tconst isAiGatewayEnabled = computed(() => settings.value.aiGateway?.enabled ?? false);\n\n\tconst aiGatewayBudget = computed(() => settings.value.aiGateway?.budget ?? 0);\n\n\tconst isSmtpSetup = computed(() => userManagement.value.smtpSetup);\n\n\tconst isPersonalizationSurveyEnabled = computed(\n\t\t() => settings.value.telemetry?.enabled && settings.value.personalizationSurveyEnabled,\n\t);\n\n\tconst telemetry = computed(() => settings.value.telemetry);\n\n\tconst logLevel = computed(() => settings.value.logLevel);\n\n\tconst isTelemetryEnabled = computed(() => settings.value.telemetry?.enabled);\n\n\tconst isMFAEnforcementLicensed = computed(() => {\n\t\treturn settings.value.enterprise?.mfaEnforcement ?? false;\n\t});\n\n\tconst isMfaFeatureEnabled = computed(() => mfa.value.enabled);\n\n\tconst isFoldersFeatureEnabled = computed(() => folders.value.enabled);\n\n\tconst isDataTableFeatureEnabled = computed(() => isModuleActive('data-table'));\n\n\tconst isChatFeatureEnabled = computed(\n\t\t() => isModuleActive('chat-hub') && moduleSettings.value['chat-hub']?.enabled === true,\n\t);\n\n\tconst isOtelCustomSpanAttributesEnabled = computed(() => {\n\t\tconst isOtelCustomSpanAttributesLicensed =\n\t\t\tsettings.value.enterprise?.otelCustomSpanAttributes ?? false;\n\t\tconst isOtelModuleActive =\n\t\t\tisModuleActive('otel') && moduleSettings.value.otel?.enabled === true;\n\n\t\treturn isOtelCustomSpanAttributesLicensed && isOtelModuleActive;\n\t});\n\n\t// Opt-in flag: enabled when the backend's Daytona sandbox env vars\n\t// (`N8N_AGENTS_AI_SANDBOX_ENABLED=true` + `N8N_AGENTS_AI_SANDBOX_PROVIDER=daytona`)\n\t// are set, OR the AI Assistant proxy is available.\n\tconst isAgentsKnowledgeBaseFeatureEnabled = computed(\n\t\t() => isModuleActive('agents') && moduleSettings.value.agents?.knowledgeBaseEnabled === true,\n\t);\n\n\tconst isPublicChatTriggerDisabled = computed(\n\t\t() => settings.value.chatTrigger?.disablePublicChat ?? false,\n\t);\n\n\tconst isCustomRolesFeatureEnabled = computed(\n\t\t() => settings.value.enterprise?.customRoles ?? false,\n\t);\n\n\tconst areTagsEnabled = computed(() =>\n\t\tsettings.value.workflowTagsDisabled !== undefined ? !settings.value.workflowTagsDisabled : true,\n\t);\n\n\tconst isAutosaveEnabled = computed(() =>\n\t\tsettings.value.workflowsAutosaveDisabled !== undefined\n\t\t\t? !settings.value.workflowsAutosaveDisabled\n\t\t\t: true,\n\t);\n\n\tconst isHiringBannerEnabled = computed(() => settings.value.hiringBannerEnabled);\n\n\tconst isTemplatesEnabled = computed(() => Boolean(settings.value.templates?.enabled));\n\n\tconst isTemplatesEndpointReachable = computed(() => templatesEndpointHealthy.value);\n\n\tconst templatesHost = computed(() => settings.value.templates?.host ?? '');\n\n\tconst pushBackend = computed(() => settings.value.pushBackend);\n\n\tconst isCommunityNodesFeatureEnabled = computed(() => settings.value.communityNodesEnabled);\n\n\tconst isUnverifiedPackagesEnabled = computed(\n\t\t() => settings.value.unverifiedCommunityNodesEnabled,\n\t);\n\n\tconst allowedModules = computed(() => settings.value.allowedModules);\n\n\tconst isQueueModeEnabled = computed(() => settings.value.executionMode === 'queue');\n\tconst isMultiMain = computed(() => settings.value.isMultiMain);\n\n\tconst isWorkerViewAvailable = computed(() => !!settings.value.enterprise?.workerView);\n\n\tconst workflowCallerPolicyDefaultOption = computed(\n\t\t() => settings.value.workflowCallerPolicyDefaultOption,\n\t);\n\n\tconst permanentlyDismissedBanners = computed(() => settings.value.banners?.dismissed ?? []);\n\n\tconst isCommunityPlan = computed(() => planName.value.toLowerCase() === 'community');\n\n\tconst isDevRelease = computed(() => settings.value.releaseChannel === 'dev');\n\n\tconst endpointHealth = computed(() => settings.value.endpointHealth);\n\n\tconst isWorkflowPublicationServiceEnabled = computed(\n\t\t() => settings.value.useWorkflowPublicationService ?? false,\n\t);\n\n\tconst setSettings = (newSettings: FrontendSettings) => {\n\t\tsettings.value = newSettings;\n\n\t\tuserManagement.value = newSettings.userManagement;\n\t\tif (userManagement.value) {\n\t\t\tuserManagement.value.showSetupOnFirstLoad =\n\t\t\t\t!!settings.value.userManagement.showSetupOnFirstLoad;\n\t\t}\n\n\t\tif (settings.value.publicApi) {\n\t\t\tapi.value = settings.value.publicApi;\n\t\t}\n\n\t\tmfa.value.enabled = settings.value.mfa?.enabled;\n\t\tfolders.value.enabled = settings.value.folders?.enabled;\n\n\t\tif (settings.value.versionCli) {\n\t\t\tuseRootStore().setVersionCli(settings.value.versionCli);\n\t\t}\n\n\t\tif (settings.value.authCookie.secure) {\n\t\t\tconst { browser } = Bowser.parse(navigator.userAgent);\n\t\t\tif (\n\t\t\t\tlocation.protocol === 'http:' &&\n\t\t\t\t(!['localhost', '127.0.0.1'].includes(location.hostname) || browser.name === 'Safari')\n\t\t\t) {\n\t\t\t\tdocument.write(buildInsecureConnectionWarning());\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst setAllowedModules = (allowedModules: FrontendSettings['allowedModules']) => {\n\t\tsettings.value.allowedModules = allowedModules;\n\t};\n\n\tconst setWorkflowReviewsPolicy = (policy: WorkflowReviewsPolicy) => {\n\t\tsettings.value.workflowReviews = policy;\n\t};\n\n\tconst setSaveDataErrorExecution = (newValue: WorkflowSettings.SaveDataExecution) => {\n\t\tsaveDataErrorExecution.value = newValue;\n\t};\n\n\tconst setSaveDataSuccessExecution = (newValue: WorkflowSettings.SaveDataExecution) => {\n\t\tsaveDataSuccessExecution.value = newValue;\n\t};\n\n\tconst setSaveManualExecutions = (newValue: boolean) => {\n\t\tsaveManualExecutions.value = newValue;\n\t};\n\n\tconst setSaveDataProgressExecution = (newValue: boolean) => {\n\t\tsaveDataProgressExecution.value = newValue;\n\t};\n\n\tconst getSettings = async () => {\n\t\tconst rootStore = useRootStore();\n\t\tconst fetchedSettings = await settingsApi.getSettings(rootStore.restApiContext);\n\n\t\tsetSettings(fetchedSettings);\n\t\trootStore.setDefaultLocale(fetchedSettings.defaultLocale);\n\n\t\t// Set MFA enforced state even for public settings mode\n\t\t// as it is needed to determine if the MFA setup page should be shown\n\t\tisMFAEnforced.value = settings.value.mfa?.enforced ?? false;\n\n\t\tif (fetchedSettings.settingsMode === 'public') {\n\t\t\t// public settings mode is typically used for unauthenticated users\n\t\t\t// when public settings are returned we can skip the rest of the setup\n\t\t\t// that need the full set of authenticated settings\n\t\t\treturn;\n\t\t}\n\n\t\tsettings.value.communityNodesEnabled = fetchedSettings.communityNodesEnabled;\n\t\tsettings.value.unverifiedCommunityNodesEnabled =\n\t\t\tfetchedSettings.unverifiedCommunityNodesEnabled;\n\t\tsetAllowedModules(fetchedSettings.allowedModules);\n\t\tsetSaveDataErrorExecution(fetchedSettings.saveDataErrorExecution);\n\t\tsetSaveDataSuccessExecution(fetchedSettings.saveDataSuccessExecution);\n\t\tsetSaveDataProgressExecution(fetchedSettings.saveExecutionProgress);\n\t\tsetSaveManualExecutions(fetchedSettings.saveManualExecutions);\n\n\t\trootStore.setUrlBaseWebhook(fetchedSettings.urlBaseWebhook);\n\t\trootStore.setUrlBaseEditor(fetchedSettings.urlBaseEditor);\n\t\trootStore.setUrlBaseWebhookTest(fetchedSettings.urlBaseWebhookTest);\n\t\trootStore.setEndpointForm(fetchedSettings.endpointForm);\n\t\trootStore.setEndpointFormTest(fetchedSettings.endpointFormTest);\n\t\trootStore.setEndpointFormWaiting(fetchedSettings.endpointFormWaiting);\n\t\trootStore.setEndpointWebhook(fetchedSettings.endpointWebhook);\n\t\trootStore.setEndpointWebhookTest(fetchedSettings.endpointWebhookTest);\n\t\trootStore.setEndpointWebhookWaiting(fetchedSettings.endpointWebhookWaiting);\n\t\trootStore.setEndpointMcp(fetchedSettings.endpointMcp);\n\t\trootStore.setEndpointMcpTest(fetchedSettings.endpointMcpTest);\n\t\trootStore.setTimezone(fetchedSettings.timezone);\n\t\trootStore.setExecutionTimeout(fetchedSettings.executionTimeout);\n\t\trootStore.setMaxExecutionTimeout(fetchedSettings.maxExecutionTimeout);\n\t\trootStore.setInstanceId(fetchedSettings.instanceId);\n\t\trootStore.setOauthCallbackUrls(fetchedSettings.oauthCallbackUrls);\n\t\trootStore.setN8nMetadata(fetchedSettings.n8nMetadata ?? {});\n\t\trootStore.setBinaryDataMode(fetchedSettings.binaryDataMode);\n\n\t\tif (fetchedSettings.telemetry.enabled) {\n\t\t\tvoid eventsApi.sessionStarted(rootStore.restApiContext);\n\t\t}\n\t};\n\n\tconst initialize = async () => {\n\t\tif (initialized.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait getSettings();\n\n\t\tinitialized.value = true;\n\t};\n\n\tconst stopShowingSetupPage = () => {\n\t\tuserManagement.value.showSetupOnFirstLoad = false;\n\t};\n\n\tconst disableTemplates = () => {\n\t\tsettings.value = {\n\t\t\t...settings.value,\n\t\t\ttemplates: {\n\t\t\t\t...settings.value.templates,\n\t\t\t\tenabled: false,\n\t\t\t},\n\t\t};\n\t};\n\n\tconst testTemplatesEndpoint = async () => {\n\t\tconst timeout = new Promise((_, reject) =>\n\t\t\tsetTimeout(() => reject(new Error('Templates health check timed out')), 2000),\n\t\t);\n\t\tawait Promise.race([testHealthEndpoint(templatesHost.value), timeout]);\n\t\ttemplatesEndpointHealthy.value = true;\n\t};\n\n\tconst getTimezones = async (): Promise<IDataObject> => {\n\t\tconst rootStore = useRootStore();\n\t\treturn await makeRestApiRequest(rootStore.restApiContext, 'GET', '/options/timezones');\n\t};\n\n\tconst reset = () => {\n\t\tsettings.value = {} as FrontendSettings;\n\t};\n\n\tconst getModuleSettings = async () => {\n\t\tconst fetched = await moduleSettingsApi.getModuleSettings(useRootStore().restApiContext);\n\t\tmoduleSettings.value = fetched;\n\t};\n\n\tconst updateAiDataSharingSettings = async (allowSendingParameterValues: boolean) => {\n\t\tconst rootStore = useRootStore();\n\t\tawait aiUsageApi.updateAiUsageSettings(rootStore.restApiContext, {\n\t\t\tallowSendingParameterValues,\n\t\t});\n\t\tif (settings.value.ai) {\n\t\t\tsettings.value.ai.allowSendingParameterValues = allowSendingParameterValues;\n\t\t}\n\t};\n\n\treturn {\n\t\tsettings,\n\t\tuserManagement,\n\t\ttemplatesEndpointHealthy,\n\t\tapi,\n\t\tmfa,\n\t\tisDocker,\n\t\tisDevRelease,\n\t\tendpointHealth,\n\t\tisEnterpriseFeatureEnabled,\n\t\tdatabaseType,\n\t\tplanName,\n\t\tconsumerId,\n\t\tbinaryDataMode,\n\t\tpruning,\n\t\tsecurity,\n\t\tnodeJsVersion,\n\t\tnodeEnv,\n\t\tconcurrency,\n\t\tisConcurrencyEnabled,\n\t\tisPublicApiEnabled,\n\t\tisSwaggerUIEnabled,\n\t\tisPreviewMode,\n\t\tisE2ETestMode,\n\t\tisCanvasOnly,\n\t\tisCrdtCollaborationEnabled,\n\t\tpublicApiLatestVersion,\n\t\tpublicApiPath,\n\t\tshowSetupPage,\n\t\tdeploymentType,\n\t\tisCloudDeployment,\n\t\tisSmtpSetup,\n\t\tisPersonalizationSurveyEnabled,\n\t\ttelemetry,\n\t\tlogLevel,\n\t\tisTelemetryEnabled,\n\t\tisMfaFeatureEnabled,\n\t\tisFoldersFeatureEnabled,\n\t\tisAiAssistantEnabled,\n\t\tisCustomRolesFeatureEnabled,\n\t\tareTagsEnabled,\n\t\tisAutosaveEnabled,\n\t\tisHiringBannerEnabled,\n\t\tisTemplatesEnabled,\n\t\tisTemplatesEndpointReachable,\n\t\ttemplatesHost,\n\t\tpushBackend,\n\t\tisCommunityNodesFeatureEnabled,\n\t\tisUnverifiedPackagesEnabled,\n\t\tallowedModules,\n\t\tisQueueModeEnabled,\n\t\tisMultiMain,\n\t\tisWorkerViewAvailable,\n\t\tworkflowCallerPolicyDefaultOption,\n\t\tpermanentlyDismissedBanners,\n\t\tsaveDataErrorExecution,\n\t\tsaveDataSuccessExecution,\n\t\tsaveManualExecutions,\n\t\tsaveDataProgressExecution,\n\t\tisCommunityPlan,\n\t\tisAskAiEnabled,\n\t\tisAiBuilderEnabled,\n\t\tisAiAssistantOrBuilderEnabled,\n\t\tisAiCreditsEnabled,\n\t\taiCreditsQuota,\n\t\tisAiDataSharingEnabled,\n\t\tisAiGatewayEnabled,\n\t\taiGatewayBudget,\n\t\treset,\n\t\tgetTimezones,\n\t\ttestTemplatesEndpoint,\n\t\tdisableTemplates,\n\t\tstopShowingSetupPage,\n\t\tgetSettings,\n\t\tsetSettings,\n\t\tsetWorkflowReviewsPolicy,\n\t\tinitialize,\n\t\tgetModuleSettings,\n\t\tmoduleSettings,\n\t\tupdateAiDataSharingSettings,\n\t\tisMFAEnforcementLicensed,\n\t\tisMFAEnforced,\n\t\tactiveModules,\n\t\tisModuleActive,\n\t\tisAgentModuleActive,\n\t\tisDataTableFeatureEnabled,\n\t\tisChatFeatureEnabled,\n\t\tisOtelCustomSpanAttributesEnabled,\n\t\tisAgentsKnowledgeBaseFeatureEnabled,\n\t\tisPublicChatTriggerDisabled,\n\t\tisWorkflowPublicationServiceEnabled,\n\t};\n});\n"],"mappings":"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vF,MAAM,cAAc;AACnB,WAAS,QAAQ,EAAE;;CAGpB,MAAM,oBAAoB,YAAY;AAErC,iBAAe,QADC,MAAMG,0CAAkB,kBAAkBH,mCAAc,CAAC,eAAe;;CAIzF,MAAM,8BAA8B,OAAO,gCAAyC;EACnF,MAAM,YAAYA,mCAAc;AAChC,QAAMI,mCAAW,sBAAsB,UAAU,gBAAgB,EAChE,6BACA,CAAC;AACF,MAAI,SAAS,MAAM,GAClB,UAAS,MAAM,GAAG,8BAA8B;;AAIlD,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA"}
|
|
1
|
+
{"version":3,"file":"settings2.store.cjs","names":["i18n","STORES","AuthenticationMethod","Bowser","allowedModules","useRootStore","settingsApi","eventsApi","moduleSettingsApi","aiUsageApi"],"sources":["../src/settings.store.ts"],"sourcesContent":["import {\n\tAuthenticationMethod,\n\ttype IUserManagementSettings,\n\ttype FrontendSettings,\n\ttype FrontendModuleSettings,\n\ttype WorkflowReviewsPolicy,\n} from '@n8n/api-types';\nimport { i18n } from '@n8n/i18n';\nimport { makeRestApiRequest } from '@n8n/rest-api-client';\nimport * as aiUsageApi from '@n8n/rest-api-client/api/ai-usage';\nimport * as eventsApi from '@n8n/rest-api-client/api/events';\nimport * as moduleSettingsApi from '@n8n/rest-api-client/api/module-settings';\nimport * as settingsApi from '@n8n/rest-api-client/api/settings';\nimport { testHealthEndpoint } from '@n8n/rest-api-client/api/templates';\nimport Bowser from 'bowser';\nimport type { IDataObject, WorkflowSettings } from 'n8n-workflow';\nimport { defineStore } from 'pinia';\nimport { computed, ref } from 'vue';\n\nimport { STORES } from './constants';\nimport { useRootStore } from './useRootStore';\n\n/**\n * Full-page warning rendered when the instance requires a secure cookie but the\n * page is served over an insecure origin (or via Safari, which drops the cookie).\n * The copy is localized; the structural markup and inline styles stay in code\n * because this is written via `document.write` before the Vue app mounts.\n */\nconst buildInsecureConnectionWarning = () => `\n<body style=\"margin-top: 20px; font-family: 'Open Sans', sans-serif; text-align: center;\">\n<h1 style=\"font-size: 40px\">🚫</h1>\n<h2>${i18n.baseText('settings.authCookie.insecureConnection.title')}</h2>\n<br/>\n<div style=\"font-size: 18px; max-width: 640px; text-align: left; margin: 10px auto\">\n\t${i18n.baseText('settings.authCookie.insecureConnection.fixIntro')}\n\t<ul>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.tls')}</li>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.localhost', { interpolate: { localhostUrl: 'http://localhost:5678' } })}</li>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.disableSecureCookie', { interpolate: { envVar: 'N8N_SECURE_COOKIE' } })}</li>\n\t</ul>\n</div>\n</body>`;\n\nexport const useSettingsStore = defineStore(STORES.SETTINGS, () => {\n\tconst initialized = ref(false);\n\tconst settings = ref<FrontendSettings>({} as FrontendSettings);\n\tconst moduleSettings = ref<FrontendModuleSettings>({});\n\tconst userManagement = ref<IUserManagementSettings>({\n\t\tquota: -1,\n\t\tshowSetupOnFirstLoad: false,\n\t\tsmtpSetup: false,\n\t\tauthenticationMethod: AuthenticationMethod.Email,\n\t\tpasswordMinLength: 8,\n\t});\n\tconst templatesEndpointHealthy = ref(false);\n\tconst api = ref({\n\t\tenabled: false,\n\t\tlatestVersion: 0,\n\t\tpath: '/',\n\t\tswaggerUi: {\n\t\t\tenabled: false,\n\t\t},\n\t});\n\tconst mfa = ref({ enabled: false });\n\tconst folders = ref({ enabled: false });\n\n\tconst saveDataErrorExecution = ref<WorkflowSettings.SaveDataExecution>('all');\n\tconst saveDataSuccessExecution = ref<WorkflowSettings.SaveDataExecution>('all');\n\tconst saveManualExecutions = ref(false);\n\tconst saveDataProgressExecution = ref(false);\n\tconst isMFAEnforced = ref(false);\n\n\tconst isDocker = computed(() => settings.value?.isDocker ?? false);\n\n\tconst databaseType = computed(() => settings.value?.databaseType);\n\n\tconst planName = computed(() => settings.value?.license?.planName ?? 'Community');\n\n\tconst consumerId = computed(() => settings.value?.license?.consumerId);\n\n\tconst binaryDataMode = computed(() => settings.value?.binaryDataMode);\n\n\tconst pruning = computed(() => settings.value?.pruning);\n\n\tconst security = computed(() => ({\n\t\tblockFileAccessToN8nFiles: settings.value?.security?.blockFileAccessToN8nFiles,\n\t\tsecureCookie: settings.value?.authCookie?.secure,\n\t}));\n\n\tconst isEnterpriseFeatureEnabled = computed(() => settings.value.enterprise ?? {});\n\n\tconst nodeJsVersion = computed(() => settings.value.nodeJsVersion);\n\n\tconst nodeEnv = computed(() => settings.value.nodeEnv);\n\n\tconst concurrency = computed(() => settings.value.concurrency);\n\n\tconst isConcurrencyEnabled = computed(() => concurrency.value !== -1);\n\n\tconst isPublicApiEnabled = computed(() => api.value.enabled);\n\n\tconst isSwaggerUIEnabled = computed(() => api.value.swaggerUi?.enabled ?? false);\n\n\tconst isPreviewMode = computed(() => settings.value.previewMode);\n\n\tconst isE2ETestMode = computed(() => settings.value.inE2ETests);\n\n\tconst isCanvasOnly = computed(() => settings.value.canvasOnly);\n\n\tconst isCrdtCollaborationEnabled = computed(\n\t\t() => (settings.value.collaboration?.crdt ?? 'off') !== 'off',\n\t);\n\n\tconst publicApiLatestVersion = computed(() => api.value.latestVersion);\n\n\tconst publicApiPath = computed(() => api.value.path);\n\n\tconst isAiAssistantEnabled = computed(\n\t\t() => settings.value.aiAssistant?.enabled && settings.value.aiAssistant?.setup,\n\t);\n\n\tconst isAskAiEnabled = computed(() => settings.value.askAi?.enabled);\n\n\tconst isAiBuilderEnabled = computed(\n\t\t() => settings.value.aiBuilder?.enabled && settings.value.aiBuilder?.setup,\n\t);\n\n\tconst isAiAssistantOrBuilderEnabled = computed(\n\t\t() => isAiAssistantEnabled.value || isAiBuilderEnabled.value,\n\t);\n\n\tconst showSetupPage = computed(() => userManagement.value.showSetupOnFirstLoad);\n\n\tconst deploymentType = computed(() => settings.value.deployment?.type || 'default');\n\n\tconst isCloudDeployment = computed(() => settings.value.deployment?.type === 'cloud');\n\n\tconst activeModules = computed(() => settings.value.activeModules);\n\n\tconst isModuleActive = (moduleName: string) => {\n\t\treturn activeModules.value?.includes(moduleName);\n\t};\n\n\t/**\n\t * Checks whether an agents-module sub-feature token (listed in\n\t * `N8N_AGENTS_MODULES` on the backend) is enabled. Returns `false`\n\t * unless the top-level `agents` module is active AND the token is\n\t * present in the module settings' `modules` array.\n\t *\n\t * Known tokens: see `AGENTS_MODULE_NAMES` in `agents.config.ts`.\n\t */\n\tconst isAgentModuleActive = (name: string): boolean => {\n\t\treturn (\n\t\t\tisModuleActive('agents') && moduleSettings.value.agents?.modules?.includes(name) === true\n\t\t);\n\t};\n\n\tconst isAiCreditsEnabled = computed(\n\t\t() => settings.value.aiCredits?.enabled && settings.value.aiCredits?.setup,\n\t);\n\n\tconst aiCreditsQuota = computed(() => settings.value.aiCredits?.credits);\n\n\tconst isAiDataSharingEnabled = computed(\n\t\t() => settings.value.ai?.allowSendingParameterValues ?? true,\n\t);\n\n\tconst isAiGatewayEnabled = computed(() => settings.value.aiGateway?.enabled ?? false);\n\n\tconst isAiGatewayCloudUbbEnabled = computed(\n\t\t() => settings.value.aiGateway?.cloudUbbEnabled ?? false,\n\t);\n\n\tconst aiGatewayBudget = computed(() => settings.value.aiGateway?.budget ?? 0);\n\n\tconst isSmtpSetup = computed(() => userManagement.value.smtpSetup);\n\n\tconst isPersonalizationSurveyEnabled = computed(\n\t\t() => settings.value.telemetry?.enabled && settings.value.personalizationSurveyEnabled,\n\t);\n\n\tconst telemetry = computed(() => settings.value.telemetry);\n\n\tconst logLevel = computed(() => settings.value.logLevel);\n\n\tconst isTelemetryEnabled = computed(() => settings.value.telemetry?.enabled);\n\n\tconst isMFAEnforcementLicensed = computed(() => {\n\t\treturn settings.value.enterprise?.mfaEnforcement ?? false;\n\t});\n\n\tconst isMfaFeatureEnabled = computed(() => mfa.value.enabled);\n\n\tconst isFoldersFeatureEnabled = computed(() => folders.value.enabled);\n\n\tconst isDataTableFeatureEnabled = computed(() => isModuleActive('data-table'));\n\n\tconst isChatFeatureEnabled = computed(\n\t\t() => isModuleActive('chat-hub') && moduleSettings.value['chat-hub']?.enabled === true,\n\t);\n\n\tconst isOtelCustomSpanAttributesEnabled = computed(() => {\n\t\tconst isOtelCustomSpanAttributesLicensed =\n\t\t\tsettings.value.enterprise?.otelCustomSpanAttributes ?? false;\n\t\tconst isOtelModuleActive =\n\t\t\tisModuleActive('otel') && moduleSettings.value.otel?.enabled === true;\n\n\t\treturn isOtelCustomSpanAttributesLicensed && isOtelModuleActive;\n\t});\n\n\t// Opt-in flag controlled by the backend's N8N_AGENTS_AI_SANDBOX_ENABLED setting.\n\tconst isAgentsKnowledgeBaseFeatureEnabled = computed(\n\t\t() => isModuleActive('agents') && moduleSettings.value.agents?.knowledgeBaseEnabled === true,\n\t);\n\n\tconst isPublicChatTriggerDisabled = computed(\n\t\t() => settings.value.chatTrigger?.disablePublicChat ?? false,\n\t);\n\n\tconst isCustomRolesFeatureEnabled = computed(\n\t\t() => settings.value.enterprise?.customRoles ?? false,\n\t);\n\n\tconst areTagsEnabled = computed(() =>\n\t\tsettings.value.workflowTagsDisabled !== undefined ? !settings.value.workflowTagsDisabled : true,\n\t);\n\n\tconst isAutosaveEnabled = computed(() =>\n\t\tsettings.value.workflowsAutosaveDisabled !== undefined\n\t\t\t? !settings.value.workflowsAutosaveDisabled\n\t\t\t: true,\n\t);\n\n\tconst isHiringBannerEnabled = computed(() => settings.value.hiringBannerEnabled);\n\n\tconst isTemplatesEnabled = computed(() => Boolean(settings.value.templates?.enabled));\n\n\tconst isTemplatesEndpointReachable = computed(() => templatesEndpointHealthy.value);\n\n\tconst templatesHost = computed(() => settings.value.templates?.host ?? '');\n\n\tconst pushBackend = computed(() => settings.value.pushBackend);\n\n\tconst isCommunityNodesFeatureEnabled = computed(() => settings.value.communityNodesEnabled);\n\n\tconst isUnverifiedPackagesEnabled = computed(\n\t\t() => settings.value.unverifiedCommunityNodesEnabled,\n\t);\n\n\tconst allowedModules = computed(() => settings.value.allowedModules);\n\n\tconst isQueueModeEnabled = computed(() => settings.value.executionMode === 'queue');\n\tconst isMultiMain = computed(() => settings.value.isMultiMain);\n\n\tconst isWorkerViewAvailable = computed(() => !!settings.value.enterprise?.workerView);\n\n\tconst workflowCallerPolicyDefaultOption = computed(\n\t\t() => settings.value.workflowCallerPolicyDefaultOption,\n\t);\n\n\tconst permanentlyDismissedBanners = computed(() => settings.value.banners?.dismissed ?? []);\n\n\tconst isCommunityPlan = computed(() => planName.value.toLowerCase() === 'community');\n\n\tconst isDevRelease = computed(() => settings.value.releaseChannel === 'dev');\n\n\tconst endpointHealth = computed(() => settings.value.endpointHealth);\n\n\tconst isWorkflowPublicationServiceEnabled = computed(\n\t\t() => settings.value.useWorkflowPublicationService ?? false,\n\t);\n\n\tconst setSettings = (newSettings: FrontendSettings) => {\n\t\tsettings.value = newSettings;\n\n\t\tuserManagement.value = newSettings.userManagement;\n\t\tif (userManagement.value) {\n\t\t\tuserManagement.value.showSetupOnFirstLoad =\n\t\t\t\t!!settings.value.userManagement.showSetupOnFirstLoad;\n\t\t}\n\n\t\tif (settings.value.publicApi) {\n\t\t\tapi.value = settings.value.publicApi;\n\t\t}\n\n\t\tmfa.value.enabled = settings.value.mfa?.enabled;\n\t\tfolders.value.enabled = settings.value.folders?.enabled;\n\n\t\tif (settings.value.versionCli) {\n\t\t\tuseRootStore().setVersionCli(settings.value.versionCli);\n\t\t}\n\n\t\tif (settings.value.authCookie.secure) {\n\t\t\tconst { browser } = Bowser.parse(navigator.userAgent);\n\t\t\tif (\n\t\t\t\tlocation.protocol === 'http:' &&\n\t\t\t\t(!['localhost', '127.0.0.1'].includes(location.hostname) || browser.name === 'Safari')\n\t\t\t) {\n\t\t\t\tdocument.write(buildInsecureConnectionWarning());\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst setAllowedModules = (allowedModules: FrontendSettings['allowedModules']) => {\n\t\tsettings.value.allowedModules = allowedModules;\n\t};\n\n\tconst setWorkflowReviewsPolicy = (policy: WorkflowReviewsPolicy) => {\n\t\tsettings.value.workflowReviews = policy;\n\t};\n\n\tconst setSaveDataErrorExecution = (newValue: WorkflowSettings.SaveDataExecution) => {\n\t\tsaveDataErrorExecution.value = newValue;\n\t};\n\n\tconst setSaveDataSuccessExecution = (newValue: WorkflowSettings.SaveDataExecution) => {\n\t\tsaveDataSuccessExecution.value = newValue;\n\t};\n\n\tconst setSaveManualExecutions = (newValue: boolean) => {\n\t\tsaveManualExecutions.value = newValue;\n\t};\n\n\tconst setSaveDataProgressExecution = (newValue: boolean) => {\n\t\tsaveDataProgressExecution.value = newValue;\n\t};\n\n\tconst getSettings = async () => {\n\t\tconst rootStore = useRootStore();\n\t\tconst fetchedSettings = await settingsApi.getSettings(rootStore.restApiContext);\n\n\t\tsetSettings(fetchedSettings);\n\t\trootStore.setDefaultLocale(fetchedSettings.defaultLocale);\n\n\t\t// Set MFA enforced state even for public settings mode\n\t\t// as it is needed to determine if the MFA setup page should be shown\n\t\tisMFAEnforced.value = settings.value.mfa?.enforced ?? false;\n\n\t\tif (fetchedSettings.settingsMode === 'public') {\n\t\t\t// public settings mode is typically used for unauthenticated users\n\t\t\t// when public settings are returned we can skip the rest of the setup\n\t\t\t// that need the full set of authenticated settings\n\t\t\treturn;\n\t\t}\n\n\t\tsettings.value.communityNodesEnabled = fetchedSettings.communityNodesEnabled;\n\t\tsettings.value.unverifiedCommunityNodesEnabled =\n\t\t\tfetchedSettings.unverifiedCommunityNodesEnabled;\n\t\tsetAllowedModules(fetchedSettings.allowedModules);\n\t\tsetSaveDataErrorExecution(fetchedSettings.saveDataErrorExecution);\n\t\tsetSaveDataSuccessExecution(fetchedSettings.saveDataSuccessExecution);\n\t\tsetSaveDataProgressExecution(fetchedSettings.saveExecutionProgress);\n\t\tsetSaveManualExecutions(fetchedSettings.saveManualExecutions);\n\n\t\trootStore.setUrlBaseWebhook(fetchedSettings.urlBaseWebhook);\n\t\trootStore.setUrlBaseEditor(fetchedSettings.urlBaseEditor);\n\t\trootStore.setUrlBaseWebhookTest(fetchedSettings.urlBaseWebhookTest);\n\t\trootStore.setEndpointForm(fetchedSettings.endpointForm);\n\t\trootStore.setEndpointFormTest(fetchedSettings.endpointFormTest);\n\t\trootStore.setEndpointFormWaiting(fetchedSettings.endpointFormWaiting);\n\t\trootStore.setEndpointWebhook(fetchedSettings.endpointWebhook);\n\t\trootStore.setEndpointWebhookTest(fetchedSettings.endpointWebhookTest);\n\t\trootStore.setEndpointWebhookWaiting(fetchedSettings.endpointWebhookWaiting);\n\t\trootStore.setEndpointMcp(fetchedSettings.endpointMcp);\n\t\trootStore.setEndpointMcpTest(fetchedSettings.endpointMcpTest);\n\t\trootStore.setTimezone(fetchedSettings.timezone);\n\t\trootStore.setExecutionTimeout(fetchedSettings.executionTimeout);\n\t\trootStore.setMaxExecutionTimeout(fetchedSettings.maxExecutionTimeout);\n\t\trootStore.setPublicApiPath(\n\t\t\t`${fetchedSettings.publicApi.path}/v${fetchedSettings.publicApi.latestVersion}`,\n\t\t);\n\t\trootStore.setInstanceId(fetchedSettings.instanceId);\n\t\trootStore.setOauthCallbackUrls(fetchedSettings.oauthCallbackUrls);\n\t\trootStore.setN8nMetadata(fetchedSettings.n8nMetadata ?? {});\n\t\trootStore.setBinaryDataMode(fetchedSettings.binaryDataMode);\n\n\t\tif (fetchedSettings.telemetry.enabled) {\n\t\t\tvoid eventsApi.sessionStarted(rootStore.restApiContext);\n\t\t}\n\t};\n\n\tconst initialize = async () => {\n\t\tif (initialized.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait getSettings();\n\n\t\tinitialized.value = true;\n\t};\n\n\tconst stopShowingSetupPage = () => {\n\t\tuserManagement.value.showSetupOnFirstLoad = false;\n\t};\n\n\tconst disableTemplates = () => {\n\t\tsettings.value = {\n\t\t\t...settings.value,\n\t\t\ttemplates: {\n\t\t\t\t...settings.value.templates,\n\t\t\t\tenabled: false,\n\t\t\t},\n\t\t};\n\t};\n\n\tconst testTemplatesEndpoint = async () => {\n\t\tconst timeout = new Promise((_, reject) =>\n\t\t\tsetTimeout(() => reject(new Error('Templates health check timed out')), 2000),\n\t\t);\n\t\tawait Promise.race([testHealthEndpoint(templatesHost.value), timeout]);\n\t\ttemplatesEndpointHealthy.value = true;\n\t};\n\n\tconst getTimezones = async (): Promise<IDataObject> => {\n\t\tconst rootStore = useRootStore();\n\t\treturn await makeRestApiRequest(rootStore.restApiContext, 'GET', '/options/timezones');\n\t};\n\n\tconst reset = () => {\n\t\tsettings.value = {} as FrontendSettings;\n\t};\n\n\tconst getModuleSettings = async () => {\n\t\tconst fetched = await moduleSettingsApi.getModuleSettings(useRootStore().restApiContext);\n\t\tmoduleSettings.value = fetched;\n\t};\n\n\tconst updateAiDataSharingSettings = async (allowSendingParameterValues: boolean) => {\n\t\tconst rootStore = useRootStore();\n\t\tawait aiUsageApi.updateAiUsageSettings(rootStore.restApiContext, {\n\t\t\tallowSendingParameterValues,\n\t\t});\n\t\tif (settings.value.ai) {\n\t\t\tsettings.value.ai.allowSendingParameterValues = allowSendingParameterValues;\n\t\t}\n\t};\n\n\treturn {\n\t\tsettings,\n\t\tuserManagement,\n\t\ttemplatesEndpointHealthy,\n\t\tapi,\n\t\tmfa,\n\t\tisDocker,\n\t\tisDevRelease,\n\t\tendpointHealth,\n\t\tisEnterpriseFeatureEnabled,\n\t\tdatabaseType,\n\t\tplanName,\n\t\tconsumerId,\n\t\tbinaryDataMode,\n\t\tpruning,\n\t\tsecurity,\n\t\tnodeJsVersion,\n\t\tnodeEnv,\n\t\tconcurrency,\n\t\tisConcurrencyEnabled,\n\t\tisPublicApiEnabled,\n\t\tisSwaggerUIEnabled,\n\t\tisPreviewMode,\n\t\tisE2ETestMode,\n\t\tisCanvasOnly,\n\t\tisCrdtCollaborationEnabled,\n\t\tpublicApiLatestVersion,\n\t\tpublicApiPath,\n\t\tshowSetupPage,\n\t\tdeploymentType,\n\t\tisCloudDeployment,\n\t\tisSmtpSetup,\n\t\tisPersonalizationSurveyEnabled,\n\t\ttelemetry,\n\t\tlogLevel,\n\t\tisTelemetryEnabled,\n\t\tisMfaFeatureEnabled,\n\t\tisFoldersFeatureEnabled,\n\t\tisAiAssistantEnabled,\n\t\tisCustomRolesFeatureEnabled,\n\t\tareTagsEnabled,\n\t\tisAutosaveEnabled,\n\t\tisHiringBannerEnabled,\n\t\tisTemplatesEnabled,\n\t\tisTemplatesEndpointReachable,\n\t\ttemplatesHost,\n\t\tpushBackend,\n\t\tisCommunityNodesFeatureEnabled,\n\t\tisUnverifiedPackagesEnabled,\n\t\tallowedModules,\n\t\tisQueueModeEnabled,\n\t\tisMultiMain,\n\t\tisWorkerViewAvailable,\n\t\tworkflowCallerPolicyDefaultOption,\n\t\tpermanentlyDismissedBanners,\n\t\tsaveDataErrorExecution,\n\t\tsaveDataSuccessExecution,\n\t\tsaveManualExecutions,\n\t\tsaveDataProgressExecution,\n\t\tisCommunityPlan,\n\t\tisAskAiEnabled,\n\t\tisAiBuilderEnabled,\n\t\tisAiAssistantOrBuilderEnabled,\n\t\tisAiCreditsEnabled,\n\t\taiCreditsQuota,\n\t\tisAiDataSharingEnabled,\n\t\tisAiGatewayEnabled,\n\t\tisAiGatewayCloudUbbEnabled,\n\t\taiGatewayBudget,\n\t\treset,\n\t\tgetTimezones,\n\t\ttestTemplatesEndpoint,\n\t\tdisableTemplates,\n\t\tstopShowingSetupPage,\n\t\tgetSettings,\n\t\tsetSettings,\n\t\tsetWorkflowReviewsPolicy,\n\t\tinitialize,\n\t\tgetModuleSettings,\n\t\tmoduleSettings,\n\t\tupdateAiDataSharingSettings,\n\t\tisMFAEnforcementLicensed,\n\t\tisMFAEnforced,\n\t\tactiveModules,\n\t\tisModuleActive,\n\t\tisAgentModuleActive,\n\t\tisDataTableFeatureEnabled,\n\t\tisChatFeatureEnabled,\n\t\tisOtelCustomSpanAttributesEnabled,\n\t\tisAgentsKnowledgeBaseFeatureEnabled,\n\t\tisPublicChatTriggerDisabled,\n\t\tisWorkflowPublicationServiceEnabled,\n\t};\n});\n"],"mappings":"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AE,QAAQ,CAAC;AACtE,2BAAyB,QAAQ;;CAGlC,MAAM,eAAe,YAAkC;AAEtD,SAAO,oDADWF,mCAAc,CACU,gBAAgB,OAAO,qBAAqB;;CAGvF,MAAM,cAAc;AACnB,WAAS,QAAQ,EAAE;;CAGpB,MAAM,oBAAoB,YAAY;AAErC,iBAAe,QADC,MAAMG,0CAAkB,kBAAkBH,mCAAc,CAAC,eAAe;;CAIzF,MAAM,8BAA8B,OAAO,gCAAyC;EACnF,MAAM,YAAYA,mCAAc;AAChC,QAAMI,mCAAW,sBAAsB,UAAU,gBAAgB,EAChE,6BACA,CAAC;AACF,MAAI,SAAS,MAAM,GAClB,UAAS,MAAM,GAAG,8BAA8B;;AAIlD,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA"}
|
package/dist/settings2.store.mjs
CHANGED
|
@@ -107,6 +107,7 @@ const useSettingsStore = defineStore(STORES.SETTINGS, () => {
|
|
|
107
107
|
const aiCreditsQuota = computed(() => settings.value.aiCredits?.credits);
|
|
108
108
|
const isAiDataSharingEnabled = computed(() => settings.value.ai?.allowSendingParameterValues ?? true);
|
|
109
109
|
const isAiGatewayEnabled = computed(() => settings.value.aiGateway?.enabled ?? false);
|
|
110
|
+
const isAiGatewayCloudUbbEnabled = computed(() => settings.value.aiGateway?.cloudUbbEnabled ?? false);
|
|
110
111
|
const aiGatewayBudget = computed(() => settings.value.aiGateway?.budget ?? 0);
|
|
111
112
|
const isSmtpSetup = computed(() => userManagement.value.smtpSetup);
|
|
112
113
|
const isPersonalizationSurveyEnabled = computed(() => settings.value.telemetry?.enabled && settings.value.personalizationSurveyEnabled);
|
|
@@ -209,6 +210,7 @@ const useSettingsStore = defineStore(STORES.SETTINGS, () => {
|
|
|
209
210
|
rootStore.setTimezone(fetchedSettings.timezone);
|
|
210
211
|
rootStore.setExecutionTimeout(fetchedSettings.executionTimeout);
|
|
211
212
|
rootStore.setMaxExecutionTimeout(fetchedSettings.maxExecutionTimeout);
|
|
213
|
+
rootStore.setPublicApiPath(`${fetchedSettings.publicApi.path}/v${fetchedSettings.publicApi.latestVersion}`);
|
|
212
214
|
rootStore.setInstanceId(fetchedSettings.instanceId);
|
|
213
215
|
rootStore.setOauthCallbackUrls(fetchedSettings.oauthCallbackUrls);
|
|
214
216
|
rootStore.setN8nMetadata(fetchedSettings.n8nMetadata ?? {});
|
|
@@ -318,6 +320,7 @@ const useSettingsStore = defineStore(STORES.SETTINGS, () => {
|
|
|
318
320
|
aiCreditsQuota,
|
|
319
321
|
isAiDataSharingEnabled,
|
|
320
322
|
isAiGatewayEnabled,
|
|
323
|
+
isAiGatewayCloudUbbEnabled,
|
|
321
324
|
aiGatewayBudget,
|
|
322
325
|
reset,
|
|
323
326
|
getTimezones,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings2.store.mjs","names":["allowedModules"],"sources":["../src/settings.store.ts"],"sourcesContent":["import {\n\tAuthenticationMethod,\n\ttype IUserManagementSettings,\n\ttype FrontendSettings,\n\ttype FrontendModuleSettings,\n\ttype WorkflowReviewsPolicy,\n} from '@n8n/api-types';\nimport { i18n } from '@n8n/i18n';\nimport { makeRestApiRequest } from '@n8n/rest-api-client';\nimport * as aiUsageApi from '@n8n/rest-api-client/api/ai-usage';\nimport * as eventsApi from '@n8n/rest-api-client/api/events';\nimport * as moduleSettingsApi from '@n8n/rest-api-client/api/module-settings';\nimport * as settingsApi from '@n8n/rest-api-client/api/settings';\nimport { testHealthEndpoint } from '@n8n/rest-api-client/api/templates';\nimport Bowser from 'bowser';\nimport type { IDataObject, WorkflowSettings } from 'n8n-workflow';\nimport { defineStore } from 'pinia';\nimport { computed, ref } from 'vue';\n\nimport { STORES } from './constants';\nimport { useRootStore } from './useRootStore';\n\n/**\n * Full-page warning rendered when the instance requires a secure cookie but the\n * page is served over an insecure origin (or via Safari, which drops the cookie).\n * The copy is localized; the structural markup and inline styles stay in code\n * because this is written via `document.write` before the Vue app mounts.\n */\nconst buildInsecureConnectionWarning = () => `\n<body style=\"margin-top: 20px; font-family: 'Open Sans', sans-serif; text-align: center;\">\n<h1 style=\"font-size: 40px\">🚫</h1>\n<h2>${i18n.baseText('settings.authCookie.insecureConnection.title')}</h2>\n<br/>\n<div style=\"font-size: 18px; max-width: 640px; text-align: left; margin: 10px auto\">\n\t${i18n.baseText('settings.authCookie.insecureConnection.fixIntro')}\n\t<ul>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.tls')}</li>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.localhost', { interpolate: { localhostUrl: 'http://localhost:5678' } })}</li>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.disableSecureCookie', { interpolate: { envVar: 'N8N_SECURE_COOKIE' } })}</li>\n\t</ul>\n</div>\n</body>`;\n\nexport const useSettingsStore = defineStore(STORES.SETTINGS, () => {\n\tconst initialized = ref(false);\n\tconst settings = ref<FrontendSettings>({} as FrontendSettings);\n\tconst moduleSettings = ref<FrontendModuleSettings>({});\n\tconst userManagement = ref<IUserManagementSettings>({\n\t\tquota: -1,\n\t\tshowSetupOnFirstLoad: false,\n\t\tsmtpSetup: false,\n\t\tauthenticationMethod: AuthenticationMethod.Email,\n\t\tpasswordMinLength: 8,\n\t});\n\tconst templatesEndpointHealthy = ref(false);\n\tconst api = ref({\n\t\tenabled: false,\n\t\tlatestVersion: 0,\n\t\tpath: '/',\n\t\tswaggerUi: {\n\t\t\tenabled: false,\n\t\t},\n\t});\n\tconst mfa = ref({ enabled: false });\n\tconst folders = ref({ enabled: false });\n\n\tconst saveDataErrorExecution = ref<WorkflowSettings.SaveDataExecution>('all');\n\tconst saveDataSuccessExecution = ref<WorkflowSettings.SaveDataExecution>('all');\n\tconst saveManualExecutions = ref(false);\n\tconst saveDataProgressExecution = ref(false);\n\tconst isMFAEnforced = ref(false);\n\n\tconst isDocker = computed(() => settings.value?.isDocker ?? false);\n\n\tconst databaseType = computed(() => settings.value?.databaseType);\n\n\tconst planName = computed(() => settings.value?.license?.planName ?? 'Community');\n\n\tconst consumerId = computed(() => settings.value?.license?.consumerId);\n\n\tconst binaryDataMode = computed(() => settings.value?.binaryDataMode);\n\n\tconst pruning = computed(() => settings.value?.pruning);\n\n\tconst security = computed(() => ({\n\t\tblockFileAccessToN8nFiles: settings.value?.security?.blockFileAccessToN8nFiles,\n\t\tsecureCookie: settings.value?.authCookie?.secure,\n\t}));\n\n\tconst isEnterpriseFeatureEnabled = computed(() => settings.value.enterprise ?? {});\n\n\tconst nodeJsVersion = computed(() => settings.value.nodeJsVersion);\n\n\tconst nodeEnv = computed(() => settings.value.nodeEnv);\n\n\tconst concurrency = computed(() => settings.value.concurrency);\n\n\tconst isConcurrencyEnabled = computed(() => concurrency.value !== -1);\n\n\tconst isPublicApiEnabled = computed(() => api.value.enabled);\n\n\tconst isSwaggerUIEnabled = computed(() => api.value.swaggerUi?.enabled ?? false);\n\n\tconst isPreviewMode = computed(() => settings.value.previewMode);\n\n\tconst isE2ETestMode = computed(() => settings.value.inE2ETests);\n\n\tconst isCanvasOnly = computed(() => settings.value.canvasOnly);\n\n\tconst isCrdtCollaborationEnabled = computed(\n\t\t() => (settings.value.collaboration?.crdt ?? 'off') !== 'off',\n\t);\n\n\tconst publicApiLatestVersion = computed(() => api.value.latestVersion);\n\n\tconst publicApiPath = computed(() => api.value.path);\n\n\tconst isAiAssistantEnabled = computed(\n\t\t() => settings.value.aiAssistant?.enabled && settings.value.aiAssistant?.setup,\n\t);\n\n\tconst isAskAiEnabled = computed(() => settings.value.askAi?.enabled);\n\n\tconst isAiBuilderEnabled = computed(\n\t\t() => settings.value.aiBuilder?.enabled && settings.value.aiBuilder?.setup,\n\t);\n\n\tconst isAiAssistantOrBuilderEnabled = computed(\n\t\t() => isAiAssistantEnabled.value || isAiBuilderEnabled.value,\n\t);\n\n\tconst showSetupPage = computed(() => userManagement.value.showSetupOnFirstLoad);\n\n\tconst deploymentType = computed(() => settings.value.deployment?.type || 'default');\n\n\tconst isCloudDeployment = computed(() => settings.value.deployment?.type === 'cloud');\n\n\tconst activeModules = computed(() => settings.value.activeModules);\n\n\tconst isModuleActive = (moduleName: string) => {\n\t\treturn activeModules.value?.includes(moduleName);\n\t};\n\n\t/**\n\t * Checks whether an agents-module sub-feature token (listed in\n\t * `N8N_AGENTS_MODULES` on the backend) is enabled. Returns `false`\n\t * unless the top-level `agents` module is active AND the token is\n\t * present in the module settings' `modules` array.\n\t *\n\t * Known tokens: see `AGENTS_MODULE_NAMES` in `agents.config.ts`.\n\t */\n\tconst isAgentModuleActive = (name: string): boolean => {\n\t\treturn (\n\t\t\tisModuleActive('agents') && moduleSettings.value.agents?.modules?.includes(name) === true\n\t\t);\n\t};\n\n\tconst isAiCreditsEnabled = computed(\n\t\t() => settings.value.aiCredits?.enabled && settings.value.aiCredits?.setup,\n\t);\n\n\tconst aiCreditsQuota = computed(() => settings.value.aiCredits?.credits);\n\n\tconst isAiDataSharingEnabled = computed(\n\t\t() => settings.value.ai?.allowSendingParameterValues ?? true,\n\t);\n\n\tconst isAiGatewayEnabled = computed(() => settings.value.aiGateway?.enabled ?? false);\n\n\tconst aiGatewayBudget = computed(() => settings.value.aiGateway?.budget ?? 0);\n\n\tconst isSmtpSetup = computed(() => userManagement.value.smtpSetup);\n\n\tconst isPersonalizationSurveyEnabled = computed(\n\t\t() => settings.value.telemetry?.enabled && settings.value.personalizationSurveyEnabled,\n\t);\n\n\tconst telemetry = computed(() => settings.value.telemetry);\n\n\tconst logLevel = computed(() => settings.value.logLevel);\n\n\tconst isTelemetryEnabled = computed(() => settings.value.telemetry?.enabled);\n\n\tconst isMFAEnforcementLicensed = computed(() => {\n\t\treturn settings.value.enterprise?.mfaEnforcement ?? false;\n\t});\n\n\tconst isMfaFeatureEnabled = computed(() => mfa.value.enabled);\n\n\tconst isFoldersFeatureEnabled = computed(() => folders.value.enabled);\n\n\tconst isDataTableFeatureEnabled = computed(() => isModuleActive('data-table'));\n\n\tconst isChatFeatureEnabled = computed(\n\t\t() => isModuleActive('chat-hub') && moduleSettings.value['chat-hub']?.enabled === true,\n\t);\n\n\tconst isOtelCustomSpanAttributesEnabled = computed(() => {\n\t\tconst isOtelCustomSpanAttributesLicensed =\n\t\t\tsettings.value.enterprise?.otelCustomSpanAttributes ?? false;\n\t\tconst isOtelModuleActive =\n\t\t\tisModuleActive('otel') && moduleSettings.value.otel?.enabled === true;\n\n\t\treturn isOtelCustomSpanAttributesLicensed && isOtelModuleActive;\n\t});\n\n\t// Opt-in flag: enabled when the backend's Daytona sandbox env vars\n\t// (`N8N_AGENTS_AI_SANDBOX_ENABLED=true` + `N8N_AGENTS_AI_SANDBOX_PROVIDER=daytona`)\n\t// are set, OR the AI Assistant proxy is available.\n\tconst isAgentsKnowledgeBaseFeatureEnabled = computed(\n\t\t() => isModuleActive('agents') && moduleSettings.value.agents?.knowledgeBaseEnabled === true,\n\t);\n\n\tconst isPublicChatTriggerDisabled = computed(\n\t\t() => settings.value.chatTrigger?.disablePublicChat ?? false,\n\t);\n\n\tconst isCustomRolesFeatureEnabled = computed(\n\t\t() => settings.value.enterprise?.customRoles ?? false,\n\t);\n\n\tconst areTagsEnabled = computed(() =>\n\t\tsettings.value.workflowTagsDisabled !== undefined ? !settings.value.workflowTagsDisabled : true,\n\t);\n\n\tconst isAutosaveEnabled = computed(() =>\n\t\tsettings.value.workflowsAutosaveDisabled !== undefined\n\t\t\t? !settings.value.workflowsAutosaveDisabled\n\t\t\t: true,\n\t);\n\n\tconst isHiringBannerEnabled = computed(() => settings.value.hiringBannerEnabled);\n\n\tconst isTemplatesEnabled = computed(() => Boolean(settings.value.templates?.enabled));\n\n\tconst isTemplatesEndpointReachable = computed(() => templatesEndpointHealthy.value);\n\n\tconst templatesHost = computed(() => settings.value.templates?.host ?? '');\n\n\tconst pushBackend = computed(() => settings.value.pushBackend);\n\n\tconst isCommunityNodesFeatureEnabled = computed(() => settings.value.communityNodesEnabled);\n\n\tconst isUnverifiedPackagesEnabled = computed(\n\t\t() => settings.value.unverifiedCommunityNodesEnabled,\n\t);\n\n\tconst allowedModules = computed(() => settings.value.allowedModules);\n\n\tconst isQueueModeEnabled = computed(() => settings.value.executionMode === 'queue');\n\tconst isMultiMain = computed(() => settings.value.isMultiMain);\n\n\tconst isWorkerViewAvailable = computed(() => !!settings.value.enterprise?.workerView);\n\n\tconst workflowCallerPolicyDefaultOption = computed(\n\t\t() => settings.value.workflowCallerPolicyDefaultOption,\n\t);\n\n\tconst permanentlyDismissedBanners = computed(() => settings.value.banners?.dismissed ?? []);\n\n\tconst isCommunityPlan = computed(() => planName.value.toLowerCase() === 'community');\n\n\tconst isDevRelease = computed(() => settings.value.releaseChannel === 'dev');\n\n\tconst endpointHealth = computed(() => settings.value.endpointHealth);\n\n\tconst isWorkflowPublicationServiceEnabled = computed(\n\t\t() => settings.value.useWorkflowPublicationService ?? false,\n\t);\n\n\tconst setSettings = (newSettings: FrontendSettings) => {\n\t\tsettings.value = newSettings;\n\n\t\tuserManagement.value = newSettings.userManagement;\n\t\tif (userManagement.value) {\n\t\t\tuserManagement.value.showSetupOnFirstLoad =\n\t\t\t\t!!settings.value.userManagement.showSetupOnFirstLoad;\n\t\t}\n\n\t\tif (settings.value.publicApi) {\n\t\t\tapi.value = settings.value.publicApi;\n\t\t}\n\n\t\tmfa.value.enabled = settings.value.mfa?.enabled;\n\t\tfolders.value.enabled = settings.value.folders?.enabled;\n\n\t\tif (settings.value.versionCli) {\n\t\t\tuseRootStore().setVersionCli(settings.value.versionCli);\n\t\t}\n\n\t\tif (settings.value.authCookie.secure) {\n\t\t\tconst { browser } = Bowser.parse(navigator.userAgent);\n\t\t\tif (\n\t\t\t\tlocation.protocol === 'http:' &&\n\t\t\t\t(!['localhost', '127.0.0.1'].includes(location.hostname) || browser.name === 'Safari')\n\t\t\t) {\n\t\t\t\tdocument.write(buildInsecureConnectionWarning());\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst setAllowedModules = (allowedModules: FrontendSettings['allowedModules']) => {\n\t\tsettings.value.allowedModules = allowedModules;\n\t};\n\n\tconst setWorkflowReviewsPolicy = (policy: WorkflowReviewsPolicy) => {\n\t\tsettings.value.workflowReviews = policy;\n\t};\n\n\tconst setSaveDataErrorExecution = (newValue: WorkflowSettings.SaveDataExecution) => {\n\t\tsaveDataErrorExecution.value = newValue;\n\t};\n\n\tconst setSaveDataSuccessExecution = (newValue: WorkflowSettings.SaveDataExecution) => {\n\t\tsaveDataSuccessExecution.value = newValue;\n\t};\n\n\tconst setSaveManualExecutions = (newValue: boolean) => {\n\t\tsaveManualExecutions.value = newValue;\n\t};\n\n\tconst setSaveDataProgressExecution = (newValue: boolean) => {\n\t\tsaveDataProgressExecution.value = newValue;\n\t};\n\n\tconst getSettings = async () => {\n\t\tconst rootStore = useRootStore();\n\t\tconst fetchedSettings = await settingsApi.getSettings(rootStore.restApiContext);\n\n\t\tsetSettings(fetchedSettings);\n\t\trootStore.setDefaultLocale(fetchedSettings.defaultLocale);\n\n\t\t// Set MFA enforced state even for public settings mode\n\t\t// as it is needed to determine if the MFA setup page should be shown\n\t\tisMFAEnforced.value = settings.value.mfa?.enforced ?? false;\n\n\t\tif (fetchedSettings.settingsMode === 'public') {\n\t\t\t// public settings mode is typically used for unauthenticated users\n\t\t\t// when public settings are returned we can skip the rest of the setup\n\t\t\t// that need the full set of authenticated settings\n\t\t\treturn;\n\t\t}\n\n\t\tsettings.value.communityNodesEnabled = fetchedSettings.communityNodesEnabled;\n\t\tsettings.value.unverifiedCommunityNodesEnabled =\n\t\t\tfetchedSettings.unverifiedCommunityNodesEnabled;\n\t\tsetAllowedModules(fetchedSettings.allowedModules);\n\t\tsetSaveDataErrorExecution(fetchedSettings.saveDataErrorExecution);\n\t\tsetSaveDataSuccessExecution(fetchedSettings.saveDataSuccessExecution);\n\t\tsetSaveDataProgressExecution(fetchedSettings.saveExecutionProgress);\n\t\tsetSaveManualExecutions(fetchedSettings.saveManualExecutions);\n\n\t\trootStore.setUrlBaseWebhook(fetchedSettings.urlBaseWebhook);\n\t\trootStore.setUrlBaseEditor(fetchedSettings.urlBaseEditor);\n\t\trootStore.setUrlBaseWebhookTest(fetchedSettings.urlBaseWebhookTest);\n\t\trootStore.setEndpointForm(fetchedSettings.endpointForm);\n\t\trootStore.setEndpointFormTest(fetchedSettings.endpointFormTest);\n\t\trootStore.setEndpointFormWaiting(fetchedSettings.endpointFormWaiting);\n\t\trootStore.setEndpointWebhook(fetchedSettings.endpointWebhook);\n\t\trootStore.setEndpointWebhookTest(fetchedSettings.endpointWebhookTest);\n\t\trootStore.setEndpointWebhookWaiting(fetchedSettings.endpointWebhookWaiting);\n\t\trootStore.setEndpointMcp(fetchedSettings.endpointMcp);\n\t\trootStore.setEndpointMcpTest(fetchedSettings.endpointMcpTest);\n\t\trootStore.setTimezone(fetchedSettings.timezone);\n\t\trootStore.setExecutionTimeout(fetchedSettings.executionTimeout);\n\t\trootStore.setMaxExecutionTimeout(fetchedSettings.maxExecutionTimeout);\n\t\trootStore.setInstanceId(fetchedSettings.instanceId);\n\t\trootStore.setOauthCallbackUrls(fetchedSettings.oauthCallbackUrls);\n\t\trootStore.setN8nMetadata(fetchedSettings.n8nMetadata ?? {});\n\t\trootStore.setBinaryDataMode(fetchedSettings.binaryDataMode);\n\n\t\tif (fetchedSettings.telemetry.enabled) {\n\t\t\tvoid eventsApi.sessionStarted(rootStore.restApiContext);\n\t\t}\n\t};\n\n\tconst initialize = async () => {\n\t\tif (initialized.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait getSettings();\n\n\t\tinitialized.value = true;\n\t};\n\n\tconst stopShowingSetupPage = () => {\n\t\tuserManagement.value.showSetupOnFirstLoad = false;\n\t};\n\n\tconst disableTemplates = () => {\n\t\tsettings.value = {\n\t\t\t...settings.value,\n\t\t\ttemplates: {\n\t\t\t\t...settings.value.templates,\n\t\t\t\tenabled: false,\n\t\t\t},\n\t\t};\n\t};\n\n\tconst testTemplatesEndpoint = async () => {\n\t\tconst timeout = new Promise((_, reject) =>\n\t\t\tsetTimeout(() => reject(new Error('Templates health check timed out')), 2000),\n\t\t);\n\t\tawait Promise.race([testHealthEndpoint(templatesHost.value), timeout]);\n\t\ttemplatesEndpointHealthy.value = true;\n\t};\n\n\tconst getTimezones = async (): Promise<IDataObject> => {\n\t\tconst rootStore = useRootStore();\n\t\treturn await makeRestApiRequest(rootStore.restApiContext, 'GET', '/options/timezones');\n\t};\n\n\tconst reset = () => {\n\t\tsettings.value = {} as FrontendSettings;\n\t};\n\n\tconst getModuleSettings = async () => {\n\t\tconst fetched = await moduleSettingsApi.getModuleSettings(useRootStore().restApiContext);\n\t\tmoduleSettings.value = fetched;\n\t};\n\n\tconst updateAiDataSharingSettings = async (allowSendingParameterValues: boolean) => {\n\t\tconst rootStore = useRootStore();\n\t\tawait aiUsageApi.updateAiUsageSettings(rootStore.restApiContext, {\n\t\t\tallowSendingParameterValues,\n\t\t});\n\t\tif (settings.value.ai) {\n\t\t\tsettings.value.ai.allowSendingParameterValues = allowSendingParameterValues;\n\t\t}\n\t};\n\n\treturn {\n\t\tsettings,\n\t\tuserManagement,\n\t\ttemplatesEndpointHealthy,\n\t\tapi,\n\t\tmfa,\n\t\tisDocker,\n\t\tisDevRelease,\n\t\tendpointHealth,\n\t\tisEnterpriseFeatureEnabled,\n\t\tdatabaseType,\n\t\tplanName,\n\t\tconsumerId,\n\t\tbinaryDataMode,\n\t\tpruning,\n\t\tsecurity,\n\t\tnodeJsVersion,\n\t\tnodeEnv,\n\t\tconcurrency,\n\t\tisConcurrencyEnabled,\n\t\tisPublicApiEnabled,\n\t\tisSwaggerUIEnabled,\n\t\tisPreviewMode,\n\t\tisE2ETestMode,\n\t\tisCanvasOnly,\n\t\tisCrdtCollaborationEnabled,\n\t\tpublicApiLatestVersion,\n\t\tpublicApiPath,\n\t\tshowSetupPage,\n\t\tdeploymentType,\n\t\tisCloudDeployment,\n\t\tisSmtpSetup,\n\t\tisPersonalizationSurveyEnabled,\n\t\ttelemetry,\n\t\tlogLevel,\n\t\tisTelemetryEnabled,\n\t\tisMfaFeatureEnabled,\n\t\tisFoldersFeatureEnabled,\n\t\tisAiAssistantEnabled,\n\t\tisCustomRolesFeatureEnabled,\n\t\tareTagsEnabled,\n\t\tisAutosaveEnabled,\n\t\tisHiringBannerEnabled,\n\t\tisTemplatesEnabled,\n\t\tisTemplatesEndpointReachable,\n\t\ttemplatesHost,\n\t\tpushBackend,\n\t\tisCommunityNodesFeatureEnabled,\n\t\tisUnverifiedPackagesEnabled,\n\t\tallowedModules,\n\t\tisQueueModeEnabled,\n\t\tisMultiMain,\n\t\tisWorkerViewAvailable,\n\t\tworkflowCallerPolicyDefaultOption,\n\t\tpermanentlyDismissedBanners,\n\t\tsaveDataErrorExecution,\n\t\tsaveDataSuccessExecution,\n\t\tsaveManualExecutions,\n\t\tsaveDataProgressExecution,\n\t\tisCommunityPlan,\n\t\tisAskAiEnabled,\n\t\tisAiBuilderEnabled,\n\t\tisAiAssistantOrBuilderEnabled,\n\t\tisAiCreditsEnabled,\n\t\taiCreditsQuota,\n\t\tisAiDataSharingEnabled,\n\t\tisAiGatewayEnabled,\n\t\taiGatewayBudget,\n\t\treset,\n\t\tgetTimezones,\n\t\ttestTemplatesEndpoint,\n\t\tdisableTemplates,\n\t\tstopShowingSetupPage,\n\t\tgetSettings,\n\t\tsetSettings,\n\t\tsetWorkflowReviewsPolicy,\n\t\tinitialize,\n\t\tgetModuleSettings,\n\t\tmoduleSettings,\n\t\tupdateAiDataSharingSettings,\n\t\tisMFAEnforcementLicensed,\n\t\tisMFAEnforced,\n\t\tactiveModules,\n\t\tisModuleActive,\n\t\tisAgentModuleActive,\n\t\tisDataTableFeatureEnabled,\n\t\tisChatFeatureEnabled,\n\t\tisOtelCustomSpanAttributesEnabled,\n\t\tisAgentsKnowledgeBaseFeatureEnabled,\n\t\tisPublicChatTriggerDisabled,\n\t\tisWorkflowPublicationServiceEnabled,\n\t};\n});\n"],"mappings":"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7C,MAAM,yBAAyB;AAC9B,WAAS,QAAQ;GAChB,GAAG,SAAS;GACZ,WAAW;IACV,GAAG,SAAS,MAAM;IAClB,SAAS;IACT;GACD;;CAGF,MAAM,wBAAwB,YAAY;EACzC,MAAM,UAAU,IAAI,SAAS,GAAG,WAC/B,iBAAiB,uBAAO,IAAI,MAAM,mCAAmC,CAAC,EAAE,IAAK,CAC7E;AACD,QAAM,QAAQ,KAAK,CAAC,mBAAmB,cAAc,MAAM,EAAE,QAAQ,CAAC;AACtE,2BAAyB,QAAQ;;CAGlC,MAAM,eAAe,YAAkC;AAEtD,SAAO,MAAM,mBADK,cAAc,CACU,gBAAgB,OAAO,qBAAqB;;CAGvF,MAAM,cAAc;AACnB,WAAS,QAAQ,EAAE;;CAGpB,MAAM,oBAAoB,YAAY;AAErC,iBAAe,QADC,MAAM,kBAAkB,kBAAkB,cAAc,CAAC,eAAe;;CAIzF,MAAM,8BAA8B,OAAO,gCAAyC;EACnF,MAAM,YAAY,cAAc;AAChC,QAAM,WAAW,sBAAsB,UAAU,gBAAgB,EAChE,6BACA,CAAC;AACF,MAAI,SAAS,MAAM,GAClB,UAAS,MAAM,GAAG,8BAA8B;;AAIlD,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA"}
|
|
1
|
+
{"version":3,"file":"settings2.store.mjs","names":["allowedModules"],"sources":["../src/settings.store.ts"],"sourcesContent":["import {\n\tAuthenticationMethod,\n\ttype IUserManagementSettings,\n\ttype FrontendSettings,\n\ttype FrontendModuleSettings,\n\ttype WorkflowReviewsPolicy,\n} from '@n8n/api-types';\nimport { i18n } from '@n8n/i18n';\nimport { makeRestApiRequest } from '@n8n/rest-api-client';\nimport * as aiUsageApi from '@n8n/rest-api-client/api/ai-usage';\nimport * as eventsApi from '@n8n/rest-api-client/api/events';\nimport * as moduleSettingsApi from '@n8n/rest-api-client/api/module-settings';\nimport * as settingsApi from '@n8n/rest-api-client/api/settings';\nimport { testHealthEndpoint } from '@n8n/rest-api-client/api/templates';\nimport Bowser from 'bowser';\nimport type { IDataObject, WorkflowSettings } from 'n8n-workflow';\nimport { defineStore } from 'pinia';\nimport { computed, ref } from 'vue';\n\nimport { STORES } from './constants';\nimport { useRootStore } from './useRootStore';\n\n/**\n * Full-page warning rendered when the instance requires a secure cookie but the\n * page is served over an insecure origin (or via Safari, which drops the cookie).\n * The copy is localized; the structural markup and inline styles stay in code\n * because this is written via `document.write` before the Vue app mounts.\n */\nconst buildInsecureConnectionWarning = () => `\n<body style=\"margin-top: 20px; font-family: 'Open Sans', sans-serif; text-align: center;\">\n<h1 style=\"font-size: 40px\">🚫</h1>\n<h2>${i18n.baseText('settings.authCookie.insecureConnection.title')}</h2>\n<br/>\n<div style=\"font-size: 18px; max-width: 640px; text-align: left; margin: 10px auto\">\n\t${i18n.baseText('settings.authCookie.insecureConnection.fixIntro')}\n\t<ul>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.tls')}</li>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.localhost', { interpolate: { localhostUrl: 'http://localhost:5678' } })}</li>\n\t\t<li>${i18n.baseText('settings.authCookie.insecureConnection.option.disableSecureCookie', { interpolate: { envVar: 'N8N_SECURE_COOKIE' } })}</li>\n\t</ul>\n</div>\n</body>`;\n\nexport const useSettingsStore = defineStore(STORES.SETTINGS, () => {\n\tconst initialized = ref(false);\n\tconst settings = ref<FrontendSettings>({} as FrontendSettings);\n\tconst moduleSettings = ref<FrontendModuleSettings>({});\n\tconst userManagement = ref<IUserManagementSettings>({\n\t\tquota: -1,\n\t\tshowSetupOnFirstLoad: false,\n\t\tsmtpSetup: false,\n\t\tauthenticationMethod: AuthenticationMethod.Email,\n\t\tpasswordMinLength: 8,\n\t});\n\tconst templatesEndpointHealthy = ref(false);\n\tconst api = ref({\n\t\tenabled: false,\n\t\tlatestVersion: 0,\n\t\tpath: '/',\n\t\tswaggerUi: {\n\t\t\tenabled: false,\n\t\t},\n\t});\n\tconst mfa = ref({ enabled: false });\n\tconst folders = ref({ enabled: false });\n\n\tconst saveDataErrorExecution = ref<WorkflowSettings.SaveDataExecution>('all');\n\tconst saveDataSuccessExecution = ref<WorkflowSettings.SaveDataExecution>('all');\n\tconst saveManualExecutions = ref(false);\n\tconst saveDataProgressExecution = ref(false);\n\tconst isMFAEnforced = ref(false);\n\n\tconst isDocker = computed(() => settings.value?.isDocker ?? false);\n\n\tconst databaseType = computed(() => settings.value?.databaseType);\n\n\tconst planName = computed(() => settings.value?.license?.planName ?? 'Community');\n\n\tconst consumerId = computed(() => settings.value?.license?.consumerId);\n\n\tconst binaryDataMode = computed(() => settings.value?.binaryDataMode);\n\n\tconst pruning = computed(() => settings.value?.pruning);\n\n\tconst security = computed(() => ({\n\t\tblockFileAccessToN8nFiles: settings.value?.security?.blockFileAccessToN8nFiles,\n\t\tsecureCookie: settings.value?.authCookie?.secure,\n\t}));\n\n\tconst isEnterpriseFeatureEnabled = computed(() => settings.value.enterprise ?? {});\n\n\tconst nodeJsVersion = computed(() => settings.value.nodeJsVersion);\n\n\tconst nodeEnv = computed(() => settings.value.nodeEnv);\n\n\tconst concurrency = computed(() => settings.value.concurrency);\n\n\tconst isConcurrencyEnabled = computed(() => concurrency.value !== -1);\n\n\tconst isPublicApiEnabled = computed(() => api.value.enabled);\n\n\tconst isSwaggerUIEnabled = computed(() => api.value.swaggerUi?.enabled ?? false);\n\n\tconst isPreviewMode = computed(() => settings.value.previewMode);\n\n\tconst isE2ETestMode = computed(() => settings.value.inE2ETests);\n\n\tconst isCanvasOnly = computed(() => settings.value.canvasOnly);\n\n\tconst isCrdtCollaborationEnabled = computed(\n\t\t() => (settings.value.collaboration?.crdt ?? 'off') !== 'off',\n\t);\n\n\tconst publicApiLatestVersion = computed(() => api.value.latestVersion);\n\n\tconst publicApiPath = computed(() => api.value.path);\n\n\tconst isAiAssistantEnabled = computed(\n\t\t() => settings.value.aiAssistant?.enabled && settings.value.aiAssistant?.setup,\n\t);\n\n\tconst isAskAiEnabled = computed(() => settings.value.askAi?.enabled);\n\n\tconst isAiBuilderEnabled = computed(\n\t\t() => settings.value.aiBuilder?.enabled && settings.value.aiBuilder?.setup,\n\t);\n\n\tconst isAiAssistantOrBuilderEnabled = computed(\n\t\t() => isAiAssistantEnabled.value || isAiBuilderEnabled.value,\n\t);\n\n\tconst showSetupPage = computed(() => userManagement.value.showSetupOnFirstLoad);\n\n\tconst deploymentType = computed(() => settings.value.deployment?.type || 'default');\n\n\tconst isCloudDeployment = computed(() => settings.value.deployment?.type === 'cloud');\n\n\tconst activeModules = computed(() => settings.value.activeModules);\n\n\tconst isModuleActive = (moduleName: string) => {\n\t\treturn activeModules.value?.includes(moduleName);\n\t};\n\n\t/**\n\t * Checks whether an agents-module sub-feature token (listed in\n\t * `N8N_AGENTS_MODULES` on the backend) is enabled. Returns `false`\n\t * unless the top-level `agents` module is active AND the token is\n\t * present in the module settings' `modules` array.\n\t *\n\t * Known tokens: see `AGENTS_MODULE_NAMES` in `agents.config.ts`.\n\t */\n\tconst isAgentModuleActive = (name: string): boolean => {\n\t\treturn (\n\t\t\tisModuleActive('agents') && moduleSettings.value.agents?.modules?.includes(name) === true\n\t\t);\n\t};\n\n\tconst isAiCreditsEnabled = computed(\n\t\t() => settings.value.aiCredits?.enabled && settings.value.aiCredits?.setup,\n\t);\n\n\tconst aiCreditsQuota = computed(() => settings.value.aiCredits?.credits);\n\n\tconst isAiDataSharingEnabled = computed(\n\t\t() => settings.value.ai?.allowSendingParameterValues ?? true,\n\t);\n\n\tconst isAiGatewayEnabled = computed(() => settings.value.aiGateway?.enabled ?? false);\n\n\tconst isAiGatewayCloudUbbEnabled = computed(\n\t\t() => settings.value.aiGateway?.cloudUbbEnabled ?? false,\n\t);\n\n\tconst aiGatewayBudget = computed(() => settings.value.aiGateway?.budget ?? 0);\n\n\tconst isSmtpSetup = computed(() => userManagement.value.smtpSetup);\n\n\tconst isPersonalizationSurveyEnabled = computed(\n\t\t() => settings.value.telemetry?.enabled && settings.value.personalizationSurveyEnabled,\n\t);\n\n\tconst telemetry = computed(() => settings.value.telemetry);\n\n\tconst logLevel = computed(() => settings.value.logLevel);\n\n\tconst isTelemetryEnabled = computed(() => settings.value.telemetry?.enabled);\n\n\tconst isMFAEnforcementLicensed = computed(() => {\n\t\treturn settings.value.enterprise?.mfaEnforcement ?? false;\n\t});\n\n\tconst isMfaFeatureEnabled = computed(() => mfa.value.enabled);\n\n\tconst isFoldersFeatureEnabled = computed(() => folders.value.enabled);\n\n\tconst isDataTableFeatureEnabled = computed(() => isModuleActive('data-table'));\n\n\tconst isChatFeatureEnabled = computed(\n\t\t() => isModuleActive('chat-hub') && moduleSettings.value['chat-hub']?.enabled === true,\n\t);\n\n\tconst isOtelCustomSpanAttributesEnabled = computed(() => {\n\t\tconst isOtelCustomSpanAttributesLicensed =\n\t\t\tsettings.value.enterprise?.otelCustomSpanAttributes ?? false;\n\t\tconst isOtelModuleActive =\n\t\t\tisModuleActive('otel') && moduleSettings.value.otel?.enabled === true;\n\n\t\treturn isOtelCustomSpanAttributesLicensed && isOtelModuleActive;\n\t});\n\n\t// Opt-in flag controlled by the backend's N8N_AGENTS_AI_SANDBOX_ENABLED setting.\n\tconst isAgentsKnowledgeBaseFeatureEnabled = computed(\n\t\t() => isModuleActive('agents') && moduleSettings.value.agents?.knowledgeBaseEnabled === true,\n\t);\n\n\tconst isPublicChatTriggerDisabled = computed(\n\t\t() => settings.value.chatTrigger?.disablePublicChat ?? false,\n\t);\n\n\tconst isCustomRolesFeatureEnabled = computed(\n\t\t() => settings.value.enterprise?.customRoles ?? false,\n\t);\n\n\tconst areTagsEnabled = computed(() =>\n\t\tsettings.value.workflowTagsDisabled !== undefined ? !settings.value.workflowTagsDisabled : true,\n\t);\n\n\tconst isAutosaveEnabled = computed(() =>\n\t\tsettings.value.workflowsAutosaveDisabled !== undefined\n\t\t\t? !settings.value.workflowsAutosaveDisabled\n\t\t\t: true,\n\t);\n\n\tconst isHiringBannerEnabled = computed(() => settings.value.hiringBannerEnabled);\n\n\tconst isTemplatesEnabled = computed(() => Boolean(settings.value.templates?.enabled));\n\n\tconst isTemplatesEndpointReachable = computed(() => templatesEndpointHealthy.value);\n\n\tconst templatesHost = computed(() => settings.value.templates?.host ?? '');\n\n\tconst pushBackend = computed(() => settings.value.pushBackend);\n\n\tconst isCommunityNodesFeatureEnabled = computed(() => settings.value.communityNodesEnabled);\n\n\tconst isUnverifiedPackagesEnabled = computed(\n\t\t() => settings.value.unverifiedCommunityNodesEnabled,\n\t);\n\n\tconst allowedModules = computed(() => settings.value.allowedModules);\n\n\tconst isQueueModeEnabled = computed(() => settings.value.executionMode === 'queue');\n\tconst isMultiMain = computed(() => settings.value.isMultiMain);\n\n\tconst isWorkerViewAvailable = computed(() => !!settings.value.enterprise?.workerView);\n\n\tconst workflowCallerPolicyDefaultOption = computed(\n\t\t() => settings.value.workflowCallerPolicyDefaultOption,\n\t);\n\n\tconst permanentlyDismissedBanners = computed(() => settings.value.banners?.dismissed ?? []);\n\n\tconst isCommunityPlan = computed(() => planName.value.toLowerCase() === 'community');\n\n\tconst isDevRelease = computed(() => settings.value.releaseChannel === 'dev');\n\n\tconst endpointHealth = computed(() => settings.value.endpointHealth);\n\n\tconst isWorkflowPublicationServiceEnabled = computed(\n\t\t() => settings.value.useWorkflowPublicationService ?? false,\n\t);\n\n\tconst setSettings = (newSettings: FrontendSettings) => {\n\t\tsettings.value = newSettings;\n\n\t\tuserManagement.value = newSettings.userManagement;\n\t\tif (userManagement.value) {\n\t\t\tuserManagement.value.showSetupOnFirstLoad =\n\t\t\t\t!!settings.value.userManagement.showSetupOnFirstLoad;\n\t\t}\n\n\t\tif (settings.value.publicApi) {\n\t\t\tapi.value = settings.value.publicApi;\n\t\t}\n\n\t\tmfa.value.enabled = settings.value.mfa?.enabled;\n\t\tfolders.value.enabled = settings.value.folders?.enabled;\n\n\t\tif (settings.value.versionCli) {\n\t\t\tuseRootStore().setVersionCli(settings.value.versionCli);\n\t\t}\n\n\t\tif (settings.value.authCookie.secure) {\n\t\t\tconst { browser } = Bowser.parse(navigator.userAgent);\n\t\t\tif (\n\t\t\t\tlocation.protocol === 'http:' &&\n\t\t\t\t(!['localhost', '127.0.0.1'].includes(location.hostname) || browser.name === 'Safari')\n\t\t\t) {\n\t\t\t\tdocument.write(buildInsecureConnectionWarning());\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst setAllowedModules = (allowedModules: FrontendSettings['allowedModules']) => {\n\t\tsettings.value.allowedModules = allowedModules;\n\t};\n\n\tconst setWorkflowReviewsPolicy = (policy: WorkflowReviewsPolicy) => {\n\t\tsettings.value.workflowReviews = policy;\n\t};\n\n\tconst setSaveDataErrorExecution = (newValue: WorkflowSettings.SaveDataExecution) => {\n\t\tsaveDataErrorExecution.value = newValue;\n\t};\n\n\tconst setSaveDataSuccessExecution = (newValue: WorkflowSettings.SaveDataExecution) => {\n\t\tsaveDataSuccessExecution.value = newValue;\n\t};\n\n\tconst setSaveManualExecutions = (newValue: boolean) => {\n\t\tsaveManualExecutions.value = newValue;\n\t};\n\n\tconst setSaveDataProgressExecution = (newValue: boolean) => {\n\t\tsaveDataProgressExecution.value = newValue;\n\t};\n\n\tconst getSettings = async () => {\n\t\tconst rootStore = useRootStore();\n\t\tconst fetchedSettings = await settingsApi.getSettings(rootStore.restApiContext);\n\n\t\tsetSettings(fetchedSettings);\n\t\trootStore.setDefaultLocale(fetchedSettings.defaultLocale);\n\n\t\t// Set MFA enforced state even for public settings mode\n\t\t// as it is needed to determine if the MFA setup page should be shown\n\t\tisMFAEnforced.value = settings.value.mfa?.enforced ?? false;\n\n\t\tif (fetchedSettings.settingsMode === 'public') {\n\t\t\t// public settings mode is typically used for unauthenticated users\n\t\t\t// when public settings are returned we can skip the rest of the setup\n\t\t\t// that need the full set of authenticated settings\n\t\t\treturn;\n\t\t}\n\n\t\tsettings.value.communityNodesEnabled = fetchedSettings.communityNodesEnabled;\n\t\tsettings.value.unverifiedCommunityNodesEnabled =\n\t\t\tfetchedSettings.unverifiedCommunityNodesEnabled;\n\t\tsetAllowedModules(fetchedSettings.allowedModules);\n\t\tsetSaveDataErrorExecution(fetchedSettings.saveDataErrorExecution);\n\t\tsetSaveDataSuccessExecution(fetchedSettings.saveDataSuccessExecution);\n\t\tsetSaveDataProgressExecution(fetchedSettings.saveExecutionProgress);\n\t\tsetSaveManualExecutions(fetchedSettings.saveManualExecutions);\n\n\t\trootStore.setUrlBaseWebhook(fetchedSettings.urlBaseWebhook);\n\t\trootStore.setUrlBaseEditor(fetchedSettings.urlBaseEditor);\n\t\trootStore.setUrlBaseWebhookTest(fetchedSettings.urlBaseWebhookTest);\n\t\trootStore.setEndpointForm(fetchedSettings.endpointForm);\n\t\trootStore.setEndpointFormTest(fetchedSettings.endpointFormTest);\n\t\trootStore.setEndpointFormWaiting(fetchedSettings.endpointFormWaiting);\n\t\trootStore.setEndpointWebhook(fetchedSettings.endpointWebhook);\n\t\trootStore.setEndpointWebhookTest(fetchedSettings.endpointWebhookTest);\n\t\trootStore.setEndpointWebhookWaiting(fetchedSettings.endpointWebhookWaiting);\n\t\trootStore.setEndpointMcp(fetchedSettings.endpointMcp);\n\t\trootStore.setEndpointMcpTest(fetchedSettings.endpointMcpTest);\n\t\trootStore.setTimezone(fetchedSettings.timezone);\n\t\trootStore.setExecutionTimeout(fetchedSettings.executionTimeout);\n\t\trootStore.setMaxExecutionTimeout(fetchedSettings.maxExecutionTimeout);\n\t\trootStore.setPublicApiPath(\n\t\t\t`${fetchedSettings.publicApi.path}/v${fetchedSettings.publicApi.latestVersion}`,\n\t\t);\n\t\trootStore.setInstanceId(fetchedSettings.instanceId);\n\t\trootStore.setOauthCallbackUrls(fetchedSettings.oauthCallbackUrls);\n\t\trootStore.setN8nMetadata(fetchedSettings.n8nMetadata ?? {});\n\t\trootStore.setBinaryDataMode(fetchedSettings.binaryDataMode);\n\n\t\tif (fetchedSettings.telemetry.enabled) {\n\t\t\tvoid eventsApi.sessionStarted(rootStore.restApiContext);\n\t\t}\n\t};\n\n\tconst initialize = async () => {\n\t\tif (initialized.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait getSettings();\n\n\t\tinitialized.value = true;\n\t};\n\n\tconst stopShowingSetupPage = () => {\n\t\tuserManagement.value.showSetupOnFirstLoad = false;\n\t};\n\n\tconst disableTemplates = () => {\n\t\tsettings.value = {\n\t\t\t...settings.value,\n\t\t\ttemplates: {\n\t\t\t\t...settings.value.templates,\n\t\t\t\tenabled: false,\n\t\t\t},\n\t\t};\n\t};\n\n\tconst testTemplatesEndpoint = async () => {\n\t\tconst timeout = new Promise((_, reject) =>\n\t\t\tsetTimeout(() => reject(new Error('Templates health check timed out')), 2000),\n\t\t);\n\t\tawait Promise.race([testHealthEndpoint(templatesHost.value), timeout]);\n\t\ttemplatesEndpointHealthy.value = true;\n\t};\n\n\tconst getTimezones = async (): Promise<IDataObject> => {\n\t\tconst rootStore = useRootStore();\n\t\treturn await makeRestApiRequest(rootStore.restApiContext, 'GET', '/options/timezones');\n\t};\n\n\tconst reset = () => {\n\t\tsettings.value = {} as FrontendSettings;\n\t};\n\n\tconst getModuleSettings = async () => {\n\t\tconst fetched = await moduleSettingsApi.getModuleSettings(useRootStore().restApiContext);\n\t\tmoduleSettings.value = fetched;\n\t};\n\n\tconst updateAiDataSharingSettings = async (allowSendingParameterValues: boolean) => {\n\t\tconst rootStore = useRootStore();\n\t\tawait aiUsageApi.updateAiUsageSettings(rootStore.restApiContext, {\n\t\t\tallowSendingParameterValues,\n\t\t});\n\t\tif (settings.value.ai) {\n\t\t\tsettings.value.ai.allowSendingParameterValues = allowSendingParameterValues;\n\t\t}\n\t};\n\n\treturn {\n\t\tsettings,\n\t\tuserManagement,\n\t\ttemplatesEndpointHealthy,\n\t\tapi,\n\t\tmfa,\n\t\tisDocker,\n\t\tisDevRelease,\n\t\tendpointHealth,\n\t\tisEnterpriseFeatureEnabled,\n\t\tdatabaseType,\n\t\tplanName,\n\t\tconsumerId,\n\t\tbinaryDataMode,\n\t\tpruning,\n\t\tsecurity,\n\t\tnodeJsVersion,\n\t\tnodeEnv,\n\t\tconcurrency,\n\t\tisConcurrencyEnabled,\n\t\tisPublicApiEnabled,\n\t\tisSwaggerUIEnabled,\n\t\tisPreviewMode,\n\t\tisE2ETestMode,\n\t\tisCanvasOnly,\n\t\tisCrdtCollaborationEnabled,\n\t\tpublicApiLatestVersion,\n\t\tpublicApiPath,\n\t\tshowSetupPage,\n\t\tdeploymentType,\n\t\tisCloudDeployment,\n\t\tisSmtpSetup,\n\t\tisPersonalizationSurveyEnabled,\n\t\ttelemetry,\n\t\tlogLevel,\n\t\tisTelemetryEnabled,\n\t\tisMfaFeatureEnabled,\n\t\tisFoldersFeatureEnabled,\n\t\tisAiAssistantEnabled,\n\t\tisCustomRolesFeatureEnabled,\n\t\tareTagsEnabled,\n\t\tisAutosaveEnabled,\n\t\tisHiringBannerEnabled,\n\t\tisTemplatesEnabled,\n\t\tisTemplatesEndpointReachable,\n\t\ttemplatesHost,\n\t\tpushBackend,\n\t\tisCommunityNodesFeatureEnabled,\n\t\tisUnverifiedPackagesEnabled,\n\t\tallowedModules,\n\t\tisQueueModeEnabled,\n\t\tisMultiMain,\n\t\tisWorkerViewAvailable,\n\t\tworkflowCallerPolicyDefaultOption,\n\t\tpermanentlyDismissedBanners,\n\t\tsaveDataErrorExecution,\n\t\tsaveDataSuccessExecution,\n\t\tsaveManualExecutions,\n\t\tsaveDataProgressExecution,\n\t\tisCommunityPlan,\n\t\tisAskAiEnabled,\n\t\tisAiBuilderEnabled,\n\t\tisAiAssistantOrBuilderEnabled,\n\t\tisAiCreditsEnabled,\n\t\taiCreditsQuota,\n\t\tisAiDataSharingEnabled,\n\t\tisAiGatewayEnabled,\n\t\tisAiGatewayCloudUbbEnabled,\n\t\taiGatewayBudget,\n\t\treset,\n\t\tgetTimezones,\n\t\ttestTemplatesEndpoint,\n\t\tdisableTemplates,\n\t\tstopShowingSetupPage,\n\t\tgetSettings,\n\t\tsetSettings,\n\t\tsetWorkflowReviewsPolicy,\n\t\tinitialize,\n\t\tgetModuleSettings,\n\t\tmoduleSettings,\n\t\tupdateAiDataSharingSettings,\n\t\tisMFAEnforcementLicensed,\n\t\tisMFAEnforced,\n\t\tactiveModules,\n\t\tisModuleActive,\n\t\tisAgentModuleActive,\n\t\tisDataTableFeatureEnabled,\n\t\tisChatFeatureEnabled,\n\t\tisOtelCustomSpanAttributesEnabled,\n\t\tisAgentsKnowledgeBaseFeatureEnabled,\n\t\tisPublicChatTriggerDisabled,\n\t\tisWorkflowPublicationServiceEnabled,\n\t};\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,uCAAuC;;;MAGvC,KAAK,SAAS,+CAA+C,CAAC;;;GAGjE,KAAK,SAAS,kDAAkD,CAAC;;QAE5D,KAAK,SAAS,oDAAoD,CAAC;QACnE,KAAK,SAAS,2DAA2D,EAAE,aAAa,EAAE,cAAc,yBAAyB,EAAE,CAAC,CAAC;QACrI,KAAK,SAAS,qEAAqE,EAAE,aAAa,EAAE,QAAQ,qBAAqB,EAAE,CAAC,CAAC;;;;AAK7I,MAAa,mBAAmB,YAAY,OAAO,gBAAgB;CAClE,MAAM,cAAc,IAAI,MAAM;CAC9B,MAAM,WAAW,IAAsB,EAAE,CAAqB;CAC9D,MAAM,iBAAiB,IAA4B,EAAE,CAAC;CACtD,MAAM,iBAAiB,IAA6B;EACnD,OAAO;EACP,sBAAsB;EACtB,WAAW;EACX,sBAAsB,qBAAqB;EAC3C,mBAAmB;EACnB,CAAC;CACF,MAAM,2BAA2B,IAAI,MAAM;CAC3C,MAAM,MAAM,IAAI;EACf,SAAS;EACT,eAAe;EACf,MAAM;EACN,WAAW,EACV,SAAS,OACT;EACD,CAAC;CACF,MAAM,MAAM,IAAI,EAAE,SAAS,OAAO,CAAC;CACnC,MAAM,UAAU,IAAI,EAAE,SAAS,OAAO,CAAC;CAEvC,MAAM,yBAAyB,IAAwC,MAAM;CAC7E,MAAM,2BAA2B,IAAwC,MAAM;CAC/E,MAAM,uBAAuB,IAAI,MAAM;CACvC,MAAM,4BAA4B,IAAI,MAAM;CAC5C,MAAM,gBAAgB,IAAI,MAAM;CAEhC,MAAM,WAAW,eAAe,SAAS,OAAO,YAAY,MAAM;CAElE,MAAM,eAAe,eAAe,SAAS,OAAO,aAAa;CAEjE,MAAM,WAAW,eAAe,SAAS,OAAO,SAAS,YAAY,YAAY;CAEjF,MAAM,aAAa,eAAe,SAAS,OAAO,SAAS,WAAW;CAEtE,MAAM,iBAAiB,eAAe,SAAS,OAAO,eAAe;CAErE,MAAM,UAAU,eAAe,SAAS,OAAO,QAAQ;CAEvD,MAAM,WAAW,gBAAgB;EAChC,2BAA2B,SAAS,OAAO,UAAU;EACrD,cAAc,SAAS,OAAO,YAAY;EAC1C,EAAE;CAEH,MAAM,6BAA6B,eAAe,SAAS,MAAM,cAAc,EAAE,CAAC;CAElF,MAAM,gBAAgB,eAAe,SAAS,MAAM,cAAc;CAElE,MAAM,UAAU,eAAe,SAAS,MAAM,QAAQ;CAEtD,MAAM,cAAc,eAAe,SAAS,MAAM,YAAY;CAE9D,MAAM,uBAAuB,eAAe,YAAY,UAAU,GAAG;CAErE,MAAM,qBAAqB,eAAe,IAAI,MAAM,QAAQ;CAE5D,MAAM,qBAAqB,eAAe,IAAI,MAAM,WAAW,WAAW,MAAM;CAEhF,MAAM,gBAAgB,eAAe,SAAS,MAAM,YAAY;CAEhE,MAAM,gBAAgB,eAAe,SAAS,MAAM,WAAW;CAE/D,MAAM,eAAe,eAAe,SAAS,MAAM,WAAW;CAE9D,MAAM,6BAA6B,gBAC3B,SAAS,MAAM,eAAe,QAAQ,WAAW,MACxD;CAED,MAAM,yBAAyB,eAAe,IAAI,MAAM,cAAc;CAEtE,MAAM,gBAAgB,eAAe,IAAI,MAAM,KAAK;CAEpD,MAAM,uBAAuB,eACtB,SAAS,MAAM,aAAa,WAAW,SAAS,MAAM,aAAa,MACzE;CAED,MAAM,iBAAiB,eAAe,SAAS,MAAM,OAAO,QAAQ;CAEpE,MAAM,qBAAqB,eACpB,SAAS,MAAM,WAAW,WAAW,SAAS,MAAM,WAAW,MACrE;CAED,MAAM,gCAAgC,eAC/B,qBAAqB,SAAS,mBAAmB,MACvD;CAED,MAAM,gBAAgB,eAAe,eAAe,MAAM,qBAAqB;CAE/E,MAAM,iBAAiB,eAAe,SAAS,MAAM,YAAY,QAAQ,UAAU;CAEnF,MAAM,oBAAoB,eAAe,SAAS,MAAM,YAAY,SAAS,QAAQ;CAErF,MAAM,gBAAgB,eAAe,SAAS,MAAM,cAAc;CAElE,MAAM,kBAAkB,eAAuB;AAC9C,SAAO,cAAc,OAAO,SAAS,WAAW;;;;;;;;;;CAWjD,MAAM,uBAAuB,SAA0B;AACtD,SACC,eAAe,SAAS,IAAI,eAAe,MAAM,QAAQ,SAAS,SAAS,KAAK,KAAK;;CAIvF,MAAM,qBAAqB,eACpB,SAAS,MAAM,WAAW,WAAW,SAAS,MAAM,WAAW,MACrE;CAED,MAAM,iBAAiB,eAAe,SAAS,MAAM,WAAW,QAAQ;CAExE,MAAM,yBAAyB,eACxB,SAAS,MAAM,IAAI,+BAA+B,KACxD;CAED,MAAM,qBAAqB,eAAe,SAAS,MAAM,WAAW,WAAW,MAAM;CAErF,MAAM,6BAA6B,eAC5B,SAAS,MAAM,WAAW,mBAAmB,MACnD;CAED,MAAM,kBAAkB,eAAe,SAAS,MAAM,WAAW,UAAU,EAAE;CAE7E,MAAM,cAAc,eAAe,eAAe,MAAM,UAAU;CAElE,MAAM,iCAAiC,eAChC,SAAS,MAAM,WAAW,WAAW,SAAS,MAAM,6BAC1D;CAED,MAAM,YAAY,eAAe,SAAS,MAAM,UAAU;CAE1D,MAAM,WAAW,eAAe,SAAS,MAAM,SAAS;CAExD,MAAM,qBAAqB,eAAe,SAAS,MAAM,WAAW,QAAQ;CAE5E,MAAM,2BAA2B,eAAe;AAC/C,SAAO,SAAS,MAAM,YAAY,kBAAkB;GACnD;CAEF,MAAM,sBAAsB,eAAe,IAAI,MAAM,QAAQ;CAE7D,MAAM,0BAA0B,eAAe,QAAQ,MAAM,QAAQ;CAErE,MAAM,4BAA4B,eAAe,eAAe,aAAa,CAAC;CAE9E,MAAM,uBAAuB,eACtB,eAAe,WAAW,IAAI,eAAe,MAAM,aAAa,YAAY,KAClF;CAED,MAAM,oCAAoC,eAAe;EACxD,MAAM,qCACL,SAAS,MAAM,YAAY,4BAA4B;EACxD,MAAM,qBACL,eAAe,OAAO,IAAI,eAAe,MAAM,MAAM,YAAY;AAElE,SAAO,sCAAsC;GAC5C;CAGF,MAAM,sCAAsC,eACrC,eAAe,SAAS,IAAI,eAAe,MAAM,QAAQ,yBAAyB,KACxF;CAED,MAAM,8BAA8B,eAC7B,SAAS,MAAM,aAAa,qBAAqB,MACvD;CAED,MAAM,8BAA8B,eAC7B,SAAS,MAAM,YAAY,eAAe,MAChD;CAED,MAAM,iBAAiB,eACtB,SAAS,MAAM,yBAAyB,SAAY,CAAC,SAAS,MAAM,uBAAuB,KAC3F;CAED,MAAM,oBAAoB,eACzB,SAAS,MAAM,8BAA8B,SAC1C,CAAC,SAAS,MAAM,4BAChB,KACH;CAED,MAAM,wBAAwB,eAAe,SAAS,MAAM,oBAAoB;CAEhF,MAAM,qBAAqB,eAAe,QAAQ,SAAS,MAAM,WAAW,QAAQ,CAAC;CAErF,MAAM,+BAA+B,eAAe,yBAAyB,MAAM;CAEnF,MAAM,gBAAgB,eAAe,SAAS,MAAM,WAAW,QAAQ,GAAG;CAE1E,MAAM,cAAc,eAAe,SAAS,MAAM,YAAY;CAE9D,MAAM,iCAAiC,eAAe,SAAS,MAAM,sBAAsB;CAE3F,MAAM,8BAA8B,eAC7B,SAAS,MAAM,gCACrB;CAED,MAAM,iBAAiB,eAAe,SAAS,MAAM,eAAe;CAEpE,MAAM,qBAAqB,eAAe,SAAS,MAAM,kBAAkB,QAAQ;CACnF,MAAM,cAAc,eAAe,SAAS,MAAM,YAAY;CAE9D,MAAM,wBAAwB,eAAe,CAAC,CAAC,SAAS,MAAM,YAAY,WAAW;CAErF,MAAM,oCAAoC,eACnC,SAAS,MAAM,kCACrB;CAED,MAAM,8BAA8B,eAAe,SAAS,MAAM,SAAS,aAAa,EAAE,CAAC;CAE3F,MAAM,kBAAkB,eAAe,SAAS,MAAM,aAAa,KAAK,YAAY;CAEpF,MAAM,eAAe,eAAe,SAAS,MAAM,mBAAmB,MAAM;CAE5E,MAAM,iBAAiB,eAAe,SAAS,MAAM,eAAe;CAEpE,MAAM,sCAAsC,eACrC,SAAS,MAAM,iCAAiC,MACtD;CAED,MAAM,eAAe,gBAAkC;AACtD,WAAS,QAAQ;AAEjB,iBAAe,QAAQ,YAAY;AACnC,MAAI,eAAe,MAClB,gBAAe,MAAM,uBACpB,CAAC,CAAC,SAAS,MAAM,eAAe;AAGlC,MAAI,SAAS,MAAM,UAClB,KAAI,QAAQ,SAAS,MAAM;AAG5B,MAAI,MAAM,UAAU,SAAS,MAAM,KAAK;AACxC,UAAQ,MAAM,UAAU,SAAS,MAAM,SAAS;AAEhD,MAAI,SAAS,MAAM,WAClB,eAAc,CAAC,cAAc,SAAS,MAAM,WAAW;AAGxD,MAAI,SAAS,MAAM,WAAW,QAAQ;GACrC,MAAM,EAAE,YAAY,OAAO,MAAM,UAAU,UAAU;AACrD,OACC,SAAS,aAAa,YACrB,CAAC,CAAC,aAAa,YAAY,CAAC,SAAS,SAAS,SAAS,IAAI,QAAQ,SAAS,WAC5E;AACD,aAAS,MAAM,gCAAgC,CAAC;AAChD;;;;CAKH,MAAM,qBAAqB,qBAAuD;AACjF,WAAS,MAAM,iBAAiBA;;CAGjC,MAAM,4BAA4B,WAAkC;AACnE,WAAS,MAAM,kBAAkB;;CAGlC,MAAM,6BAA6B,aAAiD;AACnF,yBAAuB,QAAQ;;CAGhC,MAAM,+BAA+B,aAAiD;AACrF,2BAAyB,QAAQ;;CAGlC,MAAM,2BAA2B,aAAsB;AACtD,uBAAqB,QAAQ;;CAG9B,MAAM,gCAAgC,aAAsB;AAC3D,4BAA0B,QAAQ;;CAGnC,MAAM,cAAc,YAAY;EAC/B,MAAM,YAAY,cAAc;EAChC,MAAM,kBAAkB,MAAM,YAAY,YAAY,UAAU,eAAe;AAE/E,cAAY,gBAAgB;AAC5B,YAAU,iBAAiB,gBAAgB,cAAc;AAIzD,gBAAc,QAAQ,SAAS,MAAM,KAAK,YAAY;AAEtD,MAAI,gBAAgB,iBAAiB,SAIpC;AAGD,WAAS,MAAM,wBAAwB,gBAAgB;AACvD,WAAS,MAAM,kCACd,gBAAgB;AACjB,oBAAkB,gBAAgB,eAAe;AACjD,4BAA0B,gBAAgB,uBAAuB;AACjE,8BAA4B,gBAAgB,yBAAyB;AACrE,+BAA6B,gBAAgB,sBAAsB;AACnE,0BAAwB,gBAAgB,qBAAqB;AAE7D,YAAU,kBAAkB,gBAAgB,eAAe;AAC3D,YAAU,iBAAiB,gBAAgB,cAAc;AACzD,YAAU,sBAAsB,gBAAgB,mBAAmB;AACnE,YAAU,gBAAgB,gBAAgB,aAAa;AACvD,YAAU,oBAAoB,gBAAgB,iBAAiB;AAC/D,YAAU,uBAAuB,gBAAgB,oBAAoB;AACrE,YAAU,mBAAmB,gBAAgB,gBAAgB;AAC7D,YAAU,uBAAuB,gBAAgB,oBAAoB;AACrE,YAAU,0BAA0B,gBAAgB,uBAAuB;AAC3E,YAAU,eAAe,gBAAgB,YAAY;AACrD,YAAU,mBAAmB,gBAAgB,gBAAgB;AAC7D,YAAU,YAAY,gBAAgB,SAAS;AAC/C,YAAU,oBAAoB,gBAAgB,iBAAiB;AAC/D,YAAU,uBAAuB,gBAAgB,oBAAoB;AACrE,YAAU,iBACT,GAAG,gBAAgB,UAAU,KAAK,IAAI,gBAAgB,UAAU,gBAChE;AACD,YAAU,cAAc,gBAAgB,WAAW;AACnD,YAAU,qBAAqB,gBAAgB,kBAAkB;AACjE,YAAU,eAAe,gBAAgB,eAAe,EAAE,CAAC;AAC3D,YAAU,kBAAkB,gBAAgB,eAAe;AAE3D,MAAI,gBAAgB,UAAU,QAC7B,CAAK,UAAU,eAAe,UAAU,eAAe;;CAIzD,MAAM,aAAa,YAAY;AAC9B,MAAI,YAAY,MACf;AAGD,QAAM,aAAa;AAEnB,cAAY,QAAQ;;CAGrB,MAAM,6BAA6B;AAClC,iBAAe,MAAM,uBAAuB;;CAG7C,MAAM,yBAAyB;AAC9B,WAAS,QAAQ;GAChB,GAAG,SAAS;GACZ,WAAW;IACV,GAAG,SAAS,MAAM;IAClB,SAAS;IACT;GACD;;CAGF,MAAM,wBAAwB,YAAY;EACzC,MAAM,UAAU,IAAI,SAAS,GAAG,WAC/B,iBAAiB,uBAAO,IAAI,MAAM,mCAAmC,CAAC,EAAE,IAAK,CAC7E;AACD,QAAM,QAAQ,KAAK,CAAC,mBAAmB,cAAc,MAAM,EAAE,QAAQ,CAAC;AACtE,2BAAyB,QAAQ;;CAGlC,MAAM,eAAe,YAAkC;AAEtD,SAAO,MAAM,mBADK,cAAc,CACU,gBAAgB,OAAO,qBAAqB;;CAGvF,MAAM,cAAc;AACnB,WAAS,QAAQ,EAAE;;CAGpB,MAAM,oBAAoB,YAAY;AAErC,iBAAe,QADC,MAAM,kBAAkB,kBAAkB,cAAc,CAAC,eAAe;;CAIzF,MAAM,8BAA8B,OAAO,gCAAyC;EACnF,MAAM,YAAY,cAAc;AAChC,QAAM,WAAW,sBAAsB,UAAU,gBAAgB,EAChE,6BACA,CAAC;AACF,MAAI,SAAS,MAAM,GAClB,UAAS,MAAM,GAAG,8BAA8B;;AAIlD,QAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as pinia3 from "pinia";
|
|
2
2
|
import { AgentRequestQuery } from "n8n-workflow";
|
|
3
3
|
import * as _vueuse_core0 from "@vueuse/core";
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ interface IAgentRequestStoreState {
|
|
|
12
12
|
[nodeName: string]: IAgentRequest;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
declare const useAgentRequestStore:
|
|
15
|
+
declare const useAgentRequestStore: pinia3.StoreDefinition<"agentRequest", Pick<{
|
|
16
16
|
agentRequests: _vueuse_core0.RemovableRef<IAgentRequestStoreState>;
|
|
17
17
|
getAgentRequests: (workflowId: string, nodeId: string) => IAgentRequest["query"];
|
|
18
18
|
getQueryValue: (workflowId: string, nodeId: string, nodeName: string, paramName?: string) => unknown;
|
package/dist/useRootStore.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as vue329 from "vue";
|
|
2
2
|
import * as pinia5 from "pinia";
|
|
3
3
|
|
|
4
4
|
//#region src/useRootStore.d.ts
|
|
@@ -24,6 +24,7 @@ type RootStoreState = {
|
|
|
24
24
|
[key: string]: string | number | undefined;
|
|
25
25
|
};
|
|
26
26
|
pushRef: string;
|
|
27
|
+
publicApiPath: string;
|
|
27
28
|
urlBaseWebhook: string;
|
|
28
29
|
urlBaseEditor: string;
|
|
29
30
|
urlBaseWebhookTest: string;
|
|
@@ -31,32 +32,35 @@ type RootStoreState = {
|
|
|
31
32
|
binaryDataMode: 'default' | 'filesystem' | 's3' | 'azure' | 'database';
|
|
32
33
|
};
|
|
33
34
|
declare const useRootStore: pinia5.StoreDefinition<"root", Pick<{
|
|
34
|
-
baseUrl:
|
|
35
|
-
formUrl:
|
|
36
|
-
formTestUrl:
|
|
37
|
-
formWaitingUrl:
|
|
38
|
-
mcpUrl:
|
|
39
|
-
mcpTestUrl:
|
|
40
|
-
webhookUrl:
|
|
41
|
-
webhookTestUrl:
|
|
42
|
-
webhookWaitingUrl:
|
|
43
|
-
restUrl:
|
|
44
|
-
restApiContext:
|
|
35
|
+
baseUrl: vue329.ComputedRef<string>;
|
|
36
|
+
formUrl: vue329.ComputedRef<string>;
|
|
37
|
+
formTestUrl: vue329.ComputedRef<string>;
|
|
38
|
+
formWaitingUrl: vue329.ComputedRef<string>;
|
|
39
|
+
mcpUrl: vue329.ComputedRef<string>;
|
|
40
|
+
mcpTestUrl: vue329.ComputedRef<string>;
|
|
41
|
+
webhookUrl: vue329.ComputedRef<string>;
|
|
42
|
+
webhookTestUrl: vue329.ComputedRef<string>;
|
|
43
|
+
webhookWaitingUrl: vue329.ComputedRef<string>;
|
|
44
|
+
restUrl: vue329.ComputedRef<string>;
|
|
45
|
+
restApiContext: vue329.ComputedRef<{
|
|
45
46
|
baseUrl: string;
|
|
46
47
|
pushRef: string;
|
|
47
48
|
}>;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
publicApiContext: vue329.ComputedRef<{
|
|
50
|
+
baseUrl: string;
|
|
51
|
+
}>;
|
|
52
|
+
urlBaseEditor: vue329.ComputedRef<string>;
|
|
53
|
+
urlBaseWebhook: vue329.ComputedRef<string>;
|
|
54
|
+
versionCli: vue329.ComputedRef<string>;
|
|
55
|
+
instanceId: vue329.ComputedRef<string>;
|
|
56
|
+
pushRef: vue329.ComputedRef<string>;
|
|
57
|
+
defaultLocale: vue329.ComputedRef<string>;
|
|
58
|
+
binaryDataMode: vue329.ComputedRef<"default" | "filesystem" | "s3" | "azure" | "database">;
|
|
59
|
+
OAuthCallbackUrls: vue329.ComputedRef<object>;
|
|
60
|
+
jwksUri: vue329.ComputedRef<string>;
|
|
61
|
+
executionTimeout: vue329.ComputedRef<number>;
|
|
62
|
+
maxExecutionTimeout: vue329.ComputedRef<number>;
|
|
63
|
+
timezone: vue329.ComputedRef<string>;
|
|
60
64
|
setUrlBaseWebhook: (value: string) => void;
|
|
61
65
|
setUrlBaseEditor: (value: string) => void;
|
|
62
66
|
setUrlBaseWebhookTest: (value: string) => void;
|
|
@@ -79,33 +83,37 @@ declare const useRootStore: pinia5.StoreDefinition<"root", Pick<{
|
|
|
79
83
|
setDefaultLocale: (value: string) => void;
|
|
80
84
|
setBinaryDataMode: (value: RootStoreState["binaryDataMode"]) => void;
|
|
81
85
|
setPushRef: (value: string) => void;
|
|
86
|
+
setPublicApiPath: (value: string) => void;
|
|
82
87
|
}, never>, Pick<{
|
|
83
|
-
baseUrl:
|
|
84
|
-
formUrl:
|
|
85
|
-
formTestUrl:
|
|
86
|
-
formWaitingUrl:
|
|
87
|
-
mcpUrl:
|
|
88
|
-
mcpTestUrl:
|
|
89
|
-
webhookUrl:
|
|
90
|
-
webhookTestUrl:
|
|
91
|
-
webhookWaitingUrl:
|
|
92
|
-
restUrl:
|
|
93
|
-
restApiContext:
|
|
88
|
+
baseUrl: vue329.ComputedRef<string>;
|
|
89
|
+
formUrl: vue329.ComputedRef<string>;
|
|
90
|
+
formTestUrl: vue329.ComputedRef<string>;
|
|
91
|
+
formWaitingUrl: vue329.ComputedRef<string>;
|
|
92
|
+
mcpUrl: vue329.ComputedRef<string>;
|
|
93
|
+
mcpTestUrl: vue329.ComputedRef<string>;
|
|
94
|
+
webhookUrl: vue329.ComputedRef<string>;
|
|
95
|
+
webhookTestUrl: vue329.ComputedRef<string>;
|
|
96
|
+
webhookWaitingUrl: vue329.ComputedRef<string>;
|
|
97
|
+
restUrl: vue329.ComputedRef<string>;
|
|
98
|
+
restApiContext: vue329.ComputedRef<{
|
|
94
99
|
baseUrl: string;
|
|
95
100
|
pushRef: string;
|
|
96
101
|
}>;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
102
|
+
publicApiContext: vue329.ComputedRef<{
|
|
103
|
+
baseUrl: string;
|
|
104
|
+
}>;
|
|
105
|
+
urlBaseEditor: vue329.ComputedRef<string>;
|
|
106
|
+
urlBaseWebhook: vue329.ComputedRef<string>;
|
|
107
|
+
versionCli: vue329.ComputedRef<string>;
|
|
108
|
+
instanceId: vue329.ComputedRef<string>;
|
|
109
|
+
pushRef: vue329.ComputedRef<string>;
|
|
110
|
+
defaultLocale: vue329.ComputedRef<string>;
|
|
111
|
+
binaryDataMode: vue329.ComputedRef<"default" | "filesystem" | "s3" | "azure" | "database">;
|
|
112
|
+
OAuthCallbackUrls: vue329.ComputedRef<object>;
|
|
113
|
+
jwksUri: vue329.ComputedRef<string>;
|
|
114
|
+
executionTimeout: vue329.ComputedRef<number>;
|
|
115
|
+
maxExecutionTimeout: vue329.ComputedRef<number>;
|
|
116
|
+
timezone: vue329.ComputedRef<string>;
|
|
109
117
|
setUrlBaseWebhook: (value: string) => void;
|
|
110
118
|
setUrlBaseEditor: (value: string) => void;
|
|
111
119
|
setUrlBaseWebhookTest: (value: string) => void;
|
|
@@ -128,33 +136,37 @@ declare const useRootStore: pinia5.StoreDefinition<"root", Pick<{
|
|
|
128
136
|
setDefaultLocale: (value: string) => void;
|
|
129
137
|
setBinaryDataMode: (value: RootStoreState["binaryDataMode"]) => void;
|
|
130
138
|
setPushRef: (value: string) => void;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
139
|
+
setPublicApiPath: (value: string) => void;
|
|
140
|
+
}, "executionTimeout" | "maxExecutionTimeout" | "jwksUri" | "timezone" | "urlBaseWebhook" | "urlBaseEditor" | "versionCli" | "binaryDataMode" | "instanceId" | "defaultLocale" | "baseUrl" | "pushRef" | "formUrl" | "formTestUrl" | "formWaitingUrl" | "mcpUrl" | "mcpTestUrl" | "webhookUrl" | "webhookTestUrl" | "webhookWaitingUrl" | "restUrl" | "restApiContext" | "publicApiContext" | "OAuthCallbackUrls">, Pick<{
|
|
141
|
+
baseUrl: vue329.ComputedRef<string>;
|
|
142
|
+
formUrl: vue329.ComputedRef<string>;
|
|
143
|
+
formTestUrl: vue329.ComputedRef<string>;
|
|
144
|
+
formWaitingUrl: vue329.ComputedRef<string>;
|
|
145
|
+
mcpUrl: vue329.ComputedRef<string>;
|
|
146
|
+
mcpTestUrl: vue329.ComputedRef<string>;
|
|
147
|
+
webhookUrl: vue329.ComputedRef<string>;
|
|
148
|
+
webhookTestUrl: vue329.ComputedRef<string>;
|
|
149
|
+
webhookWaitingUrl: vue329.ComputedRef<string>;
|
|
150
|
+
restUrl: vue329.ComputedRef<string>;
|
|
151
|
+
restApiContext: vue329.ComputedRef<{
|
|
143
152
|
baseUrl: string;
|
|
144
153
|
pushRef: string;
|
|
145
154
|
}>;
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
publicApiContext: vue329.ComputedRef<{
|
|
156
|
+
baseUrl: string;
|
|
157
|
+
}>;
|
|
158
|
+
urlBaseEditor: vue329.ComputedRef<string>;
|
|
159
|
+
urlBaseWebhook: vue329.ComputedRef<string>;
|
|
160
|
+
versionCli: vue329.ComputedRef<string>;
|
|
161
|
+
instanceId: vue329.ComputedRef<string>;
|
|
162
|
+
pushRef: vue329.ComputedRef<string>;
|
|
163
|
+
defaultLocale: vue329.ComputedRef<string>;
|
|
164
|
+
binaryDataMode: vue329.ComputedRef<"default" | "filesystem" | "s3" | "azure" | "database">;
|
|
165
|
+
OAuthCallbackUrls: vue329.ComputedRef<object>;
|
|
166
|
+
jwksUri: vue329.ComputedRef<string>;
|
|
167
|
+
executionTimeout: vue329.ComputedRef<number>;
|
|
168
|
+
maxExecutionTimeout: vue329.ComputedRef<number>;
|
|
169
|
+
timezone: vue329.ComputedRef<string>;
|
|
158
170
|
setUrlBaseWebhook: (value: string) => void;
|
|
159
171
|
setUrlBaseEditor: (value: string) => void;
|
|
160
172
|
setUrlBaseWebhookTest: (value: string) => void;
|
|
@@ -177,7 +189,8 @@ declare const useRootStore: pinia5.StoreDefinition<"root", Pick<{
|
|
|
177
189
|
setDefaultLocale: (value: string) => void;
|
|
178
190
|
setBinaryDataMode: (value: RootStoreState["binaryDataMode"]) => void;
|
|
179
191
|
setPushRef: (value: string) => void;
|
|
180
|
-
|
|
192
|
+
setPublicApiPath: (value: string) => void;
|
|
193
|
+
}, "setUrlBaseWebhook" | "setUrlBaseEditor" | "setUrlBaseWebhookTest" | "setEndpointForm" | "setEndpointFormTest" | "setEndpointFormWaiting" | "setEndpointWebhook" | "setEndpointWebhookTest" | "setEndpointWebhookWaiting" | "setEndpointMcp" | "setEndpointMcpTest" | "setTimezone" | "setExecutionTimeout" | "setMaxExecutionTimeout" | "setVersionCli" | "setInstanceId" | "setOauthCallbackUrls" | "setJwksUri" | "setN8nMetadata" | "setDefaultLocale" | "setBinaryDataMode" | "setPushRef" | "setPublicApiPath">>;
|
|
181
194
|
//#endregion
|
|
182
195
|
export { RootStoreState, useRootStore };
|
|
183
196
|
//# sourceMappingURL=useRootStore.d.cts.map
|