n8n-editor-ui 2.3.3 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/data/node-popularity.json +1920 -1916
  2. package/dist/assets/{AddDataTableModal-BYsEOjtf.js → AddDataTableModal-BWxuL_U1.js} +18 -21
  3. package/dist/assets/{AgentEditorModal-CnYw6elM.css → AgentEditorModal-9v5_7c4M.css} +11 -7
  4. package/dist/assets/{AgentEditorModal-CdUKcN7b.js → AgentEditorModal-ClIVB6be.js} +34 -37
  5. package/dist/assets/{Alert-BSiQ7W4W.js → Alert-C0sX2MmC.js} +9 -9
  6. package/dist/assets/AnimatedSpinner-B25lpnvb.js +15 -0
  7. package/dist/assets/{AnnotationTagsDropdown.ee-CPHqM0oA.js → AnnotationTagsDropdown.ee-bqrzcFvD.js} +6 -6
  8. package/dist/assets/{MainHeader-KNrtVK1m.js → AppHeader-Bk2_Gkdr.js} +359 -528
  9. package/dist/assets/{MainHeader-CSaAWCWj.css → AppHeader-CiEVBSe4.css} +42 -160
  10. package/dist/assets/{MainSidebar-BvZcZjNQ.js → AppSidebar-DVQtWhNG.js} +107 -83
  11. package/dist/assets/{MainSidebar-CEsQ8o1Y.css → AppSidebar-qYnACKTG.css} +13 -4
  12. package/dist/assets/{AuthView-DBipI9XX.js → AuthView-B70yKQIj.js} +12 -12
  13. package/dist/assets/{SettingsView-6sirGv9l.css → BottomMenu-CYgiV90C.css} +57 -37
  14. package/dist/assets/{BottomMenu-n6wDMblT.js → BottomMenu-Zsty8SFw.js} +70 -168
  15. package/dist/assets/{useCanvasMapping-BLB5IFnL.js → CanvasRunWorkflowButton-D05EeNT9.js} +268 -262
  16. package/dist/assets/{useCanvasMapping-CyDAqgNV.css → CanvasRunWorkflowButton-D_Rqnskj.css} +203 -203
  17. package/dist/assets/{ChangePasswordView-N8tRCxXS.js → ChangePasswordView-B5SZMMPu.js} +14 -18
  18. package/dist/assets/{ChatAgentAvatar-B68ZZ295.css → ChatAgentAvatar-D94COYC_.css} +10 -13
  19. package/dist/assets/ChatAgentAvatar-lJduQjSM.js +67 -0
  20. package/dist/assets/{ChatFile-B6hcldJk.js → ChatFile-DGN9Z6P_.js} +17 -17
  21. package/dist/assets/{ChatLayout-ZIIWLYox.js → ChatLayout-B3HCEtmF.js} +11 -15
  22. package/dist/assets/{ChatLayout-CxM-3LAt.css → ChatLayout-C5Cltxb6.css} +1 -8
  23. package/dist/assets/{ChatPersonalAgentsView-CHjVJlH9.js → ChatPersonalAgentsView-CfuU16Wx.js} +19 -24
  24. package/dist/assets/{ChatSidebar-DcNxY7Pt.css → ChatSidebar-D-hWKn7w.css} +126 -0
  25. package/dist/assets/{ChatSidebar-D1wzPLte.js → ChatSidebar-DxXP8jvn.js} +56 -71
  26. package/dist/assets/{ChatView-CEdaGOiq.js → ChatView-DGO5M0-j.js} +113 -112
  27. package/dist/assets/{ChatView-DrZ9gYjI.css → ChatView-DjGNW1KJ.css} +58 -50
  28. package/dist/assets/{ChatWorkflowAgentsView-DDoSKFjL.js → ChatWorkflowAgentsView-BDUzYR0a.js} +19 -24
  29. package/dist/assets/CollectionParameter-CX0d0ppe.js +42 -0
  30. package/dist/assets/{CommunityNodeUpdateInfo-D_fpxg7T.js → CommunityNodeUpdateInfo-BzF3To7U.js} +13 -13
  31. package/dist/assets/{CopyInput-CkRSExvb.js → CopyInput-B3eGtGOr.js} +15 -15
  32. package/dist/assets/{CredentialIcon-CsmA8n5q.js → CredentialIcon-Co-DgDkv.js} +6 -6
  33. package/dist/assets/{CredentialPicker-Dc9_fQqB.js → CredentialPicker-xUgsLzd_.js} +8 -8
  34. package/dist/assets/{CredentialSelectorModal-CrHTSX3D.js → CredentialSelectorModal-te4cxLHY.js} +22 -26
  35. package/dist/assets/{CredentialsView-BHjKX7p7.js → CredentialsView-CSMNv5Qi.js} +46 -51
  36. package/dist/assets/{DataTableActions-Baa_gpFk.js → DataTableActions-BkI1G_w4.js} +6 -6
  37. package/dist/assets/{DataTableDetailsView-Csre5EoG.js → DataTableDetailsView-D5XYBEVr.js} +27 -30
  38. package/dist/assets/{DataTableView-DvZt7cVh.js → DataTableView-U-FAWXix.js} +31 -36
  39. package/dist/assets/DemoFooter-uIyuy9UT.js +53 -0
  40. package/dist/assets/{Draggable-wlu-YKYh.js → Draggable-0gyx_CsY.js} +5 -5
  41. package/dist/assets/{EmptySharedSectionActionBox-BoAVktyy.js → EmptySharedSectionActionBox-DtGMtVsp.js} +5 -5
  42. package/dist/assets/{EnterpriseEdition.ee-CvUo0Y3B.js → EnterpriseEdition.ee-UhVkBS4f.js} +2 -2
  43. package/dist/assets/{EntityNotFound-Dk9s3CwF.js → EntityNotFound-qBJJDr9S.js} +9 -12
  44. package/dist/assets/{EntityUnAuthorised-h6YriaK9.js → EntityUnAuthorised-Ci980jH0.js} +8 -11
  45. package/dist/assets/{ErrorView-BGXVjv22.js → ErrorView-CPQg7TDd.js} +13 -16
  46. package/dist/assets/{EvaluationsRootView-CEJYrCEy.js → EvaluationsRootView-CzP9JGh2.js} +34 -36
  47. package/dist/assets/{EvaluationsView-DmaEZ7wK.js → EvaluationsView-ikx3LyQf.js} +28 -33
  48. package/dist/assets/{ExecutionsTime-K-nIEY55.js → ExecutionsTime-D5RuLFMY.js} +16 -15
  49. package/dist/assets/{ExecutionsView-BC4uwKPS.js → ExecutionsView-cMwfmY4W.js} +62 -65
  50. package/dist/assets/{ExternalSecretsProviderConnectionSwitch.ee-DYabADwO.js → ExternalSecretsProviderConnectionSwitch.ee-BglbvOQG.js} +18 -17
  51. package/dist/assets/FixedCollectionParameter-COuGvpZ8.css +642 -0
  52. package/dist/assets/FixedCollectionParameter-rO9blroR.js +1571 -0
  53. package/dist/assets/FolderBreadcrumbs-DegmC04u.js +187 -0
  54. package/dist/assets/{SaveButton-Dc01Y2MA.css → FolderBreadcrumbs-eBFopiOp.css} +7 -14
  55. package/dist/assets/{ForgotMyPasswordView-BxFjt7yf.js → ForgotMyPasswordView-CKDZcZP9.js} +14 -18
  56. package/dist/assets/{InsightsChartAverageRuntime-mcy8IMaN.js → InsightsChartAverageRuntime-69U4sUmH.js} +10 -11
  57. package/dist/assets/{InsightsChartFailed-iXvqlU_7.js → InsightsChartFailed-Ct64T5GJ.js} +8 -9
  58. package/dist/assets/{InsightsChartFailureRate-DzWy07B4.js → InsightsChartFailureRate-BOdV-Q3d.js} +9 -11
  59. package/dist/assets/{InsightsChartTimeSaved-Db1u-o2U.js → InsightsChartTimeSaved-B83s59mL.js} +9 -11
  60. package/dist/assets/{InsightsChartTotal-Bge4JSj-.js → InsightsChartTotal-1A5vqW4E.js} +7 -9
  61. package/dist/assets/{InsightsDashboard-BgxCUZWd.js → InsightsDashboard-Dpwy8q6a.js} +37 -38
  62. package/dist/assets/{InsightsPaywall-DJIAsFUW.js → InsightsPaywall-iaN7Yt1s.js} +15 -18
  63. package/dist/assets/{InsightsSummary-uZyetR3b.js → InsightsSummary-UGkz-k9w.js} +11 -11
  64. package/dist/assets/{InsightsTableWorkflows-9h4pU1WK.js → InsightsTableWorkflows-AP6ddx9D.js} +22 -24
  65. package/dist/assets/{KeyboardShortcutTooltip-Bpb4SkjE.js → KeyboardShortcutTooltip-Dwz4Hv8g.js} +6 -6
  66. package/dist/assets/LogsPanel-Cz9qV0gc.js +40 -0
  67. package/dist/assets/{LogsPanel-BG48JZqa.js → LogsPanel-DuiKN1Na.js} +100 -100
  68. package/dist/assets/{MCPConnectWorkflowsModal-CWg0xros.js → MCPConnectWorkflowsModal-CrhdbX54.js} +36 -41
  69. package/dist/assets/{MigrationRuleDetail-Dj4iZ8em.js → MigrationRuleDetail-BXj7ghDO.js} +23 -26
  70. package/dist/assets/{MigrationRules-CMk4HuMV.js → MigrationRules-CWeHH-jb.js} +21 -24
  71. package/dist/assets/{Modal-BNJXVsfA.js → Modal-CLJXjbTN.js} +27 -26
  72. package/dist/assets/{ModelByIdSelectorModal-BwhmTdU4.js → ModelByIdSelectorModal-_Q2e43WD.js} +18 -22
  73. package/dist/assets/{NDVEmptyState-D9V46oIb.js → NDVEmptyState-CJWa4Aka.js} +15 -12
  74. package/dist/assets/{NodeCreation-DiAqT9SN.js → NodeCreation-BKxsZGAf.js} +30 -52
  75. package/dist/assets/{ItemsRenderer-DkobJF9f.css → NodeCreator-039HRrqJ.css} +1525 -6
  76. package/dist/assets/{NodeCreator-Bjt6BI9v.js → NodeCreator-CRhdWp9N.js} +978 -87
  77. package/dist/assets/{NodeDetailsView-Ct9i-rTh.js → NodeDetailsView-Cm52jG-U.js} +72 -86
  78. package/dist/assets/{NodeDetailsViewV2-Dh4gzwFe.js → NodeDetailsViewV2-CqGBXjHp.js} +69 -85
  79. package/dist/assets/{NodeIcon-t97i3ntx.js → NodeIcon-SaoWBT_U.js} +10 -10
  80. package/dist/assets/{NodeIcon-BDxr0f30.css → NodeIcon-zqTc5h-V.css} +1 -1
  81. package/dist/assets/{NodeSettings-Cz9vhjW-.js → NodeSettings-BWWEo77y.js} +73 -73
  82. package/dist/assets/{NodeView-AuBajxDh.css → NodeView-Xwcu11Wh.css} +11 -11
  83. package/dist/assets/{NodeView-3Y-9RowK.js → NodeView-xEYRJxA0.js} +171 -148
  84. package/dist/assets/{OAuthConsentView-Bg5-jLUL.js → OAuthConsentView-D6mfPIJI.js} +14 -17
  85. package/dist/assets/{ParameterInputList-C1BdtAjc.css → ParameterInputList-BUZ33Aem.css} +717 -208
  86. package/dist/assets/{ParameterInputList-D3pQ9DPD.js → ParameterInputList-Cb2_SQfz.js} +1864 -1039
  87. package/dist/assets/{ProjectBreadcrumb-CwG4u83J.js → ProjectBreadcrumb-2BEX5IDD.js} +8 -8
  88. package/dist/assets/{ProjectCardBadge-DEF5xaop.js → ProjectCardBadge-CTVSam44.js} +10 -10
  89. package/dist/assets/{ProjectHeader-Ftxgilbl.js → ProjectHeader-BagblRFt.js} +14 -14
  90. package/dist/assets/{ProjectIcon-CBV14vRK.js → ProjectIcon-gwTM9uPG.js} +8 -8
  91. package/dist/assets/{ProjectRoleView-DxR_UDnr.js → ProjectRoleView-B5mhpgJj.js} +19 -22
  92. package/dist/assets/{ProjectRolesView-D5UGjI0u.js → ProjectRolesView-CO-fdyVV.js} +18 -21
  93. package/dist/assets/{ProjectSettings-DjmRzWiu.js → ProjectSettings-CpdJ0QXS.js} +31 -33
  94. package/dist/assets/{ProjectSharing-CXtVcK-7.js → ProjectSharing-CgRKQQe4.js} +16 -16
  95. package/dist/assets/{ProjectVariables-xB0qVBxe.js → ProjectVariables-B7LU3SGS.js} +40 -45
  96. package/dist/assets/{ProviderSettingsModal-BqKcWfeR.js → ProviderSettingsModal-RmJC0Qwe.js} +20 -25
  97. package/dist/assets/{PushConnectionTracker-Cwk4a7eu.js → PushConnectionTracker-v1yU_xFk.js} +4 -4
  98. package/dist/assets/{ResolversView-CnNl-Auj.js → ResolversView-OeI_dYci.js} +20 -23
  99. package/dist/assets/{ResourceFiltersDropdown-CRkQSQvs.js → ResourceFiltersDropdown-bH--4wBS.js} +12 -12
  100. package/dist/assets/{ResourcesListLayout-DLAMdJD5.css → ResourcesListLayout-BhnhvHiw.css} +140 -0
  101. package/dist/assets/{ResourcesListLayout-CreZ1Su6.js → ResourcesListLayout-CS0nUJNt.js} +32 -23
  102. package/dist/assets/{RunData-Ti8dstr8.js → RunData-B_Vlvf1V.js} +20367 -28266
  103. package/dist/assets/{RunData-CGWkR8tE.css → RunData-xpRgLK8S.css} +2 -2
  104. package/dist/assets/{RunDataHtml-S_j2pLRX.js → RunDataHtml-BMxc-zRm.js} +5 -5
  105. package/dist/assets/RunDataHtml-wQh8fACG.js +5 -0
  106. package/dist/assets/{RunDataJson-C9RYDf3k.js → RunDataJson-D23jdsWY.js} +31 -31
  107. package/dist/assets/{RunDataJsonActions-CVkDV_4I.js → RunDataJsonActions-DFa7pezf.js} +19 -22
  108. package/dist/assets/{RunDataParsedAiContent-B6PgQw1V.js → RunDataParsedAiContent-BCprT0E8.js} +15 -16
  109. package/dist/assets/RunDataParsedAiContent-o_QkeE0L.js +15 -0
  110. package/dist/assets/{RunDataSearch-DHw36qjO.js → RunDataSearch-BU2qi4nP.js} +10 -13
  111. package/dist/assets/{RunDataTable-Co9VAMrg.js → RunDataTable-BDrFzGfU.js} +32 -35
  112. package/dist/assets/{SamlOnboarding-CpWUC0gl.js → SamlOnboarding-DPYTM0tb.js} +14 -18
  113. package/dist/assets/{SelectedItemsInfo-wq6nTjan.js → SelectedItemsInfo-CKmcAObD.js} +5 -5
  114. package/dist/assets/{SettingsApiView-eiQOdjgq.js → SettingsApiView-BowYRtTk.js} +24 -26
  115. package/dist/assets/{SettingsChatHubView-D4WEo9L3.js → SettingsChatHubView-CObWHU09.js} +18 -23
  116. package/dist/assets/{SettingsCommunityNodesView-C0AaNOEN.js → SettingsCommunityNodesView-wk9JxXqL.js} +38 -41
  117. package/dist/assets/{SettingsExternalSecrets-y47selKn.js → SettingsExternalSecrets-C41eND_Y.js} +18 -21
  118. package/dist/assets/{SettingsLdapView-YMVYMnzw.js → SettingsLdapView-D1L1iyvE.js} +22 -25
  119. package/dist/assets/{SettingsLogStreamingView-BSzLdWpE.js → SettingsLogStreamingView-BqlK3i3Z.js} +21 -23
  120. package/dist/assets/{SettingsMCPView-BU0f3ymz.js → SettingsMCPView-CoTmbtV_.js} +42 -45
  121. package/dist/assets/{SettingsPersonalView-BAfYDXor.js → SettingsPersonalView-BMGG66o5.js} +15 -18
  122. package/dist/assets/SettingsSidebar-RZssT7t8.js +58 -0
  123. package/dist/assets/{useCommandBar-eK4Fv9lH.css → SettingsSidebar-hr5ASDKX.css} +22 -24
  124. package/dist/assets/{SettingsSourceControl-DiTdqVc2.js → SettingsSourceControl-C_XOb728.js} +19 -22
  125. package/dist/assets/{SettingsSso-D9mWYb6m.js → SettingsSso-DkvVZOSA.js} +26 -28
  126. package/dist/assets/{SettingsUsageAndPlan-Bhhz0N_R.js → SettingsUsageAndPlan-Cnxx5J_k.js} +20 -22
  127. package/dist/assets/{SettingsUsersView-Cyv_ZTSa.js → SettingsUsersView-DRFHlEG_.js} +50 -27
  128. package/dist/assets/{SetupTemplateFormStep-B-OXuIEU.js → SetupTemplateFormStep-DTl-SQ5_.js} +15 -15
  129. package/dist/assets/{SetupView-BvYO_h_-.js → SetupView-BfCKw7tL.js} +14 -18
  130. package/dist/assets/{SetupWorkflowCredentialsButton-29sPlZ15.js → SetupWorkflowCredentialsButton-BDNBEpgH.js} +21 -19
  131. package/dist/assets/{SetupWorkflowFromTemplateView-wGZJlu_v.js → SetupWorkflowFromTemplateView-zNitmbxd.js} +21 -24
  132. package/dist/assets/{SeverityTag-DiRdnrHj.js → SeverityTag-R-mbBDWg.js} +6 -6
  133. package/dist/assets/{SigninView-CZmSlJU4.js → SigninView-CspSfYWl.js} +16 -19
  134. package/dist/assets/{SignoutView-BUsJauew.js → SignoutView-CbmvjLhS.js} +10 -10
  135. package/dist/assets/{SignupView-CBmZdEUa.js → SignupView-D088WMnK.js} +27 -26
  136. package/dist/assets/{SkeletonAgentCard-felAhV_j.js → SkeletonAgentCard-DNUy88vs.js} +12 -12
  137. package/dist/assets/{PageViewLayout-Cn6FD0Wt.css → SlideTransition-Bv5Vx35L.css} +6 -17
  138. package/dist/assets/SlideTransition-CWSKQ4XI.js +11 -0
  139. package/dist/assets/{TagsDropdown-B3TllM9L.js → TagsDropdown-998vpfi2.js} +9 -9
  140. package/dist/assets/{TemplateCard-SxL2lAcu.js → TemplateCard-OCtSSObW.js} +9 -9
  141. package/dist/assets/{TemplateDetails-joifuvuq.js → TemplateDetails-CExTaNmN.js} +20 -20
  142. package/dist/assets/{TemplateList-Cr8NzldM.js → TemplateList-CYVIQLBo.js} +44 -44
  143. package/dist/assets/{TemplatesCollectionView-KlTGNZvL.js → TemplatesCollectionView-J4-MsKaR.js} +22 -25
  144. package/dist/assets/{TemplatesSearchView-R9w7J_qa.js → TemplatesSearchView-FeOl_F9u.js} +49 -52
  145. package/dist/assets/{TemplatesView-Cva7ybP0.js → TemplatesView-B2WxZgCT.js} +6 -6
  146. package/dist/assets/{TemplatesWorkflowView-cZBhTHOi.js → TemplatesWorkflowView-pgmIBnml.js} +23 -26
  147. package/dist/assets/{TestRunDetailView-C1Pcw196.js → TestRunDetailView-We9DOF3E.js} +20 -24
  148. package/dist/assets/{TextWithHighlights-CgDEugGZ.js → TextWithHighlights-CH5Zsswa.js} +2 -2
  149. package/dist/assets/{TimeAgo-D971QnHO.js → TimeAgo-DbbBIULe.js} +4 -4
  150. package/dist/assets/{ToolsSelectorModal-D4oxUUCF.js → ToolsSelectorModal-D0fzbH8I.js} +20 -23
  151. package/dist/assets/{TriggerPanel-BkdktrEp.js → TriggerPanel-B3wcn8yr.js} +51 -51
  152. package/dist/assets/VirtualSchema-C4mYgt95.js +28 -0
  153. package/dist/assets/{VirtualSchema-Brq3RG-a.js → VirtualSchema-DTit75Ni.js} +60 -61
  154. package/dist/assets/{VirtualSchema-CwutU4vj.css → VirtualSchema-pdpcVEq9.css} +1 -1
  155. package/dist/assets/{VueMarkdown-BlVr51fL.js → VueMarkdown-D0Ufjusy.js} +3 -3
  156. package/dist/assets/{WorkerView-CT6vkOh0.js → WorkerView-BaJG1lYK.js} +38 -42
  157. package/dist/assets/{WorkflowExecutionsInfoAccordion-DSc_InaM.js → WorkflowExecutionsInfoAccordion-BAgAw-VZ.js} +7 -7
  158. package/dist/assets/{WorkflowExecutionsLandingPage-CuGCweH0.js → WorkflowExecutionsLandingPage-B5M2M_XO.js} +14 -17
  159. package/dist/assets/{WorkflowExecutionsPreview-DWGuXXJq.js → WorkflowExecutionsPreview-CGtRdwNt.js} +44 -46
  160. package/dist/assets/{WorkflowExecutionsView-B4v9ie53.js → WorkflowExecutionsView-R_7zX3VU.js} +60 -61
  161. package/dist/assets/{WorkflowHistory-BLC1cUoO.js → WorkflowHistory-BS71EB0y.js} +198 -196
  162. package/dist/assets/{WorkflowHistory-BBHdNsOb.css → WorkflowHistory-dUpsKg3Z.css} +42 -75
  163. package/dist/assets/{WorkflowLocation-X2ZVBc96.js → WorkflowLocation-CTPWi5M9.js} +18 -18
  164. package/dist/assets/{WorkflowOnboardingView-CmVI0XDf.js → WorkflowOnboardingView-BroupQUz.js} +10 -10
  165. package/dist/assets/{WorkflowPreview-CZAcz1Na.js → WorkflowPreview-DLbWDX-7.js} +9 -9
  166. package/dist/assets/{WorkflowTagsDropdown-DlKqZzjZ.js → WorkflowTagsDropdown-DMBpcKR1.js} +6 -6
  167. package/dist/assets/{WorkflowsView-C-PD10oe.css → WorkflowsView-0_qNZeIx.css} +32 -42
  168. package/dist/assets/{WorkflowsView-BDhK0stx.js → WorkflowsView-Bdslfqgx.js} +128 -238
  169. package/dist/assets/{_MapCache-ficiegRb.js → _MapCache-DkLivSSb.js} +46 -38
  170. package/dist/assets/{_baseOrderBy-DwurmLcj.js → _baseOrderBy-Cy5MGJv_.js} +8 -13
  171. package/dist/assets/{_initCloneObject-DPuE6hiH.js → _initCloneObject-DiO9tORE.js} +2 -2
  172. package/dist/assets/{aiTemplatesStarterCollection.store-B-exu89T.js → aiTemplatesStarterCollection.store-C5UvSRtb.js} +6 -6
  173. package/dist/assets/{apiKeys.store-DW3qN7-W.js → apiKeys.store-tF_8Mh4s.js} +4 -4
  174. package/dist/assets/{assistant.store-BWyMPD4R.js → assistant.store-BsyT2BFh.js} +8 -8
  175. package/dist/assets/{auth.eventBus-BQKtqsAd.js → auth.eventBus-Ce2KL2L4.js} +1 -1
  176. package/dist/assets/{banners.store-NV1mJdSo.js → banners.store-De4swlHn.js} +7 -7
  177. package/dist/assets/{buttons.esm-Euf82NbC.js → buttons.esm-DHCtg4os.js} +0 -5
  178. package/dist/assets/canvas.utils-6yT3qDz5.js +138 -0
  179. package/dist/assets/{chart-BI8B7UPV.js → chart-BpBZvUkM.js} +0 -6
  180. package/dist/assets/{chartjs.utils-CZqhhNLn.js → chartjs.utils-B8F_iMP1.js} +5 -5
  181. package/dist/assets/{chat.store-CIFGQpTZ.js → chat.store-DIrG4eKT.js} +34 -29
  182. package/dist/assets/{chatPanel.store-gj4bbTwF.js → chatPanel.store-XTtvoDW8.js} +6 -6
  183. package/dist/assets/{chunk-6z4oVpB-.js → chunk-r2Y0G7H8.js} +3 -2
  184. package/dist/assets/{col-Cd5kWzv_.js → col-gWKpvp-j.js} +2 -2
  185. package/dist/assets/collaboration.store-DuCY-6U-.js +287 -0
  186. package/dist/assets/{constants-vjryKFt3.js → constants-Bgby4me8.js} +12 -3
  187. package/dist/assets/{constants-B5yiZflE.js → constants-CRdXn3zB.js} +290 -301
  188. package/dist/assets/core-CKLPLCBJ.js +4 -0
  189. package/dist/assets/{core-BMwklDiH.js → core-DDiavqSm.js} +1 -1
  190. package/dist/assets/{dataTable.store-CigyhC-U.js → dataTable.store-DepEpEQf.js} +4 -4
  191. package/dist/assets/{date-picker-BjmPe_fb.js → date-picker-CutzRF4i.js} +13 -4
  192. package/dist/assets/{dateFormatter-DjYPheeb.js → dateFormatter-BiQ9pMrA.js} +4 -4
  193. package/dist/assets/{dateformat-BlfbK1ki.js → dateformat-BeHi9sF4.js} +2 -1
  194. package/dist/assets/{dialog-CFy8vuwh.js → dialog-ZxkAulrV.js} +4 -4
  195. package/dist/assets/{dist-BQ7E1jLN.js → dist-C4hPgTYg.js} +3 -3
  196. package/dist/assets/empty-nq5-pHAR.js +895 -0
  197. package/dist/assets/en-C4tPMX0d.js +2 -0
  198. package/dist/assets/{en-CF30SCh2.js → en-PrU4QUr7.js} +10 -2
  199. package/dist/assets/{es-C2DNxuAa.js → es-347rbIb-.js} +2 -2
  200. package/dist/assets/{evaluation.constants-CaU1Jek8.js → evaluation.constants-COHKT500.js} +12 -15
  201. package/dist/assets/{executions.store-BjQUzT_w.js → executions.store-D1BMCixf.js} +4 -4
  202. package/dist/assets/{exports-C5ncBo9h.js → exports-DwuuoPh-.js} +1 -3
  203. package/dist/assets/{externalSecrets.ee.store-DS-4lnXS.js → externalSecrets.ee.store-CClIdWWb.js} +4 -4
  204. package/dist/assets/{folders.store-BqKf5TBS.js → folders.store-DHmLGEYl.js} +4 -4
  205. package/dist/assets/{index-U6fZiFvz.css → index-BhFfa3xu.css} +3083 -2437
  206. package/dist/assets/{index-BFqYZQt_.js → index-CZ0ShzXs.js} +4327 -1864
  207. package/dist/assets/{insights.constants-D63-x9pu.js → insights.constants-98xWnZQu.js} +3 -3
  208. package/dist/assets/{insights.store-BwsFg9pQ.js → insights.store-B6MSLVpS.js} +7 -7
  209. package/dist/assets/{insights.utils-CWK5jWpE.js → insights.utils-B0txVt0Q.js} +6 -6
  210. package/dist/assets/{languageModules-DDJUl1h8.js → languageModules-DyQaii5v.js} +1 -1
  211. package/dist/assets/{logStreaming.store-BxM1T1ZK.js → logStreaming.store-3rdm0k17.js} +3 -3
  212. package/dist/assets/{mcp.store-ChjN6nuV.js → mcp.store--DVpfZPc.js} +4 -4
  213. package/dist/assets/{merge-DjI8TA-7.js → merge-B0-p153C.js} +2 -2
  214. package/dist/assets/{nodeCreator.store-CXJtK_5o.js → nodeCreator.store-BL_XgPCV.js} +1932 -2216
  215. package/dist/assets/{nodeIcon-CIlNGIQ6.js → nodeIcon-G45tSifH.js} +3 -3
  216. package/dist/assets/{nodeTransforms-yL73Ok-c.js → nodeTransforms-CjgwHZte.js} +2 -2
  217. package/dist/assets/{orderBy-DLgDRKnZ.js → orderBy-CI4ht8Wh.js} +3 -3
  218. package/dist/assets/{personalizedTemplatesV3.store-Bs_2J_OQ.js → personalizedTemplatesV3.store-EQdiv-tM.js} +4 -4
  219. package/dist/assets/{pickBy-DYW-ATsL.js → pickBy-CS854Y6u.js} +3 -3
  220. package/dist/assets/pushConnection.store-Rp8-mZo7.js +496 -0
  221. package/dist/assets/{radio-BeejvdFG.js → radio-I_Y35sEo.js} +2 -2
  222. package/dist/assets/{readyToRun.store-DX00OlhN.js → readyToRun.store-i9gaUDlh.js} +17 -8
  223. package/dist/assets/{readyToRunWorkflows.store-CR7Yn6At.js → readyToRunWorkflows.store-gcTSDf1M.js} +6 -6
  224. package/dist/assets/{roles.store-DeGSYcWL.js → roles.store-ByEYbWMb.js} +4 -4
  225. package/dist/assets/{router-CFnjpqoZ.js → router-CmCiJkA0.js} +316 -304
  226. package/dist/assets/{sanitize-html-BkT1y0bJ.js → sanitize-html-DeDnsMgc.js} +17 -17
  227. package/dist/assets/{semver-CjLBiqOi.js → semver-DkHAUe3T.js} +6 -8
  228. package/dist/assets/{sourceControl.eventBus-BlFJV1yj.js → sourceControl.eventBus-l-XuMGfW.js} +1 -1
  229. package/dist/assets/{sqlite3-worker1-bundler-friendly-BOYmhhGN.js → sqlite3-worker1-bundler-friendly-BvaOkVlV.js} +9 -2
  230. package/dist/assets/{src-CMoPZtHv.css → src-CUiJtOrW.css} +5070 -4059
  231. package/dist/assets/{src-BiuB4CZc.js → src-DpZSuyLC.js} +5805 -2547
  232. package/dist/assets/{sso.store-CgVzmGCn.js → sso.store-B0NxuXiJ.js} +3 -3
  233. package/dist/assets/{table-fp187Rky.js → table-C3aerURh.js} +5 -5
  234. package/dist/assets/{templateActions-Dn6PNjyj.js → templateActions-BGHev3SN.js} +5 -5
  235. package/dist/assets/{templateTransforms-BtbIlupE.js → templateTransforms-B0n1tACx.js} +1 -1
  236. package/dist/assets/{truncate-B1HVeveJ.js → truncate-BrM_9cme.js} +5 -5
  237. package/dist/assets/{typescript.worker-CYqLvLHh.js → typescript.worker-DZR6qltN.js} +224 -176
  238. package/dist/assets/{usage.store-DI2Rilu6.js → usage.store-3GYv6IW-.js} +3 -3
  239. package/dist/assets/{useActions-B3Tgqfk-.js → useActions-Buaifc4L.js} +5 -5
  240. package/dist/assets/useBugReporting-D6SXeO6B.js +130 -0
  241. package/dist/assets/useCalloutHelpers-Cwtyxtsm.js +80 -0
  242. package/dist/assets/{useCanvasOperations-BttAaAbZ.js → useCanvasOperations-DY9_Vcrs.js} +36 -32
  243. package/dist/assets/{useClipboard-CurFa2Dj.js → useClipboard-B8OKhRbY.js} +3 -3
  244. package/dist/assets/{useCredentialResolvers-CJPbKnJV.js → useCredentialResolvers-CCUEZ5V2.js} +5 -5
  245. package/dist/assets/{useCustomAgent-tUoLIUar.css → useCustomAgent-D8Sw5vcC.css} +32 -9
  246. package/dist/assets/useCustomAgent-h_FKujBQ.js +630 -0
  247. package/dist/assets/{useDebounce-BjcMkTu4.js → useDebounce-C4ttil9E.js} +12 -12
  248. package/dist/assets/{useExecutionData-B5c3pMYr.js → useExecutionData-CAzGOYWw.js} +2 -2
  249. package/dist/assets/{useExecutionDebugging-BAm9HytR.js → useExecutionDebugging-DQI5yARq.js} +7 -7
  250. package/dist/assets/{useExecutionHelpers-ClAdmv-B.js → useExecutionHelpers-DWZYR0dg.js} +5 -5
  251. package/dist/assets/useGlobalEntityCreation-BwX8UUSv.js +192 -0
  252. package/dist/assets/{useImportCurlCommand-L4oAG6dd.js → useImportCurlCommand-DRS2-Amm.js} +41 -36
  253. package/dist/assets/{useIntersectionObserver-Bb8gFEHX.js → useIntersectionObserver-CGg561I6.js} +1 -1
  254. package/dist/assets/{useKeybindings-30WRTvmG.js → useKeybindings-MR6cNtmK.js} +5 -5
  255. package/dist/assets/{useLogsTreeExpand-6_x7FouR.js → useLogsTreeExpand-CvDEwlbf.js} +41 -41
  256. package/dist/assets/{useMcp-T0ZvziGl.js → useMcp-BIeH6n02.js} +2 -2
  257. package/dist/assets/{usePageRedirectionHelper-BJH0h6XA.js → usePageRedirectionHelper-DPAtaAXY.js} +3 -3
  258. package/dist/assets/{usePinnedData-B88__knO.js → usePinnedData-BFTyeyJG.js} +6 -6
  259. package/dist/assets/{usePushConnection-O_Sg_NLA.js → usePushConnection-CcijHMYv.js} +12 -16
  260. package/dist/assets/{useRunWorkflow-BK9B9ALV.js → useRunWorkflow-wOjZEWNr.js} +106 -486
  261. package/dist/assets/{useSettingsItems-aqm5JSTf.js → useSettingsItems-CaNtH9v0.js} +5 -5
  262. package/dist/assets/{useTelemetryContext-DoX4HWmg.js → useTelemetryContext-CE5phjaX.js} +4 -4
  263. package/dist/assets/{useWorkflowsCache-CsbESieM.js → useWorkflowsCache-BBhvuqqB.js} +2 -2
  264. package/dist/assets/{userRoleProvisioning.store-CK7bojX8.js → userRoleProvisioning.store-COPddaUL.js} +3 -3
  265. package/dist/assets/{builder.store-CgMqPgnW.js → users.store-KBMG-745.js} +22801 -23949
  266. package/dist/assets/utils-BCX2a8sC.js +133 -0
  267. package/dist/assets/{versions.store-CzvzmERa.js → versions.store-BnGZ_WOG.js} +4 -4
  268. package/dist/assets/{vue-Dd77OcSb.js → vue-atn33zIp.js} +255 -213
  269. package/dist/assets/{vue-json-pretty-DF-vJpHf.js → vue-json-pretty-CTqCbq0T.js} +1 -1
  270. package/dist/assets/{vue.runtime.esm-bundler-tP5dCd7J.js → vue.runtime.esm-bundler-XtMkEjzB.js} +703 -538
  271. package/dist/assets/{worker-CIvWfg3a.js → worker-BnP12nj7.js} +10 -3
  272. package/dist/index.html +116 -119
  273. package/package.json +1 -1
  274. package/tsconfig.json +1 -1
  275. package/dist/assets/AnimatedSpinner-DBPcagVq.js +0 -15
  276. package/dist/assets/BottomMenu-CRVyIu-B.css +0 -474
  277. package/dist/assets/ChatAgentAvatar-DoN0Vr4x.js +0 -67
  278. package/dist/assets/CollectionParameter-ByVUPeYR.js +0 -49
  279. package/dist/assets/DemoFooter-u1dOP76h.js +0 -62
  280. package/dist/assets/FixedCollectionParameter-CkTQ2epJ.js +0 -493
  281. package/dist/assets/FixedCollectionParameter-DT3ELzS9.css +0 -202
  282. package/dist/assets/ItemsRenderer-z7cKER1f.js +0 -922
  283. package/dist/assets/LogsPanel-B9QiohHK.js +0 -49
  284. package/dist/assets/NodeCreator-OSIpRI6S.css +0 -1649
  285. package/dist/assets/PageViewLayout-XiCAnPXE.js +0 -12
  286. package/dist/assets/PrebuiltAgentTemplatesView-B7uXEamJ.js +0 -151
  287. package/dist/assets/PrebuiltAgentTemplatesView-jF7HvWnL.css +0 -166
  288. package/dist/assets/RunDataHtml-CMYh4fix.js +0 -6
  289. package/dist/assets/RunDataParsedAiContent-DI_kumKV.js +0 -23
  290. package/dist/assets/SaveButton-DFMQz4OO.js +0 -89
  291. package/dist/assets/SettingsView-Ccz6LsAi.js +0 -87
  292. package/dist/assets/VirtualSchema-BOm-odEw.js +0 -33
  293. package/dist/assets/WorkflowActivationErrorMessage-CkxW6ZtU.js +0 -17
  294. package/dist/assets/WorkflowActivator-BGcCOUCH.css +0 -391
  295. package/dist/assets/WorkflowActivator-CisdBXpp.js +0 -362
  296. package/dist/assets/core-DeR-PV8K.js +0 -4
  297. package/dist/assets/empty-BUjCyq3U.js +0 -2450
  298. package/dist/assets/en-DyO2pPiC.js +0 -2
  299. package/dist/assets/schemaPreview.store-Bs_OZUsM.js +0 -113
  300. package/dist/assets/uniqBy-6k_SZ3dM.js +0 -10
  301. package/dist/assets/useBeforeUnload-dAltrwFm.js +0 -40
  302. package/dist/assets/useCommandBar-CXSPJjOq.js +0 -2425
  303. package/dist/assets/useCustomAgent-CSvOuB6K.js +0 -471
  304. package/dist/assets/useRecentResources-Dy5vqIyg.js +0 -118
  305. package/dist/assets/useWorkflowActivate-i3WAlo0M.js +0 -152
  306. package/dist/assets/utils-CnShVJFh.js +0 -54
  307. /package/dist/assets/{CalendarDate-zWqgZMlk.js → CalendarDate-CogIFc4_.js} +0 -0
  308. /package/dist/assets/{_plugin-vue_export-helper-BwBpWJRZ.js → _plugin-vue_export-helper-fRq25RGE.js} +0 -0
  309. /package/dist/assets/{fileUtils-Bt1vr1SC.js → fileUtils-C-Bxka0b.js} +0 -0
  310. /package/dist/assets/{mcp.constants-1HQX33wO.js → mcp.constants-Djm5lWYR.js} +0 -0
  311. /package/dist/assets/{preload-helper-CR0ecmWK.js → preload-helper-D8n1yiy9.js} +0 -0
  312. /package/dist/assets/{retry-B-tGcWte.js → retry-BLsJRFf0.js} +0 -0
  313. /package/dist/assets/{smartDecimal-gA9wGEba.js → smartDecimal-D3Shg2YQ.js} +0 -0
  314. /package/dist/assets/{sortByProperty-C6sPingU.js → sortByProperty-Dip6DXbv.js} +0 -0
  315. /package/dist/assets/{sqlite3-opfs-async-proxy-vVtmDGHX.js → sqlite3-opfs-async-proxy-BrtqH9Si.js} +0 -0
  316. /package/dist/assets/{xml-DDfXMqo8.js → xml-Cf0o4TxQ.js} +0 -0
