n8n-editor-ui 1.91.1 → 1.93.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.
Files changed (120) hide show
  1. package/dist/assets/{AnimatedSpinner-BrkRvAXQ.js → AnimatedSpinner-hbTZDd93.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DRamY8Fo.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CYzc5StE.js} +1 -1
  3. package/dist/assets/{AuthView-ehh7NFh5.js → AuthView-8SLMP0H_.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-DUBgoMXw.js → CanvasChatSwitch-Dt8TgNJg.js} +22 -10
  5. package/dist/assets/{ChangePasswordView-BLFb7_-o.js → ChangePasswordView-DIRyDp89.js} +3 -3
  6. package/dist/assets/CollectionParameter-Cj4t6-hd.js +4 -0
  7. package/dist/assets/{CredentialsView-1uYUpp0G.js → CredentialsView-B6-VxAJ6.js} +26 -11
  8. package/dist/assets/{DemoFooter-CNfkqkRC.js → DemoFooter-CIHwH5PG.js} +8 -8
  9. package/dist/assets/{ErrorView-CmYweWFA.js → ErrorView-C7i0TZwT.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DAWTDTON.js → ExecutionsTime.vue_vue_type_script_setup_true_lang--2G21NNR.js} +2 -2
  11. package/dist/assets/{ExecutionsView-fotg1R4V.js → ExecutionsView-C_YtciAr.js} +10 -9
  12. package/dist/assets/{FileSaver.min-CcnqpaV-.js → FileSaver.min-bgn7Q9Gt.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-BYR4RzWw.js → FixedCollectionParameter-BPCJ5aaq.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-CQMKtpr-.js → ForgotMyPasswordView-DyUaGd6Z.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-B-9BU5qw.js → InsightsChartAverageRuntime-BB2I2vpV.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-Bd1BlFEm.js → InsightsChartFailed-CN_Rl3Bl.js} +4 -4
  17. package/dist/assets/{InsightsChartFailureRate-DPTCueAp.js → InsightsChartFailureRate-CHKlg6tg.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-CSVKB08W.js → InsightsChartTimeSaved-Cd05cM8q.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-Bxjmisao.js → InsightsChartTotal-ChAO7myf.js} +4 -4
  20. package/dist/assets/{InsightsDashboard-5cOORj5z.js → InsightsDashboard-BeCfBVUz.js} +10 -10
  21. package/dist/assets/{InsightsPaywall-Bdo_3Ic_.js → InsightsPaywall-Chz8CDc3.js} +1 -1
  22. package/dist/assets/{InsightsSummary-DB62HhNM.js → InsightsSummary-MECenLJQ.js} +1 -1
  23. package/dist/assets/{InsightsTableWorkflows-BEC5Yh0b.js → InsightsTableWorkflows-5rpYY7YT.js} +2 -2
  24. package/dist/assets/{Logo-CK8euEWT.js → Logo-DUDCllkm.js} +1 -1
  25. package/dist/assets/{LogsPanel-CrGEYFLo.js → LogsPanel-D9r5AcQH.js} +75 -106
  26. package/dist/assets/{LogsPanel-DLC2TAqh.css → LogsPanel-mTaFEGk_.css} +38 -34
  27. package/dist/assets/{MainHeader-CEPLiR-5.css → MainHeader-CEMGASqv.css} +18 -11
  28. package/dist/assets/{MainHeader-C7XOaZKu.js → MainHeader-DkKOOZ_D.js} +145 -79
  29. package/dist/assets/{MainSidebar-CKMiDGvH.css → MainSidebar-D1_1YFQZ.css} +13 -12
  30. package/dist/assets/{MainSidebar-DD_ugRL3.js → MainSidebar-ZUBIWeXm.js} +36 -19
  31. package/dist/assets/{NodeCreation-S2FoBcnW.js → NodeCreation-DCfAFuL5.js} +10 -5
  32. package/dist/assets/{NodeCreator-D9fmPdS2.css → NodeCreator-D18StsVZ.css} +1021 -174
  33. package/dist/assets/{NodeCreator-D6TKVgLu.js → NodeCreator-a0YVv1IE.js} +863 -418
  34. package/dist/assets/{NodeDetailsView-DtvMtBqp.js → NodeDetailsView-C5_hVJzj.js} +60 -47
  35. package/dist/assets/{NodeDetailsView-CGgV4Pn_.css → NodeDetailsView-pYP-34nS.css} +20 -20
  36. package/dist/assets/{NodeView-BPhaaoWK.js → NodeView-Bk9h8GYy.js} +49 -25
  37. package/dist/assets/{ProjectCardBadge-C_L_pqWA.js → ProjectCardBadge-DRlDZx3d.js} +38 -2
  38. package/dist/assets/{ProjectHeader-C0FZTxjm.js → ProjectHeader-DNm605Kk.js} +106 -64
  39. package/dist/assets/{ProjectSettings-DlggJ6Ti.js → ProjectSettings-Dge_6KaR.js} +3 -2
  40. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BNtCDFSj.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CUf0LkWR.js} +1 -1
  41. package/dist/assets/{ResourcesListLayout-HzoSFUaj.js → ResourcesListLayout-Bbl-1i4l.js} +156 -53
  42. package/dist/assets/{ResourcesListLayout-CtGME7aU.css → ResourcesListLayout-DuNjbsMn.css} +8 -8
  43. package/dist/assets/{RunData-C9dtm1M2.css → RunData-DQeENuzG.css} +12 -2
  44. package/dist/assets/{RunData-D8Eax0cQ.js → RunData-b0RE2JWc.js} +418 -207
  45. package/dist/assets/{RunDataAi-BF2gZZGr.css → RunDataAi-D9VLFXIf.css} +10 -51
  46. package/dist/assets/{RunDataAi-BUnCQIRN.js → RunDataAi-DnWcCR_0.js} +27 -310
  47. package/dist/assets/{RunDataJson-DXd3nZxI.js → RunDataJson-CptVuHuA.js} +7 -7
  48. package/dist/assets/{RunDataJsonActions-aivOaol2.js → RunDataJsonActions-3jjDztw7.js} +1 -1
  49. package/dist/assets/RunDataParsedAiContent-9EEUzCKp.css +176 -0
  50. package/dist/assets/RunDataParsedAiContent-BbXv-NPD.js +148 -0
  51. package/dist/assets/{RunDataSearch-DJ9BZGTu.js → RunDataSearch-B90wjsDA.js} +1 -1
  52. package/dist/assets/{RunDataTable-vEPCwbcC.js → RunDataTable-CpS78GlT.js} +3 -3
  53. package/dist/assets/{SamlOnboarding--OTxMEws.js → SamlOnboarding-Ch9K5rRW.js} +3 -3
  54. package/dist/assets/{SettingsApiView-BulxWyyY.js → SettingsApiView-9GU5n_rm.js} +1 -1
  55. package/dist/assets/{SettingsCommunityNodesView-4wwPXFO2.js → SettingsCommunityNodesView-CPnVRzNX.js} +24 -11
  56. package/dist/assets/{SettingsExternalSecrets-zt7dxBKK.js → SettingsExternalSecrets-D7xTMV9h.js} +1 -1
  57. package/dist/assets/{SettingsLdapView-xneO6UIv.js → SettingsLdapView-OfrjGKkt.js} +1 -1
  58. package/dist/assets/{SettingsLogStreamingView-_h8wUzum.js → SettingsLogStreamingView-C_VnOaeX.js} +1 -1
  59. package/dist/assets/{SettingsPersonalView-CwYMP4sk.js → SettingsPersonalView-Dm24akPV.js} +14 -13
  60. package/dist/assets/{SettingsSourceControl-B9Tg93u3.js → SettingsSourceControl-DDCmL82j.js} +1 -1
  61. package/dist/assets/{SettingsSso-XaL1PzfW.js → SettingsSso-BGGQ0Cpg.js} +14 -1
  62. package/dist/assets/{SettingsUsageAndPlan-Ci15FW81.js → SettingsUsageAndPlan-BzO_zdkH.js} +1 -1
  63. package/dist/assets/{SettingsUsersView-DBJV4vSK.js → SettingsUsersView-DHQUqhqB.js} +1 -1
  64. package/dist/assets/{SettingsView-DMzdPF-1.js → SettingsView-CbtAqjOX.js} +1 -1
  65. package/dist/assets/{SetupView-BqWgdvDq.js → SetupView-BME1OE6U.js} +3 -3
  66. package/dist/assets/{SetupWorkflowCredentialsButton-B2wnuUnF.js → SetupWorkflowCredentialsButton-DZr4TCPC.js} +1 -1
  67. package/dist/assets/{SetupWorkflowFromTemplateView-BwC_wFSc.js → SetupWorkflowFromTemplateView-CPkKEY04.js} +3 -3
  68. package/dist/assets/{SigninView-DpTLJJwD.js → SigninView-DUeRvOiY.js} +3 -3
  69. package/dist/assets/{SignoutView-dkTtOCo1.js → SignoutView-BC7SBunZ.js} +1 -1
  70. package/dist/assets/{SignupView-CJFJJO3L.js → SignupView-B5ecYJ2q.js} +3 -3
  71. package/dist/assets/{TemplateDetails-84YElIBA.js → TemplateDetails-DjanZgC1.js} +1 -1
  72. package/dist/assets/{TemplateList-CGsfKuVA.js → TemplateList-8TyNGxY-.js} +1 -1
  73. package/dist/assets/{TemplatesCollectionView-2y8KZk0I.js → TemplatesCollectionView-BkH4pJCv.js} +5 -5
  74. package/dist/assets/{TemplatesSearchView-DgosiOzl.js → TemplatesSearchView-Bcdhi1SL.js} +3 -3
  75. package/dist/assets/{TemplatesView-CgQSZO4a.js → TemplatesView-De2XB6We.js} +1 -1
  76. package/dist/assets/{TemplatesWorkflowView-2pSUmAbX.js → TemplatesWorkflowView-BVnwtrMa.js} +5 -5
  77. package/dist/assets/{TestDefinitionEditView-C26sWE7p.js → TestDefinitionEditView-DjmPnrTk.js} +7 -7
  78. package/dist/assets/{TestDefinitionListView-Cyl6bsLP.js → TestDefinitionListView-BL2s_qBZ.js} +1 -1
  79. package/dist/assets/{TestDefinitionNewView-CfIZ0atk.js → TestDefinitionNewView-B9BqJZST.js} +2 -2
  80. package/dist/assets/{TestDefinitionRootView-CYg7HBL-.js → TestDefinitionRootView-AlWyxbc0.js} +1 -1
  81. package/dist/assets/{VariablesView-BFE9B0_b.js → VariablesView-BZCvPfan.js} +4 -3
  82. package/dist/assets/{WorkerView-BUMCMS_B.js → WorkerView-CigxqnWi.js} +6 -6
  83. package/dist/assets/{WorkflowActivator-BDLto9c0.js → WorkflowActivator-B7jRy4L1.js} +8 -4
  84. package/dist/assets/{WorkflowActivator-DAyH7N29.css → WorkflowActivator-DrMTmuTZ.css} +2 -2
  85. package/dist/assets/{WorkflowExecutionsInfoAccordion-manN-WIj.js → WorkflowExecutionsInfoAccordion-C_ZycbsF.js} +1 -1
  86. package/dist/assets/{WorkflowExecutionsLandingPage-BzGmpGvf.js → WorkflowExecutionsLandingPage-DOqrfKlC.js} +2 -2
  87. package/dist/assets/{WorkflowExecutionsPreview-CNEV2lom.js → WorkflowExecutionsPreview-B4Cj2gXW.js} +6 -6
  88. package/dist/assets/{WorkflowExecutionsView-WiNvtAmD.js → WorkflowExecutionsView-RXfP7zkJ.js} +11 -9
  89. package/dist/assets/{WorkflowHistory-6uJJqB4x.js → WorkflowHistory-DrXrRwIS.js} +37 -19
  90. package/dist/assets/{WorkflowOnboardingView-CPt_AUR-.js → WorkflowOnboardingView-CXH1vCW2.js} +1 -1
  91. package/dist/assets/{WorkflowPreview-CHUEX6H6.js → WorkflowPreview-B_MuFEV8.js} +1 -1
  92. package/dist/assets/{WorkflowsView-B2_HJCJ5.css → WorkflowsView-CQvTAWQ0.css} +24 -13
  93. package/dist/assets/{WorkflowsView-DbGBRbfc.js → WorkflowsView-D90hfJ35.js} +300 -158
  94. package/dist/assets/{chartjs.utils-C--HONKb.js → chartjs.utils-DalQn9bk.js} +2 -2
  95. package/dist/assets/{dateFormatter-DbKqmK4w.js → dateFormatter-BPfJSa6q.js} +1 -1
  96. package/dist/assets/{easyAiWorkflowUtils-BWgfZ0am.js → easyAiWorkflowUtils-kgtpBx2h.js} +1 -1
  97. package/dist/assets/{global-link-actions-COf-9vBh.js → global-link-actions-CnWOMvqA.js} +1 -1
  98. package/dist/assets/{import-curl-BiXaU2jk.js → import-curl-BvX_O56D.js} +1 -1
  99. package/dist/assets/{index-B6xE9gZ1.js → index-Bb2NNknG.js} +1 -1
  100. package/dist/assets/{index-BLAboPd2.js → index-DZ6VpjNj.js} +4635 -2824
  101. package/dist/assets/{index-sq5ggyEC.css → index-yNaoC3fo.css} +363 -97
  102. package/dist/assets/{pickBy-gZHb6vZ2.js → pickBy-B_HGYyxS.js} +1 -1
  103. package/dist/assets/{templateActions-DCx74tPa.js → templateActions-DQfZ3ni5.js} +1 -1
  104. package/dist/assets/{useBeforeUnload-DbfysOS-.js → useBeforeUnload-Cu0LPVWe.js} +1 -1
  105. package/dist/assets/{useCanvasMapping-CSuq_dYj.js → useCanvasMapping-CTTq6x8X.js} +62 -40
  106. package/dist/assets/{useCanvasMapping-cuXLM-h-.css → useCanvasMapping-VtpW_QZA.css} +6 -5
  107. package/dist/assets/{useCanvasOperations-C0pQBHW3.js → useCanvasOperations-u8oSDa_u.js} +96 -445
  108. package/dist/assets/{useClearExecutionButtonVisible-Cvfxw8xC.js → useClearExecutionButtonVisible-Dwc1_eG9.js} +2 -2
  109. package/dist/assets/{useExecutionDebugging-D2H5O6fT.js → useExecutionDebugging-rc72wLIp.js} +1 -1
  110. package/dist/assets/{useExecutionHelpers-C--m0pTQ.js → useExecutionHelpers-DqwMonFW.js} +2 -2
  111. package/dist/assets/{useImportCurlCommand-XFn6Ezp2.js → useImportCurlCommand-D_onuFvo.js} +19 -10
  112. package/dist/assets/useProjectPages-e8b03-5_.js +17 -0
  113. package/dist/assets/usePushConnection-wm-7Id6Q.js +629 -0
  114. package/dist/assets/{useTestDefinitionForm-2YP-8pAN.js → useTestDefinitionForm-DlUOnNC0.js} +1 -1
  115. package/dist/assets/{useWorkflowActivate-CvmIpy5T.js → useWorkflowActivate-65xML23U.js} +1 -1
  116. package/dist/assets/useWorkflowSaving-CUel20JA.js +66 -0
  117. package/dist/index.html +2 -2
  118. package/package.json +1 -1
  119. package/dist/assets/CollectionParameter-BaH_a73u.js +0 -4
  120. package/dist/assets/usePushConnection-x0iF1Axz.js +0 -537
