n8n-editor-ui 1.119.1 → 1.120.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 (491) hide show
  1. package/dist/assets/{AddDataTableModal-78UiDOZ6.js → AddDataTableModal-CNPce2MK.js} +17 -17
  2. package/dist/assets/AddDataTableModal-legacy-D_q2DsYi.js +165 -0
  3. package/dist/assets/AnimatedSpinner-legacy-a37yY0a9.js +35 -0
  4. package/dist/assets/{AnnotationTagsDropdown.ee-B5SGfmxY.js → AnnotationTagsDropdown.ee-B3a6ceTY.js} +2 -2
  5. package/dist/assets/AnnotationTagsDropdown.ee-legacy-LINSaq2v.js +90 -0
  6. package/dist/assets/{AuthView-CaCXt20h.js → AuthView-BksSCUt6.js} +6 -6
  7. package/dist/assets/AuthView-legacy-CfV1HZE_.js +170 -0
  8. package/dist/assets/{ChangePasswordView-sh87mWR6.js → ChangePasswordView-Cvxj1PRp.js} +15 -15
  9. package/dist/assets/ChangePasswordView-legacy-xsAfjRRg.js +165 -0
  10. package/dist/assets/{ChatAgentsView-4SiYQ9YJ.js → ChatAgentsView-DJypCGml.js} +22 -22
  11. package/dist/assets/ChatAgentsView-legacy-BaECHABU.js +418 -0
  12. package/dist/assets/{ChatSidebar-C0XXqw3v.js → ChatSidebar-C13q9zqk.js} +29 -24
  13. package/dist/assets/ChatSidebar-legacy-DIt4TcYH.js +485 -0
  14. package/dist/assets/{ChatView-BlkLzP1X.js → ChatView-D2xZRN42.js} +26 -26
  15. package/dist/assets/ChatView-legacy-CFToQG1U.js +1192 -0
  16. package/dist/assets/CollectionParameter-legacy-IavnknS_.js +16 -0
  17. package/dist/assets/CollectionParameter-uuFxXssR.js +58 -0
  18. package/dist/assets/{CommunityNodeUpdateInfo-Egv665vx.js → CommunityNodeUpdateInfo-CLRP_8wC.js} +8 -8
  19. package/dist/assets/CommunityNodeUpdateInfo-legacy-DS8roZW5.js +395 -0
  20. package/dist/assets/{CopyInput-DX-FL085.js → CopyInput-Bn1XwSA8.js} +4 -4
  21. package/dist/assets/CopyInput-legacy-CiWOPgga.js +141 -0
  22. package/dist/assets/{CredentialIcon-DS3l06t2.js → CredentialIcon-BYz55hZ1.js} +2 -2
  23. package/dist/assets/CredentialIcon-legacy-Dj_Wwpq8.js +110 -0
  24. package/dist/assets/{CredentialsView-C3SKDwtI.js → CredentialsView-DAHDYrLs.js} +36 -36
  25. package/dist/assets/CredentialsView-legacy-DLPPpy9f.js +562 -0
  26. package/dist/assets/{DataTableActions-lgRuMb9F.js → DataTableActions-C64c3Y8N.js} +7 -7
  27. package/dist/assets/DataTableActions-legacy-DBVf0Yyo.js +113 -0
  28. package/dist/assets/{DataTableDetailsView-CoWw-4gy.js → DataTableDetailsView-ByMD0P9u.js} +23 -23
  29. package/dist/assets/DataTableDetailsView-legacy-DaV5zS6D.js +46280 -0
  30. package/dist/assets/{DataTableView-hUsgVnZS.js → DataTableView-7hlUIGsV.js} +33 -33
  31. package/dist/assets/DataTableView-legacy-CI8bni3b.js +348 -0
  32. package/dist/assets/DemoFooter-CXKoC-C4.js +70 -0
  33. package/dist/assets/DemoFooter-legacy-C9jTq-mk.js +39 -0
  34. package/dist/assets/{Draggable-DFf4aD-Y.js → Draggable-FGSUZI7J.js} +1 -1
  35. package/dist/assets/Draggable-legacy-DrwbjxUV.js +158 -0
  36. package/dist/assets/{EmptySharedSectionActionBox-BkPu0yI0.js → EmptySharedSectionActionBox-DC-L1kVD.js} +4 -4
  37. package/dist/assets/EmptySharedSectionActionBox-legacy-CcDbu4Qz.js +68 -0
  38. package/dist/assets/{EnterpriseEdition.ee-BoNEV-MB.js → EnterpriseEdition.ee-BLnkG_vb.js} +1 -1
  39. package/dist/assets/EnterpriseEdition.ee-legacy-qbLE7866.js +44 -0
  40. package/dist/assets/{EntityNotFound-Bs-aLs3W.js → EntityNotFound-BEd7ip46.js} +7 -7
  41. package/dist/assets/EntityNotFound-legacy-DYBNYDT_.js +116 -0
  42. package/dist/assets/{EntityUnAuthorised-BwhGn6eD.js → EntityUnAuthorised-BwJ3qYPD.js} +7 -7
  43. package/dist/assets/EntityUnAuthorised-legacy-igjo60QA.js +97 -0
  44. package/dist/assets/{ErrorView-Cvlb8nm0.js → ErrorView-BpDaPgmW.js} +9 -9
  45. package/dist/assets/ErrorView-legacy-DapUi98L.js +100 -0
  46. package/dist/assets/{EvaluationsRootView-DdOZORFr.js → EvaluationsRootView-BeKeeOoI.js} +26 -26
  47. package/dist/assets/EvaluationsRootView-legacy-CKVE58to.js +633 -0
  48. package/dist/assets/{EvaluationsView-DxiPOlGL.js → EvaluationsView-BWf7BQC4.js} +20 -20
  49. package/dist/assets/EvaluationsView-legacy-DhlbC0Ea.js +612 -0
  50. package/dist/assets/{ExecutionsTime-DwXL-TY4.js → ExecutionsTime-EA00RsW3.js} +9 -9
  51. package/dist/assets/ExecutionsTime-legacy-DrbsbtIP.js +618 -0
  52. package/dist/assets/ExecutionsView-legacy-Dgt_HcPK.js +941 -0
  53. package/dist/assets/{ExecutionsView-B4XGhWmY.js → ExecutionsView-nE3nEcsV.js} +37 -37
  54. package/dist/assets/{ExternalSecretsProviderConnectionSwitch.ee-DCTg0mdX.js → ExternalSecretsProviderConnectionSwitch.ee-BWc-RcA5.js} +4 -4
  55. package/dist/assets/ExternalSecretsProviderConnectionSwitch.ee-legacy-vUb1CeAz.js +269 -0
  56. package/dist/assets/FileSaver.min-legacy-BTN44Z38.js +100 -0
  57. package/dist/assets/{FixedCollectionParameter-DjdDaH5s.js → FixedCollectionParameter-B1yXNe91.js} +48 -48
  58. package/dist/assets/FixedCollectionParameter-legacy-D_uQ0vSg.js +346 -0
  59. package/dist/assets/{ForgotMyPasswordView-KkAVBYit.js → ForgotMyPasswordView-D7LLNbRv.js} +15 -15
  60. package/dist/assets/ForgotMyPasswordView-legacy-DftsnpqL.js +118 -0
  61. package/dist/assets/{InsightsChartAverageRuntime-D5Gh8Rz5.js → InsightsChartAverageRuntime-C7rtAGGH.js} +8 -8
  62. package/dist/assets/InsightsChartAverageRuntime-legacy-C8eNILht.js +91 -0
  63. package/dist/assets/{InsightsChartFailed-D7PZ_ctV.js → InsightsChartFailed-BVvAmkiO.js} +7 -7
  64. package/dist/assets/InsightsChartFailed-legacy-BrgEC_aN.js +82 -0
  65. package/dist/assets/{InsightsChartFailureRate-CpPU5Kwd.js → InsightsChartFailureRate-DwY4ZV2Q.js} +8 -8
  66. package/dist/assets/InsightsChartFailureRate-legacy-BOkyqauQ.js +85 -0
  67. package/dist/assets/{InsightsChartTimeSaved-DYrv2t2N.js → InsightsChartTimeSaved-g3dzoVe5.js} +8 -8
  68. package/dist/assets/InsightsChartTimeSaved-legacy-CRXGQDed.js +99 -0
  69. package/dist/assets/{InsightsChartTotal-CNqL-Qn3.js → InsightsChartTotal-BUzsVTHL.js} +7 -7
  70. package/dist/assets/InsightsChartTotal-legacy-BJMAB7NO.js +82 -0
  71. package/dist/assets/{InsightsDashboard-CrJZtNDS.js → InsightsDashboard-Z46a8mLm.js} +36 -36
  72. package/dist/assets/InsightsDashboard-legacy-BsKYh6Zu.js +562 -0
  73. package/dist/assets/{InsightsPaywall-DxgcxZ5z.js → InsightsPaywall-CM-5Wo37.js} +16 -16
  74. package/dist/assets/InsightsPaywall-legacy-Db6t4x-1.js +83 -0
  75. package/dist/assets/{InsightsSummary-Bew3_p6D.js → InsightsSummary-BKDZRj8q.js} +8 -8
  76. package/dist/assets/InsightsSummary-legacy-e5z3TegQ.js +225 -0
  77. package/dist/assets/{InsightsTableWorkflows-TAIASHgR.js → InsightsTableWorkflows-BNelOen0.js} +16 -16
  78. package/dist/assets/InsightsTableWorkflows-legacy-BDjUKHj8.js +269 -0
  79. package/dist/assets/{ItemsRenderer-BfXptelN.js → ItemsRenderer-DG_0Q-Gb.js} +8 -8
  80. package/dist/assets/ItemsRenderer-legacy-BcFXv3rI.js +1178 -0
  81. package/dist/assets/{KeyboardShortcutTooltip-y1pBqAge.js → KeyboardShortcutTooltip-BYhbaXL9.js} +1 -1
  82. package/dist/assets/KeyboardShortcutTooltip-legacy-DFhofumE.js +81 -0
  83. package/dist/assets/LogsPanel-Cr7P14px.js +57 -0
  84. package/dist/assets/{LogsPanel-Uc0E6yn-.js → LogsPanel-abfXyH7Y.js} +28 -30
  85. package/dist/assets/LogsPanel-legacy-BjPVIpZg.js +2951 -0
  86. package/dist/assets/LogsPanel-legacy-BjVvE6Y0.js +16 -0
  87. package/dist/assets/{MainHeader-M-D-hY8c.js → MainHeader-CsSHhx5_.js} +241 -65
  88. package/dist/assets/{MainHeader-Dz9UViYg.css → MainHeader-Csdi9iXJ.css} +177 -29
  89. package/dist/assets/MainHeader-legacy-CvmcTj8J.js +2193 -0
  90. package/dist/assets/MainSidebar-legacy-YxLN5JqH.js +1306 -0
  91. package/dist/assets/{MainSidebar-Bf52gQzU.js → MainSidebar-rOTUtkBP.js} +26 -26
  92. package/dist/assets/{MainSidebarUserArea-UHX8ACa4.js → MainSidebarUserArea-BJPw39X0.js} +5 -5
  93. package/dist/assets/MainSidebarUserArea-legacy-D6AOIGgS.js +172 -0
  94. package/dist/assets/{Modal-DwutFKNY.js → Modal-DCqr4mja.js} +5 -5
  95. package/dist/assets/Modal-legacy-JHEaiPBD.js +265 -0
  96. package/dist/assets/ModalDrawer-legacy-BJmqm_oA.js +308 -0
  97. package/dist/assets/{ModalDrawer-B2sNzJVm.js → ModalDrawer-tIdfksn8.js} +6 -6
  98. package/dist/assets/{NDVEmptyState-DdpBamQ9.js → NDVEmptyState-BHecevNV.js} +1 -1
  99. package/dist/assets/NDVEmptyState-legacy-MP5RoBw5.js +19819 -0
  100. package/dist/assets/{NodeCreation-BRIx8Ei9.js → NodeCreation-D55e03Og.js} +46 -46
  101. package/dist/assets/NodeCreation-legacy-C2W0brGN.js +273 -0
  102. package/dist/assets/NodeCreator-legacy-CTnRoQSx.js +1670 -0
  103. package/dist/assets/{NodeCreator-DDG2GQ-C.js → NodeCreator-s6kndVrv.js} +31 -31
  104. package/dist/assets/{NodeDetailsView-4jVeGvDi.js → NodeDetailsView-Bob_UNcq.js} +64 -64
  105. package/dist/assets/NodeDetailsView-legacy-DDTRIVzE.js +1116 -0
  106. package/dist/assets/{NodeDetailsViewV2-MeaPvImX.js → NodeDetailsViewV2-B9XEZfhu.js} +65 -65
  107. package/dist/assets/NodeDetailsViewV2-legacy-CK4dIDeL.js +1060 -0
  108. package/dist/assets/{NodeIcon-C-rkj6sB.js → NodeIcon-lOuyYMGN.js} +2 -2
  109. package/dist/assets/NodeIcon-legacy-DG2J9mhW.js +127 -0
  110. package/dist/assets/{NodeSettings-gAtnSv8q.js → NodeSettings-B_ICqwDQ.js} +19 -19
  111. package/dist/assets/NodeSettings-legacy-CF2CaCzs.js +2811 -0
  112. package/dist/assets/NodeView-legacy-BMkGVdkr.js +2660 -0
  113. package/dist/assets/{NodeView-jjqmiYDP.js → NodeView-ph9FnUki.js} +69 -69
  114. package/dist/assets/{SettingsProvisioningView-Dhfda99J.css → OAuthConsentView-CXZbBKS5.css} +74 -32
  115. package/dist/assets/OAuthConsentView-CtUbmPEv.js +225 -0
  116. package/dist/assets/OAuthConsentView-legacy-V4pqsJpk.js +292 -0
  117. package/dist/assets/PageViewLayout-legacy-B1As2gDz.js +44 -0
  118. package/dist/assets/{ParameterInputList-kEoD9fc7.js → ParameterInputList-CVOMMAVC.js} +29 -29
  119. package/dist/assets/ParameterInputList-legacy-D0lnTah6.js +38124 -0
  120. package/dist/assets/{PrebuiltAgentTemplatesView-Dd6IJD_W.js → PrebuiltAgentTemplatesView-C66v0Rfw.js} +18 -18
  121. package/dist/assets/PrebuiltAgentTemplatesView-legacy-no2dr8dA.js +205 -0
  122. package/dist/assets/{ProjectBreadcrumb-scGlGqYf.js → ProjectBreadcrumb-CVitESde.js} +4 -4
  123. package/dist/assets/ProjectBreadcrumb-legacy-DuIjFcuf.js +140 -0
  124. package/dist/assets/{ProjectCardBadge-p4AY0ubu.js → ProjectCardBadge-RcG3IuSv.js} +5 -5
  125. package/dist/assets/ProjectCardBadge-legacy-Ckl-RNYt.js +251 -0
  126. package/dist/assets/{ProjectHeader-BZeiGuD6.js → ProjectHeader-BTxr_uZx.js} +12 -11
  127. package/dist/assets/ProjectHeader-legacy-CpJwWF0C.js +710 -0
  128. package/dist/assets/{ProjectIcon-DqKjDNbR.js → ProjectIcon-CfC5ZMJ_.js} +1 -1
  129. package/dist/assets/ProjectIcon-legacy-CCWF7GdT.js +109 -0
  130. package/dist/assets/{ProjectRoleView-ByzrSQP-.js → ProjectRoleView-CRCohRyJ.js} +16 -16
  131. package/dist/assets/ProjectRoleView-legacy-B73c7qRW.js +469 -0
  132. package/dist/assets/{ProjectRolesView-DclD8eEm.js → ProjectRolesView-BqZGQgVw.js} +19 -19
  133. package/dist/assets/ProjectRolesView-legacy-dTN29nao.js +316 -0
  134. package/dist/assets/{ProjectSettings-4wa93sE4.js → ProjectSettings-C29Ztobq.js} +26 -26
  135. package/dist/assets/ProjectSettings-legacy-B5WM8UM_.js +1069 -0
  136. package/dist/assets/{ProjectSharing-BVPUxo_M.js → ProjectSharing-DUdqsKIb.js} +5 -5
  137. package/dist/assets/ProjectSharing-legacy-DAHRQcVy.js +307 -0
  138. package/dist/assets/{ProjectVariables-x9spBaqX.js → ProjectVariables-k94KpZjl.js} +34 -34
  139. package/dist/assets/ProjectVariables-legacy-BtPtS2zC.js +572 -0
  140. package/dist/assets/{PushConnectionTracker-ByNVqY0h.js → PushConnectionTracker-BRETfc_U.js} +3 -3
  141. package/dist/assets/PushConnectionTracker-legacy-C4k814hh.js +65 -0
  142. package/dist/assets/{ResourcesListLayout-UXbxK1S7.js → ResourcesListLayout-CgQqKl0f.js} +10 -10
  143. package/dist/assets/ResourcesListLayout-legacy-BLQXYEmh.js +938 -0
  144. package/dist/assets/RunDataHtml-B1O-g3bi.js +7 -0
  145. package/dist/assets/{RunDataHtml-DdtrEw19.js → RunDataHtml-BNcvZDMJ.js} +1 -1
  146. package/dist/assets/RunDataHtml-legacy-DopSvQCJ.js +63 -0
  147. package/dist/assets/RunDataHtml-legacy-h0qPMlWv.js +16 -0
  148. package/dist/assets/{RunDataJson-CxLotBq-.js → RunDataJson-CVLzOWUM.js} +14 -17
  149. package/dist/assets/RunDataJson-legacy-dGOOBvFu.js +253 -0
  150. package/dist/assets/{RunDataJsonActions-qylVa2u8.js → RunDataJsonActions-T_9PWIUO.js} +15 -15
  151. package/dist/assets/RunDataJsonActions-legacy-bMw-SnSs.js +5126 -0
  152. package/dist/assets/{RunDataParsedAiContent-Cs80jq_q.js → RunDataParsedAiContent-BTi5LXv5.js} +7 -7
  153. package/dist/assets/RunDataParsedAiContent-lLVWzL_j.js +25 -0
  154. package/dist/assets/RunDataParsedAiContent-legacy-BP9-BZ9y.js +234 -0
  155. package/dist/assets/RunDataParsedAiContent-legacy-Be3V5vPH.js +16 -0
  156. package/dist/assets/{RunDataSearch-BvoYWH8W.js → RunDataSearch-CfgrUp1Q.js} +10 -10
  157. package/dist/assets/RunDataSearch-legacy-Gct_MnP9.js +194 -0
  158. package/dist/assets/{RunDataTable-d3eXUdSg.js → RunDataTable-gBcLds6g.js} +16 -16
  159. package/dist/assets/RunDataTable-legacy-C3okH-2I.js +724 -0
  160. package/dist/assets/{SamlOnboarding-CRtDDWqf.js → SamlOnboarding-B9GmsTCa.js} +15 -15
  161. package/dist/assets/SamlOnboarding-legacy-DOsu-pYe.js +92 -0
  162. package/dist/assets/{SaveButton-D1iDaopV.js → SaveButton-DMlAg6iF.js} +3 -3
  163. package/dist/assets/SaveButton-legacy-D7IEJ_Eb.js +123 -0
  164. package/dist/assets/{SelectedItemsInfo-CSzniBOD.js → SelectedItemsInfo-BxomzONZ.js} +2 -2
  165. package/dist/assets/SelectedItemsInfo-legacy-Df4orSkP.js +95 -0
  166. package/dist/assets/{SettingsApiView-DqnHEaAj.js → SettingsApiView-C2JaCEY4.js} +20 -20
  167. package/dist/assets/SettingsApiView-legacy-C6d8TfWr.js +409 -0
  168. package/dist/assets/{SettingsCommunityNodesView-C7JC1VAK.js → SettingsCommunityNodesView-_kOJvcAb.js} +34 -34
  169. package/dist/assets/SettingsCommunityNodesView-legacy-DWWeuTG5.js +443 -0
  170. package/dist/assets/{SettingsExternalSecrets-CqTHs6zk.js → SettingsExternalSecrets-C99m8ABz.js} +18 -18
  171. package/dist/assets/SettingsExternalSecrets-legacy-BzZ4XIFG.js +315 -0
  172. package/dist/assets/{SettingsLdapView-zifHhZKy.js → SettingsLdapView-C9WjBc7I.js} +21 -21
  173. package/dist/assets/SettingsLdapView-legacy-_AcWgHUq.js +2246 -0
  174. package/dist/assets/{SettingsLogStreamingView-CQwuqSl8.js → SettingsLogStreamingView-DHsRuyjZ.js} +20 -20
  175. package/dist/assets/SettingsLogStreamingView-legacy-tDLLJ44w.js +479 -0
  176. package/dist/assets/SettingsMCPView-51n0OMXD.js +936 -0
  177. package/dist/assets/SettingsMCPView-BGXq9o_x.css +1248 -0
  178. package/dist/assets/SettingsMCPView-legacy-i3kndEib.js +1111 -0
  179. package/dist/assets/{SettingsPersonalView-C1NF8zuk.js → SettingsPersonalView-D446WlNq.js} +16 -16
  180. package/dist/assets/SettingsPersonalView-legacy-BIKKlcFP.js +484 -0
  181. package/dist/assets/SettingsProvisioningView-C4D0a4Kz.css +303 -0
  182. package/dist/assets/SettingsProvisioningView-CMxF-qBt.js +448 -0
  183. package/dist/assets/SettingsProvisioningView-legacy-Dgc-3R2G.js +530 -0
  184. package/dist/assets/{SettingsSourceControl-CZryQCqT.js → SettingsSourceControl-CdGLap-v.js} +20 -20
  185. package/dist/assets/SettingsSourceControl-legacy-CRO9lIt0.js +580 -0
  186. package/dist/assets/{SettingsSso-CeeFO_Pv.js → SettingsSso-CRUwWu73.js} +21 -21
  187. package/dist/assets/SettingsSso-legacy-pdNyjmak.js +507 -0
  188. package/dist/assets/{SettingsUsageAndPlan-DMMd5WcZ.js → SettingsUsageAndPlan-B6x8zZXr.js} +19 -19
  189. package/dist/assets/SettingsUsageAndPlan-legacy-DFV0qoLH.js +505 -0
  190. package/dist/assets/{SettingsUsersView-DWVyE4hY.js → SettingsUsersView-Dsbnghnu.js} +21 -21
  191. package/dist/assets/SettingsUsersView-legacy-u0Fwqh1l.js +931 -0
  192. package/dist/assets/{SettingsView-trF6L-tM.js → SettingsView-cK0an9QH.js} +13 -12
  193. package/dist/assets/SettingsView-legacy-4r_N7Sjz.js +346 -0
  194. package/dist/assets/{SetupTemplateFormStep-BsgzR5CN.js → SetupTemplateFormStep-0WNtoZGl.js} +6 -6
  195. package/dist/assets/SetupTemplateFormStep-legacy-OcWvmzbf.js +548 -0
  196. package/dist/assets/{SetupView-Bx4ZLcja.js → SetupView-BLVZ5AeU.js} +15 -15
  197. package/dist/assets/SetupView-legacy-CRn9XSyo.js +126 -0
  198. package/dist/assets/{SetupWorkflowCredentialsButton-DR_aufFd.js → SetupWorkflowCredentialsButton-C0LFoT-P.js} +12 -12
  199. package/dist/assets/SetupWorkflowCredentialsButton-legacy-QokrFtZ-.js +84 -0
  200. package/dist/assets/{SetupWorkflowFromTemplateView-Ded77Ph-.js → SetupWorkflowFromTemplateView-B9OOt2hJ.js} +21 -21
  201. package/dist/assets/SetupWorkflowFromTemplateView-legacy-CaJODj15.js +376 -0
  202. package/dist/assets/{SigninView-DXPofyPm.js → SigninView-BpvLJPl1.js} +16 -16
  203. package/dist/assets/SigninView-legacy-DvW5NQXx.js +441 -0
  204. package/dist/assets/{SignoutView-B7H_dRJO.js → SignoutView-BWZuW4X2.js} +10 -10
  205. package/dist/assets/SignoutView-legacy-Clx351-m.js +56 -0
  206. package/dist/assets/{SignupView-BHWVvwh8.js → SignupView-Bf89NmFx.js} +15 -15
  207. package/dist/assets/SignupView-legacy-y9mI7y_i.js +154 -0
  208. package/dist/assets/{TagsDropdown-D6CYk5R8.js → TagsDropdown-BGeOVful.js} +4 -4
  209. package/dist/assets/TagsDropdown-legacy-C4hvzF0m.js +285 -0
  210. package/dist/assets/{TemplateDetails-ezK9JOOl.js → TemplateDetails-B6qqstGY.js} +7 -7
  211. package/dist/assets/TemplateDetails-legacy-DJ5AmpDn.js +197 -0
  212. package/dist/assets/{TemplateList-DztR2yKa.js → TemplateList-BGEW-ffb.js} +5 -5
  213. package/dist/assets/TemplateList-legacy-DK9daXlW.js +411 -0
  214. package/dist/assets/{TemplatesCollectionView-Bu_YRd84.js → TemplatesCollectionView-CotElubt.js} +23 -23
  215. package/dist/assets/TemplatesCollectionView-legacy-BLpP7qpC.js +248 -0
  216. package/dist/assets/{TemplatesSearchView-C7zBEV2b.js → TemplatesSearchView-CF_JB0Nl.js} +21 -21
  217. package/dist/assets/TemplatesSearchView-legacy-D5-BrZSe.js +1427 -0
  218. package/dist/assets/{TemplatesView-BnozPkTX.js → TemplatesView-KjV1fZuK.js} +3 -3
  219. package/dist/assets/TemplatesView-legacy-BR7FfPHI.js +113 -0
  220. package/dist/assets/{TemplatesWorkflowView-BTyHc3MG.js → TemplatesWorkflowView-D3dhsGtS.js} +25 -25
  221. package/dist/assets/TemplatesWorkflowView-legacy-BwhS7Lp6.js +220 -0
  222. package/dist/assets/{TestRunDetailView-B76TM9u8.js → TestRunDetailView-CwCkkxlL.js} +18 -18
  223. package/dist/assets/TestRunDetailView-legacy-B8xeQdn3.js +500 -0
  224. package/dist/assets/TextWithHighlights-legacy-CVW5NpX4.js +108 -0
  225. package/dist/assets/{TimeAgo-Gv5h1Utx.js → TimeAgo-CxNgd8gh.js} +2 -2
  226. package/dist/assets/TimeAgo-legacy-C6dJd_gm.js +200 -0
  227. package/dist/assets/{TriggerPanel-Dx9LpA4p.js → TriggerPanel-BGFaLV08.js} +80 -28
  228. package/dist/assets/{TriggerPanel-BQveVt6Q.css → TriggerPanel-jKx3Ut66.css} +31 -10
  229. package/dist/assets/TriggerPanel-legacy-B2UgkRPw.js +1519 -0
  230. package/dist/assets/VirtualSchema-BANmgn2J.js +43 -0
  231. package/dist/assets/{VirtualSchema-CUUzo795.js → VirtualSchema-CQeMCJz2.js} +16 -16
  232. package/dist/assets/VirtualSchema-legacy-DgLao-iv.js +16 -0
  233. package/dist/assets/VirtualSchema-legacy-DxxDcdpp.js +2655 -0
  234. package/dist/assets/{VueMarkdown-CiR4a0gO.js → VueMarkdown-BVDHDwjC.js} +1 -1
  235. package/dist/assets/VueMarkdown-legacy-C7HrPz2N.js +50 -0
  236. package/dist/assets/{WorkerView-D7h4pmTk.js → WorkerView-DaMext16.js} +39 -39
  237. package/dist/assets/WorkerView-legacy-BHcVajFe.js +636 -0
  238. package/dist/assets/{WorkflowActivator-k3HTYXbc.js → WorkflowActivator-B_HRrCra.js} +8 -8
  239. package/dist/assets/WorkflowActivator-legacy-DwUgfsYm.js +473 -0
  240. package/dist/assets/{WorkflowExecutionsInfoAccordion-DL5cBkbK.js → WorkflowExecutionsInfoAccordion-B9s5Q7yu.js} +7 -7
  241. package/dist/assets/WorkflowExecutionsInfoAccordion-legacy-BP2sx7KH.js +226 -0
  242. package/dist/assets/WorkflowExecutionsLandingPage-legacy-Bc8Pv97E.js +136 -0
  243. package/dist/assets/{WorkflowExecutionsLandingPage-DlXz9Jry.js → WorkflowExecutionsLandingPage-q-oTzfKu.js} +21 -21
  244. package/dist/assets/{WorkflowExecutionsPreview-DJWD2i74.js → WorkflowExecutionsPreview-LAeONz_V.js} +25 -25
  245. package/dist/assets/WorkflowExecutionsPreview-legacy-DYnU2VEN.js +745 -0
  246. package/dist/assets/{WorkflowExecutionsView-CK-2WqY7.js → WorkflowExecutionsView-CfFjhYz4.js} +38 -38
  247. package/dist/assets/WorkflowExecutionsView-legacy-DKAzbr8n.js +880 -0
  248. package/dist/assets/WorkflowHistory-legacy-Csdiq5NP.js +881 -0
  249. package/dist/assets/{WorkflowHistory-Cb-ZoRBp.js → WorkflowHistory-n0uzAdZE.js} +19 -19
  250. package/dist/assets/{WorkflowOnboardingView-CguOMlib.js → WorkflowOnboardingView-CHSk719X.js} +9 -9
  251. package/dist/assets/WorkflowOnboardingView-legacy-B9zP9lMz.js +95 -0
  252. package/dist/assets/{WorkflowPreview-DY79uYFw.js → WorkflowPreview-BRS-DBzm.js} +5 -5
  253. package/dist/assets/WorkflowPreview-legacy-DA2H3NgE.js +249 -0
  254. package/dist/assets/{WorkflowTagsDropdown-CdEFZM1A.js → WorkflowTagsDropdown-CxVnfj8H.js} +2 -2
  255. package/dist/assets/WorkflowTagsDropdown-legacy-DHfnvOJY.js +90 -0
  256. package/dist/assets/{WorkflowsView-BnxQSw3m.js → WorkflowsView-CypeB-OF.js} +98 -80
  257. package/dist/assets/{WorkflowsView-2XTsT7zB.css → WorkflowsView-M8ExG7Q2.css} +22 -19
  258. package/dist/assets/WorkflowsView-legacy-DMyidvQo.js +3521 -0
  259. package/dist/assets/{_MapCache-Byd-DTfo.js → _MapCache-Y29RpBXS.js} +50 -10
  260. package/dist/assets/_MapCache-legacy-GeIax_zP.js +11061 -0
  261. package/dist/assets/_plugin-vue_export-helper-legacy-DZMI5HPp.js +19 -0
  262. package/dist/assets/apiKeys.store-legacy-CpmQpacT.js +76 -0
  263. package/dist/assets/{apiKeys.store-CPsBJKkq.js → apiKeys.store-uglU3Z3p.js} +1 -1
  264. package/dist/assets/{assistant.store-DvuxtpS4.js → assistant.store-CxWBk3OU.js} +6 -6
  265. package/dist/assets/assistant.store-legacy-BM5rx1Eo.js +1313 -0
  266. package/dist/assets/{auth.eventBus-YsWbuB84.js → auth.eventBus-6li5BYVU.js} +1 -1
  267. package/dist/assets/auth.eventBus-legacy-BMxxHZ6c.js +22 -0
  268. package/dist/assets/{banners.store-BQPwuqhn.js → banners.store-DtwO0jVD.js} +3 -3
  269. package/dist/assets/banners.store-legacy-CpyAILCk.js +260 -0
  270. package/dist/assets/buttons.esm-legacy-BLrJSt1Z.js +419 -0
  271. package/dist/assets/chart-legacy-DbW-cf8m.js +12055 -0
  272. package/dist/assets/{chartjs.utils-Bf07Y-P-.js → chartjs.utils-BCpB09lQ.js} +3 -3
  273. package/dist/assets/chartjs.utils-legacy-DkVdV-lK.js +208 -0
  274. package/dist/assets/{chatPanel.store-fM-8PK9i.js → chatPanel.store-CB1RbrcJ.js} +4 -4
  275. package/dist/assets/chatPanel.store-legacy-BKAXbpla.js +153 -0
  276. package/dist/assets/chunk-legacy-Re9CbdfL.js +59 -0
  277. package/dist/assets/cloudPlan.store-legacy-BpTKyznI.js +208 -0
  278. package/dist/assets/{cloudPlan.store-DrraBpZJ.js → cloudPlan.store-oTKMV1Bw.js} +2 -2
  279. package/dist/assets/{col-DK_GtMhM.js → col-dYShDiWC.js} +3 -3
  280. package/dist/assets/col-legacy-BmizH2a4.js +186 -0
  281. package/dist/assets/{constants-DvlTm3U4.js → constants-COt-IPHd.js} +362 -356
  282. package/dist/assets/constants-legacy-D22nGw-a.js +26 -0
  283. package/dist/assets/constants-legacy-DiqA0Pu_.js +61343 -0
  284. package/dist/assets/{core-6lPsS9S5.js → core-CH2Kku_3.js} +1 -1
  285. package/dist/assets/core-legacy-BVoFM47F.js +1857 -0
  286. package/dist/assets/core-legacy-De470jmW.js +20 -0
  287. package/dist/assets/{dataTable.store-u9fGWest.js → dataTable.store-DIXUyEMT.js} +2 -2
  288. package/dist/assets/dataTable.store-legacy-CmwyMqOI.js +199 -0
  289. package/dist/assets/{date-picker-CVSd-BRt.js → date-picker-CTXxgDjF.js} +3 -3
  290. package/dist/assets/date-picker-legacy-igcU0G4D.js +4508 -0
  291. package/dist/assets/{dateFormatter-BD73Za8B.js → dateFormatter-DICwd3T9.js} +1 -1
  292. package/dist/assets/dateFormatter-legacy-DQcBot5g.js +53 -0
  293. package/dist/assets/dateformat-legacy-Xt1X-tys.js +161 -0
  294. package/dist/assets/{dialog-BMoy5MDa.js → dialog-B4B-qXLz.js} +4 -4
  295. package/dist/assets/dialog-legacy-CqQ_Lwls.js +518 -0
  296. package/dist/assets/{dist-CWw8iddm.js → dist-D33xoYUY.js} +1 -1
  297. package/dist/assets/dist-legacy-8f5owWm6.js +204 -0
  298. package/dist/assets/{empty-BuGRxzl4.js → empty-RTEMfF4N.js} +1 -1
  299. package/dist/assets/empty-legacy-DnVUoqbC.js +2409 -0
  300. package/dist/assets/en-legacy-Bgme8Vbm.js +98 -0
  301. package/dist/assets/en-legacy-BwVJMmMW.js +16 -0
  302. package/dist/assets/{es-BazDU8Wd.js → es-Cjns9o4Y.js} +1 -1
  303. package/dist/assets/es-legacy-8dRs2C3P.js +16006 -0
  304. package/dist/assets/{evaluation.constants-CIiAC2dT.js → evaluation.constants-CCdKPNue.js} +3 -3
  305. package/dist/assets/evaluation.constants-legacy-Cb1ghpxc.js +363 -0
  306. package/dist/assets/{executions.store-IU9p1s46.js → executions.store-CLBytlL8.js} +1 -1
  307. package/dist/assets/executions.store-legacy-b_Dcfsqp.js +246 -0
  308. package/dist/assets/exports-legacy-RTRnyI4R.js +3103 -0
  309. package/dist/assets/{externalSecrets.ee.store-1z63wMHN.js → externalSecrets.ee.store-DSLmsq-8.js} +2 -2
  310. package/dist/assets/externalSecrets.ee.store-legacy-DaQgDltD.js +145 -0
  311. package/dist/assets/{focusPanel.store-BJpwjMIG.js → focusPanel.store-DX5ouusK.js} +4 -4
  312. package/dist/assets/focusPanel.store-legacy-DwBTeIg0.js +264 -0
  313. package/dist/assets/{folders.store-Db975T-w.js → folders.store-ReN2UdkF.js} +2 -2
  314. package/dist/assets/folders.store-legacy-DpbE1pFn.js +267 -0
  315. package/dist/assets/{icon-DhADuA9N.js → icon-OKik-N-d.js} +1 -1
  316. package/dist/assets/icon-legacy-CdX_ytdJ.js +458 -0
  317. package/dist/assets/{index-C8erHZ_Y.css → index-4I6DPmNr.css} +1 -1
  318. package/dist/assets/{index-C25i7qsE.js → index-BN-GABJS.js} +184 -1622
  319. package/dist/assets/index-legacy-Bah3XJ83.js +28424 -0
  320. package/dist/assets/insights.constants-legacy-D5Y8YhR_.js +64 -0
  321. package/dist/assets/{insights.store-DC_enAA-.js → insights.store-Bb-LzcON.js} +4 -4
  322. package/dist/assets/insights.store-legacy-CVTSLRio.js +89 -0
  323. package/dist/assets/{insights.utils-ClJRVRAK.js → insights.utils-CxISkct3.js} +8 -8
  324. package/dist/assets/insights.utils-legacy-Cmg92kBM.js +96 -0
  325. package/dist/assets/isEmpty-legacy-MFqoebb1.js +43393 -0
  326. package/dist/assets/{isEmpty-DrZRN4lR.js → isEmpty-wmU6JYi-.js} +30 -31
  327. package/dist/assets/{languageModules-CNluY7w0.js → languageModules-BF7Ga1Pj.js} +1 -1
  328. package/dist/assets/languageModules-legacy-BaU1eOK3.js +7184 -0
  329. package/dist/assets/{logStreaming.store-CPvxjcQB.js → logStreaming.store-Fc_T_-nj.js} +1 -1
  330. package/dist/assets/logStreaming.store-legacy-DWvVitNv.js +209 -0
  331. package/dist/assets/mcp.constants-BCNosk1p.js +5 -0
  332. package/dist/assets/mcp.constants-legacy-CZfk8DW2.js +18 -0
  333. package/dist/assets/{mcp.store-YGfe2oZU.js → mcp.store-C8IcP4Ke.js} +23 -3
  334. package/dist/assets/mcp.store-legacy-DdS8xt5B.js +125 -0
  335. package/dist/assets/{merge-CKEa8BM2.js → merge-B2-guEpy.js} +1 -1
  336. package/dist/assets/merge-legacy-qdjRv-L4.js +1529 -0
  337. package/dist/assets/{nodeCreator.store-DHz0Nc1Y.js → nodeCreator.store-D147rfwl.js} +8 -8
  338. package/dist/assets/nodeCreator.store-legacy-DTmylsCF.js +4758 -0
  339. package/dist/assets/{nodeIcon-ry_JIpAT.js → nodeIcon-C5u0jQvj.js} +2 -2
  340. package/dist/assets/nodeIcon-legacy-BV5Z8WOV.js +122 -0
  341. package/dist/assets/{nodeTransforms-PeZUYiCs.js → nodeTransforms-DUsdQQqR.js} +2 -2
  342. package/dist/assets/nodeTransforms-legacy-CuPizwtt.js +86 -0
  343. package/dist/assets/{npsSurvey.store-BTpA4Bdf.js → npsSurvey.store-afUgQwnO.js} +2 -2
  344. package/dist/assets/npsSurvey.store-legacy-BbzLkX9z.js +123 -0
  345. package/dist/assets/{orderBy-CMVxNao4.js → orderBy-HPnqXwF2.js} +2 -2
  346. package/dist/assets/orderBy-legacy-soMIYLFU.js +63 -0
  347. package/dist/assets/{overlay-B8MMvNgs.js → overlay-DZyfhUVh.js} +2 -2
  348. package/dist/assets/overlay-legacy-CIUzKIyX.js +218 -0
  349. package/dist/assets/{path-browserify-DsmB_HMK.js → path-browserify-CTmc1OxV.js} +1 -1
  350. package/dist/assets/path-browserify-legacy-DJbEMZcd.js +328 -0
  351. package/dist/assets/{personalizedTemplatesV3.store-C0D2WZuq.js → personalizedTemplatesV3.store-01UVhq2y.js} +4 -4
  352. package/dist/assets/personalizedTemplatesV3.store-legacy-ZhQVYOUB.js +313 -0
  353. package/dist/assets/{pickBy-DWZbVA0W.js → pickBy-CknAbwMC.js} +2 -2
  354. package/dist/assets/pickBy-legacy-BBHSGJRx.js +59 -0
  355. package/dist/assets/polyfills-legacy-B4O_IIb-.js +4836 -0
  356. package/dist/assets/preload-helper-legacy-CXRjoQ0T.js +73 -0
  357. package/dist/assets/{radio-5XOrKEP7.js → radio-CYQWX3C9.js} +3 -3
  358. package/dist/assets/radio-legacy-cLdtGPV3.js +323 -0
  359. package/dist/assets/{readyToRunWorkflows.store-C23cIyhu.js → readyToRunWorkflows.store-B8_GmfI4.js} +5 -5
  360. package/dist/assets/readyToRunWorkflows.store-legacy-aejFCZX5.js +2086 -0
  361. package/dist/assets/{readyToRunWorkflowsV2.store-BxZUJyXQ.js → readyToRunWorkflowsV2.store-CuI-qJ95.js} +7 -7
  362. package/dist/assets/readyToRunWorkflowsV2.store-legacy-B_dd69MT.js +549 -0
  363. package/dist/assets/retry-legacy-CkXCWkMV.js +48 -0
  364. package/dist/assets/{roles.store-Bk6Eo7y8.js → roles.store-XKf-4ViI.js} +2 -2
  365. package/dist/assets/roles.store-legacy-Kp040fXj.js +67 -0
  366. package/dist/assets/{router-D4zIcC5W.js → router-D93aC8Os.js} +93 -84
  367. package/dist/assets/router-legacy-FVND-nAr.js +1705 -0
  368. package/dist/assets/{sanitize-html-BuXr7o4T.js → sanitize-html-Cfxibw1n.js} +2 -2
  369. package/dist/assets/sanitize-html-legacy-DfOUEbdf.js +9987 -0
  370. package/dist/assets/{schemaPreview.store-BVhugjbw.js → schemaPreview.store-CpV1sUpD.js} +2 -2
  371. package/dist/assets/schemaPreview.store-legacy-CVGvdvdr.js +153 -0
  372. package/dist/assets/{semver-lN9oCZPq.js → semver-Did-vdFS.js} +2 -2
  373. package/dist/assets/semver-legacy-Bddl7qjT.js +1499 -0
  374. package/dist/assets/smartDecimal-legacy-BeOdMR2z.js +19 -0
  375. package/dist/assets/sortByProperty-legacy-CgPLoqtk.js +21 -0
  376. package/dist/assets/{sourceControl.eventBus-BkPwCZw_.js → sourceControl.eventBus-N8j1xdTf.js} +1 -1
  377. package/dist/assets/sourceControl.eventBus-legacy-eIVV95jW.js +17 -0
  378. package/dist/assets/{src-D6S9Khji.js → src-FybnR12q.js} +648 -600
  379. package/dist/assets/src-legacy-CpFWWEWr.js +64208 -0
  380. package/dist/assets/{sso.store-qzj82Xj4.js → sso.store-BBQEezoi.js} +1 -1
  381. package/dist/assets/sso.store-legacy-BAxqS36V.js +185 -0
  382. package/dist/assets/{table-s-zqHExs.js → table-B__ElSXJ.js} +3 -3
  383. package/dist/assets/table-legacy-BfKy4v-Q.js +4957 -0
  384. package/dist/assets/{templateActions-BeIpzgaa.js → templateActions-DgyOHFG1.js} +4 -4
  385. package/dist/assets/templateActions-legacy-P4q_vvOZ.js +134 -0
  386. package/dist/assets/{templateTransforms-Cgy40V1P.js → templateTransforms-BcdsUZmX.js} +1 -1
  387. package/dist/assets/templateTransforms-legacy-Cam0KIvq.js +84 -0
  388. package/dist/assets/{templates.store-COjIpQaS.js → templates.store-BFnRGJH7.js} +3 -3
  389. package/dist/assets/templates.store-legacy-ofk_8E3C.js +459 -0
  390. package/dist/assets/truncate-legacy-B1qmzcuB.js +5763 -0
  391. package/dist/assets/{truncate-DGRsht-H.js → truncate-mIB0DVrK.js} +1 -1
  392. package/dist/assets/{uniqBy-BUNHbbw3.js → uniqBy-BruAENgo.js} +1 -1
  393. package/dist/assets/uniqBy-legacy-Zm0uD9jw.js +52 -0
  394. package/dist/assets/{usage.store-EBmhHKPv.js → usage.store-l7Do-93n.js} +1 -1
  395. package/dist/assets/usage.store-legacy-DQDWAXO_.js +126 -0
  396. package/dist/assets/{useActions-CqdsN2GH.js → useActions-CrswNkaq.js} +5 -5
  397. package/dist/assets/useActions-legacy-CbWvUxft.js +330 -0
  398. package/dist/assets/{useAgent-BHJHCfap.js → useAgent-C-QepMEq.js} +1 -1
  399. package/dist/assets/useAgent-legacy-USOKw7So.js +28 -0
  400. package/dist/assets/{useBeforeUnload-BPhnlPrH.js → useBeforeUnload-Wtg7mRCZ.js} +3 -3
  401. package/dist/assets/useBeforeUnload-legacy-uZWtAsqr.js +69 -0
  402. package/dist/assets/{useBugReporting-oDEHgPM1.js → useBugReporting-9AU3y7Z8.js} +9 -9
  403. package/dist/assets/useBugReporting-legacy-0ADndwuR.js +383 -0
  404. package/dist/assets/{useCanvasMapping-DWlYBxgN.js → useCanvasMapping-C7uzjCWC.js} +19 -19
  405. package/dist/assets/useCanvasMapping-legacy-BUdFWQtI.js +14179 -0
  406. package/dist/assets/{useCanvasOperations-CFsSFVcO.js → useCanvasOperations-DzLHi0LA.js} +13 -13
  407. package/dist/assets/useCanvasOperations-legacy-CuiWyxvs.js +1992 -0
  408. package/dist/assets/{useChatCredentials-CMV_NA0l.js → useChatCredentials-CXFcbFXx.js} +24 -12
  409. package/dist/assets/useChatCredentials-legacy-BMZumVNM.js +717 -0
  410. package/dist/assets/useChatHubSidebarState-legacy-BWvNeC2H.js +733 -0
  411. package/dist/assets/{useChatHubSidebarState-CM9tokIj.js → useChatHubSidebarState-rgjEM3H6.js} +14 -7
  412. package/dist/assets/{useClipboard-fRnZpGbX.js → useClipboard-CfXsW13v.js} +2 -2
  413. package/dist/assets/useClipboard-legacy-C5rVUk4S.js +78 -0
  414. package/dist/assets/{useCommandBar-_c6cO-zw.js → useCommandBar-C1qIX-PQ.js} +29 -25
  415. package/dist/assets/useCommandBar-legacy-RBZZ3P2i.js +2100 -0
  416. package/dist/assets/{useDebounce-BgcdaJ78.js → useDebounce-CETVIuiZ.js} +2 -2
  417. package/dist/assets/useDebounce-legacy-G9H-ixfO.js +326 -0
  418. package/dist/assets/{useExecutionData-Bk540rxU.js → useExecutionData-BVzhcmq6.js} +1 -1
  419. package/dist/assets/useExecutionData-legacy-BGiu76RX.js +42 -0
  420. package/dist/assets/{useExecutionDebugging-BNrxsZTN.js → useExecutionDebugging-Cx7SuR0i.js} +7 -7
  421. package/dist/assets/useExecutionDebugging-legacy-jpoCoaFv.js +152 -0
  422. package/dist/assets/{useExecutionHelpers-DrFWi6u7.js → useExecutionHelpers--Vys-PWr.js} +5 -5
  423. package/dist/assets/useExecutionHelpers-legacy-CE3q6ePz.js +120 -0
  424. package/dist/assets/useExternalHooks-legacy-CtWM2ToU.js +53 -0
  425. package/dist/assets/{useExternalHooks-SxBXYVNW.js → useExternalHooks-q8smeo6K.js} +1 -1
  426. package/dist/assets/{useImportCurlCommand-obipPNWg.js → useImportCurlCommand-BLpnR8N2.js} +11 -11
  427. package/dist/assets/useImportCurlCommand-legacy-DCbH-i63.js +8269 -0
  428. package/dist/assets/useIntersectionObserver-legacy-CQWXa295.js +69 -0
  429. package/dist/assets/{useKeybindings-DlmwtVDN.js → useKeybindings-CDJKqPsl.js} +4 -4
  430. package/dist/assets/useKeybindings-legacy-B9KbjAsp.js +118 -0
  431. package/dist/assets/{useLogsTreeExpand-gKLCILZL.js → useLogsTreeExpand-BdGrNW1V.js} +11 -11
  432. package/dist/assets/useLogsTreeExpand-legacy-DXkemvCE.js +1039 -0
  433. package/dist/assets/{useMcp-_gyuyL1x.js → useMcp-CZmhzw91.js} +3 -7
  434. package/dist/assets/useMcp-legacy-DvW-r8YQ.js +46 -0
  435. package/dist/assets/{useMessage-Ceo97RRX.js → useMessage-Dtn5nLnt.js} +5 -5
  436. package/dist/assets/useMessage-legacy-DST2kUuY.js +683 -0
  437. package/dist/assets/{usePageRedirectionHelper-C_ctyI4O.js → usePageRedirectionHelper-50R23u-V.js} +4 -4
  438. package/dist/assets/usePageRedirectionHelper-legacy-C-71VW-Y.js +95 -0
  439. package/dist/assets/{usePinnedData-Csij2qN3.js → usePinnedData-DixE-21D.js} +5 -5
  440. package/dist/assets/usePinnedData-legacy-BsjuUA_c.js +283 -0
  441. package/dist/assets/{usePushConnection-XZibrqm8.js → usePushConnection-C_hAm9wG.js} +11 -11
  442. package/dist/assets/usePushConnection-legacy-CXZhl2wR.js +763 -0
  443. package/dist/assets/{useRecentResources-FhIOba0w.js → useRecentResources-CKX-UtMk.js} +7 -7
  444. package/dist/assets/useRecentResources-legacy-BXsoflsL.js +159 -0
  445. package/dist/assets/{useRunWorkflow-_-_hUnHE.js → useRunWorkflow-C9HukKMl.js} +9 -9
  446. package/dist/assets/useRunWorkflow-legacy-C7-J9SJI.js +1136 -0
  447. package/dist/assets/{useTelemetry-EOV0Llso.js → useTelemetry-CWnh4Zlh.js} +89 -54
  448. package/dist/assets/useTelemetry-legacy-BDIroahM.js +31004 -0
  449. package/dist/assets/{useTelemetryContext-CSMUQPEW.js → useTelemetryContext-PE8JU_Iv.js} +1 -1
  450. package/dist/assets/useTelemetryContext-legacy-E2rB8GXt.js +81 -0
  451. package/dist/assets/{useToast-BlMNYwds.js → useToast-BxclFB6W.js} +6 -6
  452. package/dist/assets/useToast-legacy-B7FuM_6n.js +610 -0
  453. package/dist/assets/{useWorkflowActivate-OfPMIBJ5.js → useWorkflowActivate-Cmog1_-j.js} +8 -8
  454. package/dist/assets/useWorkflowActivate-legacy-5SOzZU7C.js +125 -0
  455. package/dist/assets/{useWorkflowSaving-CWyt929n.js → useWorkflowSaving-DSJgdRoP.js} +9 -9
  456. package/dist/assets/useWorkflowSaving-legacy-C5sOlXzQ.js +328 -0
  457. package/dist/assets/{useWorkflowsCache-BSXTJC8C.js → useWorkflowsCache-DKCw8FH2.js} +1 -1
  458. package/dist/assets/useWorkflowsCache-legacy-1OAIoSYM.js +217 -0
  459. package/dist/assets/{versions.store-Dx98n6R_.js → versions.store-Dh42EsAx.js} +3 -3
  460. package/dist/assets/versions.store-legacy-DeA4olF0.js +244 -0
  461. package/dist/assets/vue-json-pretty-BAtqAAV1.js +1130 -0
  462. package/dist/assets/vue-json-pretty-legacy-Dk5EQofb.js +1282 -0
  463. package/dist/assets/vue-legacy-Cj7LJTPA.js +4579 -0
  464. package/dist/assets/vue.runtime.esm-bundler-legacy-Bq05oSFs.js +8050 -0
  465. package/dist/assets/xml-legacy-Cyrxa7r6.js +1245 -0
  466. package/dist/index.html +107 -103
  467. package/dist/static/openChat.png +0 -0
  468. package/package.json +1 -1
  469. package/vite.config.mts +0 -2
  470. package/dist/assets/CollectionParameter-CizL_Xml.js +0 -58
  471. package/dist/assets/DemoFooter-D8E8sLCS.js +0 -71
  472. package/dist/assets/LogsPanel-sLas9qHQ.js +0 -58
  473. package/dist/assets/RunDataHtml-X9lzUZaX.js +0 -7
  474. package/dist/assets/RunDataParsedAiContent-DBP5JHe4.js +0 -25
  475. package/dist/assets/SettingsMCPView-BBO_ZyBU.css +0 -552
  476. package/dist/assets/SettingsMCPView-Chjl8-hw.js +0 -584
  477. package/dist/assets/SettingsProvisioningView-BFUB6c2Z.js +0 -252
  478. package/dist/assets/VirtualSchema-5T21Yyqx.js +0 -43
  479. package/dist/assets/vue-json-pretty-BltKoWq2.js +0 -681
  480. /package/dist/assets/{AnimatedSpinner-Dd4F9nQ8.js → AnimatedSpinner-4ie3BOLv.js} +0 -0
  481. /package/dist/assets/{PageViewLayout-Ccqeja5V.js → PageViewLayout-kj_BBPfv.js} +0 -0
  482. /package/dist/assets/{buttons.esm-Euf82NbC.js → buttons.esm-CT4flsfB.js} +0 -0
  483. /package/dist/assets/{chart-BI8B7UPV.js → chart-CE3HWIkr.js} +0 -0
  484. /package/dist/assets/{constants-CPQyU8WO.js → constants-9ReQTHaF.js} +0 -0
  485. /package/dist/assets/{core-CIkXL_1D.js → core-CzunNfUb.js} +0 -0
  486. /package/dist/assets/{insights.constants-NogjFJ3a.js → insights.constants-DK2g3nnD.js} +0 -0
  487. /package/dist/assets/{smartDecimal-5rgLDM96.js → smartDecimal-e9uPsnJa.js} +0 -0
  488. /package/dist/assets/{sortByProperty-0UtqPmvJ.js → sortByProperty-CUhVU03p.js} +0 -0
  489. /package/dist/assets/{useIntersectionObserver-BkAtQAzK.js → useIntersectionObserver-C8Bz3yon.js} +0 -0
  490. /package/dist/assets/{vue-LyXhKoPx.js → vue-RAk0R0Jn.js} +0 -0
  491. /package/dist/assets/{xml-F7krcG3E.js → xml-B_gYdkaU.js} +0 -0