@@ -1,181 +1,27 @@
1
- import { o as __toESM, t as __commonJSMin } from "./chunk-6z4oVpB-.js";
2
- import { C as computed, Cn as toDisplayString, D as createElementBlock, E as createCommentVNode, G as nextTick, Gt as unref, I as guardReactiveProps, It as ref, J as onBeforeUnmount, L as h, M as createVNode, P as defineComponent, Pt as reactive, Q as onUnmounted, T as createBlock, U as mergeModels, Vt as toRef, W as mergeProps, Z as onMounted, _ as Fragment, _t as watch, at as renderSlot, b as Teleport, bn as normalizeStyle, bt as withCtx, c as useCssModule, ct as resolveDynamicComponent, et as openBlock, ft as useModel, h as withModifiers, it as renderList, j as createTextVNode, k as createSlots, n as Transition, nt as provide, p as vShow, pt as useSlots, ut as useAttrs, vn as normalizeClass, vt as watchEffect, w as createBaseVNode, xt as withDirectives, y as Suspense, yn as normalizeProps, z as inject } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
3
- import { _ as onKeyDown, _t as useI18n, at as useThrottleFn, ct as watchThrottled, st as watchOnce, vt as I18nT, y as onKeyUp } from "./_MapCache-ficiegRb.js";
4
- import { D as N8nPopover_default, S as N8nSticky_default, Sn as N8nButton_default, ct as useDeviceSupport, ht as N8nTooltip_default, mt as N8nLink_default, ot as N8nActionDropdown_default, wn as N8nIcon_default, xn as N8nText_default, xt as N8nIconButton_default } from "./src-BiuB4CZc.js";
5
- import { t as __plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BwBpWJRZ.js";
6
- import { T as createEventBus, n as truncateBeforeLast, v as useRoute, y as useRouter } from "./truncate-B1HVeveJ.js";
7
- import { $ as MarkerType, $i as nodeViewEventBus, B as PUSH_NODES_OFFSET, E as sanitizeHtml, F as CONFIGURATION_NODE_RADIUS, Gi as isPresent, Gn as useNodeHelpers, Jr as CanvasNodeDirtiness, Kn as injectWorkflowState, L as DEFAULT_NODE_SIZE, M as useNDVStore, N as useWorkflowsStore, Nt as useNodeTypesStore, O as useTelemetry, Q as updateViewportToContainNodes, T as isOutsideSelected, Ti as getTriggerNodeServiceName, Un as environments_store_default, Ur as isValidNodeConnectionType, V as calculateNodeSize, Xr as useHistoryStore, Yr as CanvasNodeRenderType, Zn as useSourceControlStore, _t as wheelDelta, at as _sfc_main$3, c as useTemplatesStore, ct as clamp, d as trackTemplatesClick, dt as getConnectedEdges, et as NodeId, f as useTemplatesDataQualityStore, fs as v4_default, ft as getRectOfNodes, gs as useSettingsStore, gt as useVueFlow, ht as useGetPointerPosition, it as _sfc_main$1, l as TemplateClickSource, lt as getBezierPath, mt as isMacOs, na as globalLinkActionsEventBus, nt as Position, oa as useUIStore, ot as _sfc_main$d, pt as getSmoothStepPath, q as getMousePosition, qr as CanvasConnectionMode, rt as _sfc_main$4, st as _sfc_main$f, tt as PanelPosition, u as isExtraTemplateLinksExperimentEnabled, ut as getBoundsofRects, v as useToast, xt as isChatNode, y as useStyles, z as GRID_SIZE } from "./builder.store-CgMqPgnW.js";
8
- import { D as TitledList_default } from "./ParameterInputList-D3pQ9DPD.js";
9
- import { $i as getNodeInputs, $s as CanvasKey, Ao as getResourcePermissions, Bo as VIEWS, Cc as CANVAS_EXECUTION_DATA_THROTTLE_DURATION, Da as isCommunityPackageName, F as CUSTOM_API_CALL_KEY, Ga as NodeConnectionTypes, Gn as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, Jo as EXPERIMENT_TEMPLATES_DATA_QUALITY_KEY, Ki as mapConnectionsByDestination, Ln as NOT_DUPLICATABLE_NODE_TYPES, St as NODE_CREATOR_OPEN_SOURCES, _o as require_isEqual, di as buildAdjacencyList, ea as getNodeOutputs, ec as CanvasNodeHandleKey, fi as parseExtractableSubgraphSelection, fo as SEND_AND_WAIT_OPERATION, gi as extractReferencesInNodeExpressions, go as WEBHOOK_NODE_TYPE, ho as WAIT_INDEFINITELY, la as isExecutable, ln as FORM_NODE_TYPE, mr as WAIT_NODE_TYPE, nc as ExpressionLocalResolveContextSymbol, nr as SIMULATE_TRIGGER_NODE_TYPE, oa as getSubworkflowId, ro as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, sr as STICKY_NODE_TYPE, tc as CanvasNodeKey, tr as SIMULATE_NODE_TYPE, ua as isNodeWithWorkflowSelector, ys as WORKFLOW_EXTRACTION_NAME_MODAL_KEY, zt as CHAT_TRIGGER_NODE_TYPE } from "./constants-B5yiZflE.js";
10
- import { t as useAssistantStore } from "./assistant.store-BWyMPD4R.js";
11
- import { t as useChatPanelStore } from "./chatPanel.store-gj4bbTwF.js";
12
- import { r as useNodeDirtiness, t as useRunWorkflow } from "./useRunWorkflow-BK9B9ALV.js";
13
- import { t as usePinnedData } from "./usePinnedData-B88__knO.js";
14
- import { c as mapLegacyEndpointsToCanvasConnectionPort, i as insertSpacersBetweenEndpoints, l as parseCanvasConnectionHandleString, n as checkOverlap, r as createCanvasConnectionHandleString, s as mapLegacyConnectionsToCanvasConnections, t as useNodeCreatorStore } from "./nodeCreator.store-CXJtK_5o.js";
15
- import { t as getNodeIconSource } from "./nodeIcon-CIlNGIQ6.js";
16
- import { a as useLogsStore, i as useExperimentalNdvStore, t as useCanvasOperations } from "./useCanvasOperations-BttAaAbZ.js";
17
- import { t as NodeIcon_default } from "./NodeIcon-t97i3ntx.js";
18
- import { t as KeyboardShortcutTooltip_default } from "./KeyboardShortcutTooltip-Bpb4SkjE.js";
19
- import { t as useTelemetryContext } from "./useTelemetryContext-DoX4HWmg.js";
20
- import { t as NodeSettings_default } from "./NodeSettings-Cz9vhjW-.js";
21
- import { t as useKeybindings } from "./useKeybindings-30WRTvmG.js";
22
- var CanvasRunWorkflowButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
23
- __name: "CanvasRunWorkflowButton",
24
- props: {
25
- selectedTriggerNodeName: {},
26
- triggerNodes: {},
27
- waitingForWebhook: { type: Boolean },
28
- executing: { type: Boolean },
29
- disabled: { type: Boolean },
30
- hideTooltip: { type: Boolean },
31
- label: {},
32
- size: {},
33
- includeChatTrigger: { type: Boolean },
34
- getNodeType: { type: Function }
35
- },
36
- emits: [
37
- "mouseenter",
38
- "mouseleave",
39
- "execute",
40
- "selectTriggerNode"
41
- ],
42
- setup(__props, { emit: __emit }) {
43
- const emit = __emit;
44
- const props = __props;
45
- const i18n = useI18n();
46
- const selectableTriggerNodes = computed(() => props.triggerNodes.filter((node$1) => !node$1.disabled && (props.includeChatTrigger ? true : !isChatNode(node$1))));
47
- const label$7 = computed(() => {
48
- if (!props.executing) return props.label ?? i18n.baseText("nodeView.runButtonText.executeWorkflow");
49
- if (props.waitingForWebhook) return i18n.baseText("nodeView.runButtonText.waitingForTriggerEvent");
50
- return i18n.baseText("nodeView.runButtonText.executingWorkflow");
51
- });
52
- const actions$1 = computed(() => props.triggerNodes.filter((node$1) => props.includeChatTrigger ? true : !isChatNode(node$1)).toSorted((a, b) => {
53
- const [aX, aY] = a.position;
54
- const [bX, bY] = b.position;
55
- return aY === bY ? aX - bX : aY - bY;
56
- }).map((node$1) => ({
57
- label: truncateBeforeLast(node$1.name, 50),
58
- disabled: !!node$1.disabled || props.executing,
59
- id: node$1.name,
60
- checked: props.selectedTriggerNodeName === node$1.name
61
- })));
62
- const isSplitButton = computed(() => selectableTriggerNodes.value.length > 1 && props.selectedTriggerNodeName !== void 0);
63
- function getNodeTypeByName(name) {
64
- const node$1 = props.triggerNodes.find((trigger$2) => trigger$2.name === name);
65
- if (!node$1) return null;
66
- return props.getNodeType(node$1.type, node$1.typeVersion);
67
- }
68
- return (_ctx, _cache) => {
69
- return openBlock(), createElementBlock("div", { class: normalizeClass([_ctx.$style.component, isSplitButton.value ? _ctx.$style.split : ""]) }, [createVNode(KeyboardShortcutTooltip_default, {
70
- label: label$7.value,
71
- shortcut: {
72
- metaKey: true,
73
- keys: ["↵"]
74
- },
75
- disabled: _ctx.executing || _ctx.hideTooltip
76
- }, {
77
- default: withCtx(() => [createVNode(unref(N8nButton_default), {
78
- class: normalizeClass(_ctx.$style.button),
79
- loading: _ctx.executing,
80
- disabled: _ctx.disabled,
81
- size: _ctx.size ?? "large",
82
- icon: "flask-conical",
83
- type: "primary",
84
- "data-test-id": "execute-workflow-button",
85
- onMouseenter: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("mouseenter", $event)),
86
- onMouseleave: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("mouseleave", $event)),
87
- onClick: _cache[2] || (_cache[2] = ($event) => emit("execute"))
88
- }, {
89
- default: withCtx(() => [createBaseVNode("span", { class: normalizeClass(_ctx.$style.buttonContent) }, [createTextVNode(toDisplayString(label$7.value) + " ", 1), isSplitButton.value ? (openBlock(), createBlock(unref(N8nText_default), {
90
- key: 0,
91
- class: normalizeClass(_ctx.$style.subText),
92
- bold: false
93
- }, {
94
- default: withCtx(() => [createVNode(unref(I18nT), {
95
- keypath: "nodeView.runButtonText.from",
96
- scope: "global"
97
- }, {
98
- nodeName: withCtx(() => [createVNode(unref(N8nText_default), {
99
- bold: "",
100
- size: "mini"
101
- }, {
102
- default: withCtx(() => [createTextVNode(toDisplayString(unref(truncateBeforeLast)(props.selectedTriggerNodeName ?? "", 25)), 1)]),
103
- _: 1
104
- })]),
105
- _: 1
106
- })]),
107
- _: 1
108
- }, 8, ["class"])) : createCommentVNode("", true)], 2)]),
109
- _: 1
110
- }, 8, [
111
- "class",
112
- "loading",
113
- "disabled",
114
- "size"
115
- ])]),
116
- _: 1
117
- }, 8, ["label", "disabled"]), isSplitButton.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createBaseVNode("div", {
118
- role: "presentation",
119
- class: normalizeClass(_ctx.$style.divider)
120
- }, null, 2), createVNode(unref(N8nActionDropdown_default), {
121
- class: normalizeClass(_ctx.$style.menu),
122
- items: actions$1.value,
123
- disabled: _ctx.disabled,
124
- placement: "top",
125
- "extra-popper-class": _ctx.$style.menuPopper,
126
- onSelect: _cache[3] || (_cache[3] = ($event) => emit("selectTriggerNode", $event))
127
- }, {
128
- activator: withCtx(() => [createVNode(unref(N8nButton_default), {
129
- type: "primary",
130
- "icon-size": "large",
131
- disabled: _ctx.disabled,
132
- class: normalizeClass(_ctx.$style.chevron),
133
- "aria-label": "Select trigger node",
134
- icon: "chevron-down"
135
- }, null, 8, ["disabled", "class"])]),
136
- menuItem: withCtx((item) => [createBaseVNode("div", { class: normalizeClass([_ctx.$style.menuItem, item.disabled ? _ctx.$style.disabled : ""]) }, [createVNode(NodeIcon_default, {
137
- class: normalizeClass(_ctx.$style.menuIcon),
138
- size: 16,
139
- "node-type": getNodeTypeByName(item.id)
140
- }, null, 8, ["class", "node-type"]), createBaseVNode("span", null, [createVNode(unref(I18nT), {
141
- keypath: "nodeView.runButtonText.from",
142
- scope: "global"
143
- }, {
144
- nodeName: withCtx(() => [createVNode(unref(N8nText_default), {
145
- bold: "",
146
- size: "small"
147
- }, {
148
- default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
149
- _: 2
150
- }, 1024)]),
151
- _: 2
152
- }, 1024)])], 2)]),
153
- _: 1
154
- }, 8, [
155
- "class",
156
- "items",
157
- "disabled",
158
- "extra-popper-class"
159
- ])], 64)) : createCommentVNode("", true)], 2);
160
- };
161
- }
162
- });
163
- var CanvasRunWorkflowButton_vue_vue_type_style_index_0_lang_module_default = {
164
- component: "_component_1dst5_123",
165
- split: "_split_1dst5_129",
166
- button: "_button_1dst5_129",
167
- divider: "_divider_1dst5_137",
168
- chevron: "_chevron_1dst5_142",
169
- menu: "_menu_1dst5_148",
170
- menuPopper: "_menuPopper_1dst5_152",
171
- menuItem: "_menuItem_1dst5_156",
172
- disabled: "_disabled_1dst5_162",
173
- menuIcon: "_menuIcon_1dst5_162",
174
- buttonContent: "_buttonContent_1dst5_166",
175
- subText: "_subText_1dst5_173"
176
- };
177
- var CanvasRunWorkflowButton_default = /* @__PURE__ */ __plugin_vue_export_helper_default(CanvasRunWorkflowButton_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": CanvasRunWorkflowButton_vue_vue_type_style_index_0_lang_module_default }]]);
178
- var import_isEqual$1 = /* @__PURE__ */ __toESM(require_isEqual());
1
+ import { o as __toESM, t as __commonJSMin } from "./chunk-r2Y0G7H8.js";
2
+ import { C as computed, Cn as toDisplayString, D as createElementBlock, E as createCommentVNode, G as nextTick, Gt as unref, I as guardReactiveProps, It as ref, J as onBeforeUnmount, L as h, M as createVNode, P as defineComponent, Pt as reactive, Q as onUnmounted, T as createBlock, U as mergeModels, Vt as toRef, W as mergeProps, Z as onMounted, _ as Fragment, _t as watch, at as renderSlot, b as Teleport, bn as normalizeStyle, bt as withCtx, c as useCssModule, ct as resolveDynamicComponent, et as openBlock, ft as useModel, h as withModifiers, it as renderList, j as createTextVNode, k as createSlots, n as Transition, nt as provide, p as vShow, pt as useSlots, ut as useAttrs, vn as normalizeClass, vt as watchEffect, w as createBaseVNode, xt as withDirectives, y as Suspense, yn as normalizeProps, z as inject } from "./vue.runtime.esm-bundler-XtMkEjzB.js";
3
+ import { _ as onKeyDown, _t as useI18n, at as useThrottleFn, ct as watchThrottled, st as watchOnce, vt as I18nT, y as onKeyUp } from "./_MapCache-DkLivSSb.js";
4
+ import { C as N8nSticky_default, O as N8nPopover_default, On as N8nText_default, Ot as N8nIconButton_default, St as N8nTooltip_default, ft as N8nActionDropdown_default, jn as N8nIcon_default, kn as N8nButton_default, mt as useDeviceSupport, xt as N8nLink_default } from "./src-DpZSuyLC.js";
5
+ import { t as __plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-fRq25RGE.js";
6
+ import { T as createEventBus, n as truncateBeforeLast, v as useRoute, y as useRouter } from "./truncate-BrM_9cme.js";
7
+ import { $n as isExtraTemplateLinksExperimentEnabled, $r as useHistoryStore, Bn as _sfc_main$d, C as useNodeTypesStore, Cc as isOutsideSelected, Dn as getMousePosition, Dr as v4_default, Fn as PanelPosition, Ft as useNDVStore, Gn as getConnectedEdges, Hn as clamp, In as Position, It as injectWorkflowState, Ji as isPresent, Jn as isMacOs, Kn as getRectOfNodes, Kr as isValidNodeConnectionType, Ln as _sfc_main$4, Mn as updateViewportToContainNodes, Mt as useTelemetry, Nn as MarkerType, Oi as getTriggerNodeServiceName, Pn as NodeId, Qn as TemplateClickSource, Qr as CanvasNodeRenderType, Rn as _sfc_main$1, Un as getBezierPath, Vn as _sfc_main$f, Wn as getBoundsofRects, Xn as useVueFlow, Xr as CanvasConnectionMode, Yn as useGetPointerPosition, Zn as wheelDelta, Zr as CanvasNodeDirtiness, _n as DEFAULT_NODE_SIZE, aa as globalLinkActionsEventBus, bn as PUSH_NODES_OFFSET, br as useToast, d as isChatNode, er as trackTemplatesClick, hn as CONFIGURATION_NODE_RADIUS, hr as useSourceControlStore, jt as useNodeHelpers, kt as environments_store_default, ls as useSettingsStore, na as nodeViewEventBus, pn as useTemplatesStore, qn as getSmoothStepPath, r as useUIStore, s as useWorkflowsStore, tr as useTemplatesDataQualityStore, wc as sanitizeHtml, xn as calculateNodeSize, xr as useStyles, yn as GRID_SIZE, zn as _sfc_main$3 } from "./users.store-KBMG-745.js";
8
+ import { k as TitledList_default } from "./ParameterInputList-Cb2_SQfz.js";
9
+ import { $s as CanvasNodeKey, Ea as isCommunityPackageName, F as CUSTOM_API_CALL_KEY, In as NOT_DUPLICATABLE_NODE_TYPES, Qi as getNodeOutputs, Qs as CanvasNodeHandleKey, Rt as CHAT_TRIGGER_NODE_TYPE, St as NODE_CREATOR_OPEN_SOURCES, Wa as NodeConnectionTypes, Wi as mapConnectionsByDestination, Wn as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, Zi as getNodeInputs, Zs as CanvasKey, _s as WORKFLOW_EXTRACTION_NAME_MODAL_KEY, ca as isNodeWithWorkflowSelector, cn as FORM_NODE_TYPE, di as parseExtractableSubgraphSelection, do as SEND_AND_WAIT_OPERATION, ec as ExpressionLocalResolveContextSymbol, gi as extractReferencesInNodeExpressions, go as require_isEqual, ho as WEBHOOK_NODE_TYPE, ia as getSubworkflowId, ko as getResourcePermissions, mo as WAIT_INDEFINITELY, mr as WAIT_NODE_TYPE, no as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, nr as SIMULATE_TRIGGER_NODE_TYPE, qo as EXPERIMENT_TEMPLATES_DATA_QUALITY_KEY, sa as isExecutable, sr as STICKY_NODE_TYPE, tr as SIMULATE_NODE_TYPE, ui as buildAdjacencyList, xc as CANVAS_EXECUTION_DATA_THROTTLE_DURATION, zo as VIEWS } from "./constants-CRdXn3zB.js";
10
+ import { t as useAssistantStore } from "./assistant.store-BsyT2BFh.js";
11
+ import { t as useChatPanelStore } from "./chatPanel.store-XTtvoDW8.js";
12
+ import { t as usePinnedData } from "./usePinnedData-BFTyeyJG.js";
13
+ import { t as useNodeCreatorStore } from "./nodeCreator.store-BL_XgPCV.js";
14
+ import { c as parseCanvasConnectionHandleString, n as createCanvasConnectionHandleString, o as mapLegacyConnectionsToCanvasConnections, r as insertSpacersBetweenEndpoints, s as mapLegacyEndpointsToCanvasConnectionPort, t as checkOverlap } from "./canvas.utils-6yT3qDz5.js";
15
+ import { t as getNodeIconSource } from "./nodeIcon-G45tSifH.js";
16
+ import { a as useLogsStore, i as useExperimentalNdvStore, t as useCanvasOperations } from "./useCanvasOperations-DY9_Vcrs.js";
17
+ import { t as NodeIcon_default } from "./NodeIcon-SaoWBT_U.js";
18
+ import { t as useTelemetryContext } from "./useTelemetryContext-CE5phjaX.js";
19
+ import { r as useNodeDirtiness, t as useRunWorkflow } from "./useRunWorkflow-wOjZEWNr.js";
20
+ import { t as useCollaborationStore } from "./collaboration.store-DuCY-6U-.js";
21
+ import { t as NodeSettings_default } from "./NodeSettings-BWWEo77y.js";
22
+ import { t as KeyboardShortcutTooltip_default } from "./KeyboardShortcutTooltip-Dwz4Hv8g.js";
23
+ import { t as useKeybindings } from "./useKeybindings-MR6cNtmK.js";
24
+ var import_isEqual$1 = /* @__PURE__ */ __toESM(require_isEqual(), 1);
179
25
  var CANVAS_HISTORY_OPTIONS = {
180
26
  trackBulk: false,
181
27
  trackHistory: true
@@ -388,7 +234,7 @@ function useWorkflowExtraction() {
388
234
  if ((0, import_isEqual$1.default)(node$1, currentNode)) continue;
389
235
  canvasOperations.replaceNodeParameters(node$1.id, { ...currentNode?.parameters }, { ...node$1.parameters }, CANVAS_HISTORY_OPTIONS);
390
236
  }
391
- uiStore.stateIsDirty = true;
237
+ uiStore.markStateDirty();
392
238
  historyStore.stopRecordingUndo();
393
239
  }
394
240
  function tryExtractNodesIntoSubworkflow(nodeIds) {
@@ -465,7 +311,7 @@ function useGlobalLinkActions() {
465
311
  state.customActions[key] = action;
466
312
  }
467
313
  function unregisterCustomAction(key) {
468
- const { [key]: _,...rest } = state.customActions;
314
+ const { [key]: _, ...rest } = state.customActions;
469
315
  state.customActions = rest;
470
316
  }
471
317
  function getElementAttributes(element) {
@@ -653,7 +499,7 @@ var CanvasNodeStatusIcons_vue_vue_type_script_setup_true_lang_default = /* @__PU
653
499
  content: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("node.install-to-use")), 1)]),
654
500
  default: withCtx(() => [createVNode(unref(N8nIcon_default), {
655
501
  icon: "hard-drive-download",
656
- size: _ctx.size
502
+ size: __props.size
657
503
  }, null, 8, ["size"])]),
658
504
  _: 1
659
505
  })], 2)) : unref(isDisabled) ? (openBlock(), createElementBlock("div", {
@@ -661,7 +507,7 @@ var CanvasNodeStatusIcons_vue_vue_type_script_setup_true_lang_default = /* @__PU
661
507
  class: normalizeClass([...commonClasses.value, unref($style).disabled])
662
508
  }, [createVNode(unref(N8nIcon_default), {
663
509
  icon: "power",
664
- size: _ctx.size
510
+ size: __props.size
665
511
  }, null, 8, ["size"])], 2)) : unref(hasExecutionErrors) && !hideNodeIssues.value ? (openBlock(), createElementBlock("div", {
666
512
  key: 2,
667
513
  class: normalizeClass([...commonClasses.value, unref($style).issues]),
@@ -676,7 +522,7 @@ var CanvasNodeStatusIcons_vue_vue_type_script_setup_true_lang_default = /* @__PU
676
522
  }, null, 8, ["title", "items"])]),
677
523
  default: withCtx(() => [createVNode(unref(N8nIcon_default), {
678
524
  icon: "node-execution-error",
679
- size: _ctx.size
525
+ size: __props.size
680
526
  }, null, 8, ["size"])]),
681
527
  _: 1
682
528
  })], 2)) : unref(hasValidationErrors) && !hideNodeIssues.value ? (openBlock(), createElementBlock("div", {
@@ -693,7 +539,7 @@ var CanvasNodeStatusIcons_vue_vue_type_script_setup_true_lang_default = /* @__PU
693
539
  }, null, 8, ["title", "items"])]),
694
540
  default: withCtx(() => [createVNode(unref(N8nIcon_default), {
695
541
  icon: "node-validation-error",
696
- size: _ctx.size
542
+ size: __props.size
697
543
  }, null, 8, ["size"])]),
698
544
  _: 1
699
545
  })], 2)) : unref(executionStatus) === "unknown" ? (openBlock(), createElementBlock("div", _hoisted_1$17)) : unref(hasPinnedData) && !unref(nodeHelpers).isProductionExecutionPreview.value ? (openBlock(), createElementBlock("div", {
@@ -702,7 +548,7 @@ var CanvasNodeStatusIcons_vue_vue_type_script_setup_true_lang_default = /* @__PU
702
548
  class: normalizeClass([...commonClasses.value, unref($style).pinnedData])
703
549
  }, [createVNode(unref(N8nIcon_default), {
704
550
  icon: "node-pin",
705
- size: _ctx.size
551
+ size: __props.size
706
552
  }, null, 8, ["size"])], 2)) : dirtiness.value !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_2$7, [createVNode(unref(N8nTooltip_default), {
707
553
  "show-after": 500,
708
554
  placement: "bottom"
@@ -713,7 +559,7 @@ var CanvasNodeStatusIcons_vue_vue_type_script_setup_true_lang_default = /* @__PU
713
559
  class: normalizeClass([...commonClasses.value, unref($style).warning])
714
560
  }, [createVNode(unref(N8nIcon_default), {
715
561
  icon: "node-dirty",
716
- size: _ctx.size
562
+ size: __props.size
717
563
  }, null, 8, ["size"]), unref(runDataIterations) > 1 ? (openBlock(), createElementBlock("span", {
718
564
  key: 0,
719
565
  class: normalizeClass(unref($style).count)
@@ -725,7 +571,7 @@ var CanvasNodeStatusIcons_vue_vue_type_script_setup_true_lang_default = /* @__PU
725
571
  class: normalizeClass([...commonClasses.value, unref($style).runData])
726
572
  }, [createVNode(unref(N8nIcon_default), {
727
573
  icon: "node-success",
728
- size: _ctx.size
574
+ size: __props.size
729
575
  }, null, 8, ["size"]), unref(runDataIterations) > 1 ? (openBlock(), createElementBlock("span", {
730
576
  key: 0,
731
577
  class: normalizeClass(unref($style).count)
@@ -926,7 +772,7 @@ var CanvasNodeToolbar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
926
772
  onMouseleave: onMouseLeave,
927
773
  onMousedown: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"])),
928
774
  onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"]))
929
- }, [createBaseVNode("div", { class: normalizeClass([unref($style).canvasNodeToolbarItems, _ctx.itemsClass]) }, [
775
+ }, [createBaseVNode("div", { class: normalizeClass([unref($style).canvasNodeToolbarItems, __props.itemsClass]) }, [
930
776
  isExecuteNodeVisible.value ? (openBlock(), createBlock(unref(N8nTooltip_default), {
931
777
  key: 0,
932
778
  placement: "top",
@@ -987,7 +833,7 @@ var CanvasNodeToolbar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
987
833
  icon: "node-ellipsis",
988
834
  onClick: withModifiers(onOpenContextMenu, ["stop"])
989
835
  })
990
- ], 2), _ctx.showStatusIcons ? (openBlock(), createBlock(CanvasNodeStatusIcons_default, {
836
+ ], 2), __props.showStatusIcons ? (openBlock(), createBlock(CanvasNodeStatusIcons_default, {
991
837
  key: 0,
992
838
  class: normalizeClass(unref($style).statusIcons),
993
839
  "spinner-layout": "static"
@@ -1184,11 +1030,11 @@ var ExperimentalCanvasNodeSettings_default = /* @__PURE__ */ defineComponent({
1184
1030
  "active-node": activeNode.value,
1185
1031
  "push-ref": unref(ndvStore).pushRef,
1186
1032
  "foreign-credentials": foreignCredentials.value,
1187
- "read-only": _ctx.isReadOnly,
1033
+ "read-only": __props.isReadOnly,
1188
1034
  "block-u-i": blockUi.value,
1189
- executable: !_ctx.isReadOnly,
1190
- "is-embedded-in-canvas": _ctx.isEmbeddedInCanvas,
1191
- "sub-title": _ctx.subTitle,
1035
+ executable: !__props.isReadOnly,
1036
+ "is-embedded-in-canvas": __props.isEmbeddedInCanvas,
1037
+ "sub-title": __props.subTitle,
1192
1038
  "extra-tabs-class-name": "nodrag",
1193
1039
  "extra-parameter-wrapper-class-name": "nodrag",
1194
1040
  "is-ndv-v2": "",
@@ -1239,7 +1085,7 @@ var ExperimentalEmbeddedNdvActions_vue_vue_type_script_setup_true_lang_default =
1239
1085
  "aria-label": "Open...",
1240
1086
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => emit("openNdv"), ["stop"]))
1241
1087
  }), createVNode(unref(N8nIconButton_default), {
1242
- icon: _ctx.isExpanded ? "chevron-down" : "chevron-up",
1088
+ icon: __props.isExpanded ? "chevron-down" : "chevron-up",
1243
1089
  type: "secondary",
1244
1090
  text: "",
1245
1091
  size: "mini",
@@ -1342,9 +1188,9 @@ var ExperimentalEmbeddedNodeDetails_vue_vue_type_script_setup_true_lang_default
1342
1188
  }, [!node$1.value || !isOnceVisible.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [], 64)) : isExpanded.value ? (openBlock(), createBlock(ExperimentalCanvasNodeSettings_default, {
1343
1189
  key: 1,
1344
1190
  tabindex: "-1",
1345
- "node-id": _ctx.nodeId,
1191
+ "node-id": __props.nodeId,
1346
1192
  class: normalizeClass(_ctx.$style.settingsView),
1347
- "is-read-only": _ctx.isReadOnly,
1193
+ "is-read-only": __props.isReadOnly,
1348
1194
  "sub-title": subTitle.value,
1349
1195
  "input-node-name": unref(expressionResolveCtx)?.inputNode?.name,
1350
1196
  "is-embedded-in-canvas": "",
@@ -1595,24 +1441,24 @@ var CanvasNodeDefault_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
1595
1441
  };
1596
1442
  }
1597
1443
  });
1598
- const node = "_node_y72lx_123";
1599
- const trigger$1 = "_trigger_y72lx_146";
1600
- const running = "_running_y72lx_149";
1601
- const waiting = "_waiting_y72lx_149";
1602
- const configuration = "_configuration_y72lx_152";
1603
- const statusIcons = "_statusIcons_y72lx_158";
1604
- const configurable = "_configurable_y72lx_161";
1605
- const icon = "_icon_y72lx_161";
1606
- const description = "_description_y72lx_164";
1607
- const label$6 = "_label_y72lx_177";
1608
- const subtitle = "_subtitle_y72lx_180";
1609
- const selected$1 = "_selected_y72lx_193";
1610
- const success$1 = "_success_y72lx_197";
1611
- const warning = "_warning_y72lx_204";
1612
- const error = "_error_y72lx_208";
1613
- const pinned = "_pinned_y72lx_211";
1614
- const disabled = "_disabled_y72lx_218";
1615
- const disabledLabel = "_disabledLabel_y72lx_281";
1444
+ const node = "_node_xjtm2_123";
1445
+ const trigger$1 = "_trigger_xjtm2_146";
1446
+ const running = "_running_xjtm2_149";
1447
+ const waiting = "_waiting_xjtm2_149";
1448
+ const configuration = "_configuration_xjtm2_152";
1449
+ const statusIcons = "_statusIcons_xjtm2_158";
1450
+ const configurable = "_configurable_xjtm2_161";
1451
+ const icon = "_icon_xjtm2_161";
1452
+ const description = "_description_xjtm2_164";
1453
+ const label$6 = "_label_xjtm2_177";
1454
+ const subtitle = "_subtitle_xjtm2_180";
1455
+ const selected$1 = "_selected_xjtm2_193";
1456
+ const success$1 = "_success_xjtm2_197";
1457
+ const warning = "_warning_xjtm2_204";
1458
+ const error = "_error_xjtm2_208";
1459
+ const pinned = "_pinned_xjtm2_211";
1460
+ const disabled$1 = "_disabled_xjtm2_218";
1461
+ const disabledLabel = "_disabledLabel_xjtm2_281";
1616
1462
  var CanvasNodeDefault_vue_vue_type_style_index_0_lang_module_default = {
1617
1463
  node,
1618
1464
  trigger: trigger$1,
@@ -1630,8 +1476,8 @@ var CanvasNodeDefault_vue_vue_type_style_index_0_lang_module_default = {
1630
1476
  warning,
1631
1477
  error,
1632
1478
  pinned,
1633
- disabled,
1634
- "border-rotate": "_border-rotate_y72lx_1",
1479
+ disabled: disabled$1,
1480
+ "border-rotate": "_border-rotate_xjtm2_1",
1635
1481
  disabledLabel
1636
1482
  };
1637
1483
  var CanvasNodeDefault_default = /* @__PURE__ */ __plugin_vue_export_helper_default(CanvasNodeDefault_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": CanvasNodeDefault_vue_vue_type_style_index_0_lang_module_default }]]);
@@ -3281,7 +3127,7 @@ var CanvasHandleDot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
3281
3127
  const props = __props;
3282
3128
  const isOutputHandle = computed(() => props.handleClasses === "source");
3283
3129
  return (_ctx, _cache) => {
3284
- return openBlock(), createElementBlock("div", { class: normalizeClass([_ctx.$style.wrapper, { [_ctx.$style.output]: isOutputHandle.value }]) }, [createBaseVNode("div", { class: normalizeClass([_ctx.$style.dot, _ctx.handleClasses]) }, null, 2)], 2);
3130
+ return openBlock(), createElementBlock("div", { class: normalizeClass([_ctx.$style.wrapper, { [_ctx.$style.output]: isOutputHandle.value }]) }, [createBaseVNode("div", { class: normalizeClass([_ctx.$style.dot, __props.handleClasses]) }, null, 2)], 2);
3285
3131
  };
3286
3132
  }
3287
3133
  });