@@ -0,0 +1,176 @@
1
+ /* BEM support Func
2
+ -------------------------- */
3
+ /* Transition
4
+ -------------------------- */
5
+ /* Color
6
+ -------------------------- */
7
+ /* Link
8
+ -------------------------- */
9
+ /* Border
10
+ -------------------------- */
11
+ /* Outline
12
+ -------------------------- */
13
+ /* Box shadow
14
+ -------------------------- */
15
+ /* Fill
16
+ -------------------------- */
17
+ /* Typography
18
+ -------------------------- */
19
+ /* z-index
20
+ -------------------------- */
21
+ /* Disable base
22
+ -------------------------- */
23
+ /* Icon
24
+ -------------------------- */
25
+ /* Checkbox
26
+ -------------------------- */
27
+ /* Radio
28
+ -------------------------- */
29
+ /* Select
30
+ -------------------------- */
31
+ /* Alert
32
+ -------------------------- */
33
+ /* MessageBox
34
+ -------------------------- */
35
+ /* Message
36
+ -------------------------- */
37
+ /* Notification
38
+ -------------------------- */
39
+ /* Input
40
+ -------------------------- */
41
+ /* Cascader
42
+ -------------------------- */
43
+ /* Group
44
+ -------------------------- */
45
+ /* Tab
46
+ -------------------------- */
47
+ /* Button
48
+ -------------------------- */
49
+ /* cascader
50
+ -------------------------- */
51
+ /* Switch
52
+ -------------------------- */
53
+ /* Dialog
54
+ -------------------------- */
55
+ /* Table
56
+ -------------------------- */
57
+ /* Pagination
58
+ -------------------------- */
59
+ /* Popup
60
+ -------------------------- */
61
+ /* Popover
62
+ -------------------------- */
63
+ /* Tooltip
64
+ -------------------------- */
65
+ /* Tag
66
+ -------------------------- */
67
+ /* Tree
68
+ -------------------------- */
69
+ /* Dropdown
70
+ -------------------------- */
71
+ /* Badge
72
+ -------------------------- */
73
+ /* Card
74
+ --------------------------*/
75
+ /* Slider
76
+ --------------------------*/
77
+ /* Steps
78
+ --------------------------*/
79
+ /* Menu
80
+ --------------------------*/
81
+ /* Rate
82
+ --------------------------*/
83
+ /* DatePicker
84
+ --------------------------*/
85
+ /* Loading
86
+ --------------------------*/
87
+ /* Scrollbar
88
+ --------------------------*/
89
+ /* Carousel
90
+ --------------------------*/
91
+ /* Collapse
92
+ --------------------------*/
93
+ /* Transfer
94
+ --------------------------*/
95
+ /* Header
96
+ --------------------------*/
97
+ /* Footer
98
+ --------------------------*/
99
+ /* Main
100
+ --------------------------*/
101
+ /* Timeline
102
+ --------------------------*/
103
+ /* Backtop
104
+ --------------------------*/
105
+ /* Link
106
+ --------------------------*/
107
+ /* Calendar
108
+ --------------------------*/
109
+ /* Form
110
+ -------------------------- */
111
+ /* Avatar
112
+ --------------------------*/
113
+ /* Break-point
114
+ --------------------------*/
115
+ /* Break-points
116
+ -------------------------- */
117
+ /* Scrollbar
118
+ -------------------------- */
119
+ /* Placeholder
120
+ -------------------------- */
121
+ /* BEM
122
+ -------------------------- */
123
+ ._runText_1mfxw_123 {
124
+ line-height: var(--font-line-height-xloose);
125
+ white-space: pre-line;
126
+ }
127
+ ._markdown_1mfxw_128 {
128
+ white-space: pre-wrap;
129
+ }
130
+ ._markdown_1mfxw_128 h1 {
131
+ font-size: var(--font-size-l);
132
+ line-height: var(--font-line-height-xloose);
133
+ }
134
+ ._markdown_1mfxw_128 h2 {
135
+ font-size: var(--font-size-m);
136
+ line-height: var(--font-line-height-loose);
137
+ }
138
+ ._markdown_1mfxw_128 h3 {
139
+ font-size: var(--font-size-s);
140
+ line-height: var(--font-line-height-regular);
141
+ }
142
+ ._markdown_1mfxw_128 pre {
143
+ background: var(--chat--message--pre--background);
144
+ border-radius: var(--border-radius-base);
145
+ line-height: var(--font-line-height-xloose);
146
+ padding: var(--spacing-s);
147
+ font-size: var(--font-size-s);
148
+ white-space: pre-wrap;
149
+ }
150
+ ._compact_1mfxw_151 ._markdown_1mfxw_128 pre {
151
+ padding: var(--spacing-3xs);
152
+ font-size: var(--font-size-xs);
153
+ }
154
+ ._copyToClipboard_1mfxw_156 {
155
+ position: absolute;
156
+ right: var(--spacing-s);
157
+ top: var(--spacing-s);
158
+ }
159
+ ._compact_1mfxw_151 ._copyToClipboard_1mfxw_156 {
160
+ right: var(--spacing-2xs);
161
+ top: var(--spacing-2xs);
162
+ }
163
+ ._rawContent_1mfxw_166 {
164
+ position: relative;
165
+ }
166
+ ._contentText_1mfxw_170 {
167
+ padding-top: var(--spacing-s);
168
+ padding-left: var(--spacing-m);
169
+ padding-right: var(--spacing-m);
170
+ font-size: var(--font-size-s);
171
+ }
172
+ ._compact_1mfxw_151 ._contentText_1mfxw_170 {
173
+ padding-top: 0;
174
+ padding-inline: var(--spacing-2xs);
175
+ font-size: var(--font-size-xs);
176
+ }
@@ -0,0 +1,148 @@
1
+ import { d as defineComponent, bf as useClipboard, a as useToast, i as createElementBlock, g as openBlock, n as normalizeClass, F as Fragment, D as renderList, e as createBlock, f as createCommentVNode, m as unref, b8 as VueMarkdown, t as toDisplayString, j as createVNode, aT as _sfc_main$1, c as useI18n, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
+ import { H as HighlightJS } from "./RunData-b0RE2JWc.js";
3
+ import "./FileSaver.min-bgn7Q9Gt.js";
4
+ import "./useExecutionHelpers-DqwMonFW.js";
5
+ import "./dateFormatter-BPfJSa6q.js";
6
+ const _hoisted_1 = ["data-content-type"];
7
+ const _hoisted_2 = ["textContent"];
8
+ const _sfc_main = /* @__PURE__ */ defineComponent({
9
+ __name: "RunDataParsedAiContent",
10
+ props: {
11
+ content: {},
12
+ compact: { type: Boolean, default: false },
13
+ renderType: {}
14
+ },
15
+ setup(__props) {
16
+ const i18n = useI18n();
17
+ const clipboard = useClipboard();
18
+ const { showMessage } = useToast();
19
+ function isJsonString(text) {
20
+ try {
21
+ JSON.parse(text);
22
+ return true;
23
+ } catch (e) {
24
+ return false;
25
+ }
26
+ }
27
+ const markdownOptions = {
28
+ highlight(str, lang) {
29
+ if (lang && HighlightJS.getLanguage(lang)) {
30
+ try {
31
+ return HighlightJS.highlight(str, { language: lang }).value;
32
+ } catch {
33
+ }
34
+ }
35
+ return "";
36
+ }
37
+ };
38
+ function isMarkdown(jsonMarkdown) {
39
+ if (typeof jsonMarkdown !== "string") return false;
40
+ const markdownPatterns = [
41
+ /^# .+/gm,
42
+ // headers
43
+ /\*{1,2}.+\*{1,2}/g,
44
+ // emphasis and strong
45
+ /\[.+\]\(.+\)/g,
46
+ // links
47
+ /```[\s\S]+```/g
48
+ // code blocks
49
+ ];
50
+ return markdownPatterns.some((pattern) => pattern.test(jsonMarkdown));
51
+ }
52
+ function formatToJsonMarkdown(data) {
53
+ return "```json\n" + data + "\n```";
54
+ }
55
+ function jsonToMarkdown(data) {
56
+ if (isMarkdown(data)) return data;
57
+ if (Array.isArray(data) && data.length && typeof data[0] !== "number") {
58
+ const markdownArray = data.map((item) => jsonToMarkdown(item));
59
+ return markdownArray.join("\n\n").trim();
60
+ }
61
+ if (typeof data === "string") {
62
+ if (isJsonString(data)) {
63
+ return formatToJsonMarkdown(data);
64
+ }
65
+ return data;
66
+ }
67
+ return formatToJsonMarkdown(JSON.stringify(data, null, 2));
68
+ }
69
+ function onCopyToClipboard(object) {
70
+ try {
71
+ void clipboard.copy(JSON.stringify(object, void 0, 2));
72
+ showMessage({
73
+ title: i18n.baseText("generic.copiedToClipboard"),
74
+ type: "success"
75
+ });
76
+ } catch {
77
+ }
78
+ }
79
+ return (_ctx, _cache) => {
80
+ return openBlock(), createElementBlock("div", {
81
+ class: normalizeClass([_ctx.$style.component, _ctx.compact ? _ctx.$style.compact : ""])
82
+ }, [
83
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.content, ({ parsedContent, raw }, index) => {
84
+ return openBlock(), createElementBlock("div", {
85
+ key: index,
86
+ class: normalizeClass(_ctx.$style.contentText),
87
+ "data-content-type": parsedContent?.type
88
+ }, [
89
+ parsedContent && _ctx.renderType === "rendered" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
90
+ parsedContent.type === "json" ? (openBlock(), createBlock(unref(VueMarkdown), {
91
+ key: 0,
92
+ source: jsonToMarkdown(parsedContent.data),
93
+ class: normalizeClass(_ctx.$style.markdown),
94
+ options: markdownOptions
95
+ }, null, 8, ["source", "class"])) : parsedContent.type === "markdown" ? (openBlock(), createBlock(unref(VueMarkdown), {
96
+ key: 1,
97
+ source: parsedContent.data,
98
+ class: normalizeClass(_ctx.$style.markdown),
99
+ options: markdownOptions
100
+ }, null, 8, ["source", "class"])) : parsedContent.type === "text" ? (openBlock(), createElementBlock("p", {
101
+ key: 2,
102
+ class: normalizeClass(_ctx.$style.runText),
103
+ textContent: toDisplayString(parsedContent.data)
104
+ }, null, 10, _hoisted_2)) : createCommentVNode("", true)
105
+ ], 64)) : (openBlock(), createElementBlock("div", {
106
+ key: 1,
107
+ class: normalizeClass(_ctx.$style.rawContent)
108
+ }, [
109
+ createVNode(unref(_sfc_main$1), {
110
+ size: "small",
111
+ class: normalizeClass(_ctx.$style.copyToClipboard),
112
+ type: "secondary",
113
+ title: unref(i18n).baseText("nodeErrorView.copyToClipboard"),
114
+ icon: "copy",
115
+ onClick: ($event) => onCopyToClipboard(raw)
116
+ }, null, 8, ["class", "title", "onClick"]),
117
+ createVNode(unref(VueMarkdown), {
118
+ source: jsonToMarkdown(raw),
119
+ class: normalizeClass(_ctx.$style.markdown)
120
+ }, null, 8, ["source", "class"])
121
+ ], 2))
122
+ ], 10, _hoisted_1);
123
+ }), 128))
124
+ ], 2);
125
+ };
126
+ }
127
+ });
128
+ const runText = "_runText_1mfxw_123";
129
+ const markdown = "_markdown_1mfxw_128";
130
+ const compact = "_compact_1mfxw_151";
131
+ const copyToClipboard = "_copyToClipboard_1mfxw_156";
132
+ const rawContent = "_rawContent_1mfxw_166";
133
+ const contentText = "_contentText_1mfxw_170";
134
+ const style0 = {
135
+ runText,
136
+ markdown,
137
+ compact,
138
+ copyToClipboard,
139
+ rawContent,
140
+ contentText
141
+ };
142
+ const cssModules = {
143
+ "$style": style0
144
+ };
145
+ const RunDataAi = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
146
+ export {
147
+ RunDataAi as default
148
+ };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, G as useDebounce, r as ref, q as computed, c as useI18n, o as onMounted, bb as onUnmounted, X as watch, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, j as createVNode, n as normalizeClass, B as normalizeStyle, _ as _export_sfc } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, G as useDebounce, r as ref, q as computed, c as useI18n, o as onMounted, bb as onUnmounted, X as watch, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, j as createVNode, n as normalizeClass, B as normalizeStyle, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
2
  const COLLAPSED_WIDTH = "30px";