@@ -0,0 +1,2193 @@
1
+ ;
2
+ (function () {
3
+ System.register(["./chunk-legacy-Re9CbdfL.js", "./vue.runtime.esm-bundler-legacy-Bq05oSFs.js", "./_MapCache-legacy-GeIax_zP.js", "./src-legacy-CpFWWEWr.js", "./en-legacy-Bgme8Vbm.js", "./preload-helper-legacy-CXRjoQ0T.js", "./_plugin-vue_export-helper-legacy-DZMI5HPp.js", "./truncate-legacy-B1qmzcuB.js", "./icon-legacy-CdX_ytdJ.js", "./overlay-legacy-CIUzKIyX.js", "./empty-legacy-DnVUoqbC.js", "./useMessage-legacy-DST2kUuY.js", "./useTelemetry-legacy-BDIroahM.js", "./useToast-legacy-B7FuM_6n.js", "./sanitize-html-legacy-DfOUEbdf.js", "./path-browserify-legacy-DJbEMZcd.js", "./constants-legacy-DiqA0Pu_.js", "./merge-legacy-qdjRv-L4.js", "./assistant.store-legacy-BM5rx1Eo.js", "./dateformat-legacy-Xt1X-tys.js", "./useDebounce-legacy-G9H-ixfO.js", "./useExternalHooks-legacy-CtWM2ToU.js", "./npsSurvey.store-legacy-BbzLkX9z.js", "./cloudPlan.store-legacy-BpTKyznI.js", "./templates.store-legacy-ofk_8E3C.js", "./focusPanel.store-legacy-DwBTeIg0.js", "./useWorkflowSaving-legacy-C5sOlXzQ.js", "./retry-legacy-CkXCWkMV.js", "./executions.store-legacy-b_Dcfsqp.js", "./useRunWorkflow-legacy-C7-J9SJI.js", "./usePinnedData-legacy-BsjuUA_c.js", "./nodeCreator.store-legacy-DTmylsCF.js", "./nodeIcon-legacy-BV5Z8WOV.js", "./useClipboard-legacy-C5rVUk4S.js", "./useCanvasOperations-legacy-CuiWyxvs.js", "./folders.store-legacy-DpbE1pFn.js", "./KeyboardShortcutTooltip-legacy-DFhofumE.js", "./versions.store-legacy-DeA4olF0.js", "./usePageRedirectionHelper-legacy-C-71VW-Y.js", "./banners.store-legacy-CpyAILCk.js", "./ProjectIcon-legacy-CCWF7GdT.js", "./schemaPreview.store-legacy-CVGvdvdr.js", "./FileSaver.min-legacy-BTN44Z38.js", "./EnterpriseEdition.ee-legacy-qbLE7866.js", "./SaveButton-legacy-D7IEJ_Eb.js", "./TagsDropdown-legacy-C4hvzF0m.js", "./WorkflowTagsDropdown-legacy-DHfnvOJY.js", "./mcp.constants-legacy-CZfk8DW2.js", "./useMcp-legacy-DvW-r8YQ.js", "./useWorkflowActivate-legacy-5SOzZU7C.js", "./ProjectBreadcrumb-legacy-DuIjFcuf.js", "./WorkflowActivator-legacy-DwUgfsYm.js", "./useBeforeUnload-legacy-uZWtAsqr.js", "./PushConnectionTracker-legacy-C4k814hh.js", "./useWorkflowsCache-legacy-1OAIoSYM.js", "./usePushConnection-legacy-CXZhl2wR.js", "./readyToRunWorkflows.store-legacy-aejFCZX5.js", "./readyToRunWorkflowsV2.store-legacy-B_dd69MT.js"], function (_export, _context) {
4
+ "use strict";
5
+
6
+ var __toESM, hasOwn, computed, createElementBlock, createCommentVNode, nextTick, unref, ref, onBeforeUnmount, h, createVNode, defineComponent, toDisplayString, createBlock, onMounted, Fragment, normalizeClass, watch, renderSlot, withCtx, useCssModule, hyphenate, openBlock, renderList, createTextVNode, useTemplateRef, resolveComponent, vShow, onBeforeMount, init_shared_esm_bundler, createBaseVNode, withDirectives, normalizeStyle, I18nT, useI18n, useLocalStorage, useDocumentVisibility, ElTag, N8nPopoverReka_default, N8nInput_default, N8nButton_default, N8nIconButton_default, N8nInputLabel_default, SuggestedActions_default, N8nInlineTextEdit_default, N8nUserStack_default, N8nBadge_default, N8nLink_default, N8nActionDropdown_default, N8nTooltip_default, N8nRadioButtons_default, N8nIcon_default, __vitePreload, __plugin_vue_export_helper_default, useRouter, createEventBus, useRoute, useMessage, useSettingsStore, STORES, useSourceControlStore, nodeViewEventBus, useProjectsStore, hasPermission, ResourceType, useUIStore, ProjectTypes, useRootStore, useDocumentTitle, PROJECT_MOVE_RESOURCE_MODAL, useTagsStore, useNDVStore, useEvaluationStore, useUsersStore, useWorkflowHelpers, useWorkflowsStore, useNodeTypesStore, useTelemetry, defineStore, getBannerRowHeight, useToast, EnterpriseEditionFeature, WORKFLOW_SHARE_MODAL_KEY, MODAL_CONFIRM, IMPORT_WORKFLOW_URL_MODAL_KEY, TIME_SAVED_DOCS_URL, WORKFLOW_ACTIVE_MODAL_KEY, TIME, EVALUATIONS_DOCS_URL, getResourcePermissions, MAX_WORKFLOW_NAME_LENGTH, WORKFLOW_MENU_ACTIONS, ERROR_WORKFLOW_DOCS_URL, VIEWS, MAIN_HEADER_TABS, WORKFLOW_SETTINGS_MODAL_KEY, LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON, PLACEHOLDER_EMPTY_WORKFLOW_ID, WEBHOOK_NODE_TYPE, STICKY_NODE_TYPE, DUPLICATE_MODAL_KEY, N8N_MAIN_GITHUB_REPO_URL, require_debounce, useDebounce, useNpsSurveyStore, useWorkflowSaving, useExecutionsStore, usePushConnectionStore, useFoldersStore, usePageRedirectionHelper, useBannersStore, require_FileSaver_min, EnterpriseEdition_ee_default, SaveButton_default, WorkflowTagsDropdown_default, MCP_DOCS_PAGE_URL, useMcp, FolderBreadcrumbs_default, WorkflowActivator_default, useBeforeUnload, PushConnectionTracker_default, useWorkflowSettingsCache, usePushConnection, __vite_style__, TabBar_vue_vue_type_script_setup_true_lang_default, container$3, TabBar_vue_vue_type_style_index_0_lang_module_default, cssModules$4, TabBar_default, BREAKPOINT_SM, BREAKPOINT_MD, BREAKPOINT_LG, BREAKPOINT_XL, BreakpointsObserver_vue_vue_type_script_setup_true_lang_default, BreakpointsObserver_default, HEARTBEAT_INTERVAL, useCollaborationStore, CollaborationPane_vue_vue_type_script_setup_true_lang_default, container$2, CollaborationPane_vue_vue_type_style_index_0_lang_module_default, cssModules$3, CollaborationPane_default, _hoisted_1$2, _hoisted_2$2, WorkflowHistoryButton_vue_vue_type_script_setup_true_lang_default, WorkflowHistoryButton_default, WorkflowProductionChecklist_vue_vue_type_script_setup_true_lang_default, WorkflowProductionChecklist_default, IntersectionObserver_vue_vue_type_script_setup_true_lang_default, IntersectionObserver_default, IntersectionObserved_vue_vue_type_script_setup_true_lang_default, IntersectionObserved_default, import_debounce, _hoisted_1$1, _hoisted_2$1, TagsContainer_vue_vue_type_script_setup_true_lang_default, TagsContainer_default, WorkflowTagsContainer_vue_vue_type_script_setup_true_lang_default, WorkflowTagsContainer_default, INVALID_CHARS_REGEX, ZERO_WIDTH_CHARS_REGEX, UNICODE_SPACES_REGEX, LEADING_TRAILING_DOTS_SPACES_REGEX, WINDOWS_RESERVED_NAMES, DEFAULT_FALLBACK_NAME, MAX_FILENAME_LENGTH, sanitizeFilename, import_FileSaver_min, WorkflowDescriptionPopover_vue_vue_type_script_setup_true_lang_default, active, WorkflowDescriptionPopover_vue_vue_type_style_index_0_lang_module_default, cssModules$2, WorkflowDescriptionPopover_default, _hoisted_1, _hoisted_2, WorkflowDetails_vue_vue_type_script_setup_true_lang_default, container$1, group, hiddenInput, deleteItem, disabledShareButton, closeNodeViewDiscovery, WorkflowDetails_vue_vue_type_style_index_1_lang_module_default, cssModules$1, WorkflowDetails_default, vue_github_button_default, MainHeader_vue_vue_type_script_setup_true_lang_default, container, MainHeader_vue_vue_type_style_index_0_lang_module_default, cssModules, MainHeader_default;
7
+ return {
8
+ setters: [function (_chunkLegacy001Js) {
9
+ __toESM = _chunkLegacy001Js.o;
10
+ }, function (_vueRuntimeEsmBundlerLegacy003Js) {
11
+ hasOwn = _vueRuntimeEsmBundlerLegacy003Js.$t;
12
+ computed = _vueRuntimeEsmBundlerLegacy003Js.C;
13
+ createElementBlock = _vueRuntimeEsmBundlerLegacy003Js.D;
14
+ createCommentVNode = _vueRuntimeEsmBundlerLegacy003Js.E;
15
+ nextTick = _vueRuntimeEsmBundlerLegacy003Js.G;
16
+ unref = _vueRuntimeEsmBundlerLegacy003Js.Gt;
17
+ ref = _vueRuntimeEsmBundlerLegacy003Js.It;
18
+ onBeforeUnmount = _vueRuntimeEsmBundlerLegacy003Js.J;
19
+ h = _vueRuntimeEsmBundlerLegacy003Js.L;
20
+ createVNode = _vueRuntimeEsmBundlerLegacy003Js.M;
21
+ defineComponent = _vueRuntimeEsmBundlerLegacy003Js.P;
22
+ toDisplayString = _vueRuntimeEsmBundlerLegacy003Js.Sn;
23
+ createBlock = _vueRuntimeEsmBundlerLegacy003Js.T;
24
+ onMounted = _vueRuntimeEsmBundlerLegacy003Js.Z;
25
+ Fragment = _vueRuntimeEsmBundlerLegacy003Js._;
26
+ normalizeClass = _vueRuntimeEsmBundlerLegacy003Js._n;
27
+ watch = _vueRuntimeEsmBundlerLegacy003Js._t;
28
+ renderSlot = _vueRuntimeEsmBundlerLegacy003Js.at;
29
+ withCtx = _vueRuntimeEsmBundlerLegacy003Js.bt;
30
+ useCssModule = _vueRuntimeEsmBundlerLegacy003Js.c;
31
+ hyphenate = _vueRuntimeEsmBundlerLegacy003Js.en;
32
+ openBlock = _vueRuntimeEsmBundlerLegacy003Js.et;
33
+ renderList = _vueRuntimeEsmBundlerLegacy003Js.it;
34
+ createTextVNode = _vueRuntimeEsmBundlerLegacy003Js.j;
35
+ useTemplateRef = _vueRuntimeEsmBundlerLegacy003Js.mt;
36
+ resolveComponent = _vueRuntimeEsmBundlerLegacy003Js.ot;
37
+ vShow = _vueRuntimeEsmBundlerLegacy003Js.p;
38
+ onBeforeMount = _vueRuntimeEsmBundlerLegacy003Js.q;
39
+ init_shared_esm_bundler = _vueRuntimeEsmBundlerLegacy003Js.tn;
40
+ createBaseVNode = _vueRuntimeEsmBundlerLegacy003Js.w;
41
+ withDirectives = _vueRuntimeEsmBundlerLegacy003Js.xt;
42
+ normalizeStyle = _vueRuntimeEsmBundlerLegacy003Js.yn;
43
+ }, function (_MapCacheLegacy005Js) {
44
+ I18nT = _MapCacheLegacy005Js._t;
45
+ useI18n = _MapCacheLegacy005Js.gt;
46
+ useLocalStorage = _MapCacheLegacy005Js.j;
47
+ useDocumentVisibility = _MapCacheLegacy005Js.w;
48
+ }, function (_srcLegacy007Js) {
49
+ ElTag = _srcLegacy007Js.Bt;
50
+ N8nPopoverReka_default = _srcLegacy007Js.C;
51
+ N8nInput_default = _srcLegacy007Js.Ct;
52
+ N8nButton_default = _srcLegacy007Js.Ln;
53
+ N8nIconButton_default = _srcLegacy007Js.Tt;
54
+ N8nInputLabel_default = _srcLegacy007Js.Y;
55
+ SuggestedActions_default = _srcLegacy007Js._;
56
+ N8nInlineTextEdit_default = _srcLegacy007Js.a;
57
+ N8nUserStack_default = _srcLegacy007Js.f;
58
+ N8nBadge_default = _srcLegacy007Js.it;
59
+ N8nLink_default = _srcLegacy007Js.mt;
60
+ N8nActionDropdown_default = _srcLegacy007Js.tt;
61
+ N8nTooltip_default = _srcLegacy007Js.vt;
62
+ N8nRadioButtons_default = _srcLegacy007Js.x;
63
+ N8nIcon_default = _srcLegacy007Js.zn;
64
+ }, function (_enLegacy00bJs) {}, function (_preloadHelperLegacy00dJs) {
65
+ __vitePreload = _preloadHelperLegacy00dJs.t;
66
+ }, function (_pluginVue_exportHelperLegacy00fJs) {
67
+ __plugin_vue_export_helper_default = _pluginVue_exportHelperLegacy00fJs.t;
68
+ }, function (_truncateLegacy00hJs) {
69
+ useRouter = _truncateLegacy00hJs.b;
70
+ createEventBus = _truncateLegacy00hJs.x;
71
+ useRoute = _truncateLegacy00hJs.y;
72
+ }, function (_iconLegacy00lJs) {}, function (_overlayLegacy00pJs) {}, function (_emptyLegacy00tJs) {}, function (_useMessageLegacy00vJs) {
73
+ useMessage = _useMessageLegacy00vJs.t;
74
+ }, function (_useTelemetryLegacy00FJs) {
75
+ useSettingsStore = _useTelemetryLegacy00FJs.Bo;
76
+ STORES = _useTelemetryLegacy00FJs.Cc;
77
+ useSourceControlStore = _useTelemetryLegacy00FJs.Dn;
78
+ nodeViewEventBus = _useTelemetryLegacy00FJs.Ei;
79
+ useProjectsStore = _useTelemetryLegacy00FJs.En;
80
+ hasPermission = _useTelemetryLegacy00FJs.Gn;
81
+ ResourceType = _useTelemetryLegacy00FJs.Ir;
82
+ useUIStore = _useTelemetryLegacy00FJs.Ni;
83
+ ProjectTypes = _useTelemetryLegacy00FJs.On;
84
+ useRootStore = _useTelemetryLegacy00FJs.Qs;
85
+ useDocumentTitle = _useTelemetryLegacy00FJs.Tn;
86
+ PROJECT_MOVE_RESOURCE_MODAL = _useTelemetryLegacy00FJs.Wi;
87
+ useTagsStore = _useTelemetryLegacy00FJs._n;
88
+ useNDVStore = _useTelemetryLegacy00FJs.a;
89
+ useEvaluationStore = _useTelemetryLegacy00FJs.at;
90
+ useUsersStore = _useTelemetryLegacy00FJs.er;
91
+ useWorkflowHelpers = _useTelemetryLegacy00FJs.mn;
92
+ useWorkflowsStore = _useTelemetryLegacy00FJs.o;
93
+ useNodeTypesStore = _useTelemetryLegacy00FJs.rt;
94
+ useTelemetry = _useTelemetryLegacy00FJs.t;
95
+ defineStore = _useTelemetryLegacy00FJs.xc;
96
+ }, function (_useToastLegacy00HJs) {
97
+ getBannerRowHeight = _useToastLegacy00HJs.i;
98
+ useToast = _useToastLegacy00HJs.t;
99
+ }, function (_sanitizeHtmlLegacy00JJs) {}, function (_pathBrowserifyLegacy00LJs) {}, function (_constantsLegacy00NJs) {
100
+ EnterpriseEditionFeature = _constantsLegacy00NJs.Hs;
101
+ WORKFLOW_SHARE_MODAL_KEY = _constantsLegacy00NJs.Jo;
102
+ MODAL_CONFIRM = _constantsLegacy00NJs.No;
103
+ IMPORT_WORKFLOW_URL_MODAL_KEY = _constantsLegacy00NJs.Oo;
104
+ TIME_SAVED_DOCS_URL = _constantsLegacy00NJs.T;
105
+ WORKFLOW_ACTIVE_MODAL_KEY = _constantsLegacy00NJs.Uo;
106
+ TIME = _constantsLegacy00NJs.Xs;
107
+ EVALUATIONS_DOCS_URL = _constantsLegacy00NJs._;
108
+ getResourcePermissions = _constantsLegacy00NJs._r;
109
+ MAX_WORKFLOW_NAME_LENGTH = _constantsLegacy00NJs.a;
110
+ WORKFLOW_MENU_ACTIONS = _constantsLegacy00NJs.dc;
111
+ ERROR_WORKFLOW_DOCS_URL = _constantsLegacy00NJs.g;
112
+ VIEWS = _constantsLegacy00NJs.mo;
113
+ MAIN_HEADER_TABS = _constantsLegacy00NJs.po;
114
+ WORKFLOW_SETTINGS_MODAL_KEY = _constantsLegacy00NJs.qo;
115
+ LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON = _constantsLegacy00NJs.rs;
116
+ PLACEHOLDER_EMPTY_WORKFLOW_ID = _constantsLegacy00NJs.s;
117
+ WEBHOOK_NODE_TYPE = _constantsLegacy00NJs.wa;
118
+ STICKY_NODE_TYPE = _constantsLegacy00NJs.xn;
119
+ DUPLICATE_MODAL_KEY = _constantsLegacy00NJs.xo;
120
+ N8N_MAIN_GITHUB_REPO_URL = _constantsLegacy00NJs.y;
121
+ }, function (_mergeLegacy00PJs) {}, function (_assistantStoreLegacy00RJs) {}, function (_dateformatLegacy00TJs) {}, function (_useDebounceLegacy00VJs) {
122
+ require_debounce = _useDebounceLegacy00VJs.n;
123
+ useDebounce = _useDebounceLegacy00VJs.t;
124
+ }, function (_useExternalHooksLegacy00XJs) {}, function (_npsSurveyStoreLegacy011Js) {
125
+ useNpsSurveyStore = _npsSurveyStoreLegacy011Js.t;
126
+ }, function (_cloudPlanStoreLegacy013Js) {}, function (_templatesStoreLegacy015Js) {}, function (_focusPanelStoreLegacy017Js) {}, function (_useWorkflowSavingLegacy019Js) {
127
+ useWorkflowSaving = _useWorkflowSavingLegacy019Js.t;
128
+ }, function (_retryLegacy01bJs) {}, function (_executionsStoreLegacy01dJs) {
129
+ useExecutionsStore = _executionsStoreLegacy01dJs.t;
130
+ }, function (_useRunWorkflowLegacy01fJs) {
131
+ usePushConnectionStore = _useRunWorkflowLegacy01fJs.i;
132
+ }, function (_usePinnedDataLegacy01hJs) {}, function (_nodeCreatorStoreLegacy01jJs) {}, function (_nodeIconLegacy01lJs) {}, function (_useClipboardLegacy01nJs) {}, function (_useCanvasOperationsLegacy01pJs) {}, function (_foldersStoreLegacy01tJs) {
133
+ useFoldersStore = _foldersStoreLegacy01tJs.t;
134
+ }, function (_KeyboardShortcutTooltipLegacy01xJs) {}, function (_versionsStoreLegacy01BJs) {}, function (_usePageRedirectionHelperLegacy01DJs) {
135
+ usePageRedirectionHelper = _usePageRedirectionHelperLegacy01DJs.t;
136
+ }, function (_bannersStoreLegacy01FJs) {
137
+ useBannersStore = _bannersStoreLegacy01FJs.t;
138
+ }, function (_ProjectIconLegacy025Js) {}, function (_schemaPreviewStoreLegacy02lJs) {}, function (_FileSaverMinLegacy02rJs) {
139
+ require_FileSaver_min = _FileSaverMinLegacy02rJs.t;
140
+ }, function (_EnterpriseEditionEeLegacy02DJs) {
141
+ EnterpriseEdition_ee_default = _EnterpriseEditionEeLegacy02DJs.t;
142
+ }, function (_SaveButtonLegacy02PJs) {
143
+ SaveButton_default = _SaveButtonLegacy02PJs.t;
144
+ }, function (_TagsDropdownLegacy02TJs) {}, function (_WorkflowTagsDropdownLegacy02VJs) {
145
+ WorkflowTagsDropdown_default = _WorkflowTagsDropdownLegacy02VJs.t;
146
+ }, function (_mcpConstantsLegacy037Js) {
147
+ MCP_DOCS_PAGE_URL = _mcpConstantsLegacy037Js.n;
148
+ }, function (_useMcpLegacy03rJs) {
149
+ useMcp = _useMcpLegacy03rJs.t;
150
+ }, function (_useWorkflowActivateLegacy03zJs) {}, function (_ProjectBreadcrumbLegacy03JJs) {}, function (_WorkflowActivatorLegacy03LJs) {
151
+ FolderBreadcrumbs_default = _WorkflowActivatorLegacy03LJs.n;
152
+ WorkflowActivator_default = _WorkflowActivatorLegacy03LJs.t;
153
+ }, function (_useBeforeUnloadLegacy03NJs) {
154
+ useBeforeUnload = _useBeforeUnloadLegacy03NJs.t;
155
+ }, function (_PushConnectionTrackerLegacy03PJs) {
156
+ PushConnectionTracker_default = _PushConnectionTrackerLegacy03PJs.t;
157
+ }, function (_useWorkflowsCacheLegacy03RJs) {
158
+ useWorkflowSettingsCache = _useWorkflowsCacheLegacy03RJs.t;
159
+ }, function (_usePushConnectionLegacy03TJs) {
160
+ usePushConnection = _usePushConnectionLegacy03TJs.t;
161
+ }, function (_readyToRunWorkflowsStoreLegacy03VJs) {}, function (_readyToRunWorkflowsV2StoreLegacy03XJs) {}],
162
+ execute: function () {
163
+ __vite_style__ = document.createElement('style');
164
+ __vite_style__.textContent = "/* BEM support Func\n -------------------------- */\n/* Transition\n-------------------------- */\n/* Color\n-------------------------- */\n/* Link\n-------------------------- */\n/* Border\n-------------------------- */\n/* Outline\n-------------------------- */\n/* Box shadow\n-------------------------- */\n/* Fill\n-------------------------- */\n/* Typography\n-------------------------- */\n/* z-index\n-------------------------- */\n/* Disable base\n-------------------------- */\n/* Icon\n-------------------------- */\n/* Checkbox\n-------------------------- */\n/* Radio\n-------------------------- */\n/* Select\n-------------------------- */\n/* Alert\n-------------------------- */\n/* MessageBox\n-------------------------- */\n/* Message\n-------------------------- */\n/* Notification\n-------------------------- */\n/* Input\n-------------------------- */\n/* Cascader\n-------------------------- */\n/* Group\n-------------------------- */\n/* Tab\n-------------------------- */\n/* Button\n-------------------------- */\n/* cascader\n-------------------------- */\n/* Switch\n-------------------------- */\n/* Dialog\n-------------------------- */\n/* Table\n-------------------------- */\n/* Pagination\n-------------------------- */\n/* Popup\n-------------------------- */\n/* Popover\n-------------------------- */\n/* Tooltip\n-------------------------- */\n/* Tag\n-------------------------- */\n/* Tree\n-------------------------- */\n/* Dropdown\n-------------------------- */\n/* Badge\n-------------------------- */\n/* Card\n--------------------------*/\n/* Slider\n--------------------------*/\n/* Steps\n--------------------------*/\n/* Menu\n--------------------------*/\n/* Rate\n--------------------------*/\n/* DatePicker\n--------------------------*/\n/* Loading\n--------------------------*/\n/* Scrollbar\n--------------------------*/\n/* Carousel\n--------------------------*/\n/* Collapse\n--------------------------*/\n/* Transfer\n--------------------------*/\n/* Header\n --------------------------*/\n/* Footer\n--------------------------*/\n/* Main\n--------------------------*/\n/* Timeline\n--------------------------*/\n/* Backtop\n--------------------------*/\n/* Link\n--------------------------*/\n/* Calendar\n--------------------------*/\n/* Form\n-------------------------- */\n/* Avatar\n--------------------------*/\n/* Break-point\n--------------------------*/\n/* Break-points\n -------------------------- */\n/* Scrollbar\n -------------------------- */\n/* Placeholder\n -------------------------- */\n/* BEM\n -------------------------- */\n._container_cznfu_123 {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%) translateY(50%);\n min-height: 30px;\n display: flex;\n padding: var(--spacing--5xs);\n background-color: var(--color--foreground);\n border-radius: var(--radius);\n transition: all 150ms ease-in-out;\n z-index: 1;\n}\n@media screen and (max-width: 430px) {\n._container_cznfu_123 {\n flex-direction: column;\n}\n}/* BEM support Func\n -------------------------- */\n/* Transition\n-------------------------- */\n/* Color\n-------------------------- */\n/* Link\n-------------------------- */\n/* Border\n-------------------------- */\n/* Outline\n-------------------------- */\n/* Box shadow\n-------------------------- */\n/* Fill\n-------------------------- */\n/* Typography\n-------------------------- */\n/* z-index\n-------------------------- */\n/* Disable base\n-------------------------- */\n/* Icon\n-------------------------- */\n/* Checkbox\n-------------------------- */\n/* Radio\n-------------------------- */\n/* Select\n-------------------------- */\n/* Alert\n-------------------------- */\n/* MessageBox\n-------------------------- */\n/* Message\n-------------------------- */\n/* Notification\n-------------------------- */\n/* Input\n-------------------------- */\n/* Cascader\n-------------------------- */\n/* Group\n-------------------------- */\n/* Tab\n-------------------------- */\n/* Button\n-------------------------- */\n/* cascader\n-------------------------- */\n/* Switch\n-------------------------- */\n/* Dialog\n-------------------------- */\n/* Table\n-------------------------- */\n/* Pagination\n-------------------------- */\n/* Popup\n-------------------------- */\n/* Popover\n-------------------------- */\n/* Tooltip\n-------------------------- */\n/* Tag\n-------------------------- */\n/* Tree\n-------------------------- */\n/* Dropdown\n-------------------------- */\n/* Badge\n-------------------------- */\n/* Card\n--------------------------*/\n/* Slider\n--------------------------*/\n/* Steps\n--------------------------*/\n/* Menu\n--------------------------*/\n/* Rate\n--------------------------*/\n/* DatePicker\n--------------------------*/\n/* Loading\n--------------------------*/\n/* Scrollbar\n--------------------------*/\n/* Carousel\n--------------------------*/\n/* Collapse\n--------------------------*/\n/* Transfer\n--------------------------*/\n/* Header\n --------------------------*/\n/* Footer\n--------------------------*/\n/* Main\n--------------------------*/\n/* Timeline\n--------------------------*/\n/* Backtop\n--------------------------*/\n/* Link\n--------------------------*/\n/* Calendar\n--------------------------*/\n/* Form\n-------------------------- */\n/* Avatar\n--------------------------*/\n/* Break-point\n--------------------------*/\n/* Break-points\n -------------------------- */\n/* Scrollbar\n -------------------------- */\n/* Placeholder\n -------------------------- */\n/* BEM\n -------------------------- */\n._container_dsr9f_123 {\n margin: 0 var(--spacing--4xs);\n}/* BEM support Func\n -------------------------- */\n/* Transition\n-------------------------- */\n/* Color\n-------------------------- */\n/* Link\n-------------------------- */\n/* Border\n-------------------------- */\n/* Outline\n-------------------------- */\n/* Box shadow\n-------------------------- */\n/* Fill\n-------------------------- */\n/* Typography\n-------------------------- */\n/* z-index\n-------------------------- */\n/* Disable base\n-------------------------- */\n/* Icon\n-------------------------- */\n/* Checkbox\n-------------------------- */\n/* Radio\n-------------------------- */\n/* Select\n-------------------------- */\n/* Alert\n-------------------------- */\n/* MessageBox\n-------------------------- */\n/* Message\n-------------------------- */\n/* Notification\n-------------------------- */\n/* Input\n-------------------------- */\n/* Cascader\n-------------------------- */\n/* Group\n-------------------------- */\n/* Tab\n-------------------------- */\n/* Button\n-------------------------- */\n/* cascader\n-------------------------- */\n/* Switch\n-------------------------- */\n/* Dialog\n-------------------------- */\n/* Table\n-------------------------- */\n/* Pagination\n-------------------------- */\n/* Popup\n-------------------------- */\n/* Popover\n-------------------------- */\n/* Tooltip\n-------------------------- */\n/* Tag\n-------------------------- */\n/* Tree\n-------------------------- */\n/* Dropdown\n-------------------------- */\n/* Badge\n-------------------------- */\n/* Card\n--------------------------*/\n/* Slider\n--------------------------*/\n/* Steps\n--------------------------*/\n/* Menu\n--------------------------*/\n/* Rate\n--------------------------*/\n/* DatePicker\n--------------------------*/\n/* Loading\n--------------------------*/\n/* Scrollbar\n--------------------------*/\n/* Carousel\n--------------------------*/\n/* Collapse\n--------------------------*/\n/* Transfer\n--------------------------*/\n/* Header\n --------------------------*/\n/* Footer\n--------------------------*/\n/* Main\n--------------------------*/\n/* Timeline\n--------------------------*/\n/* Backtop\n--------------------------*/\n/* Link\n--------------------------*/\n/* Calendar\n--------------------------*/\n/* Form\n-------------------------- */\n/* Avatar\n--------------------------*/\n/* Break-point\n--------------------------*/\n/* Break-points\n -------------------------- */\n/* Scrollbar\n -------------------------- */\n/* Placeholder\n -------------------------- */\n/* BEM\n -------------------------- */\n.tags-container[data-v-27a13ab2] {\n display: block;\n max-width: 300px;\n}\n.tags[data-v-27a13ab2] {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n}\n.tags > span[data-v-27a13ab2] {\n padding-right: 4px;\n}\n.hideTag[data-v-27a13ab2] {\n visibility: hidden;\n}\n.el-tag.hoverable[data-v-27a13ab2]:hover {\n border-color: var(--color--primary);\n}\n.count-container[data-v-27a13ab2] {\n position: absolute;\n max-width: 40px;\n text-overflow: ellipsis;\n overflow: hidden;\n}/* BEM support Func\n -------------------------- */\n/* Transition\n-------------------------- */\n/* Color\n-------------------------- */\n/* Link\n-------------------------- */\n/* Border\n-------------------------- */\n/* Outline\n-------------------------- */\n/* Box shadow\n-------------------------- */\n/* Fill\n-------------------------- */\n/* Typography\n-------------------------- */\n/* z-index\n-------------------------- */\n/* Disable base\n-------------------------- */\n/* Icon\n-------------------------- */\n/* Checkbox\n-------------------------- */\n/* Radio\n-------------------------- */\n/* Select\n-------------------------- */\n/* Alert\n-------------------------- */\n/* MessageBox\n-------------------------- */\n/* Message\n-------------------------- */\n/* Notification\n-------------------------- */\n/* Input\n-------------------------- */\n/* Cascader\n-------------------------- */\n/* Group\n-------------------------- */\n/* Tab\n-------------------------- */\n/* Button\n-------------------------- */\n/* cascader\n-------------------------- */\n/* Switch\n-------------------------- */\n/* Dialog\n-------------------------- */\n/* Table\n-------------------------- */\n/* Pagination\n-------------------------- */\n/* Popup\n-------------------------- */\n/* Popover\n-------------------------- */\n/* Tooltip\n-------------------------- */\n/* Tag\n-------------------------- */\n/* Tree\n-------------------------- */\n/* Dropdown\n-------------------------- */\n/* Badge\n-------------------------- */\n/* Card\n--------------------------*/\n/* Slider\n--------------------------*/\n/* Steps\n--------------------------*/\n/* Menu\n--------------------------*/\n/* Rate\n--------------------------*/\n/* DatePicker\n--------------------------*/\n/* Loading\n--------------------------*/\n/* Scrollbar\n--------------------------*/\n/* Carousel\n--------------------------*/\n/* Collapse\n--------------------------*/\n/* Transfer\n--------------------------*/\n/* Header\n --------------------------*/\n/* Footer\n--------------------------*/\n/* Main\n--------------------------*/\n/* Timeline\n--------------------------*/\n/* Backtop\n--------------------------*/\n/* Link\n--------------------------*/\n/* Calendar\n--------------------------*/\n/* Form\n-------------------------- */\n/* Avatar\n--------------------------*/\n/* Break-point\n--------------------------*/\n/* Break-points\n -------------------------- */\n/* Scrollbar\n -------------------------- */\n/* Placeholder\n -------------------------- */\n/* BEM\n -------------------------- */\n._description-button_wp41v_123 {\n border: none;\n position: relative;\n top: var(--spacing--5xs);\n}\n._description-button_wp41v_123._active_wp41v_128 {\n color: var(--color--background--shade-2);\n}\n._description-button_wp41v_123:hover, ._description-button_wp41v_123:focus, ._description-button_wp41v_123:focus-visible, ._description-button_wp41v_123:active {\n background: none;\n background-color: transparent !important;\n outline: none !important;\n color: var(--color--background--shade-2) !important;\n}\n._description-edit-content_wp41v_138 {\n display: flex;\n flex-direction: column;\n padding: var(--spacing--xs);\n width: 400px;\n}\n._popover-footer_wp41v_145 {\n display: flex;\n justify-content: flex-end;\n gap: var(--spacing--2xs);\n padding: 0 var(--spacing--xs) var(--spacing--xs);\n}/* BEM support Func\n -------------------------- */\n/* Transition\n-------------------------- */\n/* Color\n-------------------------- */\n/* Link\n-------------------------- */\n/* Border\n-------------------------- */\n/* Outline\n-------------------------- */\n/* Box shadow\n-------------------------- */\n/* Fill\n-------------------------- */\n/* Typography\n-------------------------- */\n/* z-index\n-------------------------- */\n/* Disable base\n-------------------------- */\n/* Icon\n-------------------------- */\n/* Checkbox\n-------------------------- */\n/* Radio\n-------------------------- */\n/* Select\n-------------------------- */\n/* Alert\n-------------------------- */\n/* MessageBox\n-------------------------- */\n/* Message\n-------------------------- */\n/* Notification\n-------------------------- */\n/* Input\n-------------------------- */\n/* Cascader\n-------------------------- */\n/* Group\n-------------------------- */\n/* Tab\n-------------------------- */\n/* Button\n-------------------------- */\n/* cascader\n-------------------------- */\n/* Switch\n-------------------------- */\n/* Dialog\n-------------------------- */\n/* Table\n-------------------------- */\n/* Pagination\n-------------------------- */\n/* Popup\n-------------------------- */\n/* Popover\n-------------------------- */\n/* Tooltip\n-------------------------- */\n/* Tag\n-------------------------- */\n/* Tree\n-------------------------- */\n/* Dropdown\n-------------------------- */\n/* Badge\n-------------------------- */\n/* Card\n--------------------------*/\n/* Slider\n--------------------------*/\n/* Steps\n--------------------------*/\n/* Menu\n--------------------------*/\n/* Rate\n--------------------------*/\n/* DatePicker\n--------------------------*/\n/* Loading\n--------------------------*/\n/* Scrollbar\n--------------------------*/\n/* Carousel\n--------------------------*/\n/* Collapse\n--------------------------*/\n/* Transfer\n--------------------------*/\n/* Header\n --------------------------*/\n/* Footer\n--------------------------*/\n/* Main\n--------------------------*/\n/* Timeline\n--------------------------*/\n/* Backtop\n--------------------------*/\n/* Link\n--------------------------*/\n/* Calendar\n--------------------------*/\n/* Form\n-------------------------- */\n/* Avatar\n--------------------------*/\n/* Break-point\n--------------------------*/\n/* Break-points\n -------------------------- */\n/* Scrollbar\n -------------------------- */\n/* Placeholder\n -------------------------- */\n/* BEM\n -------------------------- */\n.name-container[data-v-efdec302] {\n margin-right: var(--spacing--sm);\n}\n.name-container[data-v-efdec302] .el-input {\n padding: 0;\n}\n.name[data-v-efdec302] {\n color: var(--color--text--shade-1);\n font-size: var(--font-size--sm);\n padding: var(--spacing--3xs) var(--spacing--4xs) var(--spacing--4xs);\n}\n.activator[data-v-efdec302] {\n color: var(--color--text--shade-1);\n font-weight: var(--font-weight--regular);\n font-size: 13px;\n line-height: 24px;\n align-items: center;\n}\n.activator > span[data-v-efdec302] {\n margin-right: 5px;\n}\n.add-tag[data-v-efdec302] {\n font-size: 12px;\n padding: 20px 0;\n color: var(--color--text--tint-1);\n font-weight: var(--font-weight--bold);\n white-space: nowrap;\n}\n.add-tag[data-v-efdec302]:hover {\n color: var(--color--primary);\n}\n.tags[data-v-efdec302] {\n display: flex;\n align-items: center;\n width: 100%;\n flex: 1;\n margin-right: 20px;\n}\n.tags-edit[data-v-efdec302] {\n min-width: 100px;\n width: 100%;\n max-width: 460px;\n}\n.actions[data-v-efdec302] {\n display: flex;\n align-items: center;\n gap: var(--spacing--md);\n flex-wrap: nowrap;\n}\n@media screen and (max-width: 767px) {\n.name[data-v-efdec302] input {\n min-width: 180px;\n}\n}\n@media (max-width: 1390px) {\n.name-container[data-v-efdec302] {\n margin-right: var(--spacing--xs);\n}\n.actions[data-v-efdec302] {\n gap: var(--spacing--xs);\n}\n}\n@media (max-width: 1350px) {\n.name-container[data-v-efdec302] {\n margin-right: var(--spacing--2xs);\n}\n.actions[data-v-efdec302] {\n gap: var(--spacing--2xs);\n}\n}/* BEM support Func\n -------------------------- */\n/* Transition\n-------------------------- */\n/* Color\n-------------------------- */\n/* Link\n-------------------------- */\n/* Border\n-------------------------- */\n/* Outline\n-------------------------- */\n/* Box shadow\n-------------------------- */\n/* Fill\n-------------------------- */\n/* Typography\n-------------------------- */\n/* z-index\n-------------------------- */\n/* Disable base\n-------------------------- */\n/* Icon\n-------------------------- */\n/* Checkbox\n-------------------------- */\n/* Radio\n-------------------------- */\n/* Select\n-------------------------- */\n/* Alert\n-------------------------- */\n/* MessageBox\n-------------------------- */\n/* Message\n-------------------------- */\n/* Notification\n-------------------------- */\n/* Input\n-------------------------- */\n/* Cascader\n-------------------------- */\n/* Group\n-------------------------- */\n/* Tab\n-------------------------- */\n/* Button\n-------------------------- */\n/* cascader\n-------------------------- */\n/* Switch\n-------------------------- */\n/* Dialog\n-------------------------- */\n/* Table\n-------------------------- */\n/* Pagination\n-------------------------- */\n/* Popup\n-------------------------- */\n/* Popover\n-------------------------- */\n/* Tooltip\n-------------------------- */\n/* Tag\n-------------------------- */\n/* Tree\n-------------------------- */\n/* Dropdown\n-------------------------- */\n/* Badge\n-------------------------- */\n/* Card\n--------------------------*/\n/* Slider\n--------------------------*/\n/* Steps\n--------------------------*/\n/* Menu\n--------------------------*/\n/* Rate\n--------------------------*/\n/* DatePicker\n--------------------------*/\n/* Loading\n--------------------------*/\n/* Scrollbar\n--------------------------*/\n/* Carousel\n--------------------------*/\n/* Collapse\n--------------------------*/\n/* Transfer\n--------------------------*/\n/* Header\n --------------------------*/\n/* Footer\n--------------------------*/\n/* Main\n--------------------------*/\n/* Timeline\n--------------------------*/\n/* Backtop\n--------------------------*/\n/* Link\n--------------------------*/\n/* Calendar\n--------------------------*/\n/* Form\n-------------------------- */\n/* Avatar\n--------------------------*/\n/* Break-point\n--------------------------*/\n/* Break-points\n -------------------------- */\n/* Scrollbar\n -------------------------- */\n/* Placeholder\n -------------------------- */\n/* BEM\n -------------------------- */\n._container_177kb_123 {\n position: relative;\n width: 100%;\n padding: var(--spacing--xs) var(--spacing--md);\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n}\n._path-separator_177kb_132 {\n font-size: var(--font-size--xl);\n color: var(--color--foreground);\n padding: var(--spacing--3xs) var(--spacing--4xs) var(--spacing--4xs);\n}\n._group_177kb_138 {\n display: flex;\n gap: var(--spacing--xs);\n}\n._hiddenInput_177kb_143 {\n display: none;\n}\n._deleteItem_177kb_147 {\n color: var(--color--danger);\n}\n._disabledShareButton_177kb_151 {\n cursor: not-allowed;\n}\n._closeNodeViewDiscovery_177kb_155 {\n position: absolute;\n right: var(--spacing--xs);\n top: var(--spacing--xs);\n cursor: pointer;\n}\n._header-controls_177kb_162 {\n display: flex;\n align-items: center;\n gap: var(--spacing--md);\n width: 100%;\n flex: 1;\n margin: 0 var(--spacing--md);\n}/* BEM support Func\n -------------------------- */\n/* Transition\n-------------------------- */\n/* Color\n-------------------------- */\n/* Link\n-------------------------- */\n/* Border\n-------------------------- */\n/* Outline\n-------------------------- */\n/* Box shadow\n-------------------------- */\n/* Fill\n-------------------------- */\n/* Typography\n-------------------------- */\n/* z-index\n-------------------------- */\n/* Disable base\n-------------------------- */\n/* Icon\n-------------------------- */\n/* Checkbox\n-------------------------- */\n/* Radio\n-------------------------- */\n/* Select\n-------------------------- */\n/* Alert\n-------------------------- */\n/* MessageBox\n-------------------------- */\n/* Message\n-------------------------- */\n/* Notification\n-------------------------- */\n/* Input\n-------------------------- */\n/* Cascader\n-------------------------- */\n/* Group\n-------------------------- */\n/* Tab\n-------------------------- */\n/* Button\n-------------------------- */\n/* cascader\n-------------------------- */\n/* Switch\n-------------------------- */\n/* Dialog\n-------------------------- */\n/* Table\n-------------------------- */\n/* Pagination\n-------------------------- */\n/* Popup\n-------------------------- */\n/* Popover\n-------------------------- */\n/* Tooltip\n-------------------------- */\n/* Tag\n-------------------------- */\n/* Tree\n-------------------------- */\n/* Dropdown\n-------------------------- */\n/* Badge\n-------------------------- */\n/* Card\n--------------------------*/\n/* Slider\n--------------------------*/\n/* Steps\n--------------------------*/\n/* Menu\n--------------------------*/\n/* Rate\n--------------------------*/\n/* DatePicker\n--------------------------*/\n/* Loading\n--------------------------*/\n/* Scrollbar\n--------------------------*/\n/* Carousel\n--------------------------*/\n/* Collapse\n--------------------------*/\n/* Transfer\n--------------------------*/\n/* Header\n --------------------------*/\n/* Footer\n--------------------------*/\n/* Main\n--------------------------*/\n/* Timeline\n--------------------------*/\n/* Backtop\n--------------------------*/\n/* Link\n--------------------------*/\n/* Calendar\n--------------------------*/\n/* Form\n-------------------------- */\n/* Avatar\n--------------------------*/\n/* Break-point\n--------------------------*/\n/* Break-points\n -------------------------- */\n/* Scrollbar\n -------------------------- */\n/* Placeholder\n -------------------------- */\n/* BEM\n -------------------------- */\n._container_18v8t_123 {\n display: flex;\n position: relative;\n width: 100%;\n align-items: center;\n}\n._main-header_18v8t_130 {\n min-height: var(--navbar--height);\n background-color: var(--color--background--light-3);\n width: 100%;\n box-sizing: border-box;\n border-bottom: var(--border-width) var(--border-style) var(--color--foreground);\n}\n._top-menu_18v8t_138 {\n position: relative;\n display: flex;\n height: var(--navbar--height);\n align-items: center;\n font-size: 0.9em;\n font-weight: var(--font-weight--regular);\n overflow-x: auto;\n overflow-y: hidden;\n}\n._github-button_18v8t_149 {\n display: flex;\n align-items: center;\n align-self: stretch;\n padding: var(--spacing--5xs) var(--spacing--md);\n background-color: var(--color--background--light-3);\n border-left: var(--border-width) var(--border-style) var(--color--foreground);\n}\n._close-github-button_18v8t_158 {\n display: none;\n position: absolute;\n right: 0;\n top: 0;\n transform: translate(50%, -46%);\n color: var(--color--foreground--shade-2);\n background-color: var(--color--background--light-3);\n border-radius: 100%;\n cursor: pointer;\n}\n._close-github-button_18v8t_158:hover {\n color: var(--p--color--primary-420);\n}\n._github-button-container_18v8t_173 {\n position: relative;\n}\n._github-button_18v8t_149:hover ._close-github-button_18v8t_158 {\n display: block;\n}\n@media (max-width: 1390px) {\n._github-button_18v8t_149 {\n padding: var(--spacing--5xs) var(--spacing--xs);\n}\n}\n@media (max-width: 1340px) {\n._github-button_18v8t_149 {\n border-left: 0;\n padding-left: 0;\n}\n}\n@media (max-width: 1290px) {\n._github-button_18v8t_149 {\n display: none;\n}\n}/*$vite$:1*/";
165
+ document.head.appendChild(__vite_style__);
166
+ //#region src/app/components/MainHeader/TabBar.vue?vue&type=script&setup=true&lang.ts
167
+ TabBar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
168
+ __name: "TabBar",
169
+ props: {
170
+ items: {},
171
+ modelValue: {
172
+ default: MAIN_HEADER_TABS.WORKFLOW
173
+ }
174
+ },
175
+ emits: ["update:modelValue"],
176
+ setup(__props, {
177
+ emit: __emit
178
+ }) {
179
+ const emit = __emit;
180
+ function onUpdateModelValue(tab, event) {
181
+ emit("update:modelValue", tab, event);
182
+ }
183
+ return (_ctx, _cache) => {
184
+ return _ctx.items ? (openBlock(), createElementBlock("div", {
185
+ key: 0,
186
+ class: normalizeClass({
187
+ [_ctx.$style.container]: true,
188
+ ["tab-bar-container"]: true
189
+ })
190
+ }, [createVNode(unref(N8nRadioButtons_default), {
191
+ "model-value": _ctx.modelValue,
192
+ options: _ctx.items,
193
+ "onUpdate:modelValue": onUpdateModelValue
194
+ }, null, 8, ["model-value", "options"])], 2)) : createCommentVNode("", true);
195
+ };
196
+ }
197
+ }); //#endregion
198
+ //#region src/app/components/MainHeader/TabBar.vue?vue&type=style&index=0&lang.module.scss
199
+ container$3 = "_container_cznfu_123";
200
+ TabBar_vue_vue_type_style_index_0_lang_module_default = {
201
+ container: container$3
202
+ }; //#endregion
203
+ //#region src/app/components/MainHeader/TabBar.vue
204
+ cssModules$4 = {
205
+ "$style": TabBar_vue_vue_type_style_index_0_lang_module_default
206
+ };
207
+ TabBar_default = /* @__PURE__ */__plugin_vue_export_helper_default(TabBar_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$4]]); //#endregion
208
+ //#region src/app/constants/breakpoints.ts
209
+ BREAKPOINT_SM = 768;
210
+ BREAKPOINT_MD = 992;
211
+ BREAKPOINT_LG = 1200;
212
+ BREAKPOINT_XL = 1920; //#endregion
213
+ //#region src/app/components/BreakpointsObserver.vue?vue&type=script&setup=true&lang.ts
214
+ BreakpointsObserver_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
215
+ __name: "BreakpointsObserver",
216
+ props: {
217
+ valueXS: {},
218
+ valueXL: {},
219
+ valueLG: {},
220
+ valueMD: {},
221
+ valueSM: {},
222
+ valueDefault: {}
223
+ },
224
+ setup(__props) {
225
+ const props = __props;
226
+ const {
227
+ callDebounced
228
+ } = useDebounce();
229
+ const bannersStore = useBannersStore();
230
+ const width = ref(window.innerWidth);
231
+ const bp = computed(() => {
232
+ if (width.value < 768) return "XS";
233
+ if (width.value >= 1920) return "XL";
234
+ if (width.value >= 1200) return "LG";
235
+ if (width.value >= 992) return "MD";
236
+ return "SM";
237
+ });
238
+ const value = computed(() => {
239
+ if (props.valueXS && width.value < 768) return props.valueXS;
240
+ if (props.valueXL && width.value >= 1920) return props.valueXL;
241
+ if (props.valueLG && width.value >= 1200) return props.valueLG;
242
+ if (props.valueMD && width.value >= 992) return props.valueMD;
243
+ if (props.valueSM) return props.valueSM;
244
+ return props.valueDefault;
245
+ });
246
+ const onResize = () => {
247
+ callDebounced(onResizeEnd, {
248
+ debounceTime: 50
249
+ });
250
+ };
251
+ const onResizeEnd = async () => {
252
+ width.value = window.innerWidth;
253
+ await nextTick();
254
+ const bannerHeight = await getBannerRowHeight();
255
+ bannersStore.updateBannersHeight(bannerHeight);
256
+ };
257
+ onMounted(() => {
258
+ window.addEventListener("resize", onResize);
259
+ });
260
+ onBeforeUnmount(() => {
261
+ window.removeEventListener("resize", onResize);
262
+ });
263
+ return (_ctx, _cache) => {
264
+ return openBlock(), createElementBlock("span", null, [renderSlot(_ctx.$slots, "default", {
265
+ bp: bp.value,
266
+ value: value.value
267
+ })]);
268
+ };
269
+ }
270
+ }); //#endregion
271
+ //#region src/app/components/BreakpointsObserver.vue
272
+ BreakpointsObserver_default = BreakpointsObserver_vue_vue_type_script_setup_true_lang_default; //#endregion
273
+ //#region src/features/collaboration/collaboration/collaboration.store.ts
274
+ HEARTBEAT_INTERVAL = 5 * TIME.MINUTE;
275
+ /**
276
+ * Store for tracking active users for workflows. I.e. to show
277
+ * who is collaboratively viewing/editing the workflow at the same time.
278
+ */
279
+ useCollaborationStore = defineStore(STORES.COLLABORATION, () => {
280
+ const pushStore = usePushConnectionStore();
281
+ const workflowsStore = useWorkflowsStore();
282
+ const usersStore = useUsersStore();
283
+ const uiStore = useUIStore();
284
+ const {
285
+ addBeforeUnloadEventBindings,
286
+ removeBeforeUnloadEventBindings,
287
+ addBeforeUnloadHandler
288
+ } = useBeforeUnload({
289
+ route: useRoute()
290
+ });
291
+ const unloadTimeout = ref(null);
292
+ addBeforeUnloadHandler(() => {
293
+ notifyWorkflowClosed();
294
+ if (uiStore.stateIsDirty) unloadTimeout.value = setTimeout(() => notifyWorkflowOpened, 5 * TIME.SECOND);
295
+ });
296
+ const collaborators = ref([]);
297
+ const heartbeatTimer = ref(null);
298
+ const startHeartbeat = () => {
299
+ stopHeartbeat();
300
+ heartbeatTimer.value = window.setInterval(notifyWorkflowOpened, HEARTBEAT_INTERVAL);
301
+ };
302
+ const stopHeartbeat = () => {
303
+ if (heartbeatTimer.value !== null) {
304
+ clearInterval(heartbeatTimer.value);
305
+ heartbeatTimer.value = null;
306
+ }
307
+ };
308
+ const pushStoreEventListenerRemovalFn = ref(null);
309
+ function initialize() {
310
+ if (pushStoreEventListenerRemovalFn.value) return;
311
+ pushStoreEventListenerRemovalFn.value = pushStore.addEventListener(event => {
312
+ if (event.type === "collaboratorsChanged" && event.data.workflowId === workflowsStore.workflowId) collaborators.value = event.data.collaborators;
313
+ });
314
+ addBeforeUnloadEventBindings();
315
+ notifyWorkflowOpened();
316
+ startHeartbeat();
317
+ }
318
+ function terminate() {
319
+ if (typeof pushStoreEventListenerRemovalFn.value === "function") {
320
+ pushStoreEventListenerRemovalFn.value();
321
+ pushStoreEventListenerRemovalFn.value = null;
322
+ }
323
+ notifyWorkflowClosed();
324
+ stopHeartbeat();
325
+ pushStore.clearQueue();
326
+ removeBeforeUnloadEventBindings();
327
+ if (unloadTimeout.value) clearTimeout(unloadTimeout.value);
328
+ }
329
+ function notifyWorkflowOpened() {
330
+ const {
331
+ workflowId
332
+ } = workflowsStore;
333
+ if (workflowId === "__EMPTY__") return;
334
+ pushStore.send({
335
+ type: "workflowOpened",
336
+ workflowId
337
+ });
338
+ }
339
+ function notifyWorkflowClosed() {
340
+ const {
341
+ workflowId
342
+ } = workflowsStore;
343
+ if (workflowId === "__EMPTY__") return;
344
+ pushStore.send({
345
+ type: "workflowClosed",
346
+ workflowId
347
+ });
348
+ collaborators.value = collaborators.value.filter(({
349
+ user
350
+ }) => user.id !== usersStore.currentUserId);
351
+ }
352
+ return {
353
+ collaborators,
354
+ initialize,
355
+ terminate,
356
+ startHeartbeat,
357
+ stopHeartbeat
358
+ };
359
+ }); //#endregion
360
+ //#region src/features/collaboration/collaboration/components/CollaborationPane.vue?vue&type=script&setup=true&lang.ts
361
+ CollaborationPane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
362
+ __name: "CollaborationPane",
363
+ setup(__props) {
364
+ const collaborationStore = useCollaborationStore();
365
+ const usersStore = useUsersStore();
366
+ watch(useDocumentVisibility(), visibilityState => {
367
+ if (visibilityState === "hidden") collaborationStore.stopHeartbeat();else collaborationStore.startHeartbeat();
368
+ });
369
+ const showUserStack = computed(() => collaborationStore.collaborators.length > 1);
370
+ const collaboratorsSorted = computed(() => {
371
+ const users = collaborationStore.collaborators.map(({
372
+ user
373
+ }) => user);
374
+ const index = users.findIndex(user => user.id === usersStore.currentUser?.id);
375
+ if (index < 1) return {
376
+ defaultGroup: users
377
+ };
378
+ const [currentUser] = users.splice(index, 1);
379
+ return {
380
+ defaultGroup: [currentUser, ...users]
381
+ };
382
+ });
383
+ const currentUserEmail = computed(() => usersStore.currentUser?.email);
384
+ onMounted(() => {
385
+ collaborationStore.initialize();
386
+ });
387
+ onBeforeUnmount(() => {
388
+ collaborationStore.terminate();
389
+ });
390
+ return (_ctx, _cache) => {
391
+ return openBlock(), createElementBlock("div", {
392
+ class: normalizeClass(`collaboration-pane-container ${_ctx.$style.container}`),
393
+ "data-test-id": "collaboration-pane"
394
+ }, [showUserStack.value ? (openBlock(), createBlock(unref(N8nUserStack_default), {
395
+ key: 0,
396
+ users: collaboratorsSorted.value,
397
+ "current-user-email": currentUserEmail.value
398
+ }, null, 8, ["users", "current-user-email"])) : createCommentVNode("", true)], 2);
399
+ };
400
+ }
401
+ }); //#endregion
402
+ //#region src/features/collaboration/collaboration/components/CollaborationPane.vue?vue&type=style&index=0&lang.module.scss
403
+ container$2 = "_container_dsr9f_123";
404
+ CollaborationPane_vue_vue_type_style_index_0_lang_module_default = {
405
+ container: container$2
406
+ }; //#endregion
407
+ //#region src/features/collaboration/collaboration/components/CollaborationPane.vue
408
+ cssModules$3 = {
409
+ "$style": CollaborationPane_vue_vue_type_style_index_0_lang_module_default
410
+ };
411
+ CollaborationPane_default = /* @__PURE__ */__plugin_vue_export_helper_default(CollaborationPane_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$3]]); //#endregion
412
+ //#region src/features/workflows/workflowHistory/components/WorkflowHistoryButton.vue?vue&type=script&setup=true&lang.ts
413
+ _hoisted_1$2 = {
414
+ key: 0
415
+ };
416
+ _hoisted_2$2 = {
417
+ key: 1
418
+ };
419
+ WorkflowHistoryButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
420
+ __name: "WorkflowHistoryButton",
421
+ props: {
422
+ workflowId: {},
423
+ isNewWorkflow: {
424
+ type: Boolean
425
+ },
426
+ isFeatureEnabled: {
427
+ type: Boolean
428
+ }
429
+ },
430
+ emits: ["upgrade"],
431
+ setup(__props, {
432
+ emit: __emit
433
+ }) {
434
+ const locale = useI18n();
435
+ const props = __props;
436
+ const emit = __emit;
437
+ const workflowHistoryRoute = computed(() => ({
438
+ name: VIEWS.WORKFLOW_HISTORY,
439
+ params: {
440
+ workflowId: props.workflowId
441
+ }
442
+ }));
443
+ return (_ctx, _cache) => {
444
+ const _component_RouterLink = resolveComponent("RouterLink");
445
+ return openBlock(), createBlock(unref(N8nTooltip_default), {
446
+ placement: "bottom"
447
+ }, {
448
+ content: withCtx(() => [_ctx.isFeatureEnabled && _ctx.isNewWorkflow ? (openBlock(), createElementBlock("span", _hoisted_1$2, toDisplayString(unref(locale).baseText("workflowHistory.button.tooltip.empty")), 1)) : _ctx.isFeatureEnabled ? (openBlock(), createElementBlock("span", _hoisted_2$2, toDisplayString(unref(locale).baseText("workflowHistory.button.tooltip.enabled")), 1)) : (openBlock(), createBlock(unref(I18nT), {
449
+ key: 2,
450
+ keypath: "workflowHistory.button.tooltip.disabled",
451
+ scope: "global"
452
+ }, {
453
+ link: withCtx(() => [createVNode(unref(N8nLink_default), {
454
+ size: "small",
455
+ onClick: _cache[0] || (_cache[0] = $event => emit("upgrade"))
456
+ }, {
457
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(locale).baseText("workflowHistory.button.tooltip.disabled.link")), 1)]),
458
+ _: 1
459
+ })]),
460
+ _: 1
461
+ }))]),
462
+ default: withCtx(() => [createVNode(_component_RouterLink, {
463
+ to: workflowHistoryRoute.value
464
+ }, {
465
+ default: withCtx(() => [createVNode(unref(N8nIconButton_default), {
466
+ disabled: _ctx.isNewWorkflow || !_ctx.isFeatureEnabled,
467
+ "data-test-id": "workflow-history-button",
468
+ type: "highlight",
469
+ icon: "history",
470
+ size: "medium"
471
+ }, null, 8, ["disabled"])]),
472
+ _: 1
473
+ }, 8, ["to"])]),
474
+ _: 1
475
+ });
476
+ };
477
+ }
478
+ }); //#endregion
479
+ //#region src/features/workflows/workflowHistory/components/WorkflowHistoryButton.vue
480
+ WorkflowHistoryButton_default = WorkflowHistoryButton_vue_vue_type_script_setup_true_lang_default; //#endregion
481
+ //#region src/app/components/WorkflowProductionChecklist.vue?vue&type=script&setup=true&lang.ts
482
+ WorkflowProductionChecklist_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
483
+ __name: "WorkflowProductionChecklist",
484
+ props: {
485
+ workflow: {}
486
+ },
487
+ setup(__props) {
488
+ const props = __props;
489
+ const i18n = useI18n();
490
+ const router = useRouter();
491
+ const evaluationStore = useEvaluationStore();
492
+ const nodeTypesStore = useNodeTypesStore();
493
+ const workflowsCache = useWorkflowSettingsCache();
494
+ const uiStore = useUIStore();
495
+ const message = useMessage();
496
+ const telemetry = useTelemetry();
497
+ const sourceControlStore = useSourceControlStore();
498
+ const settingsStore = useSettingsStore();
499
+ const {
500
+ isEligibleForMcpAccess
501
+ } = useMcp();
502
+ const isPopoverOpen = ref(false);
503
+ const cachedSettings = ref(null);
504
+ const hasAINode = computed(() => {
505
+ return props.workflow.nodes.some(node => {
506
+ return nodeTypesStore.getNodeType(node.type, node.typeVersion)?.codex?.categories?.includes("AI");
507
+ });
508
+ });
509
+ const hasEvaluationSetOutputsNode = computed(() => {
510
+ return evaluationStore.evaluationSetOutputsNodeExist;
511
+ });
512
+ const hasErrorWorkflow = computed(() => {
513
+ return !!props.workflow.settings?.errorWorkflow;
514
+ });
515
+ const hasTimeSaved = computed(() => {
516
+ return props.workflow.settings?.timeSavedPerExecution !== void 0;
517
+ });
518
+ const isActivationModalOpen = computed(() => {
519
+ return uiStore.isModalActiveById[WORKFLOW_ACTIVE_MODAL_KEY];
520
+ });
521
+ const isProtectedEnvironment = computed(() => {
522
+ return sourceControlStore.preferences.branchReadOnly;
523
+ });
524
+ const isMcpAvailable = computed(() => {
525
+ return settingsStore.isModuleActive("mcp") && settingsStore.moduleSettings.mcp?.mcpAccessEnabled && isEligibleForMcpAccess(props.workflow);
526
+ });
527
+ const availableActions = computed(() => {
528
+ if (!props.workflow.active || workflowsCache.isCacheLoading.value) return [];
529
+ const actions = [];
530
+ const suggestedActionSettings = cachedSettings.value?.suggestedActions ?? {};
531
+ if (!suggestedActionSettings.errorWorkflow?.ignored) actions.push({
532
+ id: "errorWorkflow",
533
+ title: i18n.baseText("workflowProductionChecklist.errorWorkflow.title"),
534
+ description: i18n.baseText("workflowProductionChecklist.errorWorkflow.description"),
535
+ moreInfoLink: ERROR_WORKFLOW_DOCS_URL,
536
+ completed: hasErrorWorkflow.value
537
+ });
538
+ if (hasAINode.value && evaluationStore.isEvaluationEnabled && !suggestedActionSettings.evaluations?.ignored) actions.push({
539
+ id: "evaluations",
540
+ title: i18n.baseText("workflowProductionChecklist.evaluations.title"),
541
+ description: i18n.baseText("workflowProductionChecklist.evaluations.description"),
542
+ moreInfoLink: EVALUATIONS_DOCS_URL,
543
+ completed: hasEvaluationSetOutputsNode.value
544
+ });
545
+ if (!suggestedActionSettings.timeSaved?.ignored) actions.push({
546
+ id: "timeSaved",
547
+ title: i18n.baseText("workflowProductionChecklist.timeSaved.title"),
548
+ description: i18n.baseText("workflowProductionChecklist.timeSaved.description"),
549
+ moreInfoLink: TIME_SAVED_DOCS_URL,
550
+ completed: hasTimeSaved.value
551
+ });
552
+ if (isMcpAvailable.value && !suggestedActionSettings["mcp-access"]?.ignored) actions.push({
553
+ id: "mcp-access",
554
+ title: i18n.baseText("mcp.productionCheklist.title"),
555
+ description: i18n.baseText("mcp.productionCheklist.description"),
556
+ moreInfoLink: MCP_DOCS_PAGE_URL,
557
+ completed: props.workflow.settings?.availableInMCP ?? false
558
+ });
559
+ return actions;
560
+ });
561
+ async function loadWorkflowSettings() {
562
+ if (props.workflow.id) cachedSettings.value = await workflowsCache.getMergedWorkflowSettings(props.workflow.id);
563
+ }
564
+ async function handleActionClick(actionId) {
565
+ if (actionId === "evaluations") await router.push({
566
+ name: VIEWS.EVALUATION_EDIT,
567
+ params: {
568
+ name: props.workflow.id
569
+ }
570
+ });else if (actionId === "errorWorkflow" || actionId === "timeSaved" || actionId === "mcp-access") uiStore.openModal(WORKFLOW_SETTINGS_MODAL_KEY);
571
+ isPopoverOpen.value = false;
572
+ }
573
+ function isValidAction(action) {
574
+ return ["evaluations", "errorWorkflow", "timeSaved", "mcp-access"].includes(action);
575
+ }
576
+ async function handleIgnoreClick(actionId) {
577
+ if (!isValidAction(actionId)) return;
578
+ await workflowsCache.ignoreSuggestedAction(props.workflow.id, actionId);
579
+ await loadWorkflowSettings();
580
+ telemetry.track("user clicked ignore suggested action", {
581
+ actionId
582
+ });
583
+ }
584
+ async function handleIgnoreAll() {
585
+ if ((await message.confirm(i18n.baseText("workflowProductionChecklist.ignoreAllConfirmation.description"), i18n.baseText("workflowProductionChecklist.ignoreAllConfirmation.title"), {
586
+ confirmButtonText: i18n.baseText("workflowProductionChecklist.ignoreAllConfirmation.confirm")
587
+ })) === "confirm") {
588
+ await workflowsCache.ignoreAllSuggestedActionsForAllWorkflows(availableActions.value.map(action => action.id));
589
+ await loadWorkflowSettings();
590
+ telemetry.track("user clicked ignore suggested actions for all workflows");
591
+ }
592
+ }
593
+ function openSuggestedActions() {
594
+ isPopoverOpen.value = true;
595
+ }
596
+ function onPopoverOpened() {
597
+ telemetry.track("user opened suggested actions checklist");
598
+ }
599
+ function handlePopoverOpenChange(open) {
600
+ if (open) {
601
+ isPopoverOpen.value = true;
602
+ onPopoverOpened();
603
+ } else if (!isActivationModalOpen.value) isPopoverOpen.value = false;
604
+ }
605
+ watch(() => props.workflow.active, async (isActive, wasActive) => {
606
+ if (isActive && !wasActive) {
607
+ if (!cachedSettings.value?.firstActivatedAt) setTimeout(() => {
608
+ openSuggestedActions();
609
+ }, 0);
610
+ await workflowsCache.updateFirstActivatedAt(props.workflow.id);
611
+ }
612
+ });
613
+ onMounted(async () => {
614
+ await loadWorkflowSettings();
615
+ });
616
+ return (_ctx, _cache) => {
617
+ return availableActions.value.length > 0 ? (openBlock(), createBlock(unref(SuggestedActions_default), {
618
+ key: 0,
619
+ open: isPopoverOpen.value,
620
+ title: unref(i18n).baseText("workflowProductionChecklist.title"),
621
+ actions: availableActions.value,
622
+ "ignore-all-label": unref(i18n).baseText("workflowProductionChecklist.turnOffWorkflowSuggestions"),
623
+ notice: isProtectedEnvironment.value ? unref(i18n).baseText("workflowProductionChecklist.readOnlyNotice") : "",
624
+ "popover-alignment": "end",
625
+ onActionClick: handleActionClick,
626
+ onIgnoreClick: handleIgnoreClick,
627
+ onIgnoreAll: handleIgnoreAll,
628
+ "onUpdate:open": handlePopoverOpenChange
629
+ }, null, 8, ["open", "title", "actions", "ignore-all-label", "notice"])) : createCommentVNode("", true);
630
+ };
631
+ }
632
+ }); //#endregion
633
+ //#region src/app/components/WorkflowProductionChecklist.vue
634
+ WorkflowProductionChecklist_default = WorkflowProductionChecklist_vue_vue_type_script_setup_true_lang_default; //#endregion
635
+ //#region src/app/components/IntersectionObserver.vue?vue&type=script&setup=true&lang.ts
636
+ IntersectionObserver_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
637
+ __name: "IntersectionObserver",
638
+ props: {
639
+ threshold: {
640
+ default: 0
641
+ },
642
+ enabled: {
643
+ type: Boolean,
644
+ default: false
645
+ },
646
+ eventBus: {}
647
+ },
648
+ emits: ["observed"],
649
+ setup(__props, {
650
+ emit: __emit
651
+ }) {
652
+ const props = __props;
653
+ const emit = __emit;
654
+ const observer = ref(null);
655
+ const root = ref(null);
656
+ onBeforeUnmount(() => {
657
+ if (props.enabled && observer.value) observer.value.disconnect();
658
+ });
659
+ onMounted(() => {
660
+ if (!props.enabled) return;
661
+ const options = {
662
+ root: root.value,
663
+ rootMargin: "0px",
664
+ threshold: props.threshold
665
+ };
666
+ const intersectionObserver = new IntersectionObserver(entries => {
667
+ entries.forEach(({
668
+ target,
669
+ isIntersecting
670
+ }) => {
671
+ emit("observed", {
672
+ el: target,
673
+ isIntersecting
674
+ });
675
+ });
676
+ }, options);
677
+ observer.value = intersectionObserver;
678
+ props.eventBus.on("observe", observed => {
679
+ if (observed) intersectionObserver.observe(observed);
680
+ });
681
+ props.eventBus.on("unobserve", observed => {
682
+ intersectionObserver.unobserve(observed);
683
+ });
684
+ });
685
+ return (_ctx, _cache) => {
686
+ return openBlock(), createElementBlock("div", {
687
+ ref_key: "root",
688
+ ref: root
689
+ }, [renderSlot(_ctx.$slots, "default")], 512);
690
+ };
691
+ }
692
+ }); //#endregion
693
+ //#region src/app/components/IntersectionObserver.vue
694
+ IntersectionObserver_default = IntersectionObserver_vue_vue_type_script_setup_true_lang_default; //#endregion
695
+ //#region src/app/components/IntersectionObserved.vue?vue&type=script&setup=true&lang.ts
696
+ IntersectionObserved_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
697
+ __name: "IntersectionObserved",
698
+ props: {
699
+ enabled: {
700
+ type: Boolean,
701
+ default: false
702
+ },
703
+ eventBus: {}
704
+ },
705
+ setup(__props) {
706
+ const props = __props;
707
+ const observed = ref(null);
708
+ onMounted(async () => {
709
+ if (!props.enabled) return;
710
+ await nextTick();
711
+ props.eventBus.emit("observe", observed.value);
712
+ });
713
+ onBeforeUnmount(() => {
714
+ if (props.enabled) props.eventBus.emit("unobserve", observed.value);
715
+ });
716
+ return (_ctx, _cache) => {
717
+ return openBlock(), createElementBlock("span", {
718
+ ref_key: "observed",
719
+ ref: observed
720
+ }, [renderSlot(_ctx.$slots, "default")], 512);
721
+ };
722
+ }
723
+ }); //#endregion
724
+ //#region src/app/components/IntersectionObserved.vue
725
+ IntersectionObserved_default = IntersectionObserved_vue_vue_type_script_setup_true_lang_default; //#endregion
726
+ //#region src/features/shared/tags/components/TagsContainer.vue?vue&type=script&setup=true&lang.ts
727
+ import_debounce = /* @__PURE__ */__toESM(require_debounce());
728
+ _hoisted_1$1 = {
729
+ class: "tags"
730
+ };
731
+ _hoisted_2$1 = ["onClick"];
732
+ TagsContainer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
733
+ __name: "TagsContainer",
734
+ props: {
735
+ tagIds: {},
736
+ tagsById: {},
737
+ limit: {
738
+ default: 20
739
+ },
740
+ clickable: {
741
+ type: Boolean,
742
+ default: false
743
+ },
744
+ responsive: {
745
+ type: Boolean,
746
+ default: false
747
+ },
748
+ hoverable: {
749
+ type: Boolean,
750
+ default: false
751
+ }
752
+ },
753
+ emits: ["click"],
754
+ setup(__props, {
755
+ emit: __emit
756
+ }) {
757
+ const props = __props;
758
+ const emit = __emit;
759
+ const maxWidth = ref(320);
760
+ const intersectionEventBus = createEventBus();
761
+ const visibility = ref({});
762
+ const tagsContainer = ref();
763
+ const style = computed(() => ({
764
+ "max-width": `${maxWidth.value}px`
765
+ }));
766
+ const tags = computed(() => {
767
+ const allTags = props.tagIds.map(tagId => props.tagsById[tagId]).filter(Boolean);
768
+ let toDisplay = props.limit ? allTags.slice(0, props.limit) : allTags;
769
+ toDisplay = toDisplay.map(tag => ({
770
+ ...tag,
771
+ hidden: props.responsive && !visibility.value[tag.id]
772
+ }));
773
+ let visibleCount = toDisplay.length;
774
+ if (props.responsive) visibleCount = Object.values(visibility.value).reduce((accu, val) => val ? accu + 1 : accu, 0);
775
+ if (visibleCount < allTags.length) {
776
+ const hidden = allTags.slice(visibleCount);
777
+ const hiddenTitle = hidden.reduce((accu, tag) => accu ? `${accu}, ${tag.name}` : tag.name, "");
778
+ const countTag = {
779
+ id: "count",
780
+ name: `+${hidden.length}`,
781
+ title: hiddenTitle,
782
+ isCount: true
783
+ };
784
+ toDisplay.splice(visibleCount, 0, countTag);
785
+ }
786
+ return toDisplay;
787
+ });
788
+ const setMaxWidth = () => {
789
+ const parent = tagsContainer.value?.$el?.parentNode;
790
+ if (parent) {
791
+ maxWidth.value = 0;
792
+ nextTick(() => {
793
+ maxWidth.value = parent.clientWidth;
794
+ });
795
+ }
796
+ };
797
+ const debouncedSetMaxWidth = (0, import_debounce.default)(setMaxWidth, 100);
798
+ const onObserved = ({
799
+ el,
800
+ isIntersecting
801
+ }) => {
802
+ if (el.dataset.id) visibility.value = {
803
+ ...visibility.value,
804
+ [el.dataset.id]: isIntersecting
805
+ };
806
+ };
807
+ const onClick = (e, tag) => {
808
+ if (props.clickable) e.stopPropagation();
809
+ if (!tag.hidden) emit("click", tag.id);
810
+ };
811
+ onMounted(() => {
812
+ setMaxWidth();
813
+ window.addEventListener("resize", debouncedSetMaxWidth);
814
+ });
815
+ onBeforeUnmount(() => {
816
+ window.removeEventListener("resize", debouncedSetMaxWidth);
817
+ });
818
+ return (_ctx, _cache) => {
819
+ return openBlock(), createBlock(IntersectionObserver_default, {
820
+ ref_key: "tagsContainer",
821
+ ref: tagsContainer,
822
+ threshold: 1,
823
+ class: "tags-container",
824
+ style: normalizeStyle(style.value),
825
+ enabled: _ctx.responsive,
826
+ "event-bus": unref(intersectionEventBus),
827
+ onObserved
828
+ }, {
829
+ default: withCtx(() => [createBaseVNode("span", _hoisted_1$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(tags.value, tag => {
830
+ return openBlock(), createElementBlock("span", {
831
+ key: tag.id,
832
+ class: normalizeClass({
833
+ clickable: !tag.hidden
834
+ }),
835
+ onClick: e => onClick(e, tag)
836
+ }, [tag.isCount ? (openBlock(), createBlock(unref(ElTag), {
837
+ key: 0,
838
+ title: tag.title,
839
+ type: "info",
840
+ size: "small",
841
+ class: "count-container",
842
+ "disable-transitions": true
843
+ }, {
844
+ default: withCtx(() => [createTextVNode(toDisplayString(tag.name), 1)]),
845
+ _: 2
846
+ }, 1032, ["title"])) : (openBlock(), createBlock(IntersectionObserved_default, {
847
+ key: 1,
848
+ class: normalizeClass({
849
+ hideTag: tag.hidden
850
+ }),
851
+ "data-id": tag.id,
852
+ enabled: _ctx.responsive,
853
+ "event-bus": unref(intersectionEventBus)
854
+ }, {
855
+ default: withCtx(() => [createVNode(unref(ElTag), {
856
+ title: tag.name,
857
+ type: "info",
858
+ size: "small",
859
+ class: normalizeClass({
860
+ hoverable: _ctx.hoverable
861
+ }),
862
+ "disable-transitions": true
863
+ }, {
864
+ default: withCtx(() => [createTextVNode(toDisplayString(tag.name), 1)]),
865
+ _: 2
866
+ }, 1032, ["title", "class"])]),
867
+ _: 2
868
+ }, 1032, ["class", "data-id", "enabled", "event-bus"]))], 10, _hoisted_2$1);
869
+ }), 128))])]),
870
+ _: 1
871
+ }, 8, ["style", "enabled", "event-bus"]);
872
+ };
873
+ }
874
+ }); //#endregion
875
+ //#region src/features/shared/tags/components/TagsContainer.vue
876
+ TagsContainer_default = /* @__PURE__ */__plugin_vue_export_helper_default(TagsContainer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-27a13ab2"]]); //#endregion
877
+ //#region src/features/shared/tags/components/WorkflowTagsContainer.vue?vue&type=script&setup=true&lang.ts
878
+ WorkflowTagsContainer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
879
+ __name: "WorkflowTagsContainer",
880
+ props: {
881
+ tagIds: {},
882
+ limit: {},
883
+ clickable: {
884
+ type: Boolean
885
+ },
886
+ responsive: {
887
+ type: Boolean
888
+ },
889
+ hoverable: {
890
+ type: Boolean
891
+ }
892
+ },
893
+ emits: ["click"],
894
+ setup(__props, {
895
+ emit: __emit
896
+ }) {
897
+ const emit = __emit;
898
+ const annotationTagsStore = useTagsStore();
899
+ const tagsById = computed(() => annotationTagsStore.tagsById);
900
+ function onClick(tagId) {
901
+ emit("click", tagId);
902
+ }
903
+ return (_ctx, _cache) => {
904
+ return openBlock(), createBlock(TagsContainer_default, {
905
+ "tag-ids": _ctx.tagIds,
906
+ "tags-by-id": tagsById.value,
907
+ limit: _ctx.limit,
908
+ clickable: _ctx.clickable,
909
+ responsive: _ctx.responsive,
910
+ hoverable: _ctx.hoverable,
911
+ onClick
912
+ }, null, 8, ["tag-ids", "tags-by-id", "limit", "clickable", "responsive", "hoverable"]);
913
+ };
914
+ }
915
+ }); //#endregion
916
+ //#region src/features/shared/tags/components/WorkflowTagsContainer.vue
917
+ WorkflowTagsContainer_default = WorkflowTagsContainer_vue_vue_type_script_setup_true_lang_default; //#endregion
918
+ //#region src/app/utils/fileUtils.ts
919
+ /**
920
+ * Filename sanitization utilities
921
+ * For handling cross-platform filename compatibility issues
922
+ */
923
+ INVALID_CHARS_REGEX = /[<>:"/\\|?*\u0000-\u001F\u007F-\u009F]/g;
924
+ ZERO_WIDTH_CHARS_REGEX = /[\u200B-\u200D\u2060\uFEFF]/g;
925
+ UNICODE_SPACES_REGEX = /[\u00A0\u2000-\u200A]/g;
926
+ LEADING_TRAILING_DOTS_SPACES_REGEX = /^[\s.]+|[\s.]+$/g;
927
+ WINDOWS_RESERVED_NAMES = new Set(["CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"]);
928
+ DEFAULT_FALLBACK_NAME = "untitled";
929
+ MAX_FILENAME_LENGTH = 200;
930
+ /**
931
+ * Sanitizes a filename to be compatible with Mac, Linux, and Windows file systems
932
+ *
933
+ * Main features:
934
+ * - Replace invalid characters (e.g. ":" in hello:world)
935
+ * - Handle Windows reserved names
936
+ * - Limit filename length
937
+ * - Normalize Unicode characters
938
+ *
939
+ * @param filename - The filename to sanitize (without extension)
940
+ * @param maxLength - Maximum filename length (default: 200)
941
+ * @returns A sanitized filename (without extension)
942
+ *
943
+ * @example
944
+ * sanitizeFilename('hello:world') // returns 'hello_world'
945
+ * sanitizeFilename('CON') // returns '_CON'
946
+ * sanitizeFilename('') // returns 'untitled'
947
+ */
948
+ sanitizeFilename = (filename, maxLength = MAX_FILENAME_LENGTH) => {
949
+ if (!filename) return DEFAULT_FALLBACK_NAME;
950
+ let baseName = filename.trim().replace(INVALID_CHARS_REGEX, "_").replace(ZERO_WIDTH_CHARS_REGEX, "").replace(UNICODE_SPACES_REGEX, " ").replace(LEADING_TRAILING_DOTS_SPACES_REGEX, "");
951
+ if (!baseName) baseName = DEFAULT_FALLBACK_NAME;
952
+ if (WINDOWS_RESERVED_NAMES.has(baseName.toUpperCase())) baseName = `_${baseName}`;
953
+ if (baseName.length > maxLength) baseName = baseName.slice(0, maxLength);
954
+ return baseName;
955
+ }; //#endregion
956
+ //#region src/app/components/MainHeader/WorkflowDescriptionPopover.vue?vue&type=script&setup=true&lang.ts
957
+ import_FileSaver_min = /* @__PURE__ */__toESM(require_FileSaver_min());
958
+ WorkflowDescriptionPopover_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
959
+ __name: "WorkflowDescriptionPopover",
960
+ props: {
961
+ workflowId: {},
962
+ workflowDescription: {
963
+ default: ""
964
+ }
965
+ },
966
+ setup(__props) {
967
+ const props = __props;
968
+ const i18n = useI18n();
969
+ const toast = useToast();
970
+ const telemetry = useTelemetry();
971
+ const settingsStore = useSettingsStore();
972
+ const workflowStore = useWorkflowsStore();
973
+ const uiStore = useUIStore();
974
+ const descriptionValue = ref(props.workflowDescription);
975
+ const popoverOpen = ref(false);
976
+ const descriptionInput = useTemplateRef("descriptionInput");
977
+ const isSaving = ref(false);
978
+ const lastSavedDescription = ref(props.workflowDescription);
979
+ const normalizedCurrentValue = computed(() => (descriptionValue.value ?? "").trim());
980
+ const normalizedLastSaved = computed(() => (lastSavedDescription.value ?? "").trim());
981
+ const canSave = computed(() => normalizedCurrentValue.value !== normalizedLastSaved.value);
982
+ const isMcpEnabled = computed(() => settingsStore.isModuleActive("mcp") && settingsStore.moduleSettings.mcp?.mcpAccessEnabled);
983
+ const hasWebhooks = computed(() => {
984
+ const workflow = workflowStore.workflow;
985
+ if (!workflow) return false;
986
+ return workflow.nodes.some(node => !node.disabled && node.type === "n8n-nodes-base.webhook");
987
+ });
988
+ const textareaTip = computed(() => {
989
+ const baseTooltip = i18n.baseText("workflow.description.tooltip");
990
+ if (!isMcpEnabled.value) return i18n.baseText("workflow.description.tooltip");
991
+ return `${baseTooltip}. ${i18n.baseText("workflow.description.placeholder.mcp")}.\n${hasWebhooks.value ? i18n.baseText("workflow.description.placeholder.mcp.webhook") : ""}`;
992
+ });
993
+ const saveDescription = async () => {
994
+ isSaving.value = true;
995
+ uiStore.addActiveAction("workflowSaving");
996
+ try {
997
+ await workflowStore.saveWorkflowDescription(props.workflowId, normalizedCurrentValue.value ?? null);
998
+ lastSavedDescription.value = descriptionValue.value;
999
+ uiStore.stateIsDirty = false;
1000
+ telemetry.track("User set workflow description", {
1001
+ workflow_id: props.workflowId,
1002
+ description: normalizedCurrentValue.value ?? null
1003
+ });
1004
+ } catch (error) {
1005
+ toast.showError(error, i18n.baseText("workflow.description.error.title"));
1006
+ descriptionValue.value = lastSavedDescription.value;
1007
+ } finally {
1008
+ isSaving.value = false;
1009
+ uiStore.removeActiveAction("workflowSaving");
1010
+ }
1011
+ };
1012
+ const handlePopoverOpenChange = async open => {
1013
+ popoverOpen.value = open;
1014
+ if (open) {
1015
+ await nextTick();
1016
+ descriptionInput.value?.focus();
1017
+ } else await saveDescription();
1018
+ };
1019
+ const handleKeyDown = async event => {
1020
+ if (event.key === "Escape") {
1021
+ event.preventDefault();
1022
+ event.stopPropagation();
1023
+ await cancel();
1024
+ }
1025
+ if (event.key === "Enter" && !event.shiftKey) {
1026
+ if (!canSave.value) return;
1027
+ event.preventDefault();
1028
+ event.stopPropagation();
1029
+ await save();
1030
+ }
1031
+ };
1032
+ const cancel = async () => {
1033
+ descriptionValue.value = lastSavedDescription.value;
1034
+ uiStore.stateIsDirty = false;
1035
+ popoverOpen.value = false;
1036
+ };
1037
+ const save = async () => {
1038
+ await saveDescription();
1039
+ popoverOpen.value = false;
1040
+ };
1041
+ watch(() => props.workflowDescription, newValue => {
1042
+ descriptionValue.value = newValue;
1043
+ lastSavedDescription.value = newValue;
1044
+ });
1045
+ watch(descriptionValue, newValue => {
1046
+ if ((newValue ?? "").trim() !== normalizedLastSaved.value) uiStore.stateIsDirty = true;else uiStore.stateIsDirty = false;
1047
+ });
1048
+ return (_ctx, _cache) => {
1049
+ return openBlock(), createBlock(unref(N8nTooltip_default), {
1050
+ disabled: popoverOpen.value,
1051
+ content: unref(i18n).baseText("workflow.description.tooltip")
1052
+ }, {
1053
+ default: withCtx(() => [createBaseVNode("div", {
1054
+ class: normalizeClass(_ctx.$style["description-popover-wrapper"]),
1055
+ "data-test-id": "workflow-description-popover"
1056
+ }, [createVNode(unref(N8nPopoverReka_default), {
1057
+ id: "workflow-description-popover",
1058
+ open: popoverOpen.value,
1059
+ "onUpdate:open": handlePopoverOpenChange
1060
+ }, {
1061
+ trigger: withCtx(() => [createVNode(unref(N8nIconButton_default), {
1062
+ class: normalizeClass({
1063
+ [_ctx.$style["description-button"]]: true,
1064
+ [_ctx.$style.active]: popoverOpen.value
1065
+ }),
1066
+ square: true,
1067
+ "data-test-id": "workflow-description-button",
1068
+ icon: "notebook-pen",
1069
+ type: "tertiary",
1070
+ size: "small",
1071
+ "aria-label": unref(i18n).baseText("workflow.description.tooltip")
1072
+ }, null, 8, ["class", "aria-label"])]),
1073
+ content: withCtx(() => [createBaseVNode("div", {
1074
+ class: normalizeClass(_ctx.$style["description-edit-content"]),
1075
+ "data-test-id": "workflow-description-edit-content"
1076
+ }, [createVNode(unref(N8nInputLabel_default), {
1077
+ label: unref(i18n).baseText("generic.description"),
1078
+ "tooltip-text": textareaTip.value
1079
+ }, {
1080
+ default: withCtx(() => [createVNode(unref(N8nInput_default), {
1081
+ ref_key: "descriptionInput",
1082
+ ref: descriptionInput,
1083
+ modelValue: descriptionValue.value,
1084
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => descriptionValue.value = $event),
1085
+ placeholder: textareaTip.value,
1086
+ rows: 6,
1087
+ "data-test-id": "workflow-description-input",
1088
+ type: "textarea",
1089
+ onKeydown: handleKeyDown
1090
+ }, null, 8, ["modelValue", "placeholder"])]),
1091
+ _: 1
1092
+ }, 8, ["label", "tooltip-text"])], 2), createBaseVNode("footer", {
1093
+ class: normalizeClass(_ctx.$style["popover-footer"])
1094
+ }, [createVNode(unref(N8nButton_default), {
1095
+ label: unref(i18n).baseText("generic.cancel"),
1096
+ size: "small",
1097
+ disabled: isSaving.value,
1098
+ type: "tertiary",
1099
+ "data-test-id": "workflow-description-cancel-button",
1100
+ onClick: cancel
1101
+ }, null, 8, ["label", "disabled"]), createVNode(unref(N8nButton_default), {
1102
+ label: unref(i18n).baseText("generic.unsavedWork.confirmMessage.confirmButtonText"),
1103
+ size: "small",
1104
+ loading: isSaving.value,
1105
+ disabled: !canSave.value || isSaving.value,
1106
+ type: "primary",
1107
+ "data-test-id": "workflow-description-save-button",
1108
+ onClick: save
1109
+ }, null, 8, ["label", "loading", "disabled"])], 2)]),
1110
+ _: 1
1111
+ }, 8, ["open"])], 2)]),
1112
+ _: 1
1113
+ }, 8, ["disabled", "content"]);
1114
+ };
1115
+ }
1116
+ }); //#endregion
1117
+ //#region src/app/components/MainHeader/WorkflowDescriptionPopover.vue?vue&type=style&index=0&lang.module.scss
1118
+ active = "_active_wp41v_128";
1119
+ WorkflowDescriptionPopover_vue_vue_type_style_index_0_lang_module_default = {
1120
+ "description-button": "_description-button_wp41v_123",
1121
+ active,
1122
+ "description-edit-content": "_description-edit-content_wp41v_138",
1123
+ "popover-footer": "_popover-footer_wp41v_145"
1124
+ }; //#endregion
1125
+ //#region src/app/components/MainHeader/WorkflowDescriptionPopover.vue
1126
+ cssModules$2 = {
1127
+ "$style": WorkflowDescriptionPopover_vue_vue_type_style_index_0_lang_module_default
1128
+ };
1129
+ WorkflowDescriptionPopover_default = /* @__PURE__ */__plugin_vue_export_helper_default(WorkflowDescriptionPopover_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$2]]); //#endregion
1130
+ //#region src/app/components/MainHeader/WorkflowDetails.vue?vue&type=script&setup=true&lang.ts
1131
+ _hoisted_1 = {
1132
+ class: "tags",
1133
+ "data-test-id": "workflow-tags-container"
1134
+ };
1135
+ _hoisted_2 = {
1136
+ key: 1
1137
+ };
1138
+ WorkflowDetails_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1139
+ __name: "WorkflowDetails",
1140
+ props: {
1141
+ readOnly: {
1142
+ type: Boolean
1143
+ },
1144
+ id: {},
1145
+ tags: {},
1146
+ name: {},
1147
+ meta: {},
1148
+ scopes: {},
1149
+ active: {
1150
+ type: Boolean
1151
+ },
1152
+ currentFolder: {},
1153
+ isArchived: {
1154
+ type: Boolean
1155
+ },
1156
+ description: {}
1157
+ },
1158
+ emits: ["workflow:deactivated"],
1159
+ setup(__props, {
1160
+ emit: __emit
1161
+ }) {
1162
+ const WORKFLOW_NAME_BP_TO_WIDTH = {
1163
+ XS: 150,
1164
+ SM: 200,
1165
+ MD: 250,
1166
+ LG: 500,
1167
+ XL: 1e3
1168
+ };
1169
+ const props = __props;
1170
+ const emit = __emit;
1171
+ const $style = useCssModule();
1172
+ const rootStore = useRootStore();
1173
+ const settingsStore = useSettingsStore();
1174
+ const sourceControlStore = useSourceControlStore();
1175
+ const tagsStore = useTagsStore();
1176
+ const uiStore = useUIStore();
1177
+ const usersStore = useUsersStore();
1178
+ const workflowsStore = useWorkflowsStore();
1179
+ const projectsStore = useProjectsStore();
1180
+ const foldersStore = useFoldersStore();
1181
+ const npsSurveyStore = useNpsSurveyStore();
1182
+ const i18n = useI18n();
1183
+ const router = useRouter();
1184
+ const route = useRoute();
1185
+ const locale = useI18n();
1186
+ const telemetry = useTelemetry();
1187
+ const message = useMessage();
1188
+ const toast = useToast();
1189
+ const documentTitle = useDocumentTitle();
1190
+ const workflowSaving = useWorkflowSaving({
1191
+ router
1192
+ });
1193
+ const workflowHelpers = useWorkflowHelpers();
1194
+ const pageRedirectionHelper = usePageRedirectionHelper();
1195
+ const isTagsEditEnabled = ref(false);
1196
+ const appliedTagIds = ref([]);
1197
+ const tagsSaving = ref(false);
1198
+ const importFileRef = ref();
1199
+ const tagsEventBus = createEventBus();
1200
+ const changeOwnerEventBus = createEventBus();
1201
+ const hasChanged = (prev, curr) => {
1202
+ if (prev.length !== curr.length) return true;
1203
+ const set = new Set(prev);
1204
+ return curr.reduce((acc, val) => acc || !set.has(val), false);
1205
+ };
1206
+ const isNewWorkflow = computed(() => {
1207
+ return !props.id || props.id === "__EMPTY__" || props.id === "new";
1208
+ });
1209
+ const isWorkflowSaving = computed(() => {
1210
+ return uiStore.isActionActive.workflowSaving;
1211
+ });
1212
+ const onWorkflowPage = computed(() => {
1213
+ return route.meta && (route.meta.nodeView || route.meta.keepWorkflowAlive === true);
1214
+ });
1215
+ const onExecutionsTab = computed(() => {
1216
+ return [VIEWS.EXECUTION_HOME.toString(), VIEWS.WORKFLOW_EXECUTIONS.toString(), VIEWS.EXECUTION_PREVIEW].includes(route.name || "");
1217
+ });
1218
+ const workflowPermissions = computed(() => getResourcePermissions(props.scopes).workflow);
1219
+ const workflowMenuItems = computed(() => {
1220
+ const actions = [{
1221
+ id: WORKFLOW_MENU_ACTIONS.DOWNLOAD,
1222
+ label: locale.baseText("menuActions.download"),
1223
+ disabled: !onWorkflowPage.value
1224
+ }];
1225
+ if (workflowPermissions.value.move && projectsStore.isTeamProjectFeatureEnabled) actions.push({
1226
+ id: WORKFLOW_MENU_ACTIONS.CHANGE_OWNER,
1227
+ label: locale.baseText("workflows.item.changeOwner"),
1228
+ disabled: isNewWorkflow.value
1229
+ });
1230
+ if (!props.readOnly && !props.isArchived) actions.push({
1231
+ id: WORKFLOW_MENU_ACTIONS.RENAME,
1232
+ label: locale.baseText("generic.rename"),
1233
+ disabled: !onWorkflowPage.value || workflowPermissions.value.update !== true
1234
+ });
1235
+ if (workflowPermissions.value.update === true && !props.readOnly && !props.isArchived || isNewWorkflow.value) {
1236
+ actions.unshift({
1237
+ id: WORKFLOW_MENU_ACTIONS.DUPLICATE,
1238
+ label: locale.baseText("menuActions.duplicate"),
1239
+ disabled: !onWorkflowPage.value || !props.id
1240
+ });
1241
+ actions.push({
1242
+ id: WORKFLOW_MENU_ACTIONS.IMPORT_FROM_URL,
1243
+ label: locale.baseText("menuActions.importFromUrl"),
1244
+ disabled: !onWorkflowPage.value || onExecutionsTab.value
1245
+ }, {
1246
+ id: WORKFLOW_MENU_ACTIONS.IMPORT_FROM_FILE,
1247
+ label: locale.baseText("menuActions.importFromFile"),
1248
+ disabled: !onWorkflowPage.value || onExecutionsTab.value
1249
+ });
1250
+ }
1251
+ if (hasPermission(["rbac"], {
1252
+ rbac: {
1253
+ scope: "sourceControl:push"
1254
+ }
1255
+ })) actions.push({
1256
+ id: WORKFLOW_MENU_ACTIONS.PUSH,
1257
+ label: locale.baseText("menuActions.push"),
1258
+ disabled: !sourceControlStore.isEnterpriseSourceControlEnabled || !onWorkflowPage.value || onExecutionsTab.value || sourceControlStore.preferences.branchReadOnly
1259
+ });
1260
+ actions.push({
1261
+ id: WORKFLOW_MENU_ACTIONS.SETTINGS,
1262
+ label: locale.baseText("generic.settings"),
1263
+ disabled: !onWorkflowPage.value || isNewWorkflow.value
1264
+ });
1265
+ if (workflowPermissions.value.delete === true && !props.readOnly || isNewWorkflow.value) if (props.isArchived) {
1266
+ actions.push({
1267
+ id: WORKFLOW_MENU_ACTIONS.UNARCHIVE,
1268
+ label: locale.baseText("menuActions.unarchive"),
1269
+ disabled: !onWorkflowPage.value || isNewWorkflow.value
1270
+ });
1271
+ actions.push({
1272
+ id: WORKFLOW_MENU_ACTIONS.DELETE,
1273
+ label: locale.baseText("menuActions.delete"),
1274
+ disabled: !onWorkflowPage.value || isNewWorkflow.value,
1275
+ customClass: $style.deleteItem,
1276
+ divided: true
1277
+ });
1278
+ } else actions.push({
1279
+ id: WORKFLOW_MENU_ACTIONS.ARCHIVE,
1280
+ label: locale.baseText("menuActions.archive"),
1281
+ disabled: !onWorkflowPage.value || isNewWorkflow.value,
1282
+ customClass: $style.deleteItem,
1283
+ divided: true
1284
+ });
1285
+ return actions;
1286
+ });
1287
+ const isWorkflowHistoryFeatureEnabled = computed(() => {
1288
+ return settingsStore.isEnterpriseFeatureEnabled[EnterpriseEditionFeature.WorkflowHistory];
1289
+ });
1290
+ const workflowTagIds = computed(() => {
1291
+ return (props.tags ?? []).map(tag => typeof tag === "string" ? tag : tag.id);
1292
+ });
1293
+ const currentProjectName = computed(() => {
1294
+ if (projectsStore.currentProject?.type === ProjectTypes.Personal) return locale.baseText("projects.menu.personal");
1295
+ return projectsStore.currentProject?.name;
1296
+ });
1297
+ const currentFolderForBreadcrumbs = computed(() => {
1298
+ if (!isNewWorkflow.value && props.currentFolder) return props.currentFolder;
1299
+ const folderId = route.query.parentFolderId;
1300
+ if (folderId) return foldersStore.getCachedFolder(folderId);
1301
+ return null;
1302
+ });
1303
+ watch(() => props.id, () => {
1304
+ isTagsEditEnabled.value = false;
1305
+ renameInput.value?.forceCancel();
1306
+ });
1307
+ function getWorkflowId() {
1308
+ let id = void 0;
1309
+ if (props.id !== "__EMPTY__") id = props.id;else if (route.params.name && route.params.name !== "new") id = route.params.name;
1310
+ return id;
1311
+ }
1312
+ async function onSaveButtonClick() {
1313
+ if (isWorkflowSaving.value) return;
1314
+ const id = getWorkflowId();
1315
+ const name = props.name;
1316
+ const tags = props.tags;
1317
+ if (await workflowSaving.saveCurrentWorkflow({
1318
+ id,
1319
+ name,
1320
+ tags
1321
+ })) {
1322
+ showCreateWorkflowSuccessToast(id);
1323
+ await npsSurveyStore.fetchPromptsData();
1324
+ if (route.name === VIEWS.EXECUTION_DEBUG) await router.replace({
1325
+ name: VIEWS.WORKFLOW,
1326
+ params: {
1327
+ name: props.id
1328
+ }
1329
+ });
1330
+ }
1331
+ }
1332
+ function onShareButtonClick() {
1333
+ uiStore.openModalWithData({
1334
+ name: WORKFLOW_SHARE_MODAL_KEY,
1335
+ data: {
1336
+ id: props.id
1337
+ }
1338
+ });
1339
+ telemetry.track("User opened sharing modal", {
1340
+ workflow_id: props.id,
1341
+ user_id_sharer: usersStore.currentUser?.id,
1342
+ sub_view: route.name === VIEWS.WORKFLOWS ? "Workflows listing" : "Workflow editor"
1343
+ });
1344
+ }
1345
+ function onTagsEditEnable() {
1346
+ appliedTagIds.value = props.tags ?? [];
1347
+ isTagsEditEnabled.value = true;
1348
+ setTimeout(() => {
1349
+ renameInput.value?.forceCancel();
1350
+ tagsEventBus.emit("focus");
1351
+ }, 0);
1352
+ }
1353
+ async function onTagsBlur() {
1354
+ const current = props.tags ?? [];
1355
+ const tags = appliedTagIds.value;
1356
+ if (!hasChanged(current, tags)) {
1357
+ isTagsEditEnabled.value = false;
1358
+ return;
1359
+ }
1360
+ if (tagsSaving.value) return;
1361
+ tagsSaving.value = true;
1362
+ const saved = await workflowSaving.saveCurrentWorkflow({
1363
+ tags
1364
+ });
1365
+ telemetry.track("User edited workflow tags", {
1366
+ workflow_id: props.id,
1367
+ new_tag_count: tags.length
1368
+ });
1369
+ tagsSaving.value = false;
1370
+ if (saved) isTagsEditEnabled.value = false;
1371
+ }
1372
+ function onTagsEditEsc() {
1373
+ isTagsEditEnabled.value = false;
1374
+ }
1375
+ const renameInput = useTemplateRef("renameInput");
1376
+ function onNameToggle() {
1377
+ if (renameInput.value?.forceFocus) renameInput.value.forceFocus();
1378
+ }
1379
+ async function onNameSubmit(name) {
1380
+ const newName = name.trim();
1381
+ if (!newName) {
1382
+ toast.showMessage({
1383
+ title: locale.baseText("renameAction.emptyName.title"),
1384
+ message: locale.baseText("renameAction.emptyName.message"),
1385
+ type: "error"
1386
+ });
1387
+ renameInput.value?.forceCancel();
1388
+ return;
1389
+ }
1390
+ if (newName === props.name) {
1391
+ renameInput.value?.forceCancel();
1392
+ return;
1393
+ }
1394
+ uiStore.addActiveAction("workflowSaving");
1395
+ const id = getWorkflowId();
1396
+ if (await workflowSaving.saveCurrentWorkflow({
1397
+ name
1398
+ })) {
1399
+ showCreateWorkflowSuccessToast(id);
1400
+ documentTitle.setDocumentTitle(newName, "IDLE");
1401
+ }
1402
+ uiStore.removeActiveAction("workflowSaving");
1403
+ renameInput.value?.forceCancel();
1404
+ }
1405
+ async function handleFileImport() {
1406
+ const inputRef = importFileRef.value;
1407
+ if (inputRef?.files && inputRef.files.length !== 0) {
1408
+ const reader = new FileReader();
1409
+ reader.onload = () => {
1410
+ let workflowData;
1411
+ try {
1412
+ workflowData = JSON.parse(reader.result);
1413
+ } catch (error) {
1414
+ toast.showMessage({
1415
+ title: locale.baseText("mainSidebar.showMessage.handleFileImport.title"),
1416
+ message: locale.baseText("mainSidebar.showMessage.handleFileImport.message"),
1417
+ type: "error"
1418
+ });
1419
+ return;
1420
+ } finally {
1421
+ reader.onload = null;
1422
+ inputRef.value = "";
1423
+ }
1424
+ nodeViewEventBus.emit("importWorkflowData", {
1425
+ data: workflowData
1426
+ });
1427
+ };
1428
+ reader.readAsText(inputRef.files[0]);
1429
+ }
1430
+ }
1431
+ async function handleArchiveWorkflow() {
1432
+ if (props.active) {
1433
+ if ((await message.confirm(locale.baseText("mainSidebar.confirmMessage.workflowArchive.message", {
1434
+ interpolate: {
1435
+ workflowName: props.name
1436
+ }
1437
+ }), locale.baseText("mainSidebar.confirmMessage.workflowArchive.headline"), {
1438
+ type: "warning",
1439
+ confirmButtonText: locale.baseText("mainSidebar.confirmMessage.workflowArchive.confirmButtonText"),
1440
+ cancelButtonText: locale.baseText("mainSidebar.confirmMessage.workflowArchive.cancelButtonText")
1441
+ })) !== "confirm") return;
1442
+ }
1443
+ try {
1444
+ await workflowsStore.archiveWorkflow(props.id);
1445
+ } catch (error) {
1446
+ toast.showError(error, locale.baseText("generic.archiveWorkflowError"));
1447
+ return;
1448
+ }
1449
+ uiStore.stateIsDirty = false;
1450
+ toast.showMessage({
1451
+ title: locale.baseText("mainSidebar.showMessage.handleArchive.title", {
1452
+ interpolate: {
1453
+ workflowName: props.name
1454
+ }
1455
+ }),
1456
+ type: "success"
1457
+ });
1458
+ await router.push({
1459
+ name: VIEWS.WORKFLOWS
1460
+ });
1461
+ }
1462
+ async function handleUnarchiveWorkflow() {
1463
+ await workflowsStore.unarchiveWorkflow(props.id);
1464
+ toast.showMessage({
1465
+ title: locale.baseText("mainSidebar.showMessage.handleUnarchive.title", {
1466
+ interpolate: {
1467
+ workflowName: props.name
1468
+ }
1469
+ }),
1470
+ type: "success"
1471
+ });
1472
+ }
1473
+ async function handleDeleteWorkflow() {
1474
+ if ((await message.confirm(locale.baseText("mainSidebar.confirmMessage.workflowDelete.message", {
1475
+ interpolate: {
1476
+ workflowName: props.name
1477
+ }
1478
+ }), locale.baseText("mainSidebar.confirmMessage.workflowDelete.headline"), {
1479
+ type: "warning",
1480
+ confirmButtonText: locale.baseText("mainSidebar.confirmMessage.workflowDelete.confirmButtonText"),
1481
+ cancelButtonText: locale.baseText("mainSidebar.confirmMessage.workflowDelete.cancelButtonText")
1482
+ })) !== "confirm") return;
1483
+ try {
1484
+ await workflowsStore.deleteWorkflow(props.id);
1485
+ } catch (error) {
1486
+ toast.showError(error, locale.baseText("generic.deleteWorkflowError"));
1487
+ return;
1488
+ }
1489
+ uiStore.stateIsDirty = false;
1490
+ documentTitle.reset();
1491
+ toast.showMessage({
1492
+ title: locale.baseText("mainSidebar.showMessage.handleSelect1.title", {
1493
+ interpolate: {
1494
+ workflowName: props.name
1495
+ }
1496
+ }),
1497
+ type: "success"
1498
+ });
1499
+ await router.push({
1500
+ name: VIEWS.WORKFLOWS
1501
+ });
1502
+ }
1503
+ async function onWorkflowMenuSelect(action) {
1504
+ switch (action) {
1505
+ case WORKFLOW_MENU_ACTIONS.DUPLICATE:
1506
+ uiStore.openModalWithData({
1507
+ name: DUPLICATE_MODAL_KEY,
1508
+ data: {
1509
+ id: props.id,
1510
+ name: props.name,
1511
+ tags: props.tags,
1512
+ parentFolderId: props.currentFolder?.id
1513
+ }
1514
+ });
1515
+ break;
1516
+ case WORKFLOW_MENU_ACTIONS.RENAME:
1517
+ onNameToggle();
1518
+ break;
1519
+ case WORKFLOW_MENU_ACTIONS.DOWNLOAD:
1520
+ {
1521
+ const workflowData = await workflowHelpers.getWorkflowDataToSave();
1522
+ const {
1523
+ tags,
1524
+ ...data
1525
+ } = workflowData;
1526
+ const exportData = {
1527
+ ...data,
1528
+ meta: {
1529
+ ...props.meta,
1530
+ instanceId: rootStore.instanceId
1531
+ },
1532
+ tags: (tags ?? []).map(tagId => {
1533
+ const {
1534
+ usageCount,
1535
+ ...tag
1536
+ } = tagsStore.tagsById[tagId];
1537
+ return tag;
1538
+ })
1539
+ };
1540
+ const blob = new Blob([JSON.stringify(exportData, null, 2)], {
1541
+ type: "application/json;charset=utf-8"
1542
+ });
1543
+ let name = props.name || "unsaved_workflow";
1544
+ name = sanitizeFilename(name);
1545
+ telemetry.track("User exported workflow", {
1546
+ workflow_id: workflowData.id
1547
+ });
1548
+ (0, import_FileSaver_min.saveAs)(blob, name + ".json");
1549
+ break;
1550
+ }
1551
+ case WORKFLOW_MENU_ACTIONS.IMPORT_FROM_URL:
1552
+ uiStore.openModal(IMPORT_WORKFLOW_URL_MODAL_KEY);
1553
+ break;
1554
+ case WORKFLOW_MENU_ACTIONS.IMPORT_FROM_FILE:
1555
+ handleImportWorkflowFromFile();
1556
+ break;
1557
+ case WORKFLOW_MENU_ACTIONS.PUSH:
1558
+ try {
1559
+ await onSaveButtonClick();
1560
+ router.push({
1561
+ query: {
1562
+ ...route.query,
1563
+ sourceControl: "push"
1564
+ }
1565
+ });
1566
+ } catch (error) {
1567
+ switch (error.message) {
1568
+ case "source_control_not_connected":
1569
+ toast.showError({
1570
+ ...error,
1571
+ message: ""
1572
+ }, locale.baseText("settings.sourceControl.error.not.connected.title"), locale.baseText("settings.sourceControl.error.not.connected.message"));
1573
+ break;
1574
+ default:
1575
+ toast.showError(error, locale.baseText("error"));
1576
+ }
1577
+ }
1578
+ break;
1579
+ case WORKFLOW_MENU_ACTIONS.SETTINGS:
1580
+ uiStore.openModal(WORKFLOW_SETTINGS_MODAL_KEY);
1581
+ break;
1582
+ case WORKFLOW_MENU_ACTIONS.ARCHIVE:
1583
+ await handleArchiveWorkflow();
1584
+ break;
1585
+ case WORKFLOW_MENU_ACTIONS.UNARCHIVE:
1586
+ await handleUnarchiveWorkflow();
1587
+ break;
1588
+ case WORKFLOW_MENU_ACTIONS.DELETE:
1589
+ await handleDeleteWorkflow();
1590
+ break;
1591
+ case WORKFLOW_MENU_ACTIONS.CHANGE_OWNER:
1592
+ {
1593
+ const workflowId = getWorkflowId();
1594
+ if (!workflowId) return;
1595
+ changeOwnerEventBus.once("resource-moved", async () => await router.push({
1596
+ name: VIEWS.WORKFLOWS
1597
+ }));
1598
+ uiStore.openModalWithData({
1599
+ name: PROJECT_MOVE_RESOURCE_MODAL,
1600
+ data: {
1601
+ resource: workflowsStore.workflowsById[workflowId],
1602
+ resourceType: ResourceType.Workflow,
1603
+ resourceTypeLabel: locale.baseText("generic.workflow").toLowerCase(),
1604
+ eventBus: changeOwnerEventBus
1605
+ }
1606
+ });
1607
+ break;
1608
+ }
1609
+ default:
1610
+ break;
1611
+ }
1612
+ }
1613
+ function goToUpgrade() {
1614
+ pageRedirectionHelper.goToUpgrade("workflow_sharing", "upgrade-workflow-sharing");
1615
+ }
1616
+ function goToWorkflowHistoryUpgrade() {
1617
+ pageRedirectionHelper.goToUpgrade("workflow-history", "upgrade-workflow-history");
1618
+ }
1619
+ function getPersonalProjectToastContent() {
1620
+ const title = locale.baseText("workflows.create.personal.toast.title");
1621
+ if (!props.currentFolder) return {
1622
+ title
1623
+ };
1624
+ return {
1625
+ title,
1626
+ toastMessage: locale.baseText("workflows.create.folder.toast.title", {
1627
+ interpolate: {
1628
+ projectName: "Personal",
1629
+ folderName: props.currentFolder.name
1630
+ }
1631
+ })
1632
+ };
1633
+ }
1634
+ function getToastContent() {
1635
+ const currentProject = projectsStore.currentProject;
1636
+ const isPersonalProject = !projectsStore.currentProject || currentProject?.id === projectsStore.personalProject?.id;
1637
+ const projectName = currentProjectName.value ?? "";
1638
+ if (isPersonalProject) return getPersonalProjectToastContent();
1639
+ const titleKey = props.currentFolder ? "workflows.create.folder.toast.title" : "workflows.create.project.toast.title";
1640
+ const interpolateData = props.currentFolder ? {
1641
+ projectName,
1642
+ folderName: props.currentFolder.name ?? ""
1643
+ } : {
1644
+ projectName
1645
+ };
1646
+ return {
1647
+ title: locale.baseText(titleKey, {
1648
+ interpolate: interpolateData
1649
+ }),
1650
+ toastMessage: locale.baseText("workflows.create.project.toast.text", {
1651
+ interpolate: {
1652
+ projectName
1653
+ }
1654
+ })
1655
+ };
1656
+ }
1657
+ function showCreateWorkflowSuccessToast(id) {
1658
+ if (!(!id || ["new", "__EMPTY__"].includes(id))) return;
1659
+ const {
1660
+ title,
1661
+ toastMessage
1662
+ } = getToastContent();
1663
+ toast.showMessage({
1664
+ title,
1665
+ message: toastMessage,
1666
+ type: "success"
1667
+ });
1668
+ }
1669
+ const onBreadcrumbsItemSelected = item => {
1670
+ if (item.href) router.push(item.href).catch(error => {
1671
+ toast.showError(error, i18n.baseText("folders.open.error.title"));
1672
+ });
1673
+ };
1674
+ const handleImportWorkflowFromFile = () => {
1675
+ importFileRef.value?.click();
1676
+ };
1677
+ onMounted(() => {
1678
+ nodeViewEventBus.on("importWorkflowFromFile", handleImportWorkflowFromFile);
1679
+ nodeViewEventBus.on("archiveWorkflow", handleArchiveWorkflow);
1680
+ nodeViewEventBus.on("unarchiveWorkflow", handleUnarchiveWorkflow);
1681
+ nodeViewEventBus.on("deleteWorkflow", handleDeleteWorkflow);
1682
+ nodeViewEventBus.on("renameWorkflow", onNameToggle);
1683
+ nodeViewEventBus.on("addTag", onTagsEditEnable);
1684
+ });
1685
+ onBeforeUnmount(() => {
1686
+ nodeViewEventBus.off("importWorkflowFromFile", handleImportWorkflowFromFile);
1687
+ nodeViewEventBus.off("archiveWorkflow", handleArchiveWorkflow);
1688
+ nodeViewEventBus.off("unarchiveWorkflow", handleUnarchiveWorkflow);
1689
+ nodeViewEventBus.off("deleteWorkflow", handleDeleteWorkflow);
1690
+ nodeViewEventBus.off("renameWorkflow", onNameToggle);
1691
+ nodeViewEventBus.off("addTag", onTagsEditEnable);
1692
+ });
1693
+ const onWorkflowActiveToggle = async value => {
1694
+ if (!value.active) emit("workflow:deactivated");
1695
+ };
1696
+ return (_ctx, _cache) => {
1697
+ return openBlock(), createElementBlock("div", {
1698
+ class: normalizeClass(unref($style).container)
1699
+ }, [createVNode(BreakpointsObserver_default, {
1700
+ "value-x-s": 15,
1701
+ "value-s-m": 25,
1702
+ "value-m-d": 50,
1703
+ class: "name-container",
1704
+ "data-test-id": "canvas-breadcrumbs"
1705
+ }, {
1706
+ default: withCtx(({
1707
+ bp
1708
+ }) => [createVNode(FolderBreadcrumbs_default, {
1709
+ "current-folder": currentFolderForBreadcrumbs.value,
1710
+ "current-folder-as-link": true,
1711
+ onItemSelected: onBreadcrumbsItemSelected
1712
+ }, {
1713
+ append: withCtx(() => [unref(projectsStore).currentProject ?? unref(projectsStore).personalProject ? (openBlock(), createElementBlock("span", {
1714
+ key: 0,
1715
+ class: normalizeClass(unref($style)["path-separator"])
1716
+ }, "/", 2)) : createCommentVNode("", true), (openBlock(), createBlock(unref(N8nInlineTextEdit_default), {
1717
+ ref_key: "renameInput",
1718
+ ref: renameInput,
1719
+ key: _ctx.id,
1720
+ placeholder: "Workflow name",
1721
+ "data-test-id": "workflow-name-input",
1722
+ class: "name",
1723
+ "model-value": _ctx.name,
1724
+ "max-length": unref(128),
1725
+ "max-width": WORKFLOW_NAME_BP_TO_WIDTH[bp],
1726
+ "read-only": _ctx.readOnly || _ctx.isArchived || !isNewWorkflow.value && !workflowPermissions.value.update,
1727
+ disabled: _ctx.readOnly || _ctx.isArchived || !isNewWorkflow.value && !workflowPermissions.value.update,
1728
+ "onUpdate:modelValue": onNameSubmit
1729
+ }, null, 8, ["model-value", "max-length", "max-width", "read-only", "disabled"]))]),
1730
+ _: 2
1731
+ }, 1032, ["current-folder"])]),
1732
+ _: 1
1733
+ }), createBaseVNode("span", _hoisted_1, [unref(settingsStore).areTagsEnabled ? (openBlock(), createElementBlock(Fragment, {
1734
+ key: 0
1735
+ }, [isTagsEditEnabled.value && !(_ctx.readOnly || _ctx.isArchived) && (isNewWorkflow.value || workflowPermissions.value.update) ? (openBlock(), createBlock(WorkflowTagsDropdown_default, {
1736
+ key: 0,
1737
+ ref: "dropdown",
1738
+ modelValue: appliedTagIds.value,
1739
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => appliedTagIds.value = $event),
1740
+ "event-bus": unref(tagsEventBus),
1741
+ placeholder: unref(i18n).baseText("workflowDetails.chooseOrCreateATag"),
1742
+ class: "tags-edit",
1743
+ "data-test-id": "workflow-tags-dropdown",
1744
+ onBlur: onTagsBlur,
1745
+ onEsc: onTagsEditEsc
1746
+ }, null, 8, ["modelValue", "event-bus", "placeholder"])) : (_ctx.tags ?? []).length === 0 && !(_ctx.readOnly || _ctx.isArchived) && (isNewWorkflow.value || workflowPermissions.value.update) ? (openBlock(), createElementBlock("div", _hoisted_2, [createBaseVNode("span", {
1747
+ class: "add-tag clickable",
1748
+ "data-test-id": "new-tag-link",
1749
+ onClick: onTagsEditEnable
1750
+ }, " + " + toDisplayString(unref(i18n).baseText("workflowDetails.addTag")), 1)])) : (openBlock(), createBlock(WorkflowTagsContainer_default, {
1751
+ key: _ctx.id,
1752
+ "tag-ids": workflowTagIds.value,
1753
+ clickable: true,
1754
+ responsive: true,
1755
+ "data-test-id": "workflow-tags",
1756
+ onClick: onTagsEditEnable
1757
+ }, null, 8, ["tag-ids"]))], 64)) : createCommentVNode("", true), createBaseVNode("span", {
1758
+ class: normalizeClass(unref($style)["header-controls"])
1759
+ }, [_ctx.isArchived ? (openBlock(), createBlock(unref(N8nBadge_default), {
1760
+ key: 0,
1761
+ class: "ml-3xs",
1762
+ theme: "tertiary",
1763
+ bold: "",
1764
+ "data-test-id": "workflow-archived-tag"
1765
+ }, {
1766
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(locale).baseText("workflows.item.archived")), 1)]),
1767
+ _: 1
1768
+ })) : !props.readOnly && workflowPermissions.value.update ? (openBlock(), createBlock(WorkflowDescriptionPopover_default, {
1769
+ key: 1,
1770
+ "workflow-id": props.id,
1771
+ "workflow-description": props.description
1772
+ }, null, 8, ["workflow-id", "workflow-description"])) : createCommentVNode("", true)], 2)]), createVNode(PushConnectionTracker_default, {
1773
+ class: "actions"
1774
+ }, {
1775
+ default: withCtx(() => [!isNewWorkflow.value ? (openBlock(), createBlock(WorkflowProductionChecklist_default, {
1776
+ key: 0,
1777
+ workflow: unref(workflowsStore).workflow
1778
+ }, null, 8, ["workflow"])) : createCommentVNode("", true), createBaseVNode("span", {
1779
+ class: normalizeClass(`activator ${unref($style).group}`)
1780
+ }, [createVNode(WorkflowActivator_default, {
1781
+ "is-archived": _ctx.isArchived,
1782
+ "workflow-active": _ctx.active,
1783
+ "workflow-id": _ctx.id,
1784
+ "workflow-permissions": workflowPermissions.value,
1785
+ "onUpdate:workflowActive": onWorkflowActiveToggle
1786
+ }, null, 8, ["is-archived", "workflow-active", "workflow-id", "workflow-permissions"])], 2), createVNode(EnterpriseEdition_ee_default, {
1787
+ features: [unref(EnterpriseEditionFeature).Sharing]
1788
+ }, {
1789
+ fallback: withCtx(() => [createVNode(unref(N8nTooltip_default), null, {
1790
+ content: withCtx(() => [createVNode(unref(I18nT), {
1791
+ keypath: unref(uiStore).contextBasedTranslationKeys.workflows.sharing.unavailable.description.tooltip,
1792
+ tag: "span",
1793
+ scope: "global"
1794
+ }, {
1795
+ action: withCtx(() => [createBaseVNode("a", {
1796
+ onClick: goToUpgrade
1797
+ }, toDisplayString(unref(i18n).baseText(unref(uiStore).contextBasedTranslationKeys.workflows.sharing.unavailable.button)), 1)]),
1798
+ _: 1
1799
+ }, 8, ["keypath"])]),
1800
+ default: withCtx(() => [createVNode(unref(N8nButton_default), {
1801
+ type: "secondary",
1802
+ class: normalizeClass(["mr-2xs", unref($style).disabledShareButton])
1803
+ }, {
1804
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("workflowDetails.share")), 1)]),
1805
+ _: 1
1806
+ }, 8, ["class"])]),
1807
+ _: 1
1808
+ })]),
1809
+ default: withCtx(() => [createBaseVNode("div", {
1810
+ class: normalizeClass(unref($style).group)
1811
+ }, [!isNewWorkflow.value ? (openBlock(), createBlock(CollaborationPane_default, {
1812
+ key: 0
1813
+ })) : createCommentVNode("", true), createVNode(unref(N8nButton_default), {
1814
+ type: "secondary",
1815
+ "data-test-id": "workflow-share-button",
1816
+ onClick: onShareButtonClick
1817
+ }, {
1818
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("workflowDetails.share")), 1)]),
1819
+ _: 1
1820
+ })], 2)]),
1821
+ _: 1
1822
+ }, 8, ["features"]), createBaseVNode("div", {
1823
+ class: normalizeClass(unref($style).group)
1824
+ }, [createVNode(SaveButton_default, {
1825
+ type: "primary",
1826
+ saved: !unref(uiStore).stateIsDirty && !isNewWorkflow.value,
1827
+ disabled: isWorkflowSaving.value || _ctx.readOnly || _ctx.isArchived || !isNewWorkflow.value && !workflowPermissions.value.update,
1828
+ "is-saving": isWorkflowSaving.value,
1829
+ "with-shortcut": !_ctx.readOnly && !_ctx.isArchived && workflowPermissions.value.update,
1830
+ "shortcut-tooltip": unref(i18n).baseText("saveWorkflowButton.hint"),
1831
+ "data-test-id": "workflow-save-button",
1832
+ onClick: onSaveButtonClick
1833
+ }, null, 8, ["saved", "disabled", "is-saving", "with-shortcut", "shortcut-tooltip"]), createVNode(WorkflowHistoryButton_default, {
1834
+ "workflow-id": props.id,
1835
+ "is-feature-enabled": isWorkflowHistoryFeatureEnabled.value,
1836
+ "is-new-workflow": isNewWorkflow.value,
1837
+ onUpgrade: goToWorkflowHistoryUpgrade
1838
+ }, null, 8, ["workflow-id", "is-feature-enabled", "is-new-workflow"])], 2), createBaseVNode("div", {
1839
+ class: normalizeClass([unref($style).workflowMenuContainer, unref($style).group])
1840
+ }, [createBaseVNode("input", {
1841
+ ref_key: "importFileRef",
1842
+ ref: importFileRef,
1843
+ class: normalizeClass(unref($style).hiddenInput),
1844
+ type: "file",
1845
+ "data-test-id": "workflow-import-input",
1846
+ onChange: _cache[1] || (_cache[1] = $event => handleFileImport())
1847
+ }, null, 34), createVNode(unref(N8nActionDropdown_default), {
1848
+ items: workflowMenuItems.value,
1849
+ "data-test-id": "workflow-menu",
1850
+ onSelect: onWorkflowMenuSelect
1851
+ }, null, 8, ["items"])], 2)]),
1852
+ _: 1
1853
+ })], 2);
1854
+ };
1855
+ }
1856
+ }); //#endregion
1857
+ //#region src/app/components/MainHeader/WorkflowDetails.vue?vue&type=style&index=1&lang.module.scss
1858
+ container$1 = "_container_177kb_123";
1859
+ group = "_group_177kb_138";
1860
+ hiddenInput = "_hiddenInput_177kb_143";
1861
+ deleteItem = "_deleteItem_177kb_147";
1862
+ disabledShareButton = "_disabledShareButton_177kb_151";
1863
+ closeNodeViewDiscovery = "_closeNodeViewDiscovery_177kb_155";
1864
+ WorkflowDetails_vue_vue_type_style_index_1_lang_module_default = {
1865
+ container: container$1,
1866
+ "path-separator": "_path-separator_177kb_132",
1867
+ group,
1868
+ hiddenInput,
1869
+ deleteItem,
1870
+ disabledShareButton,
1871
+ closeNodeViewDiscovery,
1872
+ "header-controls": "_header-controls_177kb_162"
1873
+ }; //#endregion
1874
+ //#region src/app/components/MainHeader/WorkflowDetails.vue
1875
+ cssModules$1 = {
1876
+ "$style": WorkflowDetails_vue_vue_type_style_index_1_lang_module_default
1877
+ };
1878
+ WorkflowDetails_default = /* @__PURE__ */__plugin_vue_export_helper_default(WorkflowDetails_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules$1], ["__scopeId", "data-v-efdec302"]]); //#endregion
1879
+ //#region ../../../node_modules/.pnpm/vue-github-button@3.1.3/node_modules/vue-github-button/index.js
1880
+ init_shared_esm_bundler();
1881
+ vue_github_button_default = defineComponent({
1882
+ name: "github-button",
1883
+ props: {
1884
+ href: String,
1885
+ ariaLabel: String,
1886
+ title: String,
1887
+ dataIcon: String,
1888
+ dataColorScheme: String,
1889
+ dataSize: String,
1890
+ dataShowCount: String,
1891
+ dataText: String
1892
+ },
1893
+ render: function () {
1894
+ const props = {
1895
+ ref: "_"
1896
+ };
1897
+ for (const key in this.$props) props[hyphenate(key)] = this.$props[key];
1898
+ return h("span", [hasOwn(this.$slots, "default") ? h("a", props, this.$slots.default()) : h("a", props)]);
1899
+ },
1900
+ mounted: function () {
1901
+ this.paint();
1902
+ },
1903
+ beforeUpdate: function () {
1904
+ this.reset();
1905
+ },
1906
+ updated: function () {
1907
+ this.paint();
1908
+ },
1909
+ beforeUnmount: function () {
1910
+ this.reset();
1911
+ },
1912
+ methods: {
1913
+ paint: function () {
1914
+ if (this.$el.lastChild !== this.$refs._) return;
1915
+ const _ = this.$el.appendChild(document.createElement("span"));
1916
+ const _this = this;
1917
+ __vitePreload(() => _context.import(/* webpackMode: "eager" */
1918
+ "./buttons.esm-legacy-BLrJSt1Z.js"), true ? void 0 : void 0).then(function (module) {
1919
+ if (_this.$el.lastChild !== _) return;
1920
+ module.render(_.appendChild(_this.$refs._), function (el) {
1921
+ if (_this.$el.lastChild !== _) return;
1922
+ _.parentNode.replaceChild(el, _);
1923
+ });
1924
+ });
1925
+ },
1926
+ reset: function () {
1927
+ if (this.$refs._ == null) return;
1928
+ this.$el.replaceChild(this.$refs._, this.$el.lastChild);
1929
+ }
1930
+ }
1931
+ }); //#endregion
1932
+ //#region src/app/components/MainHeader/MainHeader.vue?vue&type=script&setup=true&lang.ts
1933
+ MainHeader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1934
+ __name: "MainHeader",
1935
+ setup(__props) {
1936
+ const router = useRouter();
1937
+ const route = useRoute();
1938
+ const locale = useI18n();
1939
+ const pushConnection = usePushConnection({
1940
+ router
1941
+ });
1942
+ const toast = useToast();
1943
+ const ndvStore = useNDVStore();
1944
+ const uiStore = useUIStore();
1945
+ const sourceControlStore = useSourceControlStore();
1946
+ const workflowsStore = useWorkflowsStore();
1947
+ const executionsStore = useExecutionsStore();
1948
+ const settingsStore = useSettingsStore();
1949
+ const activeHeaderTab = ref(MAIN_HEADER_TABS.WORKFLOW);
1950
+ const workflowToReturnTo = ref("");
1951
+ const executionToReturnTo = ref("");
1952
+ const dirtyState = ref(false);
1953
+ const githubButtonHidden = useLocalStorage(LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON, false);
1954
+ const evaluationRoutes = [VIEWS.EVALUATION_EDIT, VIEWS.EVALUATION_RUNS_DETAIL];
1955
+ const workflowRoutes = [VIEWS.WORKFLOW, VIEWS.NEW_WORKFLOW, VIEWS.EXECUTION_DEBUG];
1956
+ const executionRoutes = [VIEWS.EXECUTION_HOME, VIEWS.WORKFLOW_EXECUTIONS, VIEWS.EXECUTION_PREVIEW];
1957
+ const tabBarItems = computed(() => {
1958
+ return [{
1959
+ value: MAIN_HEADER_TABS.WORKFLOW,
1960
+ label: locale.baseText("generic.editor")
1961
+ }, {
1962
+ value: MAIN_HEADER_TABS.EXECUTIONS,
1963
+ label: locale.baseText("generic.executions")
1964
+ }, {
1965
+ value: MAIN_HEADER_TABS.EVALUATION,
1966
+ label: locale.baseText("generic.tests")
1967
+ }];
1968
+ });
1969
+ const activeNode = computed(() => ndvStore.activeNode);
1970
+ const hideMenuBar = computed(() => Boolean(activeNode.value && activeNode.value.type !== "n8n-nodes-base.stickyNote"));
1971
+ const workflow = computed(() => workflowsStore.workflow);
1972
+ const workflowId = computed(() => String(router.currentRoute.value.params.name || workflowsStore.workflowId));
1973
+ const onWorkflowPage = computed(() => !!(route.meta.nodeView || route.meta.keepWorkflowAlive));
1974
+ const readOnly = computed(() => sourceControlStore.preferences.branchReadOnly);
1975
+ const isEnterprise = computed(() => settingsStore.isQueueModeEnabled && settingsStore.isWorkerViewAvailable);
1976
+ const isTelemetryEnabled = computed(() => {
1977
+ return settingsStore.isTelemetryEnabled;
1978
+ });
1979
+ const showGitHubButton = computed(() => !isEnterprise.value && !settingsStore.settings.inE2ETests && !githubButtonHidden.value && isTelemetryEnabled.value);
1980
+ const parentFolderForBreadcrumbs = computed(() => {
1981
+ if (!workflow.value.parentFolder) return;
1982
+ return {
1983
+ id: workflow.value.parentFolder.id,
1984
+ name: workflow.value.parentFolder.name,
1985
+ parentFolder: workflow.value.parentFolder.parentFolderId ?? void 0
1986
+ };
1987
+ });
1988
+ watch(route, (to, from) => {
1989
+ syncTabsWithRoute(to, from);
1990
+ });
1991
+ onBeforeMount(() => {
1992
+ pushConnection.initialize();
1993
+ });
1994
+ onBeforeUnmount(() => {
1995
+ pushConnection.terminate();
1996
+ });
1997
+ onMounted(async () => {
1998
+ dirtyState.value = uiStore.stateIsDirty;
1999
+ syncTabsWithRoute(route);
2000
+ });
2001
+ function isViewRoute(name) {
2002
+ return typeof name === "string" && [evaluationRoutes, workflowRoutes, executionRoutes].flat().includes(name);
2003
+ }
2004
+ function syncTabsWithRoute(to, from) {
2005
+ const routeTabMapping = [{
2006
+ routes: evaluationRoutes,
2007
+ tab: MAIN_HEADER_TABS.EVALUATION
2008
+ }, {
2009
+ routes: executionRoutes,
2010
+ tab: MAIN_HEADER_TABS.EXECUTIONS
2011
+ }, {
2012
+ routes: workflowRoutes,
2013
+ tab: MAIN_HEADER_TABS.WORKFLOW
2014
+ }];
2015
+ if (to.name && isViewRoute(to.name)) {
2016
+ const matchingTab = routeTabMapping.find(({
2017
+ routes
2018
+ }) => routes.includes(to.name));
2019
+ if (matchingTab) activeHeaderTab.value = matchingTab.tab;
2020
+ }
2021
+ if (to.params.name !== "new" && typeof to.params.name === "string") workflowToReturnTo.value = to.params.name;
2022
+ if (from?.name === VIEWS.EXECUTION_PREVIEW && to.params.name === from.params.name && typeof from.params.executionId === "string") executionToReturnTo.value = from.params.executionId;
2023
+ }
2024
+ function onTabSelected(tab, event) {
2025
+ const openInNewTab = event.ctrlKey || event.metaKey;
2026
+ switch (tab) {
2027
+ case MAIN_HEADER_TABS.WORKFLOW:
2028
+ navigateToWorkflowView(openInNewTab);
2029
+ break;
2030
+ case MAIN_HEADER_TABS.EXECUTIONS:
2031
+ navigateToExecutionsView(openInNewTab);
2032
+ break;
2033
+ case MAIN_HEADER_TABS.EVALUATION:
2034
+ navigateToEvaluationsView(openInNewTab);
2035
+ break;
2036
+ default:
2037
+ break;
2038
+ }
2039
+ }
2040
+ async function navigateToWorkflowView(openInNewTab) {
2041
+ let routeToNavigateTo;
2042
+ if (!["", "new", "__EMPTY__"].includes(workflowToReturnTo.value)) routeToNavigateTo = {
2043
+ name: VIEWS.WORKFLOW,
2044
+ params: {
2045
+ name: workflowToReturnTo.value
2046
+ }
2047
+ };else routeToNavigateTo = {
2048
+ name: VIEWS.NEW_WORKFLOW
2049
+ };
2050
+ if (openInNewTab) {
2051
+ const {
2052
+ href
2053
+ } = router.resolve(routeToNavigateTo);
2054
+ window.open(href, "_blank");
2055
+ } else if (route.name !== routeToNavigateTo.name) {
2056
+ if (route.name === VIEWS.NEW_WORKFLOW) uiStore.stateIsDirty = dirtyState.value;
2057
+ activeHeaderTab.value = MAIN_HEADER_TABS.WORKFLOW;
2058
+ await router.push(routeToNavigateTo);
2059
+ }
2060
+ }
2061
+ async function navigateToExecutionsView(openInNewTab) {
2062
+ const routeWorkflowId = workflowId.value === "__EMPTY__" ? "new" : workflowId.value;
2063
+ const executionToReturnToValue = executionsStore.activeExecution?.id || executionToReturnTo.value;
2064
+ const routeToNavigateTo = executionToReturnToValue ? {
2065
+ name: VIEWS.EXECUTION_PREVIEW,
2066
+ params: {
2067
+ name: routeWorkflowId,
2068
+ executionId: executionToReturnToValue
2069
+ }
2070
+ } : {
2071
+ name: VIEWS.EXECUTION_HOME,
2072
+ params: {
2073
+ name: routeWorkflowId
2074
+ }
2075
+ };
2076
+ if (openInNewTab) {
2077
+ const {
2078
+ href
2079
+ } = router.resolve(routeToNavigateTo);
2080
+ window.open(href, "_blank");
2081
+ } else if (route.name !== routeToNavigateTo.name) {
2082
+ dirtyState.value = uiStore.stateIsDirty;
2083
+ workflowToReturnTo.value = workflowId.value;
2084
+ activeHeaderTab.value = MAIN_HEADER_TABS.EXECUTIONS;
2085
+ await router.push(routeToNavigateTo);
2086
+ }
2087
+ }
2088
+ async function navigateToEvaluationsView(openInNewTab) {
2089
+ const routeWorkflowId = workflowId.value === "__EMPTY__" ? "new" : workflowId.value;
2090
+ const routeToNavigateTo = {
2091
+ name: VIEWS.EVALUATION_EDIT,
2092
+ params: {
2093
+ name: routeWorkflowId
2094
+ }
2095
+ };
2096
+ if (openInNewTab) {
2097
+ const {
2098
+ href
2099
+ } = router.resolve(routeToNavigateTo);
2100
+ window.open(href, "_blank");
2101
+ } else if (route.name !== routeToNavigateTo.name) {
2102
+ dirtyState.value = uiStore.stateIsDirty;
2103
+ workflowToReturnTo.value = workflowId.value;
2104
+ activeHeaderTab.value = MAIN_HEADER_TABS.EXECUTIONS;
2105
+ await router.push(routeToNavigateTo);
2106
+ }
2107
+ }
2108
+ function hideGithubButton() {
2109
+ githubButtonHidden.value = true;
2110
+ }
2111
+ async function onWorkflowDeactivated() {
2112
+ if (settingsStore.isModuleActive("mcp") && workflow.value.settings?.availableInMCP) try {
2113
+ const updatedWorkflow = await workflowsStore.fetchWorkflow(workflow.value.id);
2114
+ workflowsStore.setWorkflow(updatedWorkflow);
2115
+ toast.showToast({
2116
+ title: locale.baseText("mcp.workflowDeactivated.title"),
2117
+ message: locale.baseText("mcp.workflowDeactivated.message"),
2118
+ type: "info"
2119
+ });
2120
+ } catch (error) {
2121
+ toast.showError(error, locale.baseText("workflowSettings.showError.fetchSettings.title"));
2122
+ }
2123
+ }
2124
+ return (_ctx, _cache) => {
2125
+ return openBlock(), createElementBlock("div", {
2126
+ class: normalizeClass(_ctx.$style.container)
2127
+ }, [createBaseVNode("div", {
2128
+ class: normalizeClass({
2129
+ [_ctx.$style["main-header"]]: true,
2130
+ [_ctx.$style.expanded]: !unref(uiStore).sidebarMenuCollapsed
2131
+ })
2132
+ }, [withDirectives(createBaseVNode("div", {
2133
+ class: normalizeClass(_ctx.$style["top-menu"])
2134
+ }, [workflow.value?.name ? (openBlock(), createBlock(WorkflowDetails_default, {
2135
+ key: 0,
2136
+ id: workflow.value.id,
2137
+ tags: workflow.value.tags,
2138
+ name: workflow.value.name,
2139
+ meta: workflow.value.meta,
2140
+ scopes: workflow.value.scopes,
2141
+ active: workflow.value.active,
2142
+ "read-only": readOnly.value,
2143
+ "current-folder": parentFolderForBreadcrumbs.value,
2144
+ "is-archived": workflow.value.isArchived,
2145
+ description: workflow.value.description,
2146
+ "onWorkflow:deactivated": onWorkflowDeactivated
2147
+ }, null, 8, ["id", "tags", "name", "meta", "scopes", "active", "read-only", "current-folder", "is-archived", "description"])) : createCommentVNode("", true), showGitHubButton.value ? (openBlock(), createElementBlock("div", {
2148
+ key: 1,
2149
+ class: normalizeClass([_ctx.$style["github-button"], "hidden-sm-and-down"])
2150
+ }, [createBaseVNode("div", {
2151
+ class: normalizeClass(_ctx.$style["github-button-container"])
2152
+ }, [createVNode(unref(vue_github_button_default), {
2153
+ href: unref(N8N_MAIN_GITHUB_REPO_URL),
2154
+ "data-color-scheme": unref(uiStore).appliedTheme,
2155
+ "data-size": "large",
2156
+ "data-show-count": "true",
2157
+ "aria-label": unref(locale).baseText("editor.mainHeader.githubButton.label")
2158
+ }, {
2159
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(locale).baseText("generic.star")), 1)]),
2160
+ _: 1
2161
+ }, 8, ["href", "data-color-scheme", "aria-label"]), createVNode(unref(N8nIcon_default), {
2162
+ class: normalizeClass(_ctx.$style["close-github-button"]),
2163
+ icon: "circle-x",
2164
+ size: "medium",
2165
+ onClick: hideGithubButton
2166
+ }, null, 8, ["class"])], 2)], 2)) : createCommentVNode("", true)], 2), [[vShow, !hideMenuBar.value]]), onWorkflowPage.value ? (openBlock(), createBlock(TabBar_default, {
2167
+ key: 0,
2168
+ items: tabBarItems.value,
2169
+ "model-value": activeHeaderTab.value,
2170
+ "onUpdate:modelValue": onTabSelected
2171
+ }, null, 8, ["items", "model-value"])) : createCommentVNode("", true)], 2)], 2);
2172
+ };
2173
+ }
2174
+ }); //#endregion
2175
+ //#region src/app/components/MainHeader/MainHeader.vue?vue&type=style&index=0&lang.module.scss
2176
+ container = "_container_18v8t_123";
2177
+ MainHeader_vue_vue_type_style_index_0_lang_module_default = {
2178
+ container,
2179
+ "main-header": "_main-header_18v8t_130",
2180
+ "top-menu": "_top-menu_18v8t_138",
2181
+ "github-button": "_github-button_18v8t_149",
2182
+ "close-github-button": "_close-github-button_18v8t_158",
2183
+ "github-button-container": "_github-button-container_18v8t_173"
2184
+ }; //#endregion
2185
+ //#region src/app/components/MainHeader/MainHeader.vue
2186
+ cssModules = {
2187
+ "$style": MainHeader_vue_vue_type_style_index_0_lang_module_default
2188
+ };
2189
+ _export("default", MainHeader_default = /* @__PURE__ */__plugin_vue_export_helper_default(MainHeader_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules]])); //#endregion
2190
+ }
2191
+ };
2192
+ });
2193
+ })();