@@ -3400,7 +3246,7 @@ var CanvasHandlePlus_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
3400
3246
  viewBox: `0 0 ${viewBox.value.width} ${viewBox.value.height}`,
3401
3247
  style: normalizeStyle(styles.value)
3402
3248
  }, [createBaseVNode("line", {
3403
- class: normalizeClass([_ctx.handleClasses, _ctx.$style.line]),
3249
+ class: normalizeClass([__props.handleClasses, _ctx.$style.line]),
3404
3250
  x1: linePosition.value[0][0],
3405
3251
  y1: linePosition.value[0][1],
3406
3252
  x2: linePosition.value[1][0],
@@ -3410,13 +3256,13 @@ var CanvasHandlePlus_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
3410
3256
  "data-test-id": "canvas-handle-plus",
3411
3257
  class: normalizeClass([
3412
3258
  _ctx.$style.plus,
3413
- _ctx.handleClasses,
3259
+ __props.handleClasses,
3414
3260
  "clickable"
3415
3261
  ]),
3416
3262
  transform: `translate(${plusPosition.value[0]}, ${plusPosition.value[1]})`,
3417
3263
  onClick: withModifiers(onClick, ["stop"])
3418
3264
  }, [createBaseVNode("rect", {
3419
- class: normalizeClass([_ctx.handleClasses, "clickable"]),
3265
+ class: normalizeClass([__props.handleClasses, "clickable"]),
3420
3266
  x: "2",
3421
3267
  y: "2",
3422
3268
  width: "20",
@@ -3548,7 +3394,7 @@ var CanvasHandleDiamond_vue_vue_type_script_setup_true_lang_default = /* @__PURE
3548
3394
  props: { handleClasses: { default: void 0 } },
3549
3395
  setup(__props) {
3550
3396
  return (_ctx, _cache) => {
3551
- return openBlock(), createElementBlock("div", { class: normalizeClass(_ctx.$style.wrapper) }, [createBaseVNode("div", { class: normalizeClass([_ctx.$style.diamond, _ctx.handleClasses]) }, null, 2)], 2);
3397
+ return openBlock(), createElementBlock("div", { class: normalizeClass(_ctx.$style.wrapper) }, [createBaseVNode("div", { class: normalizeClass([_ctx.$style.diamond, __props.handleClasses]) }, null, 2)], 2);
3552
3398
  };
3553
3399
  }
3554
3400
  });
@@ -3728,20 +3574,20 @@ var CanvasHandleRenderer_vue_vue_type_script_setup_true_lang_default = /* @__PUR
3728
3574
  });
3729
3575
  return (_ctx, _cache) => {
3730
3576
  return openBlock(), createBlock(unref(_sfc_main$f), mergeProps(_ctx.$attrs, {
3731
- id: _ctx.handleId,
3577
+ id: __props.handleId,
3732
3578
  class: handleClasses$4.value,
3733
3579
  type: handleType.value,
3734
- position: _ctx.position,
3735
- style: _ctx.offset,
3580
+ position: __props.position,
3581
+ style: __props.offset,
3736
3582
  "connectable-start": isConnectableStart.value,
3737
3583
  "connectable-end": isConnectableEnd.value,
3738
- "is-valid-connection": _ctx.isValidConnection
3584
+ "is-valid-connection": __props.isValidConnection
3739
3585
  }), {
3740
3586
  default: withCtx(() => [createVNode(RenderType, {
3741
3587
  class: normalizeClass(renderTypeClasses.value),
3742
3588
  "is-connected": isConnected.value,
3743
3589
  "max-connections": maxConnections.value,
3744
- style: normalizeStyle(_ctx.offset),
3590
+ style: normalizeStyle(__props.offset),
3745
3591
  label: label$7.value,
3746
3592
  onAdd: onAdd$2
3747
3593
  }, null, 8, [
@@ -3781,10 +3627,11 @@ function useContextMenuItems(targetNodeIds) {
3781
3627
  const nodeTypesStore = useNodeTypesStore();
3782
3628
  const workflowsStore = useWorkflowsStore();
3783
3629
  const sourceControlStore = useSourceControlStore();
3630
+ const collaborationStore = useCollaborationStore();
3784
3631
  const i18n = useI18n();
3785
3632
  const workflowObject = computed(() => workflowsStore.workflowObject);
3786
3633
  const workflowPermissions = computed(() => getResourcePermissions(workflowsStore.workflow.scopes).workflow);
3787
- const isReadOnly = computed(() => sourceControlStore.preferences.branchReadOnly || uiStore.isReadOnlyView || !workflowPermissions.value.update || workflowsStore.workflow.isArchived);
3634
+ const isReadOnly = computed(() => sourceControlStore.preferences.branchReadOnly || uiStore.isReadOnlyView || !workflowPermissions.value.update || workflowsStore.workflow.isArchived || collaborationStore.shouldBeReadOnly);
3788
3635
  const canOpenSubworkflow = computed(() => {
3789
3636
  if (targetNodes.value.length !== 1) return false;
3790
3637
  const node$1 = targetNodes.value[0];
@@ -4075,7 +3922,7 @@ var CanvasNodeTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
4075
3922
  }, [createBaseVNode("div", null, [createBaseVNode("div", { class: normalizeClass(_ctx.$style.bolt) }, [createVNode(unref(N8nIcon_default), {
4076
3923
  icon: "bolt-filled",
4077
3924
  size: "large"
4078
- })], 2), !_ctx.readOnly ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_ctx.type === unref("@n8n/n8n-nodes-langchain.chatTrigger") ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [isChatOpen.value ? (openBlock(), createBlock(unref(N8nButton_default), {
3925
+ })], 2), !__props.readOnly ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [__props.type === unref("@n8n/n8n-nodes-langchain.chatTrigger") ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [isChatOpen.value ? (openBlock(), createBlock(unref(N8nButton_default), {
4079
3926
  key: 0,
4080
3927
  type: "secondary",
4081
3928
  icon: "message-circle",
@@ -4132,7 +3979,7 @@ var CanvasNodeTrigger_vue_vue_type_style_index_0_lang_module_default = {
4132
3979
  bolt: "_bolt_19xnh_156"
4133
3980
  };
4134
3981
  var CanvasNodeTrigger_default = /* @__PURE__ */ __plugin_vue_export_helper_default(CanvasNodeTrigger_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": CanvasNodeTrigger_vue_vue_type_style_index_0_lang_module_default }]]);
4135
- var import_isEqual = /* @__PURE__ */ __toESM(require_isEqual());
3982
+ var import_isEqual = /* @__PURE__ */ __toESM(require_isEqual(), 1);
4136
3983
  var _hoisted_1$12 = [
4137
3984
  "data-test-id",
4138
3985
  "data-node-name",
@@ -4426,7 +4273,7 @@ var CanvasNode_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
4426
4273
  key: 2,
4427
4274
  name: data.value.name,
4428
4275
  type: data.value.type,
4429
- hovered: _ctx.nearbyHovered,
4276
+ hovered: __props.nearbyHovered,
4430
4277
  disabled: isDisabled.value,
4431
4278
  "read-only": readOnly.value,
4432
4279
  class: normalizeClass(_ctx.$style.trigger),
@@ -4475,10 +4322,10 @@ var CanvasBackgroundStripedPattern_default = /* @__PURE__ */ __plugin_vue_export
4475
4322
  const patternOffset = computed(() => scaledGap.value / 2);
4476
4323
  return (_ctx, _cache) => {
4477
4324
  return openBlock(), createElementBlock("pattern", {
4478
- id: _ctx.id,
4325
+ id: __props.id,
4479
4326
  patternUnits: "userSpaceOnUse",
4480
- x: _ctx.x % scaledGap.value,
4481
- y: _ctx.y % scaledGap.value,
4327
+ x: __props.x % scaledGap.value,
4328
+ y: __props.y % scaledGap.value,
4482
4329
  width: scaledGap.value,
4483
4330
  height: scaledGap.value,
4484
4331
  patternTransform: `rotate(135) translate(-${patternOffset.value},-${patternOffset.value})`
@@ -4625,14 +4472,14 @@ var CanvasBackground_default = /* @__PURE__ */ defineComponent({
4625
4472
  "data-test-id": "canvas-background",
4626
4473
  "pattern-color": "var(--canvas--dot--color)",
4627
4474
  gap: unref(16)
4628
- }, createSlots({ _: 2 }, [_ctx.striped ? {
4475
+ }, createSlots({ _: 2 }, [__props.striped ? {
4629
4476
  name: "pattern-container",
4630
4477
  fn: withCtx((patternProps) => [createVNode(CanvasBackgroundStripedPattern_default, {
4631
4478
  id: patternProps.id,
4632
4479
  "data-test-id": "canvas-background-striped-pattern",
4633
- x: _ctx.viewport.x,
4634
- y: _ctx.viewport.y,
4635
- zoom: _ctx.viewport.zoom
4480
+ x: __props.viewport.x,
4481
+ y: __props.viewport.y,
4482
+ zoom: __props.viewport.zoom
4636
4483
  }, null, 8, [
4637
4484
  "id",
4638
4485
  "x",
@@ -7519,7 +7366,7 @@ var import_dagre = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((expo
7519
7366
  },
7520
7367
  version: require_version()
7521
7368
  };
7522
- })))());
7369
+ })))(), 1);
7523
7370
  var NODE_X_SPACING = 128;
7524
7371
  var NODE_Y_SPACING = 96;
7525
7372
  var SUBGRAPH_SPACING = 128;
@@ -10695,7 +10542,7 @@ var CanvasArrowHeadMarker_default = /* @__PURE__ */ defineComponent({
10695
10542
  setup(__props) {
10696
10543
  return (_ctx, _cache) => {
10697
10544
  return openBlock(), createElementBlock("svg", null, [createBaseVNode("defs", null, [createBaseVNode("marker", {
10698
- id: _ctx.id,
10545
+ id: __props.id,
10699
10546
  viewBox: "-10 -10 20 20",
10700
10547
  refX: "0",
10701
10548
  refY: "0",
@@ -10703,14 +10550,14 @@ var CanvasArrowHeadMarker_default = /* @__PURE__ */ defineComponent({
10703
10550
  markerHeight: "12.5",
10704
10551
  markerUnits: "strokeWidth",
10705
10552
  orient: "auto-start-reverse"
10706
- }, _cache[0] || (_cache[0] = [createBaseVNode("polyline", {
10553
+ }, [..._cache[0] || (_cache[0] = [createBaseVNode("polyline", {
10707
10554
  "stroke-linecap": "round",
10708
10555
  "stroke-linejoin": "round",
10709
10556
  points: "-5,-4 0,0 -5,4 -5,-4",
10710
10557
  "stroke-width": "2",
10711
10558
  stroke: "context-stroke",
10712
10559
  fill: "context-stroke"
10713
- }, null, -1)]), 8, _hoisted_1$8)])]);
10560
+ }, null, -1)])], 8, _hoisted_1$8)])]);
10714
10561
  };
10715
10562
  }
10716
10563
  });
@@ -10804,7 +10651,7 @@ var CanvasConnectionLine_vue_vue_type_script_setup_true_lang_default = /* @__PUR
10804
10651
  class: normalizeClass(classes.value),
10805
10652
  style: normalizeStyle(edgeStyle.value),
10806
10653
  path: segment[0],
10807
- "marker-end": _ctx.markerEnd
10654
+ "marker-end": __props.markerEnd
10808
10655
  }, null, 8, [
10809
10656
  "class",
10810
10657
  "style",
@@ -10826,10 +10673,10 @@ var _hoisted_1$7 = {
10826
10673
  viewBox: "0 0 16 16"
10827
10674
  };
10828
10675
  function _sfc_render$1(_ctx, _cache) {
10829
- return openBlock(), createElementBlock("svg", _hoisted_1$7, _cache[0] || (_cache[0] = [createBaseVNode("path", {
10676
+ return openBlock(), createElementBlock("svg", _hoisted_1$7, [..._cache[0] || (_cache[0] = [createBaseVNode("path", {
10830
10677
  fill: "currentColor",
10831
10678
  d: "M1.6.13c-.18-.17-.47-.18-.62 0L.56.57.14.98c-.2.15-.18.44 0 .62l3.63 3.6c.1.1.1.27 0 .37-.2.2-.53.52-.93.94-.56.57-.12 1.62.22 2.11.05.07.12.1.2.1.05-.01.1-.04.15-.08l5.23-5.22c.1-.1.1-.26-.02-.34-.5-.34-1.55-.78-2.12-.22-.42.4-.75.73-.94.93-.1.1-.27.1-.37 0L1.6.13ZM9.5 3.9c.07-.09.2-.1.3-.04l6.07 3.44c.15.08.18.29.05.4l-1.21 1.22a.26.26 0 0 1-.26.07l-2.18-.64a.26.26 0 0 0-.32.33l.76 2.02c.04.1.01.2-.06.27L7.7 15.92a.26.26 0 0 1-.41-.05L3.83 9.8a.26.26 0 0 1 .04-.3l5.62-5.6Z"
10832
- }, null, -1)]));
10679
+ }, null, -1)])]);
10833
10680
  }
10834
10681
  var TidyUpIcon_default = /* @__PURE__ */ __plugin_vue_export_helper_default(_sfc_main$6, [["render", _sfc_render$1]]);
10835
10682
  var _sfc_main$1$5 = {
@@ -11098,7 +10945,7 @@ var CanvasControlButtons_vue_vue_type_script_setup_true_lang_default = /* @__PUR
11098
10945
  })]),
11099
10946
  _: 1
11100
10947
  }, 8, ["label"])) : createCommentVNode("", true),
11101
- !_ctx.readOnly ? (openBlock(), createBlock(KeyboardShortcutTooltip_default, {
10948
+ !__props.readOnly ? (openBlock(), createBlock(KeyboardShortcutTooltip_default, {
11102
10949
  key: 2,
11103
10950
  label: unref(i18n).baseText("nodeView.tidyUp"),
11104
10951
  shortcut: {
@@ -11216,7 +11063,11 @@ var CanvasEdge_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
11216
11063
  source: {},
11217
11064
  target: {},
11218
11065
  type: {},
11219
- label: {},
11066
+ label: { type: [
11067
+ String,
11068
+ Object,
11069
+ Function
11070
+ ] },
11220
11071
  style: {},
11221
11072
  selected: { type: Boolean },
11222
11073
  sourcePosition: {},
@@ -11332,12 +11183,12 @@ var CanvasEdge_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
11332
11183
  style: edgeStyles.value
11333
11184
  }, _ctx.$attrs), [renderSlot(_ctx.$slots, "highlight", normalizeProps(guardReactiveProps({ segments: segments.value }))), (openBlock(true), createElementBlock(Fragment, null, renderList(segments.value, (segment, index) => {
11334
11185
  return openBlock(), createBlock(unref(_sfc_main$d), {
11335
- id: `${_ctx.id}-${index}`,
11186
+ id: `${__props.id}-${index}`,
11336
11187
  key: segment[0],
11337
11188
  class: normalizeClass(edgeClasses.value),
11338
11189
  style: normalizeStyle(edgeStyle.value),
11339
11190
  path: segment[0],
11340
- "marker-end": isMainConnection.value ? _ctx.markerEnd : void 0,
11191
+ "marker-end": isMainConnection.value ? __props.markerEnd : void 0,
11341
11192
  "interaction-width": 40
11342
11193
  }, null, 8, [
11343
11194
  "id",
@@ -11364,7 +11215,7 @@ var CanvasEdge_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
11364
11215
  }, null, 8, ["type"])) : (openBlock(), createElementBlock("div", {
11365
11216
  key: 1,
11366
11217
  class: normalizeClass(unref($style).edgeLabel)
11367
- }, toDisplayString(_ctx.label), 3))], 46, _hoisted_2)]),
11218
+ }, toDisplayString(__props.label), 3))], 46, _hoisted_2)]),
11368
11219
  _: 1
11369
11220
  })], 64);
11370
11221
  };
@@ -11448,7 +11299,6 @@ var Canvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
11448
11299
  "click:connection:add",
11449
11300
  "click:pane",
11450
11301
  "run:workflow",
11451
- "save:workflow",
11452
11302
  "create:workflow",
11453
11303
  "drag-and-drop",
11454
11304
  "tidy-up",
@@ -11569,7 +11419,7 @@ var Canvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
11569
11419
  shift_f: () => emit("toggle:focus-panel"),
11570
11420
  ctrl_alt_n: () => emit("create:workflow"),
11571
11421
  ctrl_enter: () => emit("run:workflow"),
11572
- ctrl_s: () => emit("save:workflow"),
11422
+ ctrl_s: () => {},
11573
11423
  shift_alt_t: async () => await onTidyUp({ source: "keyboard-shortcut" }),
11574
11424
  alt_x: emitWithSelectedNodes((ids) => emit("extract-workflow", ids)),
11575
11425
  c: () => emit("start-chat"),
@@ -11944,9 +11794,9 @@ var Canvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
11944
11794
  __expose({ executeContextMenuAction: onContextMenuAction });
11945
11795
  return (_ctx, _cache) => {
11946
11796
  return openBlock(), createBlock(unref(_sfc_main$1), {
11947
- id: _ctx.id,
11948
- nodes: _ctx.nodes,
11949
- edges: _ctx.connections,
11797
+ id: __props.id,
11798
+ nodes: __props.nodes,
11799
+ edges: __props.connections,
11950
11800
  class: normalizeClass(classes.value),
11951
11801
  "apply-changes": false,
11952
11802
  "connection-line-options": { markerEnd: unref(MarkerType).ArrowClosed },
@@ -11981,8 +11831,8 @@ var Canvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
11981
11831
  }, {
11982
11832
  "node-canvas-node": withCtx((nodeProps) => [renderSlot(_ctx.$slots, "node", normalizeProps(guardReactiveProps({ nodeProps })), () => [createVNode(CanvasNode_default, mergeProps(nodeProps, {
11983
11833
  data: nodeDataById.value[nodeProps.id],
11984
- "read-only": _ctx.readOnly,
11985
- "event-bus": _ctx.eventBus,
11834
+ "read-only": __props.readOnly,
11835
+ "event-bus": __props.eventBus,
11986
11836
  hovered: nodesHoveredById.value[nodeProps.id],
11987
11837
  "nearby-hovered": nodeProps.id === unref(hoveredTriggerNode).id.value,
11988
11838
  onDelete: onDeleteNode,
@@ -12014,7 +11864,7 @@ var Canvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
12014
11864
  arrowHeadMarkerId: arrowHeadMarkerId.value
12015
11865
  })), () => [createVNode(CanvasEdge_default, mergeProps(edgeProps, {
12016
11866
  "marker-end": `url(#${arrowHeadMarkerId.value})`,
12017
- "read-only": _ctx.readOnly,
11867
+ "read-only": __props.readOnly,
12018
11868
  hovered: edgesHoveredById.value[edgeProps.id],
12019
11869
  "bring-to-front": edgesBringToFrontById.value[edgeProps.id],
12020
11870
  onAdd: onClickConnectionAdd,
@@ -12032,7 +11882,7 @@ var Canvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
12032
11882
  createVNode(CanvasArrowHeadMarker_default, { id: arrowHeadMarkerId.value }, null, 8, ["id"]),
12033
11883
  renderSlot(_ctx.$slots, "canvas-background", normalizeProps(guardReactiveProps({ viewport: unref(viewport) })), () => [createVNode(CanvasBackground_default, {
12034
11884
  viewport: unref(viewport),
12035
- striped: _ctx.readOnly
11885
+ striped: __props.readOnly
12036
11886
  }, null, 8, ["viewport", "striped"])], true),
12037
11887
  createVNode(Transition, { name: "minimap" }, {
12038
11888
  default: withCtx(() => [withDirectives(createVNode(unref(_sfc_main), {
@@ -12053,10 +11903,10 @@ var Canvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
12053
11903
  createVNode(CanvasControlButtons_default, {
12054
11904
  "data-test-id": "canvas-controls",
12055
11905
  class: normalizeClass(unref($style).canvasControls),
12056
- position: _ctx.controlsPosition,
11906
+ position: __props.controlsPosition,
12057
11907
  "show-interactive": false,
12058
11908
  zoom: unref(viewport).zoom,
12059
- "read-only": _ctx.readOnly,
11909
+ "read-only": __props.readOnly,
12060
11910
  "is-experimental-ndv-active": isExperimentalNdvActive$3.value,
12061
11911
  onZoomToFit: onFitView,
12062
11912
  onZoomIn,
@@ -12098,7 +11948,7 @@ var Canvas_vue_vue_type_style_index_0_lang_module_default = {
12098
11948
  ready: "_ready_rygeb_129",
12099
11949
  isExperimentalNdvActive: "_isExperimentalNdvActive_rygeb_132"
12100
11950
  };
12101
- var Canvas_default = /* @__PURE__ */ __plugin_vue_export_helper_default(Canvas_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": Canvas_vue_vue_type_style_index_0_lang_module_default }], ["__scopeId", "data-v-3dfb422b"]]);
11951
+ var Canvas_default = /* @__PURE__ */ __plugin_vue_export_helper_default(Canvas_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": Canvas_vue_vue_type_style_index_0_lang_module_default }], ["__scopeId", "data-v-76d34b77"]]);
12102
11952
  function useCanvasMapping({ nodes, connections, workflowObject }) {
12103
11953
  const i18n = useI18n();
12104
11954
  const workflowsStore = useWorkflowsStore();
@@ -12573,4 +12423,160 @@ function useCanvasMapping({ nodes, connections, workflowObject }) {
12573
12423
  nodes: mappedNodes
12574
12424
  };
12575
12425
  }
12576
- export { CanvasNode_default as a, ExperimentalCanvasNodeSettings_default as c, CanvasRunWorkflowButton_default as d, CanvasBackground_default as i, useGlobalLinkActions as l, Canvas_default as n, useContextMenuItems as o, CanvasEdge_default as r, useExpressionResolveCtx as s, useCanvasMapping as t, useWorkflowExtraction as u };
12426
+ var CanvasRunWorkflowButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
12427
+ __name: "CanvasRunWorkflowButton",
12428
+ props: {
12429
+ selectedTriggerNodeName: {},
12430
+ triggerNodes: {},
12431
+ waitingForWebhook: { type: Boolean },
12432
+ executing: { type: Boolean },
12433
+ disabled: { type: Boolean },
12434
+ hideTooltip: { type: Boolean },
12435
+ label: {},
12436
+ size: {},
12437
+ includeChatTrigger: { type: Boolean },
12438
+ getNodeType: { type: Function }
12439
+ },
12440
+ emits: [
12441
+ "mouseenter",
12442
+ "mouseleave",
12443
+ "execute",
12444
+ "selectTriggerNode"
12445
+ ],
12446
+ setup(__props, { emit: __emit }) {
12447
+ const emit = __emit;
12448
+ const props = __props;
12449
+ const i18n = useI18n();
12450
+ const selectableTriggerNodes = computed(() => props.triggerNodes.filter((node$1) => !node$1.disabled && (props.includeChatTrigger ? true : !isChatNode(node$1))));
12451
+ const label$7 = computed(() => {
12452
+ if (!props.executing) return props.label ?? i18n.baseText("nodeView.runButtonText.executeWorkflow");
12453
+ if (props.waitingForWebhook) return i18n.baseText("nodeView.runButtonText.waitingForTriggerEvent");
12454
+ return i18n.baseText("nodeView.runButtonText.executingWorkflow");
12455
+ });
12456
+ const actions$1 = computed(() => props.triggerNodes.filter((node$1) => props.includeChatTrigger ? true : !isChatNode(node$1)).toSorted((a, b) => {
12457
+ const [aX, aY] = a.position;
12458
+ const [bX, bY] = b.position;
12459
+ return aY === bY ? aX - bX : aY - bY;
12460
+ }).map((node$1) => ({
12461
+ label: truncateBeforeLast(node$1.name, 50),
12462
+ disabled: !!node$1.disabled || props.executing,
12463
+ id: node$1.name,
12464
+ checked: props.selectedTriggerNodeName === node$1.name
12465
+ })));
12466
+ const isSplitButton = computed(() => selectableTriggerNodes.value.length > 1 && props.selectedTriggerNodeName !== void 0);
12467
+ function getNodeTypeByName(name) {
12468
+ const node$1 = props.triggerNodes.find((trigger$2) => trigger$2.name === name);
12469
+ if (!node$1) return null;
12470
+ return props.getNodeType(node$1.type, node$1.typeVersion);
12471
+ }
12472
+ return (_ctx, _cache) => {
12473
+ return openBlock(), createElementBlock("div", { class: normalizeClass([_ctx.$style.component, isSplitButton.value ? _ctx.$style.split : ""]) }, [createVNode(KeyboardShortcutTooltip_default, {
12474
+ label: label$7.value,
12475
+ shortcut: {
12476
+ metaKey: true,
12477
+ keys: ["↵"]
12478
+ },
12479
+ disabled: __props.executing || __props.hideTooltip
12480
+ }, {
12481
+ default: withCtx(() => [createVNode(unref(N8nButton_default), {
12482
+ class: normalizeClass(_ctx.$style.button),
12483
+ loading: __props.executing,
12484
+ disabled: __props.disabled,
12485
+ size: __props.size ?? "large",
12486
+ icon: "flask-conical",
12487
+ type: "primary",
12488
+ "data-test-id": "execute-workflow-button",
12489
+ onMouseenter: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("mouseenter", $event)),
12490
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("mouseleave", $event)),
12491
+ onClick: _cache[2] || (_cache[2] = ($event) => emit("execute"))
12492
+ }, {
12493
+ default: withCtx(() => [createBaseVNode("span", { class: normalizeClass(_ctx.$style.buttonContent) }, [createTextVNode(toDisplayString(label$7.value) + " ", 1), isSplitButton.value ? (openBlock(), createBlock(unref(N8nText_default), {
12494
+ key: 0,
12495
+ class: normalizeClass(_ctx.$style.subText),
12496
+ bold: false
12497
+ }, {
12498
+ default: withCtx(() => [createVNode(unref(I18nT), {
12499
+ keypath: "nodeView.runButtonText.from",
12500
+ scope: "global"
12501
+ }, {
12502
+ nodeName: withCtx(() => [createVNode(unref(N8nText_default), {
12503
+ bold: "",
12504
+ size: "mini"
12505
+ }, {
12506
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(truncateBeforeLast)(props.selectedTriggerNodeName ?? "", 25)), 1)]),
12507
+ _: 1
12508
+ })]),
12509
+ _: 1
12510
+ })]),
12511
+ _: 1
12512
+ }, 8, ["class"])) : createCommentVNode("", true)], 2)]),
12513
+ _: 1
12514
+ }, 8, [
12515
+ "class",
12516
+ "loading",
12517
+ "disabled",
12518
+ "size"
12519
+ ])]),
12520
+ _: 1
12521
+ }, 8, ["label", "disabled"]), isSplitButton.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createBaseVNode("div", {
12522
+ role: "presentation",
12523
+ class: normalizeClass(_ctx.$style.divider)
12524
+ }, null, 2), createVNode(unref(N8nActionDropdown_default), {
12525
+ class: normalizeClass(_ctx.$style.menu),
12526
+ items: actions$1.value,
12527
+ disabled: __props.disabled,
12528
+ placement: "top",
12529
+ "extra-popper-class": _ctx.$style.menuPopper,
12530
+ onSelect: _cache[3] || (_cache[3] = ($event) => emit("selectTriggerNode", $event))
12531
+ }, {
12532
+ activator: withCtx(() => [createVNode(unref(N8nButton_default), {
12533
+ type: "primary",
12534
+ "icon-size": "large",
12535
+ disabled: __props.disabled,
12536
+ class: normalizeClass(_ctx.$style.chevron),
12537
+ "aria-label": "Select trigger node",
12538
+ icon: "chevron-down"
12539
+ }, null, 8, ["disabled", "class"])]),
12540
+ menuItem: withCtx((item) => [createBaseVNode("div", { class: normalizeClass([_ctx.$style.menuItem, item.disabled ? _ctx.$style.disabled : ""]) }, [createVNode(NodeIcon_default, {
12541
+ class: normalizeClass(_ctx.$style.menuIcon),
12542
+ size: 16,
12543
+ "node-type": getNodeTypeByName(item.id)
12544
+ }, null, 8, ["class", "node-type"]), createBaseVNode("span", null, [createVNode(unref(I18nT), {
12545
+ keypath: "nodeView.runButtonText.from",
12546
+ scope: "global"
12547
+ }, {
12548
+ nodeName: withCtx(() => [createVNode(unref(N8nText_default), {
12549
+ bold: "",
12550
+ size: "small"
12551
+ }, {
12552
+ default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
12553
+ _: 2
12554
+ }, 1024)]),
12555
+ _: 2
12556
+ }, 1024)])], 2)]),
12557
+ _: 1
12558
+ }, 8, [
12559
+ "class",
12560
+ "items",
12561
+ "disabled",
12562
+ "extra-popper-class"
12563
+ ])], 64)) : createCommentVNode("", true)], 2);
12564
+ };
12565
+ }
12566
+ });
12567
+ var CanvasRunWorkflowButton_vue_vue_type_style_index_0_lang_module_default = {
12568
+ component: "_component_1dst5_123",
12569
+ split: "_split_1dst5_129",
12570
+ button: "_button_1dst5_129",
12571
+ divider: "_divider_1dst5_137",
12572
+ chevron: "_chevron_1dst5_142",
12573
+ menu: "_menu_1dst5_148",
12574
+ menuPopper: "_menuPopper_1dst5_152",
12575
+ menuItem: "_menuItem_1dst5_156",
12576
+ disabled: "_disabled_1dst5_162",
12577
+ menuIcon: "_menuIcon_1dst5_162",
12578
+ buttonContent: "_buttonContent_1dst5_166",
12579
+ subText: "_subText_1dst5_173"
12580
+ };
12581
+ var CanvasRunWorkflowButton_default = /* @__PURE__ */ __plugin_vue_export_helper_default(CanvasRunWorkflowButton_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": CanvasRunWorkflowButton_vue_vue_type_style_index_0_lang_module_default }]]);
12582
+ export { CanvasBackground_default as a, useExpressionResolveCtx as c, useWorkflowExtraction as d, CanvasEdge_default as i, ExperimentalCanvasNodeSettings_default as l, useCanvasMapping as n, CanvasNode_default as o, Canvas_default as r, useContextMenuItems as s, CanvasRunWorkflowButton_default as t, useGlobalLinkActions as u };