3
3
  const OPEN_WIDTH = "204px";
4
4
  const OPEN_MIN_WIDTH = "120px";
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, r as ref, as as useNDVStore, Q as useWorkflowsStore, cM as storeToRefs, q as computed, o as onMounted, X as watch, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, F as Fragment, D as renderList, j as createVNode, w as withCtx, aA as withDirectives, e as createBlock, m as unref, aT as _sfc_main$1, aB as vShow, c as useI18n, aR as N8nTooltip, l as createTextVNode, t as toDisplayString, dk as InfoTip, h2 as Draggable, hu as TextWithHighlights, hv as MappingPill, v as shorten, hw as Tree, hx as getPairedItemId, hy as getMappedExpression, aP as useExternalHooks, ag as useTelemetry, _ as _export_sfc } from "./index-BLAboPd2.js";
2
- import { u as useExecutionHelpers } from "./useExecutionHelpers-C--m0pTQ.js";
3
- import "./dateFormatter-DbKqmK4w.js";
1
+ import { d as defineComponent, r as ref, as as useNDVStore, Q as useWorkflowsStore, cT as storeToRefs, q as computed, o as onMounted, X as watch, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, F as Fragment, D as renderList, j as createVNode, w as withCtx, aA as withDirectives, e as createBlock, m as unref, aT as _sfc_main$1, aB as vShow, c as useI18n, aR as N8nTooltip, l as createTextVNode, t as toDisplayString, ds as InfoTip, hf as Draggable, hH as TextWithHighlights, hI as MappingPill, v as shorten, hJ as Tree, hK as getPairedItemId, hL as getMappedExpression, aP as useExternalHooks, ag as useTelemetry, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-DqwMonFW.js";
3
+ import "./dateFormatter-BPfJSa6q.js";
4
4
  const _imports_0 = "/%7B%7BBASE_PATH%7D%7D/static/data-mapping-gif.gif";
5
5
  const _hoisted_1 = ["data-row"];
6
6
  const _hoisted_2 = ["data-row"];
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, b as useRouter, a as useToast, cD as useSSOStore, r as ref, bQ as reactive, c as useI18n, e as createBlock, g as openBlock, V as VIEWS } from "./index-BLAboPd2.js";
2
- import { A as AuthView } from "./AuthView-ehh7NFh5.js";
3
- import "./Logo-CK8euEWT.js";
1
+ import { d as defineComponent, b as useRouter, a as useToast, cK as useSSOStore, r as ref, bR as reactive, c as useI18n, e as createBlock, g as openBlock, V as VIEWS } from "./index-DZ6VpjNj.js";
2
+ import { A as AuthView } from "./AuthView-8SLMP0H_.js";
3
+ import "./Logo-DUDCllkm.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "SamlOnboarding",
6
6
  setup(__props) {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, r as ref, h as resolveComponent, e as createBlock, g as openBlock, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, i as createElementBlock, f as createCommentVNode, l as createTextVNode, t as toDisplayString, c as useI18n, aK as DateTime, _ as _export_sfc, p as useSettingsStore, H as useUIStore, aI as useCloudPlanStore, a as useToast, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, cL as useApiKeysStore, cM as storeToRefs, Z as useRootStore, o as onMounted, cN as DOCS_DOMAIN, m as unref, F as Fragment, D as renderList, ai as useMessage, aj as MODAL_CONFIRM, ag as useTelemetry, cO as API_KEY_CREATE_OR_EDIT_MODAL_KEY } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, r as ref, h as resolveComponent, e as createBlock, g as openBlock, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, i as createElementBlock, f as createCommentVNode, l as createTextVNode, t as toDisplayString, c as useI18n, aK as DateTime, _ as _export_sfc, p as useSettingsStore, H as useUIStore, aI as useCloudPlanStore, a as useToast, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, cS as useApiKeysStore, cT as storeToRefs, Z as useRootStore, o as onMounted, cU as DOCS_DOMAIN, m as unref, F as Fragment, D as renderList, ai as useMessage, aj as MODAL_CONFIRM, ag as useTelemetry, cV as API_KEY_CREATE_OR_EDIT_MODAL_KEY } from "./index-DZ6VpjNj.js";
