n8n-editor-ui 1.110.1 → 1.111.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 (121) hide show
  1. package/dist/assets/{AddDataStoreModal-BXMe2_Yo.js → AddDataStoreModal-COmj3tI8.js} +9 -4
  2. package/dist/assets/{AnimatedSpinner-CxbOZIWM.js → AnimatedSpinner-BRe0Ugab.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-D-tU5Nsg.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BllZkKe3.js} +1 -1
  4. package/dist/assets/{AuthView-ty01eojq.js → AuthView-z58gFjsc.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-nmwMP1GF.js → ChangePasswordView-DUmtjPAx.js} +3 -3
  6. package/dist/assets/CollectionParameter--MG-Jsbv.js +4 -0
  7. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CSmXlf80.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-4IRcAtjj.js} +1 -1
  8. package/dist/assets/{CredentialsView-IHneFweR.js → CredentialsView-Ie0l_odH.js} +9 -9
  9. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-Dug6Q9SH.js → DataStoreActions.vue_vue_type_script_setup_true_lang-d31tni9q.js} +7 -2
  10. package/dist/assets/{DataStoreDetailsView-DSpK3R_L.css → DataStoreDetailsView-BPsHPucD.css} +44 -44
  11. package/dist/assets/{DataStoreDetailsView-BZ7cLl6L.js → DataStoreDetailsView-DLuRcsh-.js} +1077 -667
  12. package/dist/assets/{DataStoreView-CzuM5UmJ.js → DataStoreView-DmY3FIsv.js} +9 -9
  13. package/dist/assets/{DemoFooter-CTFaju55.js → DemoFooter-BQj55pTx.js} +6 -6
  14. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DirQeoxa.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-NJbsTbk5.js} +1 -1
  15. package/dist/assets/{EntityNotFound-SgHEB5Zx.js → EntityNotFound-B1VWHiBa.js} +1 -1
  16. package/dist/assets/{EntityUnAuthorised-Ba1UjrRW.js → EntityUnAuthorised-B0Yg7JWa.js} +1 -1
  17. package/dist/assets/{ErrorView-DR_boVdR.js → ErrorView-aHqCD3ri.js} +1 -1
  18. package/dist/assets/{EvaluationsRootView-DutxuCnH.js → EvaluationsRootView-CoYRtuEz.js} +1 -1
  19. package/dist/assets/{EvaluationsView-ClUUTcAC.js → EvaluationsView-BC1UMOb0.js} +3 -3
  20. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-_0D6TWFX.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-CMR49MM7.js} +2 -2
  21. package/dist/assets/{ExecutionsView-gF8JMKIq.js → ExecutionsView-C8r32amj.js} +9 -9
  22. package/dist/assets/{FixedCollectionParameter-D9zye2vX.js → FixedCollectionParameter-BzZrk2iw.js} +1 -1
  23. package/dist/assets/{ForgotMyPasswordView-EkWEVktJ.js → ForgotMyPasswordView-CaXCwrIx.js} +3 -3
  24. package/dist/assets/{InfoAccordion-u7XlbH6a.js → InfoAccordion-DUHSL9ZE.js} +1 -1
  25. package/dist/assets/{InsightsChartAverageRuntime-CoBgniUR.js → InsightsChartAverageRuntime-DFunYdc9.js} +4 -4
  26. package/dist/assets/{InsightsChartFailed-Dn6SuM16.js → InsightsChartFailed-0uRNHiAU.js} +4 -4
  27. package/dist/assets/{InsightsChartFailureRate-CJl1j0ob.js → InsightsChartFailureRate-BuiZokRI.js} +4 -4
  28. package/dist/assets/{InsightsChartTimeSaved-B5DjojXI.js → InsightsChartTimeSaved-CK46Eo2R.js} +4 -4
  29. package/dist/assets/{InsightsChartTotal-T1SFp7S-.js → InsightsChartTotal-ZhGp0D6c.js} +4 -4
  30. package/dist/assets/{InsightsDashboard-CCDahAm5.js → InsightsDashboard-DEJEg2jy.js} +10 -10
  31. package/dist/assets/{InsightsPaywall-Cp82bMTp.js → InsightsPaywall-CEYbNF-U.js} +1 -1
  32. package/dist/assets/{InsightsSummary-I5vKNG0I.js → InsightsSummary-D4c0lwdE.js} +1 -1
  33. package/dist/assets/{InsightsTableWorkflows-D1U89HJ4.js → InsightsTableWorkflows-Cf2s_w2o.js} +4 -4
  34. package/dist/assets/{Logo-DHG_oEvt.js → Logo-DF7Ve1nG.js} +1 -1
  35. package/dist/assets/{LogsPanel-CvmnM4bL.js → LogsPanel-Dz_R5wsR.js} +7 -6
  36. package/dist/assets/{MainHeader-pDg5KXTB.css → MainHeader-6lIHYgJG.css} +16 -16
  37. package/dist/assets/{MainHeader-CTxGLJsC.js → MainHeader-DBWR1wTC.js} +12 -13
  38. package/dist/assets/{MainSidebar-D_xwIVsL.js → MainSidebar-3_9O8-rJ.js} +2 -2
  39. package/dist/assets/{NodeCreation-iNUuiza-.js → NodeCreation-Dtlm36Oq.js} +3 -3
  40. package/dist/assets/{NodeCreator-DMpMHPcz.js → NodeCreator-DUoi7nAW.js} +3 -6
  41. package/dist/assets/{NodeDetailsView-BKEGFeZ7.js → NodeDetailsView-Di4Qgo0H.js} +13 -13
  42. package/dist/assets/{NodeDetailsViewV2-XPdbzrLu.js → NodeDetailsViewV2-DeY6N1Bz.js} +13 -13
  43. package/dist/assets/{NodeView-BRa11kAq.css → NodeView-DMJpfBYR.css} +66 -30
  44. package/dist/assets/{NodeView-Bj14aKtm.js → NodeView-DsbJeAY_.js} +106 -48
  45. package/dist/assets/{PageViewLayout--7SkYsc9.js → PageViewLayout-DC6xqvMl.js} +1 -1
  46. package/dist/assets/{PrebuiltAgentTemplatesView-B7fK6krA.js → PrebuiltAgentTemplatesView-Bf_4L0Mz.js} +2 -2
  47. package/dist/assets/{ProjectBreadcrumb-BxMwihEP.js → ProjectBreadcrumb-OJlbtg71.js} +1 -1
  48. package/dist/assets/{ProjectHeader-CVfPUZNI.js → ProjectHeader-CuQxn8hj.js} +2 -2
  49. package/dist/assets/{ProjectSettings-t9C-Ly49.js → ProjectSettings-CyyS1dIR.js} +3 -3
  50. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-zVio8c2n.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DbrwK8IB.js} +1 -1
  51. package/dist/assets/{ResourcesListLayout-O-Z59wTE.js → ResourcesListLayout-i7do2ZBR.js} +6 -6
  52. package/dist/assets/{ResourcesListLayout-B5eMf4SI.css → ResourcesListLayout-vTwRIDRz.css} +8 -8
  53. package/dist/assets/{RunDataJson-0J6_FxmM.js → RunDataJson-DRtbtIz3.js} +3 -3
  54. package/dist/assets/{RunDataJsonActions-ZbUSwg32.js → RunDataJsonActions-7l2QvE2z.js} +1 -1
  55. package/dist/assets/{RunDataParsedAiContent-Byf4f3hM.js → RunDataParsedAiContent-CD12A0kN.js} +2 -2
  56. package/dist/assets/{RunDataSearch-CyCbN9Nc.js → RunDataSearch-LNeMq9j6.js} +1 -1
  57. package/dist/assets/{RunDataTable-Rj0zhULj.js → RunDataTable-DcKBX4aO.js} +1 -1
  58. package/dist/assets/{SamlOnboarding-UDfF4zGH.js → SamlOnboarding-i5e6HuF6.js} +3 -3
  59. package/dist/assets/{SelectedItemsInfo-64VntNmH.js → SelectedItemsInfo-C55zD1dl.js} +1 -1
  60. package/dist/assets/{SettingsApiView-BMYiuOCY.js → SettingsApiView-C3ju5H4H.js} +1 -1
  61. package/dist/assets/{SettingsCommunityNodesView-BULfnkhp.js → SettingsCommunityNodesView-i_vIhGwd.js} +4 -4
  62. package/dist/assets/{SettingsExternalSecrets-DgYPNKtM.js → SettingsExternalSecrets-ChCiOX-n.js} +1 -1
  63. package/dist/assets/{SettingsLdapView-B64PusRO.js → SettingsLdapView-2QEfpHy6.js} +1 -1
  64. package/dist/assets/{SettingsLogStreamingView-DiDxOEmg.js → SettingsLogStreamingView-BORk25bO.js} +1 -1
  65. package/dist/assets/{SettingsPersonalView-TP__Drcl.js → SettingsPersonalView-Yl43xiM_.js} +1 -1
  66. package/dist/assets/{SettingsSourceControl-FiqxT6qx.js → SettingsSourceControl-BpcJX-rJ.js} +1 -1
  67. package/dist/assets/{SettingsSso-e5ntwax1.js → SettingsSso-BugeRCyt.js} +1 -1
  68. package/dist/assets/{SettingsUsageAndPlan-BiNhzaI3.js → SettingsUsageAndPlan-Dt6g-FQw.js} +1 -1
  69. package/dist/assets/{SettingsUsersView-g3odVDFj.js → SettingsUsersView-BhBuZop9.js} +1 -1
  70. package/dist/assets/{SettingsView-5M3uETdg.js → SettingsView-Cx0SMMrn.js} +1 -1
  71. package/dist/assets/{SetupView-DOX9lfRU.js → SetupView-CUJOHrm2.js} +3 -3
  72. package/dist/assets/{SetupWorkflowCredentialsButton-DMIEMB5C.js → SetupWorkflowCredentialsButton-D6h_IgTa.js} +1 -1
  73. package/dist/assets/{SetupWorkflowFromTemplateView-DEJsN9PM.js → SetupWorkflowFromTemplateView-_ReKyIk1.js} +3 -3
  74. package/dist/assets/{SigninView-FKXG_00n.js → SigninView--fAZZd3A.js} +3 -3
  75. package/dist/assets/{SignoutView-ppJ6lbCU.js → SignoutView-DXoOH9BS.js} +1 -1
  76. package/dist/assets/{SignupView-CmcH1BYL.js → SignupView-d0cK_S0B.js} +3 -3
  77. package/dist/assets/{TableBase-DBeBHkOY.js → TableBase-D5vBzOrx.js} +1 -1
  78. package/dist/assets/{Tag-BQAJRKFE.js → Tag-CGAmDPzS.js} +1 -1
  79. package/dist/assets/{Tags-CdXa3Xx9.js → Tags-CZdua1l_.js} +2 -2
  80. package/dist/assets/{TemplateDetails-BxvljQA3.js → TemplateDetails-ccSWABeF.js} +2 -2
  81. package/dist/assets/{TemplateList-CV9csLUI.js → TemplateList-BKUKBRua.js} +1 -1
  82. package/dist/assets/{TemplatesCollectionView-4dKgKAQR.js → TemplatesCollectionView-BTyYNxNc.js} +7 -7
  83. package/dist/assets/{TemplatesSearchView-taSkU7cY.js → TemplatesSearchView-BYM3HbbU.js} +3 -3
  84. package/dist/assets/{TemplatesView-CXSlz1M1.js → TemplatesView-CrH_O4he.js} +1 -1
  85. package/dist/assets/{TemplatesWorkflowView-C-x3Aov1.js → TemplatesWorkflowView-Dg3REjWI.js} +7 -7
  86. package/dist/assets/{TriggerPanel-C-c5cPsc.js → TriggerPanel-dDX4Bzu7.js} +5 -5
  87. package/dist/assets/{VariablesView-Bh0OeH4s.css → VariablesView-BHcrNXsw.css} +6 -6
  88. package/dist/assets/{VariablesView-C3mX49G9.js → VariablesView-DQw3gYG7.js} +16 -14
  89. package/dist/assets/{WorkerView-DYK4TcTw.js → WorkerView-DIs4RXZZ.js} +6 -6
  90. package/dist/assets/{WorkflowActivator-DZIgVvgL.js → WorkflowActivator-z_Ef2Dd7.js} +3 -3
  91. package/dist/assets/{WorkflowExecutionsInfoAccordion-CivRIQhL.js → WorkflowExecutionsInfoAccordion-ptRuD88E.js} +2 -2
  92. package/dist/assets/{WorkflowExecutionsLandingPage-kBAMGqy2.js → WorkflowExecutionsLandingPage-C-RDf8Mu.js} +3 -3
  93. package/dist/assets/{WorkflowExecutionsPreview-Bnd5-B-d.js → WorkflowExecutionsPreview-Bk449wx1.js} +4 -4
  94. package/dist/assets/{WorkflowExecutionsView-CIfisPDk.js → WorkflowExecutionsView-Dp0exxTM.js} +7 -7
  95. package/dist/assets/{WorkflowHistory-JXOUdJnK.js → WorkflowHistory-D8zH1o6c.js} +2 -2
  96. package/dist/assets/{WorkflowOnboardingView-Dc1KYhGC.js → WorkflowOnboardingView-8OmgIoUc.js} +1 -1
  97. package/dist/assets/{WorkflowPreview-BF9SI0vn.js → WorkflowPreview-jOuoMEkv.js} +1 -1
  98. package/dist/assets/{WorkflowsView-CTnvp65F.js → WorkflowsView-B9MpreL6.js} +14 -14
  99. package/dist/assets/{canvas-DbK7UyVG.js → canvas-k8kjfgjE.js} +1 -1
  100. package/dist/assets/{chartjs.utils-DIRvJRrn.js → chartjs.utils-BXNxmkto.js} +2 -2
  101. package/dist/assets/{core-Br-UFy15.js → core-e2mfCMV8.js} +1 -1
  102. package/dist/assets/{dataStore.store-HuymAG46.js → dataStore.store-vaNG0oX7.js} +9 -6
  103. package/dist/assets/{en-DdNgUrpa.js → en-C3wg5zl_.js} +7 -6
  104. package/dist/assets/{global-link-actions--TiC75iP.js → global-link-actions-CR3odK4e.js} +1 -1
  105. package/dist/assets/{index-DXNU_2Fk.css → index-DnpNicM9.css} +72 -61
  106. package/dist/assets/{index--OJ5nhDf.js → index-DuLlH1tF.js} +955 -780
  107. package/dist/assets/{index-D2apwRup.js → index-DuaZRDhZ.js} +1 -1
  108. package/dist/assets/{pickBy-BljOBsPy.js → pickBy-sB8d3BKD.js} +1 -1
  109. package/dist/assets/{readyToRunWorkflows.store-Dhb8bhvk.js → readyToRunWorkflows.store-SxwN_l4P.js} +1 -1
  110. package/dist/assets/{templateActions-B4GEcBXU.js → templateActions-BUeOwdy0.js} +1 -1
  111. package/dist/assets/{useBeforeUnload-ZtUpNFCu.js → useBeforeUnload-DpCu12iW.js} +1 -1
  112. package/dist/assets/{useExecutionDebugging-Bve-aaKO.js → useExecutionDebugging-XRtGhlAr.js} +1 -1
  113. package/dist/assets/{useImportCurlCommand-CAuor9Pu.js → useImportCurlCommand-DJJ0VEAg.js} +1 -1
  114. package/dist/assets/{useProjectPages-CH519D2j.js → useProjectPages-DrMZX3ez.js} +1 -1
  115. package/dist/assets/{usePushConnection-Db77V5LR.js → usePushConnection-CPQe3uqU.js} +3 -3
  116. package/dist/assets/{useWorkflowActivate-7Rw9KyzM.js → useWorkflowActivate-RFJxTj5m.js} +1 -1
  117. package/dist/index.html +3 -3
  118. package/index.html +1 -1
  119. package/package.json +1 -1
  120. package/vite.config.mts +8 -5
  121. package/dist/assets/CollectionParameter-CQji5w8u.js +0 -4
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, d6 as reactive, o as onMounted, bp as useExternalHooks, W as onBeforeUnmount, c1 as toRefs, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, i as createVNode, N as N8nIcon, _ as _export_sfc, l as unref, i2 as REGULAR_NODE_CREATOR_VIEW, F as Fragment, X as renderSlot, i3 as useViewStacks, r as ref, ep as useCommunityNodesStore, ad as useNodeTypesStore, x as computed, u as useUsersStore, e as createBlock, p as N8nText, w as withCtx, k as createTextVNode, t as toDisplayString, i4 as _sfc_main$b, a9 as Tooltip, f0 as i18n, i5 as captureException, i6 as useKeyboardNavigation, hl as useActions, d8 as useNodeCreatorStore, bm as useCalloutHelpers, i7 as CUSTOM_API_CALL_KEY, i8 as TRIGGER_NODE_CREATOR_VIEW, i9 as isNodePreviewKey, ia as OPEN_AI_NODE_TYPE, ib as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, al as useTelemetry, ic as getActiveViewCallouts, cc as resolveDirective, id as ItemsRenderer, br as createSlots, ie as withMemo, ig as CategorizedItemsRenderer, c as useI18n, z as N8nCallout, b2 as withDirectives, cQ as InfoTip, B as withModifiers, ih as CommunityNodeFooter, ii as HTTP_REQUEST_NODE_TYPE, fu as createStaticVNode, C as N8nLink, ij as REQUEST_NODE_FORM_URL, ik as filterAndSearchNodes, il as getRootSearchCallouts, hJ as WEBHOOK_NODE_TYPE, im as PRE_BUILT_AGENTS_COLLECTION, io as camelCase, ip as shouldShowCommunityNodeDetails, fk as isCommunityPackageName, iq as prepareCommunityNodeDetailsViewStack, hQ as getNodeIconSource, ir as transformNodeType, is as AINodesView, it as AIView, iu as RegularView, iv as TriggerView, iw as flattenCreateElements, ix as HITL_SUBCATEGORY, iy as getHumanInTheLoopActions, iz as AI_OTHERS_NODE_CREATOR_VIEW, iA as AI_NODE_CREATOR_VIEW, a as useToast, bX as NodeIcon, iB as OfficialIcon, q as N8nButton, d9 as useCredentialsStore, iC as removePreviewToken, P as useDebounce, c7 as onUnmounted, a7 as watch, e7 as N8nNotice, c2 as normalizeProps, K as mergeProps, hL as Transition, iD as AI_EVALUATION, iE as AI_UNCATEGORIZED_CATEGORY, Q as useUIStore, fi as useAssistantStore, dc as useBuilderStore, bq as onClickOutside, aa as _sfc_main$c, ap as normalizeStyle, iF as SlideTransition, dH as DRAG_EVENT_DATA_KEY, iG as useActionsGenerator } from "./index--OJ5nhDf.js";
1
+ import { d as defineComponent, d8 as reactive, o as onMounted, bp as useExternalHooks, W as onBeforeUnmount, c1 as toRefs, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, i as createVNode, N as N8nIcon, _ as _export_sfc, l as unref, i4 as REGULAR_NODE_CREATOR_VIEW, F as Fragment, X as renderSlot, i5 as useViewStacks, r as ref, ad as useNodeTypesStore, x as computed, u as useUsersStore, e as createBlock, p as N8nText, w as withCtx, k as createTextVNode, t as toDisplayString, i6 as _sfc_main$b, a9 as Tooltip, f2 as i18n, i7 as fetchInstalledPackageInfo, i8 as captureException, i9 as useKeyboardNavigation, hn as useActions, da as useNodeCreatorStore, bm as useCalloutHelpers, ia as CUSTOM_API_CALL_KEY, ib as TRIGGER_NODE_CREATOR_VIEW, ic as isNodePreviewKey, id as OPEN_AI_NODE_TYPE, ie as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, al as useTelemetry, ig as getActiveViewCallouts, cc as resolveDirective, ih as ItemsRenderer, br as createSlots, ii as withMemo, ij as CategorizedItemsRenderer, c as useI18n, z as N8nCallout, b2 as withDirectives, cS as InfoTip, B as withModifiers, ik as CommunityNodeFooter, il as HTTP_REQUEST_NODE_TYPE, fw as createStaticVNode, C as N8nLink, im as REQUEST_NODE_FORM_URL, io as filterAndSearchNodes, ip as getRootSearchCallouts, hL as WEBHOOK_NODE_TYPE, iq as PRE_BUILT_AGENTS_COLLECTION, ir as camelCase, is as shouldShowCommunityNodeDetails, fm as isCommunityPackageName, it as prepareCommunityNodeDetailsViewStack, hS as getNodeIconSource, iu as transformNodeType, iv as AINodesView, iw as AIView, ix as RegularView, iy as TriggerView, iz as flattenCreateElements, iA as HITL_SUBCATEGORY, iB as getHumanInTheLoopActions, iC as AI_OTHERS_NODE_CREATOR_VIEW, iD as AI_NODE_CREATOR_VIEW, er as useCommunityNodesStore, a as useToast, bX as NodeIcon, iE as OfficialIcon, q as N8nButton, db as useCredentialsStore, iF as removePreviewToken, P as useDebounce, c7 as onUnmounted, a7 as watch, e9 as N8nNotice, c2 as normalizeProps, K as mergeProps, hN as Transition, iG as AI_EVALUATION, iH as AI_UNCATEGORIZED_CATEGORY, Q as useUIStore, fk as useAssistantStore, de as useBuilderStore, bq as onClickOutside, aa as _sfc_main$c, ap as normalizeStyle, iI as SlideTransition, dJ as DRAG_EVENT_DATA_KEY, iJ as useActionsGenerator } from "./index-DuLlH1tF.js";
2
2
  const _hoisted_1$5 = ["placeholder", "value"];
