@n8n/stores 2.34.2 → 2.35.0
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/constants2.cjs +1 -0
- package/dist/constants2.cjs.map +1 -1
- package/dist/constants2.d.cts +1 -0
- package/dist/constants2.d.mts +1 -0
- package/dist/constants2.mjs +1 -0
- package/dist/constants2.mjs.map +1 -1
- package/dist/roles.store.d.mts +2 -2
- package/dist/settings.store.d.cts +10 -1
- package/dist/settings.store.d.mts +12 -3
- package/dist/settings2.store.cjs +2 -0
- package/dist/settings2.store.cjs.map +1 -1
- package/dist/settings2.store.mjs +2 -0
- package/dist/settings2.store.mjs.map +1 -1
- package/dist/useAgentRequestStore.d.cts +6 -6
- package/dist/useAgentRequestStore.d.mts +2 -2
- package/dist/useRootStore.d.cts +72 -72
- package/dist/useRootStore.d.mts +70 -70
- package/dist/users.store.d.cts +55 -55
- package/dist/users.store.d.mts +49 -49
- package/dist/versions.store.d.cts +30 -30
- package/dist/versions.store.d.mts +28 -28
- package/package.json +12 -12
package/dist/constants2.cjs
CHANGED
package/dist/constants2.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants2.cjs","names":[],"sources":["../src/constants.ts"],"sourcesContent":["export const STORES = {\n\tCOMMUNITY_NODES: 'communityNodes',\n\tROOT: 'root',\n\tSETTINGS: 'settings',\n\tNOTIFICATIONS: 'notifications',\n\tUI: 'ui',\n\tUSERS: 'users',\n\tWORKFLOWS: 'workflows',\n\tWORKFLOWS_LIST: 'workflowsList',\n\tWORKFLOWS_V2: 'workflowsV2',\n\tWORKFLOWS_EE: 'workflowsEE',\n\tWORKFLOW_DOCUMENTS: 'workflowDocuments',\n\tEXECUTION_DATA: 'executionData',\n\tWORKFLOW_EXECUTION_STATES: 'workflowExecutionStates',\n\tEXECUTIONS: 'executions',\n\tNDV: 'ndv',\n\tTEMPLATES: 'templates',\n\tNODE_TYPES: 'nodeTypes',\n\tCREDENTIALS: 'credentials',\n\tTAGS: 'tags',\n\tANNOTATION_TAGS: 'annotationTags',\n\tVERSIONS: 'versions',\n\tNODE_CREATOR: 'nodeCreator',\n\tWEBHOOKS: 'webhooks',\n\tHISTORY: 'history',\n\tCLOUD_PLAN: 'cloudPlan',\n\tRBAC: 'rbac',\n\tPUSH: 'push',\n\tCOLLABORATION: 'collaboration',\n\tASSISTANT: 'assistant',\n\tBUILDER: 'builder',\n\tCHAT_PANEL: 'chatPanel',\n\tCHAT_PANEL_STATE: 'chatPanelState',\n\tBECOME_TEMPLATE_CREATOR: 'becomeTemplateCreator',\n\tPROJECTS: 'projects',\n\tAPI_KEYS: 'apiKeys',\n\tEVALUATION: 'evaluation',\n\tEVAL_COLLECTIONS: 'evalCollections',\n\tFOLDERS: 'folders',\n\tMODULES: 'modules',\n\tFOCUS_PANEL: 'focusPanel',\n\tAI_TEMPLATES_STARTER_COLLECTION: 'aiTemplatesStarterCollection',\n\tPERSONALIZED_TEMPLATES: 'personalizedTemplates',\n\tEXPERIMENT_READY_TO_RUN_WORKFLOWS: 'readyToRunWorkflows',\n\tEXPERIMENT_READY_TO_RUN_WORKFLOWS_V2: 'readyToRunWorkflowsV2',\n\tEXPERIMENT_TEMPLATE_RECO_V2: 'templateRecoV2',\n\tPERSONALIZED_TEMPLATES_V3: 'personalizedTemplatesV3',\n\tREADY_TO_RUN: 'readyToRun',\n\tTEMPLATES_DATA_QUALITY: 'templatesDataQuality',\n\tBANNERS: 'banners',\n\tCONSENT: 'consent',\n\tCHAT_HUB: 'chatHub',\n\tCHAT_HUB_PANEL: 'chatHubPanel',\n\tEXPERIMENT_CREDENTIALS_APP_SELECTION: 'credentialsAppSelection',\n\tEXPERIMENT_SURFACE_MCP_TO_NEW_CLOUD_USERS: 'surfaceMcpToNewCloudUsers',\n\tEXPERIMENT_EXPOSE_ALL_WORKFLOWS_TO_MCP: 'exposeAllWorkflowsToMcp',\n\tEXPERIMENT_TRIAL_INTRO_MODAL: 'trialIntroModal',\n\tSETUP_PANEL: 'setupPanel',\n\tFOCUSED_NODES: 'focusedNodes',\n\tFAVORITES: 'favorites',\n\tAI_GATEWAY: 'aiGateway',\n\tEVALUATIONS_WIZARD_SIDEPANEL: 'evaluationsWizardSidepanel',\n} as const;\n"],"mappings":";;AAAA,MAAa,SAAS;CACrB,iBAAiB;CACjB,MAAM;CACN,UAAU;CACV,eAAe;CACf,IAAI;CACJ,OAAO;CACP,WAAW;CACX,gBAAgB;CAChB,cAAc;CACd,cAAc;CACd,oBAAoB;CACpB,gBAAgB;CAChB,2BAA2B;CAC3B,YAAY;CACZ,KAAK;CACL,WAAW;CACX,YAAY;CACZ,aAAa;CACb,MAAM;CACN,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,UAAU;CACV,SAAS;CACT,YAAY;CACZ,MAAM;CACN,MAAM;CACN,eAAe;CACf,WAAW;CACX,SAAS;CACT,YAAY;CACZ,kBAAkB;CAClB,yBAAyB;CACzB,UAAU;CACV,UAAU;CACV,YAAY;CACZ,kBAAkB;CAClB,SAAS;CACT,SAAS;CACT,aAAa;CACb,iCAAiC;CACjC,wBAAwB;CACxB,mCAAmC;CACnC,sCAAsC;CACtC,6BAA6B;CAC7B,2BAA2B;CAC3B,cAAc;CACd,wBAAwB;CACxB,SAAS;CACT,SAAS;CACT,UAAU;CACV,gBAAgB;CAChB,sCAAsC;CACtC,2CAA2C;CAC3C,wCAAwC;CACxC,8BAA8B;CAC9B,aAAa;CACb,eAAe;CACf,WAAW;CACX,YAAY;CACZ,8BAA8B;CAC9B"}
|
|
1
|
+
{"version":3,"file":"constants2.cjs","names":[],"sources":["../src/constants.ts"],"sourcesContent":["export const STORES = {\n\tCOMMUNITY_NODES: 'communityNodes',\n\tROOT: 'root',\n\tSETTINGS: 'settings',\n\tNOTIFICATIONS: 'notifications',\n\tUI: 'ui',\n\tUSERS: 'users',\n\tWORKFLOWS: 'workflows',\n\tWORKFLOWS_LIST: 'workflowsList',\n\tWORKFLOWS_V2: 'workflowsV2',\n\tWORKFLOWS_EE: 'workflowsEE',\n\tWORKFLOW_DOCUMENTS: 'workflowDocuments',\n\tEXECUTION_DATA: 'executionData',\n\tWORKFLOW_EXECUTION_STATES: 'workflowExecutionStates',\n\tEXECUTIONS: 'executions',\n\tNDV: 'ndv',\n\tTEMPLATES: 'templates',\n\tNODE_TYPES: 'nodeTypes',\n\tCREDENTIALS: 'credentials',\n\tTAGS: 'tags',\n\tANNOTATION_TAGS: 'annotationTags',\n\tVERSIONS: 'versions',\n\tNODE_CREATOR: 'nodeCreator',\n\tWEBHOOKS: 'webhooks',\n\tHISTORY: 'history',\n\tCLOUD_PLAN: 'cloudPlan',\n\tRBAC: 'rbac',\n\tPUSH: 'push',\n\tCOLLABORATION: 'collaboration',\n\tASSISTANT: 'assistant',\n\tBUILDER: 'builder',\n\tCHAT_PANEL: 'chatPanel',\n\tCHAT_PANEL_STATE: 'chatPanelState',\n\tBECOME_TEMPLATE_CREATOR: 'becomeTemplateCreator',\n\tPROJECTS: 'projects',\n\tAPI_KEYS: 'apiKeys',\n\tEVALUATION: 'evaluation',\n\tEVAL_COLLECTIONS: 'evalCollections',\n\tAGENT_EVALS: 'agentEvals',\n\tFOLDERS: 'folders',\n\tMODULES: 'modules',\n\tFOCUS_PANEL: 'focusPanel',\n\tAI_TEMPLATES_STARTER_COLLECTION: 'aiTemplatesStarterCollection',\n\tPERSONALIZED_TEMPLATES: 'personalizedTemplates',\n\tEXPERIMENT_READY_TO_RUN_WORKFLOWS: 'readyToRunWorkflows',\n\tEXPERIMENT_READY_TO_RUN_WORKFLOWS_V2: 'readyToRunWorkflowsV2',\n\tEXPERIMENT_TEMPLATE_RECO_V2: 'templateRecoV2',\n\tPERSONALIZED_TEMPLATES_V3: 'personalizedTemplatesV3',\n\tREADY_TO_RUN: 'readyToRun',\n\tTEMPLATES_DATA_QUALITY: 'templatesDataQuality',\n\tBANNERS: 'banners',\n\tCONSENT: 'consent',\n\tCHAT_HUB: 'chatHub',\n\tCHAT_HUB_PANEL: 'chatHubPanel',\n\tEXPERIMENT_CREDENTIALS_APP_SELECTION: 'credentialsAppSelection',\n\tEXPERIMENT_SURFACE_MCP_TO_NEW_CLOUD_USERS: 'surfaceMcpToNewCloudUsers',\n\tEXPERIMENT_EXPOSE_ALL_WORKFLOWS_TO_MCP: 'exposeAllWorkflowsToMcp',\n\tEXPERIMENT_TRIAL_INTRO_MODAL: 'trialIntroModal',\n\tSETUP_PANEL: 'setupPanel',\n\tFOCUSED_NODES: 'focusedNodes',\n\tFAVORITES: 'favorites',\n\tAI_GATEWAY: 'aiGateway',\n\tEVALUATIONS_WIZARD_SIDEPANEL: 'evaluationsWizardSidepanel',\n} as const;\n"],"mappings":";;AAAA,MAAa,SAAS;CACrB,iBAAiB;CACjB,MAAM;CACN,UAAU;CACV,eAAe;CACf,IAAI;CACJ,OAAO;CACP,WAAW;CACX,gBAAgB;CAChB,cAAc;CACd,cAAc;CACd,oBAAoB;CACpB,gBAAgB;CAChB,2BAA2B;CAC3B,YAAY;CACZ,KAAK;CACL,WAAW;CACX,YAAY;CACZ,aAAa;CACb,MAAM;CACN,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,UAAU;CACV,SAAS;CACT,YAAY;CACZ,MAAM;CACN,MAAM;CACN,eAAe;CACf,WAAW;CACX,SAAS;CACT,YAAY;CACZ,kBAAkB;CAClB,yBAAyB;CACzB,UAAU;CACV,UAAU;CACV,YAAY;CACZ,kBAAkB;CAClB,aAAa;CACb,SAAS;CACT,SAAS;CACT,aAAa;CACb,iCAAiC;CACjC,wBAAwB;CACxB,mCAAmC;CACnC,sCAAsC;CACtC,6BAA6B;CAC7B,2BAA2B;CAC3B,cAAc;CACd,wBAAwB;CACxB,SAAS;CACT,SAAS;CACT,UAAU;CACV,gBAAgB;CAChB,sCAAsC;CACtC,2CAA2C;CAC3C,wCAAwC;CACxC,8BAA8B;CAC9B,aAAa;CACb,eAAe;CACf,WAAW;CACX,YAAY;CACZ,8BAA8B;CAC9B"}
|
package/dist/constants2.d.cts
CHANGED
|
@@ -37,6 +37,7 @@ declare const STORES: {
|
|
|
37
37
|
readonly API_KEYS: "apiKeys";
|
|
38
38
|
readonly EVALUATION: "evaluation";
|
|
39
39
|
readonly EVAL_COLLECTIONS: "evalCollections";
|
|
40
|
+
readonly AGENT_EVALS: "agentEvals";
|
|
40
41
|
readonly FOLDERS: "folders";
|
|
41
42
|
readonly MODULES: "modules";
|
|
42
43
|
readonly FOCUS_PANEL: "focusPanel";
|
package/dist/constants2.d.mts
CHANGED
|
@@ -37,6 +37,7 @@ declare const STORES: {
|
|
|
37
37
|
readonly API_KEYS: "apiKeys";
|
|
38
38
|
readonly EVALUATION: "evaluation";
|
|
39
39
|
readonly EVAL_COLLECTIONS: "evalCollections";
|
|
40
|
+
readonly AGENT_EVALS: "agentEvals";
|
|
40
41
|
readonly FOLDERS: "folders";
|
|
41
42
|
readonly MODULES: "modules";
|
|
42
43
|
readonly FOCUS_PANEL: "focusPanel";
|
package/dist/constants2.mjs
CHANGED
package/dist/constants2.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants2.mjs","names":[],"sources":["../src/constants.ts"],"sourcesContent":["export const STORES = {\n\tCOMMUNITY_NODES: 'communityNodes',\n\tROOT: 'root',\n\tSETTINGS: 'settings',\n\tNOTIFICATIONS: 'notifications',\n\tUI: 'ui',\n\tUSERS: 'users',\n\tWORKFLOWS: 'workflows',\n\tWORKFLOWS_LIST: 'workflowsList',\n\tWORKFLOWS_V2: 'workflowsV2',\n\tWORKFLOWS_EE: 'workflowsEE',\n\tWORKFLOW_DOCUMENTS: 'workflowDocuments',\n\tEXECUTION_DATA: 'executionData',\n\tWORKFLOW_EXECUTION_STATES: 'workflowExecutionStates',\n\tEXECUTIONS: 'executions',\n\tNDV: 'ndv',\n\tTEMPLATES: 'templates',\n\tNODE_TYPES: 'nodeTypes',\n\tCREDENTIALS: 'credentials',\n\tTAGS: 'tags',\n\tANNOTATION_TAGS: 'annotationTags',\n\tVERSIONS: 'versions',\n\tNODE_CREATOR: 'nodeCreator',\n\tWEBHOOKS: 'webhooks',\n\tHISTORY: 'history',\n\tCLOUD_PLAN: 'cloudPlan',\n\tRBAC: 'rbac',\n\tPUSH: 'push',\n\tCOLLABORATION: 'collaboration',\n\tASSISTANT: 'assistant',\n\tBUILDER: 'builder',\n\tCHAT_PANEL: 'chatPanel',\n\tCHAT_PANEL_STATE: 'chatPanelState',\n\tBECOME_TEMPLATE_CREATOR: 'becomeTemplateCreator',\n\tPROJECTS: 'projects',\n\tAPI_KEYS: 'apiKeys',\n\tEVALUATION: 'evaluation',\n\tEVAL_COLLECTIONS: 'evalCollections',\n\tFOLDERS: 'folders',\n\tMODULES: 'modules',\n\tFOCUS_PANEL: 'focusPanel',\n\tAI_TEMPLATES_STARTER_COLLECTION: 'aiTemplatesStarterCollection',\n\tPERSONALIZED_TEMPLATES: 'personalizedTemplates',\n\tEXPERIMENT_READY_TO_RUN_WORKFLOWS: 'readyToRunWorkflows',\n\tEXPERIMENT_READY_TO_RUN_WORKFLOWS_V2: 'readyToRunWorkflowsV2',\n\tEXPERIMENT_TEMPLATE_RECO_V2: 'templateRecoV2',\n\tPERSONALIZED_TEMPLATES_V3: 'personalizedTemplatesV3',\n\tREADY_TO_RUN: 'readyToRun',\n\tTEMPLATES_DATA_QUALITY: 'templatesDataQuality',\n\tBANNERS: 'banners',\n\tCONSENT: 'consent',\n\tCHAT_HUB: 'chatHub',\n\tCHAT_HUB_PANEL: 'chatHubPanel',\n\tEXPERIMENT_CREDENTIALS_APP_SELECTION: 'credentialsAppSelection',\n\tEXPERIMENT_SURFACE_MCP_TO_NEW_CLOUD_USERS: 'surfaceMcpToNewCloudUsers',\n\tEXPERIMENT_EXPOSE_ALL_WORKFLOWS_TO_MCP: 'exposeAllWorkflowsToMcp',\n\tEXPERIMENT_TRIAL_INTRO_MODAL: 'trialIntroModal',\n\tSETUP_PANEL: 'setupPanel',\n\tFOCUSED_NODES: 'focusedNodes',\n\tFAVORITES: 'favorites',\n\tAI_GATEWAY: 'aiGateway',\n\tEVALUATIONS_WIZARD_SIDEPANEL: 'evaluationsWizardSidepanel',\n} as const;\n"],"mappings":";AAAA,MAAa,SAAS;CACrB,iBAAiB;CACjB,MAAM;CACN,UAAU;CACV,eAAe;CACf,IAAI;CACJ,OAAO;CACP,WAAW;CACX,gBAAgB;CAChB,cAAc;CACd,cAAc;CACd,oBAAoB;CACpB,gBAAgB;CAChB,2BAA2B;CAC3B,YAAY;CACZ,KAAK;CACL,WAAW;CACX,YAAY;CACZ,aAAa;CACb,MAAM;CACN,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,UAAU;CACV,SAAS;CACT,YAAY;CACZ,MAAM;CACN,MAAM;CACN,eAAe;CACf,WAAW;CACX,SAAS;CACT,YAAY;CACZ,kBAAkB;CAClB,yBAAyB;CACzB,UAAU;CACV,UAAU;CACV,YAAY;CACZ,kBAAkB;CAClB,SAAS;CACT,SAAS;CACT,aAAa;CACb,iCAAiC;CACjC,wBAAwB;CACxB,mCAAmC;CACnC,sCAAsC;CACtC,6BAA6B;CAC7B,2BAA2B;CAC3B,cAAc;CACd,wBAAwB;CACxB,SAAS;CACT,SAAS;CACT,UAAU;CACV,gBAAgB;CAChB,sCAAsC;CACtC,2CAA2C;CAC3C,wCAAwC;CACxC,8BAA8B;CAC9B,aAAa;CACb,eAAe;CACf,WAAW;CACX,YAAY;CACZ,8BAA8B;CAC9B"}
|
|
1
|
+
{"version":3,"file":"constants2.mjs","names":[],"sources":["../src/constants.ts"],"sourcesContent":["export const STORES = {\n\tCOMMUNITY_NODES: 'communityNodes',\n\tROOT: 'root',\n\tSETTINGS: 'settings',\n\tNOTIFICATIONS: 'notifications',\n\tUI: 'ui',\n\tUSERS: 'users',\n\tWORKFLOWS: 'workflows',\n\tWORKFLOWS_LIST: 'workflowsList',\n\tWORKFLOWS_V2: 'workflowsV2',\n\tWORKFLOWS_EE: 'workflowsEE',\n\tWORKFLOW_DOCUMENTS: 'workflowDocuments',\n\tEXECUTION_DATA: 'executionData',\n\tWORKFLOW_EXECUTION_STATES: 'workflowExecutionStates',\n\tEXECUTIONS: 'executions',\n\tNDV: 'ndv',\n\tTEMPLATES: 'templates',\n\tNODE_TYPES: 'nodeTypes',\n\tCREDENTIALS: 'credentials',\n\tTAGS: 'tags',\n\tANNOTATION_TAGS: 'annotationTags',\n\tVERSIONS: 'versions',\n\tNODE_CREATOR: 'nodeCreator',\n\tWEBHOOKS: 'webhooks',\n\tHISTORY: 'history',\n\tCLOUD_PLAN: 'cloudPlan',\n\tRBAC: 'rbac',\n\tPUSH: 'push',\n\tCOLLABORATION: 'collaboration',\n\tASSISTANT: 'assistant',\n\tBUILDER: 'builder',\n\tCHAT_PANEL: 'chatPanel',\n\tCHAT_PANEL_STATE: 'chatPanelState',\n\tBECOME_TEMPLATE_CREATOR: 'becomeTemplateCreator',\n\tPROJECTS: 'projects',\n\tAPI_KEYS: 'apiKeys',\n\tEVALUATION: 'evaluation',\n\tEVAL_COLLECTIONS: 'evalCollections',\n\tAGENT_EVALS: 'agentEvals',\n\tFOLDERS: 'folders',\n\tMODULES: 'modules',\n\tFOCUS_PANEL: 'focusPanel',\n\tAI_TEMPLATES_STARTER_COLLECTION: 'aiTemplatesStarterCollection',\n\tPERSONALIZED_TEMPLATES: 'personalizedTemplates',\n\tEXPERIMENT_READY_TO_RUN_WORKFLOWS: 'readyToRunWorkflows',\n\tEXPERIMENT_READY_TO_RUN_WORKFLOWS_V2: 'readyToRunWorkflowsV2',\n\tEXPERIMENT_TEMPLATE_RECO_V2: 'templateRecoV2',\n\tPERSONALIZED_TEMPLATES_V3: 'personalizedTemplatesV3',\n\tREADY_TO_RUN: 'readyToRun',\n\tTEMPLATES_DATA_QUALITY: 'templatesDataQuality',\n\tBANNERS: 'banners',\n\tCONSENT: 'consent',\n\tCHAT_HUB: 'chatHub',\n\tCHAT_HUB_PANEL: 'chatHubPanel',\n\tEXPERIMENT_CREDENTIALS_APP_SELECTION: 'credentialsAppSelection',\n\tEXPERIMENT_SURFACE_MCP_TO_NEW_CLOUD_USERS: 'surfaceMcpToNewCloudUsers',\n\tEXPERIMENT_EXPOSE_ALL_WORKFLOWS_TO_MCP: 'exposeAllWorkflowsToMcp',\n\tEXPERIMENT_TRIAL_INTRO_MODAL: 'trialIntroModal',\n\tSETUP_PANEL: 'setupPanel',\n\tFOCUSED_NODES: 'focusedNodes',\n\tFAVORITES: 'favorites',\n\tAI_GATEWAY: 'aiGateway',\n\tEVALUATIONS_WIZARD_SIDEPANEL: 'evaluationsWizardSidepanel',\n} as const;\n"],"mappings":";AAAA,MAAa,SAAS;CACrB,iBAAiB;CACjB,MAAM;CACN,UAAU;CACV,eAAe;CACf,IAAI;CACJ,OAAO;CACP,WAAW;CACX,gBAAgB;CAChB,cAAc;CACd,cAAc;CACd,oBAAoB;CACpB,gBAAgB;CAChB,2BAA2B;CAC3B,YAAY;CACZ,KAAK;CACL,WAAW;CACX,YAAY;CACZ,aAAa;CACb,MAAM;CACN,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,UAAU;CACV,SAAS;CACT,YAAY;CACZ,MAAM;CACN,MAAM;CACN,eAAe;CACf,WAAW;CACX,SAAS;CACT,YAAY;CACZ,kBAAkB;CAClB,yBAAyB;CACzB,UAAU;CACV,UAAU;CACV,YAAY;CACZ,kBAAkB;CAClB,aAAa;CACb,SAAS;CACT,SAAS;CACT,aAAa;CACb,iCAAiC;CACjC,wBAAwB;CACxB,mCAAmC;CACnC,sCAAsC;CACtC,6BAA6B;CAC7B,2BAA2B;CAC3B,cAAc;CACd,wBAAwB;CACxB,SAAS;CACT,SAAS;CACT,UAAU;CACV,gBAAgB;CAChB,sCAAsC;CACtC,2CAA2C;CAC3C,wCAAwC;CACxC,8BAA8B;CAC9B,aAAa;CACb,eAAe;CACf,WAAW;CACX,YAAY;CACZ,8BAA8B;CAC9B"}
|
package/dist/roles.store.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as pinia3 from "pinia";
|
|
2
2
|
import * as vue77 from "vue";
|
|
3
3
|
import { CreateRoleDto, RoleAssignmentsResponse, RoleMembersResponse, RoleProjectMembersResponse, UpdateRoleDto } from "@n8n/api-types";
|
|
4
4
|
import { AllRolesMap, Role as Role$1 } from "@n8n/permissions";
|
|
5
5
|
|
|
6
6
|
//#region src/roles.store.d.ts
|
|
7
|
-
declare const useRolesStore:
|
|
7
|
+
declare const useRolesStore: pinia3.StoreDefinition<"roles", Pick<{
|
|
8
8
|
roles: vue77.Ref<{
|
|
9
9
|
global: {
|
|
10
10
|
slug: string;
|
|
@@ -595,6 +595,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
595
595
|
isPublicApiEnabled: vue95.ComputedRef<boolean>;
|
|
596
596
|
isSwaggerUIEnabled: vue95.ComputedRef<boolean>;
|
|
597
597
|
isPreviewMode: vue95.ComputedRef<boolean>;
|
|
598
|
+
isE2ETestMode: vue95.ComputedRef<boolean>;
|
|
598
599
|
isCanvasOnly: vue95.ComputedRef<boolean>;
|
|
599
600
|
isCrdtCollaborationEnabled: vue95.ComputedRef<boolean>;
|
|
600
601
|
publicApiLatestVersion: vue95.ComputedRef<number>;
|
|
@@ -908,6 +909,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
908
909
|
browserUseEnabled: boolean;
|
|
909
910
|
proxyEnabled: boolean;
|
|
910
911
|
cloudManaged: boolean;
|
|
912
|
+
setupCompleted?: boolean | undefined;
|
|
911
913
|
sandboxEnabled: boolean;
|
|
912
914
|
workflowBuilderAvailable: boolean;
|
|
913
915
|
sandboxUnavailableReason: string | null;
|
|
@@ -1206,6 +1208,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
1206
1208
|
browserUseEnabled: boolean;
|
|
1207
1209
|
proxyEnabled: boolean;
|
|
1208
1210
|
cloudManaged: boolean;
|
|
1211
|
+
setupCompleted?: boolean | undefined;
|
|
1209
1212
|
sandboxEnabled: boolean;
|
|
1210
1213
|
workflowBuilderAvailable: boolean;
|
|
1211
1214
|
sandboxUnavailableReason: string | null;
|
|
@@ -1858,6 +1861,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
1858
1861
|
isPublicApiEnabled: vue95.ComputedRef<boolean>;
|
|
1859
1862
|
isSwaggerUIEnabled: vue95.ComputedRef<boolean>;
|
|
1860
1863
|
isPreviewMode: vue95.ComputedRef<boolean>;
|
|
1864
|
+
isE2ETestMode: vue95.ComputedRef<boolean>;
|
|
1861
1865
|
isCanvasOnly: vue95.ComputedRef<boolean>;
|
|
1862
1866
|
isCrdtCollaborationEnabled: vue95.ComputedRef<boolean>;
|
|
1863
1867
|
publicApiLatestVersion: vue95.ComputedRef<number>;
|
|
@@ -2171,6 +2175,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
2171
2175
|
browserUseEnabled: boolean;
|
|
2172
2176
|
proxyEnabled: boolean;
|
|
2173
2177
|
cloudManaged: boolean;
|
|
2178
|
+
setupCompleted?: boolean | undefined;
|
|
2174
2179
|
sandboxEnabled: boolean;
|
|
2175
2180
|
workflowBuilderAvailable: boolean;
|
|
2176
2181
|
sandboxUnavailableReason: string | null;
|
|
@@ -2469,6 +2474,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
2469
2474
|
browserUseEnabled: boolean;
|
|
2470
2475
|
proxyEnabled: boolean;
|
|
2471
2476
|
cloudManaged: boolean;
|
|
2477
|
+
setupCompleted?: boolean | undefined;
|
|
2472
2478
|
sandboxEnabled: boolean;
|
|
2473
2479
|
workflowBuilderAvailable: boolean;
|
|
2474
2480
|
sandboxUnavailableReason: string | null;
|
|
@@ -2532,7 +2538,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
2532
2538
|
isAgentsKnowledgeBaseFeatureEnabled: vue95.ComputedRef<boolean>;
|
|
2533
2539
|
isPublicChatTriggerDisabled: vue95.ComputedRef<boolean>;
|
|
2534
2540
|
isWorkflowPublicationServiceEnabled: vue95.ComputedRef<boolean>;
|
|
2535
|
-
}, "isDocker" | "databaseType" | "endpointHealth" | "workflowCallerPolicyDefaultOption" | "nodeJsVersion" | "nodeEnv" | "concurrency" | "binaryDataMode" | "telemetry" | "logLevel" | "isMultiMain" | "pushBackend" | "allowedModules" | "pruning" | "security" | "activeModules" | "planName" | "consumerId" | "isDevRelease" | "isEnterpriseFeatureEnabled" | "isConcurrencyEnabled" | "isPublicApiEnabled" | "isSwaggerUIEnabled" | "isPreviewMode" | "isCanvasOnly" | "isCrdtCollaborationEnabled" | "publicApiLatestVersion" | "publicApiPath" | "showSetupPage" | "deploymentType" | "isCloudDeployment" | "isSmtpSetup" | "isPersonalizationSurveyEnabled" | "isTelemetryEnabled" | "isMfaFeatureEnabled" | "isFoldersFeatureEnabled" | "isAiAssistantEnabled" | "isCustomRolesFeatureEnabled" | "areTagsEnabled" | "isAutosaveEnabled" | "isHiringBannerEnabled" | "isTemplatesEnabled" | "isTemplatesEndpointReachable" | "templatesHost" | "isCommunityNodesFeatureEnabled" | "isUnverifiedPackagesEnabled" | "isQueueModeEnabled" | "isWorkerViewAvailable" | "permanentlyDismissedBanners" | "isCommunityPlan" | "isAskAiEnabled" | "isAiBuilderEnabled" | "isAiAssistantOrBuilderEnabled" | "isAiCreditsEnabled" | "aiCreditsQuota" | "isAiDataSharingEnabled" | "isAiGatewayEnabled" | "aiGatewayBudget" | "isMFAEnforcementLicensed" | "isDataTableFeatureEnabled" | "isChatFeatureEnabled" | "isOtelCustomSpanAttributesEnabled" | "isAgentsKnowledgeBaseFeatureEnabled" | "isPublicChatTriggerDisabled" | "isWorkflowPublicationServiceEnabled">, Pick<{
|
|
2541
|
+
}, "isDocker" | "databaseType" | "endpointHealth" | "workflowCallerPolicyDefaultOption" | "nodeJsVersion" | "nodeEnv" | "concurrency" | "binaryDataMode" | "telemetry" | "logLevel" | "isMultiMain" | "pushBackend" | "allowedModules" | "pruning" | "security" | "activeModules" | "planName" | "consumerId" | "isDevRelease" | "isEnterpriseFeatureEnabled" | "isConcurrencyEnabled" | "isPublicApiEnabled" | "isSwaggerUIEnabled" | "isPreviewMode" | "isE2ETestMode" | "isCanvasOnly" | "isCrdtCollaborationEnabled" | "publicApiLatestVersion" | "publicApiPath" | "showSetupPage" | "deploymentType" | "isCloudDeployment" | "isSmtpSetup" | "isPersonalizationSurveyEnabled" | "isTelemetryEnabled" | "isMfaFeatureEnabled" | "isFoldersFeatureEnabled" | "isAiAssistantEnabled" | "isCustomRolesFeatureEnabled" | "areTagsEnabled" | "isAutosaveEnabled" | "isHiringBannerEnabled" | "isTemplatesEnabled" | "isTemplatesEndpointReachable" | "templatesHost" | "isCommunityNodesFeatureEnabled" | "isUnverifiedPackagesEnabled" | "isQueueModeEnabled" | "isWorkerViewAvailable" | "permanentlyDismissedBanners" | "isCommunityPlan" | "isAskAiEnabled" | "isAiBuilderEnabled" | "isAiAssistantOrBuilderEnabled" | "isAiCreditsEnabled" | "aiCreditsQuota" | "isAiDataSharingEnabled" | "isAiGatewayEnabled" | "aiGatewayBudget" | "isMFAEnforcementLicensed" | "isDataTableFeatureEnabled" | "isChatFeatureEnabled" | "isOtelCustomSpanAttributesEnabled" | "isAgentsKnowledgeBaseFeatureEnabled" | "isPublicChatTriggerDisabled" | "isWorkflowPublicationServiceEnabled">, Pick<{
|
|
2536
2542
|
settings: vue95.Ref<{
|
|
2537
2543
|
settingsMode?: "public" | "authenticated" | undefined;
|
|
2538
2544
|
inE2ETests: boolean;
|
|
@@ -3121,6 +3127,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
3121
3127
|
isPublicApiEnabled: vue95.ComputedRef<boolean>;
|
|
3122
3128
|
isSwaggerUIEnabled: vue95.ComputedRef<boolean>;
|
|
3123
3129
|
isPreviewMode: vue95.ComputedRef<boolean>;
|
|
3130
|
+
isE2ETestMode: vue95.ComputedRef<boolean>;
|
|
3124
3131
|
isCanvasOnly: vue95.ComputedRef<boolean>;
|
|
3125
3132
|
isCrdtCollaborationEnabled: vue95.ComputedRef<boolean>;
|
|
3126
3133
|
publicApiLatestVersion: vue95.ComputedRef<number>;
|
|
@@ -3434,6 +3441,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
3434
3441
|
browserUseEnabled: boolean;
|
|
3435
3442
|
proxyEnabled: boolean;
|
|
3436
3443
|
cloudManaged: boolean;
|
|
3444
|
+
setupCompleted?: boolean | undefined;
|
|
3437
3445
|
sandboxEnabled: boolean;
|
|
3438
3446
|
workflowBuilderAvailable: boolean;
|
|
3439
3447
|
sandboxUnavailableReason: string | null;
|
|
@@ -3732,6 +3740,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
3732
3740
|
browserUseEnabled: boolean;
|
|
3733
3741
|
proxyEnabled: boolean;
|
|
3734
3742
|
cloudManaged: boolean;
|
|
3743
|
+
setupCompleted?: boolean | undefined;
|
|
3735
3744
|
sandboxEnabled: boolean;
|
|
3736
3745
|
workflowBuilderAvailable: boolean;
|
|
3737
3746
|
sandboxUnavailableReason: string | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as pinia4 from "pinia";
|
|
2
2
|
import * as vue95 from "vue";
|
|
3
3
|
import * as _n8n_api_types0 from "@n8n/api-types";
|
|
4
4
|
import { AuthenticationMethod, FrontendModuleSettings, FrontendSettings, IUserManagementSettings, WorkflowReviewsPolicy } from "@n8n/api-types";
|
|
@@ -6,7 +6,7 @@ import * as n8n_workflow0 from "n8n-workflow";
|
|
|
6
6
|
import { IDataObject, WorkflowSettings } from "n8n-workflow";
|
|
7
7
|
|
|
8
8
|
//#region src/settings.store.d.ts
|
|
9
|
-
declare const useSettingsStore:
|
|
9
|
+
declare const useSettingsStore: pinia4.StoreDefinition<"settings", Pick<{
|
|
10
10
|
settings: vue95.Ref<{
|
|
11
11
|
settingsMode?: "public" | "authenticated" | undefined;
|
|
12
12
|
inE2ETests: boolean;
|
|
@@ -595,6 +595,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
595
595
|
isPublicApiEnabled: vue95.ComputedRef<boolean>;
|
|
596
596
|
isSwaggerUIEnabled: vue95.ComputedRef<boolean>;
|
|
597
597
|
isPreviewMode: vue95.ComputedRef<boolean>;
|
|
598
|
+
isE2ETestMode: vue95.ComputedRef<boolean>;
|
|
598
599
|
isCanvasOnly: vue95.ComputedRef<boolean>;
|
|
599
600
|
isCrdtCollaborationEnabled: vue95.ComputedRef<boolean>;
|
|
600
601
|
publicApiLatestVersion: vue95.ComputedRef<number>;
|
|
@@ -908,6 +909,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
908
909
|
browserUseEnabled: boolean;
|
|
909
910
|
proxyEnabled: boolean;
|
|
910
911
|
cloudManaged: boolean;
|
|
912
|
+
setupCompleted?: boolean | undefined;
|
|
911
913
|
sandboxEnabled: boolean;
|
|
912
914
|
workflowBuilderAvailable: boolean;
|
|
913
915
|
sandboxUnavailableReason: string | null;
|
|
@@ -1206,6 +1208,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
1206
1208
|
browserUseEnabled: boolean;
|
|
1207
1209
|
proxyEnabled: boolean;
|
|
1208
1210
|
cloudManaged: boolean;
|
|
1211
|
+
setupCompleted?: boolean | undefined;
|
|
1209
1212
|
sandboxEnabled: boolean;
|
|
1210
1213
|
workflowBuilderAvailable: boolean;
|
|
1211
1214
|
sandboxUnavailableReason: string | null;
|
|
@@ -1858,6 +1861,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
1858
1861
|
isPublicApiEnabled: vue95.ComputedRef<boolean>;
|
|
1859
1862
|
isSwaggerUIEnabled: vue95.ComputedRef<boolean>;
|
|
1860
1863
|
isPreviewMode: vue95.ComputedRef<boolean>;
|
|
1864
|
+
isE2ETestMode: vue95.ComputedRef<boolean>;
|
|
1861
1865
|
isCanvasOnly: vue95.ComputedRef<boolean>;
|
|
1862
1866
|
isCrdtCollaborationEnabled: vue95.ComputedRef<boolean>;
|
|
1863
1867
|
publicApiLatestVersion: vue95.ComputedRef<number>;
|
|
@@ -2171,6 +2175,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
2171
2175
|
browserUseEnabled: boolean;
|
|
2172
2176
|
proxyEnabled: boolean;
|
|
2173
2177
|
cloudManaged: boolean;
|
|
2178
|
+
setupCompleted?: boolean | undefined;
|
|
2174
2179
|
sandboxEnabled: boolean;
|
|
2175
2180
|
workflowBuilderAvailable: boolean;
|
|
2176
2181
|
sandboxUnavailableReason: string | null;
|
|
@@ -2469,6 +2474,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
2469
2474
|
browserUseEnabled: boolean;
|
|
2470
2475
|
proxyEnabled: boolean;
|
|
2471
2476
|
cloudManaged: boolean;
|
|
2477
|
+
setupCompleted?: boolean | undefined;
|
|
2472
2478
|
sandboxEnabled: boolean;
|
|
2473
2479
|
workflowBuilderAvailable: boolean;
|
|
2474
2480
|
sandboxUnavailableReason: string | null;
|
|
@@ -2532,7 +2538,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
2532
2538
|
isAgentsKnowledgeBaseFeatureEnabled: vue95.ComputedRef<boolean>;
|
|
2533
2539
|
isPublicChatTriggerDisabled: vue95.ComputedRef<boolean>;
|
|
2534
2540
|
isWorkflowPublicationServiceEnabled: vue95.ComputedRef<boolean>;
|
|
2535
|
-
}, "isDocker" | "databaseType" | "endpointHealth" | "workflowCallerPolicyDefaultOption" | "nodeJsVersion" | "nodeEnv" | "concurrency" | "binaryDataMode" | "telemetry" | "logLevel" | "isMultiMain" | "pushBackend" | "allowedModules" | "pruning" | "security" | "activeModules" | "planName" | "consumerId" | "isDevRelease" | "isEnterpriseFeatureEnabled" | "isConcurrencyEnabled" | "isPublicApiEnabled" | "isSwaggerUIEnabled" | "isPreviewMode" | "isCanvasOnly" | "isCrdtCollaborationEnabled" | "publicApiLatestVersion" | "publicApiPath" | "showSetupPage" | "deploymentType" | "isCloudDeployment" | "isSmtpSetup" | "isPersonalizationSurveyEnabled" | "isTelemetryEnabled" | "isMfaFeatureEnabled" | "isFoldersFeatureEnabled" | "isAiAssistantEnabled" | "isCustomRolesFeatureEnabled" | "areTagsEnabled" | "isAutosaveEnabled" | "isHiringBannerEnabled" | "isTemplatesEnabled" | "isTemplatesEndpointReachable" | "templatesHost" | "isCommunityNodesFeatureEnabled" | "isUnverifiedPackagesEnabled" | "isQueueModeEnabled" | "isWorkerViewAvailable" | "permanentlyDismissedBanners" | "isCommunityPlan" | "isAskAiEnabled" | "isAiBuilderEnabled" | "isAiAssistantOrBuilderEnabled" | "isAiCreditsEnabled" | "aiCreditsQuota" | "isAiDataSharingEnabled" | "isAiGatewayEnabled" | "aiGatewayBudget" | "isMFAEnforcementLicensed" | "isDataTableFeatureEnabled" | "isChatFeatureEnabled" | "isOtelCustomSpanAttributesEnabled" | "isAgentsKnowledgeBaseFeatureEnabled" | "isPublicChatTriggerDisabled" | "isWorkflowPublicationServiceEnabled">, Pick<{
|
|
2541
|
+
}, "isDocker" | "databaseType" | "endpointHealth" | "workflowCallerPolicyDefaultOption" | "nodeJsVersion" | "nodeEnv" | "concurrency" | "binaryDataMode" | "telemetry" | "logLevel" | "isMultiMain" | "pushBackend" | "allowedModules" | "pruning" | "security" | "activeModules" | "planName" | "consumerId" | "isDevRelease" | "isEnterpriseFeatureEnabled" | "isConcurrencyEnabled" | "isPublicApiEnabled" | "isSwaggerUIEnabled" | "isPreviewMode" | "isE2ETestMode" | "isCanvasOnly" | "isCrdtCollaborationEnabled" | "publicApiLatestVersion" | "publicApiPath" | "showSetupPage" | "deploymentType" | "isCloudDeployment" | "isSmtpSetup" | "isPersonalizationSurveyEnabled" | "isTelemetryEnabled" | "isMfaFeatureEnabled" | "isFoldersFeatureEnabled" | "isAiAssistantEnabled" | "isCustomRolesFeatureEnabled" | "areTagsEnabled" | "isAutosaveEnabled" | "isHiringBannerEnabled" | "isTemplatesEnabled" | "isTemplatesEndpointReachable" | "templatesHost" | "isCommunityNodesFeatureEnabled" | "isUnverifiedPackagesEnabled" | "isQueueModeEnabled" | "isWorkerViewAvailable" | "permanentlyDismissedBanners" | "isCommunityPlan" | "isAskAiEnabled" | "isAiBuilderEnabled" | "isAiAssistantOrBuilderEnabled" | "isAiCreditsEnabled" | "aiCreditsQuota" | "isAiDataSharingEnabled" | "isAiGatewayEnabled" | "aiGatewayBudget" | "isMFAEnforcementLicensed" | "isDataTableFeatureEnabled" | "isChatFeatureEnabled" | "isOtelCustomSpanAttributesEnabled" | "isAgentsKnowledgeBaseFeatureEnabled" | "isPublicChatTriggerDisabled" | "isWorkflowPublicationServiceEnabled">, Pick<{
|
|
2536
2542
|
settings: vue95.Ref<{
|
|
2537
2543
|
settingsMode?: "public" | "authenticated" | undefined;
|
|
2538
2544
|
inE2ETests: boolean;
|
|
@@ -3121,6 +3127,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
3121
3127
|
isPublicApiEnabled: vue95.ComputedRef<boolean>;
|
|
3122
3128
|
isSwaggerUIEnabled: vue95.ComputedRef<boolean>;
|
|
3123
3129
|
isPreviewMode: vue95.ComputedRef<boolean>;
|
|
3130
|
+
isE2ETestMode: vue95.ComputedRef<boolean>;
|
|
3124
3131
|
isCanvasOnly: vue95.ComputedRef<boolean>;
|
|
3125
3132
|
isCrdtCollaborationEnabled: vue95.ComputedRef<boolean>;
|
|
3126
3133
|
publicApiLatestVersion: vue95.ComputedRef<number>;
|
|
@@ -3434,6 +3441,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
3434
3441
|
browserUseEnabled: boolean;
|
|
3435
3442
|
proxyEnabled: boolean;
|
|
3436
3443
|
cloudManaged: boolean;
|
|
3444
|
+
setupCompleted?: boolean | undefined;
|
|
3437
3445
|
sandboxEnabled: boolean;
|
|
3438
3446
|
workflowBuilderAvailable: boolean;
|
|
3439
3447
|
sandboxUnavailableReason: string | null;
|
|
@@ -3732,6 +3740,7 @@ declare const useSettingsStore: pinia3.StoreDefinition<"settings", Pick<{
|
|
|
3732
3740
|
browserUseEnabled: boolean;
|
|
3733
3741
|
proxyEnabled: boolean;
|
|
3734
3742
|
cloudManaged: boolean;
|
|
3743
|
+
setupCompleted?: boolean | undefined;
|
|
3735
3744
|
sandboxEnabled: boolean;
|
|
3736
3745
|
workflowBuilderAvailable: boolean;
|
|
3737
3746
|
sandboxUnavailableReason: string | null;
|
package/dist/settings2.store.cjs
CHANGED
|
@@ -104,6 +104,7 @@ const useSettingsStore = (0, pinia.defineStore)(require_constants.STORES.SETTING
|
|
|
104
104
|
const isPublicApiEnabled = (0, vue.computed)(() => api.value.enabled);
|
|
105
105
|
const isSwaggerUIEnabled = (0, vue.computed)(() => api.value.swaggerUi?.enabled ?? false);
|
|
106
106
|
const isPreviewMode = (0, vue.computed)(() => settings.value.previewMode);
|
|
107
|
+
const isE2ETestMode = (0, vue.computed)(() => settings.value.inE2ETests);
|
|
107
108
|
const isCanvasOnly = (0, vue.computed)(() => settings.value.canvasOnly);
|
|
108
109
|
const isCrdtCollaborationEnabled = (0, vue.computed)(() => (settings.value.collaboration?.crdt ?? "off") !== "off");
|
|
109
110
|
const publicApiLatestVersion = (0, vue.computed)(() => api.value.latestVersion);
|
|
@@ -301,6 +302,7 @@ const useSettingsStore = (0, pinia.defineStore)(require_constants.STORES.SETTING
|
|
|
301
302
|
isPublicApiEnabled,
|
|
302
303
|
isSwaggerUIEnabled,
|
|
303
304
|
isPreviewMode,
|
|
305
|
+
isE2ETestMode,
|
|
304
306
|
isCanvasOnly,
|
|
305
307
|
isCrdtCollaborationEnabled,
|
|
306
308
|
publicApiLatestVersion,
|
|
@@ -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 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\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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;;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"}
|
|
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"}
|
package/dist/settings2.store.mjs
CHANGED
|
@@ -76,6 +76,7 @@ const useSettingsStore = defineStore(STORES.SETTINGS, () => {
|
|
|
76
76
|
const isPublicApiEnabled = computed(() => api.value.enabled);
|
|
77
77
|
const isSwaggerUIEnabled = computed(() => api.value.swaggerUi?.enabled ?? false);
|
|
78
78
|
const isPreviewMode = computed(() => settings.value.previewMode);
|
|
79
|
+
const isE2ETestMode = computed(() => settings.value.inE2ETests);
|
|
79
80
|
const isCanvasOnly = computed(() => settings.value.canvasOnly);
|
|
80
81
|
const isCrdtCollaborationEnabled = computed(() => (settings.value.collaboration?.crdt ?? "off") !== "off");
|
|
81
82
|
const publicApiLatestVersion = computed(() => api.value.latestVersion);
|
|
@@ -273,6 +274,7 @@ const useSettingsStore = defineStore(STORES.SETTINGS, () => {
|
|
|
273
274
|
isPublicApiEnabled,
|
|
274
275
|
isSwaggerUIEnabled,
|
|
275
276
|
isPreviewMode,
|
|
277
|
+
isE2ETestMode,
|
|
276
278
|
isCanvasOnly,
|
|
277
279
|
isCrdtCollaborationEnabled,
|
|
278
280
|
publicApiLatestVersion,
|
|
@@ -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 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\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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AAG,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"}
|
|
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,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as pinia4 from "pinia";
|
|
2
2
|
import { AgentRequestQuery } from "n8n-workflow";
|
|
3
|
-
import * as
|
|
3
|
+
import * as _vueuse_core0 from "@vueuse/core";
|
|
4
4
|
|
|
5
5
|
//#region src/useAgentRequestStore.d.ts
|
|
6
6
|
interface IAgentRequest {
|
|
@@ -12,8 +12,8 @@ interface IAgentRequestStoreState {
|
|
|
12
12
|
[nodeName: string]: IAgentRequest;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
declare const useAgentRequestStore:
|
|
16
|
-
agentRequests:
|
|
15
|
+
declare const useAgentRequestStore: pinia4.StoreDefinition<"agentRequest", Pick<{
|
|
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;
|
|
19
19
|
setAgentRequestForNode: (workflowId: string, nodeId: string, request: IAgentRequest) => void;
|
|
@@ -21,7 +21,7 @@ declare const useAgentRequestStore: pinia7.StoreDefinition<"agentRequest", Pick<
|
|
|
21
21
|
clearAllAgentRequests: (workflowId?: string) => void;
|
|
22
22
|
getAgentRequest: (workflowId: string, nodeId: string) => IAgentRequest | undefined;
|
|
23
23
|
}, "agentRequests">, Pick<{
|
|
24
|
-
agentRequests:
|
|
24
|
+
agentRequests: _vueuse_core0.RemovableRef<IAgentRequestStoreState>;
|
|
25
25
|
getAgentRequests: (workflowId: string, nodeId: string) => IAgentRequest["query"];
|
|
26
26
|
getQueryValue: (workflowId: string, nodeId: string, nodeName: string, paramName?: string) => unknown;
|
|
27
27
|
setAgentRequestForNode: (workflowId: string, nodeId: string, request: IAgentRequest) => void;
|
|
@@ -29,7 +29,7 @@ declare const useAgentRequestStore: pinia7.StoreDefinition<"agentRequest", Pick<
|
|
|
29
29
|
clearAllAgentRequests: (workflowId?: string) => void;
|
|
30
30
|
getAgentRequest: (workflowId: string, nodeId: string) => IAgentRequest | undefined;
|
|
31
31
|
}, never>, Pick<{
|
|
32
|
-
agentRequests:
|
|
32
|
+
agentRequests: _vueuse_core0.RemovableRef<IAgentRequestStoreState>;
|
|
33
33
|
getAgentRequests: (workflowId: string, nodeId: string) => IAgentRequest["query"];
|
|
34
34
|
getQueryValue: (workflowId: string, nodeId: string, nodeName: string, paramName?: string) => unknown;
|
|
35
35
|
setAgentRequestForNode: (workflowId: string, nodeId: string, request: IAgentRequest) => void;
|