n8n-editor-ui 1.69.1 → 1.70.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 (91) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-WFxE66IL.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BntMIzDT.js} +1 -1
  2. package/dist/assets/{AuthView-CwyYsaEp.js → AuthView-Dxh8QCaY.js} +1 -1
  3. package/dist/assets/{CanvasChat-aNmHLHsk.js → CanvasChat-rOzwS7Vn.js} +5 -4
  4. package/dist/assets/{CanvasControls-B0XKV7Yl.js → CanvasControls-Bmo04dJ7.js} +1 -1
  5. package/dist/assets/{ChangePasswordView-brXzO3ZA.js → ChangePasswordView-BtxMhBmp.js} +2 -2
  6. package/dist/assets/CollectionParameter-B6D9F9ZW.js +4 -0
  7. package/dist/assets/{CredentialsView-DmCI_BFM.js → CredentialsView-B4KE87Vi.js} +5 -5
  8. package/dist/assets/{ErrorView-CgtXwolU.js → ErrorView-BIcv6TEp.js} +1 -1
  9. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DzSjE1X1.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-u1_TBZpo.js} +2 -2
  10. package/dist/assets/{ExecutionsView-BQFG-zfV.js → ExecutionsView-C8106X7e.js} +22 -22
  11. package/dist/assets/{ExecutionsView-DlxsqdiC.css → ExecutionsView-COFUjHqa.css} +31 -31
  12. package/dist/assets/{FileSaver.min-Dec4VlX4.js → FileSaver.min-BP27OS5o.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-UONn8WZJ.js → FixedCollectionParameter-jU2z1mVN.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-9zRIxS-G.js → ForgotMyPasswordView-BPRVyjqF.js} +2 -2
  15. package/dist/assets/{MainHeader-Bc9p2q6U.js → MainHeader-C5fjzcBU.js} +50 -21
  16. package/dist/assets/{MainHeader-CgL_r4xK.css → MainHeader-ucYChAeW.css} +14 -10
  17. package/dist/assets/{MainSidebar-DlEV1cKl.js → MainSidebar-DDwUpW3R.js} +3 -3
  18. package/dist/assets/{NodeCreation-DT2fJ_vL.js → NodeCreation-fYCCIvH0.js} +4 -4
  19. package/dist/assets/{NodeCreator-D0GID8DN.js → NodeCreator-CIH8NrPP.js} +11 -11
  20. package/dist/assets/{NodeViewSwitcher-s2TUlOvE.css → NodeViewSwitcher-KdRgfKxB.css} +70 -61
  21. package/dist/assets/{NodeViewSwitcher-CTbxFDX4.js → NodeViewSwitcher-o9O7uIC5.js} +631 -435
  22. package/dist/assets/{ProjectCardBadge-CP5T2Lcg.js → ProjectCardBadge-rog20byy.js} +1 -1
  23. package/dist/assets/{ProjectHeader-oZWwGIoC.js → ProjectHeader-Ch7-0YgF.js} +2 -2
  24. package/dist/assets/{ProjectSettings-cWx0MJjr.css → ProjectSettings-CChpfrTS.css} +9 -9
  25. package/dist/assets/{ProjectSettings-DfDaR3aV.js → ProjectSettings-GsW7L_Gg.js} +7 -7
  26. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-D1E6Idg4.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DVCg4pLb.js} +1 -1
  27. package/dist/assets/{ResourcesListLayout-2lqLFJll.js → ResourcesListLayout-Btn9Hay8.js} +3 -3
  28. package/dist/assets/{ResourcesListLayout-BuxiQpsj.css → ResourcesListLayout-I4rYUdFt.css} +3 -3
  29. package/dist/assets/{RunDataJson-xyWfNyKi.js → RunDataJson-BHIY5dHu.js} +12 -12
  30. package/dist/assets/{RunDataJsonActions-SLxe6h_C.js → RunDataJsonActions-h2GG7hQH.js} +3 -3
  31. package/dist/assets/{RunDataSearch-CdLie2uo.js → RunDataSearch-C-CgDL9m.js} +1 -1
  32. package/dist/assets/{RunDataTable-D3iYKYbR.js → RunDataTable-DX2WMhyi.js} +2 -2
  33. package/dist/assets/{SamlOnboarding-CqbC519J.js → SamlOnboarding-DAv7qRQH.js} +2 -2
  34. package/dist/assets/{SettingsApiView-DqdLYzOz.js → SettingsApiView-BpT9mKIy.js} +1 -1
  35. package/dist/assets/{SettingsCommunityNodesView-DND8OHjT.js → SettingsCommunityNodesView-C_eGce72.js} +3 -3
  36. package/dist/assets/{SettingsExternalSecrets-Cqr1K1PK.js → SettingsExternalSecrets-CGbkGSxM.js} +1 -1
  37. package/dist/assets/{SettingsLdapView-D1hHgVwD.js → SettingsLdapView-w-4uJ-WO.js} +1 -1
  38. package/dist/assets/{SettingsLogStreamingView-XmQhXkP8.js → SettingsLogStreamingView-dIzDyxR0.js} +1 -1
  39. package/dist/assets/{SettingsPersonalView-CoZXNkp0.js → SettingsPersonalView-Cqkzewwp.js} +1 -1
  40. package/dist/assets/{SettingsSourceControl-BapEFaNC.js → SettingsSourceControl-DvdzOGOW.js} +1 -1
  41. package/dist/assets/{SettingsSso-bibVg8kV.js → SettingsSso-CEyzwTf6.js} +1 -1
  42. package/dist/assets/{SettingsUsageAndPlan-9Am89x9n.js → SettingsUsageAndPlan-BfvgFmrE.js} +1 -1
  43. package/dist/assets/{SettingsUsersView-PMEBNu_w.js → SettingsUsersView-B74JDNzE.js} +1 -1
  44. package/dist/assets/{SettingsView-C0FhNXC5.js → SettingsView-BXjB3fL0.js} +1 -1
  45. package/dist/assets/{SetupView-2ldaQ0LW.js → SetupView-CUYm-G9-.js} +2 -2
  46. package/dist/assets/{SetupWorkflowCredentialsButton-BVwfvnTr.js → SetupWorkflowCredentialsButton-ebC2FUi4.js} +1 -1
  47. package/dist/assets/{SetupWorkflowFromTemplateView-BG-AhIrZ.js → SetupWorkflowFromTemplateView-D9qMRkDl.js} +3 -3
  48. package/dist/assets/{SigninView-DF9tLSZu.js → SigninView-DJyuz9c2.js} +2 -2
  49. package/dist/assets/{SignoutView-CmernPNn.js → SignoutView-C6UBxu60.js} +1 -1
  50. package/dist/assets/{SignupView-Bu9MlpwT.js → SignupView-D2FWuaiH.js} +2 -2
  51. package/dist/assets/{TemplateDetails-TJ0yc1A9.js → TemplateDetails-B2Tjk70m.js} +1 -1
  52. package/dist/assets/{TemplateList-DNv_0Eyu.js → TemplateList-HMZjVMyp.js} +1 -1
  53. package/dist/assets/{TemplatesCollectionView-CntE56ke.js → TemplatesCollectionView-BIJyxp-d.js} +5 -5
  54. package/dist/assets/{TemplatesSearchView-CvjcFXUg.js → TemplatesSearchView-DZ_z-833.js} +3 -3
  55. package/dist/assets/{TemplatesView-YqT9aKyI.js → TemplatesView-9gF5kWu6.js} +5 -5
  56. package/dist/assets/{TemplatesView-CLyx9byp.css → TemplatesView-BfnDbKo5.css} +6 -6
  57. package/dist/assets/{TemplatesWorkflowView-CUFmfwQf.js → TemplatesWorkflowView-BuUff8HB.js} +5 -5
  58. package/dist/assets/TestDefinitionEditView-CQZkRDBJ.js +870 -0
  59. package/dist/assets/TestDefinitionEditView-szspUG0t.css +261 -0
  60. package/dist/assets/TestDefinitionListView-BfUssieW.css +117 -0
  61. package/dist/assets/TestDefinitionListView-CjZFxgTi.js +335 -0
  62. package/dist/assets/{VariablesView-CmQdhIWP.js → VariablesView-FC5wqShX.js} +2 -2
  63. package/dist/assets/WorkerView-C-nSya6I.js +791 -0
  64. package/dist/assets/WorkerView-C_d54L0W.css +181 -0
  65. package/dist/assets/{WorkflowActivator-CVDdqHMC.js → WorkflowActivator-CHX1pfvG.js} +2 -2
  66. package/dist/assets/{WorkflowExecutionsInfoAccordion-BoXSN3HK.js → WorkflowExecutionsInfoAccordion-BXyNsJxl.js} +1 -1
  67. package/dist/assets/{WorkflowExecutionsLandingPage-d6z9UgBQ.js → WorkflowExecutionsLandingPage-F1VtQsvR.js} +2 -2
  68. package/dist/assets/{WorkflowExecutionsPreview-BqiH-pqP.js → WorkflowExecutionsPreview-D0LX3heg.js} +5 -5
  69. package/dist/assets/{WorkflowExecutionsView-oRW-4d0o.js → WorkflowExecutionsView-CfNb8qea.js} +5 -5
  70. package/dist/assets/{WorkflowHistory-BTuLr3X9.js → WorkflowHistory-BbJWHQnH.js} +3 -3
  71. package/dist/assets/{WorkflowOnboardingView-0O56AGqh.js → WorkflowOnboardingView-DjX_Iu8m.js} +1 -1
  72. package/dist/assets/{WorkflowPreview-0bx0ypgw.js → WorkflowPreview-CHIMaYHv.js} +1 -1
  73. package/dist/assets/{WorkflowsView-CuBv1-1Q.js → WorkflowsView-TVYSIx1a.js} +7 -7
  74. package/dist/assets/{index-BIo0OZGX.js → index-CmLVLa2S.js} +1110 -808
  75. package/dist/assets/{index-CNnUWsS4.css → index-CnXoucRo.css} +45 -34
  76. package/dist/assets/{pushConnection.store-CabVI0Q4.js → pushConnection.store-CyaZOmSq.js} +1 -1
  77. package/dist/assets/{templateActions-CgLrOlVc.js → templateActions-BJQmBPkz.js} +1 -1
  78. package/dist/assets/testDefinition.store.ee-C_33eEVx.js +138 -0
  79. package/dist/assets/{useBugReporting-CYGmNuQ3.js → useBugReporting-B6XywIQp.js} +1 -1
  80. package/dist/assets/{useExecutionDebugging-IGp543Mo.js → useExecutionDebugging-3jTK_axu.js} +1 -1
  81. package/dist/assets/{useExecutionHelpers-cP7PTcvs.js → useExecutionHelpers-B2Hv6YkQ.js} +1 -1
  82. package/dist/assets/{useGlobalEntityCreation-DXZTxFMi.js → useGlobalEntityCreation-Bs_R5VRy.js} +1 -1
  83. package/dist/assets/{useNodeViewVersionSwitcher-Cyo5x7BB.js → useNodeViewVersionSwitcher-cbmuQpXh.js} +17 -11
  84. package/dist/assets/{usePushConnection-DKkZNdx4.js → usePushConnection-D2ReX4YT.js} +12 -6
  85. package/dist/assets/{useRunWorkflow-D18NuRU_.js → useRunWorkflow-D5J5xO1e.js} +3 -3
  86. package/dist/assets/{useWorkflowActivate-BC3Pdg08.js → useWorkflowActivate-Ck0ToSti.js} +1 -1
  87. package/dist/index.html +2 -2
  88. package/package.json +1 -1
  89. package/dist/assets/CollectionParameter-P2Jb6DYK.js +0 -4
  90. package/dist/assets/WorkerView-BxNqbqFw.js +0 -149
  91. package/dist/assets/WorkerView-Dm0b18Mh.css +0 -22
