n8n-editor-ui 1.64.1 → 1.65.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DZsUO41i.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-B4V5qQ9q.js} +2 -2
  2. package/dist/assets/{AuthView-CCyCGmwi.js → AuthView-DDTsGVDI.js} +1 -1
  3. package/dist/assets/{CanvasControls-Bh28om35.js → CanvasControls-BrmZza76.js} +1 -1
  4. package/dist/assets/{ChangePasswordView-CzOXz1B5.js → ChangePasswordView-Txc3JLbg.js} +2 -2
  5. package/dist/assets/CollectionParameter-D35RQT1r.js +4 -0
  6. package/dist/assets/{CredentialsView-Uwkj-6Gn.js → CredentialsView-4YDBK-zY.js} +4 -4
  7. package/dist/assets/{ErrorView-Du8F4roT.js → ErrorView-CeJF1j4H.js} +1 -1
  8. package/dist/assets/{ExecutionsFilter-X5OsOzg1.js → ExecutionsFilter-ODySTrFf.js} +2 -2
  9. package/dist/assets/{ExecutionsView-Cdl2wX8O.js → ExecutionsView-Cfc2bklt.js} +5 -5
  10. package/dist/assets/{FileSaver.min-BZDLz63C.js → FileSaver.min-2E3H7obf.js} +1 -1
  11. package/dist/assets/{FixedCollectionParameter-h3uHE3EI.js → FixedCollectionParameter-D6dq95nm.js} +1 -1
  12. package/dist/assets/{ForgotMyPasswordView-DKha33bM.js → ForgotMyPasswordView-DY9dxNXM.js} +2 -2
  13. package/dist/assets/{MainHeader-Dp0CMpLa.js → MainHeader-2746Uag0.js} +73 -37
  14. package/dist/assets/{MainHeader-m131IPYi.css → MainHeader-Bc5G9_Uq.css} +20 -14
  15. package/dist/assets/{MainSidebar-DX7RWqIJ.js → MainSidebar-Deuxu_ZA.js} +75 -38
  16. package/dist/assets/{MainSidebar-BL0mGB2I.css → MainSidebar-cNW0UJBC.css} +15 -6
  17. package/dist/assets/{NodeCreation-CH8QZkmg.js → NodeCreation-C2dcJSCB.js} +4 -4
  18. package/dist/assets/{NodeCreator-GlBp8VyB.js → NodeCreator-DbLN5EpO.js} +11 -13
  19. package/dist/assets/{NodeViewSwitcher-B6pXHQpy.js → NodeViewSwitcher-C7fT1hjp.js} +671 -635
  20. package/dist/assets/{NodeViewSwitcher-0LWuIntY.css → NodeViewSwitcher-Np-f2Pkl.css} +142 -124
  21. package/dist/assets/{ProjectCardBadge.vue_vue_type_script_setup_true_lang-R4VvIcND.js → ProjectCardBadge.vue_vue_type_script_setup_true_lang-1r16lWfz.js} +1 -1
  22. package/dist/assets/{ProjectSettings-BRbDO1Gw.js → ProjectSettings-B-0hlVBb.js} +2 -2
  23. package/dist/assets/{ProjectTabs-DGe3p6nk.js → ProjectTabs-BLgXz0GM.js} +3 -3
  24. package/dist/assets/{PushConnectionTracker-CYr4h_PG.js → PushConnectionTracker-CGjuGy8P.js} +1 -1
  25. package/dist/assets/{ResourcesListLayout-Cp1vFuQD.js → ResourcesListLayout-D_C1ZSTp.js} +1 -1
  26. package/dist/assets/{RunDataAi-Dr6ypWYk.js → RunDataAi-DWyv1KtV.js} +2 -2
  27. package/dist/assets/{RunDataJson-BR2zl0xs.js → RunDataJson-BkOB7Mi5.js} +12 -11
  28. package/dist/assets/{RunDataJsonActions-hnNDgPdr.js → RunDataJsonActions-K_wfkbT2.js} +1 -1
  29. package/dist/assets/{RunDataSearch-aEp6SsT6.js → RunDataSearch-CdIFsfvp.js} +1 -1
  30. package/dist/assets/{RunDataTable-CNdHnjmM.js → RunDataTable-CSd24Wzt.js} +1 -1
  31. package/dist/assets/{SamlOnboarding-BGSor93S.js → SamlOnboarding-C7jmImZi.js} +2 -2
  32. package/dist/assets/{SettingsApiView-DnaOHGOU.js → SettingsApiView-4M-cLSvs.js} +1 -1
  33. package/dist/assets/{SettingsCommunityNodesView-DG_uJUfX.js → SettingsCommunityNodesView-QbJKukss.js} +3 -3
  34. package/dist/assets/{SettingsExternalSecrets-CC-c2C10.js → SettingsExternalSecrets-CBL5kSMf.js} +1 -1
  35. package/dist/assets/{SettingsFakeDoorView-DJJ9xpvu.js → SettingsFakeDoorView-CEbWEc6P.js} +1 -1
  36. package/dist/assets/{SettingsLdapView-BTxklMe-.js → SettingsLdapView-CHwYGxkx.js} +1 -1
  37. package/dist/assets/{SettingsLogStreamingView-D32eR0j1.js → SettingsLogStreamingView-DZ71hi2g.js} +1 -1
  38. package/dist/assets/{SettingsPersonalView-CycnGnFd.js → SettingsPersonalView-BfL80wvU.js} +17 -3
  39. package/dist/assets/{SettingsSourceControl-CpzwZEYt.js → SettingsSourceControl-CrPjF7Tl.js} +1 -1
  40. package/dist/assets/{SettingsSso-HjdnsVOf.js → SettingsSso-CoM-3Knf.js} +1 -1
  41. package/dist/assets/{SettingsUsageAndPlan-CYQUE0tK.js → SettingsUsageAndPlan-BeHnYh3Q.js} +10 -3
  42. package/dist/assets/{SettingsUsageAndPlan-B72odhIc.css → SettingsUsageAndPlan-C76Ty5yF.css} +3 -3
  43. package/dist/assets/{SettingsUsersView-DkzKTkeO.js → SettingsUsersView-KIj2fh50.js} +1 -1
  44. package/dist/assets/{SettingsView-DVcUKSKE.js → SettingsView-Chfmh8Oz.js} +1 -1
  45. package/dist/assets/{SetupView-RG_ylo8Z.js → SetupView-Cj9NK5oF.js} +3 -3
  46. package/dist/assets/{SetupWorkflowCredentialsButton-DrA_a2OJ.js → SetupWorkflowCredentialsButton-1LXFp3M1.js} +1 -1
  47. package/dist/assets/{SetupWorkflowFromTemplateView-DDIIQT4h.js → SetupWorkflowFromTemplateView-nyPe7OpV.js} +3 -3
  48. package/dist/assets/{SigninView-SB0OrGE8.js → SigninView-TCarjEXK.js} +2 -2
  49. package/dist/assets/{SignoutView-CydN5z6L.js → SignoutView-Delor5Ax.js} +1 -1
  50. package/dist/assets/{SignupView-GfwP9_4w.js → SignupView-DOREfT5l.js} +2 -2
  51. package/dist/assets/{TemplateDetails-BHYTgWe7.js → TemplateDetails-rjxog6MY.js} +1 -1
  52. package/dist/assets/{TemplateList-DqeiM-sc.js → TemplateList-DYMX_2qI.js} +1 -1
  53. package/dist/assets/{TemplatesCollectionView-BmNqs_gk.js → TemplatesCollectionView-DtaG85Jk.js} +5 -5
  54. package/dist/assets/{TemplatesSearchView-CNF6-vdG.js → TemplatesSearchView-CqH8oefx.js} +3 -3
  55. package/dist/assets/{TemplatesView-2elduxzA.js → TemplatesView-B9Lz_EzK.js} +1 -1
  56. package/dist/assets/{TemplatesWorkflowView-ZW6hOx7N.js → TemplatesWorkflowView-BfqaXGKg.js} +5 -5
  57. package/dist/assets/{VariablesView-BX27mddL.js → VariablesView-BH0opxm_.js} +2 -2
  58. package/dist/assets/{WorkerView-Cr7HLqrl.js → WorkerView-BRiI1Adt.js} +5 -5
  59. package/dist/assets/{WorkflowActivator-BdyaV7fz.js → WorkflowActivator-ByVmTkYU.js} +2 -2
  60. package/dist/assets/{WorkflowExecutionsInfoAccordion-GC5Xu1TI.js → WorkflowExecutionsInfoAccordion-BqbBanz6.js} +1 -1
  61. package/dist/assets/{WorkflowExecutionsLandingPage-DUaKxO-Z.js → WorkflowExecutionsLandingPage-5u6ZDaFD.js} +2 -2
  62. package/dist/assets/{WorkflowExecutionsPreview-1hB0xaBl.js → WorkflowExecutionsPreview-BGb9AU3g.js} +5 -5
  63. package/dist/assets/{WorkflowExecutionsView-OE3NlCHo.js → WorkflowExecutionsView-KTlGfaLi.js} +5 -5
  64. package/dist/assets/{WorkflowHistory-q9Izoevv.js → WorkflowHistory-DqXCxz1p.js} +3 -3
  65. package/dist/assets/{WorkflowOnboardingView-B3UpsBmI.js → WorkflowOnboardingView-Cx7hbCo8.js} +1 -1
  66. package/dist/assets/{WorkflowPreview-MCXIiPMR.js → WorkflowPreview-DAQ7mvNi.js} +1 -1
  67. package/dist/assets/{WorkflowsView-BpzSj9Gu.js → WorkflowsView-ChU_EKMN.js} +6 -6
  68. package/dist/assets/{cloud-C5pqS4q0.js → cloud-CGOqFKZO.js} +1 -1
  69. package/dist/assets/{dateFormatter-BgjGibAI.js → dateFormatter-CfOgAO2k.js} +1 -1
  70. package/dist/assets/{index-TQ22MZub.js → index-BUjeBzRM.js} +1052 -616
  71. package/dist/assets/{index-BGyoJ6bM.css → index-DoeC8czU.css} +13 -21
  72. package/dist/assets/{pushConnection.store-DBI9rig9.js → pushConnection.store-BKOlrr3c.js} +1 -1
  73. package/dist/assets/{templateActions-BlnfhXAQ.js → templateActions-BTYgtgDN.js} +1 -1
  74. package/dist/assets/useBugReporting-lkBiyjPH.js +38 -0
  75. package/dist/assets/{useExecutionDebugging-rQ2a9vrr.js → useExecutionDebugging-C91tSyen.js} +1 -1
  76. package/dist/assets/useNodeViewVersionSwitcher-D2zGsXPQ.js +83 -0
  77. package/dist/assets/{usePushConnection-Bg_ZQZs0.js → usePushConnection-CQXTn-bO.js} +2 -2
  78. package/dist/assets/{useWorkflowActivate-DXNYJQNZ.js → useWorkflowActivate-DbL83lsy.js} +1 -1
  79. package/dist/index.html +2 -2
  80. package/package.json +1 -1
  81. package/dist/assets/CollectionParameter--dDx2Uul.js +0 -4
  82. package/dist/assets/useBeforeUnload-Db4Xtdlx.js +0 -43