3
3
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
4
4
  __name: "SearchBar",
@@ -143,7 +143,6 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
143
143
  const verified = ref(false);
144
144
  const official = ref(false);
145
145
  const installedPackage = ref(void 0);
146
- const communityNodesStore = useCommunityNodesStore();
147
146
  const nodeTypesStore = useNodeTypesStore();
148
147
  const isOwner = computed(() => useUsersStore().isInstanceOwner);
149
148
  const ownerEmailList = computed(
@@ -158,9 +157,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
158
157
  activeViewStack.communityNodeDetails?.key || ""
159
158
  );
160
159
  if (communityNodeDetails?.installed) {
161
- installedPackage.value = await communityNodesStore.getInstalledPackage(
162
- communityNodeDetails.packageName
163
- );
160
+ installedPackage.value = await fetchInstalledPackageInfo(communityNodeDetails.packageName);
164
161
  }
165
162
  if (communityNodeAttributes) {
166
163
  publisherName.value = communityNodeAttributes.companyName ?? communityNodeAttributes.authorName;
@@ -221,7 +218,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
221
218
  ]),
222
219
  _: 1
223
220
  }, 8, ["class"]),
224
- isOwner.value && installedPackage.value?.updateAvailable ? (openBlock(), createBlock(_component_CommunityNodeUpdateInfo, {
221
+ isOwner.value && installedPackage.value?.updateAvailable && !installedPackage.value.unverifiedUpdate ? (openBlock(), createBlock(_component_CommunityNodeUpdateInfo, {
225
222
  key: 0,
226
223
  "data-test-id": "update-available"
227
224
  })) : (openBlock(), createElementBlock("div", {
@@ -1,16 +1,16 @@
1
- import { d as defineComponent, e as createBlock, g as openBlock, ge as Draggable, n as normalizeClass, w as withCtx, j as createBaseVNode, h as createElementBlock, f as createCommentVNode, i as createVNode, N as N8nIcon, _ as _export_sfc, cl as useThrottleFn, aY as useNDVStore, Q as useUIStore, r as ref, fF as useSlots, o as onMounted, x as computed, cw as ndvEventBus, W as onBeforeUnmount, a7 as watch, hp as MAIN_NODE_PANEL_WIDTH, bc as useStorage, hq as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, l as unref, ap as normalizeStyle, X as renderSlot, ch as N8nResizeWrapper, Y as nextTick, bL as useNodeHelpers, et as storeToRefs, bJ as usePinnedData, ad as useNodeTypesStore, a1 as useWorkflowsStore, cJ as useDeviceSupport, cK as useTelemetryContext, hr as getNodeOutputs, bC as NodeConnectionTypes, bQ as START_NODE_TYPE, hs as EXECUTABLE_TRIGGER_NODE_TYPES, b0 as STICKY_NODE_TYPE, ht as BASE_NODE_SURVEY_URL, hu as dataPinningEventBus, a8 as resolveComponent, a9 as Tooltip, p as N8nText, k as createTextVNode, t as toDisplayString, c as useI18n, br as createSlots, hv as NodeSettings, aq as createEventBus, hw as InputPanel, ci as useStyles, hx as APP_MODALS_ELEMENT_ID, al as useTelemetry, am as useMessage, an as MODAL_CONFIRM, dk as jsonParse, bp as useExternalHooks } from "./index--OJ5nhDf.js";
2
- import { _ as __unplugin_components_0, O as OutputPanel, T as TriggerPanel } from "./TriggerPanel-C-c5cPsc.js";
3
- import { u as useWorkflowActivate } from "./useWorkflowActivate-7Rw9KyzM.js";
4
- import "./RunDataParsedAiContent-Byf4f3hM.js";
5
- import "./core-Br-UFy15.js";
6
- import "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CSmXlf80.js";
7
- import "./NodeView-Bj14aKtm.js";
8
- import "./global-link-actions--TiC75iP.js";
9
- import "./useExecutionDebugging-Bve-aaKO.js";
10
- import "./useBeforeUnload-ZtUpNFCu.js";
11
- import "./canvas-DbK7UyVG.js";
12
- import "./readyToRunWorkflows.store-Dhb8bhvk.js";
13
- import "./InfoAccordion-u7XlbH6a.js";
1
+ import { d as defineComponent, e as createBlock, g as openBlock, gg as Draggable, n as normalizeClass, w as withCtx, j as createBaseVNode, h as createElementBlock, f as createCommentVNode, i as createVNode, N as N8nIcon, _ as _export_sfc, cl as useThrottleFn, aY as useNDVStore, Q as useUIStore, r as ref, fH as useSlots, o as onMounted, x as computed, cw as ndvEventBus, W as onBeforeUnmount, a7 as watch, hr as MAIN_NODE_PANEL_WIDTH, bc as useStorage, hs as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, l as unref, ap as normalizeStyle, X as renderSlot, ch as N8nResizeWrapper, Y as nextTick, bL as useNodeHelpers, ev as storeToRefs, bJ as usePinnedData, ad as useNodeTypesStore, a1 as useWorkflowsStore, cL as useDeviceSupport, cM as useTelemetryContext, ht as getNodeOutputs, bC as NodeConnectionTypes, bQ as START_NODE_TYPE, hu as EXECUTABLE_TRIGGER_NODE_TYPES, b0 as STICKY_NODE_TYPE, hv as BASE_NODE_SURVEY_URL, hw as dataPinningEventBus, a8 as resolveComponent, a9 as Tooltip, p as N8nText, k as createTextVNode, t as toDisplayString, c as useI18n, br as createSlots, hx as NodeSettings, aq as createEventBus, hy as InputPanel, ci as useStyles, hz as APP_MODALS_ELEMENT_ID, al as useTelemetry, am as useMessage, an as MODAL_CONFIRM, dm as jsonParse, bp as useExternalHooks } from "./index-DuLlH1tF.js";
2
+ import { _ as __unplugin_components_0, O as OutputPanel, T as TriggerPanel } from "./TriggerPanel-dDX4Bzu7.js";
3
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-RFJxTj5m.js";
4
+ import "./RunDataParsedAiContent-CD12A0kN.js";
5
+ import "./core-e2mfCMV8.js";
6
+ import "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-4IRcAtjj.js";
7
+ import "./NodeView-DsbJeAY_.js";
8
+ import "./global-link-actions-CR3odK4e.js";
9
+ import "./useExecutionDebugging-XRtGhlAr.js";
10
+ import "./useBeforeUnload-DpCu12iW.js";
11
+ import "./canvas-k8kjfgjE.js";
12
+ import "./readyToRunWorkflows.store-SxwN_l4P.js";
13
+ import "./InfoAccordion-DUHSL9ZE.js";
14
14
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
15
15
  __name: "PanelDragButton",
16
16
  props: {
@@ -1,16 +1,16 @@
1
- import { d as defineComponent, x as computed, c as useI18n, h as createElementBlock, g as openBlock, j as createBaseVNode, i as createVNode, n as normalizeClass, e as createBlock, f as createCommentVNode, bX as NodeIcon, aH as InlineRename, l as unref, C as N8nLink, w as withCtx, p as N8nText, k as createTextVNode, t as toDisplayString, N as N8nIcon, a9 as Tooltip, aa as _sfc_main$3, _ as _export_sfc, r as ref, hM as LOCAL_STORAGE_NDV_PANEL_WIDTH, hN as toValue, gi as useElementSize, a7 as watch, b_ as toRef, dk as jsonParse, ge as Draggable, hO as FontAwesomeIcon, aY as useNDVStore, bL as useNodeHelpers, et as storeToRefs, bJ as usePinnedData, ad as useNodeTypesStore, Q as useUIStore, a1 as useWorkflowsStore, cJ as useDeviceSupport, cK as useTelemetryContext, aG as useTemplateRef, hP as useNodeDocsUrl, hr as getNodeOutputs, bC as NodeConnectionTypes, bQ as START_NODE_TYPE, hs as EXECUTABLE_TRIGGER_NODE_TYPES, b0 as STICKY_NODE_TYPE, bn as useKeybindings, o as onMounted, hu as dataPinningEventBus, W as onBeforeUnmount, ap as normalizeStyle, ci as useStyles, hQ as getNodeIconSource, hw as InputPanel, hv as NodeSettings, aq as createEventBus, ch as N8nResizeWrapper, hx as APP_MODALS_ELEMENT_ID, hR as Teleport, al as useTelemetry, am as useMessage, an as MODAL_CONFIRM, bp as useExternalHooks } from "./index--OJ5nhDf.js";
2
- import { _ as __unplugin_components_0, T as TriggerPanel, O as OutputPanel } from "./TriggerPanel-C-c5cPsc.js";
3
- import { u as useWorkflowActivate } from "./useWorkflowActivate-7Rw9KyzM.js";
4
- import "./RunDataParsedAiContent-Byf4f3hM.js";
5
- import "./core-Br-UFy15.js";
6
- import "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CSmXlf80.js";
7
- import "./NodeView-Bj14aKtm.js";
8
- import "./global-link-actions--TiC75iP.js";
9
- import "./useExecutionDebugging-Bve-aaKO.js";
10
- import "./useBeforeUnload-ZtUpNFCu.js";
11
- import "./canvas-DbK7UyVG.js";
12
- import "./readyToRunWorkflows.store-Dhb8bhvk.js";
13
- import "./InfoAccordion-u7XlbH6a.js";
1
+ import { d as defineComponent, x as computed, c as useI18n, h as createElementBlock, g as openBlock, j as createBaseVNode, i as createVNode, n as normalizeClass, e as createBlock, f as createCommentVNode, bX as NodeIcon, aH as InlineRename, l as unref, C as N8nLink, w as withCtx, p as N8nText, k as createTextVNode, t as toDisplayString, N as N8nIcon, a9 as Tooltip, aa as _sfc_main$3, _ as _export_sfc, r as ref, hO as LOCAL_STORAGE_NDV_PANEL_WIDTH, hP as toValue, gk as useElementSize, a7 as watch, b_ as toRef, dm as jsonParse, gg as Draggable, hQ as FontAwesomeIcon, aY as useNDVStore, bL as useNodeHelpers, ev as storeToRefs, bJ as usePinnedData, ad as useNodeTypesStore, Q as useUIStore, a1 as useWorkflowsStore, cL as useDeviceSupport, cM as useTelemetryContext, aG as useTemplateRef, hR as useNodeDocsUrl, ht as getNodeOutputs, bC as NodeConnectionTypes, bQ as START_NODE_TYPE, hu as EXECUTABLE_TRIGGER_NODE_TYPES, b0 as STICKY_NODE_TYPE, bn as useKeybindings, o as onMounted, hw as dataPinningEventBus, W as onBeforeUnmount, ap as normalizeStyle, ci as useStyles, hS as getNodeIconSource, hy as InputPanel, hx as NodeSettings, aq as createEventBus, ch as N8nResizeWrapper, hz as APP_MODALS_ELEMENT_ID, hT as Teleport, al as useTelemetry, am as useMessage, an as MODAL_CONFIRM, bp as useExternalHooks } from "./index-DuLlH1tF.js";
2
+ import { _ as __unplugin_components_0, T as TriggerPanel, O as OutputPanel } from "./TriggerPanel-dDX4Bzu7.js";
3
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-RFJxTj5m.js";
4
+ import "./RunDataParsedAiContent-CD12A0kN.js";
5
+ import "./core-e2mfCMV8.js";
6
+ import "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-4IRcAtjj.js";
7
+ import "./NodeView-DsbJeAY_.js";
8
+ import "./global-link-actions-CR3odK4e.js";
9
+ import "./useExecutionDebugging-XRtGhlAr.js";
10
+ import "./useBeforeUnload-DpCu12iW.js";
11
+ import "./canvas-k8kjfgjE.js";
12
+ import "./readyToRunWorkflows.store-SxwN_l4P.js";
13
+ import "./InfoAccordion-DUHSL9ZE.js";
14
14
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
15
15
  __name: "NDVHeader",
16
16
  props: {
@@ -256,12 +256,48 @@
256
256
  -------------------------- */
257
257
  /* BEM
258
258
  -------------------------- */
259
- ._component_1u8pj_123 {
260
- display: flex;
261
- align-items: center;
262
- justify-content: center;
259
+ ._component_6x5cw_123 {
263
260
  height: 100%;
264
261
  overflow: auto;
262
+ }
263
+ ._multipleNodes_6x5cw_128 {
264
+ min-height: 100%;
265
+ display: flex;
266
+ flex-direction: column;
267
+ align-items: center;
268
+ justify-content: start;
269
+ padding: var(--spacing-3xl) var(--spacing-m);
270
+ gap: var(--spacing-m);
271
+ }
272
+ ._multipleNodesActions_6x5cw_138 {
273
+ align-self: stretch;
274
+ list-style-type: none;
275
+ }
276
+ ._multipleNodesAction_6x5cw_138 {
277
+ margin-top: -1px;
278
+ }
279
+ ._multipleNodesAction_6x5cw_138 button {
280
+ width: 100%;
281
+ border-radius: 0;
282
+ position: relative;
283
+ display: flex;
284
+ align-items: center;
285
+ justify-content: space-between;
286
+ border-color: var(--border-color-light);
287
+ }
288
+ ._multipleNodesAction_6x5cw_138 button:disabled {
289
+ border-color: var(--border-color-light);
290
+ }
291
+ ._multipleNodesAction_6x5cw_138:first-of-type button {
292
+ border-top-left-radius: var(--border-radius-base);
293
+ border-top-right-radius: var(--border-radius-base);
294
+ }
295
+ ._multipleNodesAction_6x5cw_138:last-of-type button {
296
+ border-bottom-left-radius: var(--border-radius-base);
297
+ border-bottom-right-radius: var(--border-radius-base);
298
+ }
299
+ ._multipleNodesAction_6x5cw_138 button:hover {
300
+ z-index: 1;
265
301
  }/* BEM support Func
266
302
  -------------------------- */
267
303
  /* Transition
@@ -519,7 +555,7 @@
519
555
  -------------------------- */
520
556
  /* BEM
521
557
  -------------------------- */
522
- ._wrapper_1yhze_123 {
558
+ ._wrapper_s6jeo_123 {
523
559
  display: flex;
524
560
  flex-direction: row;
525
561
  flex-wrap: nowrap;
@@ -530,111 +566,111 @@
530
566
  flex-grow: 0;
531
567
  flex-shrink: 0;
532
568
  }
533
- ._container_1yhze_135 {
569
+ ._container_s6jeo_135 {
534
570
  display: flex;
535
571
  flex-direction: column;
536
572
  height: 100%;
537
573
  }
538
- ._content_1yhze_141 {
574
+ ._content_s6jeo_141 {
539
575
  display: flex;
540
576
  flex-direction: column;
541
577
  height: 100%;
542
578
  width: 100%;
543
579
  }
544
- ._content_1yhze_141._emptyContent_1yhze_147 {
580
+ ._content_s6jeo_141._emptyContent_s6jeo_147 {
545
581
  text-align: center;
546
582
  justify-content: center;
547
583
  align-items: center;
548
584
  }
549
- ._content_1yhze_141._emptyContent_1yhze_147 ._emptyText_1yhze_152 {
585
+ ._content_s6jeo_141._emptyContent_s6jeo_147 ._emptyText_s6jeo_152 {
550
586
  margin: 0 var(--spacing-xl);
551
587
  display: flex;
552
588
  flex-direction: column;
553
589
  gap: var(--spacing-2xs);
554
590
  }
555
- ._content_1yhze_141._emptyContent_1yhze_147 ._emptyText_1yhze_152 ._focusParameterWrapper_1yhze_158 {
591
+ ._content_s6jeo_141._emptyContent_s6jeo_147 ._emptyText_s6jeo_152 ._focusParameterWrapper_s6jeo_158 {
556
592
  display: flex;
557
593
  align-items: center;
558
594
  justify-content: center;
559
595
  gap: var(--spacing-2xs);
560
596
  margin-bottom: var(--spacing-m);
561
597
  }
562
- ._content_1yhze_141._emptyContent_1yhze_147 ._emptyText_1yhze_152 ._focusParameterWrapper_1yhze_158 ._iconWrapper_1yhze_165 {
598
+ ._content_s6jeo_141._emptyContent_s6jeo_147 ._emptyText_s6jeo_152 ._focusParameterWrapper_s6jeo_158 ._iconWrapper_s6jeo_165 {
563
599
  position: relative;
564
600
  display: inline-block;
565
601
  }
566
- ._content_1yhze_141._emptyContent_1yhze_147 ._emptyText_1yhze_152 ._focusParameterWrapper_1yhze_158 ._pointerIcon_1yhze_169 {
602
+ ._content_s6jeo_141._emptyContent_s6jeo_147 ._emptyText_s6jeo_152 ._focusParameterWrapper_s6jeo_158 ._pointerIcon_s6jeo_169 {
567
603
  position: absolute;
568
604
  top: 100%;
569
605
  left: 50%;
570
606
  transform: translate(-20%, -30%);
571
607
  pointer-events: none;
572
608
  }
573
- ._content_1yhze_141._emptyContent_1yhze_147 ._emptyText_1yhze_152 ._focusParameterWrapper_1yhze_158 [class*="_disabled_"] {
609
+ ._content_s6jeo_141._emptyContent_s6jeo_147 ._emptyText_s6jeo_152 ._focusParameterWrapper_s6jeo_158 [class*="_disabled_"] {
574
610
  cursor: default !important;
575
611
  }
576
- ._content_1yhze_141 ._tabHeader_1yhze_179 {
612
+ ._content_s6jeo_141 ._tabHeader_s6jeo_179 {
577
613
  display: flex;
578
614
  justify-content: space-between;
579
615
  align-items: center;
580
616
  border-bottom: 1px solid var(--color-foreground-base);
581
617
  padding: var(--spacing-2xs);
582
618
  }
583
- ._content_1yhze_141 ._tabHeader_1yhze_179 ._tabHeaderText_1yhze_186 {
619
+ ._content_s6jeo_141 ._tabHeader_s6jeo_179 ._tabHeaderText_s6jeo_186 {
584
620
  display: flex;
585
621
  gap: var(--spacing-4xs);
586
622
  align-items: baseline;
587
623
  }
588
- ._content_1yhze_141 ._tabHeader_1yhze_179 ._buttonWrapper_1yhze_191 {
624
+ ._content_s6jeo_141 ._tabHeader_s6jeo_179 ._buttonWrapper_s6jeo_191 {
589
625
  display: flex;
590
626
  gap: var(--spacing-2xs);
591
627
  align-items: center;
592
628
  }
593
- ._content_1yhze_141 ._parameterDetailsWrapper_1yhze_196 {
629
+ ._content_s6jeo_141 ._parameterDetailsWrapper_s6jeo_196 {
594
630
  display: flex;
595
631
  height: 100%;
596
632
  flex-direction: column;
597
633
  gap: var(--spacing-2xs);
598
634
  padding: var(--spacing-2xs);
599
635
  }
600
- ._content_1yhze_141 ._parameterDetailsWrapper_1yhze_196 ._parameterOptionsWrapper_1yhze_203 {
636
+ ._content_s6jeo_141 ._parameterDetailsWrapper_s6jeo_196 ._parameterOptionsWrapper_s6jeo_203 {
601
637
  display: flex;
602
638
  justify-content: space-between;
603
639
  }
604
- ._content_1yhze_141 ._parameterDetailsWrapper_1yhze_196 ._noExecutionDataTip_1yhze_207 {
640
+ ._content_s6jeo_141 ._parameterDetailsWrapper_s6jeo_196 ._noExecutionDataTip_s6jeo_207 {
605
641
  align-content: center;
606
642
  }
607
- ._content_1yhze_141 ._parameterDetailsWrapper_1yhze_196 ._editorContainer_1yhze_210 {
608
- height: 100%;
609
- overflow-y: auto;
643
+ ._content_s6jeo_141 ._parameterDetailsWrapper_s6jeo_196 ._editorContainer_s6jeo_210 {
644
+ height: 0;
645
+ flex-grow: 1;
610
646
  }
611
- ._content_1yhze_141 ._parameterDetailsWrapper_1yhze_196 ._editorContainer_1yhze_210 ._editor_1yhze_210 {
647
+ ._content_s6jeo_141 ._parameterDetailsWrapper_s6jeo_196 ._editorContainer_s6jeo_210 ._editor_s6jeo_210 {
612
648
  display: flex;
613
649
  height: 100%;
614
650
  width: 100%;
615
651
  font-size: var(--font-size-2xs);
616
652
  }
617
- ._content_1yhze_141 ._parameterDetailsWrapper_1yhze_196 ._editorContainer_1yhze_210 ._editor_1yhze_210 .cm-editor {
653
+ ._content_s6jeo_141 ._parameterDetailsWrapper_s6jeo_196 ._editorContainer_s6jeo_210 ._editor_s6jeo_210 .cm-editor {
618
654
  background-color: var(--color-code-background);
619
655
  width: 100%;
620
656
  }
621
- ._delayedShow_1yhze_225 {
657
+ ._delayedShow_s6jeo_225 {
622
658
  opacity: 0;
623
659
  transition: opacity 0.1s none;
624
- animation: _triggerShow_1yhze_1 0.1s normal 0.1s forwards;
660
+ animation: _triggerShow_s6jeo_1 0.1s normal 0.1s forwards;
625
661
  }
626
- @keyframes _triggerShow_1yhze_1 {
662
+ @keyframes _triggerShow_s6jeo_1 {
627
663
  to {
628
664
  opacity: 1;
629
665
  }
630
666
  }
631
- ._closeButton_1yhze_236 {
667
+ ._closeButton_s6jeo_236 {
632
668
  cursor: pointer;
633
669
  }
634
- ._heightFull_1yhze_240 {
670
+ ._heightFull_s6jeo_240 {
635
671
  height: 100%;
636
672
  }
637
- ._forceHover_1yhze_244 {
673
+ ._forceHover_s6jeo_244 {
638
674
  color: var(--color-button-secondary-hover-active-focus-font);
639
675
  border-color: var(--color-button-secondary-hover-active-focus-border);
640
676
  background-color: var(--color-button-secondary-hover-active-focus-background);
@@ -1,10 +1,10 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-iNUuiza-.js","assets/index--OJ5nhDf.js","assets/index-DXNU_2Fk.css","assets/NodeCreation-C4gQlPqI.css","assets/NodeDetailsView-BKEGFeZ7.js","assets/TriggerPanel-C-c5cPsc.js","assets/RunDataParsedAiContent-Byf4f3hM.js","assets/core-Br-UFy15.js","assets/RunDataParsedAiContent-wfIiKsq7.css","assets/ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CSmXlf80.js","assets/InfoAccordion-u7XlbH6a.js","assets/InfoAccordion-dxudNqVC.css","assets/TriggerPanel-DiD8pi0I.css","assets/useWorkflowActivate-7Rw9KyzM.js","assets/global-link-actions--TiC75iP.js","assets/useExecutionDebugging-Bve-aaKO.js","assets/useBeforeUnload-ZtUpNFCu.js","assets/canvas-DbK7UyVG.js","assets/readyToRunWorkflows.store-Dhb8bhvk.js","assets/NodeDetailsView-CjdovDgq.css","assets/NodeDetailsViewV2-XPdbzrLu.js","assets/NodeDetailsViewV2-J_3cfdea.css","assets/SetupWorkflowCredentialsButton-DMIEMB5C.js"])))=>i.map(i=>d[i]);
2
- import { d as defineComponent, aq as createEventBus, as as useCssModule, cx as useVueFlow, b_ as toRef, x as computed, cy as useCanvasMapping, r as ref, cz as refThrottled, h as createElementBlock, g as openBlock, n as normalizeClass, l as unref, j as createBaseVNode, X as renderSlot, e as createBlock, f as createCommentVNode, cA as Canvas, K as mergeProps, _ as _export_sfc, a1 as useWorkflowsStore, cB as useExpressionResolveCtx, p as N8nText, w as withCtx, k as createTextVNode, t as toDisplayString, cC as _sfc_main$b, i as createVNode, aa as _sfc_main$c, bO as provide, cD as ExpressionLocalResolveContextSymbol, ad as useNodeTypesStore, bX as NodeIcon, F as Fragment, cE as _sfc_main$d, aG as useTemplateRef, bL as useNodeHelpers, cF as useFocusPanelStore, cG as useNodeSettingsParameters, cH as useEnvironmentsStore, cI as useExperimentalNdvStore, aY as useNDVStore, cJ as useDeviceSupport, cv as useActiveElement, cK as useTelemetryContext, cL as HTML_NODE_TYPE, cM as isValueExpression, cN as isResourceLocatorValue, cO as AI_TRANSFORM_NODE_TYPE, cP as useResolvedExpression, a7 as watch, cl as useThrottleFn, B as withModifiers, N as N8nIcon, cQ as InfoTip, c as useI18n, cR as __unplugin_components_2, cS as __unplugin_components_3, cT as __unplugin_components_4, cU as __unplugin_components_5, cV as __unplugin_components_6, cW as __unplugin_components_7, cX as __unplugin_components_8, cY as __unplugin_components_9, cZ as N8nInput, O as N8nRadioButtons, ap as normalizeStyle, ch as N8nResizeWrapper, c_ as getParameterTypeOption, c$ as htmlEditorEventBus, d0 as parseFromExpression, d1 as isValidParameterOption, d2 as formatAsExpression, al as useTelemetry, Y as nextTick, d3 as hasFocusOnInput, d4 as isFocusableEl, bB as isChatNode, d5 as truncateBeforeLast, q as N8nButton, ab as I18nT, cg as KeyboardShortcutTooltip, aM as N8nActionDropdown, d6 as reactive, o as onMounted, c7 as onUnmounted, d7 as _sfc_main$e, D as useI18n$1, b as useRouter, a2 as useRoute, a as useToast, ax as useDocumentTitle, az as useWorkflowHelpers, ay as useWorkflowSaving, Q as useUIStore, af as useSourceControlStore, d8 as useNodeCreatorStore, v as useSettingsStore, d9 as useCredentialsStore, da as useExternalSecretsStore, at as useRootStore, aZ as useExecutionsStore, co as useCanvasStore, aw as useNpsSurveyStore, db as useHistoryStore, au as useProjectsStore, u as useUsersStore, ar as useTagsStore, a0 as usePushConnectionStore, bk as useTemplatesStore, dc as useBuilderStore, av as useFoldersStore, dd as usePostHog, de as useAgentRequestStore, bK as useLogsStore, bM as useRunWorkflow, bP as useCanvasOperations, df as useWorkflowExtraction, ca as useClipboard, bn as useKeybindings, bu as ABOUT_MODAL_KEY, a3 as PLACEHOLDER_EMPTY_WORKFLOW_ID, dg as NEW_WORKFLOW_ID, V as VIEWS, dh as NDV_UI_OVERHAUL_EXPERIMENT, bQ as START_NODE_TYPE, di as getNodeViewTab, L as MAIN_HEADER_TABS, dj as VALID_WORKFLOW_IMPORT_URL_REGEX, am as useMessage, an as MODAL_CONFIRM, dk as jsonParse, aB as getResourcePermissions, bH as CHAT_TRIGGER_NODE_TYPE, bG as MANUAL_CHAT_TRIGGER_NODE_TYPE, dl as EVALUATION_TRIGGER_NODE_TYPE, dm as getBounds, dn as onBeforeRouteLeave, b1 as onBeforeMount, ak as WORKFLOW_SETTINGS_MODAL_KEY, bp as useExternalHooks, dp as onActivated, dq as onDeactivated, W as onBeforeUnmount, dr as Suspense, ds as defineAsyncComponent, z as N8nCallout, aU as __vitePreload, aE as EnterpriseEditionFeature, dt as NODE_CREATOR_OPEN_SOURCES, du as EVALUATION_NODE_TYPE, dv as getSampleWorkflowByTemplateId, dw as tryToParseNumber, aO as nodeViewEventBus, bC as NodeConnectionTypes, dx as createCanvasConnectionHandleString, dy as CanvasConnectionMode, dz as isValidNodeConnectionType, dA as sourceControlEventBus, dB as getNodesWithNormalizedPosition, aW as h, dC as CanvasNodeRenderType, dD as shouldIgnoreCanvasShortcut, b0 as STICKY_NODE_TYPE, dE as needsAgentInput, dF as FROM_AI_PARAMETERS_MODAL_KEY, dG as historyBus, dH as DRAG_EVENT_DATA_KEY } from "./index--OJ5nhDf.js";
3
- import { g as globalLinkActionsEventBus } from "./global-link-actions--TiC75iP.js";
4
- import { u as useExecutionDebugging } from "./useExecutionDebugging-Bve-aaKO.js";
5
- import { u as useBeforeUnload } from "./useBeforeUnload-ZtUpNFCu.js";
6
- import { c as canvasEventBus } from "./canvas-DbK7UyVG.js";
7
- import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-Dhb8bhvk.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-Dtlm36Oq.js","assets/index-DuLlH1tF.js","assets/index-DnpNicM9.css","assets/NodeCreation-C4gQlPqI.css","assets/NodeDetailsView-Di4Qgo0H.js","assets/TriggerPanel-dDX4Bzu7.js","assets/RunDataParsedAiContent-CD12A0kN.js","assets/core-e2mfCMV8.js","assets/RunDataParsedAiContent-wfIiKsq7.css","assets/ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-4IRcAtjj.js","assets/InfoAccordion-DUHSL9ZE.js","assets/InfoAccordion-dxudNqVC.css","assets/TriggerPanel-DiD8pi0I.css","assets/useWorkflowActivate-RFJxTj5m.js","assets/global-link-actions-CR3odK4e.js","assets/useExecutionDebugging-XRtGhlAr.js","assets/useBeforeUnload-DpCu12iW.js","assets/canvas-k8kjfgjE.js","assets/readyToRunWorkflows.store-SxwN_l4P.js","assets/NodeDetailsView-CjdovDgq.css","assets/NodeDetailsViewV2-DeY6N1Bz.js","assets/NodeDetailsViewV2-J_3cfdea.css","assets/SetupWorkflowCredentialsButton-D6h_IgTa.js"])))=>i.map(i=>d[i]);
2
+ import { d as defineComponent, aq as createEventBus, aG as useTemplateRef, as as useCssModule, cx as useVueFlow, b_ as toRef, x as computed, cy as useCanvasMapping, r as ref, cz as refThrottled, h as createElementBlock, g as openBlock, n as normalizeClass, l as unref, j as createBaseVNode, X as renderSlot, e as createBlock, f as createCommentVNode, cA as Canvas, K as mergeProps, _ as _export_sfc, a1 as useWorkflowsStore, cB as useExpressionResolveCtx, cC as useContextMenuItems, aY as useNDVStore, a7 as watch, p as N8nText, w as withCtx, t as toDisplayString, F as Fragment, A as renderList, i as createVNode, q as N8nButton, k as createTextVNode, cD as N8nKeyboardShortcut, cE as _sfc_main$b, aa as _sfc_main$c, bO as provide, cF as ExpressionLocalResolveContextSymbol, ad as useNodeTypesStore, bX as NodeIcon, cG as _sfc_main$d, bL as useNodeHelpers, cH as useFocusPanelStore, cI as useNodeSettingsParameters, cJ as useEnvironmentsStore, cK as useExperimentalNdvStore, cL as useDeviceSupport, cv as useActiveElement, cM as useTelemetryContext, cN as HTML_NODE_TYPE, cO as isValueExpression, cP as isResourceLocatorValue, cQ as AI_TRANSFORM_NODE_TYPE, cR as useResolvedExpression, cl as useThrottleFn, B as withModifiers, N as N8nIcon, cS as InfoTip, c as useI18n, cT as __unplugin_components_2, cU as __unplugin_components_3, cV as __unplugin_components_4, cW as __unplugin_components_5, cX as __unplugin_components_6, cY as __unplugin_components_7, cZ as __unplugin_components_8, c_ as __unplugin_components_9, c$ as N8nInput, O as N8nRadioButtons, ap as normalizeStyle, ch as N8nResizeWrapper, d0 as getParameterTypeOption, d1 as htmlEditorEventBus, d2 as parseFromExpression, d3 as isValidParameterOption, d4 as formatAsExpression, al as useTelemetry, Y as nextTick, d5 as hasFocusOnInput, d6 as isFocusableEl, bB as isChatNode, d7 as truncateBeforeLast, ab as I18nT, cg as KeyboardShortcutTooltip, aM as N8nActionDropdown, d8 as reactive, o as onMounted, c7 as onUnmounted, d9 as _sfc_main$e, D as useI18n$1, b as useRouter, a2 as useRoute, a as useToast, ax as useDocumentTitle, az as useWorkflowHelpers, ay as useWorkflowSaving, Q as useUIStore, af as useSourceControlStore, da as useNodeCreatorStore, v as useSettingsStore, db as useCredentialsStore, dc as useExternalSecretsStore, at as useRootStore, aZ as useExecutionsStore, co as useCanvasStore, aw as useNpsSurveyStore, dd as useHistoryStore, au as useProjectsStore, u as useUsersStore, ar as useTagsStore, a0 as usePushConnectionStore, bk as useTemplatesStore, de as useBuilderStore, av as useFoldersStore, df as usePostHog, dg as useAgentRequestStore, bK as useLogsStore, bM as useRunWorkflow, bP as useCanvasOperations, dh as useWorkflowExtraction, ca as useClipboard, bn as useKeybindings, bu as ABOUT_MODAL_KEY, a3 as PLACEHOLDER_EMPTY_WORKFLOW_ID, di as NEW_WORKFLOW_ID, V as VIEWS, dj as NDV_UI_OVERHAUL_EXPERIMENT, bQ as START_NODE_TYPE, dk as getNodeViewTab, L as MAIN_HEADER_TABS, dl as VALID_WORKFLOW_IMPORT_URL_REGEX, am as useMessage, an as MODAL_CONFIRM, dm as jsonParse, aB as getResourcePermissions, bH as CHAT_TRIGGER_NODE_TYPE, bG as MANUAL_CHAT_TRIGGER_NODE_TYPE, dn as EVALUATION_TRIGGER_NODE_TYPE, dp as getBounds, dq as onBeforeRouteLeave, b1 as onBeforeMount, ak as WORKFLOW_SETTINGS_MODAL_KEY, bp as useExternalHooks, dr as onActivated, ds as onDeactivated, W as onBeforeUnmount, dt as Suspense, du as defineAsyncComponent, z as N8nCallout, aU as __vitePreload, aE as EnterpriseEditionFeature, dv as NODE_CREATOR_OPEN_SOURCES, dw as EVALUATION_NODE_TYPE, dx as getSampleWorkflowByTemplateId, dy as tryToParseNumber, aO as nodeViewEventBus, bC as NodeConnectionTypes, dz as createCanvasConnectionHandleString, dA as CanvasConnectionMode, dB as isValidNodeConnectionType, dC as sourceControlEventBus, dD as getNodesWithNormalizedPosition, aW as h, dE as CanvasNodeRenderType, dF as shouldIgnoreCanvasShortcut, b0 as STICKY_NODE_TYPE, dG as needsAgentInput, dH as FROM_AI_PARAMETERS_MODAL_KEY, dI as historyBus, dJ as DRAG_EVENT_DATA_KEY } from "./index-DuLlH1tF.js";
3
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-CR3odK4e.js";
4
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-XRtGhlAr.js";
5
+ import { u as useBeforeUnload } from "./useBeforeUnload-DpCu12iW.js";
6
+ import { c as canvasEventBus } from "./canvas-k8kjfgjE.js";
7
+ import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-SxwN_l4P.js";
8
8
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
9
9
  ...{
10
10
  inheritAttrs: false
@@ -20,8 +20,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
20
20
  readOnly: { type: Boolean },
21
21
  executing: { type: Boolean }
22
22
  },
23
- setup(__props) {
23
+ setup(__props, { expose: __expose }) {
24
24
  const props = __props;
25
+ const canvasRef = useTemplateRef("canvas");
25
26
  const $style = useCssModule();
26
27
  const { onNodesInitialized } = useVueFlow(props.id);
27
28
  const workflow = toRef(props, "workflow");
@@ -44,6 +45,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
44
45
  });
45
46
  const mappedNodesThrottled = refThrottled(mappedNodes, 200);
46
47
  const mappedConnectionsThrottled = refThrottled(mappedConnections, 200);
48
+ __expose({
49
+ executeContextMenuAction: (action, nodeIds) => canvasRef.value?.executeContextMenuAction(action, nodeIds)
50
+ });
47
51
  return (_ctx, _cache) => {
48
52
  return openBlock(), createElementBlock("div", {
49
53
  class: normalizeClass(unref($style).wrapper),
@@ -55,6 +59,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
55
59
  }, [
56
60
  workflow.value ? (openBlock(), createBlock(Canvas, mergeProps({
57
61
  key: 0,
62
+ ref: "canvas",
58
63
  id: _ctx.id,
59
64
  nodes: _ctx.executing ? unref(mappedNodesThrottled) : unref(mappedNodes),
60
65
  connections: _ctx.executing ? unref(mappedConnectionsThrottled) : unref(mappedConnections),
@@ -109,28 +114,67 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
109
114
  __name: "ExperimentalNodeDetailsDrawer",
110
115
  props: {
111
116
  node: {},
112
- nodes: {}
117
+ nodeIds: {}
113
118
  },
114
- emits: ["openNdv"],
119
+ emits: ["openNdv", "contextMenuAction"],
115
120
  setup(__props, { emit: __emit }) {
116
121
  const emit = __emit;
117
122
  const expressionResolveCtx = useExpressionResolveCtx(computed(() => __props.node));
123
+ const contextMenuItems = useContextMenuItems(computed(() => __props.nodeIds));
124
+ const ndvStore = useNDVStore();
125
+ const ndvCloseTimes = ref(0);
126
+ const nodeSettingsViewKey = computed(() => [__props.node.id, ndvCloseTimes.value].join("|"));
127
+ watch(
128
+ () => ndvStore.activeNodeName,
129
+ (name, oldName) => {
130
+ if (name === null && oldName !== null) {
131
+ ndvCloseTimes.value += 1;
132
+ }
133
+ }
134
+ );
118
135
  provide(ExpressionLocalResolveContextSymbol, expressionResolveCtx);
119
136
  return (_ctx, _cache) => {
120
137
  const _component_N8nIconButton = _sfc_main$c;
121
138
  return openBlock(), createElementBlock("div", {
122
139
  class: normalizeClass(_ctx.$style.component)
123
140
  }, [
124
- _ctx.nodes.length > 1 ? (openBlock(), createBlock(unref(N8nText), {
141
+ _ctx.nodeIds.length > 1 ? (openBlock(), createBlock(unref(N8nText), {
125
142
  key: 0,
126
- color: "text-base"
143
+ tag: "div",
144
+ color: "text-base",
145
+ class: normalizeClass(_ctx.$style.multipleNodes)
127
146
  }, {
128
147
  default: withCtx(() => [
129
- createTextVNode(toDisplayString(_ctx.nodes.length) + " nodes selected ", 1)
148
+ createBaseVNode("div", null, toDisplayString(_ctx.nodeIds.length) + " nodes selected", 1),
149
+ createBaseVNode("ul", {
150
+ class: normalizeClass(_ctx.$style.multipleNodesActions)
151
+ }, [
152
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(contextMenuItems), (action) => {
153
+ return openBlock(), createElementBlock("li", {
154
+ key: action.id,
155
+ class: normalizeClass(_ctx.$style.multipleNodesAction)
156
+ }, [
157
+ createVNode(unref(N8nButton), {
158
+ type: "secondary",
159
+ disabled: action.disabled,
160
+ onClick: ($event) => emit("contextMenuAction", action.id, _ctx.nodeIds)
161
+ }, {
162
+ default: withCtx(() => [
163
+ createTextVNode(toDisplayString(action.label) + " ", 1),
164
+ action.shortcut ? (openBlock(), createBlock(unref(N8nKeyboardShortcut), mergeProps({
165
+ key: 0,
166
+ ref_for: true
167
+ }, action.shortcut), null, 16)) : createCommentVNode("", true)
168
+ ]),
169
+ _: 2
170
+ }, 1032, ["disabled", "onClick"])
171
+ ], 2);
172
+ }), 128))
173
+ ], 2)
130
174
  ]),
131
175
  _: 1
132
- })) : _ctx.node ? (openBlock(), createBlock(_sfc_main$b, {
133
- key: _ctx.node.id,
176
+ }, 8, ["class"])) : _ctx.node ? (openBlock(), createBlock(_sfc_main$b, {
177
+ key: nodeSettingsViewKey.value,
134
178
  "node-id": _ctx.node.id
135
179
  }, {
136
180
  actions: withCtx(() => [
@@ -150,9 +194,15 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
150
194
  };
151
195
  }
152
196
  });
153
- const component$2 = "_component_1u8pj_123";
197
+ const component$2 = "_component_6x5cw_123";
198
+ const multipleNodes = "_multipleNodes_6x5cw_128";
199
+ const multipleNodesActions = "_multipleNodesActions_6x5cw_138";
200
+ const multipleNodesAction = "_multipleNodesAction_6x5cw_138";
154
201
  const style0$5 = {
155
- component: component$2
202
+ component: component$2,
203
+ multipleNodes,
204
+ multipleNodesActions,
205
+ multipleNodesAction
156
206
  };
157
207
  const cssModules$5 = {
158
208
  "$style": style0$5
@@ -259,7 +309,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
259
309
  props: {
260
310
  isCanvasReadOnly: { type: Boolean }
261
311
  },
262
- emits: ["focus", "saveKeyboardShortcut"],
312
+ emits: ["focus", "saveKeyboardShortcut", "contextMenuAction"],
263
313
  setup(__props, { emit: __emit }) {
264
314
  const props = __props;
265
315
  const emit = __emit;
@@ -372,6 +422,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
372
422
  };
373
423
  });
374
424
  const isNodeExecuting = computed(() => workflowsStore.isNodeExecuting(node.value?.name ?? ""));
425
+ const selectedNodeIds = computed(() => vueFlow.getSelectedNodes.value.map((n) => n.id));
375
426
  const { resolvedExpression } = useResolvedExpression({
376
427
  expression,
377
428
  additionalData: resolvedAdditionalExpressionData,
@@ -550,7 +601,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
550
601
  key: 0,
551
602
  ref: "wrapper",
552
603
  class: normalizeClass(_ctx.$style.wrapper),
553
- onKeydown: _cache[9] || (_cache[9] = withModifiers(() => {
604
+ onKeydown: _cache[10] || (_cache[10] = withModifiers(() => {
554
605
  }, ["stop"]))
555
606
  }, [
556
607
  createVNode(unref(N8nResizeWrapper), {
@@ -794,9 +845,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
794
845
  ], 2)) : node.value && unref(experimentalNdvStore).isNdvInFocusPanelEnabled ? (openBlock(), createBlock(ExperimentalNodeDetailsDrawer, {
795
846
  key: 2,
796
847
  node: node.value,
797
- nodes: unref(vueFlow).getSelectedNodes.value,
798
- onOpenNdv
799
- }, null, 8, ["node", "nodes"])) : (openBlock(), createElementBlock("div", {
848
+ "node-ids": selectedNodeIds.value,
849
+ onOpenNdv,
850
+ onContextMenuAction: _cache[9] || (_cache[9] = (action, nodeIds) => emit("contextMenuAction", action, nodeIds))
851
+ }, null, 8, ["node", "node-ids"])) : (openBlock(), createElementBlock("div", {
800
852
  key: 3,
801
853
  class: normalizeClass([_ctx.$style.content, _ctx.$style.emptyContent])
802
854
  }, [
@@ -865,27 +917,27 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
865
917
  };
866
918
  }
867
919
  });
868
- const wrapper$1 = "_wrapper_1yhze_123";
869
- const container = "_container_1yhze_135";
870
- const content = "_content_1yhze_141";
871
- const emptyContent = "_emptyContent_1yhze_147";
872
- const emptyText = "_emptyText_1yhze_152";
873
- const focusParameterWrapper = "_focusParameterWrapper_1yhze_158";
874
- const iconWrapper$1 = "_iconWrapper_1yhze_165";
875
- const pointerIcon = "_pointerIcon_1yhze_169";
876
- const tabHeader = "_tabHeader_1yhze_179";
877
- const tabHeaderText = "_tabHeaderText_1yhze_186";
878
- const buttonWrapper = "_buttonWrapper_1yhze_191";
879
- const parameterDetailsWrapper = "_parameterDetailsWrapper_1yhze_196";
880
- const parameterOptionsWrapper = "_parameterOptionsWrapper_1yhze_203";
881
- const noExecutionDataTip = "_noExecutionDataTip_1yhze_207";
882
- const editorContainer = "_editorContainer_1yhze_210";
883
- const editor = "_editor_1yhze_210";
884
- const delayedShow = "_delayedShow_1yhze_225";
885
- const triggerShow = "_triggerShow_1yhze_1";
886
- const closeButton = "_closeButton_1yhze_236";
887
- const heightFull = "_heightFull_1yhze_240";
888
- const forceHover = "_forceHover_1yhze_244";
920
+ const wrapper$1 = "_wrapper_s6jeo_123";
921
+ const container = "_container_s6jeo_135";
922
+ const content = "_content_s6jeo_141";
923
+ const emptyContent = "_emptyContent_s6jeo_147";
924
+ const emptyText = "_emptyText_s6jeo_152";
925
+ const focusParameterWrapper = "_focusParameterWrapper_s6jeo_158";
926
+ const iconWrapper$1 = "_iconWrapper_s6jeo_165";
927
+ const pointerIcon = "_pointerIcon_s6jeo_169";
928
+ const tabHeader = "_tabHeader_s6jeo_179";
929
+ const tabHeaderText = "_tabHeaderText_s6jeo_186";
930
+ const buttonWrapper = "_buttonWrapper_s6jeo_191";
931
+ const parameterDetailsWrapper = "_parameterDetailsWrapper_s6jeo_196";
932
+ const parameterOptionsWrapper = "_parameterOptionsWrapper_s6jeo_203";
933
+ const noExecutionDataTip = "_noExecutionDataTip_s6jeo_207";
934
+ const editorContainer = "_editorContainer_s6jeo_210";
935
+ const editor = "_editor_s6jeo_210";
936
+ const delayedShow = "_delayedShow_s6jeo_225";
937
+ const triggerShow = "_triggerShow_s6jeo_1";
938
+ const closeButton = "_closeButton_s6jeo_236";
939
+ const heightFull = "_heightFull_s6jeo_240";
940
+ const forceHover = "_forceHover_s6jeo_244";
889
941
  const style0$3 = {
890
942
  wrapper: wrapper$1,
891
943
  container,
@@ -1312,16 +1364,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1312
1364
  __name: "NodeView",
1313
1365
  setup(__props) {
1314
1366
  const LazyNodeCreation = defineAsyncComponent(
1315
- async () => await __vitePreload(() => import("./NodeCreation-iNUuiza-.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
1367
+ async () => await __vitePreload(() => import("./NodeCreation-Dtlm36Oq.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
1316
1368
  );
1317
1369
  const LazyNodeDetailsView = defineAsyncComponent(
1318
- async () => await __vitePreload(() => import("./NodeDetailsView-BKEGFeZ7.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]) : void 0)
1370
+ async () => await __vitePreload(() => import("./NodeDetailsView-Di4Qgo0H.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]) : void 0)
1319
1371
  );
1320
1372
  const LazyNodeDetailsViewV2 = defineAsyncComponent(
1321
- async () => await __vitePreload(() => import("./NodeDetailsViewV2-XPdbzrLu.js"), true ? __vite__mapDeps([20,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,21]) : void 0)
1373
+ async () => await __vitePreload(() => import("./NodeDetailsViewV2-DeY6N1Bz.js"), true ? __vite__mapDeps([20,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,21]) : void 0)
1322
1374
  );
1323
1375
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
1324
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-DMIEMB5C.js"), true ? __vite__mapDeps([22,1,2]) : void 0)
1376
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-D6h_IgTa.js"), true ? __vite__mapDeps([22,1,2]) : void 0)
1325
1377
  );
1326
1378
  const $style = useCssModule();
1327
1379
  const router = useRouter();
@@ -1417,6 +1469,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1417
1469
  useKeybindings({
1418
1470
  ctrl_alt_o: () => uiStore.openModal(ABOUT_MODAL_KEY)
1419
1471
  });
1472
+ const canvasRef = useTemplateRef("canvas");
1420
1473
  const isLoading = ref(true);
1421
1474
  const isBlankRedirect = ref(false);
1422
1475
  const readOnlyNotification = ref(null);
@@ -1875,6 +1928,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1875
1928
  canvasEventBus.emit("saved:workflow");
1876
1929
  }
1877
1930
  }
1931
+ function onContextMenuAction(action, nodeIds) {
1932
+ canvasRef.value?.executeContextMenuAction(action, nodeIds);
1933
+ }
1878
1934
  function addWorkflowSavedEventBindings() {
1879
1935
  canvasEventBus.on("saved:workflow", npsSurveyStore.fetchPromptsData);
1880
1936
  canvasEventBus.on("saved:workflow", onSaveFromWithinNDV);
@@ -2707,6 +2763,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2707
2763
  }, [
2708
2764
  unref(editableWorkflow) && unref(editableWorkflowObject) && !isLoading.value ? (openBlock(), createBlock(WorkflowCanvas, {
2709
2765
  key: 0,
2766
+ ref: "canvas",
2710
2767
  id: unref(editableWorkflow).id,
2711
2768
  workflow: unref(editableWorkflow),
2712
2769
  "workflow-object": unref(editableWorkflowObject),
@@ -2887,7 +2944,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2887
2944
  !isLoading.value ? (openBlock(), createBlock(FocusPanel, {
2888
2945
  key: 1,
2889
2946
  "is-canvas-read-only": isCanvasReadOnly.value,
2890
- onSaveKeyboardShortcut: onSaveWorkflow
2947
+ onSaveKeyboardShortcut: onSaveWorkflow,
2948
+ onContextMenuAction
2891
2949
  }, null, 8, ["is-canvas-read-only"])) : createCommentVNode("", true)
2892
2950
  ], 2);
2893
2951
  };
@@ -1,4 +1,4 @@
1
- import { _ as _export_sfc, h as createElementBlock, g as openBlock, X as renderSlot, j as createBaseVNode, n as normalizeClass } from "./index--OJ5nhDf.js";
1
+ import { _ as _export_sfc, h as createElementBlock, g as openBlock, X as renderSlot, j as createBaseVNode, n as normalizeClass } from "./index-DuLlH1tF.js";
2
2
  const wrapper = "_wrapper_1x8n3_123";
3
3
  const content = "_content_1x8n3_139";
4
4
  const style0 = {
@@ -1,5 +1,5 @@
1
- import { _ as __unplugin_components_5 } from "./PageViewLayout--7SkYsc9.js";
2
- import { d as defineComponent, ad as useNodeTypesStore, bm as useCalloutHelpers, x as computed, o as onMounted, e as createBlock, g as openBlock, w as withCtx, j as createBaseVNode, n as normalizeClass, i as createVNode, m as N8nHeading, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, C as N8nLink, V as VIEWS, h as createElementBlock, F as Fragment, A as renderList, s as N8nCard, g4 as NodeCreatorNode, br as createSlots, bX as NodeIcon, _ as _export_sfc } from "./index--OJ5nhDf.js";
1
+ import { _ as __unplugin_components_5 } from "./PageViewLayout-DC6xqvMl.js";
2
+ import { d as defineComponent, ad as useNodeTypesStore, bm as useCalloutHelpers, x as computed, o as onMounted, e as createBlock, g as openBlock, w as withCtx, j as createBaseVNode, n as normalizeClass, i as createVNode, m as N8nHeading, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, C as N8nLink, V as VIEWS, h as createElementBlock, F as Fragment, A as renderList, s as N8nCard, g6 as NodeCreatorNode, br as createSlots, bX as NodeIcon, _ as _export_sfc } from "./index-DuLlH1tF.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "PrebuiltAgentTemplatesView",
5
5
  setup(__props) {