@@ -1,13 +1,13 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-D3iYKYbR.js","assets/index-BIo0OZGX.js","assets/index-CNnUWsS4.css","assets/useExecutionHelpers-cP7PTcvs.js","assets/RunDataTable-enskmmU4.css","assets/RunDataJson-xyWfNyKi.js","assets/useRunWorkflow-D18NuRU_.js","assets/useRunWorkflow-DH7ZzA8t.css","assets/FileSaver.min-Dec4VlX4.js","assets/useWorkflowActivate-BC3Pdg08.js","assets/pushConnection.store-CabVI0Q4.js","assets/useExecutionDebugging-IGp543Mo.js","assets/useNodeViewVersionSwitcher-Cyo5x7BB.js","assets/useBugReporting-CYGmNuQ3.js","assets/RunDataJson-Dtc8i0I7.css","assets/RunDataSearch-CdLie2uo.js","assets/RunDataSearch-BA0wlJtp.css","assets/NodeCreation-DT2fJ_vL.js","assets/NodeCreation-30KXmZi2.css","assets/CanvasControls-B0XKV7Yl.js","assets/CanvasControls-Gjw5xMXK.css","assets/SetupWorkflowCredentialsButton-BVwfvnTr.js"])))=>i.map(i=>d[i]);
2
- import { bk as BaseTransition, bl as BaseTransitionPropsValidators, bm as Comment, bn as DeprecationTypes, bo as EffectScope, bp as ErrorCodes, bq as ErrorTypeStrings, F as Fragment, br as KeepAlive, bs as ReactiveEffect, bt as Static, bu as Suspense, bv as Teleport, bw as Text, bx as TrackOpTypes, by as Transition$2, bz as TransitionGroup, bA as TriggerOpTypes, bB as VueElement, bC as assertNumber, bD as callWithAsyncErrorHandling, bE as callWithErrorHandling, bF as camelize, bG as capitalize, bH as cloneVNode, bI as compatUtils, q as computed, bJ as createApp, e as createBlock, f as createCommentVNode, h as createElementBlock, j as createBaseVNode, bK as createHydrationRenderer, bL as createPropsRestProxy, bM as createRenderer, bN as createSSRApp, aL as createSlots, bO as createStaticVNode, k as createTextVNode, i as createVNode, bP as customRef, bQ as defineAsyncComponent, d as defineComponent, bR as defineCustomElement, bS as defineEmits, bT as defineExpose, bU as defineModel, bV as defineOptions, bW as defineProps, bX as defineSSRCustomElement, bY as defineSlots, bZ as devtools, b_ as effect, b$ as effectScope, c0 as getCurrentInstance, c1 as getCurrentScope, c2 as getCurrentWatcher, c3 as getTransitionRawChildren, aT as guardReactiveProps, aq as h, c4 as handleError, c5 as hasInjectionContext, c6 as hydrate, c7 as hydrateOnIdle, c8 as hydrateOnInteraction, c9 as hydrateOnMediaQuery, ca as hydrateOnVisible, cb as initCustomFormatter, cc as initDirectivesForSSR, aP as inject, cd as isMemoSame, ce as isProxy, cf as isReactive, cg as isReadonly, aQ as isRef, ch as isRuntimeOnly, ci as isShallow, cj as isVNode, ck as markRaw, cl as mergeDefaults, cm as mergeModels, aU as mergeProps, y as nextTick, n as normalizeClass, aS as normalizeProps, B as normalizeStyle, cn as onActivated, aw as onBeforeMount, x as onBeforeUnmount, co as onBeforeUpdate, cp as onDeactivated, cq as onErrorCaptured, o as onMounted, cr as onRenderTracked, cs as onRenderTriggered, ct as onScopeDispose, cu as onServerPrefetch, aZ as onUnmounted, cv as onUpdated, cw as onWatcherCleanup, c as openBlock, cx as popScopeId, bj as provide, cy as proxyRefs, cz as pushScopeId, cA as queuePostFlushCb, cB as reactive, cC as readonly, r as ref, cD as registerRuntimeCompiler, cE as render$5, A as renderList, s as renderSlot, m as resolveComponent, cF as resolveDirective, aV as resolveDynamicComponent, cG as resolveFilter, cH as resolveTransitionHooks, cI as setBlockTracking, cJ as setDevtoolsHook, cK as setTransitionHooks, cL as shallowReactive, cM as shallowReadonly, cN as shallowRef, cO as ssrContextKey, cP as ssrUtils, cQ as stop, t as toDisplayString, cR as toHandlerKey, cS as toHandlers, cT as toRaw, cU as toRef, aR as toRefs$1, cV as toValue$1, cW as transformVNodeArgs, cX as triggerRef, l as unref, cY as useAttrs, aa as useCssModule, cZ as useCssVars, c_ as useHost, c$ as useId, d0 as useModel, d1 as useSSRContext, d2 as useShadowRoot, d3 as useSlots, d4 as useTemplateRef, d5 as useTransitionState, d6 as vModelCheckbox, d7 as vModelDynamic, d8 as vModelRadio, d9 as vModelSelect, a_ as vModelText, ay as vShow, da as version, db as warn$1, H as watch, bg as watchEffect, dc as watchPostEffect, dd as watchSyncEffect, de as withAsyncContext, w as withCtx, df as withDefaults, ax as withDirectives, G as withKeys, dg as withMemo, I as withModifiers, dh as withScopeId, di as createCompounder, dj as SetCache, dk as arrayIncludes, dl as cacheHas, dm as baseRest, dn as isArrayLikeObject, dp as baseFlatten, K as useUIStore, bh as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, am as getResourcePermissions, dq as isPresent, dr as getMousePosition$1, az as STICKY_NODE_TYPE, g as useI18n, ds as NOT_DUPLICATABLE_NODE_TYPES, E as onClickOutside, dt as N8nActionDropdown, _ as _export_sfc$1, du as _sfc_main$11, at as useNDVStore, dv as isCommunityPackageName, dw as NPM_PACKAGE_DOCS_BASE_URL, dx as BUILTIN_NODES_DOCS_URL, dy as COMMUNITY_NODES_INSTALLATION_DOCS_URL, ba as NodeConnectionType, aM as useExternalHooks, ak as useTelemetry, b as useRouter, a$ as useClipboard, a4 as useWorkflowHelpers, a as useToast, dz as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, dA as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, dB as FORM_TRIGGER_NODE_TYPE, b0 as CHAT_TRIGGER_NODE_TYPE, dC as toValue$2, dD as toRef$1, dE as tryOnScopeDispose$1, dF as isIOS, dG as noop$4, dH as isObject$1, dI as isClient$1, bi as useNodeHelpers, J as useDebounce, dJ as TitledList, dK as nodeIssuesToString, b7 as getNodeInputs, dL as MANUAL_TRIGGER_NODE_TYPE, dM as WEBHOOK_NODE_TYPE, dN as AI_TRANSFORM_NODE_TYPE, dO as AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT, dP as generateCodeForAiTransform, dQ as AI_TRANSFORM_JS_CODE, ac as nodeViewEventBus, al as useMessage, ae as MODAL_CONFIRM, dR as SWITCH_NODE_TYPE, dS as isEqual, dT as captureException, dU as useCredentialsStore, dV as useHistoryStore, dW as importCurlEventBus, dX as ndvEventBus, dY as CUSTOM_NODES_DOCS_URL, dZ as NodeCredentials, d_ as _sfc_main$12, d$ as ProjectTypes, b8 as getConnectionTypes, e0 as isSingleExecution, bb as get$4, e1 as getNodeParameters, e2 as deepCopy, e3 as set$4, e4 as unset, e5 as RenameNodeCommand, e6 as isINodePropertyCollectionList, e7 as isINodePropertiesList, e8 as isINodePropertyOptionsList, e9 as displayParameter, ea as Draggable, aF as useStorage, eb as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, ec as MAIN_NODE_PANEL_WIDTH, ed as getAugmentedNamespace, ee as commonjsGlobal, ef as getDefaultExportFromCjs, eg as sanitizeHtml_1, eh as sanitizeHtml, ei as jsonParse, ej as N8nLink, ek as N8nText, el as _sfc_main$13, em as N8nTooltip, Z as useRootStore, U as useRoute, en as storeToRefs, eo as dataPinningEventBus, ep as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, eq as MAX_DISPLAY_DATA_SIZE, er as HTML_NODE_TYPE, es as DATA_PINNING_DOCS_URL, et as N8nCallout, eu as N8nRadioButtons, ev as N8nButton, ew as _sfc_main$14, ex as N8nSelect, ey as N8nTabs, ez as _sfc_main$15, eA as JsonEditor, eB as DATA_EDITING_DOCS_URL, eC as InfoTip, eD as N8nBlockUi, eE as executionDataToJson, eF as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, eG as isEmpty, b9 as getNodeOutputs, eH as getNodeHints, eI as getGenericHints, eJ as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, eK as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, eL as clearJsonKey, eM as searchInObject, eN as isObject$2, as as __vitePreload, eO as TEST_PIN_DATA, eP as waitingNodeTooltip, eQ as truncate, eR as uniqBy, eS as START_NODE_TYPE, eT as CRON_NODE_TYPE, eU as INTERVAL_NODE_TYPE, eV as CopyInput, C as createEventBus, eW as isTriggerPanelObject, eX as getTriggerNodeServiceName, V as VIEWS, ag as WORKFLOW_SETTINGS_MODAL_KEY, p as useSettingsStore, eY as useDeviceSupport, eZ as APP_MODALS_ELEMENT_ID, e_ as useStyles, e$ as EXECUTABLE_TRIGGER_NODE_TYPES, f0 as BASE_NODE_SURVEY_URL, a8 as EnterpriseEditionFeature, f1 as getAnchorPosition, f2 as isValidNodeConnectionType, f3 as getEndpointScope, f4 as getInputEndpointUUID, f5 as getInputEndpointStyle, f6 as getScope, f7 as getInputNameOverlay, f8 as NODE_INSERT_SPACER_BETWEEN_INPUT_GROUPS, f9 as NODE_MIN_INPUT_ITEMS_COUNT, fa as getOutputEndpointUUID, fb as getOutputEndpointStyle, fc as getOutputNameOverlay, fd as NO_OP_NODE_TYPE, fe as NODE_CONNECTION_TYPE_ALLOW_MULTIPLE, ff as GRID_SIZE, fg as isString, fh as isNumber, fi as assert, fj as QUICKSTART_NOTE_NAME, fk as CUSTOM_API_CALL_KEY, fl as FontAwesomeIcon, fm as xss, fn as WAIT_NODE_TYPE, fo as SEND_AND_WAIT_OPERATION, fp as FORM_NODE_TYPE, fq as WAIT_TIME_UNLIMITED, fr as SIMULATE_NODE_TYPE, fs as SIMULATE_TRIGGER_NODE_TYPE, $ as useCanvasStore, ft as getRelativePosition, bc as v4, fu as CORE_NODES_CATEGORY, fv as DEFAULT_SUBCATEGORY, fw as AI_TRANSFORM_NODE_TYPE$1, fx as sublimeSearch, b3 as AI_SUBCATEGORY, b4 as AI_CATEGORY_AGENTS, fy as sortBy, fz as i18n, aI as useTemplatesStore, fA as AI_NODE_CREATOR_VIEW, fB as AI_OTHERS_NODE_CREATOR_VIEW, fC as AI_CATEGORY_DOCUMENT_LOADERS, fD as AI_CATEGORY_LANGUAGE_MODELS, fE as AI_CATEGORY_MEMORY, fF as AI_CATEGORY_OUTPUTPARSER, fG as AI_CATEGORY_RETRIEVERS, fH as AI_CATEGORY_TEXT_SPLITTERS, fI as AI_CATEGORY_TOOLS, fJ as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, fK as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, fL as AI_CATEGORY_EMBEDDING, fM as AI_CATEGORY_VECTOR_STORES, fN as AI_UNCATEGORIZED_CATEGORY, fO as TRIGGER_NODE_CREATOR_VIEW, fP as EMAIL_IMAP_NODE_TYPE, fQ as SCHEDULE_TRIGGER_NODE_TYPE, fR as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, fS as OTHER_TRIGGER_NODES_SUBCATEGORY, fT as REGULAR_NODE_CREATOR_VIEW, fU as RSS_READ_NODE_TYPE, fV as EMAIL_SEND_NODE_TYPE, fW as TRANSFORM_DATA_SUBCATEGORY, fX as FILTER_NODE_TYPE, fY as REMOVE_DUPLICATES_NODE_TYPE, fZ as SPLIT_OUT_NODE_TYPE, f_ as LIMIT_NODE_TYPE, f$ as SUMMARIZE_NODE_TYPE, g0 as AGGREGATE_NODE_TYPE, g1 as MERGE_NODE_TYPE, g2 as MARKDOWN_NODE_TYPE, g3 as XML_NODE_TYPE, g4 as CRYPTO_NODE_TYPE, g5 as EXTRACT_FROM_FILE_NODE_TYPE, g6 as CONVERT_TO_FILE_NODE_TYPE, g7 as COMPRESSION_NODE_TYPE, g8 as EDIT_IMAGE_NODE_TYPE, g9 as FLOWS_CONTROL_SUBCATEGORY, ga as IF_NODE_TYPE, gb as SPLIT_IN_BATCHES_NODE_TYPE, gc as HELPERS_SUBCATEGORY, gd as HTTP_REQUEST_NODE_TYPE, ge as CODE_NODE_TYPE, b5 as AI_CATEGORY_CHAINS, gf as SET_NODE_TYPE, gg as DATETIME_NODE_TYPE, R as defineStore, gh as AI_CATEGORY_ROOT_NODES, b6 as AI_CODE_NODE_TYPE, gi as isValidCanvasConnectionMode, gj as CanvasConnectionMode, S as STORES, gk as NODE_CREATOR_OPEN_SOURCES, gl as isVueFlowConnection, gm as nodeConnectionTypes, gn as MOUSE_EVENT_BUTTON, go as MOUSE_EVENT_BUTTONS, gp as KeyboardShortcutTooltip, a3 as useDocumentTitle, gq as mapStores, a2 as useNpsSurveyStore, a1 as useProjectsStore, au as useExecutionsStore, gr as useExternalSecretsStore, gs as useWorkflowsEEStore, gt as useEnvironmentsStore, u as useUsersStore, D as useTagsStore, gu as getBackgroundStyles, b1 as MANUAL_CHAT_TRIGGER_NODE_TYPE, gv as getNodeViewTab, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, ao as MAIN_HEADER_TABS, gw as ready$1, aB as sourceControlEventBus, gx as historyBus, gy as generateNodesGraph, gz as N8nAddInputEndpointType, gA as getFixedNodesList, gB as tryToParseNumber, gC as MoveNodeCommand, ai as VALID_WORKFLOW_IMPORT_URL_REGEX, gD as UPDATE_WEBHOOK_ID_NODE_TYPES, gE as getNewNodePosition, gF as DRAG_EVENT_DATA_KEY, gG as NODE_SIZE, gH as getConnectorLengths, gI as MAX_X_TO_PUSH_DOWNSTREAM_NODES, gJ as PUSH_NODES_OFFSET, gK as generateOffsets, gL as resetConnectionAfterPull, gM as resetConnection, gN as moveBackInputLabelPosition, gO as hideOutputNameLabel, gP as addConnectionActionsOverlay, gQ as getOverlay, gR as OVERLAY_ENDPOINT_ARROW_ID, gS as getConnectorPaintStyleData, gT as AddConnectionCommand, gU as addConnectionTestData, gV as showOrHideItemsLabel, gW as showOrHideMidpointArrow, gX as isJSPlumbConnection, gY as hideConnectionActions, gZ as showConnectionActions, g_ as resetInputLabelPosition, g$ as getConnectionInfo, h0 as showOutputNameLabel, h1 as RemoveConnectionCommand, h2 as isJSPlumbEndpointElement, h3 as isElementIntersection, h4 as calculateElementIntersection, h5 as showDropConnectionState, h6 as showPullConnectionState, h7 as EVENT_CONNECTION_ABORT, h8 as INTERCEPT_BEFORE_DROP, h9 as EVENT_CONNECTION, ha as EVENT_DRAG_MOVE, hb as EVENT_CONNECTION_MOUSEOVER, hc as EVENT_CONNECTION_MOUSEOUT, hd as EVENT_CONNECTION_MOVED, he as EVENT_ENDPOINT_MOUSEOVER, hf as EVENT_ENDPOINT_MOUSEOUT, hg as EVENT_CONNECTION_DETACHED, hh as EVENT_CONNECTION_DRAG, hi as EVENT_PLUS_ENDPOINT_CLICK, hj as EVENT_ADD_INPUT_ENDPOINT_CLICK, hk as N8nPlusEndpointType, hl as usePostHog, hm as CANVAS_AUTO_ADD_MANUAL_TRIGGER_EXPERIMENT, hn as MODAL_CANCEL, ho as addClassesToOverlays, hp as getJSPlumbEndpoints, hq as isSubNodeType, hr as useDataSchema, hs as OVERLAY_RUN_ITEMS_ID, ht as RemoveNodeCommand, hu as CanvasKey, hv as CanvasNodeKey, hw as CanvasNodeRenderType, hx as refThrottled, hy as CanvasNodeHandleKey, hz as useActiveElement, hA as useEventListener$2, hB as onKeyDown, hC as onKeyUp, hD as sanitizeHtml$1, hE as AddNodeCommand, hF as DEFAULT_NODE_SIZE, hG as CONFIGURATION_NODE_SIZE, hH as CONFIGURABLE_NODE_SIZE, hI as NEW_WORKFLOW_ID, hJ as onBeforeRouteLeave } from "./index-BIo0OZGX.js";
3
- import { c as capitalize$1, u as usePinnedData, a as useRunWorkflow, b as useNodeType, _ as _sfc_main$16, R as RunDataAi } from "./useRunWorkflow-D18NuRU_.js";
4
- import { F as FileSaver_minExports } from "./FileSaver.min-Dec4VlX4.js";
5
- import { u as useExecutionHelpers, c as convertToDisplayDateComponents } from "./useExecutionHelpers-cP7PTcvs.js";
6
- import { u as useWorkflowActivate } from "./useWorkflowActivate-BC3Pdg08.js";
7
- import { g as globalLinkActionsEventBus, u as usePushConnectionStore } from "./pushConnection.store-CabVI0Q4.js";
8
- import { u as useExecutionDebugging } from "./useExecutionDebugging-IGp543Mo.js";
9
- import { u as useBeforeUnload, a as useNodeViewVersionSwitcher } from "./useNodeViewVersionSwitcher-Cyo5x7BB.js";
10
- import { u as useBugReporting } from "./useBugReporting-CYGmNuQ3.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-DX2WMhyi.js","assets/index-CmLVLa2S.js","assets/index-CnXoucRo.css","assets/useExecutionHelpers-B2Hv6YkQ.js","assets/RunDataTable-enskmmU4.css","assets/RunDataJson-BHIY5dHu.js","assets/useRunWorkflow-D5J5xO1e.js","assets/useRunWorkflow-DH7ZzA8t.css","assets/FileSaver.min-BP27OS5o.js","assets/useWorkflowActivate-Ck0ToSti.js","assets/pushConnection.store-CyaZOmSq.js","assets/useExecutionDebugging-3jTK_axu.js","assets/useNodeViewVersionSwitcher-cbmuQpXh.js","assets/useBugReporting-B6XywIQp.js","assets/RunDataJson-Dtc8i0I7.css","assets/RunDataSearch-C-CgDL9m.js","assets/RunDataSearch-BA0wlJtp.css","assets/NodeCreation-fYCCIvH0.js","assets/NodeCreation-30KXmZi2.css","assets/CanvasControls-Bmo04dJ7.js","assets/CanvasControls-Gjw5xMXK.css","assets/SetupWorkflowCredentialsButton-ebC2FUi4.js"])))=>i.map(i=>d[i]);
2
+ import { bn as BaseTransition, bo as BaseTransitionPropsValidators, bp as Comment, bq as DeprecationTypes, br as EffectScope, bs as ErrorCodes, bt as ErrorTypeStrings, F as Fragment, bu as KeepAlive, bv as ReactiveEffect, bw as Static, bx as Suspense, by as Teleport, bz as Text, bA as TrackOpTypes, bB as Transition$2, bC as TransitionGroup, bD as TriggerOpTypes, bE as VueElement, bF as assertNumber, bG as callWithAsyncErrorHandling, bH as callWithErrorHandling, bI as camelize, bJ as capitalize, bK as cloneVNode, bL as compatUtils, q as computed, bM as createApp, e as createBlock, f as createCommentVNode, h as createElementBlock, j as createBaseVNode, bN as createHydrationRenderer, bO as createPropsRestProxy, bP as createRenderer, bQ as createSSRApp, aO as createSlots, bR as createStaticVNode, k as createTextVNode, i as createVNode, bS as customRef, bT as defineAsyncComponent, d as defineComponent, bU as defineCustomElement, bV as defineEmits, bW as defineExpose, bX as defineModel, bY as defineOptions, bZ as defineProps, b_ as defineSSRCustomElement, b$ as defineSlots, c0 as devtools, c1 as effect, c2 as effectScope, c3 as getCurrentInstance, c4 as getCurrentScope, c5 as getCurrentWatcher, c6 as getTransitionRawChildren, aW as guardReactiveProps, aq as h, c7 as handleError, c8 as hasInjectionContext, c9 as hydrate, ca as hydrateOnIdle, cb as hydrateOnInteraction, cc as hydrateOnMediaQuery, cd as hydrateOnVisible, ce as initCustomFormatter, cf as initDirectivesForSSR, aS as inject, cg as isMemoSame, ch as isProxy, ci as isReactive, cj as isReadonly, aT as isRef, ck as isRuntimeOnly, cl as isShallow, cm as isVNode, cn as markRaw, co as mergeDefaults, cp as mergeModels, aX as mergeProps, y as nextTick, n as normalizeClass, aV as normalizeProps, B as normalizeStyle, cq as onActivated, ax as onBeforeMount, x as onBeforeUnmount, cr as onBeforeUpdate, cs as onDeactivated, ct as onErrorCaptured, o as onMounted, cu as onRenderTracked, cv as onRenderTriggered, cw as onScopeDispose, cx as onServerPrefetch, b0 as onUnmounted, cy as onUpdated, cz as onWatcherCleanup, c as openBlock, cA as popScopeId, bm as provide, cB as proxyRefs, cC as pushScopeId, cD as queuePostFlushCb, cE as reactive, cF as readonly, r as ref, cG as registerRuntimeCompiler, cH as render$5, A as renderList, s as renderSlot, m as resolveComponent, cI as resolveDirective, aY as resolveDynamicComponent, cJ as resolveFilter, cK as resolveTransitionHooks, cL as setBlockTracking, cM as setDevtoolsHook, cN as setTransitionHooks, cO as shallowReactive, cP as shallowReadonly, cQ as shallowRef, cR as ssrContextKey, cS as ssrUtils, cT as stop, t as toDisplayString, cU as toHandlerKey, cV as toHandlers, cW as toRaw, cX as toRef, aU as toRefs$1, cY as toValue$1, cZ as transformVNodeArgs, c_ as triggerRef, l as unref, c$ as useAttrs, aa as useCssModule, d0 as useCssVars, d1 as useHost, d2 as useId, d3 as useModel, d4 as useSSRContext, d5 as useShadowRoot, d6 as useSlots, d7 as useTemplateRef, d8 as useTransitionState, d9 as vModelCheckbox, da as vModelDynamic, db as vModelRadio, dc as vModelSelect, b1 as vModelText, az as vShow, dd as version, de as warn$1, H as watch, bj as watchEffect, df as watchPostEffect, dg as watchSyncEffect, dh as withAsyncContext, w as withCtx, di as withDefaults, ay as withDirectives, G as withKeys, dj as withMemo, I as withModifiers, dk as withScopeId, dl as createCompounder, dm as SetCache, dn as arrayIncludes, dp as cacheHas, dq as baseRest, dr as isArrayLikeObject, ds as baseFlatten, K as useUIStore, bk as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, am as getResourcePermissions, dt as isPresent, du as getMousePosition$1, aC as STICKY_NODE_TYPE, g as useI18n, dv as NOT_DUPLICATABLE_NODE_TYPES, E as onClickOutside, dw as N8nActionDropdown, _ as _export_sfc$1, dx as _sfc_main$13, at as useNDVStore, dy as isCommunityPackageName, dz as NPM_PACKAGE_DOCS_BASE_URL, dA as BUILTIN_NODES_DOCS_URL, dB as COMMUNITY_NODES_INSTALLATION_DOCS_URL, bd as NodeConnectionType, aP as useExternalHooks, ak as useTelemetry, b as useRouter, b2 as useClipboard, a4 as useWorkflowHelpers, a as useToast, dC as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, dD as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, dE as FORM_TRIGGER_NODE_TYPE, b3 as CHAT_TRIGGER_NODE_TYPE, dF as toValue$2, dG as toRef$1, dH as tryOnScopeDispose$1, dI as isIOS, dJ as noop$4, dK as isObject$1, dL as isClient$1, bl as useNodeHelpers, J as useDebounce, dM as TitledList, dN as nodeIssuesToString, ba as getNodeInputs, dO as MANUAL_TRIGGER_NODE_TYPE, dP as WEBHOOK_NODE_TYPE, dQ as AI_TRANSFORM_NODE_TYPE, dR as AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT, dS as generateCodeForAiTransform, dT as AI_TRANSFORM_JS_CODE, ac as nodeViewEventBus, al as useMessage, ae as MODAL_CONFIRM, dU as SWITCH_NODE_TYPE, dV as isEqual, dW as captureException, dX as useCredentialsStore, dY as useHistoryStore, dZ as importCurlEventBus, d_ as ndvEventBus, d$ as CUSTOM_NODES_DOCS_URL, e0 as NodeCredentials, e1 as _sfc_main$14, e2 as ProjectTypes, bb as getConnectionTypes, e3 as isSingleExecution, be as get$4, e4 as getNodeParameters, e5 as deepCopy, e6 as set$4, e7 as unset, e8 as RenameNodeCommand, e9 as isINodePropertyCollectionList, ea as isINodePropertiesList, eb as isINodePropertyOptionsList, ec as displayParameter, ed as Draggable, ee as useThrottleFn, aI as useStorage, ef as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, eg as MAIN_NODE_PANEL_WIDTH, eh as getAugmentedNamespace, ei as commonjsGlobal, ej as getDefaultExportFromCjs, ek as sanitizeHtml_1, el as sanitizeHtml, em as jsonParse, en as N8nLink, eo as N8nText, ep as _sfc_main$15, eq as N8nTooltip, Z as useRootStore, U as useRoute, er as storeToRefs, es as dataPinningEventBus, et as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, eu as MAX_DISPLAY_DATA_SIZE, ev as HTML_NODE_TYPE, ew as DATA_PINNING_DOCS_URL, ex as N8nCallout, ey as N8nRadioButtons, ez as N8nButton, eA as _sfc_main$16, eB as N8nSelect, eC as N8nTabs, eD as _sfc_main$17, eE as JsonEditor, eF as DATA_EDITING_DOCS_URL, eG as InfoTip, eH as N8nBlockUi, eI as executionDataToJson, eJ as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, eK as isEmpty, bc as getNodeOutputs, eL as getNodeHints, eM as getGenericHints, eN as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, eO as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, eP as clearJsonKey, eQ as searchInObject, eR as isObject$2, as as __vitePreload, eS as TEST_PIN_DATA, eT as waitingNodeTooltip, eU as truncate, eV as uniqBy, eW as START_NODE_TYPE, eX as CRON_NODE_TYPE, eY as INTERVAL_NODE_TYPE, eZ as CopyInput, C as createEventBus, e_ as isTriggerPanelObject, e$ as getTriggerNodeServiceName, V as VIEWS, ag as WORKFLOW_SETTINGS_MODAL_KEY, p as useSettingsStore, f0 as useDeviceSupport, f1 as APP_MODALS_ELEMENT_ID, f2 as useStyles, f3 as EXECUTABLE_TRIGGER_NODE_TYPES, f4 as BASE_NODE_SURVEY_URL, a8 as EnterpriseEditionFeature, f5 as getAnchorPosition, f6 as isValidNodeConnectionType, f7 as getEndpointScope, f8 as getInputEndpointUUID, f9 as getInputEndpointStyle, fa as getScope, fb as getInputNameOverlay, fc as NODE_INSERT_SPACER_BETWEEN_INPUT_GROUPS, fd as NODE_MIN_INPUT_ITEMS_COUNT, fe as getOutputEndpointUUID, ff as getOutputEndpointStyle, fg as getOutputNameOverlay, fh as NO_OP_NODE_TYPE, fi as NODE_CONNECTION_TYPE_ALLOW_MULTIPLE, fj as GRID_SIZE, fk as isString, fl as isNumber, fm as assert, fn as QUICKSTART_NOTE_NAME, fo as CUSTOM_API_CALL_KEY, fp as FontAwesomeIcon, fq as xss, fr as WAIT_NODE_TYPE, fs as SEND_AND_WAIT_OPERATION, ft as FORM_NODE_TYPE, fu as WAIT_TIME_UNLIMITED, fv as SIMULATE_NODE_TYPE, fw as SIMULATE_TRIGGER_NODE_TYPE, $ as useCanvasStore, fx as getRelativePosition, bf as v4, fy as CORE_NODES_CATEGORY, fz as DEFAULT_SUBCATEGORY, fA as AI_TRANSFORM_NODE_TYPE$1, fB as sublimeSearch, b6 as AI_SUBCATEGORY, b7 as AI_CATEGORY_AGENTS, fC as sortBy, fD as i18n, aL as useTemplatesStore, fE as AI_NODE_CREATOR_VIEW, fF as AI_OTHERS_NODE_CREATOR_VIEW, fG as AI_CATEGORY_DOCUMENT_LOADERS, fH as AI_CATEGORY_LANGUAGE_MODELS, fI as AI_CATEGORY_MEMORY, fJ as AI_CATEGORY_OUTPUTPARSER, fK as AI_CATEGORY_RETRIEVERS, fL as AI_CATEGORY_TEXT_SPLITTERS, fM as AI_CATEGORY_TOOLS, fN as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, fO as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, fP as AI_CATEGORY_EMBEDDING, fQ as AI_CATEGORY_VECTOR_STORES, fR as AI_UNCATEGORIZED_CATEGORY, fS as TRIGGER_NODE_CREATOR_VIEW, fT as EMAIL_IMAP_NODE_TYPE, fU as SCHEDULE_TRIGGER_NODE_TYPE, fV as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, fW as OTHER_TRIGGER_NODES_SUBCATEGORY, fX as REGULAR_NODE_CREATOR_VIEW, fY as RSS_READ_NODE_TYPE, fZ as EMAIL_SEND_NODE_TYPE, f_ as TRANSFORM_DATA_SUBCATEGORY, f$ as FILTER_NODE_TYPE, g0 as REMOVE_DUPLICATES_NODE_TYPE, g1 as SPLIT_OUT_NODE_TYPE, g2 as LIMIT_NODE_TYPE, g3 as SUMMARIZE_NODE_TYPE, g4 as AGGREGATE_NODE_TYPE, g5 as MERGE_NODE_TYPE, g6 as MARKDOWN_NODE_TYPE, g7 as XML_NODE_TYPE, g8 as CRYPTO_NODE_TYPE, g9 as EXTRACT_FROM_FILE_NODE_TYPE, ga as CONVERT_TO_FILE_NODE_TYPE, gb as COMPRESSION_NODE_TYPE, gc as EDIT_IMAGE_NODE_TYPE, gd as FLOWS_CONTROL_SUBCATEGORY, ge as IF_NODE_TYPE, gf as SPLIT_IN_BATCHES_NODE_TYPE, gg as HELPERS_SUBCATEGORY, gh as HTTP_REQUEST_NODE_TYPE, gi as CODE_NODE_TYPE, b8 as AI_CATEGORY_CHAINS, gj as SET_NODE_TYPE, gk as DATETIME_NODE_TYPE, R as defineStore, gl as AI_CATEGORY_ROOT_NODES, b9 as AI_CODE_NODE_TYPE, gm as isValidCanvasConnectionMode, gn as CanvasConnectionMode, S as STORES, go as NODE_CREATOR_OPEN_SOURCES, gp as isVueFlowConnection, gq as nodeConnectionTypes, gr as MOUSE_EVENT_BUTTON, gs as MOUSE_EVENT_BUTTONS, gt as KeyboardShortcutTooltip, a3 as useDocumentTitle, gu as mapStores, a2 as useNpsSurveyStore, a1 as useProjectsStore, au as useExecutionsStore, gv as useExternalSecretsStore, gw as useWorkflowsEEStore, gx as useEnvironmentsStore, u as useUsersStore, D as useTagsStore, gy as getBackgroundStyles, b4 as MANUAL_CHAT_TRIGGER_NODE_TYPE, gz as getNodeViewTab, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, ao as MAIN_HEADER_TABS, gA as ready$1, aE as sourceControlEventBus, gB as historyBus, gC as generateNodesGraph, gD as N8nAddInputEndpointType, gE as getFixedNodesList, gF as tryToParseNumber, gG as MoveNodeCommand, ai as VALID_WORKFLOW_IMPORT_URL_REGEX, gH as UPDATE_WEBHOOK_ID_NODE_TYPES, gI as getNewNodePosition, gJ as DRAG_EVENT_DATA_KEY, gK as NODE_SIZE, gL as getConnectorLengths, gM as MAX_X_TO_PUSH_DOWNSTREAM_NODES, gN as PUSH_NODES_OFFSET, gO as generateOffsets, gP as resetConnectionAfterPull, gQ as resetConnection, gR as moveBackInputLabelPosition, gS as hideOutputNameLabel, gT as addConnectionActionsOverlay, gU as getOverlay, gV as OVERLAY_ENDPOINT_ARROW_ID, gW as getConnectorPaintStyleData, gX as AddConnectionCommand, gY as addConnectionTestData, gZ as showOrHideItemsLabel, g_ as showOrHideMidpointArrow, g$ as isJSPlumbConnection, h0 as hideConnectionActions, h1 as showConnectionActions, h2 as resetInputLabelPosition, h3 as getConnectionInfo, h4 as showOutputNameLabel, h5 as RemoveConnectionCommand, h6 as isJSPlumbEndpointElement, h7 as isElementIntersection, h8 as calculateElementIntersection, h9 as showDropConnectionState, ha as showPullConnectionState, hb as EVENT_CONNECTION_ABORT, hc as INTERCEPT_BEFORE_DROP, hd as EVENT_CONNECTION, he as EVENT_DRAG_MOVE, hf as EVENT_CONNECTION_MOUSEOVER, hg as EVENT_CONNECTION_MOUSEOUT, hh as EVENT_CONNECTION_MOVED, hi as EVENT_ENDPOINT_MOUSEOVER, hj as EVENT_ENDPOINT_MOUSEOUT, hk as EVENT_CONNECTION_DETACHED, hl as EVENT_CONNECTION_DRAG, hm as EVENT_PLUS_ENDPOINT_CLICK, hn as EVENT_ADD_INPUT_ENDPOINT_CLICK, ho as N8nPlusEndpointType, av as usePostHog, hp as CANVAS_AUTO_ADD_MANUAL_TRIGGER_EXPERIMENT, hq as MODAL_CANCEL, hr as addClassesToOverlays, hs as getJSPlumbEndpoints, ht as isSubNodeType, hu as useDataSchema, hv as OVERLAY_RUN_ITEMS_ID, hw as RemoveNodeCommand, hx as CanvasKey, hy as CanvasNodeKey, hz as CanvasNodeRenderType, hA as refThrottled, hB as CanvasNodeHandleKey, hC as useActiveElement, hD as useEventListener$2, hE as onKeyDown, hF as onKeyUp, hG as sanitizeHtml$1, hH as AddNodeCommand, hI as DEFAULT_NODE_SIZE, hJ as CONFIGURATION_NODE_SIZE, hK as CONFIGURABLE_NODE_SIZE, hL as NEW_WORKFLOW_ID, hM as onBeforeRouteLeave } from "./index-CmLVLa2S.js";
3
+ import { c as capitalize$1, u as usePinnedData, a as useRunWorkflow, b as useNodeType, _ as _sfc_main$18, R as RunDataAi } from "./useRunWorkflow-D5J5xO1e.js";
4
+ import { F as FileSaver_minExports } from "./FileSaver.min-BP27OS5o.js";
5
+ import { u as useExecutionHelpers, c as convertToDisplayDateComponents } from "./useExecutionHelpers-B2Hv6YkQ.js";
6
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-Ck0ToSti.js";
7
+ import { g as globalLinkActionsEventBus, u as usePushConnectionStore } from "./pushConnection.store-CyaZOmSq.js";
8
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-3jTK_axu.js";
9
+ import { u as useBeforeUnload, a as useNodeViewVersionSwitcher } from "./useNodeViewVersionSwitcher-cbmuQpXh.js";
10
+ import { u as useBugReporting } from "./useBugReporting-B6XywIQp.js";
11
11
  /**
12
12
  * vue v3.5.11
13
13
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
@@ -409,7 +409,7 @@ const useContextMenu = (onAction = () => {
409
409
  _dispatchAction
410
410
  };
411
411
  };
412
- const _sfc_main$10 = /* @__PURE__ */ defineComponent({
412
+ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
413
413
  __name: "ContextMenu",
414
414
  emits: ["action"],
415
415
  setup(__props, { emit: __emit }) {
@@ -486,15 +486,15 @@ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
486
486
  });
487
487
  const contextMenu = "_contextMenu_1t4kq_1";
488
488
  const activator = "_activator_1t4kq_5";
489
- const style0$B = {
489
+ const style0$D = {
490
490
  contextMenu,
491
491
  activator
492
492
  };
493
- const cssModules$D = {
494
- "$style": style0$B
493
+ const cssModules$F = {
494
+ "$style": style0$D
495
495
  };
496
- const ContextMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$10, [["__cssModules", cssModules$D]]);
497
- const _sfc_main$$ = /* @__PURE__ */ defineComponent({
496
+ const ContextMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$12, [["__cssModules", cssModules$F]]);
497
+ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
498
498
  __name: "NodeTitle",
499
499
  props: {
500
500
  modelValue: { default: "" },
@@ -538,7 +538,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
538
538
  createBaseVNode("span", {
539
539
  class: normalizeClass(_ctx.$style.iconWrapper)
540
540
  }, [
541
- createVNode(_sfc_main$11, {
541
+ createVNode(_sfc_main$13, {
542
542
  "node-type": _ctx.nodeType,
543
543
  size: 18
544
544
  }, null, 8, ["node-type"])
@@ -627,7 +627,7 @@ const iconWrapper = "_iconWrapper_9bi3m_26";
627
627
  const editIconContainer = "_editIconContainer_9bi3m_39";
628
628
  const editButtons = "_editButtons_9bi3m_45";
629
629
  const editContainer = "_editContainer_9bi3m_53";
630
- const style0$A = {
630
+ const style0$C = {
631
631
  container: container$3,
632
632
  title: title$3,
633
633
  hoverable,
@@ -637,11 +637,11 @@ const style0$A = {
637
637
  editButtons,
638
638
  editContainer
639
639
  };
640
- const cssModules$C = {
641
- "$style": style0$A
640
+ const cssModules$E = {
641
+ "$style": style0$C
642
642
  };
643
- const NodeTitle = /* @__PURE__ */ _export_sfc$1(_sfc_main$$, [["__cssModules", cssModules$C]]);
644
- const _sfc_main$_ = /* @__PURE__ */ defineComponent({
643
+ const NodeTitle = /* @__PURE__ */ _export_sfc$1(_sfc_main$11, [["__cssModules", cssModules$E]]);
644
+ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
645
645
  __name: "NodeSettingsTabs",
646
646
  props: {
647
647
  modelValue: { default: "params" },
@@ -794,7 +794,7 @@ const _hoisted_10$3 = {
794
794
  };
795
795
  const _hoisted_11$3 = { class: "url-field-full-width" };
796
796
  const _hoisted_12$2 = ["onClick"];
797
- const _sfc_main$Z = /* @__PURE__ */ defineComponent({
797
+ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
798
798
  __name: "NodeWebhooks",
799
799
  props: {
800
800
  node: {},
@@ -1013,7 +1013,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
1013
1013
  };
1014
1014
  }
1015
1015
  });
1016
- const NodeWebhooks = /* @__PURE__ */ _export_sfc$1(_sfc_main$Z, [["__scopeId", "data-v-b6179980"]]);
1016
+ const NodeWebhooks = /* @__PURE__ */ _export_sfc$1(_sfc_main$$, [["__scopeId", "data-v-b6179980"]]);
1017
1017
  const OnClickOutside = /* @__PURE__ */ defineComponent({
1018
1018
  name: "OnClickOutside",
1019
1019
  props: ["as", "options"],
@@ -1190,7 +1190,7 @@ const _hoisted_3$e = ["onClick"];
1190
1190
  const _hoisted_4$7 = ["onClick"];
1191
1191
  const _hoisted_5$6 = ["data-node-name"];
1192
1192
  const _hoisted_6$6 = ["onClick"];
1193
- const _sfc_main$Y = /* @__PURE__ */ defineComponent({
1193
+ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
1194
1194
  __name: "NDVSubConnections",
1195
1195
  props: {
1196
1196
  rootNode: {}
@@ -1427,7 +1427,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
1427
1427
  class: normalizeClass(_ctx.$style.connectedNode),
1428
1428
  onClick: ($event) => onNodeClick(node2.node.name, connection.type)
1429
1429
  }, [
1430
- createVNode(_sfc_main$11, {
1430
+ createVNode(_sfc_main$13, {
1431
1431
  "node-type": node2.nodeType,
1432
1432
  "node-name": node2.node.name,
1433
1433
  "tooltip-position": "top",
@@ -1465,7 +1465,7 @@ const connectedNodesMultiple = "_connectedNodesMultiple_tfxh3_87";
1465
1465
  const connectedNode$1 = "_connectedNode_tfxh3_55";
1466
1466
  const connectedNodes = "_connectedNodes_tfxh3_55";
1467
1467
  const nodeWrapper = "_nodeWrapper_tfxh3_125";
1468
- const style0$z = {
1468
+ const style0$B = {
1469
1469
  container: container$2,
1470
1470
  connections,
1471
1471
  connectionType,
@@ -1480,14 +1480,14 @@ const style0$z = {
1480
1480
  connectedNodes,
1481
1481
  nodeWrapper
1482
1482
  };
1483
- const cssModules$B = {
1484
- "$style": style0$z
1483
+ const cssModules$D = {
1484
+ "$style": style0$B
1485
1485
  };
1486
- const NDVSubConnections = /* @__PURE__ */ _export_sfc$1(_sfc_main$Y, [["__cssModules", cssModules$B]]);
1486
+ const NDVSubConnections = /* @__PURE__ */ _export_sfc$1(_sfc_main$_, [["__cssModules", cssModules$D]]);
1487
1487
  const NODE_TEST_STEP_POPUP_COUNT_KEY = "N8N_NODE_TEST_STEP_POPUP_COUNT";
1488
1488
  const MAX_POPUP_COUNT = 10;
1489
1489
  const POPUP_UPDATE_DELAY = 3e3;
1490
- const _sfc_main$X = /* @__PURE__ */ defineComponent({
1490
+ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
1491
1491
  ...{
1492
1492
  inheritAttrs: false
1493
1493
  },
@@ -1896,7 +1896,7 @@ const _hoisted_11$2 = {
1896
1896
  class: "node-version",
1897
1897
  "data-test-id": "node-version"
1898
1898
  };
1899
- const _sfc_main$W = /* @__PURE__ */ defineComponent({
1899
+ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
1900
1900
  __name: "NodeSettings",
1901
1901
  props: {
1902
1902
  eventBus: {},
@@ -2622,7 +2622,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2622
2622
  "onUpdate:modelValue": nameChanged
2623
2623
  }, null, 8, ["model-value", "node-type", "read-only"])) : createCommentVNode("", true),
2624
2624
  isExecutable.value ? (openBlock(), createElementBlock("div", _hoisted_2$h, [
2625
- !_ctx.blockUI && node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$X, {
2625
+ !_ctx.blockUI && node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$Z, {
2626
2626
  key: 0,
2627
2627
  "data-test-id": "node-execute-button",
2628
2628
  "node-name": node2.value.name,
@@ -2636,7 +2636,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2636
2636
  }, null, 8, ["node-name", "disabled", "tooltip"])) : createCommentVNode("", true)
2637
2637
  ])) : createCommentVNode("", true)
2638
2638
  ]),
2639
- node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$_, {
2639
+ node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$10, {
2640
2640
  key: 0,
2641
2641
  "model-value": openPanel.value,
2642
2642
  "node-type": _ctx.nodeType,
@@ -2717,7 +2717,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2717
2717
  node: node2.value,
2718
2718
  "node-type-description": _ctx.nodeType
2719
2719
  }, null, 8, ["node", "node-type-description"]),
2720
- nodeValuesInitialized.value ? (openBlock(), createBlock(_sfc_main$12, {
2720
+ nodeValuesInitialized.value ? (openBlock(), createBlock(_sfc_main$14, {
2721
2721
  key: 0,
2722
2722
  parameters: parametersNoneSetting.value,
2723
2723
  "hide-delete": true,
@@ -2761,7 +2761,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2761
2761
  [vShow, openPanel.value === "params"]
2762
2762
  ]),
2763
2763
  withDirectives(createBaseVNode("div", null, [
2764
- createVNode(_sfc_main$12, {
2764
+ createVNode(_sfc_main$14, {
2765
2765
  parameters: parametersSetting.value,
2766
2766
  "node-values": nodeValues.value,
2767
2767
  "is-read-only": isReadOnly.value,
@@ -2771,7 +2771,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2771
2771
  onValueChanged: valueChanged,
2772
2772
  onParameterBlur
2773
2773
  }, null, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"]),
2774
- createVNode(_sfc_main$12, {
2774
+ createVNode(_sfc_main$14, {
2775
2775
  parameters: nodeSettings.value,
2776
2776
  "hide-delete": true,
2777
2777
  "node-values": nodeValues.value,
@@ -2810,16 +2810,16 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2810
2810
  const header$2 = "_header_1pn0y_1";
2811
2811
  const warningIcon = "_warningIcon_1pn0y_5";
2812
2812
  const descriptionContainer = "_descriptionContainer_1pn0y_10";
2813
- const style0$y = {
2813
+ const style0$A = {
2814
2814
  header: header$2,
2815
2815
  warningIcon,
2816
2816
  descriptionContainer
2817
2817
  };
2818
- const cssModules$A = {
2819
- "$style": style0$y
2818
+ const cssModules$C = {
2819
+ "$style": style0$A
2820
2820
  };
2821
- const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$W, [["__cssModules", cssModules$A], ["__scopeId", "data-v-5f1ca3f8"]]);
2822
- const _sfc_main$V = /* @__PURE__ */ defineComponent({
2821
+ const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$Y, [["__cssModules", cssModules$C], ["__scopeId", "data-v-5f1ca3f8"]]);
2822
+ const _sfc_main$X = /* @__PURE__ */ defineComponent({
2823
2823
  __name: "PanelDragButton",
2824
2824
  props: {
2825
2825
  canMoveRight: { type: Boolean },
@@ -2895,7 +2895,7 @@ const rightArrow = "_rightArrow_1fum9_20 _arrow_1fum9_28";
2895
2895
  const visible$1 = "_visible_1fum9_24";
2896
2896
  const arrow = "_arrow_1fum9_28";
2897
2897
  const grid = "_grid_1fum9_46";
2898
- const style0$x = {
2898
+ const style0$z = {
2899
2899
  dragContainer,
2900
2900
  dragButton,
2901
2901
  leftArrow,
@@ -2904,12 +2904,12 @@ const style0$x = {
2904
2904
  arrow,
2905
2905
  grid
2906
2906
  };
2907
- const cssModules$z = {
2908
- "$style": style0$x
2907
+ const cssModules$B = {
2908
+ "$style": style0$z
2909
2909
  };
2910
- const PanelDragButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$V, [["__cssModules", cssModules$z]]);
2910
+ const PanelDragButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$X, [["__cssModules", cssModules$B]]);
2911
2911
  const _hoisted_1$r = ["data-node-name", "data-node-placement", "onClick"];
2912
- const _sfc_main$U = /* @__PURE__ */ defineComponent({
2912
+ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2913
2913
  __name: "NDVFloatingNodes",
2914
2914
  props: {
2915
2915
  rootNode: {}
@@ -3034,7 +3034,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
3034
3034
  "data-node-placement": connectionGroup,
3035
3035
  onClick: ($event) => emit("switchSelectedNode", node2.name)
3036
3036
  }, [
3037
- createVNode(_sfc_main$11, {
3037
+ createVNode(_sfc_main$13, {
3038
3038
  "node-type": nodeType,
3039
3039
  "node-name": node2.name,
3040
3040
  "tooltip-position": tooltipPositionMapper[connectionGroup],
@@ -3060,7 +3060,7 @@ const outputSub = "_outputSub_468qc_29";
3060
3060
  const outputMain = "_outputMain_468qc_40";
3061
3061
  const inputMain = "_inputMain_468qc_40";
3062
3062
  const connectedNode = "_connectedNode_468qc_63";
3063
- const style0$w = {
3063
+ const style0$y = {
3064
3064
  floatingNodes,
3065
3065
  nodesList,
3066
3066
  inputSub,
@@ -3069,16 +3069,16 @@ const style0$w = {
3069
3069
  inputMain,
3070
3070
  connectedNode
3071
3071
  };
3072
- const cssModules$y = {
3073
- "$style": style0$w
3072
+ const cssModules$A = {
3073
+ "$style": style0$y
3074
3074
  };
3075
- const NDVFloatingNodes = /* @__PURE__ */ _export_sfc$1(_sfc_main$U, [["__cssModules", cssModules$y]]);
3075
+ const NDVFloatingNodes = /* @__PURE__ */ _export_sfc$1(_sfc_main$W, [["__cssModules", cssModules$A]]);
3076
3076
  const SIDE_MARGIN = 24;
3077
3077
  const SIDE_PANELS_MARGIN = 80;
3078
3078
  const MIN_PANEL_WIDTH = 310;
3079
3079
  const PANEL_WIDTH = 350;
3080
3080
  const PANEL_WIDTH_LARGE = 420;
3081
- const _sfc_main$T = /* @__PURE__ */ defineComponent({
3081
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
3082
3082
  __name: "NDVDraggablePanels",
3083
3083
  props: {
3084
3084
  isDraggable: { type: Boolean },
@@ -3095,7 +3095,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
3095
3095
  inputless: MAIN_NODE_PANEL_WIDTH,
3096
3096
  wide: MAIN_NODE_PANEL_WIDTH * 2
3097
3097
  };
3098
- const { callDebounced } = useDebounce();
3098
+ const throttledOnResize = useThrottleFn(onResize, 100);
3099
3099
  const ndvStore = useNDVStore();
3100
3100
  const uiStore = useUIStore();
3101
3101
  const props = __props;
@@ -3276,9 +3276,9 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
3276
3276
  function onResizeEnd() {
3277
3277
  storePositionData();
3278
3278
  }
3279
- function onResizeDebounced(data) {
3279
+ function onResizeThrottle(data) {
3280
3280
  if (initialized.value) {
3281
- void callDebounced(onResize, { debounceTime: 10, trailing: true }, data);
3281
+ void throttledOnResize(data);
3282
3282
  }
3283
3283
  }
3284
3284
  function onResize({ direction, x, width }) {
@@ -3325,7 +3325,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
3325
3325
  storePositionData();
3326
3326
  }
3327
3327
  return (_ctx, _cache) => {
3328
- const _component_n8n_resize_wrapper = resolveComponent("n8n-resize-wrapper");
3328
+ const _component_N8nResizeWrapper = resolveComponent("N8nResizeWrapper");
3329
3329
  return openBlock(), createElementBlock("div", null, [
3330
3330
  unref(ndvStore).activeNode ? (openBlock(), createBlock(NDVFloatingNodes, {
3331
3331
  key: 0,
@@ -3350,13 +3350,13 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
3350
3350
  class: normalizeClass(_ctx.$style.mainPanel),
3351
3351
  style: normalizeStyle(mainPanelStyles.value)
3352
3352
  }, [
3353
- createVNode(_component_n8n_resize_wrapper, {
3353
+ createVNode(_component_N8nResizeWrapper, {
3354
3354
  "is-resizing-enabled": currentNodePaneType.value !== "unknown",
3355
3355
  width: relativeWidthToPx(mainPanelDimensions.value.relativeWidth),
3356
3356
  "min-width": MIN_PANEL_WIDTH,
3357
3357
  "grid-size": 20,
3358
3358
  "supported-directions": supportedResizeDirections.value,
3359
- onResize: onResizeDebounced,
3359
+ onResize: onResizeThrottle,
3360
3360
  onResizeend: onResizeEnd
3361
3361
  }, {
3362
3362
  default: withCtx(() => [
@@ -3395,7 +3395,7 @@ const mainPanelInner = "_mainPanelInner_a6j4o_34";
3395
3395
  const dragging = "_dragging_a6j4o_41";
3396
3396
  const dragButtonContainer = "_dragButtonContainer_a6j4o_54";
3397
3397
  const visible = "_visible_a6j4o_70";
3398
- const style0$v = {
3398
+ const style0$x = {
3399
3399
  dataPanel,
3400
3400
  inputPanel,
3401
3401
  outputPanel,
@@ -3407,10 +3407,10 @@ const style0$v = {
3407
3407
  dragButtonContainer,
3408
3408
  visible
3409
3409
  };
3410
- const cssModules$x = {
3411
- "$style": style0$v
3410
+ const cssModules$z = {
3411
+ "$style": style0$x
3412
3412
  };
3413
- const NDVDraggablePanels = /* @__PURE__ */ _export_sfc$1(_sfc_main$T, [["__cssModules", cssModules$x]]);
3413
+ const NDVDraggablePanels = /* @__PURE__ */ _export_sfc$1(_sfc_main$V, [["__cssModules", cssModules$z]]);
3414
3414
  var vueJsonPretty = { exports: {} };
3415
3415
  const require$$0 = /* @__PURE__ */ getAugmentedNamespace(vue_runtime_esmBundler);
3416
3416
  (function(module, exports) {
@@ -3757,7 +3757,7 @@ const sanitizeOptions = {
3757
3757
  head: ""
3758
3758
  }
3759
3759
  };
3760
- const _sfc_main$S = {
3760
+ const _sfc_main$U = {
3761
3761
  name: "RunDataHtml",
3762
3762
  props: {
3763
3763
  inputHtml: {
@@ -3778,7 +3778,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
3778
3778
  srcdoc: $options.sanitizedHtml
3779
3779
  }, null, 8, _hoisted_1$q);
3780
3780
  }
3781
- const RunDataHtml = /* @__PURE__ */ _export_sfc$1(_sfc_main$S, [["render", _sfc_render$3]]);
3781
+ const RunDataHtml = /* @__PURE__ */ _export_sfc$1(_sfc_main$U, [["render", _sfc_render$3]]);
3782
3782
  const RunDataHtml$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3783
3783
  __proto__: null,
3784
3784
  default: RunDataHtml
@@ -3800,7 +3800,7 @@ const _hoisted_6$4 = {
3800
3800
  const _hoisted_7$3 = ["src", "type"];
3801
3801
  const _hoisted_8$3 = ["src"];
3802
3802
  const _hoisted_9$2 = ["src"];
3803
- const _sfc_main$R = /* @__PURE__ */ defineComponent({
3803
+ const _sfc_main$T = /* @__PURE__ */ defineComponent({
3804
3804
  __name: "BinaryDataDisplayEmbed",
3805
3805
  props: {
3806
3806
  binaryData: {}
@@ -3879,7 +3879,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
3879
3879
  });
3880
3880
  const _hoisted_1$o = { class: "binary-data-window-wrapper" };
3881
3881
  const _hoisted_2$f = { key: 0 };
3882
- const _sfc_main$Q = /* @__PURE__ */ defineComponent({
3882
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
3883
3883
  __name: "BinaryDataDisplay",
3884
3884
  props: {
3885
3885
  displayData: {},
@@ -3939,7 +3939,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
3939
3939
  onClick: withModifiers(closeWindow, ["stop"])
3940
3940
  }, null, 8, ["title", "label"]),
3941
3941
  createBaseVNode("div", _hoisted_1$o, [
3942
- !binaryData.value ? (openBlock(), createElementBlock("div", _hoisted_2$f, toDisplayString(unref(i18n2).baseText("binaryDataDisplay.noDataFoundToDisplay")), 1)) : (openBlock(), createBlock(_sfc_main$R, {
3942
+ !binaryData.value ? (openBlock(), createElementBlock("div", _hoisted_2$f, toDisplayString(unref(i18n2).baseText("binaryDataDisplay.noDataFoundToDisplay")), 1)) : (openBlock(), createBlock(_sfc_main$T, {
3943
3943
  key: 1,
3944
3944
  "binary-data": binaryData.value
3945
3945
  }, null, 8, ["binary-data"]))
@@ -3951,7 +3951,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
3951
3951
  const _hoisted_1$n = { key: 0 };
3952
3952
  const _hoisted_2$e = { key: 1 };
3953
3953
  const _hoisted_3$b = { key: 2 };
3954
- const _sfc_main$P = /* @__PURE__ */ defineComponent({
3954
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
3955
3955
  __name: "RunDataPinButton",
3956
3956
  props: {
3957
3957
  tooltipContentsVisibility: {},
@@ -3996,7 +3996,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
3996
3996
  ]))
3997
3997
  ]),
3998
3998
  default: withCtx(() => [
3999
- createVNode(unref(_sfc_main$13), {
3999
+ createVNode(unref(_sfc_main$15), {
4000
4000
  class: normalizeClass(_ctx.$style.pinDataButton),
4001
4001
  type: "tertiary",
4002
4002
  active: props.pinnedData.hasData.value,
@@ -4012,13 +4012,13 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
4012
4012
  }
4013
4013
  });
4014
4014
  const pinDataButton = "_pinDataButton_9p8um_1";
4015
- const style0$u = {
4015
+ const style0$w = {
4016
4016
  pinDataButton
4017
4017
  };
4018
- const cssModules$w = {
4019
- "$style": style0$u
4018
+ const cssModules$y = {
4019
+ "$style": style0$w
4020
4020
  };
4021
- const RunDataPinButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$P, [["__cssModules", cssModules$w]]);
4021
+ const RunDataPinButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$R, [["__cssModules", cssModules$y]]);
4022
4022
  const _hoisted_1$m = {
4023
4023
  key: 0,
4024
4024
  class: "ml-4xs"
@@ -4034,7 +4034,7 @@ const _hoisted_9$1 = { key: 1 };
4034
4034
  const _hoisted_10$1 = { key: 2 };
4035
4035
  const _hoisted_11$1 = { key: 3 };
4036
4036
  const _hoisted_12$1 = { key: 4 };
4037
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
4037
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
4038
4038
  __name: "RunData",
4039
4039
  props: {
4040
4040
  workflow: {},
@@ -4061,19 +4061,19 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4061
4061
  emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted"],
4062
4062
  setup(__props, { expose: __expose, emit: __emit }) {
4063
4063
  const LazyRunDataTable = defineAsyncComponent(
4064
- async () => await __vitePreload(() => import("./RunDataTable-D3iYKYbR.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
4064
+ async () => await __vitePreload(() => import("./RunDataTable-DX2WMhyi.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
4065
4065
  );
4066
4066
  const LazyRunDataJson = defineAsyncComponent(
4067
- async () => await __vitePreload(() => import("./RunDataJson-xyWfNyKi.js"), true ? __vite__mapDeps([5,1,2,6,3,7,8,9,10,11,12,13,14]) : void 0)
4067
+ async () => await __vitePreload(() => import("./RunDataJson-BHIY5dHu.js"), true ? __vite__mapDeps([5,1,2,6,3,7,8,9,10,11,12,13,14]) : void 0)
4068
4068
  );
4069
4069
  const LazyRunDataSchema = defineAsyncComponent(
4070
- async () => await __vitePreload(() => import("./index-BIo0OZGX.js").then((n) => n.jW), true ? __vite__mapDeps([1,2]) : void 0)
4070
+ async () => await __vitePreload(() => import("./index-CmLVLa2S.js").then((n) => n.jZ), true ? __vite__mapDeps([1,2]) : void 0)
4071
4071
  );
4072
4072
  const LazyRunDataHtml = defineAsyncComponent(
4073
4073
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
4074
4074
  );
4075
4075
  const LazyRunDataSearch = defineAsyncComponent(
4076
- async () => await __vitePreload(() => import("./RunDataSearch-CdLie2uo.js"), true ? __vite__mapDeps([15,1,2,16]) : void 0)
4076
+ async () => await __vitePreload(() => import("./RunDataSearch-C-CgDL9m.js"), true ? __vite__mapDeps([15,1,2,16]) : void 0)
4077
4077
  );
4078
4078
  const props = __props;
4079
4079
  const emit = __emit;
@@ -5024,7 +5024,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5024
5024
  ]),
5025
5025
  _: 1
5026
5026
  }, 8, ["class"])) : createCommentVNode("", true),
5027
- binaryDataDisplayData.value ? (openBlock(), createBlock(_sfc_main$Q, {
5027
+ binaryDataDisplayData.value ? (openBlock(), createBlock(_sfc_main$S, {
5028
5028
  key: 1,
5029
5029
  "window-visible": binaryDataDisplayVisible.value,
5030
5030
  "display-data": binaryDataDisplayData.value,
@@ -5066,7 +5066,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5066
5066
  hasNodeRun.value && (inputData.value.length || binaryData.value.length || search2.value) && !editMode2.value.enabled
5067
5067
  ]
5068
5068
  ]),
5069
- canPinData.value && !isReadOnlyRoute.value && !readOnlyEnv.value ? withDirectives((openBlock(), createBlock(unref(_sfc_main$13), {
5069
+ canPinData.value && !isReadOnlyRoute.value && !readOnlyEnv.value ? withDirectives((openBlock(), createBlock(unref(_sfc_main$15), {
5070
5070
  key: 0,
5071
5071
  title: unref(i18n2).baseText("runData.editOutput"),
5072
5072
  circle: false,
@@ -5139,7 +5139,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5139
5139
  ]),
5140
5140
  default: withCtx(() => [
5141
5141
  (openBlock(true), createElementBlock(Fragment, null, renderList(maxRunIndex.value + 1, (option2) => {
5142
- return openBlock(), createBlock(unref(_sfc_main$14), {
5142
+ return openBlock(), createBlock(unref(_sfc_main$16), {
5143
5143
  key: option2,
5144
5144
  label: getRunLabel(option2),
5145
5145
  value: option2 - 1
@@ -5156,7 +5156,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5156
5156
  createTextVNode(toDisplayString(unref(i18n2).baseText(_ctx.linkedRuns ? "runData.unlinking.hint" : "runData.linking.hint")), 1)
5157
5157
  ]),
5158
5158
  default: withCtx(() => [
5159
- createVNode(unref(_sfc_main$13), {
5159
+ createVNode(unref(_sfc_main$15), {
5160
5160
  icon: _ctx.linkedRuns ? "unlink" : "link",
5161
5161
  class: "linkRun",
5162
5162
  text: "",
@@ -5300,7 +5300,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5300
5300
  createBaseVNode("div", {
5301
5301
  class: normalizeClass(_ctx.$style.spinner)
5302
5302
  }, [
5303
- createVNode(unref(_sfc_main$15), { type: "ring" })
5303
+ createVNode(unref(_sfc_main$17), { type: "ring" })
5304
5304
  ], 2),
5305
5305
  createVNode(unref(N8nText), null, {
5306
5306
  default: withCtx(() => [
@@ -5347,7 +5347,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5347
5347
  key: 2,
5348
5348
  class: normalizeClass(_ctx.$style.stretchVertically)
5349
5349
  }, [
5350
- createVNode(_sfc_main$16, {
5350
+ createVNode(_sfc_main$18, {
5351
5351
  error: subworkflowExecutionError.value,
5352
5352
  class: normalizeClass(_ctx.$style.errorDisplay)
5353
5353
  }, null, 8, ["error", "class"])
@@ -5405,14 +5405,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5405
5405
  }),
5406
5406
  _: 1
5407
5407
  }, 8, ["class"])) : _ctx.$slots["content"] ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
5408
- workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$16, {
5408
+ workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$18, {
5409
5409
  key: 0,
5410
5410
  error: workflowRunErrorAsNodeError.value,
5411
5411
  class: normalizeClass(_ctx.$style.inlineError),
5412
5412
  compact: ""
5413
5413
  }, null, 8, ["error", "class"])) : createCommentVNode("", true),
5414
5414
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
5415
- ])) : workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$16, {
5415
+ ])) : workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$18, {
5416
5416
  key: 2,
5417
5417
  error: workflowRunErrorAsNodeError.value,
5418
5418
  class: normalizeClass(_ctx.$style.dataDisplay)
@@ -5775,13 +5775,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5775
5775
  ]),
5776
5776
  default: withCtx(() => [
5777
5777
  (openBlock(), createElementBlock(Fragment, null, renderList(pageSizes, (size) => {
5778
- return createVNode(unref(_sfc_main$14), {
5778
+ return createVNode(unref(_sfc_main$16), {
5779
5779
  key: size,
5780
5780
  label: size,
5781
5781
  value: size
5782
5782
  }, null, 8, ["label", "value"]);
5783
5783
  }), 64)),
5784
- createVNode(unref(_sfc_main$14), {
5784
+ createVNode(unref(_sfc_main$16), {
5785
5785
  label: unref(i18n2).baseText("ndv.output.all"),
5786
5786
  value: dataCount.value
5787
5787
  }, null, 8, ["label", "value"])
@@ -5839,7 +5839,7 @@ const uiBlocker = "_uiBlocker_14ti8_289";
5839
5839
  const hintCallout = "_hintCallout_14ti8_294";
5840
5840
  const schema = "_schema_14ti8_300";
5841
5841
  const relatedExecutionInfo = "_relatedExecutionInfo_14ti8_304";
5842
- const style0$t = {
5842
+ const style0$v = {
5843
5843
  infoIcon,
5844
5844
  center,
5845
5845
  container: container$1,
@@ -5881,11 +5881,11 @@ const style0$t = {
5881
5881
  schema,
5882
5882
  relatedExecutionInfo
5883
5883
  };
5884
- const cssModules$v = {
5885
- "$style": style0$t
5884
+ const cssModules$x = {
5885
+ "$style": style0$v
5886
5886
  };
5887
- const RunData = /* @__PURE__ */ _export_sfc$1(_sfc_main$O, [["__cssModules", cssModules$v], ["__scopeId", "data-v-b586b758"]]);
5888
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
5887
+ const RunData = /* @__PURE__ */ _export_sfc$1(_sfc_main$Q, [["__cssModules", cssModules$x], ["__scopeId", "data-v-b586b758"]]);
5888
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
5889
5889
  __name: "RunInfo",
5890
5890
  props: {
5891
5891
  taskData: {},
@@ -5994,14 +5994,14 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
5994
5994
  }
5995
5995
  });
5996
5996
  const tooltipRow = "_tooltipRow_1azk3_1";
5997
- const style0$s = {
5997
+ const style0$u = {
5998
5998
  tooltipRow
5999
5999
  };
6000
- const cssModules$u = {
6001
- "$style": style0$s
6000
+ const cssModules$w = {
6001
+ "$style": style0$u
6002
6002
  };
6003
- const RunInfo = /* @__PURE__ */ _export_sfc$1(_sfc_main$N, [["__cssModules", cssModules$u]]);
6004
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
6003
+ const RunInfo = /* @__PURE__ */ _export_sfc$1(_sfc_main$P, [["__cssModules", cssModules$w]]);
6004
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
6005
6005
  __name: "OutputPanel",
6006
6006
  props: {
6007
6007
  workflow: {},
@@ -6388,19 +6388,19 @@ const titleSection$1 = "_titleSection_f1tu5_11";
6388
6388
  const title$2 = "_title_f1tu5_11";
6389
6389
  const noOutputData$1 = "_noOutputData_f1tu5_27";
6390
6390
  const recoveredOutputData$1 = "_recoveredOutputData_f1tu5_37";
6391
- const style0$r = {
6391
+ const style0$t = {
6392
6392
  outputTypeSelect,
6393
6393
  titleSection: titleSection$1,
6394
6394
  title: title$2,
6395
6395
  noOutputData: noOutputData$1,
6396
6396
  recoveredOutputData: recoveredOutputData$1
6397
6397
  };
6398
- const cssModules$t = {
6399
- "$style": style0$r
6398
+ const cssModules$v = {
6399
+ "$style": style0$t
6400
6400
  };
6401
- const OutputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$M, [["__cssModules", cssModules$t]]);
6401
+ const OutputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$O, [["__cssModules", cssModules$v]]);
6402
6402
  const _hoisted_1$l = { key: 0 };
6403
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
6403
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
6404
6404
  __name: "InputNodeSelect",
6405
6405
  props: {
6406
6406
  nodes: {},
@@ -6496,7 +6496,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
6496
6496
  prefix: withCtx(() => {
6497
6497
  var _a;
6498
6498
  return [
6499
- createVNode(_sfc_main$11, {
6499
+ createVNode(_sfc_main$13, {
6500
6500
  disabled: (_a = selectedInputNode.value) == null ? void 0 : _a.disabled,
6501
6501
  "node-type": selectedInputNodeType.value,
6502
6502
  size: 14,
@@ -6514,7 +6514,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
6514
6514
  "data-test-id": "ndv-input-option"
6515
6515
  }, {
6516
6516
  default: withCtx(() => [
6517
- createVNode(_sfc_main$11, {
6517
+ createVNode(_sfc_main$13, {
6518
6518
  disabled: node2.disabled,
6519
6519
  "node-type": type,
6520
6520
  size: 14,
@@ -6546,7 +6546,7 @@ const icon = "_icon_68vpa_18";
6546
6546
  const title$1 = "_title_68vpa_22";
6547
6547
  const disabled$1 = "_disabled_68vpa_31";
6548
6548
  const subtitle$1 = "_subtitle_68vpa_35";
6549
- const style0$q = {
6549
+ const style0$s = {
6550
6550
  select: select$3,
6551
6551
  node: node$1,
6552
6552
  icon,
@@ -6554,11 +6554,11 @@ const style0$q = {
6554
6554
  disabled: disabled$1,
6555
6555
  subtitle: subtitle$1
6556
6556
  };
6557
- const cssModules$s = {
6558
- "$style": style0$q
6557
+ const cssModules$u = {
6558
+ "$style": style0$s
6559
6559
  };
6560
- const InputNodeSelect = /* @__PURE__ */ _export_sfc$1(_sfc_main$L, [["__cssModules", cssModules$s]]);
6561
- const _sfc_main$K = {};
6560
+ const InputNodeSelect = /* @__PURE__ */ _export_sfc$1(_sfc_main$N, [["__cssModules", cssModules$u]]);
6561
+ const _sfc_main$M = {};
6562
6562
  const _hoisted_1$k = {
6563
6563
  width: "112",
6564
6564
  height: "80",
@@ -6572,8 +6572,8 @@ function _sfc_render$2(_ctx, _cache) {
6572
6572
  createStaticVNode('<mask id="mask0_489_46042" style="mask-type:alpha;" maskUnits="userSpaceOnUse" x="0" y="0" width="112" height="80"><rect width="112" height="80" fill="url(#paint0_linear_489_46042)"></rect></mask><g mask="url(#mask0_489_46042)"><rect x="-0.5" width="112" height="80" fill="url(#pattern0)" fill-opacity="0.6"></rect></g><defs><pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1"><use xlink:href="#image0_489_46042" transform="scale(0.00357143 0.005)"></use></pattern><linearGradient id="paint0_linear_489_46042" x1="90.5" y1="40.4494" x2="112.5" y2="40.4494" gradientUnits="userSpaceOnUse"><stop></stop><stop offset="1" stop-color="white" stop-opacity="0"></stop></linearGradient><image id="image0_489_46042" width="280" height="200" xlink:href="data:image/png;base64,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"></image></defs>', 3)
6573
6573
  ]));
6574
6574
  }
6575
- const WireMeUp = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["render", _sfc_render$2]]);
6576
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
6575
+ const WireMeUp = /* @__PURE__ */ _export_sfc$1(_sfc_main$M, [["render", _sfc_render$2]]);
6576
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
6577
6577
  __name: "InputPanel",
6578
6578
  props: {
6579
6579
  runIndex: {},
@@ -6647,7 +6647,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6647
6647
  }
6648
6648
  const triggeredNode = workflowsStore.executedNode;
6649
6649
  const executingNode = workflowsStore.executingNode;
6650
- if (activeNode.value && triggeredNode === activeNode.value.name && !workflowsStore.isNodeExecuting(activeNode.value.name)) {
6650
+ if (activeNode.value && triggeredNode === activeNode.value.name && workflowsStore.isNodeExecuting(props.currentNodeName)) {
6651
6651
  return true;
6652
6652
  }
6653
6653
  if (executingNode.length || triggeredNode) {
@@ -6880,7 +6880,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6880
6880
  ])
6881
6881
  ]),
6882
6882
  default: withCtx(() => [
6883
- createVNode(_sfc_main$X, {
6883
+ createVNode(_sfc_main$Z, {
6884
6884
  type: "secondary",
6885
6885
  "hide-icon": "",
6886
6886
  transparent: true,
@@ -7020,7 +7020,7 @@ const noOutputData = "_noOutputData_17wvq_18";
7020
7020
  const recoveredOutputData = "_recoveredOutputData_17wvq_28";
7021
7021
  const notConnected = "_notConnected_17wvq_37";
7022
7022
  const title = "_title_17wvq_5";
7023
- const style0$p = {
7023
+ const style0$r = {
7024
7024
  mappedNode,
7025
7025
  titleSection,
7026
7026
  inputModeTab,
@@ -7029,10 +7029,10 @@ const style0$p = {
7029
7029
  notConnected,
7030
7030
  title
7031
7031
  };
7032
- const cssModules$r = {
7033
- "$style": style0$p
7032
+ const cssModules$t = {
7033
+ "$style": style0$r
7034
7034
  };
7035
- const InputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$J, [["__cssModules", cssModules$r]]);
7035
+ const InputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$L, [["__cssModules", cssModules$t]]);
7036
7036
  const _hoisted_1$j = { key: "empty" };
7037
7037
  const _hoisted_2$c = { key: "listening" };
7038
7038
  const _hoisted_3$9 = { key: 0 };
@@ -7044,7 +7044,7 @@ const _hoisted_7$1 = {
7044
7044
  class: "mb-xl"
7045
7045
  };
7046
7046
  const _hoisted_8$1 = ["textContent"];
7047
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
7047
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
7048
7048
  __name: "TriggerPanel",
7049
7049
  props: {
7050
7050
  nodeName: {},
@@ -7345,7 +7345,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
7345
7345
  hasIssues2.value || hideContent.value ? (openBlock(), createElementBlock("div", _hoisted_1$j)) : isListeningForEvents.value ? (openBlock(), createElementBlock("div", _hoisted_2$c, [
7346
7346
  createVNode(_component_n8n_pulse, null, {
7347
7347
  default: withCtx(() => [
7348
- createVNode(_sfc_main$11, {
7348
+ createVNode(_sfc_main$13, {
7349
7349
  "node-type": nodeType.value,
7350
7350
  size: 40
7351
7351
  }, null, 8, ["node-type"])
@@ -7386,7 +7386,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
7386
7386
  "copy-button-text": unref(i18n2).baseText("generic.clickToCopy"),
7387
7387
  onCopy: onTestLinkCopied
7388
7388
  }, null, 8, ["value", "toast-title", "copy-button-text"]),
7389
- createVNode(_sfc_main$X, {
7389
+ createVNode(_sfc_main$Z, {
7390
7390
  "data-test-id": "trigger-execute-button",
7391
7391
  "node-name": _ctx.nodeName,
7392
7392
  size: "medium",
@@ -7427,7 +7427,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
7427
7427
  _: 1
7428
7428
  })
7429
7429
  ])) : createCommentVNode("", true),
7430
- createVNode(_sfc_main$X, {
7430
+ createVNode(_sfc_main$Z, {
7431
7431
  "data-test-id": "trigger-execute-button",
7432
7432
  "node-name": _ctx.nodeName,
7433
7433
  size: "medium",
@@ -7464,7 +7464,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
7464
7464
  _: 1
7465
7465
  })) : createCommentVNode("", true)
7466
7466
  ], 2),
7467
- createVNode(_sfc_main$X, {
7467
+ createVNode(_sfc_main$Z, {
7468
7468
  "data-test-id": "trigger-execute-button",
7469
7469
  "node-name": _ctx.nodeName,
7470
7470
  size: "medium",
@@ -7518,18 +7518,18 @@ const header = "_header_1evnm_18";
7518
7518
  const action = "_action_1evnm_25";
7519
7519
  const shake$1 = "_shake_1evnm_29";
7520
7520
  const accordion = "_accordion_1evnm_50";
7521
- const style0$o = {
7521
+ const style0$q = {
7522
7522
  container,
7523
7523
  header,
7524
7524
  action,
7525
7525
  shake: shake$1,
7526
7526
  accordion
7527
7527
  };
7528
- const cssModules$q = {
7529
- "$style": style0$o
7528
+ const cssModules$s = {
7529
+ "$style": style0$q
7530
7530
  };
7531
- const TriggerPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$I, [["__cssModules", cssModules$q], ["__scopeId", "data-v-61e12e36"]]);
7532
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
7531
+ const TriggerPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["__cssModules", cssModules$s], ["__scopeId", "data-v-61e12e36"]]);
7532
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
7533
7533
  __name: "NodeDetailsView",
7534
7534
  props: {
7535
7535
  workflowObject: {},
@@ -8213,13 +8213,13 @@ const style1 = {
8213
8213
  backToCanvas,
8214
8214
  featureRequest
8215
8215
  };
8216
- const cssModules$p = {
8216
+ const cssModules$r = {
8217
8217
  "$style": style1
8218
8218
  };
8219
- const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$H, [["__cssModules", cssModules$p]]);
8219
+ const __unplugin_components_2$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$J, [["__cssModules", cssModules$r]]);
8220
8220
  const NodeDetailsView = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8221
8221
  __proto__: null,
8222
- default: __unplugin_components_2
8222
+ default: __unplugin_components_2$1
8223
8223
  }, Symbol.toStringTag, { value: "Module" }));
8224
8224
  function useNodeBase({
8225
8225
  name,
@@ -8715,7 +8715,7 @@ const _hoisted_3$8 = ["title"];
8715
8715
  const _hoisted_4$2 = ["title"];
8716
8716
  const _hoisted_5$1 = { class: "content" };
8717
8717
  const _hoisted_6$1 = ["onClick"];
8718
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
8718
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
8719
8719
  ...{ name: "Sticky" },
8720
8720
  __name: "Sticky",
8721
8721
  props: {
@@ -9055,7 +9055,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
9055
9055
  };
9056
9056
  }
9057
9057
  });
9058
- const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$G, [["__scopeId", "data-v-19235803"]]);
9058
+ const __unplugin_components_1$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$I, [["__scopeId", "data-v-19235803"]]);
9059
9059
  const _hoisted_1$h = ["id", "data-name", "data-node-type"];
9060
9060
  const _hoisted_2$a = { class: "select-background" };
9061
9061
  const _hoisted_3$7 = {
@@ -9099,7 +9099,7 @@ const _hoisted_18 = { "data-test-id": "canvas-node-box-title" };
9099
9099
  const _hoisted_19 = { key: 0 };
9100
9100
  const _hoisted_20 = ["title"];
9101
9101
  const _hoisted_21 = { class: "node-options-inner" };
9102
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
9102
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
9103
9103
  __name: "Node",
9104
9104
  props: {
9105
9105
  name: {},
@@ -9707,7 +9707,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
9707
9707
  _: 1
9708
9708
  }, 8, ["visible"])) : createCommentVNode("", true)
9709
9709
  ]),
9710
- createVNode(_sfc_main$11, {
9710
+ createVNode(_sfc_main$13, {
9711
9711
  class: "node-icon",
9712
9712
  "node-type": iconNodeType.value,
9713
9713
  size: 40,
@@ -9750,7 +9750,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
9750
9750
  }, ["stop"]))
9751
9751
  }, [
9752
9752
  createBaseVNode("div", _hoisted_21, [
9753
- !isConfigNode.value ? (openBlock(), createBlock(unref(_sfc_main$13), {
9753
+ !isConfigNode.value ? (openBlock(), createBlock(unref(_sfc_main$15), {
9754
9754
  key: 0,
9755
9755
  "data-test-id": "execute-node-button",
9756
9756
  type: "tertiary",
@@ -9761,7 +9761,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
9761
9761
  title: unref(i18n2).baseText("node.testStep"),
9762
9762
  onClick: executeNode
9763
9763
  }, null, 8, ["disabled", "title"])) : createCommentVNode("", true),
9764
- createVNode(unref(_sfc_main$13), {
9764
+ createVNode(unref(_sfc_main$15), {
9765
9765
  "data-test-id": "disable-node-button",
9766
9766
  type: "tertiary",
9767
9767
  text: "",
@@ -9770,7 +9770,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
9770
9770
  title: nodeDisabledTitle.value,
9771
9771
  onClick: toggleDisableNode
9772
9772
  }, null, 8, ["title"]),
9773
- createVNode(unref(_sfc_main$13), {
9773
+ createVNode(unref(_sfc_main$15), {
9774
9774
  "data-test-id": "delete-node-button",
9775
9775
  type: "tertiary",
9776
9776
  size: "small",
@@ -9779,7 +9779,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
9779
9779
  title: unref(i18n2).baseText("node.delete"),
9780
9780
  onClick: deleteNode
9781
9781
  }, null, 8, ["title"]),
9782
- createVNode(unref(_sfc_main$13), {
9782
+ createVNode(unref(_sfc_main$15), {
9783
9783
  "data-test-id": "overflow-node-button",
9784
9784
  type: "tertiary",
9785
9785
  size: "small",
@@ -9795,7 +9795,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
9795
9795
  };
9796
9796
  }
9797
9797
  });
9798
- const __unplugin_components_0$5 = /* @__PURE__ */ _export_sfc$1(_sfc_main$F, [["__scopeId", "data-v-21033a3a"]]);
9798
+ const __unplugin_components_0$6 = /* @__PURE__ */ _export_sfc$1(_sfc_main$H, [["__scopeId", "data-v-21033a3a"]]);
9799
9799
  const state = reactive({
9800
9800
  customActions: {},
9801
9801
  delegatedClickHandler: null
@@ -11536,7 +11536,7 @@ const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
11536
11536
  };
11537
11537
  });
11538
11538
  const _hoisted_1$g = ["textContent"];
11539
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
11539
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
11540
11540
  __name: "CanvasAddButton",
11541
11541
  props: {
11542
11542
  showTooltip: { type: Boolean },
@@ -11594,15 +11594,15 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
11594
11594
  const canvasAddButton = "_canvasAddButton_4rygg_1";
11595
11595
  const button$1 = "_button_4rygg_13";
11596
11596
  const label$6 = "_label_4rygg_34";
11597
- const style0$n = {
11597
+ const style0$p = {
11598
11598
  canvasAddButton,
11599
11599
  button: button$1,
11600
11600
  label: label$6
11601
11601
  };
11602
- const cssModules$o = {
11603
- "$style": style0$n
11602
+ const cssModules$q = {
11603
+ "$style": style0$p
11604
11604
  };
11605
- const CanvasAddButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$E, [["__cssModules", cssModules$o]]);
11605
+ const CanvasAddButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$G, [["__cssModules", cssModules$q]]);
11606
11606
  function useCanvasPanning(elementRef, options = {}) {
11607
11607
  const uiStore = useUIStore();
11608
11608
  const moveLastPosition = ref([0, 0]);
@@ -11670,7 +11670,7 @@ const _hoisted_2$9 = {
11670
11670
  href: "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/",
11671
11671
  target: "_blank"
11672
11672
  };
11673
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
11673
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
11674
11674
  __name: "NodeViewUnfinishedWorkflowMessage",
11675
11675
  setup(__props) {
11676
11676
  const i18 = useI18n();
@@ -11685,20 +11685,20 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
11685
11685
  }
11686
11686
  });
11687
11687
  const LazyNodeCreation = defineAsyncComponent(
11688
- async () => await __vitePreload(() => import("./NodeCreation-DT2fJ_vL.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
11688
+ async () => await __vitePreload(() => import("./NodeCreation-fYCCIvH0.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
11689
11689
  );
11690
11690
  const LazyCanvasControls = defineAsyncComponent(
11691
- async () => await __vitePreload(() => import("./CanvasControls-B0XKV7Yl.js"), true ? __vite__mapDeps([19,1,2,20]) : void 0)
11691
+ async () => await __vitePreload(() => import("./CanvasControls-Bmo04dJ7.js"), true ? __vite__mapDeps([19,1,2,20]) : void 0)
11692
11692
  );
11693
11693
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
11694
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-BVwfvnTr.js"), true ? __vite__mapDeps([21,1,2]) : void 0)
11694
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-ebC2FUi4.js"), true ? __vite__mapDeps([21,1,2]) : void 0)
11695
11695
  );
11696
- const _sfc_main$C = defineComponent({
11696
+ const _sfc_main$E = defineComponent({
11697
11697
  name: "NodeView",
11698
11698
  components: {
11699
- NodeDetailsView: __unplugin_components_2,
11700
- Node: __unplugin_components_0$5,
11701
- Sticky: __unplugin_components_1,
11699
+ NodeDetailsView: __unplugin_components_2$1,
11700
+ Node: __unplugin_components_0$6,
11701
+ Sticky: __unplugin_components_1$1,
11702
11702
  CanvasAddButton,
11703
11703
  KeyboardShortcutTooltip,
11704
11704
  LazyNodeCreation,
@@ -12458,7 +12458,7 @@ const _sfc_main$C = defineComponent({
12458
12458
  if (data.waitTill) {
12459
12459
  this.showMessage({
12460
12460
  title: this.i18n.baseText("nodeView.thisExecutionHasntFinishedYet"),
12461
- message: h(_sfc_main$D),
12461
+ message: h(_sfc_main$F),
12462
12462
  type: "warning",
12463
12463
  duration: 0
12464
12464
  });
@@ -15108,9 +15108,9 @@ const _hoisted_2$8 = {
15108
15108
  };
15109
15109
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
15110
15110
  const _component_CanvasAddButton = resolveComponent("CanvasAddButton");
15111
- const _component_Node = __unplugin_components_0$5;
15112
- const _component_Sticky = __unplugin_components_1;
15113
- const _component_NodeDetailsView = __unplugin_components_2;
15111
+ const _component_Node = __unplugin_components_0$6;
15112
+ const _component_Sticky = __unplugin_components_1$1;
15113
+ const _component_NodeDetailsView = __unplugin_components_2$1;
15114
15114
  const _component_LazySetupWorkflowCredentialsButton = resolveComponent("LazySetupWorkflowCredentialsButton");
15115
15115
  const _component_LazyNodeCreation = resolveComponent("LazyNodeCreation");
15116
15116
  const _component_LazyCanvasControls = resolveComponent("LazyCanvasControls");
@@ -15330,11 +15330,11 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
15330
15330
  ], 32)
15331
15331
  ], 2);
15332
15332
  }
15333
- const cssModules$n = {
15333
+ const cssModules$p = {
15334
15334
  "$style": style2
15335
15335
  };
15336
- const NodeViewV1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["render", _sfc_render$1], ["__cssModules", cssModules$n], ["__scopeId", "data-v-d7d5a2c3"]]);
15337
- const _sfc_main$B = /* @__PURE__ */ defineComponent({
15336
+ const NodeViewV1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$E, [["render", _sfc_render$1], ["__cssModules", cssModules$p], ["__scopeId", "data-v-e07d817a"]]);
15337
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
15338
15338
  __name: "CanvasChatButton",
15339
15339
  props: {
15340
15340
  outline: { type: Boolean }
@@ -24871,7 +24871,7 @@ const __default__$g = {
24871
24871
  name: "Panel",
24872
24872
  compatConfig: { MODE: 3 }
24873
24873
  };
24874
- const _sfc_main$A = /* @__PURE__ */ defineComponent({
24874
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
24875
24875
  ...__default__$g,
24876
24876
  props: {
24877
24877
  position: {}
@@ -24972,7 +24972,7 @@ const __default__$4 = {
24972
24972
  name: "Controls",
24973
24973
  compatConfig: { MODE: 3 }
24974
24974
  };
24975
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
24975
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
24976
24976
  ...__default__$4,
24977
24977
  props: {
24978
24978
  showZoom: { type: Boolean, default: true },
@@ -25015,7 +25015,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
25015
25015
  emit("interactionChange", !isInteractive.value);
25016
25016
  }
25017
25017
  return (_ctx, _cache) => {
25018
- return openBlock(), createBlock(unref(_sfc_main$A), {
25018
+ return openBlock(), createBlock(unref(_sfc_main$C), {
25019
25019
  class: "vue-flow__controls",
25020
25020
  position: _ctx.position
25021
25021
  }, {
@@ -25089,7 +25089,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
25089
25089
  }
25090
25090
  });
25091
25091
  const _hoisted_1$b = ["href"];
25092
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
25092
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
25093
25093
  __name: "CanvasControlButtons",
25094
25094
  props: {
25095
25095
  zoom: { default: 1 },
@@ -25120,7 +25120,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25120
25120
  }
25121
25121
  return (_ctx, _cache) => {
25122
25122
  const _component_N8nIconButton = resolveComponent("N8nIconButton");
25123
- return openBlock(), createBlock(unref(_sfc_main$z), {
25123
+ return openBlock(), createBlock(unref(_sfc_main$B), {
25124
25124
  "show-zoom": false,
25125
25125
  "show-fit-view": false
25126
25126
  }, {
@@ -25212,63 +25212,60 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25212
25212
  };
25213
25213
  }
25214
25214
  });
25215
- const EDGE_PADDING_TOP = 80;
25216
- const EDGE_PADDING_BOTTOM = 140;
25215
+ const EDGE_PADDING_BOTTOM = 130;
25217
25216
  const EDGE_PADDING_X = 40;
25218
25217
  const EDGE_BORDER_RADIUS = 16;
25219
25218
  const HANDLE_SIZE = 20;
25220
25219
  const isRightOfSourceHandle = (sourceX, targetX) => sourceX - HANDLE_SIZE > targetX;
25221
- const pathIntersectsNodes = (targetY, sourceY) => Math.abs(targetY - sourceY) < EDGE_PADDING_BOTTOM;
25222
- function getCustomPath(props, {
25220
+ function getEdgeRenderData(props, {
25223
25221
  connectionType: connectionType2 = NodeConnectionType.Main
25224
25222
  } = {}) {
25225
25223
  const { targetX, targetY, sourceX, sourceY, sourcePosition, targetPosition } = props;
25226
- const yDiff = targetY - sourceY;
25227
25224
  if (!isRightOfSourceHandle(sourceX, targetX) || connectionType2 !== NodeConnectionType.Main) {
25228
- return getBezierPath(props);
25229
- }
25230
- if (pathIntersectsNodes(targetY, sourceY)) {
25231
- const direction = yDiff < -EDGE_PADDING_BOTTOM || yDiff > 0 ? "up" : "down";
25232
- const firstSegmentTargetX = sourceX;
25233
- const firstSegmentTargetY = sourceY + (direction === "up" ? -EDGE_PADDING_TOP : EDGE_PADDING_BOTTOM);
25234
- const [firstSegmentPath] = getSmoothStepPath({
25235
- sourceX,
25236
- sourceY,
25237
- targetX: firstSegmentTargetX,
25238
- targetY: firstSegmentTargetY,
25239
- sourcePosition,
25240
- targetPosition: Position.Right,
25241
- borderRadius: EDGE_BORDER_RADIUS,
25242
- offset: EDGE_PADDING_X
25243
- });
25244
- const path = getSmoothStepPath({
25245
- sourceX: firstSegmentTargetX,
25246
- sourceY: firstSegmentTargetY,
25247
- targetX,
25248
- targetY,
25249
- sourcePosition: Position.Left,
25250
- targetPosition,
25251
- borderRadius: EDGE_BORDER_RADIUS,
25252
- offset: EDGE_PADDING_X
25253
- });
25254
- path[0] = firstSegmentPath + path[0];
25255
- return path;
25256
- }
25257
- return getSmoothStepPath({
25258
- ...props,
25259
- borderRadius: EDGE_BORDER_RADIUS
25225
+ const segment = getBezierPath(props);
25226
+ return {
25227
+ segments: [segment],
25228
+ labelPosition: [segment[1], segment[2]]
25229
+ };
25230
+ }
25231
+ const firstSegmentTargetX = (sourceX + targetX) / 2;
25232
+ const firstSegmentTargetY = sourceY + EDGE_PADDING_BOTTOM;
25233
+ const firstSegment = getSmoothStepPath({
25234
+ sourceX,
25235
+ sourceY,
25236
+ targetX: firstSegmentTargetX,
25237
+ targetY: firstSegmentTargetY,
25238
+ sourcePosition,
25239
+ targetPosition: Position.Right,
25240
+ borderRadius: EDGE_BORDER_RADIUS,
25241
+ offset: EDGE_PADDING_X
25242
+ });
25243
+ const secondSegment = getSmoothStepPath({
25244
+ sourceX: firstSegmentTargetX,
25245
+ sourceY: firstSegmentTargetY,
25246
+ targetX,
25247
+ targetY,
25248
+ sourcePosition: Position.Left,
25249
+ targetPosition,
25250
+ borderRadius: EDGE_BORDER_RADIUS,
25251
+ offset: EDGE_PADDING_X
25260
25252
  });
25261
- }
25262
- function useCanvas() {
25263
- const canvas2 = inject(CanvasKey);
25264
- const connectingHandle = computed(() => canvas2 == null ? void 0 : canvas2.connectingHandle.value);
25265
- const isExecuting = computed(() => canvas2 == null ? void 0 : canvas2.isExecuting.value);
25266
25253
  return {
25267
- isExecuting,
25268
- connectingHandle
25254
+ segments: [firstSegment, secondSegment],
25255
+ labelPosition: [firstSegmentTargetX, firstSegmentTargetY]
25269
25256
  };
25270
25257
  }
25271
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
25258
+ function injectStrict(key, fallback) {
25259
+ const resolved = inject(key, fallback);
25260
+ if (!resolved) {
25261
+ throw new Error(`Could not resolve ${key.description}`);
25262
+ }
25263
+ return resolved;
25264
+ }
25265
+ function useCanvas() {
25266
+ return injectStrict(CanvasKey);
25267
+ }
25268
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
25272
25269
  __name: "CanvasConnectionLine",
25273
25270
  props: {
25274
25271
  sourceX: {},
@@ -25307,25 +25304,31 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
25307
25304
  strokeWidth: 2,
25308
25305
  stroke: edgeColor.value
25309
25306
  }));
25310
- const path = computed(() => getCustomPath(props, { connectionType: connectionType2.value }));
25307
+ const renderData = computed(
25308
+ () => getEdgeRenderData(props, { connectionType: connectionType2.value })
25309
+ );
25310
+ const segments = computed(() => renderData.value.segments);
25311
25311
  return (_ctx, _cache) => {
25312
- return openBlock(), createBlock(unref(_sfc_main$d$1), {
25313
- class: normalizeClass(unref($style).edge),
25314
- style: normalizeStyle(edgeStyle.value),
25315
- path: path.value[0],
25316
- "marker-end": _ctx.markerEnd
25317
- }, null, 8, ["class", "style", "path", "marker-end"]);
25312
+ return openBlock(true), createElementBlock(Fragment, null, renderList(segments.value, (segment) => {
25313
+ return openBlock(), createBlock(unref(_sfc_main$d$1), {
25314
+ key: segment[0],
25315
+ class: normalizeClass(unref($style).edge),
25316
+ style: normalizeStyle(edgeStyle.value),
25317
+ path: segment[0],
25318
+ "marker-end": _ctx.markerEnd
25319
+ }, null, 8, ["class", "style", "path", "marker-end"]);
25320
+ }), 128);
25318
25321
  };
25319
25322
  }
25320
25323
  });
25321
25324
  const edge$1 = "_edge_ujtc6_1";
25322
- const style0$m = {
25325
+ const style0$o = {
25323
25326
  edge: edge$1
25324
25327
  };
25325
- const cssModules$m = {
25326
- "$style": style0$m
25328
+ const cssModules$o = {
25329
+ "$style": style0$o
25327
25330
  };
25328
- const __unplugin_components_0$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$x, [["__cssModules", cssModules$m]]);
25331
+ const __unplugin_components_0$5 = /* @__PURE__ */ _export_sfc$1(_sfc_main$z, [["__cssModules", cssModules$o]]);
25329
25332
  var BackgroundVariant = /* @__PURE__ */ ((BackgroundVariant2) => {
25330
25333
  BackgroundVariant2["Lines"] = "lines";
25331
25334
  BackgroundVariant2["Dots"] = "dots";
@@ -25361,7 +25364,7 @@ const __default__$3 = {
25361
25364
  name: "Background",
25362
25365
  compatConfig: { MODE: 3 }
25363
25366
  };
25364
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
25367
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25365
25368
  ...__default__$3,
25366
25369
  props: {
25367
25370
  id: {},
@@ -28173,7 +28176,7 @@ const __default__$2 = {
28173
28176
  name: "MiniMap",
28174
28177
  compatConfig: { MODE: 3 }
28175
28178
  };
28176
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
28179
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
28177
28180
  ...__default__$2,
28178
28181
  props: {
28179
28182
  nodeColor: { type: [String, Function], default: "#e2e2e2" },
@@ -28336,7 +28339,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
28336
28339
  emit("nodeMouseleave", param);
28337
28340
  }
28338
28341
  return (_ctx, _cache) => {
28339
- return openBlock(), createBlock(unref(_sfc_main$A), {
28342
+ return openBlock(), createBlock(unref(_sfc_main$C), {
28340
28343
  position: _ctx.position,
28341
28344
  class: normalizeClass(["vue-flow__minimap", { pannable: _ctx.pannable, zoomable: _ctx.zoomable }])
28342
28345
  }, {
@@ -28435,7 +28438,7 @@ function useCanvasNode() {
28435
28438
  const executionStatus = computed(() => data.value.execution.status);
28436
28439
  const executionWaiting = computed(() => data.value.execution.waiting);
28437
28440
  const executionRunning = computed(() => data.value.execution.running);
28438
- const executionRunningThrottled = refThrottled(executionRunning, 300);
28441
+ const executionRunningThrottled = refThrottled(executionRunning, 50);
28439
28442
  const runDataOutputMap = computed(() => data.value.runData.outputMap);
28440
28443
  const runDataIterations = computed(() => data.value.runData.iterations);
28441
28444
  const hasRunData = computed(() => data.value.runData.visible);
@@ -28470,7 +28473,7 @@ function useCanvasNode() {
28470
28473
  }
28471
28474
  const _hoisted_1$8 = ["title"];
28472
28475
  const _hoisted_2$3 = ["onClick"];
28473
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
28476
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
28474
28477
  __name: "CanvasNodeStickyColorSelector",
28475
28478
  emits: ["update"],
28476
28479
  setup(__props, { emit: __emit }) {
@@ -28565,7 +28568,7 @@ const content = "_content_11z2c_7";
28565
28568
  const color = "_color_11z2c_14";
28566
28569
  const selected$2 = "_selected_11z2c_26";
28567
28570
  const option = "_option_11z2c_51";
28568
- const style0$l = {
28571
+ const style0$n = {
28569
28572
  popover,
28570
28573
  content,
28571
28574
  color,
@@ -28579,11 +28582,11 @@ const style0$l = {
28579
28582
  "sticky-color-7": "_sticky-color-7_11z2c_47",
28580
28583
  option
28581
28584
  };
28582
- const cssModules$l = {
28583
- "$style": style0$l
28585
+ const cssModules$n = {
28586
+ "$style": style0$n
28584
28587
  };
28585
- const __unplugin_components_0$3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__cssModules", cssModules$l]]);
28586
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
28588
+ const __unplugin_components_0$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__cssModules", cssModules$n]]);
28589
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
28587
28590
  __name: "CanvasNodeToolbar",
28588
28591
  props: {
28589
28592
  readOnly: { type: Boolean }
@@ -28632,7 +28635,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
28632
28635
  }
28633
28636
  return (_ctx, _cache) => {
28634
28637
  const _component_N8nIconButton = resolveComponent("N8nIconButton");
28635
- const _component_CanvasNodeStickyColorSelector = __unplugin_components_0$3;
28638
+ const _component_CanvasNodeStickyColorSelector = __unplugin_components_0$4;
28636
28639
  return openBlock(), createElementBlock("div", {
28637
28640
  class: normalizeClass(classes.value)
28638
28641
  }, [
@@ -28689,63 +28692,15 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
28689
28692
  });
28690
28693
  const canvasNodeToolbar$1 = "_canvasNodeToolbar_166py_1";
28691
28694
  const canvasNodeToolbarItems = "_canvasNodeToolbarItems_166py_8";
28692
- const style0$k = {
28695
+ const style0$m = {
28693
28696
  canvasNodeToolbar: canvasNodeToolbar$1,
28694
28697
  canvasNodeToolbarItems
28695
28698
  };
28696
- const cssModules$k = {
28697
- "$style": style0$k
28699
+ const cssModules$m = {
28700
+ "$style": style0$m
28698
28701
  };
28699
- const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$k]]);
28700
- function useNodeConnections({
28701
- inputs: inputs2,
28702
- outputs: outputs2,
28703
- connections: connections2
28704
- }) {
28705
- const mainInputs = computed(
28706
- () => unref(inputs2).filter((input) => input.type === NodeConnectionType.Main)
28707
- );
28708
- const nonMainInputs = computed(
28709
- () => unref(inputs2).filter((input) => input.type !== NodeConnectionType.Main)
28710
- );
28711
- const requiredNonMainInputs = computed(
28712
- () => nonMainInputs.value.filter((input) => input.required)
28713
- );
28714
- const mainInputConnections = computed(
28715
- () => unref(connections2)[CanvasConnectionMode.Input][NodeConnectionType.Main] ?? []
28716
- );
28717
- const mainOutputs = computed(
28718
- () => unref(outputs2).filter((output) => output.type === NodeConnectionType.Main)
28719
- );
28720
- const nonMainOutputs = computed(
28721
- () => unref(outputs2).filter((output) => output.type !== NodeConnectionType.Main)
28722
- );
28723
- const mainOutputConnections = computed(
28724
- () => unref(connections2)[CanvasConnectionMode.Output][NodeConnectionType.Main] ?? []
28725
- );
28726
- function isValidConnection(connection) {
28727
- const { type: sourceType, mode: sourceMode } = parseCanvasConnectionHandleString(
28728
- connection.sourceHandle
28729
- );
28730
- const { type: targetType, mode: targetMode } = parseCanvasConnectionHandleString(
28731
- connection.targetHandle
28732
- );
28733
- const isSameMode = sourceMode === targetMode;
28734
- const isSameType = sourceType === targetType;
28735
- return !isSameMode && isSameType;
28736
- }
28737
- return {
28738
- mainInputs,
28739
- nonMainInputs,
28740
- requiredNonMainInputs,
28741
- mainInputConnections,
28742
- mainOutputs,
28743
- nonMainOutputs,
28744
- mainOutputConnections,
28745
- isValidConnection
28746
- };
28747
- }
28748
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
28702
+ const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$v, [["__cssModules", cssModules$m]]);
28703
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
28749
28704
  __name: "CanvasNodeDisabledStrikeThrough",
28750
28705
  setup(__props) {
28751
28706
  const $style = useCssModule();
@@ -28765,18 +28720,18 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
28765
28720
  });
28766
28721
  const disabledStrikeThrough = "_disabledStrikeThrough_8cj0z_1";
28767
28722
  const success$2 = "_success_8cj0z_10";
28768
- const style0$j = {
28723
+ const style0$l = {
28769
28724
  disabledStrikeThrough,
28770
28725
  success: success$2
28771
28726
  };
28772
- const cssModules$j = {
28773
- "$style": style0$j
28727
+ const cssModules$l = {
28728
+ "$style": style0$l
28774
28729
  };
28775
- const CanvasNodeDisabledStrikeThrough = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["__cssModules", cssModules$j]]);
28730
+ const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__cssModules", cssModules$l]]);
28776
28731
  const _hoisted_1$7 = { key: 1 };
28777
28732
  const _hoisted_2$2 = ["textContent"];
28778
28733
  const _hoisted_3$1 = { key: 3 };
28779
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
28734
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
28780
28735
  __name: "CanvasNodeStatusIcons",
28781
28736
  setup(__props) {
28782
28737
  const nodeHelpers = useNodeHelpers();
@@ -28876,7 +28831,7 @@ const pinnedData = "_pinnedData_l067o_16";
28876
28831
  const running$1 = "_running_l067o_20";
28877
28832
  const issues = "_issues_l067o_43";
28878
28833
  const count = "_count_l067o_48";
28879
- const style0$i = {
28834
+ const style0$k = {
28880
28835
  status,
28881
28836
  runData,
28882
28837
  waiting: waiting$1,
@@ -28886,10 +28841,135 @@ const style0$i = {
28886
28841
  issues,
28887
28842
  count
28888
28843
  };
28844
+ const cssModules$k = {
28845
+ "$style": style0$k
28846
+ };
28847
+ const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$k]]);
28848
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
28849
+ __name: "CanvasNodeTriggerIcon",
28850
+ setup(__props) {
28851
+ const i18n2 = useI18n();
28852
+ return (_ctx, _cache) => {
28853
+ const _component_FontAwesomeIcon = resolveComponent("FontAwesomeIcon");
28854
+ const _component_N8nTooltip = resolveComponent("N8nTooltip");
28855
+ const _directive_n8n_html = resolveDirective("n8n-html");
28856
+ return openBlock(), createBlock(_component_N8nTooltip, { placement: "bottom" }, {
28857
+ content: withCtx(() => [
28858
+ withDirectives(createBaseVNode("span", null, null, 512), [
28859
+ [_directive_n8n_html, unref(i18n2).baseText("node.thisIsATriggerNode")]
28860
+ ])
28861
+ ]),
28862
+ default: withCtx(() => [
28863
+ createBaseVNode("div", {
28864
+ class: normalizeClass(_ctx.$style.triggerIcon)
28865
+ }, [
28866
+ createVNode(_component_FontAwesomeIcon, {
28867
+ icon: "bolt",
28868
+ size: "lg"
28869
+ })
28870
+ ], 2)
28871
+ ]),
28872
+ _: 1
28873
+ });
28874
+ };
28875
+ }
28876
+ });
28877
+ const triggerIcon = "_triggerIcon_5iv33_1";
28878
+ const style0$j = {
28879
+ triggerIcon
28880
+ };
28881
+ const cssModules$j = {
28882
+ "$style": style0$j
28883
+ };
28884
+ const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["__cssModules", cssModules$j]]);
28885
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
28886
+ __name: "CanvasNodeTooltip",
28887
+ props: {
28888
+ visible: { type: Boolean }
28889
+ },
28890
+ setup(__props) {
28891
+ const { render: render2 } = useCanvasNode();
28892
+ const renderOptions = computed(() => render2.value.options);
28893
+ return (_ctx, _cache) => {
28894
+ const _component_N8nTooltip = resolveComponent("N8nTooltip");
28895
+ return openBlock(), createBlock(_component_N8nTooltip, {
28896
+ placement: "top",
28897
+ "show-after": 500,
28898
+ visible: true,
28899
+ teleported: false,
28900
+ "popper-class": _ctx.$style.popper
28901
+ }, {
28902
+ content: withCtx(() => [
28903
+ createTextVNode(toDisplayString(renderOptions.value.tooltip), 1)
28904
+ ]),
28905
+ default: withCtx(() => [
28906
+ createBaseVNode("div", {
28907
+ class: normalizeClass(_ctx.$style.tooltipTrigger)
28908
+ }, null, 2)
28909
+ ]),
28910
+ _: 1
28911
+ }, 8, ["popper-class"]);
28912
+ };
28913
+ }
28914
+ });
28915
+ const tooltipTrigger = "_tooltipTrigger_1e5ow_1";
28916
+ const popper = "_popper_1e5ow_9";
28917
+ const style0$i = {
28918
+ tooltipTrigger,
28919
+ popper
28920
+ };
28889
28921
  const cssModules$i = {
28890
28922
  "$style": style0$i
28891
28923
  };
28892
- const CanvasNodeStatusIcons = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__cssModules", cssModules$i]]);
28924
+ const __unplugin_components_0$3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__cssModules", cssModules$i]]);
28925
+ function useNodeConnections({
28926
+ inputs: inputs2,
28927
+ outputs: outputs2,
28928
+ connections: connections2
28929
+ }) {
28930
+ const mainInputs = computed(
28931
+ () => unref(inputs2).filter((input) => input.type === NodeConnectionType.Main)
28932
+ );
28933
+ const nonMainInputs = computed(
28934
+ () => unref(inputs2).filter((input) => input.type !== NodeConnectionType.Main)
28935
+ );
28936
+ const requiredNonMainInputs = computed(
28937
+ () => nonMainInputs.value.filter((input) => input.required)
28938
+ );
28939
+ const mainInputConnections = computed(
28940
+ () => unref(connections2)[CanvasConnectionMode.Input][NodeConnectionType.Main] ?? []
28941
+ );
28942
+ const mainOutputs = computed(
28943
+ () => unref(outputs2).filter((output) => output.type === NodeConnectionType.Main)
28944
+ );
28945
+ const nonMainOutputs = computed(
28946
+ () => unref(outputs2).filter((output) => output.type !== NodeConnectionType.Main)
28947
+ );
28948
+ const mainOutputConnections = computed(
28949
+ () => unref(connections2)[CanvasConnectionMode.Output][NodeConnectionType.Main] ?? []
28950
+ );
28951
+ function isValidConnection(connection) {
28952
+ const { type: sourceType, mode: sourceMode } = parseCanvasConnectionHandleString(
28953
+ connection.sourceHandle
28954
+ );
28955
+ const { type: targetType, mode: targetMode } = parseCanvasConnectionHandleString(
28956
+ connection.targetHandle
28957
+ );
28958
+ const isSameMode = sourceMode === targetMode;
28959
+ const isSameType = sourceType === targetType;
28960
+ return !isSameMode && isSameType;
28961
+ }
28962
+ return {
28963
+ mainInputs,
28964
+ nonMainInputs,
28965
+ requiredNonMainInputs,
28966
+ mainInputConnections,
28967
+ mainOutputs,
28968
+ nonMainOutputs,
28969
+ mainOutputConnections,
28970
+ isValidConnection
28971
+ };
28972
+ }
28893
28973
  const _hoisted_1$6 = ["data-test-id"];
28894
28974
  const _sfc_main$q = /* @__PURE__ */ defineComponent({
28895
28975
  __name: "CanvasNodeDefault",
@@ -28898,6 +28978,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
28898
28978
  const $style = useCssModule();
28899
28979
  const i18n2 = useI18n();
28900
28980
  const emit = __emit;
28981
+ const { initialized, viewport } = useCanvas();
28901
28982
  const {
28902
28983
  label: label2,
28903
28984
  subtitle: subtitle2,
@@ -28968,45 +29049,43 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
28968
29049
  const isSingleMainOutputNode = mainOutputs.value.length === 1 && mainOutputConnections.value.length <= 1;
28969
29050
  return isDisabled.value && isSingleMainInputNode && isSingleMainOutputNode;
28970
29051
  });
29052
+ const showTooltip = ref(false);
29053
+ watch(initialized, () => {
29054
+ if (initialized.value) {
29055
+ showTooltip.value = true;
29056
+ }
29057
+ });
29058
+ watch(viewport, () => {
29059
+ showTooltip.value = false;
29060
+ setTimeout(() => {
29061
+ showTooltip.value = true;
29062
+ }, 0);
29063
+ });
28971
29064
  function openContextMenu(event) {
28972
29065
  emit("open:contextmenu", event);
28973
29066
  }
28974
29067
  return (_ctx, _cache) => {
28975
- const _component_FontAwesomeIcon = resolveComponent("FontAwesomeIcon");
28976
- const _directive_n8n_html = resolveDirective("n8n-html");
29068
+ const _component_CanvasNodeTooltip = __unplugin_components_0$3;
29069
+ const _component_CanvasNodeTriggerIcon = __unplugin_components_1;
29070
+ const _component_CanvasNodeStatusIcons = __unplugin_components_2;
29071
+ const _component_CanvasNodeDisabledStrikeThrough = __unplugin_components_3;
28977
29072
  return openBlock(), createElementBlock("div", {
28978
29073
  class: normalizeClass(classes.value),
28979
29074
  style: normalizeStyle(styles.value),
28980
29075
  "data-test-id": dataTestId.value,
28981
29076
  onContextmenu: openContextMenu
28982
29077
  }, [
28983
- renderSlot(_ctx.$slots, "default"),
28984
- renderOptions.value.trigger ? (openBlock(), createBlock(unref(N8nTooltip), {
29078
+ renderOptions.value.tooltip ? (openBlock(), createBlock(_component_CanvasNodeTooltip, {
28985
29079
  key: 0,
28986
- placement: "bottom"
28987
- }, {
28988
- content: withCtx(() => [
28989
- withDirectives(createBaseVNode("span", null, null, 512), [
28990
- [_directive_n8n_html, unref(i18n2).baseText("node.thisIsATriggerNode")]
28991
- ])
28992
- ]),
28993
- default: withCtx(() => [
28994
- createBaseVNode("div", {
28995
- class: normalizeClass(unref($style).triggerIcon)
28996
- }, [
28997
- createVNode(_component_FontAwesomeIcon, {
28998
- icon: "bolt",
28999
- size: "lg"
29000
- })
29001
- ], 2)
29002
- ]),
29003
- _: 1
29004
- })) : createCommentVNode("", true),
29005
- !unref(isDisabled) ? (openBlock(), createBlock(CanvasNodeStatusIcons, {
29006
- key: 1,
29080
+ visible: showTooltip.value
29081
+ }, null, 8, ["visible"])) : createCommentVNode("", true),
29082
+ renderSlot(_ctx.$slots, "default"),
29083
+ renderOptions.value.trigger ? (openBlock(), createBlock(_component_CanvasNodeTriggerIcon, { key: 1 })) : createCommentVNode("", true),
29084
+ !unref(isDisabled) ? (openBlock(), createBlock(_component_CanvasNodeStatusIcons, {
29085
+ key: 2,
29007
29086
  class: normalizeClass(unref($style).statusIcons)
29008
29087
  }, null, 8, ["class"])) : createCommentVNode("", true),
29009
- isStrikethroughVisible.value ? (openBlock(), createBlock(CanvasNodeDisabledStrikeThrough, { key: 2 })) : createCommentVNode("", true),
29088
+ isStrikethroughVisible.value ? (openBlock(), createBlock(_component_CanvasNodeDisabledStrikeThrough, { key: 3 })) : createCommentVNode("", true),
29010
29089
  createBaseVNode("div", {
29011
29090
  class: normalizeClass(unref($style).description)
29012
29091
  }, [
@@ -29027,23 +29106,22 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
29027
29106
  };
29028
29107
  }
29029
29108
  });
29030
- const node = "_node_ow105_1";
29031
- const trigger = "_trigger_ow105_32";
29032
- const configuration = "_configuration_ow105_35";
29033
- const statusIcons = "_statusIcons_ow105_42";
29034
- const configurable = "_configurable_ow105_45";
29035
- const description = "_description_ow105_52";
29036
- const label$5 = "_label_ow105_61";
29037
- const selected$1 = "_selected_ow105_71";
29038
- const success$1 = "_success_ow105_74";
29039
- const error = "_error_ow105_77";
29040
- const pinned = "_pinned_ow105_80";
29041
- const disabled = "_disabled_ow105_83";
29042
- const running = "_running_ow105_86";
29043
- const waiting = "_waiting_ow105_90";
29044
- const disabledLabel = "_disabledLabel_ow105_107";
29045
- const subtitle = "_subtitle_ow105_120";
29046
- const triggerIcon = "_triggerIcon_ow105_138";
29109
+ const node = "_node_jxon2_1";
29110
+ const trigger = "_trigger_jxon2_33";
29111
+ const configuration = "_configuration_jxon2_36";
29112
+ const statusIcons = "_statusIcons_jxon2_43";
29113
+ const configurable = "_configurable_jxon2_46";
29114
+ const description = "_description_jxon2_53";
29115
+ const label$5 = "_label_jxon2_62";
29116
+ const selected$1 = "_selected_jxon2_72";
29117
+ const success$1 = "_success_jxon2_75";
29118
+ const error = "_error_jxon2_78";
29119
+ const pinned = "_pinned_jxon2_81";
29120
+ const disabled = "_disabled_jxon2_84";
29121
+ const running = "_running_jxon2_87";
29122
+ const waiting = "_waiting_jxon2_91";
29123
+ const disabledLabel = "_disabledLabel_jxon2_108";
29124
+ const subtitle = "_subtitle_jxon2_121";
29047
29125
  const style0$h = {
29048
29126
  node,
29049
29127
  trigger,
@@ -29060,8 +29138,7 @@ const style0$h = {
29060
29138
  running,
29061
29139
  waiting,
29062
29140
  disabledLabel,
29063
- subtitle,
29064
- triggerIcon
29141
+ subtitle
29065
29142
  };
29066
29143
  const cssModules$h = {
29067
29144
  "$style": style0$h
@@ -30681,6 +30758,7 @@ function useCanvasNodeHandle() {
30681
30758
  const isConnecting = computed(() => (handle2 == null ? void 0 : handle2.isConnecting.value) ?? false);
30682
30759
  const isReadOnly = computed(() => handle2 == null ? void 0 : handle2.isReadOnly.value);
30683
30760
  const isRequired = computed(() => handle2 == null ? void 0 : handle2.isRequired.value);
30761
+ const maxConnections = computed(() => handle2 == null ? void 0 : handle2.maxConnections.value);
30684
30762
  const type = computed(() => (handle2 == null ? void 0 : handle2.type.value) ?? NodeConnectionType.Main);
30685
30763
  const mode = computed(() => (handle2 == null ? void 0 : handle2.mode.value) ?? CanvasConnectionMode.Input);
30686
30764
  const index = computed(() => (handle2 == null ? void 0 : handle2.index.value) ?? 0);
@@ -30691,6 +30769,7 @@ function useCanvasNodeHandle() {
30691
30769
  isConnecting,
30692
30770
  isReadOnly,
30693
30771
  isRequired,
30772
+ maxConnections,
30694
30773
  type,
30695
30774
  mode,
30696
30775
  index,
@@ -30855,11 +30934,11 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
30855
30934
  };
30856
30935
  }
30857
30936
  });
30858
- const wrapper$1 = "_wrapper_uls3v_1";
30859
- const secondary = "_secondary_uls3v_4";
30860
- const line = "_line_uls3v_4";
30861
- const plus$1 = "_plus_uls3v_7";
30862
- const success = "_success_uls3v_13";
30937
+ const wrapper$1 = "_wrapper_ektk2_1";
30938
+ const secondary = "_secondary_ektk2_4";
30939
+ const line = "_line_ektk2_4";
30940
+ const plus$1 = "_plus_ektk2_7";
30941
+ const success = "_success_ektk2_13";
30863
30942
  const style0$c = {
30864
30943
  wrapper: wrapper$1,
30865
30944
  secondary,
@@ -31032,18 +31111,17 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
31032
31111
  setup(__props, { emit: __emit }) {
31033
31112
  const emit = __emit;
31034
31113
  const $style = useCssModule();
31035
- const { label: label2, isConnected, isConnecting, isRequired, type } = useCanvasNodeHandle();
31114
+ const { label: label2, isConnected, isConnecting, isRequired, maxConnections } = useCanvasNodeHandle();
31036
31115
  const classes = computed(() => ({
31037
31116
  "canvas-node-handle-non-main-input": true,
31038
31117
  [$style.handle]: true,
31039
31118
  [$style.required]: isRequired.value
31040
31119
  }));
31041
- const supportsMultipleConnections = computed(() => type.value === NodeConnectionType.AiTool);
31042
31120
  const isHandlePlusAvailable = computed(
31043
- () => !isConnected.value || supportsMultipleConnections.value
31121
+ () => !isConnected.value || !maxConnections.value || maxConnections.value > 1
31044
31122
  );
31045
31123
  const isHandlePlusVisible = computed(
31046
- () => !isConnecting.value || isHovered.value || supportsMultipleConnections.value
31124
+ () => !isConnecting.value || isHovered.value || !maxConnections.value || maxConnections.value > 1
31047
31125
  );
31048
31126
  const isHovered = ref(false);
31049
31127
  function onMouseEnter() {
@@ -31210,6 +31288,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
31210
31288
  const type = toRef(props, "type");
31211
31289
  const index = toRef(props, "index");
31212
31290
  const isRequired = toRef(props, "required");
31291
+ const maxConnections = toRef(props, "maxConnections");
31213
31292
  provide(CanvasNodeHandleKey, {
31214
31293
  label: label2,
31215
31294
  mode,
@@ -31219,7 +31298,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
31219
31298
  isRequired,
31220
31299
  isConnected,
31221
31300
  isConnecting,
31222
- isReadOnly
31301
+ isReadOnly,
31302
+ maxConnections
31223
31303
  });
31224
31304
  return (_ctx, _cache) => {
31225
31305
  return openBlock(), createBlock(unref(_sfc_main$f$1), mergeProps(_ctx.$attrs, {
@@ -31236,10 +31316,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
31236
31316
  createVNode(RenderType, {
31237
31317
  class: normalizeClass(renderTypeClasses.value),
31238
31318
  "is-connected": isConnected.value,
31319
+ "max-connections": maxConnections.value,
31239
31320
  style: normalizeStyle(_ctx.offset),
31240
31321
  label: label2.value,
31241
31322
  onAdd: onAdd2
31242
- }, null, 8, ["class", "is-connected", "style", "label"])
31323
+ }, null, 8, ["class", "is-connected", "max-connections", "style", "label"])
31243
31324
  ]),
31244
31325
  _: 1
31245
31326
  }, 16, ["id", "class", "type", "position", "style", "connectable-start", "connectable-end", "is-valid-connection"]);
@@ -31292,11 +31373,14 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
31292
31373
  data: {},
31293
31374
  events: {},
31294
31375
  readOnly: { type: Boolean },
31295
- eventBus: {}
31376
+ eventBus: {},
31377
+ hovered: { type: Boolean },
31378
+ bringToFront: { type: Boolean }
31296
31379
  },
31297
31380
  emits: ["add", "delete", "run", "select", "toggle", "activate", "open:contextmenu", "update", "move"],
31298
31381
  setup(__props, { emit: __emit }) {
31299
31382
  const emit = __emit;
31383
+ const style = useCssModule();
31300
31384
  const props = __props;
31301
31385
  const nodeTypesStore = useNodeTypesStore();
31302
31386
  const contextMenu2 = useContextMenu();
@@ -31313,6 +31397,13 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
31313
31397
  const nodeTypeDescription = computed(() => {
31314
31398
  return nodeTypesStore.getNodeType(props.data.type, props.data.typeVersion);
31315
31399
  });
31400
+ const classes = computed(() => ({
31401
+ [style.canvasNode]: true,
31402
+ [style.showToolbar]: showToolbar2.value,
31403
+ hovered: props.hovered,
31404
+ selected: props.selected,
31405
+ "bring-to-front": props.bringToFront
31406
+ }));
31316
31407
  const canvasNodeEventBus = ref(createEventBus());
31317
31408
  function emitCanvasNodeEvent(event) {
31318
31409
  if (event.ids.includes(props.id)) {
@@ -31443,7 +31534,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
31443
31534
  });
31444
31535
  return (_ctx, _cache) => {
31445
31536
  return openBlock(), createElementBlock("div", {
31446
- class: normalizeClass([_ctx.$style.canvasNode, { [_ctx.$style.showToolbar]: showToolbar2.value }]),
31537
+ class: normalizeClass(classes.value),
31447
31538
  "data-test-id": "canvas-node",
31448
31539
  "data-node-type": data.value.type
31449
31540
  }, [
@@ -31493,7 +31584,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
31493
31584
  "onOpen:contextmenu": onOpenContextMenuFromNode
31494
31585
  }, {
31495
31586
  default: withCtx(() => [
31496
- createVNode(_sfc_main$11, {
31587
+ createVNode(_sfc_main$13, {
31497
31588
  "node-type": nodeTypeDescription.value,
31498
31589
  size: nodeIconSize.value,
31499
31590
  shrink: false,
@@ -31611,28 +31702,19 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
31611
31702
  targetX: {},
31612
31703
  targetY: {},
31613
31704
  readOnly: { type: Boolean },
31614
- hovered: { type: Boolean }
31705
+ hovered: { type: Boolean },
31706
+ bringToFront: { type: Boolean }
31615
31707
  },
31616
- emits: ["add", "delete"],
31708
+ emits: ["add", "delete", "update:hovered"],
31617
31709
  setup(__props, { emit: __emit }) {
31618
31710
  const emit = __emit;
31619
31711
  const props = __props;
31620
31712
  const data = toRef(props, "data");
31621
- const { onEdgeMouseEnter, onEdgeMouseLeave } = useVueFlow();
31622
- const isHovered = ref(false);
31623
- onEdgeMouseEnter(({ edge: edge2 }) => {
31624
- if (edge2.id !== props.id) return;
31625
- isHovered.value = true;
31626
- });
31627
- onEdgeMouseLeave(({ edge: edge2 }) => {
31628
- if (edge2.id !== props.id) return;
31629
- isHovered.value = false;
31630
- });
31631
31713
  const $style = useCssModule();
31632
31714
  const connectionType2 = computed(
31633
31715
  () => isValidNodeConnectionType(props.data.source.type) ? props.data.source.type : NodeConnectionType.Main
31634
31716
  );
31635
- const renderToolbar = computed(() => isHovered.value && !props.readOnly);
31717
+ const renderToolbar = computed(() => props.hovered && !props.readOnly);
31636
31718
  const isMainConnection = computed(() => data.value.source.type === NodeConnectionType.Main);
31637
31719
  const status2 = computed(() => props.data.status);
31638
31720
  const edgeColor = computed(() => {
@@ -31654,20 +31736,20 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
31654
31736
  ...props.style,
31655
31737
  ...isMainConnection.value ? {} : { strokeDasharray: "8,8" },
31656
31738
  strokeWidth: 2,
31657
- stroke: isHovered.value ? "var(--color-primary)" : edgeColor.value
31739
+ stroke: props.hovered ? "var(--color-primary)" : edgeColor.value
31658
31740
  }));
31659
31741
  const edgeClasses = computed(() => ({
31660
31742
  [$style.edge]: true,
31661
- hovered: isHovered.value
31743
+ hovered: props.hovered,
31744
+ "bring-to-front": props.bringToFront
31662
31745
  }));
31663
31746
  const edgeLabelStyle = computed(() => ({
31664
31747
  color: edgeColor.value
31665
31748
  }));
31666
31749
  const edgeToolbarStyle = computed(() => {
31667
- const [, labelX, labelY] = path.value;
31668
31750
  return {
31669
- transform: `translate(-50%, -50%) translate(${labelX}px,${labelY}px)`,
31670
- ...isHovered.value ? { zIndex: 1 } : {}
31751
+ transform: `translate(-50%, -50%) translate(${labelPosition.value[0]}px,${labelPosition.value[1]}px)`,
31752
+ ...props.hovered ? { zIndex: 1 } : {}
31671
31753
  };
31672
31754
  });
31673
31755
  const edgeToolbarClasses = computed(() => ({
@@ -31675,11 +31757,13 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
31675
31757
  "vue-flow__edge-label": true,
31676
31758
  selected: props.selected
31677
31759
  }));
31678
- const path = computed(
31679
- () => getCustomPath(props, {
31760
+ const renderData = computed(
31761
+ () => getEdgeRenderData(props, {
31680
31762
  connectionType: connectionType2.value
31681
31763
  })
31682
31764
  );
31765
+ const segments = computed(() => renderData.value.segments);
31766
+ const labelPosition = computed(() => renderData.value.labelPosition);
31683
31767
  const connection = computed(() => ({
31684
31768
  source: props.source,
31685
31769
  target: props.target,
@@ -31692,16 +31776,25 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
31692
31776
  function onDelete() {
31693
31777
  emit("delete", connection.value);
31694
31778
  }
31779
+ function onEdgeLabelMouseEnter() {
31780
+ emit("update:hovered", true);
31781
+ }
31782
+ function onEdgeLabelMouseLeave() {
31783
+ emit("update:hovered", false);
31784
+ }
31695
31785
  return (_ctx, _cache) => {
31696
31786
  return openBlock(), createElementBlock(Fragment, null, [
31697
- createVNode(unref(_sfc_main$d$1), {
31698
- id: _ctx.id,
31699
- class: normalizeClass(edgeClasses.value),
31700
- style: normalizeStyle(edgeStyle.value),
31701
- path: path.value[0],
31702
- "marker-end": _ctx.markerEnd,
31703
- "interaction-width": 40
31704
- }, null, 8, ["id", "class", "style", "path", "marker-end"]),
31787
+ (openBlock(true), createElementBlock(Fragment, null, renderList(segments.value, (segment, index) => {
31788
+ return openBlock(), createBlock(unref(_sfc_main$d$1), {
31789
+ id: `${_ctx.id}-${index}`,
31790
+ key: segment[0],
31791
+ class: normalizeClass(edgeClasses.value),
31792
+ style: normalizeStyle(edgeStyle.value),
31793
+ path: segment[0],
31794
+ "marker-end": _ctx.markerEnd,
31795
+ "interaction-width": 40
31796
+ }, null, 8, ["id", "class", "style", "path", "marker-end"]);
31797
+ }), 128)),
31705
31798
  createVNode(unref(_sfc_main$3$1), null, {
31706
31799
  default: withCtx(() => {
31707
31800
  var _a, _b;
@@ -31713,8 +31806,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
31713
31806
  "data-edge-status": status2.value,
31714
31807
  style: normalizeStyle(edgeToolbarStyle.value),
31715
31808
  class: normalizeClass(edgeToolbarClasses.value),
31716
- onMouseenter: _cache[0] || (_cache[0] = ($event) => isHovered.value = true),
31717
- onMouseleave: _cache[1] || (_cache[1] = ($event) => isHovered.value = false)
31809
+ onMouseenter: onEdgeLabelMouseEnter,
31810
+ onMouseleave: onEdgeLabelMouseLeave
31718
31811
  }, [
31719
31812
  renderToolbar.value ? (openBlock(), createBlock(CanvasEdgeToolbar, {
31720
31813
  key: 0,
@@ -31963,8 +32056,14 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31963
32056
  project,
31964
32057
  nodes: graphNodes,
31965
32058
  onPaneReady,
32059
+ onNodesInitialized,
31966
32060
  findNode,
31967
- viewport
32061
+ viewport,
32062
+ onEdgeMouseLeave,
32063
+ onEdgeMouseEnter,
32064
+ onEdgeMouseMove,
32065
+ onNodeMouseEnter,
32066
+ onNodeMouseLeave
31968
32067
  } = vueFlow;
31969
32068
  const {
31970
32069
  getIncomingNodes,
@@ -32083,6 +32182,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32083
32182
  function onNodeDragStop(event) {
32084
32183
  onUpdateNodesPosition(event.nodes.map(({ id: id2, position: position2 }) => ({ id: id2, position: position2 })));
32085
32184
  }
32185
+ function onSelectionDragStop(event) {
32186
+ onUpdateNodesPosition(event.nodes.map(({ id: id2, position: position2 }) => ({ id: id2, position: position2 })));
32187
+ }
32086
32188
  function onSetNodeActive(id2) {
32087
32189
  props.eventBus.emit("nodes:action", { ids: [id2], action: "update:node:active" });
32088
32190
  emit("update:node:active", id2);
@@ -32136,6 +32238,43 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32136
32238
  emit("click:connection:add", connection);
32137
32239
  }
32138
32240
  const arrowHeadMarkerId = ref("custom-arrow-head");
32241
+ const edgesHoveredById = ref({});
32242
+ const edgesBringToFrontById = ref({});
32243
+ const nodesHoveredById = ref({});
32244
+ onEdgeMouseEnter(({ edge: edge2 }) => {
32245
+ edgesBringToFrontById.value = { [edge2.id]: true };
32246
+ edgesHoveredById.value = { [edge2.id]: true };
32247
+ });
32248
+ onEdgeMouseMove(
32249
+ useThrottleFn(({ edge: edge2, event }) => {
32250
+ const type = edge2.data.source.type;
32251
+ if (type !== NodeConnectionType.AiTool) {
32252
+ return;
32253
+ }
32254
+ if (!edge2.data.maxConnections || edge2.data.maxConnections > 1) {
32255
+ const projectedPosition = getProjectedPosition(event);
32256
+ const yDiff = projectedPosition.y - edge2.targetY;
32257
+ if (yDiff < 4 * GRID_SIZE) {
32258
+ edgesBringToFrontById.value = { [edge2.id]: false };
32259
+ } else {
32260
+ edgesBringToFrontById.value = { [edge2.id]: true };
32261
+ }
32262
+ }
32263
+ }, 100)
32264
+ );
32265
+ onEdgeMouseLeave(({ edge: edge2 }) => {
32266
+ edgesBringToFrontById.value = { [edge2.id]: false };
32267
+ edgesHoveredById.value = { [edge2.id]: false };
32268
+ });
32269
+ onNodeMouseEnter(({ node: node2 }) => {
32270
+ nodesHoveredById.value = { [node2.id]: true };
32271
+ });
32272
+ onNodeMouseLeave(({ node: node2 }) => {
32273
+ nodesHoveredById.value = { [node2.id]: false };
32274
+ });
32275
+ function onUpdateEdgeHovered(id2, hovered) {
32276
+ edgesHoveredById.value[id2] = hovered;
32277
+ }
32139
32278
  function onRunNode(id2) {
32140
32279
  emit("run:node", id2);
32141
32280
  }
@@ -32153,7 +32292,6 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32153
32292
  }
32154
32293
  };
32155
32294
  }
32156
- const zoom2 = ref(defaultZoom);
32157
32295
  const isPaneMoving = ref(false);
32158
32296
  function getProjectedPosition(event) {
32159
32297
  var _a;
@@ -32183,9 +32321,6 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32183
32321
  async function onResetZoom() {
32184
32322
  await onZoomTo(defaultZoom);
32185
32323
  }
32186
- function onViewportChange(viewport2) {
32187
- zoom2.value = viewport2.zoom;
32188
- }
32189
32324
  function setReadonly(value) {
32190
32325
  setInteractive(!value);
32191
32326
  elementsSelectable.value = true;
@@ -32270,6 +32405,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32270
32405
  function onMinimapMouseLeave() {
32271
32406
  hideMinimap();
32272
32407
  }
32408
+ const initialized = ref(false);
32273
32409
  onMounted(() => {
32274
32410
  props.eventBus.on("fitView", onFitView);
32275
32411
  props.eventBus.on("nodes:select", onSelectNodes);
@@ -32282,17 +32418,22 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32282
32418
  await onFitView();
32283
32419
  isPaneReady.value = true;
32284
32420
  });
32421
+ onNodesInitialized(() => {
32422
+ initialized.value = true;
32423
+ });
32285
32424
  watch(() => props.readOnly, setReadonly, {
32286
32425
  immediate: true
32287
32426
  });
32288
32427
  const isExecuting = toRef(props, "executing");
32289
32428
  provide(CanvasKey, {
32290
32429
  connectingHandle,
32291
- isExecuting
32430
+ isExecuting,
32431
+ initialized,
32432
+ viewport
32292
32433
  });
32293
32434
  return (_ctx, _cache) => {
32294
- const _component_CanvasConnectionLine = __unplugin_components_0$4;
32295
- const _component_CanvasControlButtons = _sfc_main$y;
32435
+ const _component_CanvasConnectionLine = __unplugin_components_0$5;
32436
+ const _component_CanvasControlButtons = _sfc_main$A;
32296
32437
  return openBlock(), createBlock(unref(_sfc_main$1$4), {
32297
32438
  id: _ctx.id,
32298
32439
  nodes: _ctx.nodes,
@@ -32316,15 +32457,17 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32316
32457
  onConnectEnd,
32317
32458
  onPaneClick: onClickPane,
32318
32459
  onContextmenu: onOpenContextMenu,
32319
- onViewportChange,
32320
32460
  onMoveStart: onPaneMoveStart,
32321
32461
  onMoveEnd: onPaneMoveEnd,
32322
- onNodeDragStop
32462
+ onNodeDragStop,
32463
+ onSelectionDragStop
32323
32464
  }, {
32324
- "node-canvas-node": withCtx((canvasNodeProps) => [
32325
- createVNode(Node, mergeProps(canvasNodeProps, {
32465
+ "node-canvas-node": withCtx((nodeProps) => [
32466
+ createVNode(Node, mergeProps(nodeProps, {
32326
32467
  "read-only": _ctx.readOnly,
32327
32468
  "event-bus": _ctx.eventBus,
32469
+ hovered: nodesHoveredById.value[nodeProps.id],
32470
+ "bring-to-front": nodesHoveredById.value[nodeProps.id],
32328
32471
  onDelete: onDeleteNode,
32329
32472
  onRun: onRunNode,
32330
32473
  onSelect: onSelectNode,
@@ -32334,22 +32477,25 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32334
32477
  onUpdate: onUpdateNodeParameters,
32335
32478
  onMove: onUpdateNodePosition,
32336
32479
  onAdd: onClickNodeAdd
32337
- }), null, 16, ["read-only", "event-bus"])
32480
+ }), null, 16, ["read-only", "event-bus", "hovered", "bring-to-front"])
32338
32481
  ]),
32339
- "edge-canvas-edge": withCtx((canvasEdgeProps) => [
32340
- createVNode(Edge, mergeProps(canvasEdgeProps, {
32482
+ "edge-canvas-edge": withCtx((edgeProps) => [
32483
+ createVNode(Edge, mergeProps(edgeProps, {
32341
32484
  "marker-end": `url(#${arrowHeadMarkerId.value})`,
32342
32485
  "read-only": _ctx.readOnly,
32486
+ hovered: edgesHoveredById.value[edgeProps.id],
32487
+ "bring-to-front": edgesBringToFrontById.value[edgeProps.id],
32343
32488
  onAdd: onClickConnectionAdd,
32344
- onDelete: onDeleteConnection
32345
- }), null, 16, ["marker-end", "read-only"])
32489
+ onDelete: onDeleteConnection,
32490
+ "onUpdate:hovered": ($event) => onUpdateEdgeHovered(edgeProps.id, $event)
32491
+ }), null, 16, ["marker-end", "read-only", "hovered", "bring-to-front", "onUpdate:hovered"])
32346
32492
  ]),
32347
32493
  "connection-line": withCtx((connectionLineProps) => [
32348
32494
  createVNode(_component_CanvasConnectionLine, normalizeProps(guardReactiveProps(connectionLineProps)), null, 16)
32349
32495
  ]),
32350
32496
  default: withCtx(() => [
32351
32497
  createVNode(_sfc_main$9, { id: arrowHeadMarkerId.value }, null, 8, ["id"]),
32352
- createVNode(unref(_sfc_main$w), {
32498
+ createVNode(unref(_sfc_main$y), {
32353
32499
  "data-test-id": "canvas-background",
32354
32500
  "pattern-color": "#aaa",
32355
32501
  gap: unref(GRID_SIZE)
@@ -32368,7 +32514,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32368
32514
  ]), 1032, ["gap"]),
32369
32515
  createVNode(Transition$2, { name: "minimap" }, {
32370
32516
  default: withCtx(() => [
32371
- withDirectives(createVNode(unref(_sfc_main$v), {
32517
+ withDirectives(createVNode(unref(_sfc_main$x), {
32372
32518
  "data-test-id": "canvas-minimap",
32373
32519
  "aria-label": "n8n Minimap",
32374
32520
  height: 120,
@@ -32392,7 +32538,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32392
32538
  position: _ctx.controlsPosition,
32393
32539
  "show-interactive": false,
32394
32540
  "show-bug-reporting-button": _ctx.showBugReportingButton,
32395
- zoom: zoom2.value,
32541
+ zoom: unref(viewport).zoom,
32396
32542
  onZoomToFit: onFitView,
32397
32543
  onZoomIn,
32398
32544
  onZoomOut,
@@ -32419,7 +32565,7 @@ const style0$2 = {
32419
32565
  const cssModules$2 = {
32420
32566
  "$style": style0$2
32421
32567
  };
32422
- const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-63d92ce2"]]);
32568
+ const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-a672bbf0"]]);
32423
32569
  function useCanvasMapping({
32424
32570
  nodes,
32425
32571
  connections: connections2,
@@ -32450,7 +32596,7 @@ function useCanvasMapping({
32450
32596
  return {
32451
32597
  type: CanvasNodeRenderType.Default,
32452
32598
  options: {
32453
- trigger: nodeTypesStore.isTriggerNode(node2.type),
32599
+ trigger: isTriggerNodeById.value[node2.id],
32454
32600
  configuration: nodeTypesStore.isConfigNode(workflowObject.value, node2, node2.type),
32455
32601
  configurable: nodeTypesStore.isConfigurableNode(workflowObject.value, node2, node2.type),
32456
32602
  inputs: {
@@ -32458,7 +32604,8 @@ function useCanvasMapping({
32458
32604
  },
32459
32605
  outputs: {
32460
32606
  labelSize: nodeOutputLabelSizeById.value[node2.id]
32461
- }
32607
+ },
32608
+ tooltip: nodeTooltipById.value[node2.id]
32462
32609
  }
32463
32610
  };
32464
32611
  }
@@ -32477,10 +32624,30 @@ function useCanvasMapping({
32477
32624
  return acc;
32478
32625
  }, {}) ?? {}
32479
32626
  );
32627
+ const nodeTypeDescriptionByNodeId = computed(
32628
+ () => nodes.value.reduce((acc, node2) => {
32629
+ acc[node2.id] = nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
32630
+ return acc;
32631
+ }, {})
32632
+ );
32633
+ const isTriggerNodeById = computed(
32634
+ () => nodes.value.reduce((acc, node2) => {
32635
+ acc[node2.id] = nodeTypesStore.isTriggerNode(node2.type);
32636
+ return acc;
32637
+ }, {})
32638
+ );
32639
+ const activeTriggerNodeCount = computed(
32640
+ () => nodes.value.filter(
32641
+ (node2) => {
32642
+ var _a;
32643
+ return ((_a = nodeTypeDescriptionByNodeId.value[node2.id]) == null ? void 0 : _a.eventTriggerDescription) !== "" && isTriggerNodeById.value[node2.id] && !node2.disabled;
32644
+ }
32645
+ ).length
32646
+ );
32480
32647
  const nodeSubtitleById = computed(() => {
32481
32648
  return nodes.value.reduce((acc, node2) => {
32482
32649
  try {
32483
- const nodeTypeDescription = nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
32650
+ const nodeTypeDescription = nodeTypeDescriptionByNodeId.value[node2.id];
32484
32651
  if (!nodeTypeDescription) {
32485
32652
  return acc;
32486
32653
  }
@@ -32496,7 +32663,7 @@ function useCanvasMapping({
32496
32663
  });
32497
32664
  const nodeInputsById = computed(
32498
32665
  () => nodes.value.reduce((acc, node2) => {
32499
- const nodeTypeDescription = nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
32666
+ const nodeTypeDescription = nodeTypeDescriptionByNodeId.value[node2.id];
32500
32667
  const workflowObjectNode = workflowObject.value.getNode(node2.name);
32501
32668
  acc[node2.id] = workflowObjectNode && nodeTypeDescription ? mapLegacyEndpointsToCanvasConnectionPort(
32502
32669
  getNodeInputs(
@@ -32545,7 +32712,7 @@ function useCanvasMapping({
32545
32712
  );
32546
32713
  const nodeOutputsById = computed(
32547
32714
  () => nodes.value.reduce((acc, node2) => {
32548
- const nodeTypeDescription = nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
32715
+ const nodeTypeDescription = nodeTypeDescriptionByNodeId.value[node2.id];
32549
32716
  const workflowObjectNode = workflowObject.value.getNode(node2.name);
32550
32717
  acc[node2.id] = workflowObjectNode && nodeTypeDescription ? mapLegacyEndpointsToCanvasConnectionPort(
32551
32718
  getNodeOutputs(
@@ -32564,6 +32731,28 @@ function useCanvasMapping({
32564
32731
  return acc;
32565
32732
  }, {})
32566
32733
  );
32734
+ const nodeTooltipById = computed(
32735
+ () => nodes.value.reduce((acc, node2) => {
32736
+ const nodeTypeDescription = nodeTypeDescriptionByNodeId.value[node2.id];
32737
+ if (nodeTypeDescription && isTriggerNodeById.value[node2.id]) {
32738
+ if (activeTriggerNodeCount.value !== 1 || !workflowsStore.isWorkflowRunning || !["new", "unknown", "waiting"].includes(nodeExecutionStatusById.value[node2.id])) {
32739
+ return acc;
32740
+ }
32741
+ if ("eventTriggerDescription" in nodeTypeDescription) {
32742
+ const nodeName = i18n2.shortNodeType(nodeTypeDescription.name);
32743
+ const { eventTriggerDescription } = nodeTypeDescription;
32744
+ acc[node2.id] = i18n2.nodeText().eventTriggerDescription(nodeName, eventTriggerDescription ?? "");
32745
+ } else {
32746
+ acc[node2.id] = i18n2.baseText("node.waitingForYouToCreateAnEventIn", {
32747
+ interpolate: {
32748
+ nodeType: nodeTypeDescription ? getTriggerNodeServiceName(nodeTypeDescription) : ""
32749
+ }
32750
+ });
32751
+ }
32752
+ }
32753
+ return acc;
32754
+ }, {})
32755
+ );
32567
32756
  const nodeExecutionRunningById = computed(
32568
32757
  () => nodes.value.reduce((acc, node2) => {
32569
32758
  acc[node2.id] = workflowsStore.isNodeExecuting(node2.name);
@@ -32792,26 +32981,30 @@ function useCanvasMapping({
32792
32981
  });
32793
32982
  function getConnectionData(connection) {
32794
32983
  var _a, _b, _c;
32795
- const fromNode = nodes.value.find((node2) => {
32796
- var _a2;
32797
- return node2.name === ((_a2 = connection.data) == null ? void 0 : _a2.fromNodeName);
32798
- });
32984
+ const { type, index } = parseCanvasConnectionHandleString(connection.sourceHandle);
32985
+ const runDataTotal = ((_c = (_b = (_a = nodeExecutionRunDataOutputMapById.value[connection.source]) == null ? void 0 : _a[type]) == null ? void 0 : _b[index]) == null ? void 0 : _c.total) ?? 0;
32799
32986
  let status2;
32800
- if (fromNode) {
32801
- const { type, index } = parseCanvasConnectionHandleString(connection.sourceHandle);
32802
- const runDataTotal = ((_c = (_b = (_a = nodeExecutionRunDataOutputMapById.value[fromNode.id]) == null ? void 0 : _a[type]) == null ? void 0 : _b[index]) == null ? void 0 : _c.total) ?? 0;
32803
- if (nodeExecutionRunningById.value[fromNode.id]) {
32804
- status2 = "running";
32805
- } else if (nodePinnedDataById.value[fromNode.id] && nodeExecutionRunDataById.value[fromNode.id]) {
32806
- status2 = "pinned";
32807
- } else if (nodeHasIssuesById.value[fromNode.id]) {
32808
- status2 = "error";
32809
- } else if (runDataTotal > 0) {
32810
- status2 = "success";
32987
+ if (nodeExecutionRunningById.value[connection.source]) {
32988
+ status2 = "running";
32989
+ } else if (nodePinnedDataById.value[connection.source] && nodeExecutionRunDataById.value[connection.source]) {
32990
+ status2 = "pinned";
32991
+ } else if (nodeHasIssuesById.value[connection.source]) {
32992
+ status2 = "error";
32993
+ } else if (runDataTotal > 0) {
32994
+ status2 = "success";
32995
+ }
32996
+ const maxConnections = [
32997
+ ...nodeInputsById.value[connection.source],
32998
+ ...nodeInputsById.value[connection.target]
32999
+ ].filter((port) => port.type === type).reduce((acc, port) => {
33000
+ if (port.maxConnections === void 0) {
33001
+ return acc;
32811
33002
  }
32812
- }
33003
+ return Math.min(acc ?? Infinity, port.maxConnections);
33004
+ }, void 0);
32813
33005
  return {
32814
33006
  ...connection.data,
33007
+ ...maxConnections ? { maxConnections } : {},
32815
33008
  status: status2
32816
33009
  };
32817
33010
  }
@@ -33449,7 +33642,7 @@ function useCanvasOperations({ router }) {
33449
33642
  });
33450
33643
  }
33451
33644
  function resolveNodeData(node2, nodeTypeDescription) {
33452
- const id2 = node2.id ?? v4();
33645
+ const id2 = node2.id ?? nodeHelpers.assignNodeId(node2);
33453
33646
  const name = node2.name ?? nodeTypeDescription.defaults.name;
33454
33647
  const type = nodeTypeDescription.name;
33455
33648
  const typeVersion = node2.typeVersion;
@@ -33619,7 +33812,7 @@ function useCanvasOperations({ router }) {
33619
33812
  function resolveNodeWebhook(node2, nodeTypeDescription) {
33620
33813
  var _a;
33621
33814
  if (((_a = nodeTypeDescription.webhooks) == null ? void 0 : _a.length) && !node2.webhookId) {
33622
- node2.webhookId = v4();
33815
+ nodeHelpers.assignWebhookId(node2);
33623
33816
  }
33624
33817
  if ([WEBHOOK_NODE_TYPE, FORM_TRIGGER_NODE_TYPE].includes(node2.type) && node2.parameters.path === "") {
33625
33818
  node2.parameters.path = node2.webhookId;
@@ -34016,7 +34209,7 @@ function useCanvasOperations({ router }) {
34016
34209
  (n) => n.webhookId === node2.webhookId
34017
34210
  );
34018
34211
  if (isDuplicate) {
34019
- node2.webhookId = v4();
34212
+ nodeHelpers.assignWebhookId(node2);
34020
34213
  if (node2.parameters.path) {
34021
34214
  node2.parameters.path = node2.webhookId;
34022
34215
  } else if (node2.parameters.options.path) {
@@ -34025,11 +34218,11 @@ function useCanvasOperations({ router }) {
34025
34218
  }
34026
34219
  }
34027
34220
  if (node2.id) {
34028
- const newId2 = v4();
34029
- nodeIdMap[newId2] = node2.id;
34030
- node2.id = newId2;
34221
+ const previousId = node2.id;
34222
+ const newId2 = nodeHelpers.assignNodeId(node2);
34223
+ nodeIdMap[newId2] = previousId;
34031
34224
  } else {
34032
- node2.id = v4();
34225
+ nodeHelpers.assignNodeId(node2);
34033
34226
  }
34034
34227
  });
34035
34228
  }
@@ -34293,7 +34486,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34293
34486
  __name: "NodeView.v2",
34294
34487
  setup(__props) {
34295
34488
  const LazyNodeCreation2 = defineAsyncComponent(
34296
- async () => await __vitePreload(() => import("./NodeCreation-DT2fJ_vL.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
34489
+ async () => await __vitePreload(() => import("./NodeCreation-fYCCIvH0.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
34297
34490
  );
34298
34491
  const LazyNodeDetailsView = defineAsyncComponent(
34299
34492
  async () => await __vitePreload(() => Promise.resolve().then(() => NodeDetailsView), true ? void 0 : void 0)
@@ -35059,7 +35252,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35059
35252
  if (data.waitTill) {
35060
35253
  toast.showMessage({
35061
35254
  title: i18n2.baseText("nodeView.thisExecutionHasntFinishedYet"),
35062
- message: h(_sfc_main$D),
35255
+ message: h(_sfc_main$F),
35063
35256
  type: "warning",
35064
35257
  duration: 0
35065
35258
  });
@@ -35376,7 +35569,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35376
35569
  }
35377
35570
  });
35378
35571
  return (_ctx, _cache) => {
35379
- const _component_CanvasChatButton = _sfc_main$B;
35572
+ const _component_CanvasChatButton = _sfc_main$D;
35380
35573
  return unref(editableWorkflow) && unref(editableWorkflowObject) && !isLoading.value ? (openBlock(), createBlock(WorkflowCanvas, {
35381
35574
  key: 0,
35382
35575
  id: unref(editableWorkflow).id,
@@ -35500,11 +35693,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
35500
35693
  const router = useRouter();
35501
35694
  const route = useRoute();
35502
35695
  const workflowHelpers = useWorkflowHelpers({ router });
35503
- const { nodeViewVersion } = useNodeViewVersionSwitcher();
35696
+ const { nodeViewVersion, migrateToNewNodeViewVersion } = useNodeViewVersionSwitcher();
35504
35697
  const workflowId = computed(() => route.params.name);
35505
35698
  const isReadOnlyEnvironment = computed(() => {
35506
35699
  return sourceControlStore.preferences.branchReadOnly;
35507
35700
  });
35701
+ onMounted(() => {
35702
+ migrateToNewNodeViewVersion();
35703
+ });
35508
35704
  watch(nodeViewVersion, () => {
35509
35705
  router.go(0);
35510
35706
  });