@@ -1,12 +1,13 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-CNdHnjmM.js","assets/index-TQ22MZub.js","assets/index-BGyoJ6bM.css","assets/RunDataTable-ZwoYenSI.css","assets/RunDataJson-BR2zl0xs.js","assets/RunDataAi-Dr6ypWYk.js","assets/RunDataAi-x30tU8-0.css","assets/FileSaver.min-BZDLz63C.js","assets/dateFormatter-BgjGibAI.js","assets/useWorkflowActivate-DXNYJQNZ.js","assets/pushConnection.store-DBI9rig9.js","assets/useExecutionDebugging-rQ2a9vrr.js","assets/useBeforeUnload-Db4Xtdlx.js","assets/RunDataJson-Dtc8i0I7.css","assets/RunDataSearch-aEp6SsT6.js","assets/RunDataSearch-BA0wlJtp.css","assets/NodeCreation-CH8QZkmg.js","assets/NodeCreation-30KXmZi2.css","assets/CanvasControls-Bh28om35.js","assets/CanvasControls-Gjw5xMXK.css","assets/SetupWorkflowCredentialsButton-DrA_a2OJ.js"])))=>i.map(i=>d[i]);
2
- import { aI as BaseTransition, aJ as BaseTransitionPropsValidators, aK as Comment, aL as DeprecationTypes, aM as EffectScope, aN as ErrorCodes, aO as ErrorTypeStrings, F as Fragment, aP as KeepAlive, aQ as ReactiveEffect, aR as Static, aS as Suspense, aT as Teleport, aU as Text, aV as TrackOpTypes, aW as Transition$2, aX as TransitionGroup, aY as TriggerOpTypes, aZ as VueElement, a_ as assertNumber, a$ as callWithAsyncErrorHandling, b0 as callWithErrorHandling, b1 as camelize, b2 as capitalize, b3 as cloneVNode, b4 as compatUtils, p as computed, b5 as createApp, e as createBlock, f as createCommentVNode, h as createElementBlock, j as createBaseVNode, b6 as createHydrationRenderer, b7 as createPropsRestProxy, b8 as createRenderer, b9 as createSSRApp, aE as createSlots, ba as createStaticVNode, k as createTextVNode, i as createVNode, bb as customRef, bc as defineAsyncComponent, d as defineComponent, bd as defineCustomElement, be as defineEmits, bf as defineExpose, bg as defineModel, bh as defineOptions, bi as defineProps, bj as defineSSRCustomElement, bk as defineSlots, bl as devtools, bm as effect, bn as effectScope, bo as getCurrentInstance, bp as getCurrentScope, bq as getCurrentWatcher, br as getTransitionRawChildren, bs as guardReactiveProps, bt as h, bu as handleError, bv as hasInjectionContext, bw as hydrate, bx as hydrateOnIdle, by as hydrateOnInteraction, bz as hydrateOnMediaQuery, bA as hydrateOnVisible, bB as initCustomFormatter, bC as initDirectivesForSSR, bD as inject, bE as isMemoSame, bF as isProxy, bG as isReactive, bH as isReadonly, bI as isRef, bJ as isRuntimeOnly, bK as isShallow, bL as isVNode, bM as markRaw, bN as mergeDefaults, bO as mergeModels, bP as mergeProps, C as nextTick, n as normalizeClass, bQ as normalizeProps, B as normalizeStyle, bR as onActivated, ar as onBeforeMount, y as onBeforeUnmount, bS as onBeforeUpdate, bT as onDeactivated, bU as onErrorCaptured, o as onMounted, bV as onRenderTracked, bW as onRenderTriggered, bX as onScopeDispose, bY as onServerPrefetch, bZ as onUnmounted, b_ as onUpdated, b$ as onWatcherCleanup, c as openBlock, c0 as popScopeId, c1 as provide, c2 as proxyRefs, c3 as pushScopeId, c4 as queuePostFlushCb, c5 as reactive, c6 as readonly, r as ref, c7 as registerRuntimeCompiler, c8 as render$5, z as renderList, q as renderSlot, l as resolveComponent, c9 as resolveDirective, ca as resolveDynamicComponent, cb as resolveFilter, cc as resolveTransitionHooks, cd as setBlockTracking, ce as setDevtoolsHook, cf as setTransitionHooks, cg as shallowReactive, ch as shallowReadonly, ci as shallowRef, cj as ssrContextKey, ck as ssrUtils, cl as stop, t as toDisplayString, cm as toHandlerKey, cn as toHandlers, co as toRaw, cp as toRef, cq as toRefs$1, cr as toValue$1, cs as transformVNodeArgs, ct as triggerRef, A as unref, cu as useAttrs, aa as useCssModule, cv as useCssVars, cw as useHost, cx as useId, cy as useModel, cz as useSSRContext, cA as useShadowRoot, cB as useSlots, cC as useTemplateRef, cD as useTransitionState, cE as vModelCheckbox, cF as vModelDynamic, cG as vModelRadio, cH as vModelSelect, cI as vModelText, at as vShow, cJ as version, cK as warn$1, H as watch, cL as watchEffect, cM as watchPostEffect, cN as watchSyncEffect, cO as withAsyncContext, w as withCtx, cP as withDefaults, as as withDirectives, G as withKeys, cQ as withMemo, I as withModifiers, cR as withScopeId, cS as createCompounder, cT as SetCache, cU as arrayIncludes, cV as cacheHas, cW as baseRest, cX as isArrayLikeObject, cY as baseFlatten, K as useUIStore, cZ as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, am as getResourcePermissions, c_ as isPresent, c$ as getMousePosition$1, au as STICKY_NODE_TYPE, d0 as usePinnedData, g as useI18n, d1 as NOT_DUPLICATABLE_NODE_TYPES, E as onClickOutside, d2 as N8nActionDropdown, _ as _export_sfc$1, d3 as _sfc_main$10, ap as useNDVStore, d4 as isCommunityPackageName, d5 as NPM_PACKAGE_DOCS_BASE_URL, d6 as BUILTIN_NODES_DOCS_URL, d7 as COMMUNITY_NODES_INSTALLATION_DOCS_URL, d8 as NodeConnectionType, aF as useExternalHooks, ak as useTelemetry, b as useRouter, d9 as useClipboard, a4 as useWorkflowHelpers, a as useToast, da as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, db as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, dc as FORM_TRIGGER_NODE_TYPE, dd as CHAT_TRIGGER_NODE_TYPE, de as toValue$2, df as toRef$1, dg as tryOnScopeDispose$1, dh as isIOS, di as noop$4, dj as isObject$1, dk as isClient$1, dl as useNodeHelpers, J as useDebounce, dm as TitledList, dn as nodeIssuesToString, dp as getNodeInputs, dq as useRunWorkflow, dr as MANUAL_TRIGGER_NODE_TYPE, ds as WEBHOOK_NODE_TYPE, ac as nodeViewEventBus, al as useMessage, ae as MODAL_CONFIRM, dt as useCredentialsStore, du as useHistoryStore, dv as importCurlEventBus, dw as ndvEventBus, dx as CUSTOM_NODES_DOCS_URL, dy as NodeCredentials, dz as _sfc_main$11, dA as ProjectTypes, dB as getConnectionTypes, dC as isSingleExecution, dD as get$4, dE as getNodeParameters, dF as deepCopy, dG as set$4, dH as unset, dI as SHOULD_CLEAR_NODE_OUTPUTS, dJ as RenameNodeCommand, dK as isINodePropertyCollectionList, dL as isINodePropertiesList, dM as isINodePropertyOptionsList, dN as displayParameter, dO as Draggable, aA as useStorage, dP as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, dQ as MAIN_NODE_PANEL_WIDTH, dR as getAugmentedNamespace, dS as commonjsGlobal, dT as getDefaultExportFromCjs, dU as sanitizeHtml_1, dV as sanitizeHtml, dW as jsonParse, dX as __unplugin_components_2$2, dY as useNodeType, dZ as MAX_DISPLAY_DATA_SIZE, d_ as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, d$ as MAX_DISPLAY_ITEMS_AUTO_ALL, e0 as mapStores, Z as useRootStore, e1 as DATA_PINNING_DOCS_URL, e2 as DATA_EDITING_DOCS_URL, e3 as HTML_NODE_TYPE, e4 as executionDataToJson, e5 as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, e6 as isEmpty, e7 as isEqual, e8 as getNodeOutputs, e9 as getNodeHints, ea as getGenericHints, eb as dataPinningEventBus, ec as clearJsonKey, ed as searchInObject, ee as isObject$2, ef as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, eg as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, eh as TEST_PIN_DATA, ei as __vitePreload, ej as storeToRefs, ek as waitingNodeTooltip, el as truncate, em as START_NODE_TYPE, en as CRON_NODE_TYPE, eo as INTERVAL_NODE_TYPE, ep as CopyInput, v as createEventBus, eq as isTriggerPanelObject, er as getTriggerNodeServiceName, V as VIEWS, ag as WORKFLOW_SETTINGS_MODAL_KEY, m as useSettingsStore, es as useDeviceSupport, et as APP_MODALS_ELEMENT_ID, eu as EXECUTABLE_TRIGGER_NODE_TYPES, ev as BASE_NODE_SURVEY_URL, a8 as EnterpriseEditionFeature, ew as getAnchorPosition, ex as isValidNodeConnectionType, ey as getEndpointScope, ez as getInputEndpointUUID, eA as getInputEndpointStyle, eB as getScope, eC as getInputNameOverlay, eD as NODE_INSERT_SPACER_BETWEEN_INPUT_GROUPS, eE as NODE_MIN_INPUT_ITEMS_COUNT, eF as getOutputEndpointUUID, eG as getOutputEndpointStyle, eH as getOutputNameOverlay, eI as NO_OP_NODE_TYPE, eJ as NODE_CONNECTION_TYPE_ALLOW_MULTIPLE, eK as GRID_SIZE, eL as isString, eM as isNumber, eN as assert, eO as QUICKSTART_NOTE_NAME, eP as CUSTOM_API_CALL_KEY, eQ as FontAwesomeIcon, eR as _sfc_main$13, eS as xss, eT as WAIT_NODE_TYPE, eU as SEND_AND_WAIT_OPERATION, eV as WAIT_TIME_UNLIMITED, eW as SIMULATE_NODE_TYPE, eX as SIMULATE_TRIGGER_NODE_TYPE, $ as useCanvasStore, eY as getRelativePosition, eZ as v4, e_ as CORE_NODES_CATEGORY, e$ as DEFAULT_SUBCATEGORY, f0 as AI_TRANSFORM_NODE_TYPE, f1 as AI_SUBCATEGORY, f2 as AI_CATEGORY_AGENTS, f3 as sortBy, f4 as i18n, aC as useTemplatesStore, f5 as AI_NODE_CREATOR_VIEW, f6 as AI_OTHERS_NODE_CREATOR_VIEW, f7 as AI_CATEGORY_DOCUMENT_LOADERS, f8 as AI_CATEGORY_LANGUAGE_MODELS, f9 as AI_CATEGORY_MEMORY, fa as AI_CATEGORY_OUTPUTPARSER, fb as AI_CATEGORY_RETRIEVERS, fc as AI_CATEGORY_TEXT_SPLITTERS, fd as AI_CATEGORY_TOOLS, fe as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, ff as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, fg as AI_CATEGORY_EMBEDDING, fh as AI_CATEGORY_VECTOR_STORES, fi as AI_UNCATEGORIZED_CATEGORY, fj as TRIGGER_NODE_CREATOR_VIEW, fk as EMAIL_IMAP_NODE_TYPE, fl as SCHEDULE_TRIGGER_NODE_TYPE, fm as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, fn as MANUAL_CHAT_TRIGGER_NODE_TYPE, fo as OTHER_TRIGGER_NODES_SUBCATEGORY, fp as REGULAR_NODE_CREATOR_VIEW, fq as RSS_READ_NODE_TYPE, fr as EMAIL_SEND_NODE_TYPE, fs as TRANSFORM_DATA_SUBCATEGORY, ft as FILTER_NODE_TYPE, fu as REMOVE_DUPLICATES_NODE_TYPE, fv as SPLIT_OUT_NODE_TYPE, fw as LIMIT_NODE_TYPE, fx as SUMMARIZE_NODE_TYPE, fy as AGGREGATE_NODE_TYPE, fz as MERGE_NODE_TYPE, fA as MARKDOWN_NODE_TYPE, fB as XML_NODE_TYPE, fC as CRYPTO_NODE_TYPE, fD as EXTRACT_FROM_FILE_NODE_TYPE, fE as CONVERT_TO_FILE_NODE_TYPE, fF as COMPRESSION_NODE_TYPE, fG as EDIT_IMAGE_NODE_TYPE, fH as FLOWS_CONTROL_SUBCATEGORY, fI as IF_NODE_TYPE, fJ as SPLIT_IN_BATCHES_NODE_TYPE, fK as HELPERS_SUBCATEGORY, fL as HTTP_REQUEST_NODE_TYPE, fM as CODE_NODE_TYPE, fN as AI_CATEGORY_CHAINS, fO as SET_NODE_TYPE, fP as DATETIME_NODE_TYPE, R as defineStore, fQ as AI_CATEGORY_ROOT_NODES, fR as AI_CODE_NODE_TYPE, fS as AI_TRANSFORM_NODE_TYPE$1, fT as isValidCanvasConnectionMode, fU as CanvasConnectionMode, S as STORES, fV as NODE_CREATOR_OPEN_SOURCES, fW as isVueFlowConnection, fX as nodeConnectionTypes, fY as MOUSE_EVENT_BUTTON, fZ as MOUSE_EVENT_BUTTONS, f_ as KeyboardShortcutTooltip, U as useRoute, a3 as useDocumentTitle, a2 as useNpsSurveyStore, a1 as useProjectsStore, aq as useExecutionsStore, f$ as useExternalSecretsStore, g0 as useWorkflowsEEStore, g1 as useEnvironmentsStore, u as useUsersStore, D as useTagsStore, g2 as getBackgroundStyles, g3 as getNodeViewTab, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, ao as MAIN_HEADER_TABS, g4 as ready$1, aw as sourceControlEventBus, g5 as historyBus, g6 as WORKFLOW_LM_CHAT_MODAL_KEY, g7 as generateNodesGraph, g8 as N8nAddInputEndpointType, g9 as getFixedNodesList, ga as tryToParseNumber, gb as MoveNodeCommand, ai as VALID_WORKFLOW_IMPORT_URL_REGEX, gc as UPDATE_WEBHOOK_ID_NODE_TYPES, gd as getNewNodePosition, ge as DRAG_EVENT_DATA_KEY, gf as NODE_SIZE, gg as getConnectorLengths, gh as MAX_X_TO_PUSH_DOWNSTREAM_NODES, gi as PUSH_NODES_OFFSET, gj as generateOffsets, gk as resetConnectionAfterPull, gl as resetConnection, gm as moveBackInputLabelPosition, gn as hideOutputNameLabel, go as addConnectionActionsOverlay, gp as getOverlay, gq as OVERLAY_ENDPOINT_ARROW_ID, gr as getConnectorPaintStyleData, gs as AddConnectionCommand, gt as addConnectionTestData, gu as showOrHideItemsLabel, gv as showOrHideMidpointArrow, gw as isJSPlumbConnection, gx as hideConnectionActions, gy as showConnectionActions, gz as resetInputLabelPosition, gA as getConnectionInfo, gB as showOutputNameLabel, gC as RemoveConnectionCommand, gD as isJSPlumbEndpointElement, gE as isElementIntersection, gF as calculateElementIntersection, gG as showDropConnectionState, gH as showPullConnectionState, gI as EVENT_CONNECTION_ABORT, gJ as INTERCEPT_BEFORE_DROP, gK as EVENT_CONNECTION, gL as EVENT_DRAG_MOVE, gM as EVENT_CONNECTION_MOUSEOVER, gN as EVENT_CONNECTION_MOUSEOUT, gO as EVENT_CONNECTION_MOVED, gP as EVENT_ENDPOINT_MOUSEOVER, gQ as EVENT_ENDPOINT_MOUSEOUT, gR as EVENT_CONNECTION_DETACHED, gS as EVENT_CONNECTION_DRAG, gT as EVENT_PLUS_ENDPOINT_CLICK, gU as EVENT_ADD_INPUT_ENDPOINT_CLICK, gV as N8nPlusEndpointType, gW as usePostHog, gX as CANVAS_AUTO_ADD_MANUAL_TRIGGER_EXPERIMENT, gY as MODAL_CANCEL, gZ as addClassesToOverlays, g_ as getJSPlumbEndpoints, g$ as isSubNodeType, h0 as useDataSchema, h1 as OVERLAY_RUN_ITEMS_ID, h2 as RemoveNodeCommand, h3 as CanvasKey, h4 as CanvasNodeKey, h5 as CanvasNodeRenderType, h6 as N8nTooltip, h7 as CanvasNodeHandleKey, h8 as useActiveElement, h9 as useEventListener$2, ha as onKeyDown, hb as onKeyUp, hc as useDebounceFn, 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, a5 as useLocalStorage, hj as onBeforeRouteLeave } from "./index-TQ22MZub.js";
3
- import { c as capitalize$1, _ as _sfc_main$12, R as RunDataAi } from "./RunDataAi-Dr6ypWYk.js";
4
- import { F as FileSaver_minExports } from "./FileSaver.min-BZDLz63C.js";
5
- import { c as convertToDisplayDateComponents } from "./dateFormatter-BgjGibAI.js";
6
- import { u as useWorkflowActivate } from "./useWorkflowActivate-DXNYJQNZ.js";
7
- import { g as globalLinkActionsEventBus, u as usePushConnectionStore } from "./pushConnection.store-DBI9rig9.js";
8
- import { u as useExecutionDebugging } from "./useExecutionDebugging-rQ2a9vrr.js";
9
- import { u as useBeforeUnload } from "./useBeforeUnload-Db4Xtdlx.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-CSd24Wzt.js","assets/index-BUjeBzRM.js","assets/index-DoeC8czU.css","assets/RunDataTable-ZwoYenSI.css","assets/RunDataJson-BkOB7Mi5.js","assets/RunDataAi-DWyv1KtV.js","assets/RunDataAi-x30tU8-0.css","assets/FileSaver.min-2E3H7obf.js","assets/dateFormatter-CfOgAO2k.js","assets/useWorkflowActivate-DbL83lsy.js","assets/pushConnection.store-BKOlrr3c.js","assets/useExecutionDebugging-C91tSyen.js","assets/useNodeViewVersionSwitcher-D2zGsXPQ.js","assets/useBugReporting-lkBiyjPH.js","assets/RunDataJson-Dtc8i0I7.css","assets/RunDataSearch-CdIFsfvp.js","assets/RunDataSearch-BA0wlJtp.css","assets/NodeCreation-C2dcJSCB.js","assets/NodeCreation-30KXmZi2.css","assets/CanvasControls-BrmZza76.js","assets/CanvasControls-Gjw5xMXK.css","assets/SetupWorkflowCredentialsButton-1LXFp3M1.js"])))=>i.map(i=>d[i]);
2
+ import { aI as BaseTransition, aJ as BaseTransitionPropsValidators, aK as Comment, aL as DeprecationTypes, aM as EffectScope, aN as ErrorCodes, aO as ErrorTypeStrings, F as Fragment, aP as KeepAlive, aQ as ReactiveEffect, aR as Static, aS as Suspense, aT as Teleport, aU as Text, aV as TrackOpTypes, aW as Transition$2, aX as TransitionGroup, aY as TriggerOpTypes, aZ as VueElement, a_ as assertNumber, a$ as callWithAsyncErrorHandling, b0 as callWithErrorHandling, b1 as camelize, b2 as capitalize, b3 as cloneVNode, b4 as compatUtils, p as computed, b5 as createApp, e as createBlock, f as createCommentVNode, h as createElementBlock, j as createBaseVNode, b6 as createHydrationRenderer, b7 as createPropsRestProxy, b8 as createRenderer, b9 as createSSRApp, aE as createSlots, ba as createStaticVNode, k as createTextVNode, i as createVNode, bb as customRef, bc as defineAsyncComponent, d as defineComponent, bd as defineCustomElement, be as defineEmits, bf as defineExpose, bg as defineModel, bh as defineOptions, bi as defineProps, bj as defineSSRCustomElement, bk as defineSlots, bl as devtools, bm as effect, bn as effectScope, bo as getCurrentInstance, bp as getCurrentScope, bq as getCurrentWatcher, br as getTransitionRawChildren, bs as guardReactiveProps, bt as h, bu as handleError, bv as hasInjectionContext, bw as hydrate, bx as hydrateOnIdle, by as hydrateOnInteraction, bz as hydrateOnMediaQuery, bA as hydrateOnVisible, bB as initCustomFormatter, bC as initDirectivesForSSR, bD as inject, bE as isMemoSame, bF as isProxy, bG as isReactive, bH as isReadonly, bI as isRef, bJ as isRuntimeOnly, bK as isShallow, bL as isVNode, bM as markRaw, bN as mergeDefaults, bO as mergeModels, bP as mergeProps, C as nextTick, n as normalizeClass, bQ as normalizeProps, B as normalizeStyle, bR as onActivated, aq as onBeforeMount, y as onBeforeUnmount, bS as onBeforeUpdate, bT as onDeactivated, bU as onErrorCaptured, o as onMounted, bV as onRenderTracked, bW as onRenderTriggered, bX as onScopeDispose, bY as onServerPrefetch, bZ as onUnmounted, b_ as onUpdated, b$ as onWatcherCleanup, c as openBlock, c0 as popScopeId, c1 as provide, c2 as proxyRefs, c3 as pushScopeId, c4 as queuePostFlushCb, c5 as reactive, c6 as readonly, r as ref, c7 as registerRuntimeCompiler, c8 as render$5, z as renderList, q as renderSlot, l as resolveComponent, c9 as resolveDirective, ca as resolveDynamicComponent, cb as resolveFilter, cc as resolveTransitionHooks, cd as setBlockTracking, ce as setDevtoolsHook, cf as setTransitionHooks, cg as shallowReactive, ch as shallowReadonly, ci as shallowRef, cj as ssrContextKey, ck as ssrUtils, cl as stop, t as toDisplayString, cm as toHandlerKey, cn as toHandlers, co as toRaw, cp as toRef, cq as toRefs$1, cr as toValue$1, cs as transformVNodeArgs, ct as triggerRef, A as unref, cu as useAttrs, a9 as useCssModule, cv as useCssVars, cw as useHost, cx as useId, cy as useModel, cz as useSSRContext, cA as useShadowRoot, cB as useSlots, cC as useTemplateRef, cD as useTransitionState, cE as vModelCheckbox, cF as vModelDynamic, cG as vModelRadio, cH as vModelSelect, cI as vModelText, as as vShow, cJ as version, cK as warn$1, H as watch, cL as watchEffect, cM as watchPostEffect, cN as watchSyncEffect, cO as withAsyncContext, w as withCtx, cP as withDefaults, ar as withDirectives, G as withKeys, cQ as withMemo, I as withModifiers, cR as withScopeId, cS as createCompounder, cT as SetCache, cU as arrayIncludes, cV as cacheHas, cW as baseRest, cX as isArrayLikeObject, cY as baseFlatten, K as useUIStore, cZ as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, al as getResourcePermissions, c_ as isPresent, c$ as getMousePosition$1, at as STICKY_NODE_TYPE, d0 as usePinnedData, g as useI18n, d1 as NOT_DUPLICATABLE_NODE_TYPES, E as onClickOutside, d2 as N8nActionDropdown, _ as _export_sfc$1, d3 as _sfc_main$11, ao as useNDVStore, d4 as isCommunityPackageName, d5 as NPM_PACKAGE_DOCS_BASE_URL, d6 as BUILTIN_NODES_DOCS_URL, d7 as COMMUNITY_NODES_INSTALLATION_DOCS_URL, d8 as NodeConnectionType, aF as useExternalHooks, aj as useTelemetry, b as useRouter, d9 as useClipboard, a4 as useWorkflowHelpers, a as useToast, da as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, db as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, dc as FORM_TRIGGER_NODE_TYPE, dd as CHAT_TRIGGER_NODE_TYPE, de as toValue$2, df as toRef$1, dg as tryOnScopeDispose$1, dh as isIOS, di as noop$4, dj as isObject$1, dk as isClient$1, dl as useNodeHelpers, J as useDebounce, dm as TitledList, dn as nodeIssuesToString, dp as getNodeInputs, dq as useRunWorkflow, dr as MANUAL_TRIGGER_NODE_TYPE, ds as WEBHOOK_NODE_TYPE, ab as nodeViewEventBus, ak as useMessage, ad as MODAL_CONFIRM, dt as useCredentialsStore, du as useHistoryStore, dv as importCurlEventBus, dw as ndvEventBus, dx as CUSTOM_NODES_DOCS_URL, dy as NodeCredentials, dz as _sfc_main$12, dA as ProjectTypes, dB as getConnectionTypes, dC as isSingleExecution, dD as get$4, dE as getNodeParameters, dF as deepCopy, dG as set$4, dH as unset, dI as SHOULD_CLEAR_NODE_OUTPUTS, dJ as RenameNodeCommand, dK as isINodePropertyCollectionList, dL as isINodePropertiesList, dM as isINodePropertyOptionsList, dN as displayParameter, dO as Draggable, az as useStorage, dP as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, dQ as MAIN_NODE_PANEL_WIDTH, dR as getAugmentedNamespace, dS as commonjsGlobal, dT as getDefaultExportFromCjs, dU as sanitizeHtml_1, dV as sanitizeHtml, dW as jsonParse, dX as __unplugin_components_2$2, dY as useNodeType, dZ as MAX_DISPLAY_DATA_SIZE, d_ as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, d$ as MAX_DISPLAY_ITEMS_AUTO_ALL, e0 as mapStores, Z as useRootStore, e1 as DATA_PINNING_DOCS_URL, e2 as DATA_EDITING_DOCS_URL, e3 as HTML_NODE_TYPE, e4 as executionDataToJson, e5 as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, e6 as isEmpty, e7 as isEqual, e8 as getNodeOutputs, e9 as getNodeHints, ea as getGenericHints, eb as dataPinningEventBus, ec as clearJsonKey, ed as searchInObject, ee as isObject$2, ef as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, eg as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, eh as TEST_PIN_DATA, ei as __vitePreload, ej as storeToRefs, ek as waitingNodeTooltip, el as truncate, em as START_NODE_TYPE, en as CRON_NODE_TYPE, eo as INTERVAL_NODE_TYPE, ep as CopyInput, v as createEventBus, eq as isTriggerPanelObject, er as getTriggerNodeServiceName, V as VIEWS, af as WORKFLOW_SETTINGS_MODAL_KEY, m as useSettingsStore, es as useDeviceSupport, et as APP_MODALS_ELEMENT_ID, eu as EXECUTABLE_TRIGGER_NODE_TYPES, ev as BASE_NODE_SURVEY_URL, a7 as EnterpriseEditionFeature, ew as getAnchorPosition, ex as isValidNodeConnectionType, ey as getEndpointScope, ez as getInputEndpointUUID, eA as getInputEndpointStyle, eB as getScope, eC as getInputNameOverlay, eD as NODE_INSERT_SPACER_BETWEEN_INPUT_GROUPS, eE as NODE_MIN_INPUT_ITEMS_COUNT, eF as getOutputEndpointUUID, eG as getOutputEndpointStyle, eH as getOutputNameOverlay, eI as NO_OP_NODE_TYPE, eJ as NODE_CONNECTION_TYPE_ALLOW_MULTIPLE, eK as GRID_SIZE, eL as isString, eM as isNumber, eN as assert, eO as QUICKSTART_NOTE_NAME, eP as CUSTOM_API_CALL_KEY, eQ as FontAwesomeIcon, eR as _sfc_main$14, eS as xss, eT as WAIT_NODE_TYPE, eU as SEND_AND_WAIT_OPERATION, eV as FORM_NODE_TYPE, eW as WAIT_TIME_UNLIMITED, eX as SIMULATE_NODE_TYPE, eY as SIMULATE_TRIGGER_NODE_TYPE, $ as useCanvasStore, eZ as getRelativePosition, e_ as v4, e$ as CORE_NODES_CATEGORY, f0 as DEFAULT_SUBCATEGORY, f1 as AI_TRANSFORM_NODE_TYPE, f2 as sublimeSearch, f3 as AI_SUBCATEGORY, f4 as AI_CATEGORY_AGENTS, f5 as sortBy, f6 as i18n, aC as useTemplatesStore, f7 as AI_NODE_CREATOR_VIEW, f8 as AI_OTHERS_NODE_CREATOR_VIEW, f9 as AI_CATEGORY_DOCUMENT_LOADERS, fa as AI_CATEGORY_LANGUAGE_MODELS, fb as AI_CATEGORY_MEMORY, fc as AI_CATEGORY_OUTPUTPARSER, fd as AI_CATEGORY_RETRIEVERS, fe as AI_CATEGORY_TEXT_SPLITTERS, ff as AI_CATEGORY_TOOLS, fg as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, fh as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, fi as AI_CATEGORY_EMBEDDING, fj as AI_CATEGORY_VECTOR_STORES, fk as AI_UNCATEGORIZED_CATEGORY, fl as TRIGGER_NODE_CREATOR_VIEW, fm as EMAIL_IMAP_NODE_TYPE, fn as SCHEDULE_TRIGGER_NODE_TYPE, fo as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, fp as MANUAL_CHAT_TRIGGER_NODE_TYPE, fq as OTHER_TRIGGER_NODES_SUBCATEGORY, fr as REGULAR_NODE_CREATOR_VIEW, fs as RSS_READ_NODE_TYPE, ft as EMAIL_SEND_NODE_TYPE, fu as TRANSFORM_DATA_SUBCATEGORY, fv as FILTER_NODE_TYPE, fw as REMOVE_DUPLICATES_NODE_TYPE, fx as SPLIT_OUT_NODE_TYPE, fy as LIMIT_NODE_TYPE, fz as SUMMARIZE_NODE_TYPE, fA as AGGREGATE_NODE_TYPE, fB as MERGE_NODE_TYPE, fC as MARKDOWN_NODE_TYPE, fD as XML_NODE_TYPE, fE as CRYPTO_NODE_TYPE, fF as EXTRACT_FROM_FILE_NODE_TYPE, fG as CONVERT_TO_FILE_NODE_TYPE, fH as COMPRESSION_NODE_TYPE, fI as EDIT_IMAGE_NODE_TYPE, fJ as FLOWS_CONTROL_SUBCATEGORY, fK as IF_NODE_TYPE, fL as SPLIT_IN_BATCHES_NODE_TYPE, fM as HELPERS_SUBCATEGORY, fN as HTTP_REQUEST_NODE_TYPE, fO as CODE_NODE_TYPE, fP as AI_CATEGORY_CHAINS, fQ as SET_NODE_TYPE, fR as DATETIME_NODE_TYPE, R as defineStore, fS as AI_CATEGORY_ROOT_NODES, fT as AI_CODE_NODE_TYPE, fU as AI_TRANSFORM_NODE_TYPE$1, fV as isValidCanvasConnectionMode, fW as CanvasConnectionMode, S as STORES, fX as NODE_CREATOR_OPEN_SOURCES, fY as isVueFlowConnection, fZ as nodeConnectionTypes, f_ as MOUSE_EVENT_BUTTON, f$ as MOUSE_EVENT_BUTTONS, g0 as KeyboardShortcutTooltip, U as useRoute, a3 as useDocumentTitle, a2 as useNpsSurveyStore, a1 as useProjectsStore, ap as useExecutionsStore, g1 as useExternalSecretsStore, g2 as useWorkflowsEEStore, g3 as useEnvironmentsStore, u as useUsersStore, D as useTagsStore, g4 as getBackgroundStyles, g5 as getNodeViewTab, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, an as MAIN_HEADER_TABS, g6 as ready$1, av as sourceControlEventBus, g7 as historyBus, g8 as WORKFLOW_LM_CHAT_MODAL_KEY, g9 as generateNodesGraph, ga as N8nAddInputEndpointType, gb as getFixedNodesList, gc as tryToParseNumber, gd as MoveNodeCommand, ah as VALID_WORKFLOW_IMPORT_URL_REGEX, ge as UPDATE_WEBHOOK_ID_NODE_TYPES, gf as getNewNodePosition, gg as DRAG_EVENT_DATA_KEY, gh as NODE_SIZE, gi as getConnectorLengths, gj as MAX_X_TO_PUSH_DOWNSTREAM_NODES, gk as PUSH_NODES_OFFSET, gl as generateOffsets, gm as resetConnectionAfterPull, gn as resetConnection, go as moveBackInputLabelPosition, gp as hideOutputNameLabel, gq as addConnectionActionsOverlay, gr as getOverlay, gs as OVERLAY_ENDPOINT_ARROW_ID, gt as getConnectorPaintStyleData, gu as AddConnectionCommand, gv as addConnectionTestData, gw as showOrHideItemsLabel, gx as showOrHideMidpointArrow, gy as isJSPlumbConnection, gz as hideConnectionActions, gA as showConnectionActions, gB as resetInputLabelPosition, gC as getConnectionInfo, gD as showOutputNameLabel, gE as RemoveConnectionCommand, gF as isJSPlumbEndpointElement, gG as isElementIntersection, gH as calculateElementIntersection, gI as showDropConnectionState, gJ as showPullConnectionState, gK as EVENT_CONNECTION_ABORT, gL as INTERCEPT_BEFORE_DROP, gM as EVENT_CONNECTION, gN as EVENT_DRAG_MOVE, gO as EVENT_CONNECTION_MOUSEOVER, gP as EVENT_CONNECTION_MOUSEOUT, gQ as EVENT_CONNECTION_MOVED, gR as EVENT_ENDPOINT_MOUSEOVER, gS as EVENT_ENDPOINT_MOUSEOUT, gT as EVENT_CONNECTION_DETACHED, gU as EVENT_CONNECTION_DRAG, gV as EVENT_PLUS_ENDPOINT_CLICK, gW as EVENT_ADD_INPUT_ENDPOINT_CLICK, gX as N8nPlusEndpointType, gY as usePostHog, gZ as CANVAS_AUTO_ADD_MANUAL_TRIGGER_EXPERIMENT, g_ as MODAL_CANCEL, g$ as addClassesToOverlays, h0 as getJSPlumbEndpoints, h1 as isSubNodeType, h2 as useDataSchema, h3 as OVERLAY_RUN_ITEMS_ID, h4 as RemoveNodeCommand, h5 as CanvasKey, h6 as CanvasNodeKey, h7 as CanvasNodeRenderType, h8 as N8nTooltip, h9 as CanvasNodeHandleKey, ha as useActiveElement, hb as useEventListener$2, hc as onKeyDown, hd as onKeyUp, he as useDebounceFn, hf as sanitizeHtml$1, hg as AddNodeCommand, hh as DEFAULT_NODE_SIZE, hi as CONFIGURATION_NODE_SIZE, hj as CONFIGURABLE_NODE_SIZE, hk as NEW_WORKFLOW_ID, hl as onBeforeRouteLeave } from "./index-BUjeBzRM.js";
3
+ import { c as capitalize$1, _ as _sfc_main$13, R as RunDataAi } from "./RunDataAi-DWyv1KtV.js";
4
+ import { F as FileSaver_minExports } from "./FileSaver.min-2E3H7obf.js";
5
+ import { c as convertToDisplayDateComponents } from "./dateFormatter-CfOgAO2k.js";
6
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-DbL83lsy.js";
7
+ import { g as globalLinkActionsEventBus, u as usePushConnectionStore } from "./pushConnection.store-BKOlrr3c.js";
8
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-C91tSyen.js";
9
+ import { u as useBeforeUnload, a as useNodeViewVersionSwitcher } from "./useNodeViewVersionSwitcher-D2zGsXPQ.js";
10
+ import { u as useBugReporting } from "./useBugReporting-lkBiyjPH.js";
10
11
  /**
11
12
  * vue v3.5.11
12
13
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
@@ -408,7 +409,7 @@ const useContextMenu = (onAction = () => {
408
409
  _dispatchAction
409
410
  };
410
411
  };
411
- const _sfc_main$$ = /* @__PURE__ */ defineComponent({
412
+ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
412
413
  __name: "ContextMenu",
413
414
  emits: ["action"],
414
415
  setup(__props, { emit: __emit }) {
@@ -485,15 +486,15 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
485
486
  });
486
487
  const contextMenu = "_contextMenu_1t4kq_1";
487
488
  const activator = "_activator_1t4kq_5";
488
- const style0$A = {
489
+ const style0$B = {
489
490
  contextMenu,
490
491
  activator
491
492
  };
492
- const cssModules$C = {
493
- "$style": style0$A
493
+ const cssModules$D = {
494
+ "$style": style0$B
494
495
  };
495
- const ContextMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$$, [["__cssModules", cssModules$C]]);
496
- const _sfc_main$_ = /* @__PURE__ */ defineComponent({
496
+ const ContextMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$10, [["__cssModules", cssModules$D]]);
497
+ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
497
498
  __name: "NodeTitle",
498
499
  props: {
499
500
  modelValue: { default: "" },
@@ -536,7 +537,7 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
536
537
  createBaseVNode("span", {
537
538
  class: normalizeClass(_ctx.$style.iconWrapper)
538
539
  }, [
539
- createVNode(_sfc_main$10, {
540
+ createVNode(_sfc_main$11, {
540
541
  "node-type": _ctx.nodeType,
541
542
  size: 18
542
543
  }, null, 8, ["node-type"])
@@ -623,7 +624,7 @@ const iconWrapper = "_iconWrapper_9bi3m_26";
623
624
  const editIconContainer = "_editIconContainer_9bi3m_39";
624
625
  const editButtons = "_editButtons_9bi3m_45";
625
626
  const editContainer = "_editContainer_9bi3m_53";
626
- const style0$z = {
627
+ const style0$A = {
627
628
  container: container$3,
628
629
  title: title$3,
629
630
  hoverable,
@@ -633,11 +634,11 @@ const style0$z = {
633
634
  editButtons,
634
635
  editContainer
635
636
  };
636
- const cssModules$B = {
637
- "$style": style0$z
637
+ const cssModules$C = {
638
+ "$style": style0$A
638
639
  };
639
- const NodeTitle = /* @__PURE__ */ _export_sfc$1(_sfc_main$_, [["__cssModules", cssModules$B]]);
640
- const _sfc_main$Z = /* @__PURE__ */ defineComponent({
640
+ const NodeTitle = /* @__PURE__ */ _export_sfc$1(_sfc_main$$, [["__cssModules", cssModules$C]]);
641
+ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
641
642
  __name: "NodeSettingsTabs",
642
643
  props: {
643
644
  modelValue: { default: "params" },
@@ -763,11 +764,11 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
763
764
  };
764
765
  }
765
766
  });
766
- const _hoisted_1$r = {
767
+ const _hoisted_1$u = {
767
768
  key: 0,
768
769
  class: "webhooks"
769
770
  };
770
- const _hoisted_2$i = ["title"];
771
+ const _hoisted_2$j = ["title"];
771
772
  const _hoisted_3$f = {
772
773
  key: 0,
773
774
  class: "node-webhooks"
@@ -790,7 +791,7 @@ const _hoisted_10$2 = {
790
791
  };
791
792
  const _hoisted_11$2 = { class: "url-field-full-width" };
792
793
  const _hoisted_12$1 = ["onClick"];
793
- const _sfc_main$Y = /* @__PURE__ */ defineComponent({
794
+ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
794
795
  __name: "NodeWebhooks",
795
796
  props: {
796
797
  node: {},
@@ -930,7 +931,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
930
931
  const _component_el_row = resolveComponent("el-row");
931
932
  const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
932
933
  const _component_el_collapse_transition = resolveComponent("el-collapse-transition");
933
- return webhooksNode.value.length && visibleWebhookUrls.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$r, [
934
+ return webhooksNode.value.length && visibleWebhookUrls.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$u, [
934
935
  createBaseVNode("div", {
935
936
  class: normalizeClass(["clickable headline", { expanded: !isMinimized.value }]),
936
937
  title: isMinimized.value ? baseText.value.clickToDisplay : baseText.value.clickToHide,
@@ -941,7 +942,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
941
942
  class: "minimize-button minimize-icon"
942
943
  }),
943
944
  createTextVNode(" " + toDisplayString(baseText.value.toggleTitle), 1)
944
- ], 10, _hoisted_2$i),
945
+ ], 10, _hoisted_2$j),
945
946
  createVNode(_component_el_collapse_transition, null, {
946
947
  default: withCtx(() => [
947
948
  !isMinimized.value ? (openBlock(), createElementBlock("div", _hoisted_3$f, [
@@ -1009,7 +1010,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
1009
1010
  };
1010
1011
  }
1011
1012
  });
1012
- const NodeWebhooks = /* @__PURE__ */ _export_sfc$1(_sfc_main$Y, [["__scopeId", "data-v-b6179980"]]);
1013
+ const NodeWebhooks = /* @__PURE__ */ _export_sfc$1(_sfc_main$Z, [["__scopeId", "data-v-b6179980"]]);
1013
1014
  const OnClickOutside = /* @__PURE__ */ defineComponent({
1014
1015
  name: "OnClickOutside",
1015
1016
  props: ["as", "options"],
@@ -1180,13 +1181,13 @@ function onScrollLock() {
1180
1181
  };
1181
1182
  }
1182
1183
  onScrollLock();
1183
- const _hoisted_1$q = ["data-test-id"];
1184
- const _hoisted_2$h = ["textContent"];
1184
+ const _hoisted_1$t = ["data-test-id"];
1185
+ const _hoisted_2$i = ["textContent"];
1185
1186
  const _hoisted_3$e = ["onClick"];
1186
1187
  const _hoisted_4$7 = ["onClick"];
1187
1188
  const _hoisted_5$6 = ["data-node-name"];
1188
1189
  const _hoisted_6$6 = ["onClick"];
1189
- const _sfc_main$X = /* @__PURE__ */ defineComponent({
1190
+ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
1190
1191
  __name: "NDVSubConnections",
1191
1192
  props: {
1192
1193
  rootNode: {}
@@ -1315,7 +1316,8 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1315
1316
  return (_ctx, _cache) => {
1316
1317
  const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
1317
1318
  const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
1318
- return openBlock(), createElementBlock("div", {
1319
+ return possibleConnections.value.length ? (openBlock(), createElementBlock("div", {
1320
+ key: 0,
1319
1321
  class: normalizeClass(_ctx.$style.container)
1320
1322
  }, [
1321
1323
  createBaseVNode("div", {
@@ -1336,7 +1338,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1336
1338
  [_ctx.$style.hasIssues]: hasInputIssues(connection.type)
1337
1339
  }),
1338
1340
  textContent: toDisplayString(`${connection.displayName}${connection.required ? " *" : ""}`)
1339
- }, null, 10, _hoisted_2$h),
1341
+ }, null, 10, _hoisted_2$i),
1340
1342
  createVNode(unref(OnClickOutside), {
1341
1343
  onTrigger: ($event) => expandConnectionGroup(connection.type, false)
1342
1344
  }, {
@@ -1421,7 +1423,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1421
1423
  class: normalizeClass(_ctx.$style.connectedNode),
1422
1424
  onClick: ($event) => onNodeClick(node2.node.name, connection.type)
1423
1425
  }, [
1424
- createVNode(_sfc_main$10, {
1426
+ createVNode(_sfc_main$11, {
1425
1427
  "node-type": node2.nodeType,
1426
1428
  "node-name": node2.node.name,
1427
1429
  "tooltip-position": "top",
@@ -1440,10 +1442,10 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1440
1442
  _: 2
1441
1443
  }, 1032, ["onTrigger"])
1442
1444
  ], 2)
1443
- ], 8, _hoisted_1$q);
1445
+ ], 8, _hoisted_1$t);
1444
1446
  }), 128))
1445
1447
  ], 6)
1446
- ], 2);
1448
+ ], 2)) : createCommentVNode("", true);
1447
1449
  };
1448
1450
  }
1449
1451
  });
@@ -1459,7 +1461,7 @@ const connectedNodesMultiple = "_connectedNodesMultiple_tfxh3_87";
1459
1461
  const connectedNode$1 = "_connectedNode_tfxh3_55";
1460
1462
  const connectedNodes = "_connectedNodes_tfxh3_55";
1461
1463
  const nodeWrapper = "_nodeWrapper_tfxh3_125";
1462
- const style0$y = {
1464
+ const style0$z = {
1463
1465
  container: container$2,
1464
1466
  connections,
1465
1467
  connectionType,
@@ -1474,14 +1476,14 @@ const style0$y = {
1474
1476
  connectedNodes,
1475
1477
  nodeWrapper
1476
1478
  };
1477
- const cssModules$A = {
1478
- "$style": style0$y
1479
+ const cssModules$B = {
1480
+ "$style": style0$z
1479
1481
  };
1480
- const NDVSubConnections = /* @__PURE__ */ _export_sfc$1(_sfc_main$X, [["__cssModules", cssModules$A]]);
1482
+ const NDVSubConnections = /* @__PURE__ */ _export_sfc$1(_sfc_main$Y, [["__cssModules", cssModules$B]]);
1481
1483
  const NODE_TEST_STEP_POPUP_COUNT_KEY = "N8N_NODE_TEST_STEP_POPUP_COUNT";
1482
1484
  const MAX_POPUP_COUNT = 10;
1483
1485
  const POPUP_UPDATE_DELAY = 3e3;
1484
- const _sfc_main$W = /* @__PURE__ */ defineComponent({
1486
+ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1485
1487
  ...{
1486
1488
  inheritAttrs: false
1487
1489
  },
@@ -1717,8 +1719,8 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
1717
1719
  };
1718
1720
  }
1719
1721
  });
1720
- const _hoisted_1$p = { class: "header-side-menu" };
1721
- const _hoisted_2$g = { key: 1 };
1722
+ const _hoisted_1$s = { class: "header-side-menu" };
1723
+ const _hoisted_2$h = { key: 1 };
1722
1724
  const _hoisted_3$d = {
1723
1725
  key: 0,
1724
1726
  class: "node-is-not-valid"
@@ -1745,7 +1747,7 @@ const _hoisted_11$1 = {
1745
1747
  class: "node-version",
1746
1748
  "data-test-id": "node-version"
1747
1749
  };
1748
- const _sfc_main$V = /* @__PURE__ */ defineComponent({
1750
+ const _sfc_main$W = /* @__PURE__ */ defineComponent({
1749
1751
  __name: "NodeSettings",
1750
1752
  props: {
1751
1753
  eventBus: {},
@@ -2248,7 +2250,8 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2248
2250
  }
2249
2251
  ],
2250
2252
  default: "stopWorkflow",
2251
- noDataExpression: i18n2.baseText("nodeSettings.onError.description")
2253
+ description: i18n2.baseText("nodeSettings.onError.description"),
2254
+ noDataExpression: true
2252
2255
  }
2253
2256
  ]
2254
2257
  );
@@ -2464,7 +2467,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2464
2467
  createBaseVNode("div", {
2465
2468
  class: normalizeClass(_ctx.$style.header)
2466
2469
  }, [
2467
- createBaseVNode("div", _hoisted_1$p, [
2470
+ createBaseVNode("div", _hoisted_1$s, [
2468
2471
  node2.value ? (openBlock(), createBlock(NodeTitle, {
2469
2472
  key: 0,
2470
2473
  class: "node-name",
@@ -2473,8 +2476,8 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2473
2476
  "read-only": isReadOnly.value,
2474
2477
  "onUpdate:modelValue": nameChanged
2475
2478
  }, null, 8, ["model-value", "node-type", "read-only"])) : createCommentVNode("", true),
2476
- isExecutable.value ? (openBlock(), createElementBlock("div", _hoisted_2$g, [
2477
- !_ctx.blockUI && node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$W, {
2479
+ isExecutable.value ? (openBlock(), createElementBlock("div", _hoisted_2$h, [
2480
+ !_ctx.blockUI && node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$X, {
2478
2481
  key: 0,
2479
2482
  "data-test-id": "node-execute-button",
2480
2483
  "node-name": node2.value.name,
@@ -2487,7 +2490,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2487
2490
  }, null, 8, ["node-name", "disabled", "tooltip"])) : createCommentVNode("", true)
2488
2491
  ])) : createCommentVNode("", true)
2489
2492
  ]),
2490
- node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$Z, {
2493
+ node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$_, {
2491
2494
  key: 0,
2492
2495
  "model-value": openPanel.value,
2493
2496
  "node-type": _ctx.nodeType,
@@ -2568,7 +2571,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2568
2571
  node: node2.value,
2569
2572
  "node-type-description": _ctx.nodeType
2570
2573
  }, null, 8, ["node", "node-type-description"]),
2571
- nodeValuesInitialized.value ? (openBlock(), createBlock(_sfc_main$11, {
2574
+ nodeValuesInitialized.value ? (openBlock(), createBlock(_sfc_main$12, {
2572
2575
  key: 0,
2573
2576
  parameters: parametersNoneSetting.value,
2574
2577
  "hide-delete": true,
@@ -2612,7 +2615,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2612
2615
  [vShow, openPanel.value === "params"]
2613
2616
  ]),
2614
2617
  withDirectives(createBaseVNode("div", null, [
2615
- createVNode(_sfc_main$11, {
2618
+ createVNode(_sfc_main$12, {
2616
2619
  parameters: parametersSetting.value,
2617
2620
  "node-values": nodeValues.value,
2618
2621
  "is-read-only": isReadOnly.value,
@@ -2622,7 +2625,7 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2622
2625
  onValueChanged: valueChanged,
2623
2626
  onParameterBlur
2624
2627
  }, null, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"]),
2625
- createVNode(_sfc_main$11, {
2628
+ createVNode(_sfc_main$12, {
2626
2629
  parameters: nodeSettings.value,
2627
2630
  "hide-delete": true,
2628
2631
  "node-values": nodeValues.value,
@@ -2661,16 +2664,16 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2661
2664
  const header$2 = "_header_1pn0y_1";
2662
2665
  const warningIcon = "_warningIcon_1pn0y_5";
2663
2666
  const descriptionContainer = "_descriptionContainer_1pn0y_10";
2664
- const style0$x = {
2667
+ const style0$y = {
2665
2668
  header: header$2,
2666
2669
  warningIcon,
2667
2670
  descriptionContainer
2668
2671
  };
2669
- const cssModules$z = {
2670
- "$style": style0$x
2672
+ const cssModules$A = {
2673
+ "$style": style0$y
2671
2674
  };
2672
- const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$V, [["__cssModules", cssModules$z], ["__scopeId", "data-v-08ca8efa"]]);
2673
- const _sfc_main$U = defineComponent({
2675
+ const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$W, [["__cssModules", cssModules$A], ["__scopeId", "data-v-1b928372"]]);
2676
+ const _sfc_main$V = defineComponent({
2674
2677
  components: {
2675
2678
  Draggable
2676
2679
  },
@@ -2701,7 +2704,7 @@ const rightArrow = "_rightArrow_1fum9_20 _arrow_1fum9_28";
2701
2704
  const visible$1 = "_visible_1fum9_24";
2702
2705
  const arrow = "_arrow_1fum9_28";
2703
2706
  const grid = "_grid_1fum9_46";
2704
- const style0$w = {
2707
+ const style0$x = {
2705
2708
  dragContainer,
2706
2709
  dragButton,
2707
2710
  leftArrow,
@@ -2759,12 +2762,12 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
2759
2762
  _: 1
2760
2763
  }, 8, ["class", "onDrag", "onDragstart", "onDragend"]);
2761
2764
  }
2762
- const cssModules$y = {
2763
- "$style": style0$w
2765
+ const cssModules$z = {
2766
+ "$style": style0$x
2764
2767
  };
2765
- const PanelDragButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$U, [["render", _sfc_render$8], ["__cssModules", cssModules$y]]);
2766
- const _hoisted_1$o = ["data-node-name", "data-node-placement", "onClick"];
2767
- const _sfc_main$T = /* @__PURE__ */ defineComponent({
2768
+ const PanelDragButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$V, [["render", _sfc_render$8], ["__cssModules", cssModules$z]]);
2769
+ const _hoisted_1$r = ["data-node-name", "data-node-placement", "onClick"];
2770
+ const _sfc_main$U = /* @__PURE__ */ defineComponent({
2768
2771
  __name: "NDVFloatingNodes",
2769
2772
  props: {
2770
2773
  rootNode: {}
@@ -2822,7 +2825,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
2822
2825
  /* right */
2823
2826
  ]: getINodesFromNames(
2824
2827
  workflow.getChildNodes(rootName, NodeConnectionType.Main, 1)
2825
- ),
2828
+ ).reverse(),
2826
2829
  [
2827
2830
  "inputMain"
2828
2831
  /* left */
@@ -2889,14 +2892,14 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
2889
2892
  "data-node-placement": connectionGroup,
2890
2893
  onClick: ($event) => emit("switchSelectedNode", node2.name)
2891
2894
  }, [
2892
- createVNode(_sfc_main$10, {
2895
+ createVNode(_sfc_main$11, {
2893
2896
  "node-type": nodeType,
2894
2897
  "node-name": node2.name,
2895
2898
  "tooltip-position": tooltipPositionMapper[connectionGroup],
2896
2899
  size: 35,
2897
2900
  circle: ""
2898
2901
  }, null, 8, ["node-type", "node-name", "tooltip-position"])
2899
- ], 10, _hoisted_1$o)
2902
+ ], 10, _hoisted_1$r)
2900
2903
  ]),
2901
2904
  _: 2
2902
2905
  }, 1032, ["placement"])) : createCommentVNode("", true)
@@ -2915,7 +2918,7 @@ const outputSub = "_outputSub_468qc_29";
2915
2918
  const outputMain = "_outputMain_468qc_40";
2916
2919
  const inputMain = "_inputMain_468qc_40";
2917
2920
  const connectedNode = "_connectedNode_468qc_63";
2918
- const style0$v = {
2921
+ const style0$w = {
2919
2922
  floatingNodes,
2920
2923
  nodesList,
2921
2924
  inputSub,
@@ -2924,16 +2927,16 @@ const style0$v = {
2924
2927
  inputMain,
2925
2928
  connectedNode
2926
2929
  };
2927
- const cssModules$x = {
2928
- "$style": style0$v
2930
+ const cssModules$y = {
2931
+ "$style": style0$w
2929
2932
  };
2930
- const NDVFloatingNodes = /* @__PURE__ */ _export_sfc$1(_sfc_main$T, [["__cssModules", cssModules$x]]);
2933
+ const NDVFloatingNodes = /* @__PURE__ */ _export_sfc$1(_sfc_main$U, [["__cssModules", cssModules$y]]);
2931
2934
  const SIDE_MARGIN = 24;
2932
2935
  const SIDE_PANELS_MARGIN = 80;
2933
2936
  const MIN_PANEL_WIDTH = 310;
2934
2937
  const PANEL_WIDTH = 350;
2935
2938
  const PANEL_WIDTH_LARGE = 420;
2936
- const _sfc_main$S = /* @__PURE__ */ defineComponent({
2939
+ const _sfc_main$T = /* @__PURE__ */ defineComponent({
2937
2940
  __name: "NDVDraggablePanels",
2938
2941
  props: {
2939
2942
  isDraggable: { type: Boolean },
@@ -3252,7 +3255,7 @@ const mainPanelInner = "_mainPanelInner_a6j4o_34";
3252
3255
  const dragging = "_dragging_a6j4o_41";
3253
3256
  const dragButtonContainer = "_dragButtonContainer_a6j4o_54";
3254
3257
  const visible = "_visible_a6j4o_70";
3255
- const style0$u = {
3258
+ const style0$v = {
3256
3259
  dataPanel,
3257
3260
  inputPanel,
3258
3261
  outputPanel,
@@ -3264,14 +3267,14 @@ const style0$u = {
3264
3267
  dragButtonContainer,
3265
3268
  visible
3266
3269
  };
3267
- const cssModules$w = {
3268
- "$style": style0$u
3270
+ const cssModules$x = {
3271
+ "$style": style0$v
3269
3272
  };
3270
- const NDVDraggablePanels = /* @__PURE__ */ _export_sfc$1(_sfc_main$S, [["__cssModules", cssModules$w]]);
3271
- const _hoisted_1$n = { key: 0 };
3272
- const _hoisted_2$f = { key: 1 };
3273
+ const NDVDraggablePanels = /* @__PURE__ */ _export_sfc$1(_sfc_main$T, [["__cssModules", cssModules$x]]);
3274
+ const _hoisted_1$q = { key: 0 };
3275
+ const _hoisted_2$g = { key: 1 };
3273
3276
  const _hoisted_3$c = { key: 2 };
3274
- const _sfc_main$R = /* @__PURE__ */ defineComponent({
3277
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
3275
3278
  __name: "RunDataPinButton",
3276
3279
  props: {
3277
3280
  tooltipContentsVisibility: {},
@@ -3297,7 +3300,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
3297
3300
  visible: visible2.value
3298
3301
  }, {
3299
3302
  content: withCtx(() => [
3300
- props.tooltipContentsVisibility.binaryDataTooltipContent ? (openBlock(), createElementBlock("div", _hoisted_1$n, toDisplayString(unref(locale).baseText("ndv.pinData.pin.binary")), 1)) : props.tooltipContentsVisibility.pinDataDiscoveryTooltipContent ? (openBlock(), createElementBlock("div", _hoisted_2$f, toDisplayString(unref(locale).baseText("node.discovery.pinData.ndv")), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$c, [
3303
+ props.tooltipContentsVisibility.binaryDataTooltipContent ? (openBlock(), createElementBlock("div", _hoisted_1$q, toDisplayString(unref(locale).baseText("ndv.pinData.pin.binary")), 1)) : props.tooltipContentsVisibility.pinDataDiscoveryTooltipContent ? (openBlock(), createElementBlock("div", _hoisted_2$g, toDisplayString(unref(locale).baseText("node.discovery.pinData.ndv")), 1)) : (openBlock(), createElementBlock("div", _hoisted_3$c, [
3301
3304
  createBaseVNode("strong", null, toDisplayString(unref(locale).baseText("ndv.pinData.pin.title")), 1),
3302
3305
  createVNode(_component_n8n_text, {
3303
3306
  size: "small",
@@ -3336,13 +3339,13 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
3336
3339
  }
3337
3340
  });
3338
3341
  const pinDataButton = "_pinDataButton_9p8um_1";
3339
- const style0$t = {
3342
+ const style0$u = {
3340
3343
  pinDataButton
3341
3344
  };
3342
- const cssModules$v = {
3343
- "$style": style0$t
3345
+ const cssModules$w = {
3346
+ "$style": style0$u
3344
3347
  };
3345
- const __unplugin_components_1$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$R, [["__cssModules", cssModules$v]]);
3348
+ const __unplugin_components_1$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$S, [["__cssModules", cssModules$w]]);
3346
3349
  var vueJsonPretty = { exports: {} };
3347
3350
  const require$$0 = /* @__PURE__ */ getAugmentedNamespace(vue_runtime_esmBundler);
3348
3351
  (function(module, exports) {
@@ -3689,7 +3692,7 @@ const sanitizeOptions = {
3689
3692
  head: ""
3690
3693
  }
3691
3694
  };
3692
- const _sfc_main$Q = {
3695
+ const _sfc_main$R = {
3693
3696
  name: "RunDataHtml",
3694
3697
  props: {
3695
3698
  inputHtml: {
@@ -3703,20 +3706,20 @@ const _sfc_main$Q = {
3703
3706
  }
3704
3707
  }
3705
3708
  };
3706
- const _hoisted_1$m = ["srcdoc"];
3709
+ const _hoisted_1$p = ["srcdoc"];
3707
3710
  function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
3708
3711
  return openBlock(), createElementBlock("iframe", {
3709
3712
  class: "__html-display",
3710
3713
  srcdoc: $options.sanitizedHtml
3711
- }, null, 8, _hoisted_1$m);
3714
+ }, null, 8, _hoisted_1$p);
3712
3715
  }
3713
- const RunDataHtml = /* @__PURE__ */ _export_sfc$1(_sfc_main$Q, [["render", _sfc_render$7]]);
3716
+ const RunDataHtml = /* @__PURE__ */ _export_sfc$1(_sfc_main$R, [["render", _sfc_render$7]]);
3714
3717
  const RunDataHtml$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3715
3718
  __proto__: null,
3716
3719
  default: RunDataHtml
3717
3720
  }, Symbol.toStringTag, { value: "Module" }));
3718
- const _hoisted_1$l = { key: 0 };
3719
- const _hoisted_2$e = { key: 1 };
3721
+ const _hoisted_1$o = { key: 0 };
3722
+ const _hoisted_2$f = { key: 1 };
3720
3723
  const _hoisted_3$b = { key: 2 };
3721
3724
  const _hoisted_4$5 = {
3722
3725
  key: 0,
@@ -3732,7 +3735,7 @@ const _hoisted_6$4 = {
3732
3735
  const _hoisted_7$3 = ["src", "type"];
3733
3736
  const _hoisted_8$3 = ["src"];
3734
3737
  const _hoisted_9$2 = ["src"];
3735
- const _sfc_main$P = /* @__PURE__ */ defineComponent({
3738
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
3736
3739
  __name: "BinaryDataDisplayEmbed",
3737
3740
  props: {
3738
3741
  binaryData: {}
@@ -3774,7 +3777,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
3774
3777
  });
3775
3778
  return (_ctx, _cache) => {
3776
3779
  return openBlock(), createElementBlock("span", null, [
3777
- isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_1$l, "Loading binary data...")) : error2.value ? (openBlock(), createElementBlock("div", _hoisted_2$e, "Error loading binary data")) : (openBlock(), createElementBlock("span", _hoisted_3$b, [
3780
+ isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_1$o, "Loading binary data...")) : error2.value ? (openBlock(), createElementBlock("div", _hoisted_2$f, "Error loading binary data")) : (openBlock(), createElementBlock("span", _hoisted_3$b, [
3778
3781
  _ctx.binaryData.fileType === "video" ? (openBlock(), createElementBlock("video", _hoisted_4$5, [
3779
3782
  createBaseVNode("source", {
3780
3783
  src: embedSource.value,
@@ -3808,9 +3811,9 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
3808
3811
  };
3809
3812
  }
3810
3813
  });
3811
- const _hoisted_1$k = { class: "binary-data-window-wrapper" };
3812
- const _hoisted_2$d = { key: 0 };
3813
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
3814
+ const _hoisted_1$n = { class: "binary-data-window-wrapper" };
3815
+ const _hoisted_2$e = { key: 0 };
3816
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
3814
3817
  __name: "BinaryDataDisplay",
3815
3818
  props: {
3816
3819
  displayData: {},
@@ -3868,8 +3871,8 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
3868
3871
  label: _ctx.$locale.baseText("binaryDataDisplay.backToList"),
3869
3872
  onClick: withModifiers(closeWindow, ["stop"])
3870
3873
  }, null, 8, ["title", "label"]),
3871
- createBaseVNode("div", _hoisted_1$k, [
3872
- !binaryData.value ? (openBlock(), createElementBlock("div", _hoisted_2$d, toDisplayString(_ctx.$locale.baseText("binaryDataDisplay.noDataFoundToDisplay")), 1)) : (openBlock(), createBlock(_sfc_main$P, {
3874
+ createBaseVNode("div", _hoisted_1$n, [
3875
+ !binaryData.value ? (openBlock(), createElementBlock("div", _hoisted_2$e, toDisplayString(_ctx.$locale.baseText("binaryDataDisplay.noDataFoundToDisplay")), 1)) : (openBlock(), createBlock(_sfc_main$Q, {
3873
3876
  key: 1,
3874
3877
  "binary-data": binaryData.value
3875
3878
  }, null, 8, ["binary-data"]))
@@ -3879,25 +3882,25 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
3879
3882
  }
3880
3883
  });
3881
3884
  const LazyRunDataTable = defineAsyncComponent(
3882
- async () => await __vitePreload(() => import("./RunDataTable-CNdHnjmM.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
3885
+ async () => await __vitePreload(() => import("./RunDataTable-CSd24Wzt.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
3883
3886
  );
3884
3887
  const LazyRunDataJson = defineAsyncComponent(
3885
- async () => await __vitePreload(() => import("./RunDataJson-BR2zl0xs.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13]) : void 0)
3888
+ async () => await __vitePreload(() => import("./RunDataJson-BkOB7Mi5.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14]) : void 0)
3886
3889
  );
3887
3890
  const LazyRunDataSchema = defineAsyncComponent(
3888
- async () => await __vitePreload(() => import("./index-TQ22MZub.js").then((n) => n.jr), true ? __vite__mapDeps([1,2]) : void 0)
3891
+ async () => await __vitePreload(() => import("./index-BUjeBzRM.js").then((n) => n.jw), true ? __vite__mapDeps([1,2]) : void 0)
3889
3892
  );
3890
3893
  const LazyRunDataHtml = defineAsyncComponent(
3891
3894
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
3892
3895
  );
3893
3896
  const LazyRunDataSearch = defineAsyncComponent(
3894
- async () => await __vitePreload(() => import("./RunDataSearch-aEp6SsT6.js"), true ? __vite__mapDeps([14,1,2,15]) : void 0)
3897
+ async () => await __vitePreload(() => import("./RunDataSearch-CdIFsfvp.js"), true ? __vite__mapDeps([15,1,2,16]) : void 0)
3895
3898
  );
3896
- const _sfc_main$N = defineComponent({
3899
+ const _sfc_main$O = defineComponent({
3897
3900
  name: "RunData",
3898
3901
  components: {
3899
- BinaryDataDisplay: _sfc_main$O,
3900
- NodeErrorView: _sfc_main$12,
3902
+ BinaryDataDisplay: _sfc_main$P,
3903
+ NodeErrorView: _sfc_main$13,
3901
3904
  JsonEditor: __unplugin_components_2$2,
3902
3905
  LazyRunDataTable,
3903
3906
  LazyRunDataJson,
@@ -4058,6 +4061,23 @@ const _sfc_main$N = defineComponent({
4058
4061
  }
4059
4062
  return this.nodeTypesStore.isTriggerNode(this.node.type);
4060
4063
  },
4064
+ showPinButton() {
4065
+ var _a;
4066
+ if (!this.rawInputData.length && !this.pinnedData.hasData.value) {
4067
+ return false;
4068
+ }
4069
+ if (this.editMode.enabled) {
4070
+ return false;
4071
+ }
4072
+ if ((_a = this.binaryData) == null ? void 0 : _a.length) {
4073
+ return this.isPaneTypeOutput;
4074
+ }
4075
+ return this.canPinData;
4076
+ },
4077
+ pinButtonDisabled() {
4078
+ var _a;
4079
+ return this.pinnedData.hasData.value || !this.rawInputData.length || !!((_a = this.binaryData) == null ? void 0 : _a.length) || this.isReadOnlyRoute || this.readOnlyEnv;
4080
+ },
4061
4081
  canPinData() {
4062
4082
  if (this.node === null) {
4063
4083
  return false;
@@ -4909,7 +4929,7 @@ const stretchVertically = "_stretchVertically_1i220_276";
4909
4929
  const uiBlocker = "_uiBlocker_1i220_280";
4910
4930
  const hintCallout = "_hintCallout_1i220_285";
4911
4931
  const schema = "_schema_1i220_291";
4912
- const style0$s = {
4932
+ const style0$t = {
4913
4933
  infoIcon,
4914
4934
  center,
4915
4935
  container: container$1,
@@ -4949,11 +4969,11 @@ const style0$s = {
4949
4969
  hintCallout,
4950
4970
  schema
4951
4971
  };
4952
- const _hoisted_1$j = {
4972
+ const _hoisted_1$m = {
4953
4973
  key: 0,
4954
4974
  class: "ml-4xs"
4955
4975
  };
4956
- const _hoisted_2$c = { key: 1 };
4976
+ const _hoisted_2$d = { key: 1 };
4957
4977
  const _hoisted_3$a = { key: 0 };
4958
4978
  const _hoisted_4$4 = ["data-test-id"];
4959
4979
  const _hoisted_5$3 = { key: 0 };
@@ -4962,10 +4982,10 @@ const _hoisted_7$2 = { key: 2 };
4962
4982
  const _hoisted_8$2 = { key: 3 };
4963
4983
  const _hoisted_9$1 = { key: 4 };
4964
4984
  function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
4965
- var _a, _b, _c, _d, _e, _f;
4985
+ var _a, _b, _c, _d;
4966
4986
  const _component_n8n_link = resolveComponent("n8n-link");
4967
4987
  const _component_n8n_callout = resolveComponent("n8n-callout");
4968
- const _component_BinaryDataDisplay = _sfc_main$O;
4988
+ const _component_BinaryDataDisplay = _sfc_main$P;
4969
4989
  const _component_LazyRunDataSearch = resolveComponent("LazyRunDataSearch");
4970
4990
  const _component_n8n_radio_buttons = resolveComponent("n8n-radio-buttons");
4971
4991
  const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
@@ -4979,7 +4999,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
4979
4999
  const _component_n8n_spinner = resolveComponent("n8n-spinner");
4980
5000
  const _component_JsonEditor = __unplugin_components_2$2;
4981
5001
  const _component_n8n_info_tip = resolveComponent("n8n-info-tip");
4982
- const _component_NodeErrorView = _sfc_main$12;
5002
+ const _component_NodeErrorView = _sfc_main$13;
4983
5003
  const _component_i18n_t = resolveComponent("i18n-t");
4984
5004
  const _component_LazyRunDataTable = resolveComponent("LazyRunDataTable");
4985
5005
  const _component_LazyRunDataJson = resolveComponent("LazyRunDataJson");
@@ -5015,12 +5035,13 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
5015
5035
  ]),
5016
5036
  default: withCtx(() => [
5017
5037
  createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.pindata.thisDataIsPinned")) + " ", 1),
5018
- !_ctx.isReadOnlyRoute && !_ctx.readOnlyEnv ? (openBlock(), createElementBlock("span", _hoisted_1$j, [
5038
+ !_ctx.isReadOnlyRoute && !_ctx.readOnlyEnv ? (openBlock(), createElementBlock("span", _hoisted_1$m, [
5019
5039
  createVNode(_component_n8n_link, {
5020
5040
  theme: "secondary",
5021
5041
  size: "small",
5022
5042
  underline: "",
5023
5043
  bold: "",
5044
+ "data-test-id": "ndv-unpin-data",
5024
5045
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.onTogglePinData({ source: "banner-link" }), ["stop"]))
5025
5046
  }, {
5026
5047
  default: withCtx(() => [
@@ -5086,11 +5107,11 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
5086
5107
  }, null, 8, ["title", "disabled"])), [
5087
5108
  [vShow, !_ctx.editMode.enabled]
5088
5109
  ]) : createCommentVNode("", true),
5089
- (_ctx.canPinData || !!((_b = _ctx.binaryData) == null ? void 0 : _b.length)) && _ctx.rawInputData.length && !_ctx.editMode.enabled ? (openBlock(), createBlock(_component_RunDataPinButton, {
5110
+ _ctx.showPinButton ? (openBlock(), createBlock(_component_RunDataPinButton, {
5090
5111
  key: 1,
5091
- disabled: !_ctx.rawInputData.length && !_ctx.pinnedData.hasData.value || _ctx.isReadOnlyRoute || _ctx.readOnlyEnv || !!((_c = _ctx.binaryData) == null ? void 0 : _c.length),
5112
+ disabled: _ctx.pinButtonDisabled,
5092
5113
  "tooltip-contents-visibility": {
5093
- binaryDataTooltipContent: !!((_d = _ctx.binaryData) == null ? void 0 : _d.length),
5114
+ binaryDataTooltipContent: !!((_b = _ctx.binaryData) == null ? void 0 : _b.length),
5094
5115
  pinDataDiscoveryTooltipContent: _ctx.isControlledPinDataTooltip && _ctx.pinDataDiscoveryTooltipVisible
5095
5116
  },
5096
5117
  "data-pinning-docs-url": _ctx.dataPinningDocsUrl,
@@ -5310,12 +5331,12 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
5310
5331
  renderSlot(_ctx.$slots, "node-waiting", {}, () => [
5311
5332
  _cache[13] || (_cache[13] = createTextVNode("xxx"))
5312
5333
  ], true)
5313
- ], 2)) : !_ctx.hasNodeRun && !(_ctx.displaysMultipleNodes && ((_e = _ctx.node) == null ? void 0 : _e.disabled)) ? (openBlock(), createElementBlock("div", {
5334
+ ], 2)) : !_ctx.hasNodeRun && !(_ctx.displaysMultipleNodes && ((_c = _ctx.node) == null ? void 0 : _c.disabled)) ? (openBlock(), createElementBlock("div", {
5314
5335
  key: 4,
5315
5336
  class: normalizeClass(_ctx.$style.center)
5316
5337
  }, [
5317
5338
  renderSlot(_ctx.$slots, "node-not-run", {}, void 0, true)
5318
- ], 2)) : _ctx.paneType === "input" && !_ctx.displaysMultipleNodes && ((_f = _ctx.node) == null ? void 0 : _f.disabled) ? (openBlock(), createElementBlock("div", {
5339
+ ], 2)) : _ctx.paneType === "input" && !_ctx.displaysMultipleNodes && ((_d = _ctx.node) == null ? void 0 : _d.disabled) ? (openBlock(), createElementBlock("div", {
5319
5340
  key: 5,
5320
5341
  class: normalizeClass(_ctx.$style.center)
5321
5342
  }, [
@@ -5356,7 +5377,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
5356
5377
  ];
5357
5378
  }),
5358
5379
  _: 1
5359
- }, 8, ["class"])) : _ctx.$slots["content"] ? (openBlock(), createElementBlock("div", _hoisted_2$c, [
5380
+ }, 8, ["class"])) : _ctx.$slots["content"] ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
5360
5381
  _ctx.workflowRunErrorAsNodeError ? (openBlock(), createBlock(_component_NodeErrorView, {
5361
5382
  key: 0,
5362
5383
  error: _ctx.workflowRunErrorAsNodeError,
@@ -5699,7 +5720,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
5699
5720
  }), 128))
5700
5721
  ], 2)) : createCommentVNode("", true)
5701
5722
  ], 2),
5702
- _ctx.hasNodeRun && !_ctx.hasRunError && _ctx.binaryData.length === 0 && _ctx.dataCount > _ctx.pageSize && !_ctx.isSchemaView && !_ctx.isArtificialRecoveredEventItem ? withDirectives((openBlock(), createElementBlock("div", {
5723
+ _ctx.hasNodeRun && !_ctx.hasRunError && _ctx.displayMode !== "binary" && _ctx.dataCount > _ctx.pageSize && !_ctx.isSchemaView && !_ctx.isArtificialRecoveredEventItem ? withDirectives((openBlock(), createElementBlock("div", {
5703
5724
  key: 7,
5704
5725
  class: normalizeClass(_ctx.$style.pagination),
5705
5726
  "data-test-id": "ndv-data-pagination"
@@ -5751,11 +5772,11 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
5751
5772
  }, null, 8, ["show", "class"])
5752
5773
  ], 34);
5753
5774
  }
5754
- const cssModules$u = {
5755
- "$style": style0$s
5775
+ const cssModules$v = {
5776
+ "$style": style0$t
5756
5777
  };
5757
- const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$N, [["render", _sfc_render$6], ["__cssModules", cssModules$u], ["__scopeId", "data-v-714627a3"]]);
5758
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
5778
+ const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$O, [["render", _sfc_render$6], ["__cssModules", cssModules$v], ["__scopeId", "data-v-3b7f5706"]]);
5779
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
5759
5780
  __name: "RunInfo",
5760
5781
  props: {
5761
5782
  taskData: {},
@@ -5804,57 +5825,74 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
5804
5825
  ])
5805
5826
  ]),
5806
5827
  _: 1
5807
- })) : runMetadata.value ? (openBlock(), createBlock(_component_n8n_info_tip, {
5828
+ })) : runMetadata.value ? (openBlock(), createElementBlock("div", {
5808
5829
  key: 1,
5809
- type: "tooltip",
5810
- theme: theme.value,
5811
- "data-test-id": `node-run-info-${theme.value}`,
5812
- "tooltip-placement": "right"
5813
- }, {
5814
- default: withCtx(() => [
5815
- createBaseVNode("div", null, [
5816
- createVNode(_component_n8n_text, {
5817
- bold: true,
5818
- size: "small"
5819
- }, {
5820
- default: withCtx(() => {
5821
- var _a;
5822
- return [
5823
- createTextVNode(toDisplayString(((_a = runTaskData.value) == null ? void 0 : _a.error) ? unref(i18n2).baseText("runData.executionStatus.failed") : unref(i18n2).baseText("runData.executionStatus.success")), 1)
5824
- ];
5830
+ class: normalizeClass(_ctx.$style.tooltipRow)
5831
+ }, [
5832
+ createVNode(_component_n8n_info_tip, {
5833
+ type: "note",
5834
+ theme: theme.value,
5835
+ "data-test-id": `node-run-status-${theme.value}`
5836
+ }, null, 8, ["theme", "data-test-id"]),
5837
+ createVNode(_component_n8n_info_tip, {
5838
+ type: "tooltip",
5839
+ theme: "info",
5840
+ "data-test-id": `node-run-info`,
5841
+ "tooltip-placement": "right"
5842
+ }, {
5843
+ default: withCtx(() => [
5844
+ createBaseVNode("div", null, [
5845
+ createVNode(_component_n8n_text, {
5846
+ bold: true,
5847
+ size: "small"
5848
+ }, {
5849
+ default: withCtx(() => {
5850
+ var _a;
5851
+ return [
5852
+ createTextVNode(toDisplayString(((_a = runTaskData.value) == null ? void 0 : _a.error) ? unref(i18n2).baseText("runData.executionStatus.failed") : unref(i18n2).baseText("runData.executionStatus.success")), 1)
5853
+ ];
5854
+ }),
5855
+ _: 1
5825
5856
  }),
5826
- _: 1
5827
- }),
5828
- _cache[0] || (_cache[0] = createBaseVNode("br", null, null, -1)),
5829
- createVNode(_component_n8n_text, {
5830
- bold: true,
5831
- size: "small"
5832
- }, {
5833
- default: withCtx(() => [
5834
- createTextVNode(toDisplayString(unref(i18n2).baseText("runData.startTime") + ":"), 1)
5835
- ]),
5836
- _: 1
5837
- }),
5838
- createTextVNode(" " + toDisplayString(runMetadata.value.startTime), 1),
5839
- _cache[1] || (_cache[1] = createBaseVNode("br", null, null, -1)),
5840
- createVNode(_component_n8n_text, {
5841
- bold: true,
5842
- size: "small"
5843
- }, {
5844
- default: withCtx(() => [
5845
- createTextVNode(toDisplayString(unref(i18n2).baseText("runData.executionTime") + ":"), 1)
5846
- ]),
5847
- _: 1
5848
- }),
5849
- createTextVNode(" " + toDisplayString(runMetadata.value.executionTime) + " " + toDisplayString(unref(i18n2).baseText("runData.ms")), 1)
5850
- ])
5851
- ]),
5852
- _: 1
5853
- }, 8, ["theme", "data-test-id"])) : createCommentVNode("", true);
5857
+ _cache[0] || (_cache[0] = createBaseVNode("br", null, null, -1)),
5858
+ createVNode(_component_n8n_text, {
5859
+ bold: true,
5860
+ size: "small"
5861
+ }, {
5862
+ default: withCtx(() => [
5863
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.startTime") + ":"), 1)
5864
+ ]),
5865
+ _: 1
5866
+ }),
5867
+ createTextVNode(" " + toDisplayString(runMetadata.value.startTime), 1),
5868
+ _cache[1] || (_cache[1] = createBaseVNode("br", null, null, -1)),
5869
+ createVNode(_component_n8n_text, {
5870
+ bold: true,
5871
+ size: "small"
5872
+ }, {
5873
+ default: withCtx(() => [
5874
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.executionTime") + ":"), 1)
5875
+ ]),
5876
+ _: 1
5877
+ }),
5878
+ createTextVNode(" " + toDisplayString(runMetadata.value.executionTime) + " " + toDisplayString(unref(i18n2).baseText("runData.ms")), 1)
5879
+ ])
5880
+ ]),
5881
+ _: 1
5882
+ })
5883
+ ], 2)) : createCommentVNode("", true);
5854
5884
  };
5855
5885
  }
5856
5886
  });
5857
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
5887
+ const tooltipRow = "_tooltipRow_1azk3_1";
5888
+ const style0$s = {
5889
+ tooltipRow
5890
+ };
5891
+ const cssModules$u = {
5892
+ "$style": style0$s
5893
+ };
5894
+ const RunInfo = /* @__PURE__ */ _export_sfc$1(_sfc_main$N, [["__cssModules", cssModules$u]]);
5895
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
5858
5896
  __name: "OutputPanel",
5859
5897
  props: {
5860
5898
  workflow: {},
@@ -6084,7 +6122,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
6084
6122
  key: 1,
6085
6123
  class: normalizeClass(_ctx.$style.title)
6086
6124
  }, toDisplayString(_ctx.$locale.baseText(outputPanelEditMode.value.enabled ? "ndv.output.edit" : "ndv.output")), 3)),
6087
- hasNodeRun.value && !unref(pinnedData2).hasData.value && runsCount.value === 1 ? withDirectives((openBlock(), createBlock(_sfc_main$M, {
6125
+ hasNodeRun.value && !unref(pinnedData2).hasData.value && runsCount.value === 1 ? withDirectives((openBlock(), createBlock(RunInfo, {
6088
6126
  key: 2,
6089
6127
  "task-data": runTaskData.value,
6090
6128
  "has-stale-data": staleData.value,
@@ -6208,7 +6246,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
6208
6246
  !unref(pinnedData2).hasData.value && runsCount.value > 1 ? {
6209
6247
  name: "run-info",
6210
6248
  fn: withCtx(() => [
6211
- createVNode(_sfc_main$M, { "task-data": runTaskData.value }, null, 8, ["task-data"])
6249
+ createVNode(RunInfo, { "task-data": runTaskData.value }, null, 8, ["task-data"])
6212
6250
  ]),
6213
6251
  key: "1"
6214
6252
  } : void 0
@@ -6231,9 +6269,9 @@ const style0$r = {
6231
6269
  const cssModules$t = {
6232
6270
  "$style": style0$r
6233
6271
  };
6234
- const OutputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$L, [["__cssModules", cssModules$t]]);
6235
- const _sfc_main$K = {};
6236
- const _hoisted_1$i = {
6272
+ const OutputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$M, [["__cssModules", cssModules$t]]);
6273
+ const _sfc_main$L = {};
6274
+ const _hoisted_1$l = {
6237
6275
  width: "112",
6238
6276
  height: "80",
6239
6277
  viewBox: "0 0 112 80",
@@ -6242,13 +6280,13 @@ const _hoisted_1$i = {
6242
6280
  "xmlns:xlink": "http://www.w3.org/1999/xlink"
6243
6281
  };
6244
6282
  function _sfc_render$5(_ctx, _cache) {
6245
- return openBlock(), createElementBlock("svg", _hoisted_1$i, _cache[0] || (_cache[0] = [
6283
+ return openBlock(), createElementBlock("svg", _hoisted_1$l, _cache[0] || (_cache[0] = [
6246
6284
  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)
6247
6285
  ]));
6248
6286
  }
6249
- const __unplugin_components_2$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["render", _sfc_render$5]]);
6250
- const _hoisted_1$h = { key: 0 };
6251
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
6287
+ const __unplugin_components_2$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$L, [["render", _sfc_render$5]]);
6288
+ const _hoisted_1$k = { key: 0 };
6289
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
6252
6290
  __name: "InputNodeSelect",
6253
6291
  props: {
6254
6292
  nodes: {},
@@ -6344,7 +6382,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6344
6382
  prefix: withCtx(() => {
6345
6383
  var _a;
6346
6384
  return [
6347
- createVNode(_sfc_main$10, {
6385
+ createVNode(_sfc_main$11, {
6348
6386
  disabled: (_a = selectedInputNode.value) == null ? void 0 : _a.disabled,
6349
6387
  "node-type": selectedInputNodeType.value,
6350
6388
  size: 14,
@@ -6362,7 +6400,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6362
6400
  "data-test-id": "ndv-input-option"
6363
6401
  }, {
6364
6402
  default: withCtx(() => [
6365
- createVNode(_sfc_main$10, {
6403
+ createVNode(_sfc_main$11, {
6366
6404
  disabled: node2.disabled,
6367
6405
  "node-type": type,
6368
6406
  size: 14,
@@ -6373,7 +6411,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6373
6411
  class: normalizeClass(_ctx.$style.title)
6374
6412
  }, [
6375
6413
  createTextVNode(toDisplayString(title2(node2.name)) + " ", 1),
6376
- node2.disabled ? (openBlock(), createElementBlock("span", _hoisted_1$h, "(" + toDisplayString(unref(i18n2).baseText("node.disabled")) + ")", 1)) : createCommentVNode("", true)
6414
+ node2.disabled ? (openBlock(), createElementBlock("span", _hoisted_1$k, "(" + toDisplayString(unref(i18n2).baseText("node.disabled")) + ")", 1)) : createCommentVNode("", true)
6377
6415
  ], 2),
6378
6416
  createBaseVNode("span", {
6379
6417
  class: normalizeClass(_ctx.$style.subtitle)
@@ -6405,10 +6443,10 @@ const style0$q = {
6405
6443
  const cssModules$s = {
6406
6444
  "$style": style0$q
6407
6445
  };
6408
- const __unplugin_components_0$7 = /* @__PURE__ */ _export_sfc$1(_sfc_main$J, [["__cssModules", cssModules$s]]);
6409
- const _sfc_main$I = defineComponent({
6446
+ const __unplugin_components_0$7 = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["__cssModules", cssModules$s]]);
6447
+ const _sfc_main$J = defineComponent({
6410
6448
  name: "InputPanel",
6411
- components: { RunData: __unplugin_components_3, NodeExecuteButton: _sfc_main$W, WireMeUp: __unplugin_components_2$1, InputNodeSelect: __unplugin_components_0$7 },
6449
+ components: { RunData: __unplugin_components_3, NodeExecuteButton: _sfc_main$X, WireMeUp: __unplugin_components_2$1, InputNodeSelect: __unplugin_components_0$7 },
6412
6450
  props: {
6413
6451
  currentNodeName: {
6414
6452
  type: String
@@ -6696,7 +6734,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
6696
6734
  const _component_n8n_radio_buttons = resolveComponent("n8n-radio-buttons");
6697
6735
  const _component_InputNodeSelect = __unplugin_components_0$7;
6698
6736
  const _component_n8n_text = resolveComponent("n8n-text");
6699
- const _component_NodeExecuteButton = _sfc_main$W;
6737
+ const _component_NodeExecuteButton = _sfc_main$X;
6700
6738
  const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
6701
6739
  const _component_WireMeUp = __unplugin_components_2$1;
6702
6740
  const _component_RunData = __unplugin_components_3;
@@ -6917,13 +6955,13 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
6917
6955
  const cssModules$r = {
6918
6956
  "$style": style0$p
6919
6957
  };
6920
- const InputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$I, [["render", _sfc_render$4], ["__cssModules", cssModules$r]]);
6921
- const _sfc_main$H = defineComponent({
6958
+ const InputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$J, [["render", _sfc_render$4], ["__cssModules", cssModules$r]]);
6959
+ const _sfc_main$I = defineComponent({
6922
6960
  name: "TriggerPanel",
6923
6961
  components: {
6924
- NodeExecuteButton: _sfc_main$W,
6962
+ NodeExecuteButton: _sfc_main$X,
6925
6963
  CopyInput,
6926
- NodeIcon: _sfc_main$10
6964
+ NodeIcon: _sfc_main$11
6927
6965
  },
6928
6966
  props: {
6929
6967
  nodeName: {
@@ -7231,8 +7269,8 @@ const style0$o = {
7231
7269
  shake: shake$1,
7232
7270
  accordion
7233
7271
  };
7234
- const _hoisted_1$g = { key: "empty" };
7235
- const _hoisted_2$b = { key: "listening" };
7272
+ const _hoisted_1$j = { key: "empty" };
7273
+ const _hoisted_2$c = { key: "listening" };
7236
7274
  const _hoisted_3$9 = { key: 0 };
7237
7275
  const _hoisted_4$3 = { key: 1 };
7238
7276
  const _hoisted_5$2 = { key: 0 };
@@ -7243,11 +7281,11 @@ const _hoisted_7$1 = {
7243
7281
  };
7244
7282
  const _hoisted_8$1 = ["textContent"];
7245
7283
  function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
7246
- const _component_NodeIcon = _sfc_main$10;
7284
+ const _component_NodeIcon = _sfc_main$11;
7247
7285
  const _component_n8n_pulse = resolveComponent("n8n-pulse");
7248
7286
  const _component_n8n_text = resolveComponent("n8n-text");
7249
7287
  const _component_CopyInput = CopyInput;
7250
- const _component_NodeExecuteButton = _sfc_main$W;
7288
+ const _component_NodeExecuteButton = _sfc_main$X;
7251
7289
  const _component_n8n_button = resolveComponent("n8n-button");
7252
7290
  const _component_n8n_spinner = resolveComponent("n8n-spinner");
7253
7291
  const _component_n8n_heading = resolveComponent("n8n-heading");
@@ -7262,7 +7300,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
7262
7300
  mode: "out-in"
7263
7301
  }, {
7264
7302
  default: withCtx(() => [
7265
- _ctx.hasIssues || _ctx.hideContent ? (openBlock(), createElementBlock("div", _hoisted_1$g)) : _ctx.isListeningForEvents ? (openBlock(), createElementBlock("div", _hoisted_2$b, [
7303
+ _ctx.hasIssues || _ctx.hideContent ? (openBlock(), createElementBlock("div", _hoisted_1$j)) : _ctx.isListeningForEvents ? (openBlock(), createElementBlock("div", _hoisted_2$c, [
7266
7304
  createVNode(_component_n8n_pulse, null, {
7267
7305
  default: withCtx(() => [
7268
7306
  createVNode(_component_NodeIcon, {
@@ -7433,8 +7471,8 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
7433
7471
  const cssModules$q = {
7434
7472
  "$style": style0$o
7435
7473
  };
7436
- const TriggerPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$H, [["render", _sfc_render$3], ["__cssModules", cssModules$q], ["__scopeId", "data-v-32dc70fa"]]);
7437
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
7474
+ const TriggerPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$I, [["render", _sfc_render$3], ["__cssModules", cssModules$q], ["__scopeId", "data-v-32dc70fa"]]);
7475
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
7438
7476
  __name: "NodeDetailsView",
7439
7477
  props: {
7440
7478
  workflowObject: {},
@@ -7930,7 +7968,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
7930
7968
  width: "auto",
7931
7969
  "append-to": `#${unref(APP_MODALS_ELEMENT_ID)}`,
7932
7970
  "data-test-id": "ndv",
7933
- "z-index": "1800",
7971
+ "z-index": 1800,
7934
7972
  "data-has-output-connection": hasOutputConnection.value
7935
7973
  }, {
7936
7974
  default: withCtx(() => {
@@ -8106,7 +8144,7 @@ const style1 = {
8106
8144
  const cssModules$p = {
8107
8145
  "$style": style1
8108
8146
  };
8109
- const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$G, [["__cssModules", cssModules$p]]);
8147
+ const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$H, [["__cssModules", cssModules$p]]);
8110
8148
  const NodeDetailsView = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8111
8149
  __proto__: null,
8112
8150
  default: __unplugin_components_2
@@ -8599,13 +8637,13 @@ function useNodeBase({
8599
8637
  outputs: outputs2
8600
8638
  };
8601
8639
  }
8602
- const _hoisted_1$f = ["id", "data-name"];
8603
- const _hoisted_2$a = { class: "select-sticky-background" };
8640
+ const _hoisted_1$i = ["id", "data-name"];
8641
+ const _hoisted_2$b = { class: "select-sticky-background" };
8604
8642
  const _hoisted_3$8 = ["title"];
8605
8643
  const _hoisted_4$2 = ["title"];
8606
8644
  const _hoisted_5$1 = { class: "content" };
8607
8645
  const _hoisted_6$1 = ["onClick"];
8608
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
8646
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
8609
8647
  ...{ name: "Sticky" },
8610
8648
  __name: "Sticky",
8611
8649
  props: {
@@ -8843,7 +8881,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
8843
8881
  }),
8844
8882
  style: normalizeStyle(stickySize.value)
8845
8883
  }, [
8846
- withDirectives(createBaseVNode("div", _hoisted_2$a, null, 512), [
8884
+ withDirectives(createBaseVNode("div", _hoisted_2$b, null, 512), [
8847
8885
  [vShow, isSelected.value]
8848
8886
  ]),
8849
8887
  withDirectives((openBlock(), createElementBlock("div", {
@@ -8937,13 +8975,13 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
8937
8975
  [vShow, showActions.value]
8938
8976
  ])
8939
8977
  ], 6)
8940
- ], 12, _hoisted_1$f);
8978
+ ], 12, _hoisted_1$i);
8941
8979
  };
8942
8980
  }
8943
8981
  });
8944
- const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$F, [["__scopeId", "data-v-c3c3325d"]]);
8945
- const _hoisted_1$e = ["id", "data-name", "data-node-type"];
8946
- const _hoisted_2$9 = { class: "select-background" };
8982
+ const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$G, [["__scopeId", "data-v-c3c3325d"]]);
8983
+ const _hoisted_1$h = ["id", "data-name", "data-node-type"];
8984
+ const _hoisted_2$a = { class: "select-background" };
8947
8985
  const _hoisted_3$7 = {
8948
8986
  key: 0,
8949
8987
  class: "trigger-icon"
@@ -8985,7 +9023,7 @@ const _hoisted_18 = { "data-test-id": "canvas-node-box-title" };
8985
9023
  const _hoisted_19 = { key: 0 };
8986
9024
  const _hoisted_20 = ["title"];
8987
9025
  const _hoisted_21 = { class: "node-options-inner" };
8988
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
9026
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
8989
9027
  __name: "Node",
8990
9028
  props: {
8991
9029
  name: {},
@@ -9235,6 +9273,9 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
9235
9273
  if ((node22 == null ? void 0 : node22.parameters.operation) === SEND_AND_WAIT_OPERATION) {
9236
9274
  return i18n2.baseText("node.theNodeIsWaitingUserInput");
9237
9275
  }
9276
+ if ((node22 == null ? void 0 : node22.type) === FORM_NODE_TYPE) {
9277
+ return i18n2.baseText("node.theNodeIsWaitingFormCall");
9278
+ }
9238
9279
  const waitDate = new Date(workflowExecution.waitTill);
9239
9280
  if (waitDate.toISOString() === WAIT_TIME_UNLIMITED) {
9240
9281
  return i18n2.baseText("node.theNodeIsWaitingIndefinitelyForAnIncomingWebhookCall");
@@ -9466,7 +9507,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
9466
9507
  "data-node-type": (_a = nodeType.value) == null ? void 0 : _a.name,
9467
9508
  onContextmenu: _cache[3] || (_cache[3] = (e) => openContextMenu(e, "node-right-click"))
9468
9509
  }, [
9469
- withDirectives(createBaseVNode("div", _hoisted_2$9, null, 512), [
9510
+ withDirectives(createBaseVNode("div", _hoisted_2$a, null, 512), [
9470
9511
  [vShow, isSelected.value]
9471
9512
  ]),
9472
9513
  createBaseVNode("div", {
@@ -9590,7 +9631,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
9590
9631
  _: 1
9591
9632
  }, 8, ["visible"])) : createCommentVNode("", true)
9592
9633
  ]),
9593
- createVNode(_sfc_main$10, {
9634
+ createVNode(_sfc_main$11, {
9594
9635
  class: "node-icon",
9595
9636
  "node-type": iconNodeType.value,
9596
9637
  size: 40,
@@ -9633,7 +9674,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
9633
9674
  }, ["stop"]))
9634
9675
  }, [
9635
9676
  createBaseVNode("div", _hoisted_21, [
9636
- !isConfigNode.value ? (openBlock(), createBlock(unref(_sfc_main$13), {
9677
+ !isConfigNode.value ? (openBlock(), createBlock(unref(_sfc_main$14), {
9637
9678
  key: 0,
9638
9679
  "data-test-id": "execute-node-button",
9639
9680
  type: "tertiary",
@@ -9644,7 +9685,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
9644
9685
  title: unref(i18n2).baseText("node.testStep"),
9645
9686
  onClick: executeNode
9646
9687
  }, null, 8, ["disabled", "title"])) : createCommentVNode("", true),
9647
- createVNode(unref(_sfc_main$13), {
9688
+ createVNode(unref(_sfc_main$14), {
9648
9689
  "data-test-id": "disable-node-button",
9649
9690
  type: "tertiary",
9650
9691
  text: "",
@@ -9653,7 +9694,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
9653
9694
  title: nodeDisabledTitle.value,
9654
9695
  onClick: toggleDisableNode
9655
9696
  }, null, 8, ["title"]),
9656
- createVNode(unref(_sfc_main$13), {
9697
+ createVNode(unref(_sfc_main$14), {
9657
9698
  "data-test-id": "delete-node-button",
9658
9699
  type: "tertiary",
9659
9700
  size: "small",
@@ -9662,7 +9703,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
9662
9703
  title: unref(i18n2).baseText("node.delete"),
9663
9704
  onClick: deleteNode
9664
9705
  }, null, 8, ["title"]),
9665
- createVNode(unref(_sfc_main$13), {
9706
+ createVNode(unref(_sfc_main$14), {
9666
9707
  "data-test-id": "overflow-node-button",
9667
9708
  type: "tertiary",
9668
9709
  size: "small",
@@ -9674,11 +9715,11 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
9674
9715
  ], 544)), [
9675
9716
  [vShow, !_ctx.hideActions]
9676
9717
  ]) : createCommentVNode("", true)
9677
- ], 46, _hoisted_1$e)) : createCommentVNode("", true);
9718
+ ], 46, _hoisted_1$h)) : createCommentVNode("", true);
9678
9719
  };
9679
9720
  }
9680
9721
  });
9681
- const __unplugin_components_0$6 = /* @__PURE__ */ _export_sfc$1(_sfc_main$E, [["__scopeId", "data-v-88ab292e"]]);
9722
+ const __unplugin_components_0$6 = /* @__PURE__ */ _export_sfc$1(_sfc_main$F, [["__scopeId", "data-v-aa223f3f"]]);
9682
9723
  const state = reactive({
9683
9724
  customActions: {},
9684
9725
  delegatedClickHandler: null
@@ -9957,194 +9998,6 @@ function useUniqueNodeName() {
9957
9998
  }
9958
9999
  return { uniqueNodeName };
9959
10000
  }
9960
- const SEQUENTIAL_BONUS = 60;
9961
- const SEPARATOR_BONUS = 30;
9962
- const CAMEL_BONUS = 30;
9963
- const FIRST_LETTER_BONUS = 15;
9964
- const LEADING_LETTER_PENALTY = -20;
9965
- const MAX_LEADING_LETTER_PENALTY = -200;
9966
- const UNMATCHED_LETTER_PENALTY = -5;
9967
- function fuzzyMatchSimple(pattern, target2) {
9968
- let patternIdx = 0;
9969
- let strIdx = 0;
9970
- while (patternIdx < pattern.length && strIdx < target2.length) {
9971
- const patternChar = pattern.charAt(patternIdx).toLowerCase();
9972
- const targetChar = target2.charAt(strIdx).toLowerCase();
9973
- if (patternChar === targetChar) {
9974
- patternIdx++;
9975
- }
9976
- ++strIdx;
9977
- }
9978
- return pattern.length !== 0 && target2.length !== 0 && patternIdx === pattern.length;
9979
- }
9980
- function fuzzyMatch(pattern, target2) {
9981
- const recursionCount = 0;
9982
- const recursionLimit = 5;
9983
- const matches = [];
9984
- const maxMatches = 256;
9985
- return fuzzyMatchRecursive(
9986
- pattern,
9987
- target2,
9988
- 0,
9989
- 0,
9990
- null,
9991
- matches,
9992
- maxMatches,
9993
- 0,
9994
- recursionCount,
9995
- recursionLimit
9996
- );
9997
- }
9998
- function fuzzyMatchRecursive(pattern, target2, patternCurIndex, targetCurrIndex, targetMatches, matches, maxMatches, nextMatch, recursionCount, recursionLimit) {
9999
- let outScore = 0;
10000
- if (++recursionCount >= recursionLimit) {
10001
- return { matched: false, outScore };
10002
- }
10003
- if (patternCurIndex === pattern.length || targetCurrIndex === target2.length) {
10004
- return { matched: false, outScore };
10005
- }
10006
- let recursiveMatch = false;
10007
- let bestRecursiveMatches = [];
10008
- let bestRecursiveScore = 0;
10009
- let firstMatch = true;
10010
- while (patternCurIndex < pattern.length && targetCurrIndex < target2.length) {
10011
- if (pattern[patternCurIndex].toLowerCase() === target2[targetCurrIndex].toLowerCase()) {
10012
- if (nextMatch >= maxMatches) {
10013
- return { matched: false, outScore };
10014
- }
10015
- if (firstMatch && targetMatches) {
10016
- matches = [...targetMatches];
10017
- firstMatch = false;
10018
- }
10019
- const recursiveMatches = [];
10020
- const recursiveResult = fuzzyMatchRecursive(
10021
- pattern,
10022
- target2,
10023
- patternCurIndex,
10024
- targetCurrIndex + 1,
10025
- matches,
10026
- recursiveMatches,
10027
- maxMatches,
10028
- nextMatch,
10029
- recursionCount,
10030
- recursionLimit
10031
- );
10032
- const recursiveScore = recursiveResult.outScore;
10033
- if (recursiveResult.matched) {
10034
- if (!recursiveMatch || recursiveScore > bestRecursiveScore) {
10035
- bestRecursiveMatches = [...recursiveMatches];
10036
- bestRecursiveScore = recursiveScore;
10037
- }
10038
- recursiveMatch = true;
10039
- }
10040
- matches[nextMatch++] = targetCurrIndex;
10041
- ++patternCurIndex;
10042
- }
10043
- ++targetCurrIndex;
10044
- }
10045
- const matched = patternCurIndex === pattern.length;
10046
- if (matched) {
10047
- outScore = 100;
10048
- if (!target2.toLowerCase().startsWith("n8n")) {
10049
- let penalty = LEADING_LETTER_PENALTY * matches[0];
10050
- penalty = penalty < MAX_LEADING_LETTER_PENALTY ? MAX_LEADING_LETTER_PENALTY : penalty;
10051
- outScore += penalty;
10052
- }
10053
- const unmatched = target2.length - nextMatch;
10054
- outScore += UNMATCHED_LETTER_PENALTY * unmatched;
10055
- for (let i = 0; i < nextMatch; i++) {
10056
- const currIdx = matches[i];
10057
- if (i > 0) {
10058
- const prevIdx = matches[i - 1];
10059
- if (currIdx === prevIdx + 1) {
10060
- outScore += SEQUENTIAL_BONUS;
10061
- }
10062
- }
10063
- if (currIdx > 0) {
10064
- const neighbor = target2[currIdx - 1];
10065
- const curr = target2[currIdx];
10066
- if (neighbor !== neighbor.toUpperCase() && curr !== curr.toLowerCase()) {
10067
- outScore += CAMEL_BONUS;
10068
- }
10069
- const isNeighbourSeparator = neighbor === "_" || neighbor === " ";
10070
- if (isNeighbourSeparator) {
10071
- outScore += SEPARATOR_BONUS;
10072
- }
10073
- } else {
10074
- outScore += FIRST_LETTER_BONUS;
10075
- }
10076
- }
10077
- if (recursiveMatch && (!matched || bestRecursiveScore > outScore)) {
10078
- matches = [...bestRecursiveMatches];
10079
- outScore = bestRecursiveScore;
10080
- return { matched: true, outScore };
10081
- } else if (matched) {
10082
- return { matched: true, outScore };
10083
- } else {
10084
- return { matched: false, outScore };
10085
- }
10086
- }
10087
- return { matched: false, outScore };
10088
- }
10089
- function getValue(obj, prop) {
10090
- if (obj.hasOwnProperty(prop)) {
10091
- return obj[prop];
10092
- }
10093
- const segments = prop.split(".");
10094
- let result = obj;
10095
- let i = 0;
10096
- while (result && i < segments.length) {
10097
- const key = segments[i];
10098
- result = result[key];
10099
- i++;
10100
- }
10101
- return result;
10102
- }
10103
- function sublimeSearch(filter2, data, keys) {
10104
- const results = data.reduce((accu, item) => {
10105
- let values = [];
10106
- keys.forEach(({ key, weight }) => {
10107
- const value = getValue(item, key);
10108
- if (Array.isArray(value)) {
10109
- values = values.concat(value.map((v) => ({ value: v, weight })));
10110
- } else if (typeof value === "string") {
10111
- values.push({
10112
- value,
10113
- weight
10114
- });
10115
- }
10116
- });
10117
- const itemMatch = values.reduce(
10118
- (accu2, { value, weight }) => {
10119
- if (!fuzzyMatchSimple(filter2, value)) {
10120
- return accu2;
10121
- }
10122
- const match = fuzzyMatch(filter2, value);
10123
- match.outScore *= weight;
10124
- const { matched, outScore } = match;
10125
- if (!accu2 && matched) {
10126
- return match;
10127
- }
10128
- if (matched && accu2 && outScore > accu2.outScore) {
10129
- return match;
10130
- }
10131
- return accu2;
10132
- },
10133
- null
10134
- );
10135
- if (itemMatch) {
10136
- accu.push({
10137
- score: itemMatch.outScore,
10138
- item
10139
- });
10140
- }
10141
- return accu;
10142
- }, []);
10143
- results.sort((a, b) => {
10144
- return b.score - a.score;
10145
- });
10146
- return results;
10147
- }
10148
10001
  const SPLIT_LOWER_UPPER_RE = new RegExp("([\\p{Ll}\\d])(\\p{Lu})", "gu");
10149
10002
  const SPLIT_UPPER_UPPER_RE = new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])", "gu");
10150
10003
  const SPLIT_SEPARATE_NUMBER_RE = new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d", "u");
@@ -11513,8 +11366,8 @@ const useNodeCreatorStore = defineStore(STORES.NODE_CREATOR, () => {
11513
11366
  allNodeCreatorNodes
11514
11367
  };
11515
11368
  });
11516
- const _hoisted_1$d = ["textContent"];
11517
- const _sfc_main$D = /* @__PURE__ */ defineComponent({
11369
+ const _hoisted_1$g = ["textContent"];
11370
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
11518
11371
  __name: "CanvasAddButton",
11519
11372
  props: {
11520
11373
  showTooltip: { type: Boolean },
@@ -11563,7 +11416,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
11563
11416
  createBaseVNode("p", {
11564
11417
  class: normalizeClass(_ctx.$style.label),
11565
11418
  textContent: toDisplayString(_ctx.$locale.baseText("nodeView.canvasAddButton.addFirstStep"))
11566
- }, null, 10, _hoisted_1$d)
11419
+ }, null, 10, _hoisted_1$g)
11567
11420
  ], 6);
11568
11421
  };
11569
11422
  }
@@ -11579,7 +11432,7 @@ const style0$n = {
11579
11432
  const cssModules$o = {
11580
11433
  "$style": style0$n
11581
11434
  };
11582
- const CanvasAddButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$D, [["__cssModules", cssModules$o]]);
11435
+ const CanvasAddButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$E, [["__cssModules", cssModules$o]]);
11583
11436
  function useCanvasPanning(elementRef, options = {}) {
11584
11437
  const uiStore = useUIStore();
11585
11438
  const moveLastPosition = ref([0, 0]);
@@ -11642,35 +11495,35 @@ function useCanvasPanning(elementRef, options = {}) {
11642
11495
  panCanvas
11643
11496
  };
11644
11497
  }
11645
- const _hoisted_1$c = { "data-action": "reload" };
11646
- const _hoisted_2$8 = {
11498
+ const _hoisted_1$f = { "data-action": "reload" };
11499
+ const _hoisted_2$9 = {
11647
11500
  href: "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/",
11648
11501
  target: "_blank"
11649
11502
  };
11650
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
11503
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
11651
11504
  __name: "NodeViewUnfinishedWorkflowMessage",
11652
11505
  setup(__props) {
11653
11506
  const i18 = useI18n();
11654
11507
  return (_ctx, _cache) => {
11655
11508
  return openBlock(), createElementBlock("div", null, [
11656
- createBaseVNode("a", _hoisted_1$c, toDisplayString(unref(i18).baseText("nodeView.refresh")), 1),
11509
+ createBaseVNode("a", _hoisted_1$f, toDisplayString(unref(i18).baseText("nodeView.refresh")), 1),
11657
11510
  createTextVNode(" " + toDisplayString(unref(i18).baseText("nodeView.toSeeTheLatestStatus")) + ". ", 1),
11658
11511
  _cache[0] || (_cache[0] = createBaseVNode("br", null, null, -1)),
11659
- createBaseVNode("a", _hoisted_2$8, toDisplayString(unref(i18).baseText("nodeView.moreInfo")), 1)
11512
+ createBaseVNode("a", _hoisted_2$9, toDisplayString(unref(i18).baseText("nodeView.moreInfo")), 1)
11660
11513
  ]);
11661
11514
  };
11662
11515
  }
11663
11516
  });
11664
11517
  const LazyNodeCreation = defineAsyncComponent(
11665
- async () => await __vitePreload(() => import("./NodeCreation-CH8QZkmg.js").then((n) => n.N), true ? __vite__mapDeps([16,1,2,17]) : void 0)
11518
+ async () => await __vitePreload(() => import("./NodeCreation-C2dcJSCB.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
11666
11519
  );
11667
11520
  const LazyCanvasControls = defineAsyncComponent(
11668
- async () => await __vitePreload(() => import("./CanvasControls-Bh28om35.js"), true ? __vite__mapDeps([18,1,2,19]) : void 0)
11521
+ async () => await __vitePreload(() => import("./CanvasControls-BrmZza76.js"), true ? __vite__mapDeps([19,1,2,20]) : void 0)
11669
11522
  );
11670
11523
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
11671
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-DrA_a2OJ.js"), true ? __vite__mapDeps([20,1,2]) : void 0)
11524
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-1LXFp3M1.js"), true ? __vite__mapDeps([21,1,2]) : void 0)
11672
11525
  );
11673
- const _sfc_main$B = defineComponent({
11526
+ const _sfc_main$C = defineComponent({
11674
11527
  name: "NodeView",
11675
11528
  components: {
11676
11529
  NodeDetailsView: __unplugin_components_2,
@@ -12441,7 +12294,7 @@ const _sfc_main$B = defineComponent({
12441
12294
  if (data.waitTill) {
12442
12295
  this.showMessage({
12443
12296
  title: this.$locale.baseText("nodeView.thisExecutionHasntFinishedYet"),
12444
- message: h(_sfc_main$C),
12297
+ message: h(_sfc_main$D),
12445
12298
  type: "warning",
12446
12299
  duration: 0
12447
12300
  });
@@ -12918,7 +12771,7 @@ const _sfc_main$B = defineComponent({
12918
12771
  if (data.nodes.length > 0) {
12919
12772
  if (!isCut) {
12920
12773
  this.showMessage({
12921
- title: "Copied!",
12774
+ title: this.$locale.baseText("generic.copiedToClipboard"),
12922
12775
  message: "",
12923
12776
  type: "success"
12924
12777
  });
@@ -13104,6 +12957,11 @@ const _sfc_main$B = defineComponent({
13104
12957
  ).some((n) => n.webhookId === node2.webhookId);
13105
12958
  if (isDuplicate) {
13106
12959
  node2.webhookId = v4();
12960
+ if (node2.parameters.path) {
12961
+ node2.parameters.path = node2.webhookId;
12962
+ } else if (node2.parameters.options.path) {
12963
+ node2.parameters.options.path = node2.webhookId;
12964
+ }
13107
12965
  }
13108
12966
  }
13109
12967
  if (node2.id) {
@@ -15094,8 +14952,8 @@ const style2 = {
15094
14952
  shake,
15095
14953
  setupCredentialsButtonWrapper
15096
14954
  };
15097
- const _hoisted_1$b = ["textContent"];
15098
- const _hoisted_2$7 = {
14955
+ const _hoisted_1$e = ["textContent"];
14956
+ const _hoisted_2$8 = {
15099
14957
  key: 0,
15100
14958
  class: "workflow-execute-wrapper"
15101
14959
  };
@@ -15182,7 +15040,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
15182
15040
  "custom-tooltip": withCtx(() => [
15183
15041
  createBaseVNode("span", {
15184
15042
  textContent: toDisplayString(_ctx.$locale.baseText("nodeView.canvasAddButton.addATriggerNodeBeforeExecuting"))
15185
- }, null, 8, _hoisted_1$b)
15043
+ }, null, 8, _hoisted_1$e)
15186
15044
  ]),
15187
15045
  _: 2
15188
15046
  }, 1032, ["name", "is-read-only", "instance", "is-active", "hide-actions", "is-production-execution-preview", "workflow", "disable-pointer-events", "hide-node-issues", "onDeselectAllNodes", "onDeselectNode", "onNodeSelected", "onRunWorkflow", "onMoved", "onRun"]);
@@ -15254,7 +15112,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
15254
15112
  ]),
15255
15113
  _: 1
15256
15114
  })),
15257
- !_ctx.isReadOnlyRoute && !_ctx.readOnlyEnv && (_ctx.workflowPermissions.update ?? _ctx.projectPermissions.workflow.update) ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
15115
+ !_ctx.isReadOnlyRoute && !_ctx.readOnlyEnv && (_ctx.workflowPermissions.update ?? _ctx.projectPermissions.workflow.update) ? (openBlock(), createElementBlock("div", _hoisted_2$8, [
15258
15116
  !_ctx.isManualChatOnly ? (openBlock(), createElementBlock("span", {
15259
15117
  key: 0,
15260
15118
  onMouseenter: _cache[10] || (_cache[10] = ($event) => _ctx.showTriggerMissingToltip(true)),
@@ -15325,8 +15183,8 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
15325
15183
  const cssModules$n = {
15326
15184
  "$style": style2
15327
15185
  };
15328
- const NodeViewV1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$B, [["render", _sfc_render$2], ["__cssModules", cssModules$n], ["__scopeId", "data-v-cf132c44"]]);
15329
- const _sfc_main$A = {};
15186
+ const NodeViewV1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["render", _sfc_render$2], ["__cssModules", cssModules$n], ["__scopeId", "data-v-58f513fa"]]);
15187
+ const _sfc_main$B = {};
15330
15188
  function _sfc_render$1(_ctx, _cache) {
15331
15189
  const _component_N8nButton = resolveComponent("N8nButton");
15332
15190
  return openBlock(), createBlock(_component_N8nButton, {
@@ -15337,7 +15195,7 @@ function _sfc_render$1(_ctx, _cache) {
15337
15195
  "data-test-id": "workflow-chat-button"
15338
15196
  });
15339
15197
  }
15340
- const __unplugin_components_0$5 = /* @__PURE__ */ _export_sfc$1(_sfc_main$A, [["render", _sfc_render$1]]);
15198
+ const __unplugin_components_0$5 = /* @__PURE__ */ _export_sfc$1(_sfc_main$B, [["render", _sfc_render$1]]);
15341
15199
  function tryOnScopeDispose(fn) {
15342
15200
  if (getCurrentScope()) {
15343
15201
  onScopeDispose(fn);
@@ -15687,7 +15545,7 @@ function useVModel(props, key, emit, options = {}) {
15687
15545
  }
15688
15546
  event = event || `update:${key.toString()}`;
15689
15547
  const cloneFn = (val) => !clone ? val : typeof clone === "function" ? clone(val) : cloneFnJSON(val);
15690
- const getValue2 = () => isDef$1(props[key]) ? cloneFn(props[key]) : defaultValue;
15548
+ const getValue = () => isDef$1(props[key]) ? cloneFn(props[key]) : defaultValue;
15691
15549
  const triggerEmit = (value) => {
15692
15550
  if (shouldEmit) {
15693
15551
  if (shouldEmit(value))
@@ -15697,7 +15555,7 @@ function useVModel(props, key, emit, options = {}) {
15697
15555
  }
15698
15556
  };
15699
15557
  if (passive) {
15700
- const initialValue = getValue2();
15558
+ const initialValue = getValue();
15701
15559
  const proxy = ref(initialValue);
15702
15560
  let isUpdating = false;
15703
15561
  watch(
@@ -15722,7 +15580,7 @@ function useVModel(props, key, emit, options = {}) {
15722
15580
  } else {
15723
15581
  return computed({
15724
15582
  get() {
15725
- return getValue2();
15583
+ return getValue();
15726
15584
  },
15727
15585
  set(value) {
15728
15586
  triggerEmit(value);
@@ -21850,7 +21708,7 @@ function useActions(state2, nodeLookup, edgeLookup) {
21850
21708
  }
21851
21709
  };
21852
21710
  }
21853
- const _hoisted_1$9 = ["data-id", "data-handleid", "data-nodeid", "data-handlepos"];
21711
+ const _hoisted_1$9$1 = ["data-id", "data-handleid", "data-nodeid", "data-handlepos"];
21854
21712
  const __default__$f = {
21855
21713
  name: "Handle",
21856
21714
  compatConfig: { MODE: 3 }
@@ -22004,7 +21862,7 @@ const _sfc_main$f$1 = /* @__PURE__ */ defineComponent({
22004
21862
  onClick
22005
21863
  }, [
22006
21864
  renderSlot(_ctx.$slots, "default", { id: _ctx.id })
22007
- ], 42, _hoisted_1$9);
21865
+ ], 42, _hoisted_1$9$1);
22008
21866
  };
22009
21867
  }
22010
21868
  });
@@ -23639,7 +23497,7 @@ const _sfc_main$8$1 = /* @__PURE__ */ defineComponent({
23639
23497
  }
23640
23498
  });
23641
23499
  const _hoisted_1$5$2 = ["id"];
23642
- const _hoisted_2$6 = ["id"];
23500
+ const _hoisted_2$7 = ["id"];
23643
23501
  const _hoisted_3$6 = ["id"];
23644
23502
  const __default__$7 = {
23645
23503
  name: "A11yDescriptions",
@@ -23658,7 +23516,7 @@ const _sfc_main$7$1 = /* @__PURE__ */ defineComponent({
23658
23516
  createBaseVNode("div", {
23659
23517
  id: `${unref(ARIA_EDGE_DESC_KEY)}-${unref(id2)}`,
23660
23518
  style: { "display": "none" }
23661
- }, " Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ", 8, _hoisted_2$6),
23519
+ }, " Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ", 8, _hoisted_2$7),
23662
23520
  !unref(disableKeyboardA11y) ? (openBlock(), createElementBlock("div", {
23663
23521
  key: 0,
23664
23522
  id: `${unref(ARIA_LIVE_MESSAGE)}-${unref(id2)}`,
@@ -24741,7 +24599,7 @@ function useStylesLoadedWarning() {
24741
24599
  }
24742
24600
  });
24743
24601
  }
24744
- const _hoisted_1$a = /* @__PURE__ */ createBaseVNode("div", { class: "vue-flow__edge-labels" }, null, -1);
24602
+ const _hoisted_1$d = /* @__PURE__ */ createBaseVNode("div", { class: "vue-flow__edge-labels" }, null, -1);
24745
24603
  const __default__$1$2 = {
24746
24604
  name: "VueFlow",
24747
24605
  compatConfig: { MODE: 3 }
@@ -24834,7 +24692,7 @@ const _sfc_main$1$4 = /* @__PURE__ */ defineComponent({
24834
24692
  createVNode(_sfc_main$8$1, null, {
24835
24693
  default: withCtx(() => [
24836
24694
  createVNode(_sfc_main$4$1),
24837
- _hoisted_1$a,
24695
+ _hoisted_1$d,
24838
24696
  createVNode(_sfc_main$2$1),
24839
24697
  renderSlot(_ctx.$slots, "zoom-pane")
24840
24698
  ]),
@@ -24850,7 +24708,7 @@ const __default__$g = {
24850
24708
  name: "Panel",
24851
24709
  compatConfig: { MODE: 3 }
24852
24710
  };
24853
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
24711
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
24854
24712
  ...__default__$g,
24855
24713
  props: {
24856
24714
  position: {}
@@ -24935,23 +24793,23 @@ function render$1(_ctx, _cache) {
24935
24793
  return openBlock(), createElementBlock("svg", _hoisted_1$1$2, _hoisted_3$1$1);
24936
24794
  }
24937
24795
  const Lock = { render: render$1 };
24938
- const _hoisted_1$8 = {
24796
+ const _hoisted_1$c = {
24939
24797
  xmlns: "http://www.w3.org/2000/svg",
24940
24798
  viewBox: "0 0 25 32"
24941
24799
  };
24942
- const _hoisted_2$5 = /* @__PURE__ */ createBaseVNode("path", { d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z" }, null, -1);
24800
+ const _hoisted_2$6 = /* @__PURE__ */ createBaseVNode("path", { d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z" }, null, -1);
24943
24801
  const _hoisted_3$5 = [
24944
- _hoisted_2$5
24802
+ _hoisted_2$6
24945
24803
  ];
24946
24804
  function render(_ctx, _cache) {
24947
- return openBlock(), createElementBlock("svg", _hoisted_1$8, _hoisted_3$5);
24805
+ return openBlock(), createElementBlock("svg", _hoisted_1$c, _hoisted_3$5);
24948
24806
  }
24949
24807
  const Unlock = { render };
24950
24808
  const __default__$4 = {
24951
24809
  name: "Controls",
24952
24810
  compatConfig: { MODE: 3 }
24953
24811
  };
24954
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
24812
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
24955
24813
  ...__default__$4,
24956
24814
  props: {
24957
24815
  showZoom: { type: Boolean, default: true },
@@ -24994,7 +24852,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
24994
24852
  emit("interactionChange", !isInteractive.value);
24995
24853
  }
24996
24854
  return (_ctx, _cache) => {
24997
- return openBlock(), createBlock(unref(_sfc_main$z), {
24855
+ return openBlock(), createBlock(unref(_sfc_main$A), {
24998
24856
  class: "vue-flow__controls",
24999
24857
  position: _ctx.position
25000
24858
  }, {
@@ -25067,15 +24925,19 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25067
24925
  };
25068
24926
  }
25069
24927
  });
25070
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
24928
+ const _hoisted_1$b = ["href"];
24929
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25071
24930
  __name: "CanvasControlButtons",
25072
24931
  props: {
25073
- zoom: { default: 1 }
24932
+ zoom: { default: 1 },
24933
+ showBugReportingButton: { type: Boolean, default: false }
25074
24934
  },
25075
24935
  emits: ["reset-zoom", "zoom-in", "zoom-out", "zoom-to-fit"],
25076
24936
  setup(__props, { emit: __emit }) {
25077
24937
  const props = __props;
25078
24938
  const emit = __emit;
24939
+ const { getReportingURL } = useBugReporting();
24940
+ const telemetry = useTelemetry();
25079
24941
  const isResetZoomVisible = computed(() => props.zoom !== 1);
25080
24942
  function onResetZoom() {
25081
24943
  emit("reset-zoom");
@@ -25089,9 +24951,12 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
25089
24951
  function onZoomToFit() {
25090
24952
  emit("zoom-to-fit");
25091
24953
  }
24954
+ function trackBugReport() {
24955
+ telemetry.track("User clicked bug report button in canvas", {}, { withPostHog: true });
24956
+ }
25092
24957
  return (_ctx, _cache) => {
25093
24958
  const _component_N8nIconButton = resolveComponent("N8nIconButton");
25094
- return openBlock(), createBlock(unref(_sfc_main$y), {
24959
+ return openBlock(), createBlock(unref(_sfc_main$z), {
25095
24960
  "show-zoom": false,
25096
24961
  "show-fit-view": false
25097
24962
  }, {
@@ -25156,6 +25021,26 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
25156
25021
  })
25157
25022
  ]),
25158
25023
  _: 1
25024
+ }, 8, ["label"])) : createCommentVNode("", true),
25025
+ props.showBugReportingButton ? (openBlock(), createBlock(KeyboardShortcutTooltip, {
25026
+ key: 1,
25027
+ label: _ctx.$locale.baseText("nodeView.reportBug")
25028
+ }, {
25029
+ default: withCtx(() => [
25030
+ createBaseVNode("a", {
25031
+ href: unref(getReportingURL)(),
25032
+ target: "_blank",
25033
+ onClick: trackBugReport
25034
+ }, [
25035
+ createVNode(_component_N8nIconButton, {
25036
+ type: "tertiary",
25037
+ size: "large",
25038
+ icon: "bug",
25039
+ "data-test-id": "report-bug"
25040
+ })
25041
+ ], 8, _hoisted_1$b)
25042
+ ]),
25043
+ _: 1
25159
25044
  }, 8, ["label"])) : createCommentVNode("", true)
25160
25045
  ]),
25161
25046
  _: 1
@@ -25219,7 +25104,7 @@ function useCanvas() {
25219
25104
  connectingHandle
25220
25105
  };
25221
25106
  }
25222
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
25107
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
25223
25108
  __name: "CanvasConnectionLine",
25224
25109
  props: {
25225
25110
  sourceX: {},
@@ -25276,7 +25161,7 @@ const style0$m = {
25276
25161
  const cssModules$m = {
25277
25162
  "$style": style0$m
25278
25163
  };
25279
- const __unplugin_components_0$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__cssModules", cssModules$m]]);
25164
+ const __unplugin_components_0$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$x, [["__cssModules", cssModules$m]]);
25280
25165
  var BackgroundVariant = /* @__PURE__ */ ((BackgroundVariant2) => {
25281
25166
  BackgroundVariant2["Lines"] = "lines";
25282
25167
  BackgroundVariant2["Dots"] = "dots";
@@ -25300,8 +25185,8 @@ const DefaultBgColors = {
25300
25185
  [BackgroundVariant.Dots]: "#81818a",
25301
25186
  [BackgroundVariant.Lines]: "#eee"
25302
25187
  };
25303
- const _hoisted_1$7 = ["id", "x", "y", "width", "height", "patternTransform"];
25304
- const _hoisted_2$4 = {
25188
+ const _hoisted_1$a = ["id", "x", "y", "width", "height", "patternTransform"];
25189
+ const _hoisted_2$5 = {
25305
25190
  key: 2,
25306
25191
  height: "100",
25307
25192
  width: "100"
@@ -25312,7 +25197,7 @@ const __default__$3 = {
25312
25197
  name: "Background",
25313
25198
  compatConfig: { MODE: 3 }
25314
25199
  };
25315
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
25200
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
25316
25201
  ...__default__$3,
25317
25202
  props: {
25318
25203
  id: {},
@@ -25373,7 +25258,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
25373
25258
  color: patternColor.value,
25374
25259
  radius: background.value.size / _ctx.offset
25375
25260
  }, null, 8, ["color", "radius"])) : createCommentVNode("", true),
25376
- _ctx.bgColor ? (openBlock(), createElementBlock("svg", _hoisted_2$4, [
25261
+ _ctx.bgColor ? (openBlock(), createElementBlock("svg", _hoisted_2$5, [
25377
25262
  createBaseVNode("rect", {
25378
25263
  width: "100%",
25379
25264
  height: "100%",
@@ -25381,7 +25266,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
25381
25266
  }, null, 8, _hoisted_3$3)
25382
25267
  ])) : createCommentVNode("", true)
25383
25268
  ])
25384
- ], 8, _hoisted_1$7)
25269
+ ], 8, _hoisted_1$a)
25385
25270
  ]),
25386
25271
  createBaseVNode("rect", {
25387
25272
  x: _ctx.x,
@@ -28113,14 +27998,14 @@ const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
28113
27998
  };
28114
27999
  }
28115
28000
  });
28116
- const _hoisted_1$6 = ["width", "height", "viewBox", "aria-labelledby"];
28117
- const _hoisted_2$3 = ["id"];
28001
+ const _hoisted_1$9 = ["width", "height", "viewBox", "aria-labelledby"];
28002
+ const _hoisted_2$4 = ["id"];
28118
28003
  const _hoisted_3$2 = ["d", "fill", "stroke", "stroke-width"];
28119
28004
  const __default__$2 = {
28120
28005
  name: "MiniMap",
28121
28006
  compatConfig: { MODE: 3 }
28122
28007
  };
28123
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
28008
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
28124
28009
  ...__default__$2,
28125
28010
  props: {
28126
28011
  nodeColor: { type: [String, Function], default: "#e2e2e2" },
@@ -28283,7 +28168,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
28283
28168
  emit("nodeMouseleave", param);
28284
28169
  }
28285
28170
  return (_ctx, _cache) => {
28286
- return openBlock(), createBlock(unref(_sfc_main$z), {
28171
+ return openBlock(), createBlock(unref(_sfc_main$A), {
28287
28172
  position: _ctx.position,
28288
28173
  class: normalizeClass(["vue-flow__minimap", { pannable: _ctx.pannable, zoomable: _ctx.zoomable }])
28289
28174
  }, {
@@ -28301,7 +28186,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
28301
28186
  _ctx.ariaLabel ? (openBlock(), createElementBlock("title", {
28302
28187
  key: 0,
28303
28188
  id: `vue-flow__minimap-${unref(id2)}`
28304
- }, toDisplayString(_ctx.ariaLabel), 9, _hoisted_2$3)) : createCommentVNode("", true),
28189
+ }, toDisplayString(_ctx.ariaLabel), 9, _hoisted_2$4)) : createCommentVNode("", true),
28305
28190
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(getNodesInitialized), (node2) => {
28306
28191
  return openBlock(), createBlock(_sfc_main$1$2, {
28307
28192
  id: node2.id,
@@ -28333,7 +28218,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
28333
28218
  "stroke-width": _ctx.maskStrokeWidth,
28334
28219
  "fill-rule": "evenodd"
28335
28220
  }, null, 8, _hoisted_3$2)
28336
- ], 8, _hoisted_1$6))
28221
+ ], 8, _hoisted_1$9))
28337
28222
  ]),
28338
28223
  _: 1
28339
28224
  }, 8, ["position", "class"]);
@@ -28413,9 +28298,9 @@ function useCanvasNode() {
28413
28298
  eventBus
28414
28299
  };
28415
28300
  }
28416
- const _hoisted_1$5 = ["title"];
28417
- const _hoisted_2$2 = ["onClick"];
28418
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
28301
+ const _hoisted_1$8 = ["title"];
28302
+ const _hoisted_2$3 = ["onClick"];
28303
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
28419
28304
  __name: "CanvasNodeStickyColorSelector",
28420
28305
  emits: ["update"],
28421
28306
  setup(__props, { emit: __emit }) {
@@ -28480,7 +28365,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
28480
28365
  onClick: withModifiers(togglePopover, ["stop"])
28481
28366
  }, [
28482
28367
  createVNode(_component_FontAwesomeIcon, { icon: "palette" })
28483
- ], 10, _hoisted_1$5)
28368
+ ], 10, _hoisted_1$8)
28484
28369
  ]),
28485
28370
  default: withCtx(() => [
28486
28371
  createBaseVNode("div", {
@@ -28496,7 +28381,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
28496
28381
  renderOptions.value.color === color2 ? _ctx.$style.selected : ""
28497
28382
  ]),
28498
28383
  onClick: ($event) => changeColor(color2)
28499
- }, null, 10, _hoisted_2$2);
28384
+ }, null, 10, _hoisted_2$3);
28500
28385
  }), 128))
28501
28386
  ], 2)
28502
28387
  ]),
@@ -28527,8 +28412,8 @@ const style0$l = {
28527
28412
  const cssModules$l = {
28528
28413
  "$style": style0$l
28529
28414
  };
28530
- const __unplugin_components_0$3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$l]]);
28531
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
28415
+ const __unplugin_components_0$3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__cssModules", cssModules$l]]);
28416
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
28532
28417
  __name: "CanvasNodeToolbar",
28533
28418
  props: {
28534
28419
  readOnly: { type: Boolean }
@@ -28632,8 +28517,8 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
28632
28517
  };
28633
28518
  }
28634
28519
  });
28635
- const canvasNodeToolbar$1 = "_canvasNodeToolbar_1rzl3_1";
28636
- const canvasNodeToolbarItems = "_canvasNodeToolbarItems_1rzl3_8";
28520
+ const canvasNodeToolbar$1 = "_canvasNodeToolbar_166py_1";
28521
+ const canvasNodeToolbarItems = "_canvasNodeToolbarItems_166py_8";
28637
28522
  const style0$k = {
28638
28523
  canvasNodeToolbar: canvasNodeToolbar$1,
28639
28524
  canvasNodeToolbarItems
@@ -28641,7 +28526,7 @@ const style0$k = {
28641
28526
  const cssModules$k = {
28642
28527
  "$style": style0$k
28643
28528
  };
28644
- const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["__cssModules", cssModules$k]]);
28529
+ const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$k]]);
28645
28530
  function useNodeConnections({
28646
28531
  inputs: inputs2,
28647
28532
  outputs: outputs2,
@@ -28690,7 +28575,7 @@ function useNodeConnections({
28690
28575
  isValidConnection
28691
28576
  };
28692
28577
  }
28693
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
28578
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
28694
28579
  __name: "CanvasNodeDisabledStrikeThrough",
28695
28580
  setup(__props) {
28696
28581
  const $style = useCssModule();
@@ -28717,11 +28602,11 @@ const style0$j = {
28717
28602
  const cssModules$j = {
28718
28603
  "$style": style0$j
28719
28604
  };
28720
- const CanvasNodeDisabledStrikeThrough = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__cssModules", cssModules$j]]);
28721
- const _hoisted_1$4 = { key: 1 };
28722
- const _hoisted_2$1 = ["textContent"];
28605
+ const CanvasNodeDisabledStrikeThrough = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["__cssModules", cssModules$j]]);
28606
+ const _hoisted_1$7 = { key: 1 };
28607
+ const _hoisted_2$2 = ["textContent"];
28723
28608
  const _hoisted_3$1 = { key: 3 };
28724
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
28609
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
28725
28610
  __name: "CanvasNodeStatusIcons",
28726
28611
  setup(__props) {
28727
28612
  const nodeHelpers = useNodeHelpers();
@@ -28760,7 +28645,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
28760
28645
  ]),
28761
28646
  _: 1
28762
28647
  })
28763
- ], 2)) : unref(executionWaiting) || unref(executionStatus) === "waiting" ? (openBlock(), createElementBlock("div", _hoisted_1$4, [
28648
+ ], 2)) : unref(executionWaiting) || unref(executionStatus) === "waiting" ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
28764
28649
  createBaseVNode("div", {
28765
28650
  class: normalizeClass([_ctx.$style.status, _ctx.$style.waiting])
28766
28651
  }, [
@@ -28768,7 +28653,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
28768
28653
  content: withCtx(() => [
28769
28654
  createBaseVNode("div", {
28770
28655
  textContent: toDisplayString(unref(executionWaiting))
28771
- }, null, 8, _hoisted_2$1)
28656
+ }, null, 8, _hoisted_2$2)
28772
28657
  ]),
28773
28658
  default: withCtx(() => [
28774
28659
  createVNode(_component_FontAwesomeIcon, { icon: "clock" })
@@ -28833,9 +28718,9 @@ const style0$i = {
28833
28718
  const cssModules$i = {
28834
28719
  "$style": style0$i
28835
28720
  };
28836
- const CanvasNodeStatusIcons = /* @__PURE__ */ _export_sfc$1(_sfc_main$q, [["__cssModules", cssModules$i]]);
28837
- const _hoisted_1$3 = ["data-test-id"];
28838
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
28721
+ const CanvasNodeStatusIcons = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__cssModules", cssModules$i]]);
28722
+ const _hoisted_1$6 = ["data-test-id"];
28723
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
28839
28724
  __name: "CanvasNodeDefault",
28840
28725
  emits: ["open:contextmenu"],
28841
28726
  setup(__props, { emit: __emit }) {
@@ -28967,7 +28852,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
28967
28852
  class: normalizeClass(unref($style).subtitle)
28968
28853
  }, toDisplayString(unref(subtitle2)), 3)) : createCommentVNode("", true)
28969
28854
  ], 2)
28970
- ], 46, _hoisted_1$3);
28855
+ ], 46, _hoisted_1$6);
28971
28856
  };
28972
28857
  }
28973
28858
  });
@@ -29010,7 +28895,7 @@ const style0$h = {
29010
28895
  const cssModules$h = {
29011
28896
  "$style": style0$h
29012
28897
  };
29013
- const CanvasNodeDefault = /* @__PURE__ */ _export_sfc$1(_sfc_main$p, [["__cssModules", cssModules$h]]);
28898
+ const CanvasNodeDefault = /* @__PURE__ */ _export_sfc$1(_sfc_main$q, [["__cssModules", cssModules$h]]);
29014
28899
  var xhtml = "http://www.w3.org/1999/xhtml";
29015
28900
  const namespaces = {
29016
28901
  svg: "http://www.w3.org/2000/svg",
@@ -30290,7 +30175,7 @@ const __default__ = {
30290
30175
  compatConfig: { MODE: 3 },
30291
30176
  inheritAttrs: false
30292
30177
  };
30293
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
30178
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
30294
30179
  ...__default__,
30295
30180
  props: {
30296
30181
  nodeId: {},
@@ -30403,7 +30288,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
30403
30288
  };
30404
30289
  }
30405
30290
  });
30406
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
30291
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
30407
30292
  ...{
30408
30293
  inheritAttrs: false
30409
30294
  },
@@ -30459,7 +30344,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
30459
30344
  return (_ctx, _cache) => {
30460
30345
  const _component_N8nSticky = resolveComponent("N8nSticky");
30461
30346
  return openBlock(), createElementBlock(Fragment, null, [
30462
- createVNode(unref(_sfc_main$o), {
30347
+ createVNode(unref(_sfc_main$p), {
30463
30348
  "min-height": 80,
30464
30349
  "min-width": 150,
30465
30350
  height: renderOptions.value.height,
@@ -30494,9 +30379,9 @@ const style0$g = {
30494
30379
  const cssModules$g = {
30495
30380
  "$style": style0$g
30496
30381
  };
30497
- const CanvasNodeStickyNote = /* @__PURE__ */ _export_sfc$1(_sfc_main$n, [["__cssModules", cssModules$g]]);
30498
- const _hoisted_1$2 = ["textContent"];
30499
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
30382
+ const CanvasNodeStickyNote = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__cssModules", cssModules$g]]);
30383
+ const _hoisted_1$5 = ["textContent"];
30384
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
30500
30385
  __name: "CanvasNodeAddNodes",
30501
30386
  setup(__props) {
30502
30387
  const nodeCreatorStore = useNodeCreatorStore();
@@ -30555,7 +30440,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
30555
30440
  createBaseVNode("p", {
30556
30441
  class: normalizeClass(_ctx.$style.label),
30557
30442
  textContent: toDisplayString(_ctx.$locale.baseText("nodeView.canvasAddButton.addFirstStep"))
30558
- }, null, 10, _hoisted_1$2)
30443
+ }, null, 10, _hoisted_1$5)
30559
30444
  ], 2);
30560
30445
  };
30561
30446
  }
@@ -30571,8 +30456,8 @@ const style0$f = {
30571
30456
  const cssModules$f = {
30572
30457
  "$style": style0$f
30573
30458
  };
30574
- const CanvasNodeAddNodes = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__cssModules", cssModules$f]]);
30575
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
30459
+ const CanvasNodeAddNodes = /* @__PURE__ */ _export_sfc$1(_sfc_main$n, [["__cssModules", cssModules$f]]);
30460
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
30576
30461
  __name: "CanvasNodeRenderer",
30577
30462
  setup(__props) {
30578
30463
  const node2 = inject(CanvasNodeKey);
@@ -30596,7 +30481,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
30596
30481
  };
30597
30482
  }
30598
30483
  });
30599
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
30484
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
30600
30485
  __name: "CanvasHandleRectangle",
30601
30486
  props: {
30602
30487
  handleClasses: { default: void 0 }
@@ -30616,7 +30501,7 @@ const style0$e = {
30616
30501
  const cssModules$e = {
30617
30502
  "$style": style0$e
30618
30503
  };
30619
- const __unplugin_components_0$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__cssModules", cssModules$e]]);
30504
+ const __unplugin_components_0$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$l, [["__cssModules", cssModules$e]]);
30620
30505
  function useCanvasNodeHandle() {
30621
30506
  const handle2 = inject(CanvasNodeHandleKey);
30622
30507
  const label2 = computed(() => (handle2 == null ? void 0 : handle2.label.value) ?? "");
@@ -30641,7 +30526,7 @@ function useCanvasNodeHandle() {
30641
30526
  };
30642
30527
  }
30643
30528
  const handleClasses$3 = "target";
30644
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
30529
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
30645
30530
  __name: "CanvasHandleMainInput",
30646
30531
  setup(__props) {
30647
30532
  const $style = useCssModule();
@@ -30675,11 +30560,11 @@ const style0$d = {
30675
30560
  const cssModules$d = {
30676
30561
  "$style": style0$d
30677
30562
  };
30678
- const CanvasHandleMainInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__cssModules", cssModules$d]]);
30679
- const _hoisted_1$1 = ["viewBox"];
30680
- const _hoisted_2 = ["x1", "y1", "x2", "y2"];
30563
+ const CanvasHandleMainInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__cssModules", cssModules$d]]);
30564
+ const _hoisted_1$4 = ["viewBox"];
30565
+ const _hoisted_2$1 = ["x1", "y1", "x2", "y2"];
30681
30566
  const _hoisted_3 = ["transform"];
30682
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
30567
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
30683
30568
  __name: "CanvasHandlePlus",
30684
30569
  props: {
30685
30570
  position: { default: "right" },
@@ -30771,7 +30656,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
30771
30656
  y2: linePosition.value[1][1],
30772
30657
  stroke: "var(--color-foreground-xdark)",
30773
30658
  "stroke-width": "2"
30774
- }, null, 10, _hoisted_2),
30659
+ }, null, 10, _hoisted_2$1),
30775
30660
  createBaseVNode("g", {
30776
30661
  class: normalizeClass([_ctx.$style.plus, _ctx.handleClasses, "clickable"]),
30777
30662
  transform: `translate(${plusPosition.value[0]}, ${plusPosition.value[1]})`,
@@ -30794,7 +30679,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
30794
30679
  d: "m16.40655,10.89837l-3.30491,0l0,-3.30491c0,-0.40555 -0.32889,-0.73443 -0.73443,-0.73443l-0.73443,0c-0.40554,0 -0.73442,0.32888 -0.73442,0.73443l0,3.30491l-3.30491,0c-0.40555,0 -0.73443,0.32888 -0.73443,0.73442l0,0.73443c0,0.40554 0.32888,0.73443 0.73443,0.73443l3.30491,0l0,3.30491c0,0.40554 0.32888,0.73442 0.73442,0.73442l0.73443,0c0.40554,0 0.73443,-0.32888 0.73443,-0.73442l0,-3.30491l3.30491,0c0.40554,0 0.73442,-0.32889 0.73442,-0.73443l0,-0.73443c0,-0.40554 -0.32888,-0.73442 -0.73442,-0.73442z"
30795
30680
  }, null, 2)
30796
30681
  ], 10, _hoisted_3)
30797
- ], 14, _hoisted_1$1);
30682
+ ], 14, _hoisted_1$4);
30798
30683
  };
30799
30684
  }
30800
30685
  });
@@ -30813,8 +30698,8 @@ const style0$c = {
30813
30698
  const cssModules$c = {
30814
30699
  "$style": style0$c
30815
30700
  };
30816
- const CanvasHandlePlus = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__cssModules", cssModules$c]]);
30817
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
30701
+ const CanvasHandlePlus = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__cssModules", cssModules$c]]);
30702
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
30818
30703
  __name: "CanvasHandleDot",
30819
30704
  props: {
30820
30705
  handleClasses: { default: void 0 }
@@ -30834,9 +30719,9 @@ const style0$b = {
30834
30719
  const cssModules$b = {
30835
30720
  "$style": style0$b
30836
30721
  };
30837
- const __unplugin_components_0$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$h, [["__cssModules", cssModules$b]]);
30722
+ const __unplugin_components_0$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$i, [["__cssModules", cssModules$b]]);
30838
30723
  const handleClasses$2 = "source";
30839
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
30724
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
30840
30725
  __name: "CanvasHandleMainOutput",
30841
30726
  emits: ["add"],
30842
30727
  setup(__props, { emit: __emit }) {
@@ -30848,6 +30733,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
30848
30733
  const classes = computed(() => ({
30849
30734
  "canvas-node-handle-main-output": true,
30850
30735
  [$style.handle]: true,
30736
+ [$style.connected]: isConnected.value,
30851
30737
  [$style.required]: isRequired.value
30852
30738
  }));
30853
30739
  const isHovered = ref(false);
@@ -30857,7 +30743,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
30857
30743
  return ((_a = runData2.value) == null ? void 0 : _a.total) ?? 0;
30858
30744
  });
30859
30745
  const runDataLabel2 = computed(
30860
- () => runData2.value ? i18n2.baseText("ndv.output.items", {
30746
+ () => !isConnected.value && runData2.value && runData2.value.total > 0 ? i18n2.baseText("ndv.output.items", {
30861
30747
  adjustToNumber: runData2.value.total,
30862
30748
  interpolate: { count: String(runData2.value.total) }
30863
30749
  }) : ""
@@ -30874,6 +30760,14 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
30874
30760
  }[(runDataTotal.value > 0 ? "large" : (_a = renderOptions.value.outputs) == null ? void 0 : _a.labelSize) ?? "small"];
30875
30761
  }
30876
30762
  );
30763
+ const outputLabelClasses = computed(() => ({
30764
+ [$style.label]: true,
30765
+ [$style.outputLabel]: true
30766
+ }));
30767
+ const runDataLabelClasses = computed(() => ({
30768
+ [$style.label]: true,
30769
+ [$style.runDataLabel]: true
30770
+ }));
30877
30771
  function onMouseEnter() {
30878
30772
  isHovered.value = true;
30879
30773
  }
@@ -30891,10 +30785,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
30891
30785
  }, [
30892
30786
  unref(label2) ? (openBlock(), createElementBlock("div", {
30893
30787
  key: 0,
30894
- class: normalizeClass([unref($style).label, unref($style).outputLabel])
30895
- }, toDisplayString(unref(label2)), 3)) : unref(runData2) ? (openBlock(), createElementBlock("div", {
30788
+ class: normalizeClass(outputLabelClasses.value)
30789
+ }, toDisplayString(unref(label2)), 3)) : createCommentVNode("", true),
30790
+ unref(runData2) ? (openBlock(), createElementBlock("div", {
30896
30791
  key: 1,
30897
- class: normalizeClass([unref($style).label, unref($style).runDataLabel])
30792
+ class: normalizeClass(runDataLabelClasses.value)
30898
30793
  }, toDisplayString(runDataLabel2.value), 3)) : createCommentVNode("", true),
30899
30794
  createVNode(_component_CanvasHandleDot, { "handle-classes": handleClasses$2 }),
30900
30795
  createVNode(Transition$2, { name: "canvas-node-handle-main-output" }, {
@@ -30902,13 +30797,14 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
30902
30797
  !unref(isConnected) && !unref(isReadOnly) ? withDirectives((openBlock(), createBlock(_component_CanvasHandlePlus, {
30903
30798
  key: 0,
30904
30799
  "data-test-id": "canvas-handle-plus",
30800
+ "data-plus-type": plusType.value,
30905
30801
  "line-size": plusLineSize.value,
30906
30802
  "handle-classes": handleClasses$2,
30907
30803
  type: plusType.value,
30908
30804
  onMouseenter: onMouseEnter,
30909
30805
  onMouseleave: onMouseLeave,
30910
30806
  "onClick:plus": onClickAdd
30911
- }, null, 8, ["line-size", "type"])), [
30807
+ }, null, 8, ["data-plus-type", "line-size", "type"])), [
30912
30808
  [vShow, isHandlePlusVisible.value]
30913
30809
  ]) : createCommentVNode("", true)
30914
30810
  ]),
@@ -30918,13 +30814,15 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
30918
30814
  };
30919
30815
  }
30920
30816
  });
30921
- const handle$3 = "_handle_1h8hh_1";
30922
- const label$2 = "_label_1h8hh_8";
30923
- const required$2 = "_required_1h8hh_18";
30924
- const outputLabel = "_outputLabel_1h8hh_23";
30925
- const runDataLabel = "_runDataLabel_1h8hh_31";
30817
+ const handle$3 = "_handle_lbwuh_1";
30818
+ const connected = "_connected_lbwuh_7";
30819
+ const label$2 = "_label_lbwuh_7";
30820
+ const required$2 = "_required_lbwuh_21";
30821
+ const outputLabel = "_outputLabel_lbwuh_26";
30822
+ const runDataLabel = "_runDataLabel_lbwuh_34";
30926
30823
  const style0$a = {
30927
30824
  handle: handle$3,
30825
+ connected,
30928
30826
  label: label$2,
30929
30827
  required: required$2,
30930
30828
  outputLabel,
@@ -30933,8 +30831,8 @@ const style0$a = {
30933
30831
  const cssModules$a = {
30934
30832
  "$style": style0$a
30935
30833
  };
30936
- const CanvasHandleMainOutput = /* @__PURE__ */ _export_sfc$1(_sfc_main$g, [["__cssModules", cssModules$a]]);
30937
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
30834
+ const CanvasHandleMainOutput = /* @__PURE__ */ _export_sfc$1(_sfc_main$h, [["__cssModules", cssModules$a]]);
30835
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
30938
30836
  __name: "CanvasHandleDiamond",
30939
30837
  props: {
30940
30838
  handleClasses: { default: void 0 }
@@ -30954,9 +30852,9 @@ const style0$9 = {
30954
30852
  const cssModules$9 = {
30955
30853
  "$style": style0$9
30956
30854
  };
30957
- const __unplugin_components_0 = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__cssModules", cssModules$9]]);
30855
+ const __unplugin_components_0 = /* @__PURE__ */ _export_sfc$1(_sfc_main$g, [["__cssModules", cssModules$9]]);
30958
30856
  const handleClasses$1 = "target";
30959
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
30857
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
30960
30858
  __name: "CanvasHandleNonMainInput",
30961
30859
  emits: ["add"],
30962
30860
  setup(__props, { emit: __emit }) {
@@ -31025,9 +30923,9 @@ const style0$8 = {
31025
30923
  const cssModules$8 = {
31026
30924
  "$style": style0$8
31027
30925
  };
31028
- const CanvasHandleNonMainInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__cssModules", cssModules$8]]);
30926
+ const CanvasHandleNonMainInput = /* @__PURE__ */ _export_sfc$1(_sfc_main$f, [["__cssModules", cssModules$8]]);
31029
30927
  const handleClasses = "source";
31030
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
30928
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
31031
30929
  __name: "CanvasHandleNonMainOutput",
31032
30930
  setup(__props) {
31033
30931
  const $style = useCssModule();
@@ -31063,8 +30961,8 @@ const style0$7 = {
31063
30961
  const cssModules$7 = {
31064
30962
  "$style": style0$7
31065
30963
  };
31066
- const CanvasHandleNonMainOutput = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__cssModules", cssModules$7]]);
31067
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
30964
+ const CanvasHandleNonMainOutput = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__cssModules", cssModules$7]]);
30965
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
31068
30966
  ...{
31069
30967
  inheritAttrs: false
31070
30968
  },
@@ -31197,8 +31095,9 @@ const style0$6 = {
31197
31095
  const cssModules$6 = {
31198
31096
  "$style": style0$6
31199
31097
  };
31200
- const CanvasHandleRenderer = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__cssModules", cssModules$6]]);
31201
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
31098
+ const CanvasHandleRenderer = /* @__PURE__ */ _export_sfc$1(_sfc_main$d, [["__cssModules", cssModules$6]]);
31099
+ const _hoisted_1$3 = ["data-node-type"];
31100
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
31202
31101
  __name: "CanvasNode",
31203
31102
  props: {
31204
31103
  id: {},
@@ -31373,7 +31272,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
31373
31272
  return (_ctx, _cache) => {
31374
31273
  return openBlock(), createElementBlock("div", {
31375
31274
  class: normalizeClass([_ctx.$style.canvasNode, { [_ctx.$style.showToolbar]: showToolbar2.value }]),
31376
- "data-test-id": "canvas-node"
31275
+ "data-test-id": "canvas-node",
31276
+ "data-node-type": data.value.type
31377
31277
  }, [
31378
31278
  (openBlock(true), createElementBlock(Fragment, null, renderList(mappedOutputs.value, (source) => {
31379
31279
  return openBlock(), createBlock(CanvasHandleRenderer, mergeProps({
@@ -31383,9 +31283,11 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
31383
31283
  mode: unref(CanvasConnectionMode).Output,
31384
31284
  "is-read-only": readOnly.value,
31385
31285
  "is-valid-connection": unref(isValidConnection),
31286
+ "data-node-name": label2.value,
31386
31287
  "data-test-id": "canvas-node-output-handle",
31288
+ "data-handle-index": source.index,
31387
31289
  onAdd: onAdd2
31388
- }), null, 16, ["mode", "is-read-only", "is-valid-connection"]);
31290
+ }), null, 16, ["mode", "is-read-only", "is-valid-connection", "data-node-name", "data-handle-index"]);
31389
31291
  }), 128)),
31390
31292
  (openBlock(true), createElementBlock(Fragment, null, renderList(mappedInputs.value, (target2) => {
31391
31293
  return openBlock(), createBlock(CanvasHandleRenderer, mergeProps({
@@ -31396,8 +31298,10 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
31396
31298
  "is-read-only": readOnly.value,
31397
31299
  "is-valid-connection": unref(isValidConnection),
31398
31300
  "data-test-id": "canvas-node-input-handle",
31301
+ "data-handle-index": target2.index,
31302
+ "data-node-name": label2.value,
31399
31303
  onAdd: onAdd2
31400
- }), null, 16, ["mode", "is-read-only", "is-valid-connection"]);
31304
+ }), null, 16, ["mode", "is-read-only", "is-valid-connection", "data-handle-index", "data-node-name"]);
31401
31305
  }), 128)),
31402
31306
  nodeTypeDescription.value ? (openBlock(), createBlock(CanvasNodeToolbar, {
31403
31307
  key: 0,
@@ -31410,14 +31314,14 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
31410
31314
  onUpdate,
31411
31315
  "onOpen:contextmenu": onOpenContextMenuFromToolbar
31412
31316
  }, null, 8, ["read-only", "class"])) : createCommentVNode("", true),
31413
- createVNode(_sfc_main$l, {
31317
+ createVNode(_sfc_main$m, {
31414
31318
  onDblclick: withModifiers(onActivate, ["stop"]),
31415
31319
  onMove,
31416
31320
  onUpdate,
31417
31321
  "onOpen:contextmenu": onOpenContextMenuFromNode
31418
31322
  }, {
31419
31323
  default: withCtx(() => [
31420
- createVNode(_sfc_main$10, {
31324
+ createVNode(_sfc_main$11, {
31421
31325
  "node-type": nodeTypeDescription.value,
31422
31326
  size: nodeIconSize.value,
31423
31327
  shrink: false,
@@ -31426,7 +31330,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
31426
31330
  ]),
31427
31331
  _: 1
31428
31332
  })
31429
- ], 2);
31333
+ ], 10, _hoisted_1$3);
31430
31334
  };
31431
31335
  }
31432
31336
  });
@@ -31441,8 +31345,8 @@ const style0$5 = {
31441
31345
  const cssModules$5 = {
31442
31346
  "$style": style0$5
31443
31347
  };
31444
- const Node = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["__cssModules", cssModules$5]]);
31445
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
31348
+ const Node = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__cssModules", cssModules$5]]);
31349
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
31446
31350
  __name: "CanvasEdgeToolbar",
31447
31351
  props: {
31448
31352
  type: {}
@@ -31499,8 +31403,9 @@ const style0$4 = {
31499
31403
  const cssModules$4 = {
31500
31404
  "$style": style0$4
31501
31405
  };
31502
- const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__cssModules", cssModules$4]]);
31503
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
31406
+ const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["__cssModules", cssModules$4]]);
31407
+ const _hoisted_1$2 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
31408
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
31504
31409
  __name: "CanvasEdge",
31505
31410
  props: {
31506
31411
  id: {},
@@ -31579,13 +31484,25 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
31579
31484
  strokeWidth: 2,
31580
31485
  stroke: isHovered.value ? "var(--color-primary)" : edgeColor.value
31581
31486
  }));
31582
- const edgeLabelStyle = computed(() => ({ color: edgeColor.value }));
31487
+ const edgeClasses = computed(() => ({
31488
+ [$style.edge]: true,
31489
+ hovered: isHovered.value
31490
+ }));
31491
+ const edgeLabelStyle = computed(() => ({
31492
+ color: edgeColor.value
31493
+ }));
31583
31494
  const edgeToolbarStyle = computed(() => {
31584
31495
  const [, labelX, labelY] = path.value;
31585
31496
  return {
31586
- transform: `translate(-50%, -50%) translate(${labelX}px,${labelY}px)`
31497
+ transform: `translate(-50%, -50%) translate(${labelX}px,${labelY}px)`,
31498
+ ...isHovered.value ? { zIndex: 1 } : {}
31587
31499
  };
31588
31500
  });
31501
+ const edgeToolbarClasses = computed(() => ({
31502
+ [$style.edgeLabelWrapper]: true,
31503
+ "vue-flow__edge-label": true,
31504
+ selected: props.selected
31505
+ }));
31589
31506
  const path = computed(
31590
31507
  () => getCustomPath(props, {
31591
31508
  connectionType: connectionType2.value
@@ -31607,33 +31524,39 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
31607
31524
  return openBlock(), createElementBlock(Fragment, null, [
31608
31525
  createVNode(unref(_sfc_main$d$1), {
31609
31526
  id: _ctx.id,
31610
- class: normalizeClass(unref($style).edge),
31527
+ class: normalizeClass(edgeClasses.value),
31611
31528
  style: normalizeStyle(edgeStyle.value),
31612
31529
  path: path.value[0],
31613
31530
  "marker-end": _ctx.markerEnd,
31614
31531
  "interaction-width": 40
31615
31532
  }, null, 8, ["id", "class", "style", "path", "marker-end"]),
31616
31533
  createVNode(unref(_sfc_main$3$1), null, {
31617
- default: withCtx(() => [
31618
- createBaseVNode("div", {
31619
- "data-test-id": "edge-label-wrapper",
31620
- style: normalizeStyle(edgeToolbarStyle.value),
31621
- class: normalizeClass(unref($style).edgeLabelWrapper),
31622
- onMouseenter: _cache[0] || (_cache[0] = ($event) => isHovered.value = true),
31623
- onMouseleave: _cache[1] || (_cache[1] = ($event) => isHovered.value = false)
31624
- }, [
31625
- renderToolbar.value ? (openBlock(), createBlock(CanvasEdgeToolbar, {
31626
- key: 0,
31627
- type: connectionType2.value,
31628
- onAdd: onAdd2,
31629
- onDelete
31630
- }, null, 8, ["type"])) : (openBlock(), createElementBlock("div", {
31631
- key: 1,
31632
- style: normalizeStyle(edgeLabelStyle.value),
31633
- class: normalizeClass(unref($style).edgeLabel)
31634
- }, toDisplayString(_ctx.label), 7))
31635
- ], 38)
31636
- ]),
31534
+ default: withCtx(() => {
31535
+ var _a, _b;
31536
+ return [
31537
+ createBaseVNode("div", {
31538
+ "data-test-id": "edge-label-wrapper",
31539
+ "data-source-node-name": (_a = _ctx.sourceNode) == null ? void 0 : _a.label,
31540
+ "data-target-node-name": (_b = _ctx.targetNode) == null ? void 0 : _b.label,
31541
+ "data-edge-status": status2.value,
31542
+ style: normalizeStyle(edgeToolbarStyle.value),
31543
+ class: normalizeClass(edgeToolbarClasses.value),
31544
+ onMouseenter: _cache[0] || (_cache[0] = ($event) => isHovered.value = true),
31545
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => isHovered.value = false)
31546
+ }, [
31547
+ renderToolbar.value ? (openBlock(), createBlock(CanvasEdgeToolbar, {
31548
+ key: 0,
31549
+ type: connectionType2.value,
31550
+ onAdd: onAdd2,
31551
+ onDelete
31552
+ }, null, 8, ["type"])) : (openBlock(), createElementBlock("div", {
31553
+ key: 1,
31554
+ style: normalizeStyle(edgeLabelStyle.value),
31555
+ class: normalizeClass(unref($style).edgeLabel)
31556
+ }, toDisplayString(_ctx.label), 7))
31557
+ ], 46, _hoisted_1$2)
31558
+ ];
31559
+ }),
31637
31560
  _: 1
31638
31561
  })
31639
31562
  ], 64);
@@ -31651,7 +31574,7 @@ const style0$3 = {
31651
31574
  const cssModules$3 = {
31652
31575
  "$style": style0$3
31653
31576
  };
31654
- const Edge = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__cssModules", cssModules$3]]);
31577
+ const Edge = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__cssModules", cssModules$3]]);
31655
31578
  const useKeybindings = (keymap, options) => {
31656
31579
  const activeElement = useActiveElement();
31657
31580
  const { isCtrlKeyPressed } = useDeviceSupport();
@@ -31703,8 +31626,8 @@ const useKeybindings = (keymap, options) => {
31703
31626
  }
31704
31627
  useEventListener$2(document, "keydown", onKeyDown2);
31705
31628
  };
31706
- const _hoisted_1 = ["id"];
31707
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
31629
+ const _hoisted_1$1 = ["id"];
31630
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
31708
31631
  __name: "CanvasArrowHeadMarker",
31709
31632
  props: {
31710
31633
  id: {}
@@ -31731,12 +31654,56 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
31731
31654
  stroke: "context-stroke",
31732
31655
  fill: "context-stroke"
31733
31656
  }, null, -1)
31734
- ]), 8, _hoisted_1)
31657
+ ]), 8, _hoisted_1$1)
31735
31658
  ])
31736
31659
  ]);
31737
31660
  };
31738
31661
  }
31739
31662
  });
31663
+ const _hoisted_1 = ["x", "y", "width", "height", "patternTransform"];
31664
+ const _hoisted_2 = ["d", "stroke-width"];
31665
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
31666
+ __name: "CanvasBackgroundStripedPattern",
31667
+ props: {
31668
+ x: {},
31669
+ y: {},
31670
+ zoom: {}
31671
+ },
31672
+ setup(__props) {
31673
+ const props = __props;
31674
+ const scaledGap = computed(() => 20 * props.zoom || 1);
31675
+ const patternOffset = computed(() => scaledGap.value / 2);
31676
+ return (_ctx, _cache) => {
31677
+ return openBlock(), createElementBlock(Fragment, null, [
31678
+ createBaseVNode("pattern", {
31679
+ id: "diagonalHatch",
31680
+ patternUnits: "userSpaceOnUse",
31681
+ x: _ctx.x % scaledGap.value,
31682
+ y: _ctx.y % scaledGap.value,
31683
+ width: scaledGap.value,
31684
+ height: scaledGap.value,
31685
+ patternTransform: `rotate(135) translate(-${patternOffset.value},-${patternOffset.value})`
31686
+ }, [
31687
+ createBaseVNode("path", {
31688
+ d: `M0 ${scaledGap.value / 2} H${scaledGap.value}`,
31689
+ "stroke-width": scaledGap.value / 2
31690
+ }, null, 8, _hoisted_2)
31691
+ ], 8, _hoisted_1),
31692
+ _cache[0] || (_cache[0] = createBaseVNode("rect", {
31693
+ x: "0",
31694
+ y: "0",
31695
+ width: "100%",
31696
+ height: "100%",
31697
+ fill: "url(#diagonalHatch)"
31698
+ }, null, -1))
31699
+ ], 64);
31700
+ };
31701
+ }
31702
+ });
31703
+ const CanvasBackgroundStripedPattern = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__scopeId", "data-v-3476bfc9"]]);
31704
+ function isMiddleMouseButton(event) {
31705
+ return event.which === 2 || event.button === 1;
31706
+ }
31740
31707
  const panningKeyCode = " ";
31741
31708
  const defaultZoom = 1;
31742
31709
  const minimapVisibilityDelay = 1e3;
@@ -31750,7 +31717,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31750
31717
  eventBus: { default: () => createEventBus() },
31751
31718
  readOnly: { type: Boolean, default: false },
31752
31719
  executing: { type: Boolean, default: false },
31753
- keyBindings: { type: Boolean, default: true }
31720
+ keyBindings: { type: Boolean, default: true },
31721
+ showBugReportingButton: { type: Boolean }
31754
31722
  },
31755
31723
  emits: ["update:modelValue", "update:node:position", "update:nodes:position", "update:node:active", "update:node:enabled", "update:node:selected", "update:node:name", "update:node:parameters", "click:node:add", "run:node", "delete:node", "create:node", "create:sticky", "delete:nodes", "update:nodes:enabled", "copy:nodes", "duplicate:nodes", "update:nodes:pin", "cut:nodes", "delete:connection", "create:connection:start", "create:connection", "create:connection:end", "create:connection:cancelled", "click:connection:add", "click:pane", "run:workflow", "save:workflow", "create:workflow"],
31756
31724
  setup(__props, { emit: __emit }) {
@@ -31758,6 +31726,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31758
31726
  const emit = __emit;
31759
31727
  const props = __props;
31760
31728
  const {
31729
+ vueFlowRef,
31761
31730
  getSelectedNodes: selectedNodes,
31762
31731
  addSelectedNodes,
31763
31732
  removeSelectedNodes,
@@ -31771,7 +31740,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31771
31740
  project,
31772
31741
  nodes: graphNodes,
31773
31742
  onPaneReady,
31774
- findNode
31743
+ findNode,
31744
+ onNodesInitialized,
31745
+ viewport
31775
31746
  } = useVueFlow({ id: props.id, deleteKeyCode: null });
31776
31747
  const isPaneReady = ref(false);
31777
31748
  const classes = computed(() => ({
@@ -31781,11 +31752,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31781
31752
  }));
31782
31753
  const disableKeyBindings = computed(() => !props.keyBindings);
31783
31754
  const isPanningEnabled = ref(false);
31755
+ const selectionKeyCode = ref(true);
31784
31756
  onKeyDown(panningKeyCode, () => {
31785
- isPanningEnabled.value = true;
31757
+ setPanningEnabled(true);
31786
31758
  });
31787
31759
  onKeyUp(panningKeyCode, () => {
31788
- isPanningEnabled.value = false;
31760
+ setPanningEnabled(false);
31789
31761
  });
31790
31762
  const keyMap = computed(() => ({
31791
31763
  ctrl_c: emitWithSelectedNodes((ids) => emit("copy:nodes", ids)),
@@ -31811,7 +31783,21 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31811
31783
  }
31812
31784
  }));
31813
31785
  useKeybindings(keyMap, { disabled: disableKeyBindings });
31814
- const selectionKeyCode = computed(() => isPanningEnabled.value ? null : true);
31786
+ function setPanningEnabled(value) {
31787
+ if (value) {
31788
+ isPanningEnabled.value = true;
31789
+ selectionKeyCode.value = null;
31790
+ } else {
31791
+ isPanningEnabled.value = false;
31792
+ selectionKeyCode.value = true;
31793
+ }
31794
+ }
31795
+ function resetSelectionKeyCode() {
31796
+ selectionKeyCode.value = null;
31797
+ void nextTick(() => {
31798
+ selectionKeyCode.value = true;
31799
+ });
31800
+ }
31815
31801
  const lastSelectedNode = computed(() => selectedNodes.value[selectedNodes.value.length - 1]);
31816
31802
  const hasSelection = computed(() => selectedNodes.value.length > 0);
31817
31803
  const selectedNodeIds = computed(() => selectedNodes.value.map((node2) => node2.id));
@@ -31931,18 +31917,30 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31931
31917
  async function onResetZoom() {
31932
31918
  await onZoomTo(defaultZoom);
31933
31919
  }
31934
- function onViewportChange(viewport) {
31935
- zoom2.value = viewport.zoom;
31920
+ function onViewportChange(viewport2) {
31921
+ zoom2.value = viewport2.zoom;
31936
31922
  }
31937
31923
  function setReadonly(value) {
31938
31924
  setInteractive(!value);
31939
31925
  elementsSelectable.value = true;
31940
31926
  }
31927
+ function onPaneMouseDown(event) {
31928
+ if (isMiddleMouseButton(event)) {
31929
+ setPanningEnabled(true);
31930
+ void nextTick(
31931
+ () => {
31932
+ var _a, _b;
31933
+ return (_b = (_a = vueFlowRef.value) == null ? void 0 : _a.querySelector(".vue-flow__pane")) == null ? void 0 : _b.dispatchEvent(new MouseEvent("mousedown", event));
31934
+ }
31935
+ );
31936
+ }
31937
+ }
31941
31938
  function onPaneMoveStart() {
31942
31939
  isPaneMoving.value = true;
31943
31940
  }
31944
31941
  function onPaneMoveEnd() {
31945
31942
  isPaneMoving.value = false;
31943
+ setPanningEnabled(false);
31946
31944
  }
31947
31945
  const contextMenu2 = useContextMenu();
31948
31946
  function onOpenContextMenu(event) {
@@ -32021,15 +32019,22 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32021
32019
  onMounted(() => {
32022
32020
  props.eventBus.on("fitView", onFitView);
32023
32021
  props.eventBus.on("nodes:select", onSelectNodes);
32022
+ window.addEventListener("focus", resetSelectionKeyCode);
32024
32023
  });
32025
32024
  onUnmounted(() => {
32026
32025
  props.eventBus.off("fitView", onFitView);
32027
32026
  props.eventBus.off("nodes:select", onSelectNodes);
32027
+ window.removeEventListener("focus", resetSelectionKeyCode);
32028
32028
  });
32029
32029
  onPaneReady(async () => {
32030
32030
  await onFitView();
32031
32031
  isPaneReady.value = true;
32032
32032
  });
32033
+ onNodesInitialized((nodes) => {
32034
+ var _a;
32035
+ if (nodes.length !== 1 || ((_a = nodes[0].data) == null ? void 0 : _a.render.type) !== CanvasNodeRenderType.AddNodes) return;
32036
+ void onFitView();
32037
+ });
32033
32038
  watch(() => props.readOnly, setReadonly, {
32034
32039
  immediate: true
32035
32040
  });
@@ -32040,7 +32045,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32040
32045
  });
32041
32046
  return (_ctx, _cache) => {
32042
32047
  const _component_CanvasConnectionLine = __unplugin_components_0$4;
32043
- const _component_CanvasControlButtons = _sfc_main$x;
32048
+ const _component_CanvasControlButtons = _sfc_main$y;
32044
32049
  return openBlock(), createBlock(unref(_sfc_main$1$4), {
32045
32050
  id: _ctx.id,
32046
32051
  nodes: _ctx.nodes,
@@ -32065,7 +32070,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32065
32070
  onViewportChange,
32066
32071
  onNodesChange,
32067
32072
  onMoveStart: onPaneMoveStart,
32068
- onMoveEnd: onPaneMoveEnd
32073
+ onMoveEnd: onPaneMoveEnd,
32074
+ onMousedown: onPaneMouseDown
32069
32075
  }, {
32070
32076
  "node-canvas-node": withCtx((canvasNodeProps) => [
32071
32077
  createVNode(Node, mergeProps(canvasNodeProps, {
@@ -32094,15 +32100,27 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32094
32100
  createVNode(_component_CanvasConnectionLine, normalizeProps(guardReactiveProps(connectionLineProps)), null, 16)
32095
32101
  ]),
32096
32102
  default: withCtx(() => [
32097
- createVNode(_sfc_main$8, { id: arrowHeadMarkerId.value }, null, 8, ["id"]),
32098
- createVNode(unref(_sfc_main$v), {
32103
+ createVNode(_sfc_main$9, { id: arrowHeadMarkerId.value }, null, 8, ["id"]),
32104
+ createVNode(unref(_sfc_main$w), {
32099
32105
  "data-test-id": "canvas-background",
32100
32106
  "pattern-color": "#aaa",
32101
32107
  gap: unref(GRID_SIZE)
32102
- }, null, 8, ["gap"]),
32108
+ }, createSlots({ _: 2 }, [
32109
+ _ctx.readOnly ? {
32110
+ name: "pattern-container",
32111
+ fn: withCtx(() => [
32112
+ createVNode(CanvasBackgroundStripedPattern, {
32113
+ x: unref(viewport).x,
32114
+ y: unref(viewport).y,
32115
+ zoom: unref(viewport).zoom
32116
+ }, null, 8, ["x", "y", "zoom"])
32117
+ ]),
32118
+ key: "0"
32119
+ } : void 0
32120
+ ]), 1032, ["gap"]),
32103
32121
  createVNode(Transition$2, { name: "minimap" }, {
32104
32122
  default: withCtx(() => [
32105
- withDirectives(createVNode(unref(_sfc_main$u), {
32123
+ withDirectives(createVNode(unref(_sfc_main$v), {
32106
32124
  "data-test-id": "canvas-minimap",
32107
32125
  "aria-label": "n8n Minimap",
32108
32126
  height: 120,
@@ -32125,12 +32143,13 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32125
32143
  class: normalizeClass(unref($style).canvasControls),
32126
32144
  position: _ctx.controlsPosition,
32127
32145
  "show-interactive": false,
32146
+ "show-bug-reporting-button": _ctx.showBugReportingButton,
32128
32147
  zoom: zoom2.value,
32129
32148
  onZoomToFit: onFitView,
32130
32149
  onZoomIn,
32131
32150
  onZoomOut,
32132
32151
  onResetZoom
32133
- }, null, 8, ["class", "position", "zoom"]),
32152
+ }, null, 8, ["class", "position", "show-bug-reporting-button", "zoom"]),
32134
32153
  (openBlock(), createBlock(Suspense, null, {
32135
32154
  default: withCtx(() => [
32136
32155
  createVNode(ContextMenu, { onAction: onContextMenuAction })
@@ -32143,9 +32162,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32143
32162
  };
32144
32163
  }
32145
32164
  });
32146
- const canvas$1 = "_canvas_xh7z8_1";
32147
- const ready = "_ready_xh7z8_4";
32148
- const draggable = "_draggable_xh7z8_7";
32165
+ const canvas$1 = "_canvas_rjqxg_1";
32166
+ const ready = "_ready_rjqxg_4";
32167
+ const draggable = "_draggable_rjqxg_7";
32149
32168
  const style0$2 = {
32150
32169
  canvas: canvas$1,
32151
32170
  ready,
@@ -32154,7 +32173,7 @@ const style0$2 = {
32154
32173
  const cssModules$2 = {
32155
32174
  "$style": style0$2
32156
32175
  };
32157
- const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-b4834d98"]]);
32176
+ const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-182f7c13"]]);
32158
32177
  function useCanvasMapping({
32159
32178
  nodes,
32160
32179
  connections: connections2,
@@ -32391,6 +32410,10 @@ function useCanvasMapping({
32391
32410
  acc[node2.id] = i18n2.baseText("node.theNodeIsWaitingUserInput");
32392
32411
  return acc;
32393
32412
  }
32413
+ if ((node2 == null ? void 0 : node2.type) === FORM_NODE_TYPE) {
32414
+ acc[node2.id] = i18n2.baseText("node.theNodeIsWaitingFormCall");
32415
+ return acc;
32416
+ }
32394
32417
  const waitDate = new Date(workflowExecution.waitTill);
32395
32418
  if (waitDate.toISOString() === WAIT_TIME_UNLIMITED) {
32396
32419
  acc[node2.id] = i18n2.baseText(
@@ -32561,17 +32584,17 @@ function useCanvasMapping({
32561
32584
  }
32562
32585
  if (nodePinnedDataById.value[fromNode.id]) {
32563
32586
  const pinnedDataCount = ((_a = nodePinnedDataById.value[fromNode.id]) == null ? void 0 : _a.length) ?? 0;
32564
- return i18n2.baseText("ndv.output.items", {
32587
+ return pinnedDataCount > 0 ? i18n2.baseText("ndv.output.items", {
32565
32588
  adjustToNumber: pinnedDataCount,
32566
32589
  interpolate: { count: String(pinnedDataCount) }
32567
- });
32590
+ }) : "";
32568
32591
  } else if (nodeExecutionRunDataById.value[fromNode.id]) {
32569
32592
  const { type, index } = parseCanvasConnectionHandleString(connection.sourceHandle);
32570
32593
  const runDataTotal = ((_d = (_c = (_b = nodeExecutionRunDataOutputMapById.value[fromNode.id]) == null ? void 0 : _b[type]) == null ? void 0 : _c[index]) == null ? void 0 : _d.total) ?? 0;
32571
- return i18n2.baseText("ndv.output.items", {
32594
+ return runDataTotal > 0 ? i18n2.baseText("ndv.output.items", {
32572
32595
  adjustToNumber: runDataTotal,
32573
32596
  interpolate: { count: String(runDataTotal) }
32574
- });
32597
+ }) : "";
32575
32598
  }
32576
32599
  return "";
32577
32600
  }
@@ -32592,9 +32615,11 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
32592
32615
  workflow: {},
32593
32616
  workflowObject: {},
32594
32617
  fallbackNodes: { default: () => [] },
32618
+ showFallbackNodes: { type: Boolean, default: true },
32595
32619
  eventBus: { default: () => createEventBus() },
32596
32620
  readOnly: { type: Boolean },
32597
- executing: { type: Boolean }
32621
+ executing: { type: Boolean },
32622
+ showBugReportingButton: { type: Boolean }
32598
32623
  },
32599
32624
  setup(__props) {
32600
32625
  const props = __props;
@@ -32602,8 +32627,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
32602
32627
  const workflow = toRef(props, "workflow");
32603
32628
  const workflowObject = toRef(props, "workflowObject");
32604
32629
  const nodes = computed(() => {
32605
- const stickyNoteNodes = props.workflow.nodes.filter((node2) => node2.type === STICKY_NODE_TYPE);
32606
- return props.workflow.nodes.length > stickyNoteNodes.length ? props.workflow.nodes : [...props.fallbackNodes, ...stickyNoteNodes];
32630
+ return props.showFallbackNodes ? [...props.workflow.nodes, ...props.fallbackNodes] : props.workflow.nodes;
32607
32631
  });
32608
32632
  const connections2 = computed(() => props.workflow.connections);
32609
32633
  const { nodes: mappedNodes, connections: mappedConnections } = useCanvasMapping({
@@ -32613,18 +32637,21 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
32613
32637
  });
32614
32638
  return (_ctx, _cache) => {
32615
32639
  return openBlock(), createElementBlock("div", {
32616
- class: normalizeClass(unref($style).wrapper)
32640
+ class: normalizeClass(unref($style).wrapper),
32641
+ "data-test-id": "canvas-wrapper"
32617
32642
  }, [
32618
32643
  createBaseVNode("div", {
32619
32644
  class: normalizeClass(unref($style).canvas)
32620
32645
  }, [
32621
32646
  workflow.value ? (openBlock(), createBlock(Canvas, mergeProps({
32622
32647
  key: 0,
32648
+ id: _ctx.id,
32623
32649
  nodes: unref(mappedNodes),
32624
32650
  connections: unref(mappedConnections),
32651
+ "show-bug-reporting-button": _ctx.showBugReportingButton,
32625
32652
  "event-bus": _ctx.eventBus,
32626
32653
  "read-only": _ctx.readOnly
32627
- }, _ctx.$attrs), null, 16, ["nodes", "connections", "event-bus", "read-only"])) : createCommentVNode("", true)
32654
+ }, _ctx.$attrs), null, 16, ["id", "nodes", "connections", "show-bug-reporting-button", "event-bus", "read-only"])) : createCommentVNode("", true)
32628
32655
  ], 2),
32629
32656
  renderSlot(_ctx.$slots, "default")
32630
32657
  ], 2);
@@ -32962,6 +32989,7 @@ function useCanvasOperations({ router }) {
32962
32989
  async function addNodes2(nodes, options = {}) {
32963
32990
  let insertPosition = options.position;
32964
32991
  let lastAddedNode;
32992
+ const addedNodes = [];
32965
32993
  const nodesWithTypeVersion = nodes.map((node2) => {
32966
32994
  const typeVersion = node2.typeVersion ?? resolveNodeVersion(requireNodeTypeDescription(node2.type));
32967
32995
  return {
@@ -32978,7 +33006,7 @@ function useCanvasOperations({ router }) {
32978
33006
  const position2 = node2.position ?? insertPosition;
32979
33007
  const nodeTypeDescription = requireNodeTypeDescription(node2.type, node2.typeVersion);
32980
33008
  try {
32981
- lastAddedNode = addNode(
33009
+ const newNode = addNode(
32982
33010
  {
32983
33011
  ...node2,
32984
33012
  position: position2
@@ -32990,6 +33018,8 @@ function useCanvasOperations({ router }) {
32990
33018
  isAutoAdd
32991
33019
  }
32992
33020
  );
33021
+ lastAddedNode = newNode;
33022
+ addedNodes.push(newNode);
32993
33023
  } catch (error2) {
32994
33024
  toast.showError(error2, i18n2.baseText("error"));
32995
33025
  console.error(error2);
@@ -33009,6 +33039,7 @@ function useCanvasOperations({ router }) {
33009
33039
  if (!options.keepPristine) {
33010
33040
  uiStore.stateIsDirty = true;
33011
33041
  }
33042
+ return addedNodes;
33012
33043
  }
33013
33044
  function updatePositionForNodeWithMultipleInputs(node2) {
33014
33045
  const inputNodes = editableWorkflowObject.value.getParentNodesByDepth(node2.name, 1);
@@ -33043,15 +33074,15 @@ function useCanvasOperations({ router }) {
33043
33074
  if (options.trackHistory) {
33044
33075
  historyStore.pushCommandToUndo(new AddNodeCommand(nodeData));
33045
33076
  }
33077
+ if (!options.isAutoAdd) {
33078
+ createConnectionToLastInteractedWithNode(nodeData, options);
33079
+ }
33046
33080
  void nextTick(() => {
33047
33081
  workflowsStore.setNodePristine(nodeData.name, true);
33048
33082
  nodeHelpers.matchCredentials(nodeData);
33049
33083
  nodeHelpers.updateNodeParameterIssues(nodeData);
33050
33084
  nodeHelpers.updateNodeCredentialIssues(nodeData);
33051
33085
  nodeHelpers.updateNodeInputIssues(nodeData);
33052
- if (!options.isAutoAdd) {
33053
- createConnectionToLastInteractedWithNode(nodeData, options);
33054
- }
33055
33086
  if (options.telemetry) {
33056
33087
  trackAddNode(nodeData, options);
33057
33088
  }
@@ -33425,12 +33456,7 @@ function useCanvasOperations({ router }) {
33425
33456
  targetNode,
33426
33457
  connection
33427
33458
  );
33428
- if (!isConnectionAllowed(
33429
- sourceNode,
33430
- targetNode,
33431
- mappedConnection[0].type,
33432
- mappedConnection[1].type
33433
- )) {
33459
+ if (!isConnectionAllowed(sourceNode, targetNode, mappedConnection[0], mappedConnection[1])) {
33434
33460
  return;
33435
33461
  }
33436
33462
  workflowsStore.addConnection({
@@ -33533,9 +33559,9 @@ function useCanvasOperations({ router }) {
33533
33559
  connection
33534
33560
  });
33535
33561
  }
33536
- function isConnectionAllowed(sourceNode, targetNode, sourceConnectionType, targetConnectionType) {
33562
+ function isConnectionAllowed(sourceNode, targetNode, sourceConnection, targetConnection) {
33537
33563
  const blocklist = [STICKY_NODE_TYPE];
33538
- if (sourceConnectionType !== targetConnectionType) {
33564
+ if (sourceConnection.type !== targetConnection.type) {
33539
33565
  return false;
33540
33566
  }
33541
33567
  if (blocklist.includes(sourceNode.type) || blocklist.includes(targetNode.type)) {
@@ -33556,9 +33582,10 @@ function useCanvasOperations({ router }) {
33556
33582
  }
33557
33583
  const sourceNodeHasOutputConnectionOfType = !!sourceNodeOutputs.find((output) => {
33558
33584
  const outputType = typeof output === "string" ? output : output.type;
33559
- return outputType === sourceConnectionType;
33585
+ return outputType === sourceConnection.type;
33560
33586
  });
33561
- if (!sourceNodeHasOutputConnectionOfType) {
33587
+ const sourceNodeHasOutputConnectionPortOfType = sourceConnection.index < sourceNodeOutputs.length;
33588
+ if (!sourceNodeHasOutputConnectionOfType || !sourceNodeHasOutputConnectionPortOfType) {
33562
33589
  return false;
33563
33590
  }
33564
33591
  const targetNodeType = nodeTypesStore.getNodeType(targetNode.type, targetNode.typeVersion);
@@ -33576,7 +33603,7 @@ function useCanvasOperations({ router }) {
33576
33603
  }
33577
33604
  const targetNodeHasInputConnectionOfType = !!targetNodeInputs.find((input) => {
33578
33605
  const inputType = typeof input === "string" ? input : input.type;
33579
- if (inputType !== targetConnectionType) return false;
33606
+ if (inputType !== targetConnection.type) return false;
33580
33607
  const filter2 = typeof input === "object" && "filter" in input ? input.filter : void 0;
33581
33608
  if ((filter2 == null ? void 0 : filter2.nodes.length) && !filter2.nodes.includes(sourceNode.type)) {
33582
33609
  toast.showToast({
@@ -33591,7 +33618,8 @@ function useCanvasOperations({ router }) {
33591
33618
  }
33592
33619
  return true;
33593
33620
  });
33594
- return targetNodeHasInputConnectionOfType;
33621
+ const targetNodeHasInputConnectionPortOfType = targetConnection.index < targetNodeInputs.length;
33622
+ return targetNodeHasInputConnectionOfType && targetNodeHasInputConnectionPortOfType;
33595
33623
  }
33596
33624
  function addConnections(connections2, { trackBulk = true, trackHistory = false } = {}) {
33597
33625
  if (trackBulk && trackHistory) {
@@ -33784,6 +33812,11 @@ function useCanvasOperations({ router }) {
33784
33812
  );
33785
33813
  if (isDuplicate) {
33786
33814
  node2.webhookId = v4();
33815
+ if (node2.parameters.path) {
33816
+ node2.parameters.path = node2.webhookId;
33817
+ } else if (node2.parameters.options.path) {
33818
+ node2.parameters.options.path = node2.webhookId;
33819
+ }
33787
33820
  }
33788
33821
  }
33789
33822
  if (node2.id) {
@@ -33860,9 +33893,6 @@ function useCanvasOperations({ router }) {
33860
33893
  return accu;
33861
33894
  }, []);
33862
33895
  workflowsStore.addWorkflowTagIds(tagIds);
33863
- setTimeout(() => {
33864
- nodeHelpers.addPinDataConnections(workflowsStore.pinnedWorkflowData);
33865
- });
33866
33896
  }
33867
33897
  async function fetchWorkflowDataFromUrl(url) {
33868
33898
  let workflowData;
@@ -34056,7 +34086,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34056
34086
  __name: "NodeView.v2",
34057
34087
  setup(__props) {
34058
34088
  const LazyNodeCreation2 = defineAsyncComponent(
34059
- async () => await __vitePreload(() => import("./NodeCreation-CH8QZkmg.js").then((n) => n.N), true ? __vite__mapDeps([16,1,2,17]) : void 0)
34089
+ async () => await __vitePreload(() => import("./NodeCreation-C2dcJSCB.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
34060
34090
  );
34061
34091
  const LazyNodeDetailsView = defineAsyncComponent(
34062
34092
  async () => await __vitePreload(() => Promise.resolve().then(() => NodeDetailsView), true ? void 0 : void 0)
@@ -34174,6 +34204,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34174
34204
  }
34175
34205
  ]
34176
34206
  );
34207
+ const showFallbackNodes = computed(() => triggerNodes.value.length === 0);
34177
34208
  const keyBindingsEnabled = computed(() => {
34178
34209
  return !ndvStore.activeNode && uiStore.activeModals.length === 0;
34179
34210
  });
@@ -34219,22 +34250,26 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34219
34250
  } else if (route.name === VIEWS.TEMPLATE_IMPORT) {
34220
34251
  const templateId = route.params.id;
34221
34252
  await openWorkflowTemplate(templateId.toString());
34222
- } else if (isWorkflowRoute.value && !isAlreadyInitialized) {
34223
- historyStore.reset();
34224
- if (isNewWorkflowRoute.value || !workflowId.value) {
34225
- if (((_a = route.meta) == null ? void 0 : _a.nodeView) === true) {
34226
- await initializeWorkspaceForNewWorkflow();
34253
+ } else if (isWorkflowRoute.value) {
34254
+ if (!isAlreadyInitialized) {
34255
+ historyStore.reset();
34256
+ if (isNewWorkflowRoute.value || !workflowId.value) {
34257
+ if (((_a = route.meta) == null ? void 0 : _a.nodeView) === true) {
34258
+ await initializeWorkspaceForNewWorkflow();
34259
+ }
34260
+ return;
34227
34261
  }
34228
- return;
34262
+ await initializeWorkspaceForExistingWorkflow(workflowId.value);
34263
+ await loadCredentials();
34264
+ void nextTick(() => {
34265
+ nodeHelpers.updateNodesInputIssues();
34266
+ nodeHelpers.updateNodesCredentialsIssues();
34267
+ nodeHelpers.updateNodesParameterIssues();
34268
+ });
34269
+ }
34270
+ if (route.name === VIEWS.EXECUTION_DEBUG) {
34271
+ await initializeDebugMode();
34229
34272
  }
34230
- await initializeWorkspaceForExistingWorkflow(workflowId.value);
34231
- await loadCredentials();
34232
- await initializeDebugMode();
34233
- void nextTick(() => {
34234
- nodeHelpers.updateNodesInputIssues();
34235
- nodeHelpers.updateNodesCredentialsIssues();
34236
- nodeHelpers.updateNodesParameterIssues();
34237
- });
34238
34273
  }
34239
34274
  }
34240
34275
  async function initializeWorkspaceForNewWorkflow() {
@@ -34619,8 +34654,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34619
34654
  if (!checkIfEditingIsAllowed()) {
34620
34655
  return;
34621
34656
  }
34622
- await addNodes2(nodes, { dragAndDrop, position: position2, trackHistory: true, telemetry: true });
34623
- await nextTick();
34657
+ const addedNodes = await addNodes2(nodes, {
34658
+ dragAndDrop,
34659
+ position: position2,
34660
+ trackHistory: true,
34661
+ telemetry: true
34662
+ });
34624
34663
  const offsetIndex = editableWorkflow.value.nodes.length - nodes.length;
34625
34664
  const mappedConnections = connections2.map(({ from, to }) => {
34626
34665
  const fromNode = editableWorkflow.value.nodes[offsetIndex + from.nodeIndex];
@@ -34642,9 +34681,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34642
34681
  };
34643
34682
  });
34644
34683
  addConnections(mappedConnections);
34645
- void nextTick(() => {
34646
- uiStore.resetLastInteractedWith();
34647
- });
34684
+ uiStore.resetLastInteractedWith();
34685
+ selectNodes([addedNodes[addedNodes.length - 1].id]);
34648
34686
  }
34649
34687
  async function onRevertAddNode({ node: node2 }) {
34650
34688
  await revertAddNode(node2.name);
@@ -34811,7 +34849,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34811
34849
  if (data.waitTill) {
34812
34850
  toast.showMessage({
34813
34851
  title: i18n2.baseText("nodeView.thisExecutionHasntFinishedYet"),
34814
- message: h(_sfc_main$C),
34852
+ message: h(_sfc_main$D),
34815
34853
  type: "warning",
34816
34854
  duration: 0
34817
34855
  });
@@ -35010,14 +35048,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35010
35048
  }
35011
35049
  }
35012
35050
  async function initializeDebugMode() {
35013
- if (route.name === VIEWS.EXECUTION_DEBUG) {
35014
- workflowHelpers.setDocumentTitle(workflowsStore.workflowName, "DEBUG");
35015
- if (!workflowsStore.isInDebugMode) {
35016
- await applyExecutionData(route.params.executionId);
35017
- workflowsStore.isInDebugMode = true;
35018
- }
35019
- canvasEventBus.on("saved:workflow", onSaveFromWithinExecutionDebug);
35051
+ workflowHelpers.setDocumentTitle(workflowsStore.workflowName, "DEBUG");
35052
+ if (!workflowsStore.isInDebugMode) {
35053
+ await applyExecutionData(route.params.executionId);
35054
+ workflowsStore.isInDebugMode = true;
35020
35055
  }
35056
+ canvasEventBus.on("saved:workflow", onSaveFromWithinExecutionDebug);
35021
35057
  }
35022
35058
  async function onSaveFromWithinExecutionDebug() {
35023
35059
  if (route.name !== VIEWS.EXECUTION_DEBUG) return;
@@ -35040,6 +35076,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35040
35076
  function onClickPane(position2) {
35041
35077
  lastClickPosition.value = [position2.x, position2.y];
35042
35078
  uiStore.isCreateNodeActive = false;
35079
+ setNodeSelected();
35043
35080
  }
35044
35081
  function registerCustomActions() {
35045
35082
  registerCustomAction({
@@ -35129,12 +35166,15 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35129
35166
  const _component_CanvasChatButton = __unplugin_components_0$5;
35130
35167
  return unref(editableWorkflow) && unref(editableWorkflowObject) && !isLoading.value ? (openBlock(), createBlock(WorkflowCanvas, {
35131
35168
  key: 0,
35169
+ id: unref(editableWorkflow).id,
35132
35170
  workflow: unref(editableWorkflow),
35133
35171
  "workflow-object": unref(editableWorkflowObject),
35134
35172
  "fallback-nodes": fallbackNodes.value,
35173
+ "show-fallback-nodes": showFallbackNodes.value,
35135
35174
  "event-bus": unref(canvasEventBus),
35136
35175
  "read-only": isCanvasReadOnly.value,
35137
35176
  executing: isWorkflowRunning.value,
35177
+ "show-bug-reporting-button": !isDemoRoute.value || !!unref(executionsStore).activeExecution,
35138
35178
  "key-bindings": keyBindingsEnabled.value,
35139
35179
  "onUpdate:nodes:position": onUpdateNodesPosition,
35140
35180
  "onUpdate:node:position": onUpdateNodePosition,
@@ -35226,7 +35266,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
35226
35266
  }))
35227
35267
  ]),
35228
35268
  _: 1
35229
- }, 8, ["workflow", "workflow-object", "fallback-nodes", "event-bus", "read-only", "executing", "key-bindings"])) : createCommentVNode("", true);
35269
+ }, 8, ["id", "workflow", "workflow-object", "fallback-nodes", "show-fallback-nodes", "event-bus", "read-only", "executing", "show-bug-reporting-button", "key-bindings"])) : createCommentVNode("", true);
35230
35270
  };
35231
35271
  }
35232
35272
  });
@@ -35243,14 +35283,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
35243
35283
  setup(__props) {
35244
35284
  const workflowsStore = useWorkflowsStore();
35245
35285
  const sourceControlStore = useSourceControlStore();
35246
- const settingsStore = useSettingsStore();
35247
35286
  const router = useRouter();
35248
35287
  const route = useRoute();
35249
35288
  const workflowHelpers = useWorkflowHelpers({ router });
35250
- const nodeViewVersion = useLocalStorage(
35251
- "NodeView.version",
35252
- settingsStore.deploymentType === "n8n-internal" ? "2" : "1"
35253
- );
35289
+ const { nodeViewVersion } = useNodeViewVersionSwitcher();
35254
35290
  const workflowId = computed(() => route.params.name);
35255
35291
  const isReadOnlyEnvironment = computed(() => {
35256
35292
  return sourceControlStore.preferences.branchReadOnly;