2
2
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3
3
  __name: "ApiKeyCard",
4
4
  props: {
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, H as useUIStore, cG as COMMUNITY_PACKAGE_MANAGE_ACTIONS, c as useI18n, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, f as createCommentVNode, j as createVNode, k as createBaseVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, F as Fragment, D as renderList, e as createBlock, ag as useTelemetry, cH as NPM_PACKAGE_DOCS_BASE_URL, _ as _export_sfc, r as ref, b as useRouter, P as usePushConnectionStore, a as useToast, a4 as useDocumentTitle, cI as useCommunityNodesStore, q as computed, cJ as COMMUNITY_NODES_INSTALLATION_DOCS_URL, az as onBeforeMount, o as onMounted, y as onBeforeUnmount, aP as useExternalHooks, cK as COMMUNITY_PACKAGE_INSTALL_MODAL_KEY } from "./index-BLAboPd2.js";
2
- import { u as usePushConnection } from "./usePushConnection-x0iF1Axz.js";
3
- import "./global-link-actions-COf-9vBh.js";
4
- import "./easyAiWorkflowUtils-BWgfZ0am.js";
1
+ import { d as defineComponent, H as useUIStore, p as useSettingsStore, cN as COMMUNITY_PACKAGE_MANAGE_ACTIONS, c as useI18n, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, f as createCommentVNode, j as createVNode, k as createBaseVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, F as Fragment, D as renderList, e as createBlock, ag as useTelemetry, cO as NPM_PACKAGE_DOCS_BASE_URL, _ as _export_sfc, r as ref, b as useRouter, P as usePushConnectionStore, a as useToast, a4 as useDocumentTitle, cP as useCommunityNodesStore, q as computed, cQ as COMMUNITY_NODES_INSTALLATION_DOCS_URL, az as onBeforeMount, o as onMounted, y as onBeforeUnmount, aP as useExternalHooks, cR as COMMUNITY_PACKAGE_INSTALL_MODAL_KEY } from "./index-DZ6VpjNj.js";
2
+ import { u as usePushConnection } from "./usePushConnection-wm-7Id6Q.js";
3
+ import "./easyAiWorkflowUtils-kgtpBx2h.js";
4
+ import "./global-link-actions-CnWOMvqA.js";
5
5
  const _hoisted_1 = { key: 0 };
