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,2100 @@
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", "./_plugin-vue_export-helper-legacy-DZMI5HPp.js", "./truncate-legacy-B1qmzcuB.js", "./useMessage-legacy-DST2kUuY.js", "./useTelemetry-legacy-BDIroahM.js", "./useToast-legacy-B7FuM_6n.js", "./constants-legacy-DiqA0Pu_.js", "./useDebounce-legacy-G9H-ixfO.js", "./useWorkflowSaving-legacy-C5sOlXzQ.js", "./executions.store-legacy-b_Dcfsqp.js", "./useRunWorkflow-legacy-C7-J9SJI.js", "./useCanvasOperations-legacy-CuiWyxvs.js", "./folders.store-legacy-DpbE1pFn.js", "./NodeIcon-legacy-DG2J9mhW.js", "./dataTable.store-legacy-CmwyMqOI.js", "./useBugReporting-legacy-0ADndwuR.js", "./uniqBy-legacy-Zm0uD9jw.js", "./ProjectIcon-legacy-CCWF7GdT.js", "./CredentialIcon-legacy-Dj_Wwpq8.js", "./FileSaver.min-legacy-BTN44Z38.js", "./useRecentResources-legacy-BXsoflsL.js", "./useWorkflowActivate-legacy-5SOzZU7C.js"], function (_export, _context) {
4
+ "use strict";
5
+
6
+ var __toESM, computed, createElementBlock, createCommentVNode, unref, ref, createVNode, defineComponent, toDisplayString, createBlock, normalizeClass, openBlock, createTextVNode, createBaseVNode, useI18n, N8nKeyboardShortcut_default, N8nIcon_default, __plugin_vue_export_helper_default, useRouter, useRoute, useMessage, useSettingsStore, useSourceControlStore, nodeViewEventBus, useProjectsStore, useCredentialsStore, useUIStore, ProjectTypes, useRootStore, executionRetryMessage, useTagsStore, usePostHog, useActionsGenerator, useWorkflowHelpers, useWorkflowsStore, useNodeTypesStore, useTelemetry, useToast, COMMAND_BAR_EXPERIMENT, EnterpriseEditionFeature, DATA_TABLE_VIEW, isResourceLocatorValue, MODAL_CONFIRM, IMPORT_WORKFLOW_URL_MODAL_KEY, DATA_TABLE_DETAILS, WHATS_NEW_MODAL_KEY, getResourcePermissions, EXECUTE_WORKFLOW_NODE_TYPE, ABOUT_MODAL_KEY, PROJECT_DATA_TABLES, VIEWS, WORKFLOW_SETTINGS_MODAL_KEY, DUPLICATE_MODAL_KEY, require_debounce, useWorkflowSaving, useExecutionsStore, useRunWorkflow, canvasEventBus, useCanvasOperations, useFoldersStore, NodeIcon_default, useDataTableStore, EXTERNAL_LINKS, useGlobalEntityCreation, useBugReporting, require_uniqBy, isIconOrEmoji, ProjectIcon_default, CredentialIcon_default, require_FileSaver_min, useRecentResources, useWorkflowActivate, __vite_style__, CommandBarItemTitle_vue_vue_type_script_setup_true_lang_default, container, title, suffix, action, shortcut, CommandBarItemTitle_vue_vue_type_style_index_0_lang_module_default, cssModules, CommandBarItemTitle_default, ITEM_ID$7, import_FileSaver_min, import_uniqBy, ITEM_ID$6, import_debounce$2, ITEM_ID$5, import_debounce$1, ITEM_ID$4, import_debounce, ITEM_ID$3, ITEM_ID$2, ITEM_ID$1, ITEM_ID;
7
+ function useNodeCommands(options) {
8
+ const i18n = useI18n();
9
+ const {
10
+ lastQuery
11
+ } = options;
12
+ const {
13
+ addNodes,
14
+ setNodeActive,
15
+ editableWorkflow
16
+ } = useCanvasOperations();
17
+ const nodeTypesStore = useNodeTypesStore();
18
+ const credentialsStore = useCredentialsStore();
19
+ const sourceControlStore = useSourceControlStore();
20
+ const workflowsStore = useWorkflowsStore();
21
+ const {
22
+ generateMergedNodesAndActions
23
+ } = useActionsGenerator();
24
+ const isReadOnly = computed(() => sourceControlStore.preferences.branchReadOnly);
25
+ const isArchived = computed(() => workflowsStore.workflow.isArchived);
26
+ const workflowPermissions = computed(() => getResourcePermissions(workflowsStore.workflow.scopes).workflow);
27
+ const hasPermission = permission => workflowPermissions.value[permission] === true && !isReadOnly.value && !isArchived.value || workflowsStore.isNewWorkflow;
28
+ const mergedNodes = computed(() => {
29
+ const httpOnlyCredentials = credentialsStore.httpOnlyCredentialTypes;
30
+ const nodeTypes = nodeTypesStore.visibleNodeTypes;
31
+ return generateMergedNodesAndActions(nodeTypes, httpOnlyCredentials).mergedNodes;
32
+ });
33
+ const buildAddNodeCommand = (node, isRoot) => {
34
+ const {
35
+ name,
36
+ displayName
37
+ } = node;
38
+ return {
39
+ id: name,
40
+ title: isRoot ? `${i18n.baseText("generic.add")} ${displayName}` : displayName,
41
+ section: isRoot ? i18n.baseText("commandBar.sections.nodes") : i18n.baseText("commandBar.nodes.addNode"),
42
+ keywords: [displayName],
43
+ icon: {
44
+ component: NodeIcon_default,
45
+ props: {
46
+ nodeType: node,
47
+ size: 16
48
+ }
49
+ },
50
+ handler: async () => {
51
+ const nodes = await addNodes([{
52
+ type: name
53
+ }]);
54
+ if (nodes && nodes.length > 0) canvasEventBus.emit("nodes:select", {
55
+ ids: [nodes[0].id]
56
+ });
57
+ }
58
+ };
59
+ };
60
+ const addNodeCommands = computed(() => {
61
+ if (!hasPermission("update")) return [];
62
+ return mergedNodes.value.map(node => buildAddNodeCommand(node, false));
63
+ });
64
+ const rootAddNodeCommandItems = computed(() => {
65
+ if (lastQuery.value.length <= 2 || !hasPermission("update")) return [];
66
+ return mergedNodes.value.map(node => buildAddNodeCommand(node, true));
67
+ });
68
+ const buildOpenNodeCommand = (node, isRoot) => {
69
+ const {
70
+ id,
71
+ name,
72
+ type
73
+ } = node;
74
+ const nodeType = nodeTypesStore.getNodeType(node.type, node.typeVersion);
75
+ return {
76
+ id,
77
+ title: isRoot ? i18n.baseText("generic.openResource", {
78
+ interpolate: {
79
+ resource: name
80
+ }
81
+ }) : name,
82
+ section: isRoot ? i18n.baseText("commandBar.sections.nodes") : i18n.baseText("commandBar.nodes.openNode"),
83
+ keywords: [name, type],
84
+ icon: {
85
+ component: NodeIcon_default,
86
+ props: {
87
+ nodeType,
88
+ size: 16
89
+ }
90
+ },
91
+ handler: () => {
92
+ setNodeActive(id, "command_bar");
93
+ },
94
+ placeholder: i18n.baseText("commandBar.nodes.searchPlaceholder")
95
+ };
96
+ };
97
+ const openNodeCommands = computed(() => {
98
+ return editableWorkflow.value.nodes.map(node => buildOpenNodeCommand(node, false));
99
+ });
100
+ const rootOpenNodeCommandItems = computed(() => {
101
+ if (lastQuery.value.length <= 2) return [];
102
+ return editableWorkflow.value.nodes.map(node => buildOpenNodeCommand(node, true));
103
+ });
104
+ return {
105
+ commands: computed(() => {
106
+ return [...(hasPermission("update") ? [{
107
+ id: ITEM_ID$7.ADD_NODE,
108
+ title: {
109
+ component: CommandBarItemTitle_default,
110
+ props: {
111
+ title: i18n.baseText("commandBar.nodes.addNode"),
112
+ shortcut: {
113
+ keys: ["tab"]
114
+ }
115
+ }
116
+ },
117
+ keywords: [i18n.baseText("commandBar.nodes.addNode")],
118
+ section: i18n.baseText("commandBar.sections.nodes"),
119
+ placeholder: i18n.baseText("commandBar.nodes.searchPlaceholder"),
120
+ children: [...addNodeCommands.value],
121
+ icon: {
122
+ component: N8nIcon_default,
123
+ props: {
124
+ icon: "plus"
125
+ }
126
+ }
127
+ }] : []), ...rootAddNodeCommandItems.value, {
128
+ id: ITEM_ID$7.OPEN_NODE,
129
+ title: i18n.baseText("commandBar.nodes.openNode"),
130
+ section: i18n.baseText("commandBar.sections.nodes"),
131
+ children: [...openNodeCommands.value],
132
+ placeholder: i18n.baseText("commandBar.nodes.searchPlaceholder"),
133
+ icon: {
134
+ component: N8nIcon_default,
135
+ props: {
136
+ icon: "columns-3-cog"
137
+ }
138
+ }
139
+ }, ...rootOpenNodeCommandItems.value, ...(hasPermission("update") ? [{
140
+ id: ITEM_ID$7.ADD_STICKY,
141
+ title: {
142
+ component: CommandBarItemTitle_default,
143
+ props: {
144
+ title: i18n.baseText("commandBar.nodes.addStickyNote"),
145
+ shortcut: {
146
+ shiftKey: true,
147
+ keys: ["s"]
148
+ }
149
+ }
150
+ },
151
+ section: i18n.baseText("commandBar.sections.nodes"),
152
+ handler: () => {
153
+ canvasEventBus.emit("create:sticky");
154
+ },
155
+ icon: {
156
+ component: N8nIcon_default,
157
+ props: {
158
+ icon: "sticky-note"
159
+ }
160
+ }
161
+ }] : [])];
162
+ })
163
+ };
164
+ }
165
+
166
+ //#endregion
167
+ //#region src/features/shared/commandBar/composables/useWorkflowCommands.ts
168
+
169
+ function useWorkflowCommands() {
170
+ const i18n = useI18n();
171
+ const {
172
+ editableWorkflow
173
+ } = useCanvasOperations();
174
+ const rootStore = useRootStore();
175
+ const uiStore = useUIStore();
176
+ const tagsStore = useTagsStore();
177
+ const workflowsStore = useWorkflowsStore();
178
+ const sourceControlStore = useSourceControlStore();
179
+ const router = useRouter();
180
+ const runWorkflow = useRunWorkflow({
181
+ router
182
+ });
183
+ const workflowHelpers = useWorkflowHelpers();
184
+ const telemetry = useTelemetry();
185
+ const workflowSaving = useWorkflowSaving({
186
+ router
187
+ });
188
+ const workflowActivate = useWorkflowActivate();
189
+ const isReadOnly = computed(() => sourceControlStore.preferences.branchReadOnly);
190
+ const isWorkflowSaving = computed(() => uiStore.isActionActive.workflowSaving);
191
+ const isArchived = computed(() => workflowsStore.workflow.isArchived);
192
+ const workflowPermissions = computed(() => getResourcePermissions(workflowsStore.workflow.scopes).workflow);
193
+ const hasPermission = permission => workflowPermissions.value[permission] === true && !isReadOnly.value || workflowsStore.isNewWorkflow;
194
+ const credentialCommands = computed(() => {
195
+ const credentials = (0, import_uniqBy.default)(editableWorkflow.value.nodes.map(node => Object.values(node.credentials ?? {})).flat(), cred => cred.id);
196
+ if (credentials.length === 0) return [];
197
+ return [{
198
+ id: ITEM_ID$6.OPEN_CREDENTIAL,
199
+ title: i18n.baseText("commandBar.workflow.openCredential"),
200
+ section: i18n.baseText("commandBar.sections.credentials"),
201
+ children: [...credentials.map(credential => ({
202
+ id: credential.id,
203
+ title: credential.name,
204
+ handler: () => {
205
+ if (typeof credential.id === "string") uiStore.openExistingCredential(credential.id);
206
+ }
207
+ }))],
208
+ icon: {
209
+ component: N8nIcon_default,
210
+ props: {
211
+ icon: "arrow-right"
212
+ }
213
+ }
214
+ }];
215
+ });
216
+ const canvasActions = computed(() => [...(hasPermission("update") && !isArchived.value ? [...(!isWorkflowSaving.value ? [{
217
+ id: ITEM_ID$6.SAVE_WORKFLOW,
218
+ title: {
219
+ component: CommandBarItemTitle_default,
220
+ props: {
221
+ title: i18n.baseText("commandBar.workflow.save"),
222
+ shortcut: {
223
+ metaKey: true,
224
+ keys: ["s"]
225
+ }
226
+ }
227
+ },
228
+ keywords: [i18n.baseText("commandBar.workflow.save")],
229
+ section: i18n.baseText("commandBar.sections.workflow"),
230
+ handler: async () => {
231
+ if (await workflowSaving.saveCurrentWorkflow()) canvasEventBus.emit("saved:workflow");
232
+ },
233
+ icon: {
234
+ component: N8nIcon_default,
235
+ props: {
236
+ icon: "save"
237
+ }
238
+ }
239
+ }] : []), {
240
+ id: ITEM_ID$6.TEST_WORKFLOW,
241
+ title: {
242
+ component: CommandBarItemTitle_default,
243
+ props: {
244
+ title: i18n.baseText("commandBar.workflow.test"),
245
+ shortcut: {
246
+ metaKey: true,
247
+ keys: ["enter"]
248
+ }
249
+ }
250
+ },
251
+ section: i18n.baseText("commandBar.sections.workflow"),
252
+ keywords: [i18n.baseText("commandBar.workflow.test"), i18n.baseText("commandBar.workflow.keywords.test"), i18n.baseText("commandBar.workflow.keywords.execute"), i18n.baseText("commandBar.workflow.keywords.run"), i18n.baseText("commandBar.workflow.keywords.workflow")],
253
+ handler: () => {
254
+ runWorkflow.runEntireWorkflow("main");
255
+ },
256
+ icon: {
257
+ component: N8nIcon_default,
258
+ props: {
259
+ icon: "flask-conical"
260
+ }
261
+ }
262
+ }, {
263
+ id: ITEM_ID$6.TIDY_UP_WORKFLOW,
264
+ title: {
265
+ component: CommandBarItemTitle_default,
266
+ props: {
267
+ title: i18n.baseText("commandBar.workflow.tidyUp"),
268
+ shortcut: {
269
+ shiftKey: true,
270
+ altKey: true,
271
+ keys: ["t"]
272
+ }
273
+ }
274
+ },
275
+ keywords: [i18n.baseText("commandBar.workflow.tidyUp")],
276
+ section: i18n.baseText("commandBar.sections.workflow"),
277
+ handler: () => {
278
+ canvasEventBus.emit("tidyUp", {
279
+ source: "command-bar"
280
+ });
281
+ },
282
+ icon: {
283
+ component: N8nIcon_default,
284
+ props: {
285
+ icon: "wand-sparkles"
286
+ }
287
+ }
288
+ }, {
289
+ id: ITEM_ID$6.RENAME_WORKFLOW,
290
+ title: i18n.baseText("commandBar.workflow.rename"),
291
+ section: i18n.baseText("commandBar.sections.workflow"),
292
+ handler: () => {
293
+ nodeViewEventBus.emit("renameWorkflow");
294
+ },
295
+ icon: {
296
+ component: N8nIcon_default,
297
+ props: {
298
+ icon: "pencil-alt"
299
+ }
300
+ }
301
+ }, {
302
+ id: ITEM_ID$6.ADD_TAG,
303
+ title: i18n.baseText("workflowDetails.addTag"),
304
+ section: i18n.baseText("commandBar.sections.workflow"),
305
+ handler: () => {
306
+ nodeViewEventBus.emit("addTag");
307
+ },
308
+ icon: {
309
+ component: N8nIcon_default,
310
+ props: {
311
+ icon: "tags"
312
+ }
313
+ }
314
+ }] : []), {
315
+ id: ITEM_ID$6.SELECT_ALL,
316
+ title: {
317
+ component: CommandBarItemTitle_default,
318
+ props: {
319
+ title: i18n.baseText("commandBar.workflow.selectAll"),
320
+ shortcut: {
321
+ metaKey: true,
322
+ keys: ["a"]
323
+ }
324
+ }
325
+ },
326
+ section: i18n.baseText("commandBar.sections.workflow"),
327
+ keywords: [i18n.baseText("commandBar.workflow.selectAll")],
328
+ handler: () => {
329
+ canvasEventBus.emit("nodes:selectAll");
330
+ },
331
+ icon: {
332
+ component: N8nIcon_default,
333
+ props: {
334
+ icon: "list-checks"
335
+ }
336
+ }
337
+ }, {
338
+ id: ITEM_ID$6.OPEN_WORKFLOW_SETTINGS,
339
+ title: i18n.baseText("commandBar.workflow.openSettings"),
340
+ section: i18n.baseText("commandBar.sections.workflow"),
341
+ handler: () => {
342
+ uiStore.openModal(WORKFLOW_SETTINGS_MODAL_KEY);
343
+ },
344
+ icon: {
345
+ component: N8nIcon_default,
346
+ props: {
347
+ icon: "cog"
348
+ }
349
+ }
350
+ }, ...(hasPermission("create") ? [{
351
+ id: ITEM_ID$6.DUPLICATE_WORKFLOW,
352
+ title: i18n.baseText("commandBar.workflow.duplicate"),
353
+ section: i18n.baseText("commandBar.sections.workflow"),
354
+ handler: () => {
355
+ uiStore.openModalWithData({
356
+ name: DUPLICATE_MODAL_KEY,
357
+ data: {
358
+ id: workflowsStore.workflowId,
359
+ name: editableWorkflow.value.name,
360
+ tags: editableWorkflow.value.tags
361
+ }
362
+ });
363
+ },
364
+ icon: {
365
+ component: N8nIcon_default,
366
+ props: {
367
+ icon: "copy"
368
+ }
369
+ }
370
+ }] : [])]);
371
+ const activateCommands = computed(() => {
372
+ if (!hasPermission("update") || isArchived.value) return [];
373
+ return workflowsStore.isWorkflowActive ? [{
374
+ id: ITEM_ID$6.DEACTIVATE_WORKFLOW,
375
+ title: i18n.baseText("commandBar.workflow.deactivate"),
376
+ section: i18n.baseText("commandBar.sections.workflow"),
377
+ handler: () => {
378
+ workflowActivate.updateWorkflowActivation(workflowsStore.workflowId, false);
379
+ },
380
+ icon: {
381
+ component: N8nIcon_default,
382
+ props: {
383
+ icon: "power-off"
384
+ }
385
+ }
386
+ }] : [{
387
+ id: ITEM_ID$6.ACTIVATE_WORKFLOW,
388
+ title: i18n.baseText("commandBar.workflow.activate"),
389
+ section: i18n.baseText("commandBar.sections.workflow"),
390
+ handler: () => {
391
+ workflowActivate.updateWorkflowActivation(workflowsStore.workflowId, true);
392
+ },
393
+ icon: {
394
+ component: N8nIcon_default,
395
+ props: {
396
+ icon: "power"
397
+ }
398
+ }
399
+ }];
400
+ });
401
+ const subworkflowCommands = computed(() => {
402
+ const subworkflows = editableWorkflow.value.nodes.filter(node => node.type === EXECUTE_WORKFLOW_NODE_TYPE).map(node => node?.parameters?.workflowId).filter(rlValue => isResourceLocatorValue(rlValue) && typeof rlValue.value === "string" && typeof rlValue.cachedResultName === "string").map(({
403
+ value,
404
+ cachedResultName
405
+ }) => ({
406
+ id: value,
407
+ name: cachedResultName
408
+ }));
409
+ if (subworkflows.length === 0) return [];
410
+ return [{
411
+ id: ITEM_ID$6.OPEN_SUB_WORKFLOW,
412
+ title: i18n.baseText("commandBar.workflow.openSubworkflow"),
413
+ section: i18n.baseText("commandBar.sections.workflow"),
414
+ children: [...subworkflows.map(workflow => ({
415
+ id: workflow.id,
416
+ title: workflow.name,
417
+ handler: () => {
418
+ const {
419
+ href
420
+ } = router.resolve({
421
+ name: VIEWS.WORKFLOW,
422
+ params: {
423
+ name: workflow.id
424
+ }
425
+ });
426
+ window.open(href, "_blank", "noreferrer");
427
+ }
428
+ }))],
429
+ icon: {
430
+ component: N8nIcon_default,
431
+ props: {
432
+ icon: "sign-in-alt"
433
+ }
434
+ }
435
+ }];
436
+ });
437
+ const exportCommands = computed(() => {
438
+ return [{
439
+ id: ITEM_ID$6.DOWNLOAD_WORKFLOW,
440
+ title: i18n.baseText("commandBar.workflow.download"),
441
+ section: i18n.baseText("commandBar.sections.workflow"),
442
+ handler: async () => {
443
+ const workflowData = await workflowHelpers.getWorkflowDataToSave();
444
+ const {
445
+ tags,
446
+ ...data
447
+ } = workflowData;
448
+ const exportData = {
449
+ ...data,
450
+ meta: {
451
+ ...workflowData.meta,
452
+ instanceId: rootStore.instanceId
453
+ },
454
+ tags: (tags ?? []).map(tagId => {
455
+ return tagsStore.tagsById[tagId];
456
+ })
457
+ };
458
+ const blob = new Blob([JSON.stringify(exportData, null, 2)], {
459
+ type: "application/json;charset=utf-8"
460
+ });
461
+ let name = editableWorkflow.value.name || "unsaved_workflow";
462
+ name = name.replace(/[^a-z0-9]/gi, "_");
463
+ telemetry.track("User exported workflow", {
464
+ workflow_id: workflowData.id
465
+ });
466
+ (0, import_FileSaver_min.saveAs)(blob, name + ".json");
467
+ },
468
+ icon: {
469
+ component: N8nIcon_default,
470
+ props: {
471
+ icon: "download"
472
+ }
473
+ },
474
+ keywords: [i18n.baseText("commandBar.workflow.keywords.download"), i18n.baseText("commandBar.workflow.keywords.export")]
475
+ }];
476
+ });
477
+ const importCommands = computed(() => {
478
+ return [{
479
+ id: ITEM_ID$6.IMPORT_WORKFLOW_FROM_URL,
480
+ title: i18n.baseText("commandBar.workflow.importFromURL"),
481
+ section: i18n.baseText("commandBar.sections.workflow"),
482
+ icon: {
483
+ component: N8nIcon_default,
484
+ props: {
485
+ icon: "link"
486
+ }
487
+ },
488
+ handler: () => {
489
+ uiStore.openModal(IMPORT_WORKFLOW_URL_MODAL_KEY);
490
+ }
491
+ }, {
492
+ id: ITEM_ID$6.IMPORT_WORKFLOW_FROM_FILE,
493
+ title: i18n.baseText("commandBar.workflow.importFromFile"),
494
+ section: i18n.baseText("commandBar.sections.workflow"),
495
+ icon: {
496
+ component: N8nIcon_default,
497
+ props: {
498
+ icon: "file-import"
499
+ }
500
+ },
501
+ handler: () => {
502
+ nodeViewEventBus.emit("importWorkflowFromFile");
503
+ }
504
+ }];
505
+ });
506
+ const lifecycleCommands = computed(() => {
507
+ if (!hasPermission("delete")) return [];
508
+ return !isArchived.value ? [{
509
+ id: ITEM_ID$6.ARCHIVE_WORKFLOW,
510
+ title: i18n.baseText("commandBar.workflow.archive"),
511
+ section: i18n.baseText("commandBar.sections.workflow"),
512
+ keywords: [i18n.baseText("commandBar.workflow.keywords.delete")],
513
+ icon: {
514
+ component: N8nIcon_default,
515
+ props: {
516
+ icon: "trash"
517
+ }
518
+ },
519
+ handler: () => {
520
+ nodeViewEventBus.emit("archiveWorkflow");
521
+ }
522
+ }] : [{
523
+ id: ITEM_ID$6.UNARCHIVE_WORKFLOW,
524
+ title: i18n.baseText("commandBar.workflow.unarchive"),
525
+ section: i18n.baseText("commandBar.sections.workflow"),
526
+ keywords: [i18n.baseText("commandBar.workflow.keywords.restore")],
527
+ icon: {
528
+ component: N8nIcon_default,
529
+ props: {
530
+ icon: "archive-restore"
531
+ }
532
+ },
533
+ handler: () => {
534
+ nodeViewEventBus.emit("unarchiveWorkflow");
535
+ }
536
+ }, {
537
+ id: ITEM_ID$6.DELETE_WORKFLOW,
538
+ title: i18n.baseText("commandBar.workflow.delete"),
539
+ section: i18n.baseText("commandBar.sections.workflow"),
540
+ icon: {
541
+ component: N8nIcon_default,
542
+ props: {
543
+ icon: "trash"
544
+ }
545
+ },
546
+ handler: () => {
547
+ nodeViewEventBus.emit("deleteWorkflow");
548
+ }
549
+ }];
550
+ });
551
+ const workflowCommands = computed(() => {
552
+ return [...canvasActions.value, ...activateCommands.value, ...subworkflowCommands.value, ...exportCommands.value, ...importCommands.value, ...lifecycleCommands.value];
553
+ });
554
+ return {
555
+ commands: computed(() => [...workflowCommands.value, ...credentialCommands.value])
556
+ };
557
+ }
558
+
559
+ //#endregion
560
+ //#region src/features/shared/commandBar/composables/useWorkflowNavigationCommands.ts
561
+
562
+ function useWorkflowNavigationCommands(options) {
563
+ const i18n = useI18n();
564
+ const {
565
+ lastQuery,
566
+ activeNodeId,
567
+ currentProjectName
568
+ } = options;
569
+ const nodeTypesStore = useNodeTypesStore();
570
+ const credentialsStore = useCredentialsStore();
571
+ const workflowsStore = useWorkflowsStore();
572
+ const projectsStore = useProjectsStore();
573
+ const tagsStore = useTagsStore();
574
+ const sourceControlStore = useSourceControlStore();
575
+ const foldersStore = useFoldersStore();
576
+ const router = useRouter();
577
+ const route = useRoute();
578
+ const {
579
+ generateMergedNodesAndActions
580
+ } = useActionsGenerator();
581
+ const workflowResults = ref([]);
582
+ const workflowKeywords = ref(/* @__PURE__ */new Map());
583
+ const workflowMatchedNodeTypes = ref(/* @__PURE__ */new Map());
584
+ const isLoading = ref(false);
585
+ const homeProject = computed(() => projectsStore.currentProject ?? projectsStore.personalProject);
586
+ function orderResultByCurrentProjectFirst(results) {
587
+ return results.sort((a, b) => {
588
+ if (a.homeProject?.id === projectsStore.currentProjectId) return -1;
589
+ if (b.homeProject?.id === projectsStore.currentProjectId) return 1;
590
+ return 0;
591
+ });
592
+ }
593
+ const fetchWorkflowsImpl = async query => {
594
+ try {
595
+ const trimmed = (query || "").trim();
596
+ const trimmedLower = trimmed.toLowerCase();
597
+ const httpOnlyCredentials = credentialsStore.httpOnlyCredentialTypes;
598
+ const visibleNodeTypes = nodeTypesStore.allNodeTypes;
599
+ const {
600
+ mergedNodes
601
+ } = generateMergedNodesAndActions(visibleNodeTypes, httpOnlyCredentials);
602
+ const matchedNodes = mergedNodes.filter(node => node.displayName?.toLowerCase() === trimmedLower);
603
+ const matchedNodeTypeNames = Array.from(new Set(matchedNodes.map(node => node.name)));
604
+ const matchedTag = tagsStore.allTags.find(tag => tag.name.toLowerCase() === trimmedLower);
605
+ const nameSearchPromise = workflowsStore.searchWorkflows({
606
+ query: trimmed,
607
+ select: ["id", "name", "active", "ownedBy", "parentFolder", "isArchived", "description"]
608
+ });
609
+ const nodeTypeSearchPromise = matchedNodeTypeNames.length > 0 ? workflowsStore.searchWorkflows({
610
+ nodeTypes: matchedNodeTypeNames,
611
+ select: ["id", "name", "active", "nodes", "ownedBy", "parentFolder", "isArchived", "description"]
612
+ }) : Promise.resolve([]);
613
+ const tagSearchPromise = matchedTag ? workflowsStore.searchWorkflows({
614
+ tags: [matchedTag.name],
615
+ select: ["id", "name", "active", "ownedBy", "tags", "parentFolder", "isArchived", "description"]
616
+ }) : Promise.resolve([]);
617
+ const [byName, byNodeTypes, byTags] = await Promise.all([nameSearchPromise, nodeTypeSearchPromise, tagSearchPromise]);
618
+ const keywordsMap = /* @__PURE__ */new Map();
619
+ const nodeTypesMap = /* @__PURE__ */new Map();
620
+ const matchedNodeDisplayNames = new Map(matchedNodes.map(node => [node.name, node.displayName]));
621
+ byNodeTypes.forEach(workflow => {
622
+ if (!workflow.nodes) return;
623
+ const matchedWorkflowNodes = workflow.nodes.filter(node => matchedNodeTypeNames.includes(node.type));
624
+ if (matchedWorkflowNodes.length === 0) return;
625
+ nodeTypesMap.set(workflow.id, matchedWorkflowNodes[0].type);
626
+ const matchedDisplayNames = matchedWorkflowNodes.map(node => matchedNodeDisplayNames.get(node.type)).filter(name => !!name);
627
+ if (matchedDisplayNames.length > 0) keywordsMap.set(workflow.id, matchedDisplayNames);
628
+ });
629
+ workflowKeywords.value = keywordsMap;
630
+ workflowMatchedNodeTypes.value = nodeTypesMap;
631
+ const merged = [...byName, ...byNodeTypes, ...byTags];
632
+ const nonArchivedWorkflows = Array.from(new Map(merged.map(w => [w.id, w])).values()).filter(w => !w.isArchived);
633
+ workflowResults.value = orderResultByCurrentProjectFirst(nonArchivedWorkflows);
634
+ const parentFolders = nonArchivedWorkflows.map(w => w.parentFolder).filter(pf => pf !== void 0 && pf !== null);
635
+ if (parentFolders.length > 0) foldersStore.cacheFolders(parentFolders.map(pf => ({
636
+ id: pf.id,
637
+ name: pf.name,
638
+ parentFolder: void 0
639
+ })));
640
+ } catch {
641
+ workflowResults.value = [];
642
+ workflowKeywords.value.clear();
643
+ workflowMatchedNodeTypes.value.clear();
644
+ } finally {
645
+ isLoading.value = false;
646
+ }
647
+ };
648
+ const fetchWorkflowsDebounced = (0, import_debounce$2.default)(fetchWorkflowsImpl, 300);
649
+ const buildFolderPath = folderId => {
650
+ const path = [];
651
+ let currentFolderId = folderId;
652
+ while (currentFolderId) {
653
+ const folder = foldersStore.getCachedFolder(currentFolderId);
654
+ if (!folder) break;
655
+ path.unshift(folder.name);
656
+ currentFolderId = folder.parentFolder;
657
+ }
658
+ return path;
659
+ };
660
+ const getProjectIcon = workflow => {
661
+ if (workflow.homeProject?.type === ProjectTypes.Personal) return {
662
+ type: "icon",
663
+ value: "user"
664
+ };
665
+ if (workflow.homeProject?.name) return isIconOrEmoji(workflow.homeProject.icon) ? workflow.homeProject.icon : {
666
+ type: "icon",
667
+ value: "layers"
668
+ };
669
+ return {
670
+ type: "icon",
671
+ value: "house"
672
+ };
673
+ };
674
+ const getWorkflowProjectSuffix = workflow => {
675
+ const parts = [];
676
+ if (workflow.homeProject && workflow.homeProject.type === ProjectTypes.Personal) parts.push(i18n.baseText("projects.menu.personal"));else if (workflow.homeProject?.name) parts.push(workflow.homeProject.name);
677
+ if (workflow.parentFolder?.id) {
678
+ const folderPath = buildFolderPath(workflow.parentFolder.id);
679
+ if (folderPath.length > 2) parts.push(folderPath[0], "...", folderPath[folderPath.length - 1]);else parts.push(...folderPath);
680
+ }
681
+ return parts.join(" / ");
682
+ };
683
+ const createWorkflowCommand = (workflow, isRoot) => {
684
+ let keywords = workflowKeywords.value.get(workflow.id) ?? [];
685
+ const matchedNodeType = workflowMatchedNodeTypes.value.get(workflow.id);
686
+ let icon;
687
+ if (matchedNodeType) {
688
+ const nodeType = nodeTypesStore.getNodeType(matchedNodeType);
689
+ if (nodeType) icon = {
690
+ component: NodeIcon_default,
691
+ props: {
692
+ nodeType,
693
+ size: 24
694
+ }
695
+ };
696
+ }
697
+ const workflowName = workflow.name;
698
+ keywords = [...keywords, workflowName];
699
+ if (workflow.description) keywords = [...keywords, workflow.description];
700
+ if (workflow.tags && workflow.tags.length > 0) keywords = [...keywords, ...workflow.tags.map(tag => typeof tag === "string" ? tag : tag.name)];
701
+ const suffix$1 = getWorkflowProjectSuffix(workflow);
702
+ const name = workflow.name || i18n.baseText("commandBar.workflows.unnamed");
703
+ const title$1 = isRoot ? i18n.baseText("generic.openResource", {
704
+ interpolate: {
705
+ resource: name
706
+ }
707
+ }) : name;
708
+ const section = isRoot ? i18n.baseText("commandBar.sections.workflows") : i18n.baseText("commandBar.workflows.open");
709
+ return {
710
+ id: workflow.id,
711
+ title: {
712
+ component: CommandBarItemTitle_default,
713
+ props: {
714
+ title: title$1,
715
+ suffix: suffix$1,
716
+ ...(suffix$1 ? {
717
+ suffixIcon: getProjectIcon(workflow)
718
+ } : {})
719
+ }
720
+ },
721
+ section,
722
+ ...(keywords.length > 0 ? {
723
+ keywords
724
+ } : {}),
725
+ ...(icon ? {
726
+ icon
727
+ } : {}),
728
+ handler: () => {
729
+ const targetRoute = router.resolve({
730
+ name: VIEWS.WORKFLOW,
731
+ params: {
732
+ name: workflow.id
733
+ }
734
+ });
735
+ window.location.href = targetRoute.fullPath;
736
+ }
737
+ };
738
+ };
739
+ const openWorkflowCommands = computed(() => {
740
+ return workflowResults.value.map(workflow => createWorkflowCommand(workflow, false));
741
+ });
742
+ const rootWorkflowItems = computed(() => {
743
+ if (lastQuery.value.length <= 2) return [];
744
+ return workflowResults.value.map(workflow => createWorkflowCommand(workflow, true));
745
+ });
746
+ const workflowNavigationCommands = computed(() => {
747
+ const hasCreatePermission = !sourceControlStore.preferences.branchReadOnly && getResourcePermissions(homeProject.value?.scopes).workflow.create;
748
+ const newWorkflowCommand = {
749
+ id: ITEM_ID$5.CREATE_WORKFLOW,
750
+ title: i18n.baseText("commandBar.workflows.create", {
751
+ interpolate: {
752
+ projectName: currentProjectName.value
753
+ }
754
+ }),
755
+ keywords: [i18n.baseText("workflows.add")],
756
+ section: i18n.baseText("commandBar.sections.workflows"),
757
+ icon: {
758
+ component: N8nIcon_default,
759
+ props: {
760
+ icon: "plus",
761
+ color: "text-light"
762
+ }
763
+ },
764
+ handler: () => {
765
+ const targetRoute = router.resolve({
766
+ name: VIEWS.NEW_WORKFLOW,
767
+ query: {
768
+ projectId: projectsStore.currentProjectId,
769
+ parentFolderId: route.params.folderId
770
+ }
771
+ });
772
+ window.location.href = targetRoute.fullPath;
773
+ }
774
+ };
775
+ return [...(hasCreatePermission ? [newWorkflowCommand] : []), {
776
+ id: ITEM_ID$5.OPEN_WORKFLOW,
777
+ title: i18n.baseText("commandBar.workflows.open"),
778
+ section: i18n.baseText("commandBar.sections.workflows"),
779
+ placeholder: i18n.baseText("commandBar.workflows.searchPlaceholder"),
780
+ children: openWorkflowCommands.value,
781
+ icon: {
782
+ component: N8nIcon_default,
783
+ props: {
784
+ icon: "arrow-right",
785
+ color: "text-light"
786
+ }
787
+ }
788
+ }, ...rootWorkflowItems.value];
789
+ });
790
+ function onCommandBarChange(query) {
791
+ const trimmed = query.trim();
792
+ const isInWorkflowParent = activeNodeId.value === ITEM_ID$5.OPEN_WORKFLOW;
793
+ const isRootWithQuery = activeNodeId.value === null && trimmed.length > 2;
794
+ if (isInWorkflowParent || isRootWithQuery) {
795
+ isLoading.value = isInWorkflowParent;
796
+ fetchWorkflowsDebounced(trimmed);
797
+ }
798
+ }
799
+ function onCommandBarNavigateTo(to) {
800
+ activeNodeId.value = to;
801
+ if (to === ITEM_ID$5.OPEN_WORKFLOW) {
802
+ isLoading.value = true;
803
+ fetchWorkflowsImpl("");
804
+ } else if (to === null) {
805
+ workflowResults.value = [];
806
+ workflowKeywords.value.clear();
807
+ workflowMatchedNodeTypes.value.clear();
808
+ }
809
+ }
810
+ async function initialize() {
811
+ await tagsStore.fetchAll();
812
+ }
813
+ return {
814
+ commands: workflowNavigationCommands,
815
+ handlers: {
816
+ onCommandBarChange,
817
+ onCommandBarNavigateTo
818
+ },
819
+ isLoading,
820
+ initialize
821
+ };
822
+ }
823
+
824
+ //#endregion
825
+ //#region src/features/shared/commandBar/composables/useDataTableNavigationCommands.ts
826
+
827
+ function useDataTableNavigationCommands(options) {
828
+ const i18n = useI18n();
829
+ const {
830
+ lastQuery,
831
+ activeNodeId,
832
+ currentProjectName
833
+ } = options;
834
+ const dataTableStore = useDataTableStore();
835
+ const projectsStore = useProjectsStore();
836
+ const sourceControlStore = useSourceControlStore();
837
+ const router = useRouter();
838
+ const route = useRoute();
839
+ const dataTableResults = ref([]);
840
+ const isLoading = ref(false);
841
+ const hasDataFetched = ref(false);
842
+ const currentProjectId = computed(() => {
843
+ return typeof route.params.projectId === "string" ? route.params.projectId : personalProjectId.value;
844
+ });
845
+ const homeProject = computed(() => projectsStore.currentProject ?? projectsStore.personalProject);
846
+ const personalProjectId = computed(() => {
847
+ return projectsStore.myProjects.find(p => p.type === "personal")?.id;
848
+ });
849
+ function orderResultByCurrentProjectFirst(results) {
850
+ return results.sort((a, b) => {
851
+ if (a.project?.id === currentProjectId.value) return -1;
852
+ if (b.project?.id === currentProjectId.value) return 1;
853
+ return 0;
854
+ });
855
+ }
856
+ const fetchDataTablesImpl = async query => {
857
+ try {
858
+ const trimmed = (query || "").trim();
859
+ if (!hasDataFetched.value) {
860
+ await dataTableStore.fetchDataTables("", 1, 1e3);
861
+ hasDataFetched.value = true;
862
+ }
863
+ const trimmedLower = trimmed.toLowerCase();
864
+ dataTableResults.value = orderResultByCurrentProjectFirst(dataTableStore.dataTables.filter(dataTable => dataTable.name.toLowerCase().includes(trimmedLower)));
865
+ } catch {
866
+ dataTableResults.value = [];
867
+ } finally {
868
+ isLoading.value = false;
869
+ }
870
+ };
871
+ const fetchDataTablesDebounced = (0, import_debounce$1.default)(fetchDataTablesImpl, 300);
872
+ const getDataTableProjectSuffix = dataTable => {
873
+ if (dataTable.project && dataTable.project.type === "personal") return i18n.baseText("projects.menu.personal");
874
+ return dataTable.project?.name ?? "";
875
+ };
876
+ const createDataTableCommand = (dataTable, isRoot) => {
877
+ const keywords = [dataTable.name];
878
+ const title$1 = isRoot ? i18n.baseText("generic.openResource", {
879
+ interpolate: {
880
+ resource: dataTable.name
881
+ }
882
+ }) : dataTable.name;
883
+ const section = isRoot ? i18n.baseText("commandBar.sections.dataTables") : i18n.baseText("commandBar.dataTables.open");
884
+ return {
885
+ id: dataTable.id,
886
+ title: {
887
+ component: CommandBarItemTitle_default,
888
+ props: {
889
+ title: title$1,
890
+ suffix: getDataTableProjectSuffix(dataTable)
891
+ }
892
+ },
893
+ section,
894
+ keywords,
895
+ handler: () => {
896
+ router.push({
897
+ name: DATA_TABLE_DETAILS,
898
+ params: {
899
+ projectId: dataTable.projectId,
900
+ id: dataTable.id
901
+ }
902
+ });
903
+ }
904
+ };
905
+ };
906
+ const openDataTableCommands = computed(() => {
907
+ return dataTableResults.value.map(dataTable => createDataTableCommand(dataTable, false));
908
+ });
909
+ const rootDataTableItems = computed(() => {
910
+ if (lastQuery.value.length <= 2) return [];
911
+ return dataTableResults.value.map(dataTable => createDataTableCommand(dataTable, true));
912
+ });
913
+ const dataTableNavigationCommands = computed(() => {
914
+ const hasCreatePermission = !sourceControlStore.preferences.branchReadOnly && getResourcePermissions(homeProject.value?.scopes).dataTable.create;
915
+ const newDataTableCommand = {
916
+ id: ITEM_ID$4.CREATE_DATA_TABLE,
917
+ title: i18n.baseText("commandBar.dataTables.create", {
918
+ interpolate: {
919
+ projectName: currentProjectName.value
920
+ }
921
+ }),
922
+ section: i18n.baseText("commandBar.sections.dataTables"),
923
+ icon: {
924
+ component: N8nIcon_default,
925
+ props: {
926
+ icon: "table",
927
+ color: "text-light"
928
+ }
929
+ },
930
+ handler: () => {
931
+ if (!currentProjectId.value) return;
932
+ router.push({
933
+ name: PROJECT_DATA_TABLES,
934
+ params: {
935
+ projectId: currentProjectId.value,
936
+ new: "new"
937
+ }
938
+ });
939
+ }
940
+ };
941
+ return [...(hasCreatePermission ? [newDataTableCommand] : []), {
942
+ id: ITEM_ID$4.OPEN_DATA_TABLE,
943
+ title: i18n.baseText("commandBar.dataTables.open"),
944
+ section: i18n.baseText("commandBar.sections.dataTables"),
945
+ placeholder: i18n.baseText("commandBar.dataTables.searchPlaceholder"),
946
+ icon: {
947
+ component: N8nIcon_default,
948
+ props: {
949
+ icon: "table",
950
+ color: "text-light"
951
+ }
952
+ },
953
+ children: openDataTableCommands.value
954
+ }, ...rootDataTableItems.value];
955
+ });
956
+ function onCommandBarChange(query) {
957
+ const trimmed = query.trim();
958
+ const isInDataTableParent = activeNodeId.value === ITEM_ID$4.OPEN_DATA_TABLE;
959
+ const isRootWithQuery = activeNodeId.value === null && trimmed.length > 2;
960
+ if (isInDataTableParent || isRootWithQuery) {
961
+ isLoading.value = isInDataTableParent;
962
+ fetchDataTablesDebounced(trimmed);
963
+ }
964
+ }
965
+ function onCommandBarNavigateTo(to) {
966
+ activeNodeId.value = to;
967
+ if (to === ITEM_ID$4.OPEN_DATA_TABLE) {
968
+ isLoading.value = true;
969
+ fetchDataTablesImpl("");
970
+ } else if (to === null) {
971
+ dataTableResults.value = [];
972
+ hasDataFetched.value = false;
973
+ }
974
+ }
975
+ return {
976
+ commands: dataTableNavigationCommands,
977
+ handlers: {
978
+ onCommandBarChange,
979
+ onCommandBarNavigateTo
980
+ },
981
+ isLoading
982
+ };
983
+ }
984
+
985
+ //#endregion
986
+ //#region src/features/shared/commandBar/composables/useCredentialNavigationCommands.ts
987
+
988
+ function useCredentialNavigationCommands(options) {
989
+ const i18n = useI18n();
990
+ const {
991
+ lastQuery,
992
+ activeNodeId,
993
+ currentProjectName
994
+ } = options;
995
+ const credentialsStore = useCredentialsStore();
996
+ const projectsStore = useProjectsStore();
997
+ const uiStore = useUIStore();
998
+ const sourceControlStore = useSourceControlStore();
999
+ const route = useRoute();
1000
+ const router = useRouter();
1001
+ const credentialResults = ref([]);
1002
+ const isLoading = ref(false);
1003
+ const personalProjectId = computed(() => {
1004
+ return projectsStore.myProjects.find(p => p.type === "personal")?.id;
1005
+ });
1006
+ const homeProject = computed(() => projectsStore.currentProject ?? projectsStore.personalProject);
1007
+ function orderResultByCurrentProjectFirst(results) {
1008
+ const currentProjectId = typeof route.params.projectId === "string" ? route.params.projectId : personalProjectId.value;
1009
+ return results.sort((a, b) => {
1010
+ if (a.homeProject?.id === currentProjectId) return -1;
1011
+ if (b.homeProject?.id === currentProjectId) return 1;
1012
+ return 0;
1013
+ });
1014
+ }
1015
+ const fetchCredentialsImpl = async query => {
1016
+ try {
1017
+ const trimmed = (query || "").trim();
1018
+ await credentialsStore.fetchAllCredentials();
1019
+ const trimmedLower = trimmed.toLowerCase();
1020
+ credentialResults.value = orderResultByCurrentProjectFirst(credentialsStore.allCredentials.filter(credential => credential.name.toLowerCase().includes(trimmedLower)));
1021
+ } catch {
1022
+ credentialResults.value = [];
1023
+ } finally {
1024
+ isLoading.value = false;
1025
+ }
1026
+ };
1027
+ const fetchCredentialsDebounced = (0, import_debounce.default)(fetchCredentialsImpl, 300);
1028
+ const getCredentialProjectSuffix = credential => {
1029
+ if (credential.homeProject && credential.homeProject.type === "personal") return i18n.baseText("projects.menu.personal");
1030
+ return credential.homeProject?.name ?? "";
1031
+ };
1032
+ const createCredentialCommand = (credential, isRoot) => {
1033
+ const keywords = [credential.name];
1034
+ const title$1 = isRoot ? i18n.baseText("generic.openResource", {
1035
+ interpolate: {
1036
+ resource: credential.name
1037
+ }
1038
+ }) : credential.name;
1039
+ const section = isRoot ? i18n.baseText("commandBar.sections.credentials") : i18n.baseText("commandBar.credentials.open");
1040
+ return {
1041
+ id: credential.id,
1042
+ title: {
1043
+ component: CommandBarItemTitle_default,
1044
+ props: {
1045
+ title: title$1,
1046
+ suffix: getCredentialProjectSuffix(credential)
1047
+ }
1048
+ },
1049
+ section,
1050
+ keywords,
1051
+ icon: {
1052
+ component: CredentialIcon_default,
1053
+ props: {
1054
+ credentialTypeName: credential.type
1055
+ }
1056
+ },
1057
+ handler: () => {
1058
+ uiStore.openExistingCredential(credential.id);
1059
+ }
1060
+ };
1061
+ };
1062
+ const openCredentialCommands = computed(() => {
1063
+ return credentialResults.value.map(credential => createCredentialCommand(credential, false));
1064
+ });
1065
+ const rootCredentialItems = computed(() => {
1066
+ if (lastQuery.value.length <= 2) return [];
1067
+ return credentialResults.value.map(credential => createCredentialCommand(credential, true));
1068
+ });
1069
+ const credentialNavigationCommands = computed(() => {
1070
+ const hasCreatePermission = !sourceControlStore.preferences.branchReadOnly && getResourcePermissions(homeProject.value?.scopes).credential.create;
1071
+ const newCredentialCommand = {
1072
+ id: ITEM_ID$3.CREATE_CREDENTIAL,
1073
+ title: i18n.baseText("commandBar.credentials.create", {
1074
+ interpolate: {
1075
+ projectName: currentProjectName.value
1076
+ }
1077
+ }),
1078
+ section: i18n.baseText("commandBar.sections.credentials"),
1079
+ keywords: [i18n.baseText("credentials.add")],
1080
+ icon: {
1081
+ component: N8nIcon_default,
1082
+ props: {
1083
+ icon: "lock",
1084
+ color: "text-light"
1085
+ }
1086
+ },
1087
+ handler: () => {
1088
+ const currentProjectId = typeof route.params.projectId === "string" ? route.params.projectId : personalProjectId.value;
1089
+ const routeName = route.name === VIEWS.SHARED_CREDENTIALS ? VIEWS.SHARED_CREDENTIALS : route.name === VIEWS.CREDENTIALS ? VIEWS.CREDENTIALS : VIEWS.PROJECTS_CREDENTIALS;
1090
+ router.push({
1091
+ name: routeName,
1092
+ params: {
1093
+ projectId: currentProjectId,
1094
+ credentialId: "create"
1095
+ }
1096
+ });
1097
+ }
1098
+ };
1099
+ return [...(hasCreatePermission ? [newCredentialCommand] : []), {
1100
+ id: ITEM_ID$3.OPEN_CREDENTIAL,
1101
+ title: i18n.baseText("commandBar.credentials.open"),
1102
+ section: i18n.baseText("commandBar.sections.credentials"),
1103
+ placeholder: i18n.baseText("commandBar.credentials.searchPlaceholder"),
1104
+ children: openCredentialCommands.value,
1105
+ icon: {
1106
+ component: N8nIcon_default,
1107
+ props: {
1108
+ icon: "lock",
1109
+ color: "text-light"
1110
+ }
1111
+ }
1112
+ }, ...rootCredentialItems.value];
1113
+ });
1114
+ function onCommandBarChange(query) {
1115
+ const trimmed = query.trim();
1116
+ const isInCredentialParent = activeNodeId.value === ITEM_ID$3.OPEN_CREDENTIAL;
1117
+ const isRootWithQuery = activeNodeId.value === null && trimmed.length > 2;
1118
+ if (isInCredentialParent || isRootWithQuery) {
1119
+ isLoading.value = isInCredentialParent;
1120
+ fetchCredentialsDebounced(trimmed);
1121
+ }
1122
+ }
1123
+ function onCommandBarNavigateTo(to) {
1124
+ activeNodeId.value = to;
1125
+ if (to === ITEM_ID$3.OPEN_CREDENTIAL) {
1126
+ isLoading.value = true;
1127
+ fetchCredentialsImpl("");
1128
+ } else if (to === null) credentialResults.value = [];
1129
+ }
1130
+ async function initialize() {
1131
+ await credentialsStore.fetchCredentialTypes(false);
1132
+ }
1133
+ return {
1134
+ commands: credentialNavigationCommands,
1135
+ handlers: {
1136
+ onCommandBarChange,
1137
+ onCommandBarNavigateTo
1138
+ },
1139
+ isLoading,
1140
+ initialize
1141
+ };
1142
+ }
1143
+
1144
+ //#endregion
1145
+ //#region src/features/shared/commandBar/composables/useExecutionNavigationCommands.ts
1146
+ function useExecutionNavigationCommands() {
1147
+ const i18n = useI18n();
1148
+ const projectsStore = useProjectsStore();
1149
+ const router = useRouter();
1150
+ const route = useRoute();
1151
+ const personalProjectId = computed(() => {
1152
+ return projectsStore.myProjects.find(p => p.type === "personal")?.id;
1153
+ });
1154
+ const currentProjectId = computed(() => {
1155
+ return typeof route.params.projectId === "string" ? route.params.projectId : personalProjectId.value;
1156
+ });
1157
+ return {
1158
+ commands: computed(() => {
1159
+ return [{
1160
+ id: "open-executions",
1161
+ title: i18n.baseText("commandBar.executions.open"),
1162
+ section: i18n.baseText("commandBar.sections.executions"),
1163
+ icon: {
1164
+ component: N8nIcon_default,
1165
+ props: {
1166
+ icon: "arrow-right"
1167
+ }
1168
+ },
1169
+ handler: () => {
1170
+ if (currentProjectId.value === personalProjectId.value) router.push({
1171
+ name: VIEWS.EXECUTIONS
1172
+ });else router.push({
1173
+ name: VIEWS.PROJECTS_EXECUTIONS,
1174
+ params: {
1175
+ projectId: currentProjectId.value
1176
+ }
1177
+ });
1178
+ }
1179
+ }];
1180
+ })
1181
+ };
1182
+ }
1183
+
1184
+ //#endregion
1185
+ //#region src/features/shared/commandBar/composables/useProjectNavigationCommands.ts
1186
+
1187
+ function useProjectNavigationCommands(options) {
1188
+ const i18n = useI18n();
1189
+ const {
1190
+ lastQuery,
1191
+ activeNodeId
1192
+ } = options;
1193
+ const projectsStore = useProjectsStore();
1194
+ const globalEntityCreation = useGlobalEntityCreation();
1195
+ const router = useRouter();
1196
+ const filteredProjects = computed(() => {
1197
+ const trimmed = (lastQuery.value || "").trim().toLowerCase();
1198
+ const allProjects = projectsStore.availableProjects;
1199
+ if (!trimmed) return allProjects;
1200
+ return allProjects.filter(project => project.name?.toLowerCase().includes(trimmed) || project.id?.toLowerCase().includes(trimmed));
1201
+ });
1202
+ const createProjectCommand = (project, isRoot) => {
1203
+ let title$1 = project.type === "personal" ? i18n.baseText("projects.menu.personal") : project.name ? project.name : i18n.baseText("commandBar.projects.unnamed");
1204
+ if (isRoot) title$1 = i18n.baseText("generic.openResource", {
1205
+ interpolate: {
1206
+ resource: title$1
1207
+ }
1208
+ });
1209
+ const section = isRoot ? i18n.baseText("commandBar.sections.projects") : i18n.baseText("commandBar.projects.open");
1210
+ return {
1211
+ id: project.id,
1212
+ title: title$1,
1213
+ section,
1214
+ keywords: [title$1],
1215
+ handler: () => {
1216
+ router.push({
1217
+ name: VIEWS.PROJECTS_WORKFLOWS,
1218
+ params: {
1219
+ projectId: project.id
1220
+ }
1221
+ });
1222
+ }
1223
+ };
1224
+ };
1225
+ const openProjectCommands = computed(() => {
1226
+ if (!(activeNodeId.value === ITEM_ID$2.OPEN_PROJECT)) return [];
1227
+ return filteredProjects.value.map(project => createProjectCommand(project, false));
1228
+ });
1229
+ const rootProjectItems = computed(() => {
1230
+ if (!(activeNodeId.value === null && lastQuery.value.trim().length > 2)) return [];
1231
+ return filteredProjects.value.map(project => createProjectCommand(project, true));
1232
+ });
1233
+ const projectNavigationCommands = computed(() => {
1234
+ const commands = [];
1235
+ if (projectsStore.hasPermissionToCreateProjects && projectsStore.canCreateProjects) commands.push({
1236
+ id: ITEM_ID$2.CREATE_PROJECT,
1237
+ title: i18n.baseText("commandBar.projects.create"),
1238
+ section: i18n.baseText("commandBar.sections.projects"),
1239
+ icon: {
1240
+ component: N8nIcon_default,
1241
+ props: {
1242
+ icon: "layers",
1243
+ color: "text-light"
1244
+ }
1245
+ },
1246
+ handler: () => {
1247
+ globalEntityCreation.createProject("command_bar");
1248
+ }
1249
+ });
1250
+ if (projectsStore.availableProjects.length > 0) commands.push({
1251
+ id: ITEM_ID$2.OPEN_PROJECT,
1252
+ title: i18n.baseText("commandBar.projects.open"),
1253
+ section: i18n.baseText("commandBar.sections.projects"),
1254
+ placeholder: i18n.baseText("commandBar.projects.searchPlaceholder"),
1255
+ children: openProjectCommands.value,
1256
+ icon: {
1257
+ component: N8nIcon_default,
1258
+ props: {
1259
+ icon: "layers",
1260
+ color: "text-light"
1261
+ }
1262
+ }
1263
+ });
1264
+ return [...commands, ...rootProjectItems.value];
1265
+ });
1266
+ function onCommandBarChange(query) {
1267
+ lastQuery.value = query;
1268
+ }
1269
+ function onCommandBarNavigateTo(to) {
1270
+ activeNodeId.value = to;
1271
+ }
1272
+ return {
1273
+ commands: projectNavigationCommands,
1274
+ handlers: {
1275
+ onCommandBarChange,
1276
+ onCommandBarNavigateTo
1277
+ }
1278
+ };
1279
+ }
1280
+
1281
+ //#endregion
1282
+ //#region src/features/shared/commandBar/composables/useExecutionCommands.ts
1283
+
1284
+ function useExecutionCommands() {
1285
+ const i18n = useI18n();
1286
+ const router = useRouter();
1287
+ const route = useRoute();
1288
+ const executionsStore = useExecutionsStore();
1289
+ const workflowsStore = useWorkflowsStore();
1290
+ const settingsStore = useSettingsStore();
1291
+ const toast = useToast();
1292
+ const message = useMessage();
1293
+ const telemetry = useTelemetry();
1294
+ const workflowId = computed(() => route.params.name);
1295
+ const activeExecution = computed(() => {
1296
+ return executionsStore.activeExecution;
1297
+ });
1298
+ const workflowPermissions = computed(() => getResourcePermissions(workflowsStore.getWorkflowById(workflowId.value)?.scopes).workflow);
1299
+ const isAnnotationEnabled = computed(() => settingsStore.isEnterpriseFeatureEnabled[EnterpriseEditionFeature.AdvancedExecutionFilters]);
1300
+ const hasAnnotation = computed(() => !!activeExecution.value?.annotation && (activeExecution.value?.annotation.vote || activeExecution.value?.annotation.tags.length > 0));
1301
+ const vote = computed(() => activeExecution.value?.annotation?.vote || null);
1302
+ const executions = computed(() => workflowId.value ? [...(executionsStore.currentExecutionsByWorkflowId[workflowId.value] ?? []), ...(executionsStore.executionsByWorkflowId[workflowId.value] ?? [])] : []);
1303
+ const isRetriable = computed(() => {
1304
+ if (!activeExecution.value) return false;
1305
+ const status = activeExecution.value.status;
1306
+ return status === "error" || status === "crashed" || status === "canceled";
1307
+ });
1308
+ const isRunning = computed(() => {
1309
+ if (!activeExecution.value) return false;
1310
+ return activeExecution.value.status === "running" || activeExecution.value.status === "new";
1311
+ });
1312
+ async function handleDeleteExecution() {
1313
+ const confirmationText = [hasAnnotation.value && i18n.baseText("executionDetails.confirmMessage.annotationsNote"), i18n.baseText("executionDetails.confirmMessage.message")].filter(Boolean).join(" ");
1314
+ if ((await message.confirm(confirmationText, i18n.baseText("executionDetails.confirmMessage.headline"), {
1315
+ type: "warning",
1316
+ confirmButtonText: i18n.baseText("executionDetails.confirmMessage.confirmButtonText"),
1317
+ cancelButtonText: ""
1318
+ })) !== "confirm") return;
1319
+ try {
1320
+ const executionId = activeExecution.value.id;
1321
+ const executionIndex = executions.value.findIndex(e => e.id === executionId);
1322
+ const nextExecution = executions.value[executionIndex + 1] || executions.value[executionIndex - 1] || executions.value[0];
1323
+ await executionsStore.deleteExecutions({
1324
+ ids: [executionId]
1325
+ });
1326
+ if (executions.value.length > 0) await router.replace({
1327
+ name: VIEWS.EXECUTION_PREVIEW,
1328
+ params: {
1329
+ name: workflowId.value,
1330
+ executionId: nextExecution.id
1331
+ }
1332
+ }).catch(() => {});else await router.replace({
1333
+ name: VIEWS.EXECUTION_HOME,
1334
+ params: {
1335
+ name: workflowId.value
1336
+ }
1337
+ });
1338
+ toast.showMessage({
1339
+ title: i18n.baseText("executionsList.showMessage.handleDeleteSelected.title"),
1340
+ type: "success"
1341
+ });
1342
+ } catch (error) {
1343
+ toast.showError(error, i18n.baseText("executionsList.showError.handleDeleteSelected.title"));
1344
+ }
1345
+ }
1346
+ async function handleRetryExecution(loadWorkflow) {
1347
+ toast.showMessage({
1348
+ title: i18n.baseText("executionDetails.runningMessage"),
1349
+ type: "info",
1350
+ duration: 2e3
1351
+ });
1352
+ try {
1353
+ const retryMessage = executionRetryMessage((await executionsStore.retryExecution(activeExecution.value.id, loadWorkflow)).status);
1354
+ if (retryMessage) toast.showMessage(retryMessage);
1355
+ telemetry.track("User clicked retry execution button", {
1356
+ workflow_id: workflowId.value,
1357
+ execution_id: activeExecution.value.id,
1358
+ retry_type: loadWorkflow ? "current" : "original"
1359
+ });
1360
+ } catch (error) {
1361
+ toast.showError(error, i18n.baseText("executionsList.showError.retryExecution.title"));
1362
+ }
1363
+ }
1364
+ async function handleStopExecution() {
1365
+ try {
1366
+ await executionsStore.stopCurrentExecution(activeExecution.value.id);
1367
+ toast.showMessage({
1368
+ title: i18n.baseText("executionsList.showMessage.stopExecution.title"),
1369
+ message: i18n.baseText("executionsList.showMessage.stopExecution.message", {
1370
+ interpolate: {
1371
+ activeExecutionId: activeExecution.value.id
1372
+ }
1373
+ }),
1374
+ type: "success"
1375
+ });
1376
+ } catch (error) {
1377
+ toast.showError(error, i18n.baseText("executionsList.showError.stopExecution.title"));
1378
+ }
1379
+ }
1380
+ function handleDebugExecution() {
1381
+ router.push({
1382
+ name: VIEWS.EXECUTION_DEBUG,
1383
+ params: {
1384
+ name: activeExecution.value.workflowId,
1385
+ executionId: activeExecution.value.id
1386
+ }
1387
+ });
1388
+ }
1389
+ async function handleVoteClick(voteValue) {
1390
+ const voteToSet = voteValue === vote.value ? null : voteValue;
1391
+ try {
1392
+ await executionsStore.annotateExecution(activeExecution.value.id, {
1393
+ vote: voteToSet
1394
+ });
1395
+ } catch (e) {
1396
+ toast.showError(e, "executionAnnotationView.vote.error");
1397
+ }
1398
+ }
1399
+ return {
1400
+ commands: computed(() => {
1401
+ if (!activeExecution.value) return [];
1402
+ const commands = [];
1403
+ if (workflowPermissions.value.update) {
1404
+ const isSuccess = activeExecution.value.status === "success";
1405
+ commands.push({
1406
+ id: ITEM_ID$1.DEBUG_EXECUTION,
1407
+ title: isSuccess ? i18n.baseText("executionsList.debug.button.copyToEditor") : i18n.baseText("executionsList.debug.button.debugInEditor"),
1408
+ section: i18n.baseText("commandBar.sections.execution"),
1409
+ handler: handleDebugExecution,
1410
+ icon: {
1411
+ component: N8nIcon_default,
1412
+ props: {
1413
+ icon: isSuccess ? "copy" : "bug"
1414
+ }
1415
+ }
1416
+ });
1417
+ }
1418
+ if (isRetriable.value && workflowPermissions.value.update) {
1419
+ commands.push({
1420
+ id: ITEM_ID$1.RETRY_CURRENT_WORKFLOW,
1421
+ title: i18n.baseText("executionsList.retryWithCurrentlySavedWorkflow"),
1422
+ section: i18n.baseText("commandBar.sections.execution"),
1423
+ handler: async () => await handleRetryExecution(true),
1424
+ icon: {
1425
+ component: N8nIcon_default,
1426
+ props: {
1427
+ icon: "redo-2"
1428
+ }
1429
+ }
1430
+ });
1431
+ commands.push({
1432
+ id: ITEM_ID$1.RETRY_ORIGINAL_WORKFLOW,
1433
+ title: i18n.baseText("executionsList.retryWithOriginalWorkflow"),
1434
+ section: i18n.baseText("commandBar.sections.execution"),
1435
+ handler: async () => await handleRetryExecution(false),
1436
+ icon: {
1437
+ component: N8nIcon_default,
1438
+ props: {
1439
+ icon: "redo"
1440
+ }
1441
+ }
1442
+ });
1443
+ }
1444
+ if (isRunning.value && workflowPermissions.value.execute) commands.push({
1445
+ id: ITEM_ID$1.STOP_EXECUTION,
1446
+ title: i18n.baseText("executionsList.stopExecution"),
1447
+ section: i18n.baseText("commandBar.sections.execution"),
1448
+ handler: handleStopExecution,
1449
+ icon: {
1450
+ component: N8nIcon_default,
1451
+ props: {
1452
+ icon: "stop"
1453
+ }
1454
+ }
1455
+ });
1456
+ if (isAnnotationEnabled.value) {
1457
+ commands.push({
1458
+ id: ITEM_ID$1.VOTE_UP,
1459
+ title: vote.value === "up" ? i18n.baseText("executionAnnotationView.vote.removeUp") : i18n.baseText("executionAnnotationView.vote.up"),
1460
+ section: i18n.baseText("commandBar.sections.execution"),
1461
+ handler: async () => await handleVoteClick("up"),
1462
+ icon: {
1463
+ component: N8nIcon_default,
1464
+ props: {
1465
+ icon: "thumbs-up"
1466
+ }
1467
+ }
1468
+ });
1469
+ commands.push({
1470
+ id: ITEM_ID$1.VOTE_DOWN,
1471
+ title: vote.value === "down" ? i18n.baseText("executionAnnotationView.vote.removeDown") : i18n.baseText("executionAnnotationView.vote.down"),
1472
+ section: i18n.baseText("commandBar.sections.execution"),
1473
+ handler: async () => await handleVoteClick("down"),
1474
+ icon: {
1475
+ component: N8nIcon_default,
1476
+ props: {
1477
+ icon: "thumbs-down"
1478
+ }
1479
+ }
1480
+ });
1481
+ }
1482
+ if (workflowPermissions.value.update) commands.push({
1483
+ id: ITEM_ID$1.DELETE_EXECUTION,
1484
+ title: i18n.baseText("executionDetails.deleteExecution"),
1485
+ section: i18n.baseText("commandBar.sections.execution"),
1486
+ handler: handleDeleteExecution,
1487
+ icon: {
1488
+ component: N8nIcon_default,
1489
+ props: {
1490
+ icon: "trash-2"
1491
+ }
1492
+ }
1493
+ });
1494
+ return commands;
1495
+ })
1496
+ };
1497
+ }
1498
+
1499
+ //#endregion
1500
+ //#region src/features/shared/commandBar/composables/useGenericCommands.ts
1501
+
1502
+ function useGenericCommands() {
1503
+ const i18n = useI18n();
1504
+ const uiStore = useUIStore();
1505
+ const router = useRouter();
1506
+ const {
1507
+ getReportingURL
1508
+ } = useBugReporting();
1509
+ return {
1510
+ commands: computed(() => [{
1511
+ id: ITEM_ID.WHATS_NEW,
1512
+ title: i18n.baseText("mainSidebar.whatsNew"),
1513
+ section: i18n.baseText("commandBar.sections.general"),
1514
+ handler: () => {
1515
+ uiStore.openModal(WHATS_NEW_MODAL_KEY);
1516
+ },
1517
+ icon: {
1518
+ component: N8nIcon_default,
1519
+ props: {
1520
+ icon: "bell"
1521
+ }
1522
+ },
1523
+ keywords: [i18n.baseText("mainSidebar.whatsNew").toLowerCase(), i18n.baseText("mainSidebar.whatsNew.fullChangelog").toLowerCase()]
1524
+ }, {
1525
+ id: ITEM_ID.TEMPLATES,
1526
+ title: i18n.baseText("generic.templates"),
1527
+ section: i18n.baseText("commandBar.sections.general"),
1528
+ handler: () => {
1529
+ router.push({
1530
+ name: VIEWS.PRE_BUILT_AGENT_TEMPLATES
1531
+ });
1532
+ },
1533
+ icon: {
1534
+ component: N8nIcon_default,
1535
+ props: {
1536
+ icon: "package-open"
1537
+ }
1538
+ },
1539
+ keywords: [i18n.baseText("generic.templates").toLowerCase()]
1540
+ }, {
1541
+ id: ITEM_ID.VARIABLES,
1542
+ title: i18n.baseText("mainSidebar.variables"),
1543
+ section: i18n.baseText("commandBar.sections.general"),
1544
+ handler: () => {
1545
+ router.push({
1546
+ name: VIEWS.HOME_VARIABLES
1547
+ });
1548
+ },
1549
+ icon: {
1550
+ component: N8nIcon_default,
1551
+ props: {
1552
+ icon: "variable"
1553
+ }
1554
+ },
1555
+ keywords: [i18n.baseText("mainSidebar.variables").toLowerCase()]
1556
+ }, {
1557
+ id: ITEM_ID.INSIGHTS,
1558
+ title: "Insights",
1559
+ section: i18n.baseText("commandBar.sections.general"),
1560
+ handler: () => {
1561
+ router.push({
1562
+ name: VIEWS.INSIGHTS
1563
+ });
1564
+ },
1565
+ icon: {
1566
+ component: N8nIcon_default,
1567
+ props: {
1568
+ icon: "chart-column-decreasing"
1569
+ }
1570
+ },
1571
+ keywords: ["insights"]
1572
+ }, {
1573
+ id: ITEM_ID.QUICKSTART,
1574
+ title: i18n.baseText("mainSidebar.helpMenuItems.quickstart"),
1575
+ section: i18n.baseText("mainSidebar.help"),
1576
+ handler: () => {
1577
+ window.open(EXTERNAL_LINKS.QUICKSTART_VIDEO, "_blank", "noreferrer");
1578
+ },
1579
+ icon: {
1580
+ component: N8nIcon_default,
1581
+ props: {
1582
+ icon: "video"
1583
+ }
1584
+ },
1585
+ keywords: [i18n.baseText("mainSidebar.helpMenuItems.quickstart").toLowerCase()]
1586
+ }, {
1587
+ id: ITEM_ID.DOCUMENTATION,
1588
+ title: i18n.baseText("mainSidebar.helpMenuItems.documentation"),
1589
+ section: i18n.baseText("mainSidebar.help"),
1590
+ handler: () => {
1591
+ window.open(EXTERNAL_LINKS.DOCUMENTATION, "_blank", "noreferrer");
1592
+ },
1593
+ icon: {
1594
+ component: N8nIcon_default,
1595
+ props: {
1596
+ icon: "book"
1597
+ }
1598
+ },
1599
+ keywords: [i18n.baseText("mainSidebar.helpMenuItems.documentation").toLowerCase()]
1600
+ }, {
1601
+ id: ITEM_ID.FORUM,
1602
+ title: i18n.baseText("mainSidebar.helpMenuItems.forum"),
1603
+ section: i18n.baseText("mainSidebar.help"),
1604
+ handler: () => {
1605
+ window.open(EXTERNAL_LINKS.FORUM, "_blank", "noreferrer");
1606
+ },
1607
+ icon: {
1608
+ component: N8nIcon_default,
1609
+ props: {
1610
+ icon: "users"
1611
+ }
1612
+ },
1613
+ keywords: [i18n.baseText("mainSidebar.helpMenuItems.forum").toLowerCase()]
1614
+ }, {
1615
+ id: ITEM_ID.COURSE,
1616
+ title: i18n.baseText("mainSidebar.helpMenuItems.course"),
1617
+ section: i18n.baseText("mainSidebar.help"),
1618
+ handler: () => {
1619
+ window.open(EXTERNAL_LINKS.COURSES, "_blank", "noreferrer");
1620
+ },
1621
+ icon: {
1622
+ component: N8nIcon_default,
1623
+ props: {
1624
+ icon: "graduation-cap"
1625
+ }
1626
+ },
1627
+ keywords: [i18n.baseText("mainSidebar.helpMenuItems.course").toLowerCase()]
1628
+ }, {
1629
+ id: ITEM_ID.REPORT_BUG,
1630
+ title: i18n.baseText("mainSidebar.helpMenuItems.reportBug"),
1631
+ section: i18n.baseText("mainSidebar.help"),
1632
+ handler: () => {
1633
+ window.open(getReportingURL(), "_blank", "noreferrer");
1634
+ },
1635
+ icon: {
1636
+ component: N8nIcon_default,
1637
+ props: {
1638
+ icon: "bug"
1639
+ }
1640
+ },
1641
+ keywords: [i18n.baseText("mainSidebar.helpMenuItems.reportBug").toLowerCase()]
1642
+ }, {
1643
+ id: ITEM_ID.ABOUT,
1644
+ title: i18n.baseText("mainSidebar.aboutN8n"),
1645
+ section: i18n.baseText("mainSidebar.help"),
1646
+ handler: () => {
1647
+ uiStore.openModal(ABOUT_MODAL_KEY);
1648
+ },
1649
+ icon: {
1650
+ component: N8nIcon_default,
1651
+ props: {
1652
+ icon: "info"
1653
+ }
1654
+ },
1655
+ keywords: [i18n.baseText("mainSidebar.aboutN8n").toLowerCase()]
1656
+ }, {
1657
+ id: ITEM_ID.SETTINGS,
1658
+ title: i18n.baseText("settings"),
1659
+ section: i18n.baseText("commandBar.sections.general"),
1660
+ handler: () => {
1661
+ router.push({
1662
+ name: VIEWS.SETTINGS
1663
+ });
1664
+ },
1665
+ icon: {
1666
+ component: N8nIcon_default,
1667
+ props: {
1668
+ icon: "cog"
1669
+ }
1670
+ },
1671
+ keywords: [i18n.baseText("settings").toLowerCase()]
1672
+ }, {
1673
+ id: ITEM_ID.SIGN_OUT,
1674
+ title: i18n.baseText("auth.signout"),
1675
+ section: i18n.baseText("commandBar.sections.general"),
1676
+ handler: () => {
1677
+ router.push({
1678
+ name: VIEWS.SIGNOUT
1679
+ });
1680
+ },
1681
+ icon: {
1682
+ component: N8nIcon_default,
1683
+ props: {
1684
+ icon: "sign-out-alt"
1685
+ }
1686
+ },
1687
+ keywords: [i18n.baseText("auth.signout").toLowerCase()]
1688
+ }])
1689
+ };
1690
+ }
1691
+
1692
+ //#endregion
1693
+ //#region src/features/shared/commandBar/composables/useCommandBar.ts
1694
+ function useCommandBar() {
1695
+ const nodeTypesStore = useNodeTypesStore();
1696
+ const projectsStore = useProjectsStore();
1697
+ const workflowStore = useWorkflowsStore();
1698
+ const router = useRouter();
1699
+ const route = useRoute();
1700
+ const postHog = usePostHog();
1701
+ const i18n = useI18n();
1702
+ const telemetry = useTelemetry();
1703
+ const placeholder = i18n.baseText("commandBar.placeholder");
1704
+ const isEnabled = computed(() => postHog.isVariantEnabled(COMMAND_BAR_EXPERIMENT.name, COMMAND_BAR_EXPERIMENT.variant));
1705
+ const activeNodeId = ref(null);
1706
+ const lastQuery = ref("");
1707
+ const currentProjectName = computed(() => {
1708
+ const projectId = route.params.projectId || projectsStore.currentProjectId;
1709
+ if (projectId === projectsStore.personalProject?.id) return "Personal";
1710
+ return projectsStore.myProjects.find(p => p.id === projectId)?.name ?? "Personal";
1711
+ });
1712
+ const nodeCommandGroup = useNodeCommands({
1713
+ lastQuery,
1714
+ activeNodeId
1715
+ });
1716
+ const workflowCommandGroup = useWorkflowCommands();
1717
+ const executionCommandGroup = useExecutionCommands();
1718
+ const workflowNavigationGroup = useWorkflowNavigationCommands({
1719
+ lastQuery,
1720
+ activeNodeId,
1721
+ currentProjectName
1722
+ });
1723
+ const dataTableNavigationGroup = useDataTableNavigationCommands({
1724
+ lastQuery,
1725
+ activeNodeId,
1726
+ currentProjectName
1727
+ });
1728
+ const credentialNavigationGroup = useCredentialNavigationCommands({
1729
+ lastQuery,
1730
+ activeNodeId,
1731
+ currentProjectName
1732
+ });
1733
+ const executionNavigationGroup = useExecutionNavigationCommands();
1734
+ const projectNavigationGroup = useProjectNavigationCommands({
1735
+ lastQuery,
1736
+ activeNodeId
1737
+ });
1738
+ const genericCommandGroup = useGenericCommands();
1739
+ const recentResourcesGroup = useRecentResources();
1740
+ const canvasViewGroups = [recentResourcesGroup, nodeCommandGroup, workflowCommandGroup, workflowNavigationGroup, genericCommandGroup];
1741
+ const executionViewGroups = [recentResourcesGroup, executionCommandGroup, workflowNavigationGroup, projectNavigationGroup, credentialNavigationGroup, dataTableNavigationGroup, executionNavigationGroup, genericCommandGroup];
1742
+ const workflowsListViewGroups = [recentResourcesGroup, workflowNavigationGroup, projectNavigationGroup, credentialNavigationGroup, dataTableNavigationGroup, executionNavigationGroup, genericCommandGroup];
1743
+ const credentialsListViewGroups = [recentResourcesGroup, credentialNavigationGroup, projectNavigationGroup, workflowNavigationGroup, dataTableNavigationGroup, executionNavigationGroup, genericCommandGroup];
1744
+ const executionsListViewGroups = [recentResourcesGroup, workflowNavigationGroup, projectNavigationGroup, credentialNavigationGroup, dataTableNavigationGroup, genericCommandGroup];
1745
+ const dataStoresListViewGroups = [recentResourcesGroup, dataTableNavigationGroup, projectNavigationGroup, workflowNavigationGroup, credentialNavigationGroup, executionNavigationGroup, genericCommandGroup];
1746
+ const evaluationViewGroups = [recentResourcesGroup, workflowNavigationGroup, projectNavigationGroup, credentialNavigationGroup, dataTableNavigationGroup, executionNavigationGroup, genericCommandGroup];
1747
+ const fallbackViewCommands = [recentResourcesGroup, projectNavigationGroup, workflowNavigationGroup, credentialNavigationGroup, dataTableNavigationGroup, executionNavigationGroup, genericCommandGroup];
1748
+ const activeCommandGroups = computed(() => {
1749
+ switch (router.currentRoute.value.name) {
1750
+ case VIEWS.WORKFLOW:
1751
+ case VIEWS.NEW_WORKFLOW:
1752
+ return canvasViewGroups;
1753
+ case VIEWS.EXECUTION_PREVIEW:
1754
+ case VIEWS.EXECUTION_DEBUG:
1755
+ return executionViewGroups;
1756
+ case VIEWS.WORKFLOWS:
1757
+ case VIEWS.PROJECTS_WORKFLOWS:
1758
+ return workflowsListViewGroups;
1759
+ case VIEWS.CREDENTIALS:
1760
+ case VIEWS.PROJECTS_CREDENTIALS:
1761
+ return credentialsListViewGroups;
1762
+ case VIEWS.EXECUTIONS:
1763
+ case VIEWS.PROJECTS_EXECUTIONS:
1764
+ return executionsListViewGroups;
1765
+ case PROJECT_DATA_TABLES:
1766
+ case DATA_TABLE_VIEW:
1767
+ return dataStoresListViewGroups;
1768
+ case VIEWS.EVALUATION:
1769
+ case VIEWS.EVALUATION_EDIT:
1770
+ case VIEWS.EVALUATION_RUNS_DETAIL:
1771
+ return evaluationViewGroups;
1772
+ default:
1773
+ return fallbackViewCommands;
1774
+ }
1775
+ });
1776
+ const context = computed(() => {
1777
+ switch (router.currentRoute.value.name) {
1778
+ case VIEWS.WORKFLOW:
1779
+ case VIEWS.NEW_WORKFLOW:
1780
+ return workflowStore.workflow.name ? i18n.baseText("commandBar.sections.workflow") + " ⋅ " + workflowStore.workflow.name : "";
1781
+ case VIEWS.EXECUTION_PREVIEW:
1782
+ case VIEWS.EXECUTION_DEBUG:
1783
+ return workflowStore.workflow.name ? i18n.baseText("commandBar.sections.execution") + " ⋅ " + workflowStore.workflow.name : "";
1784
+ case VIEWS.EVALUATION:
1785
+ case VIEWS.EVALUATION_EDIT:
1786
+ case VIEWS.EVALUATION_RUNS_DETAIL:
1787
+ return workflowStore.workflow.name ? " ⋅ " + workflowStore.workflow.name : "";
1788
+ default:
1789
+ return "";
1790
+ }
1791
+ });
1792
+ const trackCommand = (item, view, parentItem) => {
1793
+ telemetry.track("User executed command bar command", {
1794
+ command_id: item.id,
1795
+ command_section: item.section,
1796
+ view,
1797
+ parent_command_id: parentItem?.id
1798
+ });
1799
+ };
1800
+ const wrapItemWithTelemetry = item => {
1801
+ const wrappedItem = {
1802
+ ...item
1803
+ };
1804
+ const routeName = (router.currentRoute.value.name ?? "").toString();
1805
+ if (item.handler) {
1806
+ const originalHandler = item.handler;
1807
+ wrappedItem.handler = async () => {
1808
+ trackCommand(item, routeName);
1809
+ return await originalHandler();
1810
+ };
1811
+ }
1812
+ if (item.children) wrappedItem.children = item.children.map(child => {
1813
+ if (child.handler) {
1814
+ const originalChildHandler = child.handler;
1815
+ return {
1816
+ ...child,
1817
+ handler: async () => {
1818
+ trackCommand(child, routeName, item);
1819
+ return await originalChildHandler();
1820
+ }
1821
+ };
1822
+ }
1823
+ return child;
1824
+ });
1825
+ return wrappedItem;
1826
+ };
1827
+ const items = computed(() => {
1828
+ return activeCommandGroups.value.flatMap(group => group.commands.value).map(wrapItemWithTelemetry);
1829
+ });
1830
+ const isLoading = computed(() => {
1831
+ return activeCommandGroups.value.some(group => group.isLoading?.value === true);
1832
+ });
1833
+ function onCommandBarChange(query) {
1834
+ lastQuery.value = query;
1835
+ for (const group of activeCommandGroups.value) if (group.handlers?.onCommandBarChange) group.handlers.onCommandBarChange(query);
1836
+ }
1837
+ function onCommandBarNavigateTo(to) {
1838
+ for (const group of activeCommandGroups.value) if (group.handlers?.onCommandBarNavigateTo) group.handlers.onCommandBarNavigateTo(to);
1839
+ }
1840
+ async function initialize() {
1841
+ await nodeTypesStore.loadNodeTypesIfNotLoaded();
1842
+ const initPromises = activeCommandGroups.value.map(async group => {
1843
+ if (group.initialize) await group.initialize();
1844
+ });
1845
+ await Promise.all(initPromises);
1846
+ }
1847
+ return {
1848
+ isEnabled,
1849
+ items,
1850
+ initialize,
1851
+ onCommandBarChange,
1852
+ onCommandBarNavigateTo,
1853
+ placeholder,
1854
+ context,
1855
+ isLoading
1856
+ };
1857
+ }
1858
+
1859
+ //#endregion
1860
+ _export("t", useCommandBar);
1861
+ return {
1862
+ setters: [function (_chunkLegacy001Js) {
1863
+ __toESM = _chunkLegacy001Js.o;
1864
+ }, function (_vueRuntimeEsmBundlerLegacy003Js) {
1865
+ computed = _vueRuntimeEsmBundlerLegacy003Js.C;
1866
+ createElementBlock = _vueRuntimeEsmBundlerLegacy003Js.D;
1867
+ createCommentVNode = _vueRuntimeEsmBundlerLegacy003Js.E;
1868
+ unref = _vueRuntimeEsmBundlerLegacy003Js.Gt;
1869
+ ref = _vueRuntimeEsmBundlerLegacy003Js.It;
1870
+ createVNode = _vueRuntimeEsmBundlerLegacy003Js.M;
1871
+ defineComponent = _vueRuntimeEsmBundlerLegacy003Js.P;
1872
+ toDisplayString = _vueRuntimeEsmBundlerLegacy003Js.Sn;
1873
+ createBlock = _vueRuntimeEsmBundlerLegacy003Js.T;
1874
+ normalizeClass = _vueRuntimeEsmBundlerLegacy003Js._n;
1875
+ openBlock = _vueRuntimeEsmBundlerLegacy003Js.et;
1876
+ createTextVNode = _vueRuntimeEsmBundlerLegacy003Js.j;
1877
+ createBaseVNode = _vueRuntimeEsmBundlerLegacy003Js.w;
1878
+ }, function (_MapCacheLegacy005Js) {
1879
+ useI18n = _MapCacheLegacy005Js.gt;
1880
+ }, function (_srcLegacy007Js) {
1881
+ N8nKeyboardShortcut_default = _srcLegacy007Js.nt;
1882
+ N8nIcon_default = _srcLegacy007Js.zn;
1883
+ }, function (_pluginVue_exportHelperLegacy00fJs) {
1884
+ __plugin_vue_export_helper_default = _pluginVue_exportHelperLegacy00fJs.t;
1885
+ }, function (_truncateLegacy00hJs) {
1886
+ useRouter = _truncateLegacy00hJs.b;
1887
+ useRoute = _truncateLegacy00hJs.y;
1888
+ }, function (_useMessageLegacy00vJs) {
1889
+ useMessage = _useMessageLegacy00vJs.t;
1890
+ }, function (_useTelemetryLegacy00FJs) {
1891
+ useSettingsStore = _useTelemetryLegacy00FJs.Bo;
1892
+ useSourceControlStore = _useTelemetryLegacy00FJs.Dn;
1893
+ nodeViewEventBus = _useTelemetryLegacy00FJs.Ei;
1894
+ useProjectsStore = _useTelemetryLegacy00FJs.En;
1895
+ useCredentialsStore = _useTelemetryLegacy00FJs.Ht;
1896
+ useUIStore = _useTelemetryLegacy00FJs.Ni;
1897
+ ProjectTypes = _useTelemetryLegacy00FJs.On;
1898
+ useRootStore = _useTelemetryLegacy00FJs.Qs;
1899
+ executionRetryMessage = _useTelemetryLegacy00FJs.X;
1900
+ useTagsStore = _useTelemetryLegacy00FJs._n;
1901
+ usePostHog = _useTelemetryLegacy00FJs.i;
1902
+ useActionsGenerator = _useTelemetryLegacy00FJs.it;
1903
+ useWorkflowHelpers = _useTelemetryLegacy00FJs.mn;
1904
+ useWorkflowsStore = _useTelemetryLegacy00FJs.o;
1905
+ useNodeTypesStore = _useTelemetryLegacy00FJs.rt;
1906
+ useTelemetry = _useTelemetryLegacy00FJs.t;
1907
+ }, function (_useToastLegacy00HJs) {
1908
+ useToast = _useToastLegacy00HJs.t;
1909
+ }, function (_constantsLegacy00NJs) {
1910
+ COMMAND_BAR_EXPERIMENT = _constantsLegacy00NJs.As;
1911
+ EnterpriseEditionFeature = _constantsLegacy00NJs.Hs;
1912
+ DATA_TABLE_VIEW = _constantsLegacy00NJs.Kn;
1913
+ isResourceLocatorValue = _constantsLegacy00NJs.Li;
1914
+ MODAL_CONFIRM = _constantsLegacy00NJs.No;
1915
+ IMPORT_WORKFLOW_URL_MODAL_KEY = _constantsLegacy00NJs.Oo;
1916
+ DATA_TABLE_DETAILS = _constantsLegacy00NJs.Vn;
1917
+ WHATS_NEW_MODAL_KEY = _constantsLegacy00NJs.Vo;
1918
+ getResourcePermissions = _constantsLegacy00NJs._r;
1919
+ EXECUTE_WORKFLOW_NODE_TYPE = _constantsLegacy00NJs._t;
1920
+ ABOUT_MODAL_KEY = _constantsLegacy00NJs.ho;
1921
+ PROJECT_DATA_TABLES = _constantsLegacy00NJs.ir;
1922
+ VIEWS = _constantsLegacy00NJs.mo;
1923
+ WORKFLOW_SETTINGS_MODAL_KEY = _constantsLegacy00NJs.qo;
1924
+ DUPLICATE_MODAL_KEY = _constantsLegacy00NJs.xo;
1925
+ }, function (_useDebounceLegacy00VJs) {
1926
+ require_debounce = _useDebounceLegacy00VJs.n;
1927
+ }, function (_useWorkflowSavingLegacy019Js) {
1928
+ useWorkflowSaving = _useWorkflowSavingLegacy019Js.t;
1929
+ }, function (_executionsStoreLegacy01dJs) {
1930
+ useExecutionsStore = _executionsStoreLegacy01dJs.t;
1931
+ }, function (_useRunWorkflowLegacy01fJs) {
1932
+ useRunWorkflow = _useRunWorkflowLegacy01fJs.t;
1933
+ }, function (_useCanvasOperationsLegacy01pJs) {
1934
+ canvasEventBus = _useCanvasOperationsLegacy01pJs.r;
1935
+ useCanvasOperations = _useCanvasOperationsLegacy01pJs.t;
1936
+ }, function (_foldersStoreLegacy01tJs) {
1937
+ useFoldersStore = _foldersStoreLegacy01tJs.t;
1938
+ }, function (_NodeIconLegacy01vJs) {
1939
+ NodeIcon_default = _NodeIconLegacy01vJs.t;
1940
+ }, function (_dataTableStoreLegacy01HJs) {
1941
+ useDataTableStore = _dataTableStoreLegacy01HJs.t;
1942
+ }, function (_useBugReportingLegacy01LJs) {
1943
+ EXTERNAL_LINKS = _useBugReportingLegacy01LJs.n;
1944
+ useGlobalEntityCreation = _useBugReportingLegacy01LJs.r;
1945
+ useBugReporting = _useBugReportingLegacy01LJs.t;
1946
+ }, function (_uniqByLegacy01$Js) {
1947
+ require_uniqBy = _uniqByLegacy01$Js.t;
1948
+ }, function (_ProjectIconLegacy025Js) {
1949
+ isIconOrEmoji = _ProjectIconLegacy025Js.n;
1950
+ ProjectIcon_default = _ProjectIconLegacy025Js.t;
1951
+ }, function (_CredentialIconLegacy02bJs) {
1952
+ CredentialIcon_default = _CredentialIconLegacy02bJs.t;
1953
+ }, function (_FileSaverMinLegacy02rJs) {
1954
+ require_FileSaver_min = _FileSaverMinLegacy02rJs.t;
1955
+ }, function (_useRecentResourcesLegacy03bJs) {
1956
+ useRecentResources = _useRecentResourcesLegacy03bJs.t;
1957
+ }, function (_useWorkflowActivateLegacy03zJs) {
1958
+ useWorkflowActivate = _useWorkflowActivateLegacy03zJs.t;
1959
+ }],
1960
+ execute: function () {
1961
+ __vite_style__ = document.createElement('style');
1962
+ __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_16jtl_123 {\n display: flex;\n gap: var(--spacing--3xs);\n align-items: center;\n min-width: 0;\n}\n._title_16jtl_130 {\n color: var(--color--text);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-shrink: 1;\n min-width: 0;\n}\n._suffix_16jtl_139 {\n display: flex;\n align-items: center;\n gap: var(--spacing--4xs);\n color: var(--color--text--tint-1);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 50%;\n}\n._action_16jtl_150 {\n color: var(--color--text--tint-1);\n margin-left: auto;\n flex-shrink: 0;\n}\n._shortcut_16jtl_156 {\n margin-left: auto;\n flex-shrink: 0;\n}/*$vite$:1*/";
1963
+ document.head.appendChild(__vite_style__);
1964
+ //#region src/features/shared/commandBar/components/CommandBarItemTitle.vue?vue&type=script&setup=true&lang.ts
1965
+ CommandBarItemTitle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */defineComponent({
1966
+ __name: "CommandBarItemTitle",
1967
+ props: {
1968
+ title: {},
1969
+ suffix: {},
1970
+ suffixIcon: {},
1971
+ actionText: {},
1972
+ shortcut: {},
1973
+ isSelected: {
1974
+ type: Boolean
1975
+ },
1976
+ isHovered: {
1977
+ type: Boolean
1978
+ }
1979
+ },
1980
+ setup(__props) {
1981
+ return (_ctx, _cache) => {
1982
+ return openBlock(), createElementBlock("span", {
1983
+ class: normalizeClass(_ctx.$style.container)
1984
+ }, [createBaseVNode("span", {
1985
+ class: normalizeClass(_ctx.$style.title)
1986
+ }, toDisplayString(_ctx.title), 3), _ctx.suffix ? (openBlock(), createElementBlock("span", {
1987
+ key: 0,
1988
+ class: normalizeClass(_ctx.$style.suffix)
1989
+ }, [_ctx.suffixIcon ? (openBlock(), createBlock(ProjectIcon_default, {
1990
+ key: 0,
1991
+ icon: _ctx.suffixIcon,
1992
+ size: "mini",
1993
+ "border-less": true
1994
+ }, null, 8, ["icon"])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(_ctx.suffix), 1)], 2)) : createCommentVNode("", true), _ctx.actionText && (_ctx.isSelected || _ctx.isHovered) ? (openBlock(), createElementBlock("span", {
1995
+ key: 1,
1996
+ class: normalizeClass(_ctx.$style.action)
1997
+ }, toDisplayString(_ctx.actionText), 3)) : createCommentVNode("", true), _ctx.shortcut ? (openBlock(), createElementBlock("span", {
1998
+ key: 2,
1999
+ class: normalizeClass(_ctx.$style.shortcut)
2000
+ }, [createVNode(unref(N8nKeyboardShortcut_default), {
2001
+ keys: _ctx.shortcut.keys,
2002
+ "meta-key": _ctx.shortcut.metaKey,
2003
+ "alt-key": _ctx.shortcut.altKey,
2004
+ "shift-key": _ctx.shortcut.shiftKey
2005
+ }, null, 8, ["keys", "meta-key", "alt-key", "shift-key"])], 2)) : createCommentVNode("", true)], 2);
2006
+ };
2007
+ }
2008
+ }); //#endregion
2009
+ //#region src/features/shared/commandBar/components/CommandBarItemTitle.vue?vue&type=style&index=0&lang.module.scss
2010
+ container = "_container_16jtl_123";
2011
+ title = "_title_16jtl_130";
2012
+ suffix = "_suffix_16jtl_139";
2013
+ action = "_action_16jtl_150";
2014
+ shortcut = "_shortcut_16jtl_156";
2015
+ CommandBarItemTitle_vue_vue_type_style_index_0_lang_module_default = {
2016
+ container,
2017
+ title,
2018
+ suffix,
2019
+ action,
2020
+ shortcut
2021
+ }; //#endregion
2022
+ //#region src/features/shared/commandBar/components/CommandBarItemTitle.vue
2023
+ cssModules = {
2024
+ "$style": CommandBarItemTitle_vue_vue_type_style_index_0_lang_module_default
2025
+ };
2026
+ CommandBarItemTitle_default = /* @__PURE__ */__plugin_vue_export_helper_default(CommandBarItemTitle_vue_vue_type_script_setup_true_lang_default, [["__cssModules", cssModules]]); //#endregion
2027
+ //#region src/features/shared/commandBar/composables/useNodeCommands.ts
2028
+ ITEM_ID$7 = {
2029
+ ADD_NODE: "add-node",
2030
+ OPEN_NODE: "open-node",
2031
+ ADD_STICKY: "add-sticky"
2032
+ };
2033
+ import_FileSaver_min = /* @__PURE__ */__toESM(require_FileSaver_min());
2034
+ import_uniqBy = /* @__PURE__ */__toESM(require_uniqBy());
2035
+ ITEM_ID$6 = {
2036
+ OPEN_CREDENTIAL: "open-credential",
2037
+ OPEN_SUB_WORKFLOW: "open-sub-workflow",
2038
+ TEST_WORKFLOW: "test-workflow",
2039
+ SAVE_WORKFLOW: "save-workflow",
2040
+ ACTIVATE_WORKFLOW: "activate-workflow",
2041
+ DEACTIVATE_WORKFLOW: "deactivate-workflow",
2042
+ SELECT_ALL: "select-all",
2043
+ OPEN_WORKFLOW_SETTINGS: "open-workflow-settings",
2044
+ TIDY_UP_WORKFLOW: "tidy-up-workflow",
2045
+ RENAME_WORKFLOW: "rename-workflow",
2046
+ ADD_TAG: "add-tag",
2047
+ DUPLICATE_WORKFLOW: "duplicate-workflow",
2048
+ DOWNLOAD_WORKFLOW: "download-workflow",
2049
+ IMPORT_WORKFLOW_FROM_URL: "import-workflow-from-url",
2050
+ IMPORT_WORKFLOW_FROM_FILE: "import-workflow-from-file",
2051
+ ARCHIVE_WORKFLOW: "archive-workflow",
2052
+ UNARCHIVE_WORKFLOW: "unarchive-workflow",
2053
+ DELETE_WORKFLOW: "delete-workflow"
2054
+ };
2055
+ import_debounce$2 = /* @__PURE__ */__toESM(require_debounce());
2056
+ ITEM_ID$5 = {
2057
+ CREATE_WORKFLOW: "create-workflow",
2058
+ OPEN_WORKFLOW: "open-workflow"
2059
+ };
2060
+ import_debounce$1 = /* @__PURE__ */__toESM(require_debounce());
2061
+ ITEM_ID$4 = {
2062
+ OPEN_DATA_TABLE: "open-data-table",
2063
+ CREATE_DATA_TABLE: "create-data-table"
2064
+ };
2065
+ import_debounce = /* @__PURE__ */__toESM(require_debounce());
2066
+ ITEM_ID$3 = {
2067
+ CREATE_CREDENTIAL: "create-credential",
2068
+ OPEN_CREDENTIAL: "open-credential"
2069
+ };
2070
+ ITEM_ID$2 = {
2071
+ CREATE_PROJECT: "create-project",
2072
+ OPEN_PROJECT: "open-project"
2073
+ };
2074
+ ITEM_ID$1 = {
2075
+ DELETE_EXECUTION: "delete-execution",
2076
+ RETRY_CURRENT_WORKFLOW: "retry-current-workflow",
2077
+ RETRY_ORIGINAL_WORKFLOW: "retry-original-workflow",
2078
+ STOP_EXECUTION: "stop-execution",
2079
+ DEBUG_EXECUTION: "debug-execution",
2080
+ VOTE_UP: "vote-up",
2081
+ VOTE_DOWN: "vote-down"
2082
+ };
2083
+ ITEM_ID = {
2084
+ WHATS_NEW: "whats-new",
2085
+ SETTINGS: "settings",
2086
+ SIGN_OUT: "sign-out",
2087
+ TEMPLATES: "templates",
2088
+ VARIABLES: "variables",
2089
+ INSIGHTS: "insights",
2090
+ QUICKSTART: "quickstart",
2091
+ DOCUMENTATION: "documentation",
2092
+ FORUM: "forum",
2093
+ COURSE: "course",
2094
+ REPORT_BUG: "report-bug",
2095
+ ABOUT: "about"
2096
+ };
2097
+ }
2098
+ };
2099
+ });
2100
+ })();