6
6
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7
7
  __name: "CommunityPackageCard",
@@ -14,6 +14,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
14
14
  const { openCommunityPackageUpdateConfirmModal, openCommunityPackageUninstallConfirmModal } = useUIStore();
15
15
  const i18n = useI18n();
16
16
  const telemetry = useTelemetry();
17
+ const settingsStore = useSettingsStore();
17
18
  const packageActions = [
18
19
  {
19
20
  label: i18n.baseText("settings.communityNodes.viewDocsAction.label"),
@@ -150,7 +151,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
150
151
  })
151
152
  ]),
152
153
  _: 1
153
- })) : _ctx.communityPackage.updateAvailable ? (openBlock(), createBlock(_component_n8n_tooltip, {
154
+ })) : unref(settingsStore).isUnverifiedPackagesEnabled && _ctx.communityPackage.updateAvailable ? (openBlock(), createBlock(_component_n8n_tooltip, {
154
155
  key: 1,
155
156
  placement: "top"
156
157
  }, {
@@ -234,7 +235,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
234
235
  const documentTitle = useDocumentTitle();
235
236
  const communityNodesStore = useCommunityNodesStore();
236
237
  const uiStore = useUIStore();
238
+ const settingsStore = useSettingsStore();
239
+ const getEmptyStateTitle = computed(() => {
240
+ if (!settingsStore.isUnverifiedPackagesEnabled) {
241
+ return i18n.baseText("settings.communityNodes.empty.verified.only.title");
242
+ }
243
+ return i18n.baseText("settings.communityNodes.empty.title");
244
+ });
237
245
  const getEmptyStateDescription = computed(() => {
246
+ if (!settingsStore.isUnverifiedPackagesEnabled) {
247
+ return i18n.baseText("settings.communityNodes.empty.verified.only.description");
248
+ }
238
249
  const packageCount = communityNodesStore.availablePackageCount;
239
250
  return packageCount < PACKAGE_COUNT_THRESHOLD ? i18n.baseText("settings.communityNodes.empty.description.no-packages", {
240
251
  interpolate: {
@@ -247,9 +258,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
247
258
  }
248
259
  });
249
260
  });
250
- const getEmptyStateButtonText = computed(
251
- () => i18n.baseText("settings.communityNodes.empty.installPackageLabel")
252
- );
261
+ const getEmptyStateButtonText = computed(() => {
262
+ if (!settingsStore.isUnverifiedPackagesEnabled) return "";
263
+ return i18n.baseText("settings.communityNodes.empty.installPackageLabel");
264
+ });
253
265
  const actionBoxConfig = computed(() => {
254
266
  return {
255
267
  calloutText: "",
@@ -335,7 +347,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
335
347
  ]),
336
348
  _: 1
337
349
  }),
338
- unref(communityNodesStore).getInstalledPackages.length > 0 && !loading.value ? (openBlock(), createBlock(_component_n8n_button, {
350
+ unref(settingsStore).isUnverifiedPackagesEnabled && unref(communityNodesStore).getInstalledPackages.length > 0 && !loading.value ? (openBlock(), createBlock(_component_n8n_button, {
339
351
  key: 0,
340
352
  label: unref(i18n).baseText("settings.communityNodes.installModal.installButton.label"),
341
353
  size: "large",
@@ -357,13 +369,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
357
369
  class: normalizeClass(_ctx.$style.actionBoxContainer)
358
370
  }, [
359
371
  createVNode(_component_n8n_action_box, {
360
- heading: unref(i18n).baseText("settings.communityNodes.empty.title"),
372
+ heading: getEmptyStateTitle.value,
361
373
  description: getEmptyStateDescription.value,
362
374
  "button-text": getEmptyStateButtonText.value,
375
+ "button-disabled": !unref(settingsStore).isUnverifiedPackagesEnabled,
363
376
  "callout-text": actionBoxConfig.value.calloutText,
364
377
  "callout-theme": actionBoxConfig.value.calloutTheme,
365
378
  "onClick:button": onClickEmptyStateButton
366
- }, null, 8, ["heading", "description", "button-text", "callout-text", "callout-theme"])
379
+ }, null, 8, ["heading", "description", "button-text", "button-disabled", "callout-text", "callout-theme"])
367
380
  ], 2)) : (openBlock(), createElementBlock("div", {
368
381
  key: 2,
369
382
  class: normalizeClass(_ctx.$style.cardsContainer)
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, bT as useExternalSecretsStore, H as useUIStore, a as useToast, bN as toRef, q as computed, gw as useExternalSecretsProvider, c as useI18n, aK as DateTime, gx as isDateObject, o as onMounted, h as resolveComponent, e as createBlock, g as openBlock, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, i as createElementBlock, f as createCommentVNode, gy as _sfc_main$2, l as createTextVNode, t as toDisplayString, m as unref, gz as ExternalSecretsProviderConnectionSwitch, z as nextTick, gA as EXTERNAL_SECRETS_PROVIDER_MODAL_KEY, _ as _export_sfc, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, F as Fragment, D as renderList } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, bU as useExternalSecretsStore, H as useUIStore, a as useToast, bO as toRef, q as computed, gJ as useExternalSecretsProvider, c as useI18n, aK as DateTime, gK as isDateObject, o as onMounted, h as resolveComponent, e as createBlock, g as openBlock, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, i as createElementBlock, f as createCommentVNode, gL as _sfc_main$2, l as createTextVNode, t as toDisplayString, m as unref, gM as ExternalSecretsProviderConnectionSwitch, z as nextTick, gN as EXTERNAL_SECRETS_PROVIDER_MODAL_KEY, _ as _export_sfc, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, F as Fragment, D as renderList } from "./index-DZ6VpjNj.js";
2
2
  const _hoisted_1$1 = { key: 0 };
3
3
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
4
4
  __name: "ExternalSecretsProviderCard.ee",
@@ -1,4 +1,4 @@
1
- import { cq as getDefaultExportFromCjs, r as ref, b3 as toRefs, i as createElementBlock, o as onMounted, X as watch, bb as onUnmounted, g as openBlock, x as renderSlot, f as createCommentVNode, j as createVNode, k as createBaseVNode, t as toDisplayString, cr as pushScopeId, cs as popScopeId, z as nextTick, d as defineComponent, a as useToast, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, p as useSettingsStore, q as computed, c as useI18n, h as resolveComponent, ch as resolveDirective, w as withCtx, l as createTextVNode, m as unref, n as normalizeClass, aA as withDirectives, e as createBlock, ct as createFormEventBus, cu as ElTableColumn, cv as ElTable, cw as convertToDisplayDate, cx as capitalizeFirstLetter, ai as useMessage, aj as MODAL_CONFIRM, _ as _export_sfc } from "./index-BLAboPd2.js";
1
+ import { cx as getDefaultExportFromCjs, r as ref, b3 as toRefs, i as createElementBlock, o as onMounted, X as watch, bb as onUnmounted, g as openBlock, x as renderSlot, f as createCommentVNode, j as createVNode, k as createBaseVNode, t as toDisplayString, cy as pushScopeId, cz as popScopeId, z as nextTick, d as defineComponent, a as useToast, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, p as useSettingsStore, q as computed, c as useI18n, h as resolveComponent, co as resolveDirective, w as withCtx, l as createTextVNode, m as unref, n as normalizeClass, aA as withDirectives, e as createBlock, cA as createFormEventBus, cB as ElTableColumn, cC as ElTable, cD as convertToDisplayDate, cE as capitalizeFirstLetter, ai as useMessage, aj as MODAL_CONFIRM, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
2
  var humanizeDuration$1 = { exports: {} };
3
3
  var hasRequiredHumanizeDuration;
4
4
  function requireHumanizeDuration() {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, cg as deepCopy, cP as useLogStreamingStore, r as ref, o as onMounted, cQ as defaultMessageEventBusDestinationOptions, az as onBeforeMount, q as computed, c as useI18n, cR as assert, h as resolveComponent, e as createBlock, g as openBlock, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, l as createTextVNode, t as toDisplayString, m as unref, ai as useMessage, aj as MODAL_CONFIRM, _ as _export_sfc, p as useSettingsStore, Q as useWorkflowsStore, H as useUIStore, bR as useCredentialsStore, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, aa as EnterpriseEditionFeature, a9 as hasPermission, C as createEventBus, cS as getCurrentInstance, ch as resolveDirective, i as createElementBlock, f as createCommentVNode, F as Fragment, aA as withDirectives, D as renderList, cT as LOG_STREAM_MODAL_KEY, bn as v4, z as nextTick } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, cn as deepCopy, cW as useLogStreamingStore, r as ref, o as onMounted, cX as defaultMessageEventBusDestinationOptions, az as onBeforeMount, q as computed, c as useI18n, cY as assert, h as resolveComponent, e as createBlock, g as openBlock, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, l as createTextVNode, t as toDisplayString, m as unref, ai as useMessage, aj as MODAL_CONFIRM, _ as _export_sfc, p as useSettingsStore, Q as useWorkflowsStore, H as useUIStore, bS as useCredentialsStore, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, aa as EnterpriseEditionFeature, a9 as hasPermission, C as createEventBus, cZ as getCurrentInstance, co as resolveDirective, i as createElementBlock, f as createCommentVNode, F as Fragment, aA as withDirectives, D as renderList, c_ as LOG_STREAM_MODAL_KEY, bn as v4, z as nextTick } from "./index-DZ6VpjNj.js";
2
2
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3
3
  __name: "EventDestinationCard.ee",
4
4
  props: {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, a as useToast, a4 as useDocumentTitle, r as ref, H as useUIStore, u as useUsersStore, p as useSettingsStore, q as computed, o as onMounted, c as useI18n, y as onBeforeUnmount, cy as promptMfaCodeBus, h as resolveComponent, i as createElementBlock, g as openBlock, k as createBaseVNode, f as createCommentVNode, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, n as normalizeClass, e as createBlock, ct as createFormEventBus, cz as MFA_DOCS_URL, F as Fragment, D as renderList, cA as CHANGE_PASSWORD_MODAL_KEY, cB as PROMPT_MFA_CODE_MODAL_KEY, cC as MFA_SETUP_MODAL_KEY, _ as _export_sfc } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, a as useToast, a4 as useDocumentTitle, r as ref, H as useUIStore, u as useUsersStore, p as useSettingsStore, q as computed, o as onMounted, c as useI18n, y as onBeforeUnmount, cF as promptMfaCodeBus, h as resolveComponent, i as createElementBlock, g as openBlock, k as createBaseVNode, f as createCommentVNode, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, n as normalizeClass, e as createBlock, cA as createFormEventBus, cG as MFA_DOCS_URL, F as Fragment, D as renderList, cH as CHANGE_PASSWORD_MODAL_KEY, cI as PROMPT_MFA_CODE_MODAL_KEY, cJ as MFA_SETUP_MODAL_KEY, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
2
  const _hoisted_1 = { class: "mb-s" };
3
3
  const _hoisted_2 = { "data-test-id": "personal-data-form" };
4
4
  const _hoisted_3 = { key: 0 };
@@ -123,20 +123,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
123
123
  }
124
124
  }
125
125
  async function onSubmit(form) {
126
- if (!usersStore.currentUser?.mfaEnabled) {
126
+ const emailChanged = usersStore.currentUser?.email !== form.email;
127
+ if (usersStore.currentUser?.mfaEnabled && emailChanged) {
128
+ uiStore.openModal(PROMPT_MFA_CODE_MODAL_KEY);
129
+ promptMfaCodeBus.once("closed", async (payload) => {
130
+ if (!payload) {
131
+ return;
132
+ }
133
+ await saveUserSettings({
134
+ ...form,
135
+ mfaCode: payload.mfaCode
136
+ });
137
+ });
138
+ } else {
127
139
  await saveUserSettings(form);
128
- return;
129
140
  }
130
- uiStore.openModal(PROMPT_MFA_CODE_MODAL_KEY);
131
- promptMfaCodeBus.once("closed", async (payload) => {
132
- if (!payload) {
133
- return;
134
- }
135
- await saveUserSettings({
136
- ...form,
137
- mfaCode: payload.mfaCode
138
- });
139
- });
140
141
  }
141
142
  async function updateUserBasicInfo(userBasicInfo) {
142
143
  if (!hasAnyBasicInfoChanges.value || !usersStore.currentUserId) {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, a0 as useSourceControlStore, a6 as usePageRedirectionHelper, a as useToast, a4 as useDocumentTitle, aD as useLoadingService, r as ref, q as computed, o as onMounted, c as useI18n, bQ as reactive, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, e as createBlock, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, k as createBaseVNode, f as createCommentVNode, n as normalizeClass, dn as CopyInput, ai as useMessage, aj as MODAL_CONFIRM, _ as _export_sfc } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, a0 as useSourceControlStore, a6 as usePageRedirectionHelper, a as useToast, a4 as useDocumentTitle, aD as useLoadingService, r as ref, q as computed, o as onMounted, c as useI18n, bR as reactive, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, e as createBlock, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, k as createBaseVNode, f as createCommentVNode, n as normalizeClass, dv as CopyInput, ai as useMessage, aj as MODAL_CONFIRM, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
2
  const _hoisted_1 = {
3
3
  key: 0,
4
4
  "data-test-id": "source-control-content-licensed"
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, Z as useRootStore, cD as useSSOStore, a as useToast, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, q as computed, c as useI18n, r as ref, o as onMounted, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, k as createBaseVNode, e as createBlock, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, f as createCommentVNode, n as normalizeClass, dn as CopyInput, aA as withDirectives, aB as vShow, ai as useMessage, ag as useTelemetry, _ as _export_sfc } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, Z as useRootStore, cK as useSSOStore, a as useToast, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, q as computed, c as useI18n, r as ref, o as onMounted, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, k as createBaseVNode, e as createBlock, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, f as createCommentVNode, n as normalizeClass, dv as CopyInput, aA as withDirectives, aB as vShow, ai as useMessage, ag as useTelemetry, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
2
  const _hoisted_1 = { class: "pb-3xl" };
3
3
  const _hoisted_2 = {
4
4
  href: "https://docs.n8n.io/user-management/saml/",
@@ -74,6 +74,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
74
74
  };
75
75
  const onSave = async () => {
76
76
  try {
77
+ validateInput();
77
78
  const config = ipsType.value === IdentityProviderSettingsType.URL ? { metadataUrl: metadataUrl.value } : { metadata: metadata.value };
78
79
  await ssoStore.saveSamlConfig(config);
79
80
  if (!ssoStore.isSamlLoginEnabled) {
@@ -111,6 +112,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
111
112
  toast.showError(error, "error");
112
113
  }
113
114
  };
115
+ const validateInput = () => {
116
+ if (ipsType.value === IdentityProviderSettingsType.URL) {
117
+ try {
118
+ const parsedUrl = new URL(metadataUrl.value);
119
+ if (parsedUrl.protocol !== "https:" && parsedUrl.protocol !== "http:") {
120
+ throw new Error("The provided protocol is not supported");
121
+ }
122
+ } catch (error) {
123
+ throw new Error(i18n.baseText("settings.sso.settings.ips.url.invalid"));
124
+ }
125
+ }
126
+ };
114
127
  const goToUpgrade = () => {
115
128
  void pageRedirectionHelper.goToUpgrade("sso", "upgrade-sso");
116
129
  };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, di as useUsageStore, R as useRoute, b as useRouter, H as useUIStore, u as useUsersStore, a as useToast, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, r as ref, q as computed, a9 as hasPermission, a7 as getResourcePermissions, o as onMounted, dj as i18n, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, f as createCommentVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, e as createBlock, k as createBaseVNode, n as normalizeClass, B as normalizeStyle, dk as InfoTip, b2 as withModifiers, dl as COMMUNITY_PLUS_ENROLLMENT_MODAL, dm as telemetry, _ as _export_sfc } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, dq as useUsageStore, R as useRoute, b as useRouter, H as useUIStore, u as useUsersStore, a as useToast, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, r as ref, q as computed, a9 as hasPermission, a7 as getResourcePermissions, o as onMounted, dr as i18n, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, f as createCommentVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, e as createBlock, k as createBaseVNode, n as normalizeClass, B as normalizeStyle, ds as InfoTip, b2 as withModifiers, dt as COMMUNITY_PLUS_ENROLLMENT_MODAL, du as telemetry, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
2
  const _hoisted_1 = { class: "settings-usage-and-plan" };
3
3
  const _hoisted_2 = { key: 0 };
4
4
  const _hoisted_3 = { key: 0 };
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, bf as useClipboard, a as useToast, p as useSettingsStore, H as useUIStore, u as useUsersStore, cD as useSSOStore, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, q as computed, a9 as hasPermission, o as onMounted, c as useI18n, aa as EnterpriseEditionFeature, cE as ROLE, h as resolveComponent, i as createElementBlock, g as openBlock, k as createBaseVNode, f as createCommentVNode, e as createBlock, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, n as normalizeClass, F as Fragment, D as renderList, cF as INVITE_USER_MODAL_KEY, _ as _export_sfc } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, bf as useClipboard, a as useToast, p as useSettingsStore, H as useUIStore, u as useUsersStore, cK as useSSOStore, a4 as useDocumentTitle, a6 as usePageRedirectionHelper, q as computed, a9 as hasPermission, o as onMounted, c as useI18n, aa as EnterpriseEditionFeature, cL as ROLE, h as resolveComponent, i as createElementBlock, g as openBlock, k as createBaseVNode, f as createCommentVNode, e as createBlock, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, n as normalizeClass, F as Fragment, D as renderList, cM as INVITE_USER_MODAL_KEY, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "SettingsUsersView",
4
4
  setup(__props) {
@@ -1,4 +1,4 @@
1
- import { a9 as hasPermission, d as defineComponent, b as useRouter, R as useRoute, Z as useRootStore, p as useSettingsStore, H as useUIStore, q as computed, V as VIEWS, c as useI18n, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, j as createVNode, w as withCtx, k as createBaseVNode, m as unref, aX as ABOUT_MODAL_KEY, l as createTextVNode, t as toDisplayString, _ as _export_sfc, r as ref, o as onMounted, b7 as mergeProps, cp as isRouteLocationRaw } from "./index-BLAboPd2.js";
1
+ import { a9 as hasPermission, d as defineComponent, b as useRouter, R as useRoute, Z as useRootStore, p as useSettingsStore, H as useUIStore, q as computed, V as VIEWS, c as useI18n, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, j as createVNode, w as withCtx, k as createBaseVNode, m as unref, aX as ABOUT_MODAL_KEY, l as createTextVNode, t as toDisplayString, _ as _export_sfc, r as ref, o as onMounted, b7 as mergeProps, cw as isRouteLocationRaw } from "./index-DZ6VpjNj.js";
2
2
  function useUserHelpers(router, route) {
3
3
  const canUserAccessRouteByName = (name) => {
4
4
  const resolvedRoute = router.resolve({ name });
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, p as useSettingsStore, H as useUIStore, u as useUsersStore, a as useToast, b as useRouter, r as ref, bQ as reactive, c as useI18n, e as createBlock, g as openBlock, V as VIEWS } from "./index-BLAboPd2.js";
2
- import { A as AuthView } from "./AuthView-ehh7NFh5.js";
3
- import "./Logo-CK8euEWT.js";
1
+ import { d as defineComponent, p as useSettingsStore, H as useUIStore, u as useUsersStore, a as useToast, b as useRouter, r as ref, bR as reactive, c as useI18n, e as createBlock, g as openBlock, V as VIEWS } from "./index-DZ6VpjNj.js";
2
+ import { A as AuthView } from "./AuthView-8SLMP0H_.js";
3
+ import "./Logo-DUDCllkm.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "SetupView",
6
6
  setup(__props) {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, Q as useWorkflowsStore, bz as useNodeTypesStore, H as useUIStore, q as computed, ii as doesNodeHaveAllCredentialsFilled, X as watch, y as onBeforeUnmount, ij as SETUP_CREDENTIALS_MODAL_KEY, h as resolveComponent, e as createBlock, f as createCommentVNode, g as openBlock, m as unref, c as useI18n } from "./index-BLAboPd2.js";
1
+ import { d as defineComponent, Q as useWorkflowsStore, bz as useNodeTypesStore, H as useUIStore, q as computed, iw as doesNodeHaveAllCredentialsFilled, X as watch, y as onBeforeUnmount, ix as SETUP_CREDENTIALS_MODAL_KEY, h as resolveComponent, e as createBlock, f as createCommentVNode, g as openBlock, m as unref, c as useI18n } from "./index-DZ6VpjNj.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "SetupWorkflowCredentialsButton",
4
4
  setup(__props) {
@@ -1,6 +1,6 @@
1
- import { O as defineStore, r as ref, aN as useTemplatesStore, bz as useNodeTypesStore, bR as useCredentialsStore, Z as useRootStore, Q as useWorkflowsStore, q as computed, d0 as useCredentialSetupState, aP as useExternalHooks, ag as useTelemetry, V as VIEWS, c4 as tryToParseNumber, d as defineComponent, R as useRoute, b as useRouter, X as watch, o as onMounted, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, k as createBaseVNode, n as normalizeClass, d1 as AppsRequiringCredsNotice, m as unref, i as createElementBlock, F as Fragment, D as renderList, d2 as SetupTemplateFormStep, j as createVNode, aS as N8nLink, l as createTextVNode, t as toDisplayString, c as useI18n, d3 as N8nHeading, _ as _export_sfc } from "./index-BLAboPd2.js";
2
- import { c as createWorkflowFromTemplate } from "./templateActions-DCx74tPa.js";
3
- import { T as TemplatesView } from "./TemplatesView-CgQSZO4a.js";
1
+ import { O as defineStore, r as ref, aN as useTemplatesStore, bz as useNodeTypesStore, bS as useCredentialsStore, Z as useRootStore, Q as useWorkflowsStore, q as computed, d7 as useCredentialSetupState, aP as useExternalHooks, ag as useTelemetry, V as VIEWS, c7 as tryToParseNumber, d as defineComponent, R as useRoute, b as useRouter, X as watch, o as onMounted, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, k as createBaseVNode, n as normalizeClass, d8 as AppsRequiringCredsNotice, m as unref, i as createElementBlock, F as Fragment, D as renderList, d9 as SetupTemplateFormStep, j as createVNode, aS as N8nLink, l as createTextVNode, t as toDisplayString, c as useI18n, da as N8nHeading, _ as _export_sfc } from "./index-DZ6VpjNj.js";
2
+ import { c as createWorkflowFromTemplate } from "./templateActions-DQfZ3ni5.js";
3
+ import { T as TemplatesView } from "./TemplatesView-De2XB6We.js";
4
4
  const useSetupTemplateStore = defineStore("setupTemplate", () => {
5
5
  const templateId = ref("");
6
6
  const isLoading = ref(true);
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, r as ref, cU as toRefs, p as useSettingsStore, o as onMounted, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, j as createVNode, m as unref, w as withCtx, k as createBaseVNode, l as createTextVNode, t as toDisplayString, c as useI18n, e as createBlock, f as createCommentVNode, cV as MFA_FORM, M as MFA_AUTHENTICATION_CODE_INPUT_MAX_LENGTH, cW as MFA_AUTHENTICATION_RECOVERY_CODE_INPUT_MAX_LENGTH, cX as mfaEventBus, _ as _export_sfc, u as useUsersStore, aI as useCloudPlanStore, R as useRoute, b as useRouter, a as useToast, q as computed, bQ as reactive, ag as useTelemetry, V as VIEWS, cY as MFA_AUTHENTICATION_REQUIRED_ERROR_CODE } from "./index-BLAboPd2.js";
2
- import { A as AuthView } from "./AuthView-ehh7NFh5.js";
3
- import { L as Logo } from "./Logo-CK8euEWT.js";
1
+ import { d as defineComponent, r as ref, c$ as toRefs, p as useSettingsStore, o as onMounted, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, j as createVNode, m as unref, w as withCtx, k as createBaseVNode, l as createTextVNode, t as toDisplayString, c as useI18n, e as createBlock, f as createCommentVNode, d0 as MFA_FORM, M as MFA_AUTHENTICATION_CODE_INPUT_MAX_LENGTH, d1 as MFA_AUTHENTICATION_RECOVERY_CODE_INPUT_MAX_LENGTH, d2 as mfaEventBus, _ as _export_sfc, u as useUsersStore, aI as useCloudPlanStore, R as useRoute, b as useRouter, a as useToast, q as computed, bR as reactive, ag as useTelemetry, V as VIEWS, d3 as MFA_AUTHENTICATION_REQUIRED_ERROR_CODE } from "./index-DZ6VpjNj.js";
2
+ import { A as AuthView } from "./AuthView-8SLMP0H_.js";
3
+ import { L as Logo } from "./Logo-DUDCllkm.js";
4
4
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5
5
  __name: "MfaView",
6
6
  props: {