n8n-editor-ui 1.68.0 → 1.69.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 (87) hide show
  1. package/dist/assets/AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-WFxE66IL.js +57 -0
  2. package/dist/assets/{AuthView-C7b2xzS9.js → AuthView-CwyYsaEp.js} +1 -1
  3. package/dist/assets/{CanvasChat-QctJb8ta.js → CanvasChat-aNmHLHsk.js} +3 -2
  4. package/dist/assets/{CanvasControls-raoYims4.js → CanvasControls-B0XKV7Yl.js} +6 -5
  5. package/dist/assets/{ChangePasswordView-BBju88Nm.js → ChangePasswordView-brXzO3ZA.js} +2 -2
  6. package/dist/assets/CollectionParameter-P2Jb6DYK.js +4 -0
  7. package/dist/assets/{CredentialsView-BfYXjOVw.js → CredentialsView-DmCI_BFM.js} +11 -26
  8. package/dist/assets/{ErrorView-BhPrjw7c.js → ErrorView-CgtXwolU.js} +5 -4
  9. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-Ba-at9rw.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-DzSjE1X1.js} +2 -2
  10. package/dist/assets/{ExecutionsView-Dcw07XZ-.js → ExecutionsView-BQFG-zfV.js} +7 -11
  11. package/dist/assets/{FileSaver.min-CKlTVpWB.js → FileSaver.min-Dec4VlX4.js} +1 -1
  12. package/dist/assets/{FixedCollectionParameter-CkI6mCZG.js → FixedCollectionParameter-UONn8WZJ.js} +1 -1
  13. package/dist/assets/{ForgotMyPasswordView--eKPrTSW.js → ForgotMyPasswordView-9zRIxS-G.js} +2 -2
  14. package/dist/assets/{MainHeader-Btek9DoL.js → MainHeader-Bc9p2q6U.js} +67 -41
  15. package/dist/assets/{MainHeader-DJdd17Nh.css → MainHeader-CgL_r4xK.css} +53 -24
  16. package/dist/assets/{MainSidebar-BRYJRpOA.css → MainSidebar-DL53w2zU.css} +37 -21
  17. package/dist/assets/{MainSidebar-CRjg4yDv.js → MainSidebar-DlEV1cKl.js} +63 -127
  18. package/dist/assets/{NodeCreation-CDpNw3BL.js → NodeCreation-DT2fJ_vL.js} +7 -6
  19. package/dist/assets/{NodeCreator-DPpQXLHf.js → NodeCreator-D0GID8DN.js} +22 -21
  20. package/dist/assets/{NodeViewSwitcher-CNfOOUof.js → NodeViewSwitcher-CTbxFDX4.js} +592 -370
  21. package/dist/assets/{NodeViewSwitcher-DuVIKqpm.css → NodeViewSwitcher-s2TUlOvE.css} +126 -106
  22. package/dist/assets/{ProjectCardBadge-DzaTsr93.js → ProjectCardBadge-CP5T2Lcg.js} +1 -1
  23. package/dist/assets/{ProjectHeader-09VQWBZH.css → ProjectHeader-CTK_rV3h.css} +13 -6
  24. package/dist/assets/{ProjectHeader-wdvHJxbT.js → ProjectHeader-oZWwGIoC.js} +58 -38
  25. package/dist/assets/{ProjectSettings-B6j0VJK5.js → ProjectSettings-DfDaR3aV.js} +24 -23
  26. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-ByoMju5L.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-D1E6Idg4.js} +1 -1
  27. package/dist/assets/{ResourcesListLayout-9Vpyt6Ec.js → ResourcesListLayout-2lqLFJll.js} +3 -16
  28. package/dist/assets/{ResourcesListLayout-CuA8O7do.css → ResourcesListLayout-BuxiQpsj.css} +8 -8
  29. package/dist/assets/{RunDataJson-sPhT7c2h.js → RunDataJson-xyWfNyKi.js} +12 -12
  30. package/dist/assets/{RunDataJsonActions-DiMvLis_.js → RunDataJsonActions-SLxe6h_C.js} +3 -2
  31. package/dist/assets/{RunDataSearch-CF_rpBKx.js → RunDataSearch-CdLie2uo.js} +1 -1
  32. package/dist/assets/{RunDataTable-T52TXUHR.js → RunDataTable-D3iYKYbR.js} +144 -35
  33. package/dist/assets/{RunDataTable-ZwoYenSI.css → RunDataTable-enskmmU4.css} +41 -35
  34. package/dist/assets/{SamlOnboarding-BCn53xtf.js → SamlOnboarding-CqbC519J.js} +2 -2
  35. package/dist/assets/{SettingsApiView-DumvK072.js → SettingsApiView-DqdLYzOz.js} +1 -1
  36. package/dist/assets/{SettingsCommunityNodesView-Db787Jar.js → SettingsCommunityNodesView-DND8OHjT.js} +3 -3
  37. package/dist/assets/{SettingsExternalSecrets-DKB2o2Dq.js → SettingsExternalSecrets-Cqr1K1PK.js} +1 -1
  38. package/dist/assets/{SettingsLdapView-BoKoCT5V.js → SettingsLdapView-D1hHgVwD.js} +1 -1
  39. package/dist/assets/{SettingsLogStreamingView-BGX39Unz.js → SettingsLogStreamingView-XmQhXkP8.js} +1 -1
  40. package/dist/assets/{SettingsPersonalView-fTCeSJfu.js → SettingsPersonalView-CoZXNkp0.js} +1 -1
  41. package/dist/assets/{SettingsSourceControl-_G83P363.js → SettingsSourceControl-BapEFaNC.js} +1 -1
  42. package/dist/assets/{SettingsSso-Bn48qAiX.js → SettingsSso-bibVg8kV.js} +1 -1
  43. package/dist/assets/{SettingsUsageAndPlan-DZkS0RP4.js → SettingsUsageAndPlan-9Am89x9n.js} +1 -1
  44. package/dist/assets/{SettingsUsersView-BUh2iKEW.js → SettingsUsersView-PMEBNu_w.js} +1 -1
  45. package/dist/assets/{SettingsView-D_S4x7XG.js → SettingsView-C0FhNXC5.js} +1 -1
  46. package/dist/assets/{SetupView-BenKVU0l.js → SetupView-2ldaQ0LW.js} +2 -2
  47. package/dist/assets/{SetupWorkflowCredentialsButton-DKr9ZPLE.js → SetupWorkflowCredentialsButton-BVwfvnTr.js} +1 -1
  48. package/dist/assets/{SetupWorkflowFromTemplateView-Ce1R_CDh.js → SetupWorkflowFromTemplateView-BG-AhIrZ.js} +3 -3
  49. package/dist/assets/{SigninView-xl5aJqka.js → SigninView-DF9tLSZu.js} +2 -2
  50. package/dist/assets/{SignoutView-Bscz6u1Y.js → SignoutView-CmernPNn.js} +1 -1
  51. package/dist/assets/{SignupView-CZN8EhJV.js → SignupView-Bu9MlpwT.js} +2 -2
  52. package/dist/assets/{TemplateDetails-BAQ3vBNJ.js → TemplateDetails-TJ0yc1A9.js} +2 -2
  53. package/dist/assets/{TemplateList-DD7sqnpI.js → TemplateList-DNv_0Eyu.js} +3 -2
  54. package/dist/assets/{TemplatesCollectionView-CG3ZoY8i.js → TemplatesCollectionView-CntE56ke.js} +5 -5
  55. package/dist/assets/{TemplatesSearchView-22jrqI8X.js → TemplatesSearchView-CvjcFXUg.js} +3 -3
  56. package/dist/assets/{TemplatesView-BZFc4hZ1.js → TemplatesView-YqT9aKyI.js} +3 -2
  57. package/dist/assets/{TemplatesWorkflowView-DkXtdhUJ.js → TemplatesWorkflowView-CUFmfwQf.js} +5 -5
  58. package/dist/assets/{VariablesView-DHu4ZoMN.js → VariablesView-CmQdhIWP.js} +12 -12
  59. package/dist/assets/{VariablesView-BPKo50HJ.css → VariablesView-meR15bnW.css} +18 -18
  60. package/dist/assets/{WorkerView-BfxdQiAc.js → WorkerView-BxNqbqFw.js} +11 -10
  61. package/dist/assets/{WorkflowActivator-CvdQVEtW.js → WorkflowActivator-CVDdqHMC.js} +2 -2
  62. package/dist/assets/{WorkflowExecutionsInfoAccordion-D2GFnpq1.js → WorkflowExecutionsInfoAccordion-BoXSN3HK.js} +7 -6
  63. package/dist/assets/{WorkflowExecutionsLandingPage-D2bvAsxg.js → WorkflowExecutionsLandingPage-d6z9UgBQ.js} +2 -2
  64. package/dist/assets/{WorkflowExecutionsPreview-D6WBsbAG.js → WorkflowExecutionsPreview-BqiH-pqP.js} +12 -11
  65. package/dist/assets/{WorkflowExecutionsView-CZKkPKqJ.css → WorkflowExecutionsView-CepgQyRt.css} +2 -2
  66. package/dist/assets/{WorkflowExecutionsView-DI6r5OvZ.js → WorkflowExecutionsView-oRW-4d0o.js} +18 -9
  67. package/dist/assets/{WorkflowHistory-Dc1f2Tsn.js → WorkflowHistory-BTuLr3X9.js} +3 -3
  68. package/dist/assets/{WorkflowOnboardingView-DyxvWfZ7.js → WorkflowOnboardingView-0O56AGqh.js} +32 -1
  69. package/dist/assets/{WorkflowPreview-hC6wSe-Y.js → WorkflowPreview-0bx0ypgw.js} +1 -1
  70. package/dist/assets/{WorkflowsView-SIDgO47b.js → WorkflowsView-CuBv1-1Q.js} +15 -56
  71. package/dist/assets/{index-40I5DMGP.js → index-BIo0OZGX.js} +1494 -1372
  72. package/dist/assets/{index-Dr3zFZlC.css → index-CNnUWsS4.css} +237 -226
  73. package/dist/assets/{pushConnection.store-w_WxpOeH.js → pushConnection.store-CabVI0Q4.js} +1 -1
  74. package/dist/assets/{templateActions-D4EHdA9n.js → templateActions-CgLrOlVc.js} +1 -1
  75. package/dist/assets/{useBugReporting-CFOQlQpP.js → useBugReporting-CYGmNuQ3.js} +1 -1
  76. package/dist/assets/{useExecutionDebugging-LQQWXhPj.js → useExecutionDebugging-IGp543Mo.js} +1 -1
  77. package/dist/assets/useExecutionHelpers-cP7PTcvs.js +113 -0
  78. package/dist/assets/useGlobalEntityCreation-DXZTxFMi.js +168 -0
  79. package/dist/assets/{useNodeViewVersionSwitcher-BLo5Qp-N.js → useNodeViewVersionSwitcher-Cyo5x7BB.js} +1 -1
  80. package/dist/assets/{usePushConnection-B5ija5f5.js → usePushConnection-DKkZNdx4.js} +74 -113
  81. package/dist/assets/{useRunWorkflow-MrEKURG4.js → useRunWorkflow-D18NuRU_.js} +68 -147
  82. package/dist/assets/{useWorkflowActivate-CKedJlgZ.js → useWorkflowActivate-BC3Pdg08.js} +1 -1
  83. package/dist/index.html +2 -2
  84. package/package.json +1 -1
  85. package/dist/assets/CollectionParameter-DNJAimAt.js +0 -4
  86. package/dist/assets/dateFormatter-BRi2wSZ-.js +0 -21
  87. package/dist/assets/useExecutionHelpers-CXGl_HIp.js +0 -115
@@ -1,13 +1,13 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-T52TXUHR.js","assets/index-40I5DMGP.js","assets/index-Dr3zFZlC.css","assets/RunDataTable-ZwoYenSI.css","assets/RunDataJson-sPhT7c2h.js","assets/useRunWorkflow-MrEKURG4.js","assets/useRunWorkflow-DH7ZzA8t.css","assets/FileSaver.min-CKlTVpWB.js","assets/dateFormatter-BRi2wSZ-.js","assets/useWorkflowActivate-CKedJlgZ.js","assets/pushConnection.store-w_WxpOeH.js","assets/useExecutionDebugging-LQQWXhPj.js","assets/useNodeViewVersionSwitcher-BLo5Qp-N.js","assets/useBugReporting-CFOQlQpP.js","assets/RunDataJson-Dtc8i0I7.css","assets/RunDataSearch-CF_rpBKx.js","assets/RunDataSearch-BA0wlJtp.css","assets/NodeCreation-CDpNw3BL.js","assets/NodeCreation-30KXmZi2.css","assets/CanvasControls-raoYims4.js","assets/CanvasControls-Gjw5xMXK.css","assets/SetupWorkflowCredentialsButton-DKr9ZPLE.js"])))=>i.map(i=>d[i]);
2
- import { bi as BaseTransition, bj as BaseTransitionPropsValidators, bk as Comment, bl as DeprecationTypes, bm as EffectScope, bn as ErrorCodes, bo as ErrorTypeStrings, F as Fragment, bp as KeepAlive, bq as ReactiveEffect, br as Static, bs as Suspense, bt as Teleport, bu as Text, bv as TrackOpTypes, bw as Transition$2, bx as TransitionGroup, by as TriggerOpTypes, bz as VueElement, bA as assertNumber, bB as callWithAsyncErrorHandling, bC as callWithErrorHandling, bD as camelize, bE as capitalize, bF as cloneVNode, bG as compatUtils, p as computed, bH as createApp, e as createBlock, f as createCommentVNode, h as createElementBlock, j as createBaseVNode, bI as createHydrationRenderer, bJ as createPropsRestProxy, bK as createRenderer, bL as createSSRApp, aJ as createSlots, bM as createStaticVNode, k as createTextVNode, i as createVNode, bN as customRef, bO as defineAsyncComponent, d as defineComponent, bP as defineCustomElement, bQ as defineEmits, bR as defineExpose, bS as defineModel, bT as defineOptions, bU as defineProps, bV as defineSSRCustomElement, bW as defineSlots, bX as devtools, bY as effect, bZ as effectScope, b_ as getCurrentInstance, b$ as getCurrentScope, c0 as getCurrentWatcher, c1 as getTransitionRawChildren, aR as guardReactiveProps, aq as h, c2 as handleError, c3 as hasInjectionContext, c4 as hydrate, c5 as hydrateOnIdle, c6 as hydrateOnInteraction, c7 as hydrateOnMediaQuery, c8 as hydrateOnVisible, c9 as initCustomFormatter, ca as initDirectivesForSSR, aN as inject, cb as isMemoSame, cc as isProxy, cd as isReactive, ce as isReadonly, aO as isRef, cf as isRuntimeOnly, cg as isShallow, ch as isVNode, ci as markRaw, cj as mergeDefaults, ck as mergeModels, aS as mergeProps, x as nextTick, n as normalizeClass, aQ as normalizeProps, B as normalizeStyle, cl as onActivated, av as onBeforeMount, v as onBeforeUnmount, cm as onBeforeUpdate, cn as onDeactivated, co as onErrorCaptured, o as onMounted, cp as onRenderTracked, cq as onRenderTriggered, cr as onScopeDispose, cs as onServerPrefetch, aX as onUnmounted, ct as onUpdated, cu as onWatcherCleanup, c as openBlock, cv as popScopeId, bh as provide, cw as proxyRefs, cx as pushScopeId, cy as queuePostFlushCb, cz as reactive, cA as readonly, r as ref, cB as registerRuntimeCompiler, cC as render$5, z as renderList, q as renderSlot, l as resolveComponent, cD as resolveDirective, aT as resolveDynamicComponent, cE as resolveFilter, cF as resolveTransitionHooks, cG as setBlockTracking, cH as setDevtoolsHook, cI as setTransitionHooks, cJ as shallowReactive, cK as shallowReadonly, cL as shallowRef, cM as ssrContextKey, cN as ssrUtils, cO as stop, t as toDisplayString, cP as toHandlerKey, cQ as toHandlers, cR as toRaw, cS as toRef, aP as toRefs$1, cT as toValue$1, cU as transformVNodeArgs, cV as triggerRef, A as unref, cW as useAttrs, aa as useCssModule, cX as useCssVars, cY as useHost, cZ as useId, c_ as useModel, c$ as useSSRContext, d0 as useShadowRoot, d1 as useSlots, d2 as useTemplateRef, d3 as useTransitionState, d4 as vModelCheckbox, d5 as vModelDynamic, d6 as vModelRadio, d7 as vModelSelect, aY as vModelText, ax as vShow, d8 as version, d9 as warn$1, H as watch, be as watchEffect, da as watchPostEffect, db as watchSyncEffect, dc as withAsyncContext, w as withCtx, dd as withDefaults, aw as withDirectives, G as withKeys, de as withMemo, I as withModifiers, df as withScopeId, dg as createCompounder, dh as SetCache, di as arrayIncludes, dj as cacheHas, dk as baseRest, dl as isArrayLikeObject, dm as baseFlatten, K as useUIStore, bf as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, am as getResourcePermissions, dn as isPresent, dp as getMousePosition$1, ay as STICKY_NODE_TYPE, g as useI18n, dq as NOT_DUPLICATABLE_NODE_TYPES, E as onClickOutside, dr as N8nActionDropdown, _ as _export_sfc$1, ds as _sfc_main$11, at as useNDVStore, dt as isCommunityPackageName, du as NPM_PACKAGE_DOCS_BASE_URL, dv as BUILTIN_NODES_DOCS_URL, dw as COMMUNITY_NODES_INSTALLATION_DOCS_URL, b8 as NodeConnectionType, aK as useExternalHooks, ak as useTelemetry, b as useRouter, aZ as useClipboard, a4 as useWorkflowHelpers, a as useToast, dx as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, dy as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, dz as FORM_TRIGGER_NODE_TYPE, a_ as CHAT_TRIGGER_NODE_TYPE, dA as toValue$2, dB as toRef$1, dC as tryOnScopeDispose$1, dD as isIOS, dE as noop$4, dF as isObject$1, dG as isClient$1, bg as useNodeHelpers, J as useDebounce, dH as TitledList, dI as nodeIssuesToString, b5 as getNodeInputs, dJ as MANUAL_TRIGGER_NODE_TYPE, dK as WEBHOOK_NODE_TYPE, dL as AI_TRANSFORM_NODE_TYPE, dM as AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT, dN as generateCodeForAiTransform, dO as AI_TRANSFORM_JS_CODE, ac as nodeViewEventBus, al as useMessage, ae as MODAL_CONFIRM, dP as SWITCH_NODE_TYPE, dQ as isEqual, dR as captureException, dS as useCredentialsStore, dT as useHistoryStore, dU as importCurlEventBus, dV as ndvEventBus, dW as CUSTOM_NODES_DOCS_URL, dX as NodeCredentials, dY as _sfc_main$12, dZ as ProjectTypes, b6 as getConnectionTypes, d_ as isSingleExecution, b9 as get$4, d$ as getNodeParameters, e0 as deepCopy, e1 as set$4, e2 as unset, e3 as RenameNodeCommand, e4 as isINodePropertyCollectionList, e5 as isINodePropertiesList, e6 as isINodePropertyOptionsList, e7 as displayParameter, e8 as Draggable, aE as useStorage, e9 as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, ea as MAIN_NODE_PANEL_WIDTH, eb as getAugmentedNamespace, ec as commonjsGlobal, ed as getDefaultExportFromCjs, ee as sanitizeHtml_1, ef as sanitizeHtml, eg as jsonParse, eh as N8nLink, ei as N8nText, ej as _sfc_main$13, ek as N8nTooltip, Z as useRootStore, U as useRoute, el as storeToRefs, em as dataPinningEventBus, en as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, eo as MAX_DISPLAY_DATA_SIZE, ep as HTML_NODE_TYPE, eq as DATA_PINNING_DOCS_URL, er as N8nCallout, es as N8nRadioButtons, et as N8nButton, eu as _sfc_main$14, ev as N8nSelect, ew as N8nTabs, ex as _sfc_main$15, ey as JsonEditor, ez as DATA_EDITING_DOCS_URL, eA as InfoTip, eB as N8nBlockUi, eC as executionDataToJson, eD as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, eE as isEmpty, b7 as getNodeOutputs, eF as getNodeHints, eG as getGenericHints, eH as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, eI as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, eJ as clearJsonKey, eK as searchInObject, eL as isObject$2, as as __vitePreload, eM as TEST_PIN_DATA, eN as waitingNodeTooltip, eO as truncate, eP as uniqBy, eQ as START_NODE_TYPE, eR as CRON_NODE_TYPE, eS as INTERVAL_NODE_TYPE, eT as CopyInput, C as createEventBus, eU as isTriggerPanelObject, eV as getTriggerNodeServiceName, V as VIEWS, ag as WORKFLOW_SETTINGS_MODAL_KEY, m as useSettingsStore, eW as useDeviceSupport, eX as APP_MODALS_ELEMENT_ID, eY as useStyles, eZ as EXECUTABLE_TRIGGER_NODE_TYPES, e_ as BASE_NODE_SURVEY_URL, a8 as EnterpriseEditionFeature, e$ as getAnchorPosition, f0 as isValidNodeConnectionType, f1 as getEndpointScope, f2 as getInputEndpointUUID, f3 as getInputEndpointStyle, f4 as getScope, f5 as getInputNameOverlay, f6 as NODE_INSERT_SPACER_BETWEEN_INPUT_GROUPS, f7 as NODE_MIN_INPUT_ITEMS_COUNT, f8 as getOutputEndpointUUID, f9 as getOutputEndpointStyle, fa as getOutputNameOverlay, fb as NO_OP_NODE_TYPE, fc as NODE_CONNECTION_TYPE_ALLOW_MULTIPLE, fd as GRID_SIZE, fe as isString, ff as isNumber, fg as assert, fh as QUICKSTART_NOTE_NAME, fi as CUSTOM_API_CALL_KEY, fj as FontAwesomeIcon, fk as xss, fl as WAIT_NODE_TYPE, fm as SEND_AND_WAIT_OPERATION, fn as FORM_NODE_TYPE, fo as WAIT_TIME_UNLIMITED, fp as SIMULATE_NODE_TYPE, fq as SIMULATE_TRIGGER_NODE_TYPE, $ as useCanvasStore, fr as getRelativePosition, ba as v4, fs as CORE_NODES_CATEGORY, ft as DEFAULT_SUBCATEGORY, fu as AI_TRANSFORM_NODE_TYPE$1, fv as sublimeSearch, b1 as AI_SUBCATEGORY, b2 as AI_CATEGORY_AGENTS, fw as sortBy, fx as i18n, aH as useTemplatesStore, fy as AI_NODE_CREATOR_VIEW, fz as AI_OTHERS_NODE_CREATOR_VIEW, fA as AI_CATEGORY_DOCUMENT_LOADERS, fB as AI_CATEGORY_LANGUAGE_MODELS, fC as AI_CATEGORY_MEMORY, fD as AI_CATEGORY_OUTPUTPARSER, fE as AI_CATEGORY_RETRIEVERS, fF as AI_CATEGORY_TEXT_SPLITTERS, fG as AI_CATEGORY_TOOLS, fH as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, fI as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, fJ as AI_CATEGORY_EMBEDDING, fK as AI_CATEGORY_VECTOR_STORES, fL as AI_UNCATEGORIZED_CATEGORY, fM as TRIGGER_NODE_CREATOR_VIEW, fN as EMAIL_IMAP_NODE_TYPE, fO as SCHEDULE_TRIGGER_NODE_TYPE, fP as EXECUTE_WORKFLOW_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, f_ as AGGREGATE_NODE_TYPE, f$ as MERGE_NODE_TYPE, g0 as MARKDOWN_NODE_TYPE, g1 as XML_NODE_TYPE, g2 as CRYPTO_NODE_TYPE, g3 as EXTRACT_FROM_FILE_NODE_TYPE, g4 as CONVERT_TO_FILE_NODE_TYPE, g5 as COMPRESSION_NODE_TYPE, g6 as EDIT_IMAGE_NODE_TYPE, g7 as FLOWS_CONTROL_SUBCATEGORY, g8 as IF_NODE_TYPE, g9 as SPLIT_IN_BATCHES_NODE_TYPE, ga as HELPERS_SUBCATEGORY, gb as HTTP_REQUEST_NODE_TYPE, gc as CODE_NODE_TYPE, b3 as AI_CATEGORY_CHAINS, gd as SET_NODE_TYPE, ge as DATETIME_NODE_TYPE, R as defineStore, gf as AI_CATEGORY_ROOT_NODES, b4 as AI_CODE_NODE_TYPE, gg as isValidCanvasConnectionMode, gh as CanvasConnectionMode, S as STORES, gi as NODE_CREATOR_OPEN_SOURCES, gj as isVueFlowConnection, gk as nodeConnectionTypes, gl as MOUSE_EVENT_BUTTON, gm as MOUSE_EVENT_BUTTONS, gn as KeyboardShortcutTooltip, a3 as useDocumentTitle, go as mapStores, a2 as useNpsSurveyStore, a1 as useProjectsStore, au as useExecutionsStore, gp as useExternalSecretsStore, gq as useWorkflowsEEStore, gr as useEnvironmentsStore, u as useUsersStore, D as useTagsStore, gs as getBackgroundStyles, a$ as MANUAL_CHAT_TRIGGER_NODE_TYPE, gt as getNodeViewTab, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, ao as MAIN_HEADER_TABS, gu as ready$1, aA as sourceControlEventBus, gv as historyBus, gw as generateNodesGraph, gx as N8nAddInputEndpointType, gy as getFixedNodesList, gz as tryToParseNumber, gA as MoveNodeCommand, ai as VALID_WORKFLOW_IMPORT_URL_REGEX, gB as UPDATE_WEBHOOK_ID_NODE_TYPES, gC as getNewNodePosition, gD as DRAG_EVENT_DATA_KEY, gE as NODE_SIZE, gF as getConnectorLengths, gG as MAX_X_TO_PUSH_DOWNSTREAM_NODES, gH as PUSH_NODES_OFFSET, gI as generateOffsets, gJ as resetConnectionAfterPull, gK as resetConnection, gL as moveBackInputLabelPosition, gM as hideOutputNameLabel, gN as addConnectionActionsOverlay, gO as getOverlay, gP as OVERLAY_ENDPOINT_ARROW_ID, gQ as getConnectorPaintStyleData, gR as AddConnectionCommand, gS as addConnectionTestData, gT as showOrHideItemsLabel, gU as showOrHideMidpointArrow, gV as isJSPlumbConnection, gW as hideConnectionActions, gX as showConnectionActions, gY as resetInputLabelPosition, gZ as getConnectionInfo, g_ as showOutputNameLabel, g$ as RemoveConnectionCommand, h0 as isJSPlumbEndpointElement, h1 as isElementIntersection, h2 as calculateElementIntersection, h3 as showDropConnectionState, h4 as showPullConnectionState, h5 as EVENT_CONNECTION_ABORT, h6 as INTERCEPT_BEFORE_DROP, h7 as EVENT_CONNECTION, h8 as EVENT_DRAG_MOVE, h9 as EVENT_CONNECTION_MOUSEOVER, ha as EVENT_CONNECTION_MOUSEOUT, hb as EVENT_CONNECTION_MOVED, hc as EVENT_ENDPOINT_MOUSEOVER, hd as EVENT_ENDPOINT_MOUSEOUT, he as EVENT_CONNECTION_DETACHED, hf as EVENT_CONNECTION_DRAG, hg as EVENT_PLUS_ENDPOINT_CLICK, hh as EVENT_ADD_INPUT_ENDPOINT_CLICK, hi as N8nPlusEndpointType, hj as usePostHog, hk as CANVAS_AUTO_ADD_MANUAL_TRIGGER_EXPERIMENT, hl as MODAL_CANCEL, hm as addClassesToOverlays, hn as getJSPlumbEndpoints, ho as isSubNodeType, hp as useDataSchema, hq as OVERLAY_RUN_ITEMS_ID, hr as RemoveNodeCommand, hs as CanvasKey, ht as CanvasNodeKey, hu as CanvasNodeRenderType, hv as refThrottled, hw as CanvasNodeHandleKey, hx as useActiveElement, hy as useEventListener$2, hz as onKeyDown, hA as onKeyUp, hB as useDebounceFn, hC as sanitizeHtml$1, hD as AddNodeCommand, hE as DEFAULT_NODE_SIZE, hF as CONFIGURATION_NODE_SIZE, hG as CONFIGURABLE_NODE_SIZE, hH as NEW_WORKFLOW_ID, hI as onBeforeRouteLeave } from "./index-40I5DMGP.js";
3
- import { c as capitalize$1, u as usePinnedData, a as useRunWorkflow, b as useNodeType, _ as _sfc_main$16, R as RunDataAi } from "./useRunWorkflow-MrEKURG4.js";
4
- import { F as FileSaver_minExports } from "./FileSaver.min-CKlTVpWB.js";
5
- import { c as convertToDisplayDateComponents } from "./dateFormatter-BRi2wSZ-.js";
6
- import { u as useWorkflowActivate } from "./useWorkflowActivate-CKedJlgZ.js";
7
- import { g as globalLinkActionsEventBus, u as usePushConnectionStore } from "./pushConnection.store-w_WxpOeH.js";
8
- import { u as useExecutionDebugging } from "./useExecutionDebugging-LQQWXhPj.js";
9
- import { u as useBeforeUnload, a as useNodeViewVersionSwitcher } from "./useNodeViewVersionSwitcher-BLo5Qp-N.js";
10
- import { u as useBugReporting } from "./useBugReporting-CFOQlQpP.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-D3iYKYbR.js","assets/index-BIo0OZGX.js","assets/index-CNnUWsS4.css","assets/useExecutionHelpers-cP7PTcvs.js","assets/RunDataTable-enskmmU4.css","assets/RunDataJson-xyWfNyKi.js","assets/useRunWorkflow-D18NuRU_.js","assets/useRunWorkflow-DH7ZzA8t.css","assets/FileSaver.min-Dec4VlX4.js","assets/useWorkflowActivate-BC3Pdg08.js","assets/pushConnection.store-CabVI0Q4.js","assets/useExecutionDebugging-IGp543Mo.js","assets/useNodeViewVersionSwitcher-Cyo5x7BB.js","assets/useBugReporting-CYGmNuQ3.js","assets/RunDataJson-Dtc8i0I7.css","assets/RunDataSearch-CdLie2uo.js","assets/RunDataSearch-BA0wlJtp.css","assets/NodeCreation-DT2fJ_vL.js","assets/NodeCreation-30KXmZi2.css","assets/CanvasControls-B0XKV7Yl.js","assets/CanvasControls-Gjw5xMXK.css","assets/SetupWorkflowCredentialsButton-BVwfvnTr.js"])))=>i.map(i=>d[i]);
2
+ import { bk as BaseTransition, bl as BaseTransitionPropsValidators, bm as Comment, bn as DeprecationTypes, bo as EffectScope, bp as ErrorCodes, bq as ErrorTypeStrings, F as Fragment, br as KeepAlive, bs as ReactiveEffect, bt as Static, bu as Suspense, bv as Teleport, bw as Text, bx as TrackOpTypes, by as Transition$2, bz as TransitionGroup, bA as TriggerOpTypes, bB as VueElement, bC as assertNumber, bD as callWithAsyncErrorHandling, bE as callWithErrorHandling, bF as camelize, bG as capitalize, bH as cloneVNode, bI as compatUtils, q as computed, bJ as createApp, e as createBlock, f as createCommentVNode, h as createElementBlock, j as createBaseVNode, bK as createHydrationRenderer, bL as createPropsRestProxy, bM as createRenderer, bN as createSSRApp, aL as createSlots, bO as createStaticVNode, k as createTextVNode, i as createVNode, bP as customRef, bQ as defineAsyncComponent, d as defineComponent, bR as defineCustomElement, bS as defineEmits, bT as defineExpose, bU as defineModel, bV as defineOptions, bW as defineProps, bX as defineSSRCustomElement, bY as defineSlots, bZ as devtools, b_ as effect, b$ as effectScope, c0 as getCurrentInstance, c1 as getCurrentScope, c2 as getCurrentWatcher, c3 as getTransitionRawChildren, aT as guardReactiveProps, aq as h, c4 as handleError, c5 as hasInjectionContext, c6 as hydrate, c7 as hydrateOnIdle, c8 as hydrateOnInteraction, c9 as hydrateOnMediaQuery, ca as hydrateOnVisible, cb as initCustomFormatter, cc as initDirectivesForSSR, aP as inject, cd as isMemoSame, ce as isProxy, cf as isReactive, cg as isReadonly, aQ as isRef, ch as isRuntimeOnly, ci as isShallow, cj as isVNode, ck as markRaw, cl as mergeDefaults, cm as mergeModels, aU as mergeProps, y as nextTick, n as normalizeClass, aS as normalizeProps, B as normalizeStyle, cn as onActivated, aw as onBeforeMount, x as onBeforeUnmount, co as onBeforeUpdate, cp as onDeactivated, cq as onErrorCaptured, o as onMounted, cr as onRenderTracked, cs as onRenderTriggered, ct as onScopeDispose, cu as onServerPrefetch, aZ as onUnmounted, cv as onUpdated, cw as onWatcherCleanup, c as openBlock, cx as popScopeId, bj as provide, cy as proxyRefs, cz as pushScopeId, cA as queuePostFlushCb, cB as reactive, cC as readonly, r as ref, cD as registerRuntimeCompiler, cE as render$5, A as renderList, s as renderSlot, m as resolveComponent, cF as resolveDirective, aV as resolveDynamicComponent, cG as resolveFilter, cH as resolveTransitionHooks, cI as setBlockTracking, cJ as setDevtoolsHook, cK as setTransitionHooks, cL as shallowReactive, cM as shallowReadonly, cN as shallowRef, cO as ssrContextKey, cP as ssrUtils, cQ as stop, t as toDisplayString, cR as toHandlerKey, cS as toHandlers, cT as toRaw, cU as toRef, aR as toRefs$1, cV as toValue$1, cW as transformVNodeArgs, cX as triggerRef, l as unref, cY as useAttrs, aa as useCssModule, cZ as useCssVars, c_ as useHost, c$ as useId, d0 as useModel, d1 as useSSRContext, d2 as useShadowRoot, d3 as useSlots, d4 as useTemplateRef, d5 as useTransitionState, d6 as vModelCheckbox, d7 as vModelDynamic, d8 as vModelRadio, d9 as vModelSelect, a_ as vModelText, ay as vShow, da as version, db as warn$1, H as watch, bg as watchEffect, dc as watchPostEffect, dd as watchSyncEffect, de as withAsyncContext, w as withCtx, df as withDefaults, ax as withDirectives, G as withKeys, dg as withMemo, I as withModifiers, dh as withScopeId, di as createCompounder, dj as SetCache, dk as arrayIncludes, dl as cacheHas, dm as baseRest, dn as isArrayLikeObject, dp as baseFlatten, K as useUIStore, bh as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, am as getResourcePermissions, dq as isPresent, dr as getMousePosition$1, az as STICKY_NODE_TYPE, g as useI18n, ds as NOT_DUPLICATABLE_NODE_TYPES, E as onClickOutside, dt as N8nActionDropdown, _ as _export_sfc$1, du as _sfc_main$11, at as useNDVStore, dv as isCommunityPackageName, dw as NPM_PACKAGE_DOCS_BASE_URL, dx as BUILTIN_NODES_DOCS_URL, dy as COMMUNITY_NODES_INSTALLATION_DOCS_URL, ba as NodeConnectionType, aM as useExternalHooks, ak as useTelemetry, b as useRouter, a$ as useClipboard, a4 as useWorkflowHelpers, a as useToast, dz as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, dA as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, dB as FORM_TRIGGER_NODE_TYPE, b0 as CHAT_TRIGGER_NODE_TYPE, dC as toValue$2, dD as toRef$1, dE as tryOnScopeDispose$1, dF as isIOS, dG as noop$4, dH as isObject$1, dI as isClient$1, bi as useNodeHelpers, J as useDebounce, dJ as TitledList, dK as nodeIssuesToString, b7 as getNodeInputs, dL as MANUAL_TRIGGER_NODE_TYPE, dM as WEBHOOK_NODE_TYPE, dN as AI_TRANSFORM_NODE_TYPE, dO as AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT, dP as generateCodeForAiTransform, dQ as AI_TRANSFORM_JS_CODE, ac as nodeViewEventBus, al as useMessage, ae as MODAL_CONFIRM, dR as SWITCH_NODE_TYPE, dS as isEqual, dT as captureException, dU as useCredentialsStore, dV as useHistoryStore, dW as importCurlEventBus, dX as ndvEventBus, dY as CUSTOM_NODES_DOCS_URL, dZ as NodeCredentials, d_ as _sfc_main$12, d$ as ProjectTypes, b8 as getConnectionTypes, e0 as isSingleExecution, bb as get$4, e1 as getNodeParameters, e2 as deepCopy, e3 as set$4, e4 as unset, e5 as RenameNodeCommand, e6 as isINodePropertyCollectionList, e7 as isINodePropertiesList, e8 as isINodePropertyOptionsList, e9 as displayParameter, ea as Draggable, aF as useStorage, eb as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, ec as MAIN_NODE_PANEL_WIDTH, ed as getAugmentedNamespace, ee as commonjsGlobal, ef as getDefaultExportFromCjs, eg as sanitizeHtml_1, eh as sanitizeHtml, ei as jsonParse, ej as N8nLink, ek as N8nText, el as _sfc_main$13, em as N8nTooltip, Z as useRootStore, U as useRoute, en as storeToRefs, eo as dataPinningEventBus, ep as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, eq as MAX_DISPLAY_DATA_SIZE, er as HTML_NODE_TYPE, es as DATA_PINNING_DOCS_URL, et as N8nCallout, eu as N8nRadioButtons, ev as N8nButton, ew as _sfc_main$14, ex as N8nSelect, ey as N8nTabs, ez as _sfc_main$15, eA as JsonEditor, eB as DATA_EDITING_DOCS_URL, eC as InfoTip, eD as N8nBlockUi, eE as executionDataToJson, eF as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, eG as isEmpty, b9 as getNodeOutputs, eH as getNodeHints, eI as getGenericHints, eJ as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, eK as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, eL as clearJsonKey, eM as searchInObject, eN as isObject$2, as as __vitePreload, eO as TEST_PIN_DATA, eP as waitingNodeTooltip, eQ as truncate, eR as uniqBy, eS as START_NODE_TYPE, eT as CRON_NODE_TYPE, eU as INTERVAL_NODE_TYPE, eV as CopyInput, C as createEventBus, eW as isTriggerPanelObject, eX as getTriggerNodeServiceName, V as VIEWS, ag as WORKFLOW_SETTINGS_MODAL_KEY, p as useSettingsStore, eY as useDeviceSupport, eZ as APP_MODALS_ELEMENT_ID, e_ as useStyles, e$ as EXECUTABLE_TRIGGER_NODE_TYPES, f0 as BASE_NODE_SURVEY_URL, a8 as EnterpriseEditionFeature, f1 as getAnchorPosition, f2 as isValidNodeConnectionType, f3 as getEndpointScope, f4 as getInputEndpointUUID, f5 as getInputEndpointStyle, f6 as getScope, f7 as getInputNameOverlay, f8 as NODE_INSERT_SPACER_BETWEEN_INPUT_GROUPS, f9 as NODE_MIN_INPUT_ITEMS_COUNT, fa as getOutputEndpointUUID, fb as getOutputEndpointStyle, fc as getOutputNameOverlay, fd as NO_OP_NODE_TYPE, fe as NODE_CONNECTION_TYPE_ALLOW_MULTIPLE, ff as GRID_SIZE, fg as isString, fh as isNumber, fi as assert, fj as QUICKSTART_NOTE_NAME, fk as CUSTOM_API_CALL_KEY, fl as FontAwesomeIcon, fm as xss, fn as WAIT_NODE_TYPE, fo as SEND_AND_WAIT_OPERATION, fp as FORM_NODE_TYPE, fq as WAIT_TIME_UNLIMITED, fr as SIMULATE_NODE_TYPE, fs as SIMULATE_TRIGGER_NODE_TYPE, $ as useCanvasStore, ft as getRelativePosition, bc as v4, fu as CORE_NODES_CATEGORY, fv as DEFAULT_SUBCATEGORY, fw as AI_TRANSFORM_NODE_TYPE$1, fx as sublimeSearch, b3 as AI_SUBCATEGORY, b4 as AI_CATEGORY_AGENTS, fy as sortBy, fz as i18n, aI as useTemplatesStore, fA as AI_NODE_CREATOR_VIEW, fB as AI_OTHERS_NODE_CREATOR_VIEW, fC as AI_CATEGORY_DOCUMENT_LOADERS, fD as AI_CATEGORY_LANGUAGE_MODELS, fE as AI_CATEGORY_MEMORY, fF as AI_CATEGORY_OUTPUTPARSER, fG as AI_CATEGORY_RETRIEVERS, fH as AI_CATEGORY_TEXT_SPLITTERS, fI as AI_CATEGORY_TOOLS, fJ as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, fK as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, fL as AI_CATEGORY_EMBEDDING, fM as AI_CATEGORY_VECTOR_STORES, fN as AI_UNCATEGORIZED_CATEGORY, fO as TRIGGER_NODE_CREATOR_VIEW, fP as EMAIL_IMAP_NODE_TYPE, fQ as SCHEDULE_TRIGGER_NODE_TYPE, fR as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, fS as OTHER_TRIGGER_NODES_SUBCATEGORY, fT as REGULAR_NODE_CREATOR_VIEW, fU as RSS_READ_NODE_TYPE, fV as EMAIL_SEND_NODE_TYPE, fW as TRANSFORM_DATA_SUBCATEGORY, fX as FILTER_NODE_TYPE, fY as REMOVE_DUPLICATES_NODE_TYPE, fZ as SPLIT_OUT_NODE_TYPE, f_ as LIMIT_NODE_TYPE, f$ as SUMMARIZE_NODE_TYPE, g0 as AGGREGATE_NODE_TYPE, g1 as MERGE_NODE_TYPE, g2 as MARKDOWN_NODE_TYPE, g3 as XML_NODE_TYPE, g4 as CRYPTO_NODE_TYPE, g5 as EXTRACT_FROM_FILE_NODE_TYPE, g6 as CONVERT_TO_FILE_NODE_TYPE, g7 as COMPRESSION_NODE_TYPE, g8 as EDIT_IMAGE_NODE_TYPE, g9 as FLOWS_CONTROL_SUBCATEGORY, ga as IF_NODE_TYPE, gb as SPLIT_IN_BATCHES_NODE_TYPE, gc as HELPERS_SUBCATEGORY, gd as HTTP_REQUEST_NODE_TYPE, ge as CODE_NODE_TYPE, b5 as AI_CATEGORY_CHAINS, gf as SET_NODE_TYPE, gg as DATETIME_NODE_TYPE, R as defineStore, gh as AI_CATEGORY_ROOT_NODES, b6 as AI_CODE_NODE_TYPE, gi as isValidCanvasConnectionMode, gj as CanvasConnectionMode, S as STORES, gk as NODE_CREATOR_OPEN_SOURCES, gl as isVueFlowConnection, gm as nodeConnectionTypes, gn as MOUSE_EVENT_BUTTON, go as MOUSE_EVENT_BUTTONS, gp as KeyboardShortcutTooltip, a3 as useDocumentTitle, gq as mapStores, a2 as useNpsSurveyStore, a1 as useProjectsStore, au as useExecutionsStore, gr as useExternalSecretsStore, gs as useWorkflowsEEStore, gt as useEnvironmentsStore, u as useUsersStore, D as useTagsStore, gu as getBackgroundStyles, b1 as MANUAL_CHAT_TRIGGER_NODE_TYPE, gv as getNodeViewTab, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, ao as MAIN_HEADER_TABS, gw as ready$1, aB as sourceControlEventBus, gx as historyBus, gy as generateNodesGraph, gz as N8nAddInputEndpointType, gA as getFixedNodesList, gB as tryToParseNumber, gC as MoveNodeCommand, ai as VALID_WORKFLOW_IMPORT_URL_REGEX, gD as UPDATE_WEBHOOK_ID_NODE_TYPES, gE as getNewNodePosition, gF as DRAG_EVENT_DATA_KEY, gG as NODE_SIZE, gH as getConnectorLengths, gI as MAX_X_TO_PUSH_DOWNSTREAM_NODES, gJ as PUSH_NODES_OFFSET, gK as generateOffsets, gL as resetConnectionAfterPull, gM as resetConnection, gN as moveBackInputLabelPosition, gO as hideOutputNameLabel, gP as addConnectionActionsOverlay, gQ as getOverlay, gR as OVERLAY_ENDPOINT_ARROW_ID, gS as getConnectorPaintStyleData, gT as AddConnectionCommand, gU as addConnectionTestData, gV as showOrHideItemsLabel, gW as showOrHideMidpointArrow, gX as isJSPlumbConnection, gY as hideConnectionActions, gZ as showConnectionActions, g_ as resetInputLabelPosition, g$ as getConnectionInfo, h0 as showOutputNameLabel, h1 as RemoveConnectionCommand, h2 as isJSPlumbEndpointElement, h3 as isElementIntersection, h4 as calculateElementIntersection, h5 as showDropConnectionState, h6 as showPullConnectionState, h7 as EVENT_CONNECTION_ABORT, h8 as INTERCEPT_BEFORE_DROP, h9 as EVENT_CONNECTION, ha as EVENT_DRAG_MOVE, hb as EVENT_CONNECTION_MOUSEOVER, hc as EVENT_CONNECTION_MOUSEOUT, hd as EVENT_CONNECTION_MOVED, he as EVENT_ENDPOINT_MOUSEOVER, hf as EVENT_ENDPOINT_MOUSEOUT, hg as EVENT_CONNECTION_DETACHED, hh as EVENT_CONNECTION_DRAG, hi as EVENT_PLUS_ENDPOINT_CLICK, hj as EVENT_ADD_INPUT_ENDPOINT_CLICK, hk as N8nPlusEndpointType, hl as usePostHog, hm as CANVAS_AUTO_ADD_MANUAL_TRIGGER_EXPERIMENT, hn as MODAL_CANCEL, ho as addClassesToOverlays, hp as getJSPlumbEndpoints, hq as isSubNodeType, hr as useDataSchema, hs as OVERLAY_RUN_ITEMS_ID, ht as RemoveNodeCommand, hu as CanvasKey, hv as CanvasNodeKey, hw as CanvasNodeRenderType, hx as refThrottled, hy as CanvasNodeHandleKey, hz as useActiveElement, hA as useEventListener$2, hB as onKeyDown, hC as onKeyUp, hD as sanitizeHtml$1, hE as AddNodeCommand, hF as DEFAULT_NODE_SIZE, hG as CONFIGURATION_NODE_SIZE, hH as CONFIGURABLE_NODE_SIZE, hI as NEW_WORKFLOW_ID, hJ as onBeforeRouteLeave } from "./index-BIo0OZGX.js";
3
+ import { c as capitalize$1, u as usePinnedData, a as useRunWorkflow, b as useNodeType, _ as _sfc_main$16, R as RunDataAi } from "./useRunWorkflow-D18NuRU_.js";
4
+ import { F as FileSaver_minExports } from "./FileSaver.min-Dec4VlX4.js";
5
+ import { u as useExecutionHelpers, c as convertToDisplayDateComponents } from "./useExecutionHelpers-cP7PTcvs.js";
6
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-BC3Pdg08.js";
7
+ import { g as globalLinkActionsEventBus, u as usePushConnectionStore } from "./pushConnection.store-CabVI0Q4.js";
8
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-IGp543Mo.js";
9
+ import { u as useBeforeUnload, a as useNodeViewVersionSwitcher } from "./useNodeViewVersionSwitcher-Cyo5x7BB.js";
10
+ import { u as useBugReporting } from "./useBugReporting-CYGmNuQ3.js";
11
11
  /**
12
12
  * vue v3.5.11
13
13
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
@@ -508,6 +508,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
508
508
  const editName = ref(false);
509
509
  const newName = ref("");
510
510
  const input = ref();
511
+ const i18n2 = useI18n();
511
512
  const editable = computed(() => !props.readOnly && window === window.parent);
512
513
  async function onEdit() {
513
514
  newName.value = props.modelValue;
@@ -580,7 +581,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
580
581
  tag: "div"
581
582
  }, {
582
583
  default: withCtx(() => [
583
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.title.renameNode")), 1)
584
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.title.renameNode")), 1)
584
585
  ]),
585
586
  _: 1
586
587
  }),
@@ -598,7 +599,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
598
599
  createVNode(_component_n8n_button, {
599
600
  type: "secondary",
600
601
  size: "small",
601
- label: _ctx.$locale.baseText("ndv.title.cancel"),
602
+ label: unref(i18n2).baseText("ndv.title.cancel"),
602
603
  onClick: _cache[1] || (_cache[1] = ($event) => editName.value = false),
603
604
  onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers(() => {
604
605
  }, ["stop"]), ["enter"]))
@@ -606,7 +607,7 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
606
607
  createVNode(_component_n8n_button, {
607
608
  type: "primary",
608
609
  size: "small",
609
- label: _ctx.$locale.baseText("ndv.title.rename"),
610
+ label: unref(i18n2).baseText("ndv.title.rename"),
610
611
  onClick: onRename
611
612
  }, null, 8, ["label"])
612
613
  ], 2)
@@ -787,12 +788,12 @@ const _hoisted_6$7 = { class: "http-field" };
787
788
  const _hoisted_7$5 = { class: "http-method" };
788
789
  const _hoisted_8$5 = { class: "url-field" };
789
790
  const _hoisted_9$4 = ["onClick"];
790
- const _hoisted_10$2 = {
791
+ const _hoisted_10$3 = {
791
792
  key: 1,
792
793
  class: "webhook-wrapper"
793
794
  };
794
- const _hoisted_11$2 = { class: "url-field-full-width" };
795
- const _hoisted_12$1 = ["onClick"];
795
+ const _hoisted_11$3 = { class: "url-field-full-width" };
796
+ const _hoisted_12$2 = ["onClick"];
796
797
  const _sfc_main$Z = /* @__PURE__ */ defineComponent({
797
798
  __name: "NodeWebhooks",
798
799
  props: {
@@ -989,15 +990,15 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
989
990
  _cache[3] || (_cache[3] = createBaseVNode("br", null, null, -1))
990
991
  ], 8, _hoisted_9$4)
991
992
  ])
992
- ])) : (openBlock(), createElementBlock("div", _hoisted_10$2, [
993
- createBaseVNode("div", _hoisted_11$2, [
993
+ ])) : (openBlock(), createElementBlock("div", _hoisted_10$3, [
994
+ createBaseVNode("div", _hoisted_11$3, [
994
995
  createBaseVNode("div", {
995
996
  class: "webhook-url left-ellipsis clickable",
996
997
  onClick: ($event) => copyWebhookUrl(webhook)
997
998
  }, [
998
999
  createTextVNode(toDisplayString(getWebhookUrlDisplay(webhook)), 1),
999
1000
  _cache[4] || (_cache[4] = createBaseVNode("br", null, null, -1))
1000
- ], 8, _hoisted_12$1)
1001
+ ], 8, _hoisted_12$2)
1001
1002
  ])
1002
1003
  ]))
1003
1004
  ]),
@@ -1200,6 +1201,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
1200
1201
  const workflowsStore = useWorkflowsStore();
1201
1202
  const nodeTypesStore = useNodeTypesStore();
1202
1203
  const nodeHelpers = useNodeHelpers();
1204
+ const i18n2 = useI18n();
1203
1205
  const { debounce } = useDebounce();
1204
1206
  const emit = __emit;
1205
1207
  const possibleConnections = ref([]);
@@ -1374,7 +1376,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
1374
1376
  createTextVNode(" Add " + toDisplayString(connection.displayName) + " ", 1),
1375
1377
  hasInputIssues(connection.type) ? (openBlock(), createBlock(TitledList, {
1376
1378
  key: 0,
1377
- title: `${_ctx.$locale.baseText("node.issues")}:`,
1379
+ title: `${unref(i18n2).baseText("node.issues")}:`,
1378
1380
  items: nodeInputIssues.value[connection.type]
1379
1381
  }, null, 8, ["title", "items"])) : createCommentVNode("", true)
1380
1382
  ]),
@@ -1416,7 +1418,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
1416
1418
  createTextVNode(toDisplayString(node2.node.name) + " ", 1),
1417
1419
  node2.issues ? (openBlock(), createBlock(TitledList, {
1418
1420
  key: 0,
1419
- title: `${_ctx.$locale.baseText("node.issues")}:`,
1421
+ title: `${unref(i18n2).baseText("node.issues")}:`,
1420
1422
  items: node2.issues
1421
1423
  }, null, 8, ["title", "items"])) : createCommentVNode("", true)
1422
1424
  ]),
@@ -1508,7 +1510,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1508
1510
  const lastPopupCountUpdate = ref(0);
1509
1511
  const codeGenerationInProgress = ref(false);
1510
1512
  const router = useRouter();
1511
- const { runWorkflow, runWorkflowResolvePending, stopCurrentExecution } = useRunWorkflow({ router });
1513
+ const { runWorkflow, stopCurrentExecution } = useRunWorkflow({ router });
1512
1514
  const workflowsStore = useWorkflowsStore();
1513
1515
  const externalHooks = useExternalHooks();
1514
1516
  const toast = useToast();
@@ -1741,17 +1743,10 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1741
1743
  };
1742
1744
  telemetry.track("User clicked execute node button", telemetryPayload);
1743
1745
  await externalHooks.run("nodeExecuteButton.onClick", telemetryPayload);
1744
- if (workflowsStore.isWaitingExecution) {
1745
- await runWorkflowResolvePending({
1746
- destinationNode: props.nodeName,
1747
- source: "RunData.ExecuteNodeButton"
1748
- });
1749
- } else {
1750
- await runWorkflow({
1751
- destinationNode: props.nodeName,
1752
- source: "RunData.ExecuteNodeButton"
1753
- });
1754
- }
1746
+ await runWorkflow({
1747
+ destinationNode: props.nodeName,
1748
+ source: "RunData.ExecuteNodeButton"
1749
+ });
1755
1750
  emit("execute");
1756
1751
  }
1757
1752
  }
@@ -1892,12 +1887,12 @@ const _hoisted_9$3 = {
1892
1887
  key: 1,
1893
1888
  class: "no-parameters"
1894
1889
  };
1895
- const _hoisted_10$1 = {
1890
+ const _hoisted_10$2 = {
1896
1891
  key: 2,
1897
1892
  class: "parameter-item parameter-notice",
1898
1893
  "data-test-id": "node-parameters-http-notice"
1899
1894
  };
1900
- const _hoisted_11$1 = {
1895
+ const _hoisted_11$2 = {
1901
1896
  class: "node-version",
1902
1897
  "data-test-id": "node-version"
1903
1898
  };
@@ -2662,7 +2657,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2662
2657
  bold: ""
2663
2658
  }, {
2664
2659
  default: withCtx(() => [
2665
- createTextVNode(toDisplayString(_ctx.$locale.baseText("nodeSettings.communityNodeUnknown.title")), 1)
2660
+ createTextVNode(toDisplayString(unref(i18n2).baseText("nodeSettings.communityNodeUnknown.title")), 1)
2666
2661
  ]),
2667
2662
  _: 1
2668
2663
  })
@@ -2691,7 +2686,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2691
2686
  onClick: onMissingNodeLearnMoreLinkClick
2692
2687
  }, {
2693
2688
  default: withCtx(() => [
2694
- createTextVNode(toDisplayString(_ctx.$locale.baseText("nodeSettings.communityNodeUnknown.installLink.text")), 1)
2689
+ createTextVNode(toDisplayString(unref(i18n2).baseText("nodeSettings.communityNodeUnknown.installLink.text")), 1)
2695
2690
  ]),
2696
2691
  _: 1
2697
2692
  }, 8, ["to"])
@@ -2704,7 +2699,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2704
2699
  createBaseVNode("a", {
2705
2700
  href: unref(CUSTOM_NODES_DOCS_URL),
2706
2701
  target: "_blank",
2707
- textContent: toDisplayString(_ctx.$locale.baseText("nodeSettings.nodeTypeUnknown.description.customNode"))
2702
+ textContent: toDisplayString(unref(i18n2).baseText("nodeSettings.nodeTypeUnknown.description.customNode"))
2708
2703
  }, null, 8, _hoisted_7$4)
2709
2704
  ]),
2710
2705
  _: 1
@@ -2713,7 +2708,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2713
2708
  node2.value && nodeValid.value ? (openBlock(), createElementBlock("div", _hoisted_8$4, [
2714
2709
  hasForeignCredential.value && !isHomeProjectTeam.value ? (openBlock(), createBlock(_component_n8n_notice, {
2715
2710
  key: 0,
2716
- content: _ctx.$locale.baseText("nodeSettings.hasForeignCredential", {
2711
+ content: unref(i18n2).baseText("nodeSettings.hasForeignCredential", {
2717
2712
  interpolate: { owner: credentialOwnerName.value }
2718
2713
  })
2719
2714
  }, null, 8, ["content"])) : createCommentVNode("", true),
@@ -2750,14 +2745,14 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2750
2745
  parametersNoneSetting.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_9$3, [
2751
2746
  createVNode(_component_n8n_text, null, {
2752
2747
  default: withCtx(() => [
2753
- createTextVNode(toDisplayString(_ctx.$locale.baseText("nodeSettings.thisNodeDoesNotHaveAnyParameters")), 1)
2748
+ createTextVNode(toDisplayString(unref(i18n2).baseText("nodeSettings.thisNodeDoesNotHaveAnyParameters")), 1)
2754
2749
  ]),
2755
2750
  _: 1
2756
2751
  })
2757
2752
  ])) : createCommentVNode("", true),
2758
- unref(nodeHelpers).isCustomApiCallSelected(nodeValues.value) ? (openBlock(), createElementBlock("div", _hoisted_10$1, [
2753
+ unref(nodeHelpers).isCustomApiCallSelected(nodeValues.value) ? (openBlock(), createElementBlock("div", _hoisted_10$2, [
2759
2754
  createVNode(_component_n8n_notice, {
2760
- content: _ctx.$locale.baseText("nodeSettings.useTheHttpRequestNode", {
2755
+ content: unref(i18n2).baseText("nodeSettings.useTheHttpRequestNode", {
2761
2756
  interpolate: { nodeTypeDisplayName: ((_a = _ctx.nodeType) == null ? void 0 : _a.displayName) ?? "" }
2762
2757
  })
2763
2758
  }, null, 8, ["content"])
@@ -2786,8 +2781,8 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2786
2781
  onValueChanged: valueChanged,
2787
2782
  onParameterBlur
2788
2783
  }, null, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"]),
2789
- createBaseVNode("div", _hoisted_11$1, [
2790
- createTextVNode(toDisplayString(_ctx.$locale.baseText("nodeSettings.nodeVersion", {
2784
+ createBaseVNode("div", _hoisted_11$2, [
2785
+ createTextVNode(toDisplayString(unref(i18n2).baseText("nodeSettings.nodeVersion", {
2791
2786
  interpolate: {
2792
2787
  node: (_b = _ctx.nodeType) == null ? void 0 : _b.displayName,
2793
2788
  version: (node2.value.typeVersion ?? latestVersion.value).toString()
@@ -2823,7 +2818,7 @@ const style0$y = {
2823
2818
  const cssModules$A = {
2824
2819
  "$style": style0$y
2825
2820
  };
2826
- const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$W, [["__cssModules", cssModules$A], ["__scopeId", "data-v-ada8f840"]]);
2821
+ const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$W, [["__cssModules", cssModules$A], ["__scopeId", "data-v-5f1ca3f8"]]);
2827
2822
  const _sfc_main$V = /* @__PURE__ */ defineComponent({
2828
2823
  __name: "PanelDragButton",
2829
2824
  props: {
@@ -2853,7 +2848,8 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
2853
2848
  }, {
2854
2849
  default: withCtx(({ isDragging }) => [
2855
2850
  createBaseVNode("div", {
2856
- class: normalizeClass({ [_ctx.$style.dragButton]: true })
2851
+ class: normalizeClass({ [_ctx.$style.dragButton]: true }),
2852
+ "data-test-id": "panel-drag-button"
2857
2853
  }, [
2858
2854
  _ctx.canMoveLeft ? (openBlock(), createElementBlock("span", {
2859
2855
  key: 0,
@@ -3816,6 +3812,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
3816
3812
  const error2 = ref(false);
3817
3813
  const data = ref("");
3818
3814
  const workflowsStore = useWorkflowsStore();
3815
+ const i18n2 = useI18n();
3819
3816
  const embedClass = computed(() => {
3820
3817
  return [props.binaryData.fileType ?? "other"];
3821
3818
  });
@@ -3852,13 +3849,13 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
3852
3849
  src: embedSource.value,
3853
3850
  type: _ctx.binaryData.mimeType
3854
3851
  }, null, 8, _hoisted_5$4),
3855
- createTextVNode(" " + toDisplayString(_ctx.$locale.baseText("binaryDataDisplay.yourBrowserDoesNotSupport")), 1)
3852
+ createTextVNode(" " + toDisplayString(unref(i18n2).baseText("binaryDataDisplay.yourBrowserDoesNotSupport")), 1)
3856
3853
  ])) : _ctx.binaryData.fileType === "audio" ? (openBlock(), createElementBlock("audio", _hoisted_6$4, [
3857
3854
  createBaseVNode("source", {
3858
3855
  src: embedSource.value,
3859
3856
  type: _ctx.binaryData.mimeType
3860
3857
  }, null, 8, _hoisted_7$3),
3861
- createTextVNode(" " + toDisplayString(_ctx.$locale.baseText("binaryDataDisplay.yourBrowserDoesNotSupport")), 1)
3858
+ createTextVNode(" " + toDisplayString(unref(i18n2).baseText("binaryDataDisplay.yourBrowserDoesNotSupport")), 1)
3862
3859
  ])) : _ctx.binaryData.fileType === "image" ? (openBlock(), createElementBlock("img", {
3863
3860
  key: 2,
3864
3861
  src: embedSource.value
@@ -3894,6 +3891,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
3894
3891
  const emit = __emit;
3895
3892
  const nodeHelpers = useNodeHelpers();
3896
3893
  const workflowsStore = useWorkflowsStore();
3894
+ const i18n2 = useI18n();
3897
3895
  const workflowRunData = computed(() => {
3898
3896
  const workflowExecution = workflowsStore.getWorkflowExecution;
3899
3897
  if (workflowExecution === null) {
@@ -3935,13 +3933,13 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
3935
3933
  createVNode(_component_n8n_button, {
3936
3934
  size: "small",
3937
3935
  class: "binary-data-window-back",
3938
- title: _ctx.$locale.baseText("binaryDataDisplay.backToOverviewPage"),
3936
+ title: unref(i18n2).baseText("binaryDataDisplay.backToOverviewPage"),
3939
3937
  icon: "arrow-left",
3940
- label: _ctx.$locale.baseText("binaryDataDisplay.backToList"),
3938
+ label: unref(i18n2).baseText("binaryDataDisplay.backToList"),
3941
3939
  onClick: withModifiers(closeWindow, ["stop"])
3942
3940
  }, null, 8, ["title", "label"]),
3943
3941
  createBaseVNode("div", _hoisted_1$o, [
3944
- !binaryData.value ? (openBlock(), createElementBlock("div", _hoisted_2$f, toDisplayString(_ctx.$locale.baseText("binaryDataDisplay.noDataFoundToDisplay")), 1)) : (openBlock(), createBlock(_sfc_main$R, {
3942
+ !binaryData.value ? (openBlock(), createElementBlock("div", _hoisted_2$f, toDisplayString(unref(i18n2).baseText("binaryDataDisplay.noDataFoundToDisplay")), 1)) : (openBlock(), createBlock(_sfc_main$R, {
3945
3943
  key: 1,
3946
3944
  "binary-data": binaryData.value
3947
3945
  }, null, 8, ["binary-data"]))
@@ -4025,14 +4023,17 @@ const _hoisted_1$m = {
4025
4023
  key: 0,
4026
4024
  class: "ml-4xs"
4027
4025
  };
4028
- const _hoisted_2$d = { key: 1 };
4026
+ const _hoisted_2$d = ["href"];
4029
4027
  const _hoisted_3$a = { key: 0 };
4030
- const _hoisted_4$4 = ["data-test-id"];
4031
- const _hoisted_5$3 = { key: 0 };
4032
- const _hoisted_6$3 = { key: 1 };
4033
- const _hoisted_7$2 = { key: 2 };
4034
- const _hoisted_8$2 = { key: 3 };
4035
- const _hoisted_9$1 = { key: 4 };
4028
+ const _hoisted_4$4 = ["href"];
4029
+ const _hoisted_5$3 = { key: 1 };
4030
+ const _hoisted_6$3 = { key: 0 };
4031
+ const _hoisted_7$2 = ["data-test-id"];
4032
+ const _hoisted_8$2 = { key: 0 };
4033
+ const _hoisted_9$1 = { key: 1 };
4034
+ const _hoisted_10$1 = { key: 2 };
4035
+ const _hoisted_11$1 = { key: 3 };
4036
+ const _hoisted_12$1 = { key: 4 };
4036
4037
  const _sfc_main$O = /* @__PURE__ */ defineComponent({
4037
4038
  __name: "RunData",
4038
4039
  props: {
@@ -4054,24 +4055,25 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4054
4055
  blockUI: { type: Boolean, default: false },
4055
4056
  isProductionExecutionPreview: { type: Boolean, default: false },
4056
4057
  isPaneActive: { type: Boolean, default: false },
4057
- hidePagination: { type: Boolean, default: false }
4058
+ hidePagination: { type: Boolean, default: false },
4059
+ calloutMessage: { default: void 0 }
4058
4060
  },
4059
4061
  emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted"],
4060
4062
  setup(__props, { expose: __expose, emit: __emit }) {
4061
4063
  const LazyRunDataTable = defineAsyncComponent(
4062
- async () => await __vitePreload(() => import("./RunDataTable-T52TXUHR.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
4064
+ async () => await __vitePreload(() => import("./RunDataTable-D3iYKYbR.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
4063
4065
  );
4064
4066
  const LazyRunDataJson = defineAsyncComponent(
4065
- async () => await __vitePreload(() => import("./RunDataJson-sPhT7c2h.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14]) : void 0)
4067
+ async () => await __vitePreload(() => import("./RunDataJson-xyWfNyKi.js"), true ? __vite__mapDeps([5,1,2,6,3,7,8,9,10,11,12,13,14]) : void 0)
4066
4068
  );
4067
4069
  const LazyRunDataSchema = defineAsyncComponent(
4068
- async () => await __vitePreload(() => import("./index-40I5DMGP.js").then((n) => n.jT), true ? __vite__mapDeps([1,2]) : void 0)
4070
+ async () => await __vitePreload(() => import("./index-BIo0OZGX.js").then((n) => n.jW), true ? __vite__mapDeps([1,2]) : void 0)
4069
4071
  );
4070
4072
  const LazyRunDataHtml = defineAsyncComponent(
4071
4073
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
4072
4074
  );
4073
4075
  const LazyRunDataSearch = defineAsyncComponent(
4074
- async () => await __vitePreload(() => import("./RunDataSearch-CF_rpBKx.js"), true ? __vite__mapDeps([15,1,2,16]) : void 0)
4076
+ async () => await __vitePreload(() => import("./RunDataSearch-CdLie2uo.js"), true ? __vite__mapDeps([15,1,2,16]) : void 0)
4075
4077
  );
4076
4078
  const props = __props;
4077
4079
  const emit = __emit;
@@ -4100,6 +4102,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4100
4102
  const externalHooks = useExternalHooks();
4101
4103
  const telemetry = useTelemetry();
4102
4104
  const i18n2 = useI18n();
4105
+ const { trackOpeningRelatedExecution, resolveRelatedExecutionUrl } = useExecutionHelpers();
4103
4106
  const node2 = toRef(props, "node");
4104
4107
  const pinnedData2 = usePinnedData(node2, {
4105
4108
  runIndex: props.runIndex,
@@ -4112,12 +4115,10 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4112
4115
  () => props.paneType === "input" ? ndvStore.inputPanelDisplayMode : ndvStore.outputPanelDisplayMode
4113
4116
  );
4114
4117
  const isReadOnlyRoute = computed(() => route.meta.readOnlyCanvas === true);
4115
- const isWaitNodeWaiting = computed(
4116
- () => {
4117
- var _a, _b, _c, _d, _e, _f;
4118
- return ((_a = workflowExecution.value) == null ? void 0 : _a.status) === "waiting" && ((_b = workflowExecution.value.data) == null ? void 0 : _b.waitTill) && ((_e = (_d = (_c = workflowExecution.value) == null ? void 0 : _c.data) == null ? void 0 : _d.resultData) == null ? void 0 : _e.lastNodeExecuted) === ((_f = node2.value) == null ? void 0 : _f.name);
4119
- }
4120
- );
4118
+ const isWaitNodeWaiting = computed(() => {
4119
+ var _a, _b, _c, _d, _e, _f, _g, _h;
4120
+ return ((_a = node2.value) == null ? void 0 : _a.name) && ((_h = (_g = (_f = (_d = (_c = (_b = workflowExecution.value) == null ? void 0 : _b.data) == null ? void 0 : _c.resultData) == null ? void 0 : _d.runData) == null ? void 0 : _f[(_e = node2.value) == null ? void 0 : _e.name]) == null ? void 0 : _g[props.runIndex]) == null ? void 0 : _h.executionStatus) === "waiting";
4121
+ });
4121
4122
  const { activeNode } = storeToRefs(ndvStore);
4122
4123
  const nodeType = computed(() => {
4123
4124
  if (!node2.value) return null;
@@ -4205,7 +4206,9 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4205
4206
  }
4206
4207
  return null;
4207
4208
  });
4208
- const dataCount = computed(() => getDataCount(props.runIndex, currentOutputIndex.value));
4209
+ const dataCount = computed(
4210
+ () => getDataCount(props.runIndex, currentOutputIndex.value, connectionType2.value)
4211
+ );
4209
4212
  const unfilteredDataCount = computed(
4210
4213
  () => pinnedData2.data.value ? pinnedData2.data.value.length : rawInputData.value.length
4211
4214
  );
@@ -4363,6 +4366,26 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4363
4366
  return pinnedData2.hasData.value || !rawInputData.value.length || !!((_a = binaryData.value) == null ? void 0 : _a.length) || isReadOnlyRoute.value || readOnlyEnv.value;
4364
4367
  }
4365
4368
  );
4369
+ const activeTaskMetadata = computed(() => {
4370
+ var _a, _b, _c;
4371
+ if (!node2.value) {
4372
+ return null;
4373
+ }
4374
+ return ((_c = (_b = (_a = workflowRunData.value) == null ? void 0 : _a[node2.value.name]) == null ? void 0 : _b[props.runIndex]) == null ? void 0 : _c.metadata) ?? null;
4375
+ });
4376
+ const hasReleatedExectuion = computed(() => {
4377
+ var _a, _b;
4378
+ return Boolean(
4379
+ ((_a = activeTaskMetadata.value) == null ? void 0 : _a.subExecution) || ((_b = activeTaskMetadata.value) == null ? void 0 : _b.parentExecution)
4380
+ );
4381
+ });
4382
+ const hasInputOverwrite = computed(() => {
4383
+ if (!node2.value) {
4384
+ return false;
4385
+ }
4386
+ const taskData = nodeHelpers.getNodeTaskData(node2.value, props.runIndex);
4387
+ return Boolean(taskData == null ? void 0 : taskData.inputOverride);
4388
+ });
4366
4389
  watch(node2, (newNode, prevNode) => {
4367
4390
  if ((newNode == null ? void 0 : newNode.id) === (prevNode == null ? void 0 : prevNode.id)) return;
4368
4391
  init2();
@@ -4743,6 +4766,10 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4743
4766
  }
4744
4767
  }
4745
4768
  function getRunLabel(option2) {
4769
+ var _a, _b, _c;
4770
+ if (!node2.value) {
4771
+ return;
4772
+ }
4746
4773
  let itemsCount2 = 0;
4747
4774
  for (let i = 0; i <= maxOutputIndex.value; i++) {
4748
4775
  itemsCount2 += getPinDataOrLiveData(getRawInputData(option2 - 1, i)).length;
@@ -4751,7 +4778,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4751
4778
  adjustToNumber: itemsCount2,
4752
4779
  interpolate: { count: itemsCount2 }
4753
4780
  });
4754
- const itemsLabel = itemsCount2 > 0 ? ` (${items})` : "";
4781
+ const metadata = ((_c = (_b = (_a = workflowRunData.value) == null ? void 0 : _a[node2.value.name]) == null ? void 0 : _b[option2 - 1]) == null ? void 0 : _c.metadata) ?? null;
4782
+ const subexecutions = (metadata == null ? void 0 : metadata.subExecutionsCount) ? i18n2.baseText("ndv.output.andSubExecutions", {
4783
+ adjustToNumber: metadata.subExecutionsCount,
4784
+ interpolate: {
4785
+ count: metadata.subExecutionsCount
4786
+ }
4787
+ }) : "";
4788
+ const itemsLabel = itemsCount2 > 0 ? ` (${items}${subexecutions})` : "";
4755
4789
  return option2 + i18n2.baseText("ndv.output.of") + (maxRunIndex.value + 1) + itemsLabel;
4756
4790
  }
4757
4791
  function getRawInputData(runIndex, outputIndex2, connectionType22 = NodeConnectionType.Main) {
@@ -4925,9 +4959,23 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4925
4959
  search2.value = "";
4926
4960
  document.dispatchEvent(new KeyboardEvent("keyup", { key: "/" }));
4927
4961
  }
4962
+ function getExecutionLinkLabel(task) {
4963
+ if (task.parentExecution) {
4964
+ return i18n2.baseText("runData.openParentExecution", {
4965
+ interpolate: { id: task.parentExecution.executionId }
4966
+ });
4967
+ }
4968
+ if (task.subExecution) {
4969
+ return i18n2.baseText("runData.openSubExecution", {
4970
+ interpolate: { id: task.subExecution.executionId }
4971
+ });
4972
+ }
4973
+ return;
4974
+ }
4928
4975
  __expose({ enterEditMode });
4929
4976
  return (_ctx, _cache) => {
4930
4977
  var _a, _b, _c, _d;
4978
+ const _component_N8nIcon = resolveComponent("N8nIcon");
4931
4979
  const _component_i18n_t = resolveComponent("i18n-t");
4932
4980
  const _component_el_pagination = resolveComponent("el-pagination");
4933
4981
  const _directive_n8n_html = resolveDirective("n8n-html");
@@ -4951,13 +4999,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4951
4999
  onClick: onClickDataPinningDocsLink
4952
5000
  }, {
4953
5001
  default: withCtx(() => [
4954
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.pindata.learnMore")), 1)
5002
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.pindata.learnMore")), 1)
4955
5003
  ]),
4956
5004
  _: 1
4957
5005
  }, 8, ["to"])
4958
5006
  ]),
4959
5007
  default: withCtx(() => [
4960
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.pindata.thisDataIsPinned")) + " ", 1),
5008
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.pindata.thisDataIsPinned")) + " ", 1),
4961
5009
  !isReadOnlyRoute.value && !readOnlyEnv.value ? (openBlock(), createElementBlock("span", _hoisted_1$m, [
4962
5010
  createVNode(unref(N8nLink), {
4963
5011
  theme: "secondary",
@@ -4968,7 +5016,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
4968
5016
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onTogglePinData({ source: "banner-link" }), ["stop"]))
4969
5017
  }, {
4970
5018
  default: withCtx(() => [
4971
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.pindata.unpin")), 1)
5019
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.pindata.unpin")), 1)
4972
5020
  ]),
4973
5021
  _: 1
4974
5022
  })
@@ -5020,7 +5068,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5020
5068
  ]),
5021
5069
  canPinData.value && !isReadOnlyRoute.value && !readOnlyEnv.value ? withDirectives((openBlock(), createBlock(unref(_sfc_main$13), {
5022
5070
  key: 0,
5023
- title: _ctx.$locale.baseText("runData.editOutput"),
5071
+ title: unref(i18n2).baseText("runData.editOutput"),
5024
5072
  circle: false,
5025
5073
  disabled: (_a = node2.value) == null ? void 0 : _a.disabled,
5026
5074
  icon: "pencil-alt",
@@ -5046,13 +5094,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5046
5094
  }, [
5047
5095
  createVNode(unref(N8nButton), {
5048
5096
  type: "tertiary",
5049
- label: _ctx.$locale.baseText("runData.editor.cancel"),
5097
+ label: unref(i18n2).baseText("runData.editor.cancel"),
5050
5098
  onClick: onClickCancelEdit
5051
5099
  }, null, 8, ["label"]),
5052
5100
  createVNode(unref(N8nButton), {
5053
5101
  class: "ml-2xs",
5054
5102
  type: "primary",
5055
- label: _ctx.$locale.baseText("runData.editor.save"),
5103
+ label: unref(i18n2).baseText("runData.editor.save"),
5056
5104
  onClick: onClickSaveEdit
5057
5105
  }, null, 8, ["label"])
5058
5106
  ], 2), [
@@ -5072,56 +5120,90 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5072
5120
  key: 3,
5073
5121
  class: normalizeClass(_ctx.$style.runSelector)
5074
5122
  }, [
5075
- inputSelectLocation.value === "runs" ? renderSlot(_ctx.$slots, "input-select", { key: 0 }, void 0, true) : createCommentVNode("", true),
5076
- createVNode(unref(N8nSelect), {
5077
- "model-value": _ctx.runIndex,
5078
- class: normalizeClass(_ctx.$style.runSelectorInner),
5079
- size: "small",
5080
- teleported: "",
5081
- "data-test-id": "run-selector",
5082
- "onUpdate:modelValue": onRunIndexChange,
5083
- onClick: _cache[5] || (_cache[5] = withModifiers(() => {
5084
- }, ["stop"]))
5085
- }, {
5086
- prepend: withCtx(() => [
5087
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.output.run")), 1)
5088
- ]),
5089
- default: withCtx(() => [
5090
- (openBlock(true), createElementBlock(Fragment, null, renderList(maxRunIndex.value + 1, (option2) => {
5091
- return openBlock(), createBlock(unref(_sfc_main$14), {
5092
- key: option2,
5093
- label: getRunLabel(option2),
5094
- value: option2 - 1
5095
- }, null, 8, ["label", "value"]);
5096
- }), 128))
5097
- ]),
5098
- _: 1
5099
- }, 8, ["model-value", "class"]),
5100
- _ctx.canLinkRuns ? (openBlock(), createBlock(unref(N8nTooltip), {
5101
- key: 1,
5102
- placement: "right"
5103
- }, {
5104
- content: withCtx(() => [
5105
- createTextVNode(toDisplayString(_ctx.$locale.baseText(_ctx.linkedRuns ? "runData.unlinking.hint" : "runData.linking.hint")), 1)
5106
- ]),
5107
- default: withCtx(() => [
5108
- createVNode(unref(_sfc_main$13), {
5109
- icon: _ctx.linkedRuns ? "unlink" : "link",
5110
- class: "linkRun",
5111
- text: "",
5112
- type: "tertiary",
5113
- size: "small",
5114
- "data-test-id": "link-run",
5115
- onClick: toggleLinkRuns
5116
- }, null, 8, ["icon"])
5117
- ]),
5118
- _: 1
5119
- })) : createCommentVNode("", true),
5120
- renderSlot(_ctx.$slots, "run-info", {}, void 0, true)
5123
+ createBaseVNode("div", {
5124
+ class: normalizeClass(_ctx.$style.runSelectorInner)
5125
+ }, [
5126
+ inputSelectLocation.value === "runs" ? renderSlot(_ctx.$slots, "input-select", { key: 0 }, void 0, true) : createCommentVNode("", true),
5127
+ createVNode(unref(N8nSelect), {
5128
+ "model-value": _ctx.runIndex,
5129
+ class: normalizeClass(_ctx.$style.runSelectorSelect),
5130
+ size: "small",
5131
+ teleported: "",
5132
+ "data-test-id": "run-selector",
5133
+ "onUpdate:modelValue": onRunIndexChange,
5134
+ onClick: _cache[5] || (_cache[5] = withModifiers(() => {
5135
+ }, ["stop"]))
5136
+ }, {
5137
+ prepend: withCtx(() => [
5138
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.output.run")), 1)
5139
+ ]),
5140
+ default: withCtx(() => [
5141
+ (openBlock(true), createElementBlock(Fragment, null, renderList(maxRunIndex.value + 1, (option2) => {
5142
+ return openBlock(), createBlock(unref(_sfc_main$14), {
5143
+ key: option2,
5144
+ label: getRunLabel(option2),
5145
+ value: option2 - 1
5146
+ }, null, 8, ["label", "value"]);
5147
+ }), 128))
5148
+ ]),
5149
+ _: 1
5150
+ }, 8, ["model-value", "class"]),
5151
+ _ctx.canLinkRuns ? (openBlock(), createBlock(unref(N8nTooltip), {
5152
+ key: 1,
5153
+ placement: "right"
5154
+ }, {
5155
+ content: withCtx(() => [
5156
+ createTextVNode(toDisplayString(unref(i18n2).baseText(_ctx.linkedRuns ? "runData.unlinking.hint" : "runData.linking.hint")), 1)
5157
+ ]),
5158
+ default: withCtx(() => [
5159
+ createVNode(unref(_sfc_main$13), {
5160
+ icon: _ctx.linkedRuns ? "unlink" : "link",
5161
+ class: "linkRun",
5162
+ text: "",
5163
+ type: "tertiary",
5164
+ size: "small",
5165
+ "data-test-id": "link-run",
5166
+ onClick: toggleLinkRuns
5167
+ }, null, 8, ["icon"])
5168
+ ]),
5169
+ _: 1
5170
+ })) : createCommentVNode("", true),
5171
+ renderSlot(_ctx.$slots, "run-info", {}, void 0, true)
5172
+ ], 2),
5173
+ activeTaskMetadata.value && hasReleatedExectuion.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createElementBlock("a", {
5174
+ key: 0,
5175
+ class: normalizeClass(_ctx.$style.relatedExecutionInfo),
5176
+ "data-test-id": "related-execution-link",
5177
+ href: unref(resolveRelatedExecutionUrl)(activeTaskMetadata.value),
5178
+ target: "_blank",
5179
+ onClick: _cache[6] || (_cache[6] = withModifiers(($event) => unref(trackOpeningRelatedExecution)(activeTaskMetadata.value, displayMode.value), ["stop"]))
5180
+ }, [
5181
+ createVNode(_component_N8nIcon, {
5182
+ icon: "external-link-alt",
5183
+ size: "xsmall"
5184
+ }),
5185
+ createTextVNode(" " + toDisplayString(getExecutionLinkLabel(activeTaskMetadata.value)), 1)
5186
+ ], 10, _hoisted_2$d)) : createCommentVNode("", true)
5121
5187
  ], 2)), [
5122
5188
  [vShow, !editMode2.value.enabled]
5123
5189
  ]) : createCommentVNode("", true),
5124
5190
  !displaysMultipleNodes.value ? renderSlot(_ctx.$slots, "before-data", { key: 4 }, void 0, true) : createCommentVNode("", true),
5191
+ props.calloutMessage ? (openBlock(), createElementBlock("div", {
5192
+ key: 5,
5193
+ class: normalizeClass(_ctx.$style.hintCallout)
5194
+ }, [
5195
+ createVNode(unref(N8nCallout), {
5196
+ theme: "secondary",
5197
+ "data-test-id": "run-data-callout"
5198
+ }, {
5199
+ default: withCtx(() => [
5200
+ withDirectives(createVNode(unref(N8nText), { size: "small" }, null, 512), [
5201
+ [_directive_n8n_html, props.calloutMessage]
5202
+ ])
5203
+ ]),
5204
+ _: 1
5205
+ })
5206
+ ], 2)) : createCommentVNode("", true),
5125
5207
  (openBlock(true), createElementBlock(Fragment, null, renderList(getNodeHints$1(), (hint) => {
5126
5208
  return openBlock(), createBlock(unref(N8nCallout), {
5127
5209
  key: hint.message,
@@ -5137,7 +5219,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5137
5219
  }, 1032, ["class", "theme"]);
5138
5220
  }), 128)),
5139
5221
  maxOutputIndex.value > 0 && branches.value.length > 1 && !displaysMultipleNodes.value ? (openBlock(), createElementBlock("div", {
5140
- key: 5,
5222
+ key: 6,
5141
5223
  class: normalizeClass(_ctx.$style.outputs),
5142
5224
  "data-test-id": "branches"
5143
5225
  }, [
@@ -5152,7 +5234,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5152
5234
  }, null, 8, ["model-value", "options"])
5153
5235
  ], 2)
5154
5236
  ], 2)) : !hasRunError.value && hasNodeRun.value && !isSearchInSchemaView.value && (dataCount.value > 0 && maxRunIndex.value === 0 || search2.value) && !isArtificialRecoveredEventItem.value && !displaysMultipleNodes.value ? withDirectives((openBlock(), createElementBlock("div", {
5155
- key: 6,
5237
+ key: 7,
5156
5238
  class: normalizeClass([_ctx.$style.itemsCount, { [_ctx.$style.muted]: _ctx.paneType === "input" && maxRunIndex.value === 0 }]),
5157
5239
  "data-test-id": "ndv-items-count"
5158
5240
  }, [
@@ -5162,7 +5244,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5162
5244
  class: normalizeClass(_ctx.$style.itemsText)
5163
5245
  }, {
5164
5246
  default: withCtx(() => [
5165
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.search.items", {
5247
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.search.items", {
5166
5248
  adjustToNumber: unfilteredDataCount.value,
5167
5249
  interpolate: { matched: dataCount.value, total: unfilteredDataCount.value }
5168
5250
  })), 1)
@@ -5172,14 +5254,35 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5172
5254
  key: 2,
5173
5255
  class: normalizeClass(_ctx.$style.itemsText)
5174
5256
  }, {
5175
- default: withCtx(() => [
5176
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.output.items", {
5177
- adjustToNumber: dataCount.value,
5178
- interpolate: { count: dataCount.value }
5179
- })), 1)
5180
- ]),
5257
+ default: withCtx(() => {
5258
+ var _a2;
5259
+ return [
5260
+ createBaseVNode("span", null, toDisplayString(unref(i18n2).baseText("ndv.output.items", {
5261
+ adjustToNumber: dataCount.value,
5262
+ interpolate: { count: dataCount.value }
5263
+ })), 1),
5264
+ ((_a2 = activeTaskMetadata.value) == null ? void 0 : _a2.subExecutionsCount) ? (openBlock(), createElementBlock("span", _hoisted_3$a, toDisplayString(unref(i18n2).baseText("ndv.output.andSubExecutions", {
5265
+ adjustToNumber: activeTaskMetadata.value.subExecutionsCount,
5266
+ interpolate: { count: activeTaskMetadata.value.subExecutionsCount }
5267
+ })), 1)) : createCommentVNode("", true)
5268
+ ];
5269
+ }),
5181
5270
  _: 1
5182
- }, 8, ["class"]))
5271
+ }, 8, ["class"])),
5272
+ activeTaskMetadata.value && hasReleatedExectuion.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createElementBlock("a", {
5273
+ key: 3,
5274
+ class: normalizeClass(_ctx.$style.relatedExecutionInfo),
5275
+ "data-test-id": "related-execution-link",
5276
+ href: unref(resolveRelatedExecutionUrl)(activeTaskMetadata.value),
5277
+ target: "_blank",
5278
+ onClick: _cache[7] || (_cache[7] = withModifiers(($event) => unref(trackOpeningRelatedExecution)(activeTaskMetadata.value, displayMode.value), ["stop"]))
5279
+ }, [
5280
+ createVNode(_component_N8nIcon, {
5281
+ icon: "external-link-alt",
5282
+ size: "xsmall"
5283
+ }),
5284
+ createTextVNode(" " + toDisplayString(getExecutionLinkLabel(activeTaskMetadata.value)), 1)
5285
+ ], 10, _hoisted_4$4)) : createCommentVNode("", true)
5183
5286
  ], 2)), [
5184
5287
  [vShow, !editMode2.value.enabled && !hasRunError.value]
5185
5288
  ]) : createCommentVNode("", true),
@@ -5189,7 +5292,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5189
5292
  class: normalizeClass(_ctx.$style.dataContainer),
5190
5293
  "data-test-id": "ndv-data-container"
5191
5294
  }, [
5192
- _ctx.isExecuting ? (openBlock(), createElementBlock("div", {
5295
+ _ctx.isExecuting && !isWaitNodeWaiting.value ? (openBlock(), createElementBlock("div", {
5193
5296
  key: 0,
5194
5297
  class: normalizeClass(_ctx.$style.center),
5195
5298
  "data-test-id": "ndv-executing"
@@ -5215,7 +5318,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5215
5318
  createVNode(JsonEditor, {
5216
5319
  "model-value": editMode2.value.value,
5217
5320
  "fill-parent": true,
5218
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(ndvStore).setOutputPanelEditModeValue($event))
5321
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => unref(ndvStore).setOutputPanelEditModeValue($event))
5219
5322
  }, null, 8, ["model-value"])
5220
5323
  ], 2),
5221
5324
  createBaseVNode("div", {
@@ -5226,13 +5329,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5226
5329
  class: normalizeClass(_ctx.$style.editModeFooterInfotip)
5227
5330
  }, {
5228
5331
  default: withCtx(() => [
5229
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.editor.copyDataInfo")) + " ", 1),
5332
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.editor.copyDataInfo")) + " ", 1),
5230
5333
  createVNode(unref(N8nLink), {
5231
5334
  to: unref(DATA_EDITING_DOCS_URL),
5232
5335
  size: "small"
5233
5336
  }, {
5234
5337
  default: withCtx(() => [
5235
- createTextVNode(toDisplayString(_ctx.$locale.baseText("generic.learnMore")), 1)
5338
+ createTextVNode(toDisplayString(unref(i18n2).baseText("generic.learnMore")), 1)
5236
5339
  ]),
5237
5340
  _: 1
5238
5341
  }, 8, ["to"])
@@ -5253,7 +5356,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5253
5356
  class: normalizeClass(_ctx.$style.center)
5254
5357
  }, [
5255
5358
  renderSlot(_ctx.$slots, "node-waiting", {}, () => [
5256
- _cache[9] || (_cache[9] = createTextVNode("xxx"))
5359
+ _cache[11] || (_cache[11] = createTextVNode("xxx"))
5257
5360
  ], true)
5258
5361
  ], 2)) : !hasNodeRun.value && !(displaysMultipleNodes.value && ((_c = node2.value) == null ? void 0 : _c.disabled)) ? (openBlock(), createElementBlock("div", {
5259
5362
  key: 4,
@@ -5266,10 +5369,10 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5266
5369
  }, [
5267
5370
  createVNode(unref(N8nText), null, {
5268
5371
  default: withCtx(() => [
5269
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.input.disabled", { interpolate: { nodeName: node2.value.name } })) + " ", 1),
5372
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.disabled", { interpolate: { nodeName: node2.value.name } })) + " ", 1),
5270
5373
  createVNode(unref(N8nLink), { onClick: enableNode }, {
5271
5374
  default: withCtx(() => [
5272
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.input.disabled.cta")), 1)
5375
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.disabled.cta")), 1)
5273
5376
  ]),
5274
5377
  _: 1
5275
5378
  })
@@ -5295,13 +5398,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5295
5398
  default: withCtx(() => {
5296
5399
  var _a2;
5297
5400
  return [
5298
- createTextVNode(toDisplayString(_ctx.$locale.baseText("nodeErrorView.inputPanel.previousNodeError.title", {
5401
+ createTextVNode(toDisplayString(unref(i18n2).baseText("nodeErrorView.inputPanel.previousNodeError.title", {
5299
5402
  interpolate: { nodeName: ((_a2 = node2.value) == null ? void 0 : _a2.name) ?? "" }
5300
5403
  })), 1)
5301
5404
  ];
5302
5405
  }),
5303
5406
  _: 1
5304
- }, 8, ["class"])) : _ctx.$slots["content"] ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
5407
+ }, 8, ["class"])) : _ctx.$slots["content"] ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
5305
5408
  workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$16, {
5306
5409
  key: 0,
5307
5410
  error: workflowRunErrorAsNodeError.value,
@@ -5318,13 +5421,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5318
5421
  key: 8,
5319
5422
  class: normalizeClass(_ctx.$style.center)
5320
5423
  }, [
5321
- search2.value ? (openBlock(), createElementBlock("div", _hoisted_3$a, [
5424
+ search2.value ? (openBlock(), createElementBlock("div", _hoisted_6$3, [
5322
5425
  createVNode(unref(N8nText), {
5323
5426
  tag: "h3",
5324
5427
  size: "large"
5325
5428
  }, {
5326
5429
  default: withCtx(() => [
5327
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.search.noMatch.title")), 1)
5430
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.search.noMatch.title")), 1)
5328
5431
  ]),
5329
5432
  _: 1
5330
5433
  }),
@@ -5338,7 +5441,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5338
5441
  createBaseVNode("a", {
5339
5442
  href: "#",
5340
5443
  onClick: onSearchClear
5341
- }, toDisplayString(_ctx.$locale.baseText("ndv.search.noMatch.description.link")), 1)
5444
+ }, toDisplayString(unref(i18n2).baseText("ndv.search.noMatch.description.link")), 1)
5342
5445
  ]),
5343
5446
  _: 1
5344
5447
  })
@@ -5356,7 +5459,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5356
5459
  class: normalizeClass(_ctx.$style.center)
5357
5460
  }, [
5358
5461
  renderSlot(_ctx.$slots, "no-output-data", {}, () => [
5359
- _cache[10] || (_cache[10] = createTextVNode("xxx"))
5462
+ _cache[12] || (_cache[12] = createTextVNode("xxx"))
5360
5463
  ], true)
5361
5464
  ], 2)) : hasNodeRun.value && !showData.value ? (openBlock(), createElementBlock("div", {
5362
5465
  key: 10,
@@ -5381,7 +5484,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5381
5484
  withDirectives(createBaseVNode("span", null, null, 512), [
5382
5485
  [
5383
5486
  _directive_n8n_html,
5384
- _ctx.$locale.baseText("ndv.output.tooMuchData.message", {
5487
+ unref(i18n2).baseText("ndv.output.tooMuchData.message", {
5385
5488
  interpolate: { size: dataSizeInMB.value }
5386
5489
  })
5387
5490
  ]
@@ -5391,13 +5494,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5391
5494
  }),
5392
5495
  createVNode(unref(N8nButton), {
5393
5496
  outline: "",
5394
- label: _ctx.$locale.baseText("ndv.output.tooMuchData.showDataAnyway"),
5497
+ label: unref(i18n2).baseText("ndv.output.tooMuchData.showDataAnyway"),
5395
5498
  onClick: showTooMuchData
5396
5499
  }, null, 8, ["label"]),
5397
5500
  createVNode(unref(N8nButton), {
5398
5501
  size: "small",
5399
- label: _ctx.$locale.baseText("runData.downloadBinaryData"),
5400
- onClick: _cache[7] || (_cache[7] = ($event) => downloadJsonData())
5502
+ label: unref(i18n2).baseText("runData.downloadBinaryData"),
5503
+ onClick: _cache[9] || (_cache[9] = ($event) => downloadJsonData())
5401
5504
  }, null, 8, ["label"])
5402
5505
  ], 2)) : hasNodeRun.value && _ctx.$slots["content"] ? renderSlot(_ctx.$slots, "content", { key: 11 }, void 0, true) : hasNodeRun.value && displayMode.value === "table" && binaryData.value.length > 0 && inputData.value.length === 1 && Object.keys(jsonData.value[0] || {}).length === 0 ? (openBlock(), createElementBlock("div", {
5403
5506
  key: 12,
@@ -5405,8 +5508,8 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5405
5508
  }, [
5406
5509
  createVNode(unref(N8nText), null, {
5407
5510
  default: withCtx(() => [
5408
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.switchToBinary.info")) + " ", 1),
5409
- createBaseVNode("a", { onClick: switchToBinary }, toDisplayString(_ctx.$locale.baseText("runData.switchToBinary.binary")), 1)
5511
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.switchToBinary.info")) + " ", 1),
5512
+ createBaseVNode("a", { onClick: switchToBinary }, toDisplayString(unref(i18n2).baseText("runData.switchToBinary.binary")), 1)
5410
5513
  ]),
5411
5514
  _: 1
5412
5515
  })
@@ -5419,7 +5522,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5419
5522
  size: "large"
5420
5523
  }, {
5421
5524
  default: withCtx(() => [
5422
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.search.noMatch.title")), 1)
5525
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.search.noMatch.title")), 1)
5423
5526
  ]),
5424
5527
  _: 1
5425
5528
  }),
@@ -5433,7 +5536,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5433
5536
  createBaseVNode("a", {
5434
5537
  href: "#",
5435
5538
  onClick: onSearchClear
5436
- }, toDisplayString(_ctx.$locale.baseText("ndv.search.noMatch.description.link")), 1)
5539
+ }, toDisplayString(unref(i18n2).baseText("ndv.search.noMatch.description.link")), 1)
5437
5540
  ]),
5438
5541
  _: 1
5439
5542
  })
@@ -5452,7 +5555,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5452
5555
  "total-runs": maxRunIndex.value,
5453
5556
  "has-default-hover-state": _ctx.paneType === "input" && !search2.value,
5454
5557
  search: search2.value,
5455
- onMounted: _cache[8] || (_cache[8] = ($event) => emit("tableMounted", $event)),
5558
+ onMounted: _cache[10] || (_cache[10] = ($event) => emit("tableMounted", $event)),
5456
5559
  onActiveRowChanged: onItemHover,
5457
5560
  onDisplayModeChange
5458
5561
  }, null, 8, ["node", "input-data", "mapping-enabled", "distance-from-active", "run-index", "page-offset", "total-runs", "has-default-hover-state", "search"])
@@ -5506,7 +5609,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5506
5609
  tag: "div"
5507
5610
  }, {
5508
5611
  default: withCtx(() => [
5509
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.noBinaryDataFound")), 1)
5612
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.noBinaryDataFound")), 1)
5510
5613
  ]),
5511
5614
  _: 1
5512
5615
  })
@@ -5536,14 +5639,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5536
5639
  createBaseVNode("div", {
5537
5640
  class: normalizeClass(_ctx.$style.binaryHeader)
5538
5641
  }, toDisplayString(key), 3),
5539
- binaryData2.fileName ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
5642
+ binaryData2.fileName ? (openBlock(), createElementBlock("div", _hoisted_8$2, [
5540
5643
  createBaseVNode("div", null, [
5541
5644
  createVNode(unref(N8nText), {
5542
5645
  size: "small",
5543
5646
  bold: true
5544
5647
  }, {
5545
5648
  default: withCtx(() => [
5546
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.fileName")) + ": ", 1)
5649
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.fileName")) + ": ", 1)
5547
5650
  ]),
5548
5651
  _: 1
5549
5652
  })
@@ -5552,14 +5655,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5552
5655
  class: normalizeClass(_ctx.$style.binaryValue)
5553
5656
  }, toDisplayString(binaryData2.fileName), 3)
5554
5657
  ])) : createCommentVNode("", true),
5555
- binaryData2.directory ? (openBlock(), createElementBlock("div", _hoisted_6$3, [
5658
+ binaryData2.directory ? (openBlock(), createElementBlock("div", _hoisted_9$1, [
5556
5659
  createBaseVNode("div", null, [
5557
5660
  createVNode(unref(N8nText), {
5558
5661
  size: "small",
5559
5662
  bold: true
5560
5663
  }, {
5561
5664
  default: withCtx(() => [
5562
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.directory")) + ": ", 1)
5665
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.directory")) + ": ", 1)
5563
5666
  ]),
5564
5667
  _: 1
5565
5668
  })
@@ -5568,14 +5671,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5568
5671
  class: normalizeClass(_ctx.$style.binaryValue)
5569
5672
  }, toDisplayString(binaryData2.directory), 3)
5570
5673
  ])) : createCommentVNode("", true),
5571
- binaryData2.fileExtension ? (openBlock(), createElementBlock("div", _hoisted_7$2, [
5674
+ binaryData2.fileExtension ? (openBlock(), createElementBlock("div", _hoisted_10$1, [
5572
5675
  createBaseVNode("div", null, [
5573
5676
  createVNode(unref(N8nText), {
5574
5677
  size: "small",
5575
5678
  bold: true
5576
5679
  }, {
5577
5680
  default: withCtx(() => [
5578
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.fileExtension")) + ":", 1)
5681
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.fileExtension")) + ":", 1)
5579
5682
  ]),
5580
5683
  _: 1
5581
5684
  })
@@ -5584,14 +5687,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5584
5687
  class: normalizeClass(_ctx.$style.binaryValue)
5585
5688
  }, toDisplayString(binaryData2.fileExtension), 3)
5586
5689
  ])) : createCommentVNode("", true),
5587
- binaryData2.mimeType ? (openBlock(), createElementBlock("div", _hoisted_8$2, [
5690
+ binaryData2.mimeType ? (openBlock(), createElementBlock("div", _hoisted_11$1, [
5588
5691
  createBaseVNode("div", null, [
5589
5692
  createVNode(unref(N8nText), {
5590
5693
  size: "small",
5591
5694
  bold: true
5592
5695
  }, {
5593
5696
  default: withCtx(() => [
5594
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.mimeType")) + ": ", 1)
5697
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.mimeType")) + ": ", 1)
5595
5698
  ]),
5596
5699
  _: 1
5597
5700
  })
@@ -5600,14 +5703,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5600
5703
  class: normalizeClass(_ctx.$style.binaryValue)
5601
5704
  }, toDisplayString(binaryData2.mimeType), 3)
5602
5705
  ])) : createCommentVNode("", true),
5603
- binaryData2.fileSize ? (openBlock(), createElementBlock("div", _hoisted_9$1, [
5706
+ binaryData2.fileSize ? (openBlock(), createElementBlock("div", _hoisted_12$1, [
5604
5707
  createBaseVNode("div", null, [
5605
5708
  createVNode(unref(N8nText), {
5606
5709
  size: "small",
5607
5710
  bold: true
5608
5711
  }, {
5609
5712
  default: withCtx(() => [
5610
- createTextVNode(toDisplayString(_ctx.$locale.baseText("runData.fileSize")) + ": ", 1)
5713
+ createTextVNode(toDisplayString(unref(i18n2).baseText("runData.fileSize")) + ": ", 1)
5611
5714
  ]),
5612
5715
  _: 1
5613
5716
  })
@@ -5622,7 +5725,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5622
5725
  isViewable(index, key) ? (openBlock(), createBlock(unref(N8nButton), {
5623
5726
  key: 0,
5624
5727
  size: "small",
5625
- label: _ctx.$locale.baseText("runData.showBinaryData"),
5728
+ label: unref(i18n2).baseText("runData.showBinaryData"),
5626
5729
  "data-test-id": "ndv-view-binary-data",
5627
5730
  onClick: ($event) => displayBinaryData(index, key)
5628
5731
  }, null, 8, ["label", "onClick"])) : createCommentVNode("", true),
@@ -5630,12 +5733,12 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5630
5733
  key: 1,
5631
5734
  size: "small",
5632
5735
  type: "secondary",
5633
- label: _ctx.$locale.baseText("runData.downloadBinaryData"),
5736
+ label: unref(i18n2).baseText("runData.downloadBinaryData"),
5634
5737
  "data-test-id": "ndv-download-binary-data",
5635
5738
  onClick: ($event) => downloadBinaryData(index, key)
5636
5739
  }, null, 8, ["label", "onClick"])) : createCommentVNode("", true)
5637
5740
  ], 2)
5638
- ], 8, _hoisted_4$4)
5741
+ ], 8, _hoisted_7$2)
5639
5742
  ], 2);
5640
5743
  }), 128))
5641
5744
  ], 2)
@@ -5644,7 +5747,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5644
5747
  ], 2)) : createCommentVNode("", true)
5645
5748
  ], 2),
5646
5749
  _ctx.hidePagination === false && hasNodeRun.value && !hasRunError.value && displayMode.value !== "binary" && dataCount.value > pageSize.value && !isSchemaView.value && !isArtificialRecoveredEventItem.value ? withDirectives((openBlock(), createElementBlock("div", {
5647
- key: 7,
5750
+ key: 8,
5648
5751
  class: normalizeClass(_ctx.$style.pagination),
5649
5752
  "data-test-id": "ndv-data-pagination"
5650
5753
  }, [
@@ -5668,7 +5771,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5668
5771
  "onUpdate:modelValue": onPageSizeChange
5669
5772
  }, {
5670
5773
  prepend: withCtx(() => [
5671
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.output.pageSize")), 1)
5774
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.output.pageSize")), 1)
5672
5775
  ]),
5673
5776
  default: withCtx(() => [
5674
5777
  (openBlock(), createElementBlock(Fragment, null, renderList(pageSizes, (size) => {
@@ -5679,7 +5782,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5679
5782
  }, null, 8, ["label", "value"]);
5680
5783
  }), 64)),
5681
5784
  createVNode(unref(_sfc_main$14), {
5682
- label: _ctx.$locale.baseText("ndv.output.all"),
5785
+ label: unref(i18n2).baseText("ndv.output.all"),
5683
5786
  value: dataCount.value
5684
5787
  }, null, 8, ["label", "value"])
5685
5788
  ]),
@@ -5697,43 +5800,45 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
5697
5800
  };
5698
5801
  }
5699
5802
  });
5700
- const infoIcon = "_infoIcon_1aumk_1";
5701
- const center = "_center_1aumk_5";
5702
- const container$1 = "_container_1aumk_19";
5703
- const pinnedDataCallout = "_pinnedDataCallout_1aumk_28";
5704
- const header$1 = "_header_1aumk_36";
5705
- const dataContainer = "_dataContainer_1aumk_51";
5706
- const dataDisplay = "_dataDisplay_1aumk_60";
5707
- const inlineError = "_inlineError_1aumk_72";
5708
- const outputs = "_outputs_1aumk_79";
5709
- const tabs = "_tabs_1aumk_88";
5710
- const itemsCount = "_itemsCount_1aumk_96";
5711
- const itemsText = "_itemsText_1aumk_104";
5712
- const muted = "_muted_1aumk_110";
5713
- const inputSelect = "_inputSelect_1aumk_115";
5714
- const runSelector = "_runSelector_1aumk_121";
5715
- const search = "_search_1aumk_133";
5716
- const runSelectorInner = "_runSelectorInner_1aumk_137";
5717
- const pagination = "_pagination_1aumk_141";
5718
- const pageSizeSelector = "_pageSizeSelector_1aumk_151";
5719
- const binaryIndex = "_binaryIndex_1aumk_157";
5720
- const binaryRow = "_binaryRow_1aumk_174";
5721
- const binaryCell = "_binaryCell_1aumk_179";
5722
- const binaryHeader = "_binaryHeader_1aumk_191";
5723
- const binaryButtonContainer = "_binaryButtonContainer_1aumk_200";
5724
- const binaryValue = "_binaryValue_1aumk_211";
5725
- const displayModes = "_displayModes_1aumk_216";
5726
- const tooltipContain = "_tooltipContain_1aumk_223";
5727
- const spinner = "_spinner_1aumk_227";
5728
- const editMode = "_editMode_1aumk_238";
5729
- const editModeBody = "_editModeBody_1aumk_247";
5730
- const editModeFooter = "_editModeFooter_1aumk_254";
5731
- const editModeFooterInfotip = "_editModeFooterInfotip_1aumk_264";
5732
- const editModeActions = "_editModeActions_1aumk_270";
5733
- const stretchVertically = "_stretchVertically_1aumk_277";
5734
- const uiBlocker = "_uiBlocker_1aumk_281";
5735
- const hintCallout = "_hintCallout_1aumk_286";
5736
- const schema = "_schema_1aumk_292";
5803
+ const infoIcon = "_infoIcon_14ti8_1";
5804
+ const center = "_center_14ti8_5";
5805
+ const container$1 = "_container_14ti8_19";
5806
+ const pinnedDataCallout = "_pinnedDataCallout_14ti8_28";
5807
+ const header$1 = "_header_14ti8_36";
5808
+ const dataContainer = "_dataContainer_14ti8_51";
5809
+ const dataDisplay = "_dataDisplay_14ti8_60";
5810
+ const inlineError = "_inlineError_14ti8_72";
5811
+ const outputs = "_outputs_14ti8_79";
5812
+ const tabs = "_tabs_14ti8_88";
5813
+ const itemsCount = "_itemsCount_14ti8_96";
5814
+ const itemsText = "_itemsText_14ti8_105";
5815
+ const muted = "_muted_14ti8_111";
5816
+ const inputSelect = "_inputSelect_14ti8_116";
5817
+ const runSelector = "_runSelector_14ti8_122";
5818
+ const runSelectorInner = "_runSelectorInner_14ti8_135";
5819
+ const runSelectorSelect = "_runSelectorSelect_14ti8_141";
5820
+ const search = "_search_14ti8_145";
5821
+ const pagination = "_pagination_14ti8_149";
5822
+ const pageSizeSelector = "_pageSizeSelector_14ti8_159";
5823
+ const binaryIndex = "_binaryIndex_14ti8_165";
5824
+ const binaryRow = "_binaryRow_14ti8_182";
5825
+ const binaryCell = "_binaryCell_14ti8_187";
5826
+ const binaryHeader = "_binaryHeader_14ti8_199";
5827
+ const binaryButtonContainer = "_binaryButtonContainer_14ti8_208";
5828
+ const binaryValue = "_binaryValue_14ti8_219";
5829
+ const displayModes = "_displayModes_14ti8_224";
5830
+ const tooltipContain = "_tooltipContain_14ti8_231";
5831
+ const spinner = "_spinner_14ti8_235";
5832
+ const editMode = "_editMode_14ti8_246";
5833
+ const editModeBody = "_editModeBody_14ti8_255";
5834
+ const editModeFooter = "_editModeFooter_14ti8_262";
5835
+ const editModeFooterInfotip = "_editModeFooterInfotip_14ti8_272";
5836
+ const editModeActions = "_editModeActions_14ti8_278";
5837
+ const stretchVertically = "_stretchVertically_14ti8_285";
5838
+ const uiBlocker = "_uiBlocker_14ti8_289";
5839
+ const hintCallout = "_hintCallout_14ti8_294";
5840
+ const schema = "_schema_14ti8_300";
5841
+ const relatedExecutionInfo = "_relatedExecutionInfo_14ti8_304";
5737
5842
  const style0$t = {
5738
5843
  infoIcon,
5739
5844
  center,
@@ -5741,7 +5846,7 @@ const style0$t = {
5741
5846
  pinnedDataCallout,
5742
5847
  header: header$1,
5743
5848
  dataContainer,
5744
- "actions-group": "_actions-group_1aumk_56",
5849
+ "actions-group": "_actions-group_14ti8_56",
5745
5850
  dataDisplay,
5746
5851
  inlineError,
5747
5852
  outputs,
@@ -5751,8 +5856,9 @@ const style0$t = {
5751
5856
  muted,
5752
5857
  inputSelect,
5753
5858
  runSelector,
5754
- search,
5755
5859
  runSelectorInner,
5860
+ runSelectorSelect,
5861
+ search,
5756
5862
  pagination,
5757
5863
  pageSizeSelector,
5758
5864
  binaryIndex,
@@ -5772,12 +5878,13 @@ const style0$t = {
5772
5878
  stretchVertically,
5773
5879
  uiBlocker,
5774
5880
  hintCallout,
5775
- schema
5881
+ schema,
5882
+ relatedExecutionInfo
5776
5883
  };
5777
5884
  const cssModules$v = {
5778
5885
  "$style": style0$t
5779
5886
  };
5780
- const RunData = /* @__PURE__ */ _export_sfc$1(_sfc_main$O, [["__cssModules", cssModules$v], ["__scopeId", "data-v-84cc7ce0"]]);
5887
+ const RunData = /* @__PURE__ */ _export_sfc$1(_sfc_main$O, [["__cssModules", cssModules$v], ["__scopeId", "data-v-b586b758"]]);
5781
5888
  const _sfc_main$N = /* @__PURE__ */ defineComponent({
5782
5889
  __name: "RunInfo",
5783
5890
  props: {
@@ -6024,6 +6131,26 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
6024
6131
  const canPinData = computed(() => {
6025
6132
  return pinnedData2.isValidNodeType.value && !props.isReadOnly;
6026
6133
  });
6134
+ const allToolsWereUnusedNotice = computed(() => {
6135
+ if (!node2.value || runsCount.value === 0) return void 0;
6136
+ if (pinnedData2.hasData.value) return void 0;
6137
+ const toolsAvailable = props.workflow.getParentNodes(
6138
+ node2.value.name,
6139
+ NodeConnectionType.AiTool,
6140
+ 1
6141
+ );
6142
+ const toolsUsedInLatestRun = toolsAvailable.filter(
6143
+ (tool) => {
6144
+ var _a, _b;
6145
+ return !!((_b = (_a = workflowRunData.value) == null ? void 0 : _a[tool]) == null ? void 0 : _b[props.runIndex]);
6146
+ }
6147
+ );
6148
+ if (toolsAvailable.length > 0 && toolsUsedInLatestRun.length === 0) {
6149
+ return i18n2.baseText("ndv.output.noToolUsedInfo");
6150
+ } else {
6151
+ return void 0;
6152
+ }
6153
+ });
6027
6154
  const insertTestData = () => {
6028
6155
  var _a;
6029
6156
  if (!runDataRef.value) return;
@@ -6097,6 +6224,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
6097
6224
  "hide-pagination": outputMode.value === "logs",
6098
6225
  "pane-type": "output",
6099
6226
  "data-output-type": outputMode.value,
6227
+ "callout-message": allToolsWereUnusedNotice.value,
6100
6228
  onActivatePane: activatePane,
6101
6229
  onRunChange: onRunIndexChange,
6102
6230
  onLinkRun,
@@ -6185,7 +6313,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
6185
6313
  _: 1
6186
6314
  }),
6187
6315
  withDirectives(createVNode(unref(N8nText), null, null, 512), [
6188
- [_directive_n8n_html, unref(waitingNodeTooltip)()]
6316
+ [_directive_n8n_html, unref(waitingNodeTooltip)(node2.value)]
6189
6317
  ])
6190
6318
  ]),
6191
6319
  "no-output-data": withCtx(() => [
@@ -6251,7 +6379,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
6251
6379
  ]),
6252
6380
  key: "1"
6253
6381
  } : void 0
6254
- ]), 1032, ["node", "workflow", "run-index", "linked-runs", "can-link-runs", "too-much-data-title", "no-data-in-branch-message", "is-executing", "executing-message", "push-ref", "block-u-i", "is-production-execution-preview", "is-pane-active", "hide-pagination", "data-output-type"]);
6382
+ ]), 1032, ["node", "workflow", "run-index", "linked-runs", "can-link-runs", "too-much-data-title", "no-data-in-branch-message", "is-executing", "executing-message", "push-ref", "block-u-i", "is-production-execution-preview", "is-pane-active", "hide-pagination", "data-output-type", "callout-message"]);
6255
6383
  };
6256
6384
  }
6257
6385
  });
@@ -6571,7 +6699,10 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6571
6699
  if (!activeNode.value) return null;
6572
6700
  return nodeTypesStore.getNodeType(activeNode.value.type, activeNode.value.typeVersion);
6573
6701
  });
6574
- const waitingMessage = computed(() => waitingNodeTooltip());
6702
+ const waitingMessage = computed(() => {
6703
+ const parentNode = parentNodes.value[0];
6704
+ return parentNode && waitingNodeTooltip(workflowsStore.getNodeByName(parentNode.name));
6705
+ });
6575
6706
  watch(
6576
6707
  inputMode,
6577
6708
  (mode) => {
@@ -6673,10 +6804,10 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6673
6804
  "run-index": isMappingMode.value ? 0 : _ctx.runIndex,
6674
6805
  "linked-runs": _ctx.linkedRuns,
6675
6806
  "can-link-runs": !mappedNode2.value && _ctx.canLinkRuns,
6676
- "too-much-data-title": _ctx.$locale.baseText("ndv.input.tooMuchData.title"),
6677
- "no-data-in-branch-message": _ctx.$locale.baseText("ndv.input.noOutputDataInBranch"),
6807
+ "too-much-data-title": unref(i18n2).baseText("ndv.input.tooMuchData.title"),
6808
+ "no-data-in-branch-message": unref(i18n2).baseText("ndv.input.noOutputDataInBranch"),
6678
6809
  "is-executing": isExecutingPrevious.value,
6679
- "executing-message": _ctx.$locale.baseText("ndv.input.executingPrevious"),
6810
+ "executing-message": unref(i18n2).baseText("ndv.input.executingPrevious"),
6680
6811
  "push-ref": _ctx.pushRef,
6681
6812
  "override-outputs": connectedCurrentNodeOutputs.value,
6682
6813
  "mapping-enabled": isMappingEnabled.value,
@@ -6699,7 +6830,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6699
6830
  }, [
6700
6831
  createBaseVNode("span", {
6701
6832
  class: normalizeClass(_ctx.$style.title)
6702
- }, toDisplayString(_ctx.$locale.baseText("ndv.input")), 3),
6833
+ }, toDisplayString(unref(i18n2).baseText("ndv.input")), 3),
6703
6834
  isActiveNodeConfig.value && !_ctx.readOnly ? (openBlock(), createBlock(unref(N8nRadioButtons), {
6704
6835
  key: 0,
6705
6836
  "data-test-id": "input-panel-mode",
@@ -6730,7 +6861,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6730
6861
  size: "large"
6731
6862
  }, {
6732
6863
  default: withCtx(() => [
6733
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.input.noOutputData.title")), 1)
6864
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.noOutputData.title")), 1)
6734
6865
  ]),
6735
6866
  _: 1
6736
6867
  }),
@@ -6742,7 +6873,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6742
6873
  withDirectives(createBaseVNode("div", null, null, 512), [
6743
6874
  [
6744
6875
  _directive_n8n_html,
6745
- _ctx.$locale.baseText("dataMapping.dragFromPreviousHint", {
6876
+ unref(i18n2).baseText("dataMapping.dragFromPreviousHint", {
6746
6877
  interpolate: { name: unref(focusedMappableInput) }
6747
6878
  })
6748
6879
  ]
@@ -6754,7 +6885,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6754
6885
  "hide-icon": "",
6755
6886
  transparent: true,
6756
6887
  "node-name": (isActiveNodeConfig.value ? rootNode.value : _ctx.currentNodeName) ?? "",
6757
- label: _ctx.$locale.baseText("ndv.input.noOutputData.executePrevious"),
6888
+ label: unref(i18n2).baseText("ndv.input.noOutputData.executePrevious"),
6758
6889
  "telemetry-source": "inputs",
6759
6890
  "data-test-id": "execute-previous-node",
6760
6891
  onExecute: onNodeExecute
@@ -6768,7 +6899,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6768
6899
  size: "small"
6769
6900
  }, {
6770
6901
  default: withCtx(() => [
6771
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.input.noOutputData.hint")), 1)
6902
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.noOutputData.hint")), 1)
6772
6903
  ]),
6773
6904
  _: 1
6774
6905
  })) : createCommentVNode("", true)
@@ -6786,18 +6917,18 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6786
6917
  size: "large"
6787
6918
  }, {
6788
6919
  default: withCtx(() => [
6789
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.input.notConnected.title")), 1)
6920
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.notConnected.title")), 1)
6790
6921
  ]),
6791
6922
  _: 1
6792
6923
  }),
6793
6924
  createVNode(unref(N8nText), { tag: "div" }, {
6794
6925
  default: withCtx(() => [
6795
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.input.notConnected.message")) + " ", 1),
6926
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.notConnected.message")) + " ", 1),
6796
6927
  createBaseVNode("a", {
6797
6928
  href: "https://docs.n8n.io/workflows/connections/",
6798
6929
  target: "_blank",
6799
6930
  onClick: onConnectionHelpClick
6800
- }, toDisplayString(_ctx.$locale.baseText("ndv.input.notConnected.learnMore")), 1)
6931
+ }, toDisplayString(unref(i18n2).baseText("ndv.input.notConnected.learnMore")), 1)
6801
6932
  ]),
6802
6933
  _: 1
6803
6934
  })
@@ -6826,7 +6957,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6826
6957
  size: "large"
6827
6958
  }, {
6828
6959
  default: withCtx(() => [
6829
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.input.noOutputData")), 1)
6960
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.noOutputData")), 1)
6830
6961
  ]),
6831
6962
  _: 1
6832
6963
  })
@@ -6842,13 +6973,13 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
6842
6973
  size: "large"
6843
6974
  }, {
6844
6975
  default: withCtx(() => [
6845
- createTextVNode(toDisplayString(_ctx.$locale.baseText("executionDetails.executionFailed.recoveredNodeTitle")), 1)
6976
+ createTextVNode(toDisplayString(unref(i18n2).baseText("executionDetails.executionFailed.recoveredNodeTitle")), 1)
6846
6977
  ]),
6847
6978
  _: 1
6848
6979
  }),
6849
6980
  createVNode(unref(N8nText), null, {
6850
6981
  default: withCtx(() => [
6851
- createTextVNode(toDisplayString(_ctx.$locale.baseText("executionDetails.executionFailed.recoveredNodeMessage")), 1)
6982
+ createTextVNode(toDisplayString(unref(i18n2).baseText("executionDetails.executionFailed.recoveredNodeMessage")), 1)
6852
6983
  ]),
6853
6984
  _: 1
6854
6985
  })
@@ -7923,7 +8054,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
7923
8054
  content: withCtx(() => [
7924
8055
  createBaseVNode("div", {
7925
8056
  class: normalizeClass(_ctx.$style.triggerWarning)
7926
- }, toDisplayString(_ctx.$locale.baseText("ndv.backToCanvas.waitingForTriggerWarning")), 3)
8057
+ }, toDisplayString(unref(i18n2).baseText("ndv.backToCanvas.waitingForTriggerWarning")), 3)
7927
8058
  ]),
7928
8059
  default: withCtx(() => [
7929
8060
  createBaseVNode("div", {
@@ -7942,7 +8073,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
7942
8073
  bold: true
7943
8074
  }, {
7944
8075
  default: withCtx(() => [
7945
- createTextVNode(toDisplayString(_ctx.$locale.baseText("ndv.backToCanvas")), 1)
8076
+ createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.backToCanvas")), 1)
7946
8077
  ]),
7947
8078
  _: 1
7948
8079
  })
@@ -8024,7 +8155,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
8024
8155
  onClick: onFeatureRequestClick
8025
8156
  }, [
8026
8157
  createVNode(_component_font_awesome_icon, { icon: "lightbulb" }),
8027
- createTextVNode(" " + toDisplayString(_ctx.$locale.baseText("ndv.featureRequest")), 1)
8158
+ createTextVNode(" " + toDisplayString(unref(i18n2).baseText("ndv.featureRequest")), 1)
8028
8159
  ], 2)) : createCommentVNode("", true)
8029
8160
  ]),
8030
8161
  _: 2
@@ -8611,6 +8742,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
8611
8742
  const uiStore = useUIStore();
8612
8743
  const workflowsStore = useWorkflowsStore();
8613
8744
  const { APP_Z_INDEXES } = useStyles();
8745
+ const i18n2 = useI18n();
8614
8746
  const isResizing = ref(false);
8615
8747
  const isTouchActive = ref(false);
8616
8748
  const forceActions = ref(false);
@@ -8868,7 +9000,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
8868
9000
  withDirectives((openBlock(), createElementBlock("div", {
8869
9001
  class: "option",
8870
9002
  "data-test-id": "delete-sticky",
8871
- title: _ctx.$locale.baseText("node.delete")
9003
+ title: unref(i18n2).baseText("node.delete")
8872
9004
  }, [
8873
9005
  createVNode(_component_font_awesome_icon, { icon: "trash" })
8874
9006
  ], 8, _hoisted_3$8)), [
@@ -8887,7 +9019,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
8887
9019
  createBaseVNode("div", {
8888
9020
  class: "option",
8889
9021
  "data-test-id": "change-sticky-color",
8890
- title: _ctx.$locale.baseText("node.changeColor"),
9022
+ title: unref(i18n2).baseText("node.changeColor"),
8891
9023
  onClick: _cache[1] || (_cache[1] = () => setColorPopoverVisible(!isColorPopoverVisible.value))
8892
9024
  }, [
8893
9025
  createVNode(_component_font_awesome_icon, { icon: "palette" })
@@ -8923,7 +9055,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
8923
9055
  };
8924
9056
  }
8925
9057
  });
8926
- const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$G, [["__scopeId", "data-v-53c456a5"]]);
9058
+ const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$G, [["__scopeId", "data-v-19235803"]]);
8927
9059
  const _hoisted_1$h = ["id", "data-name", "data-node-type"];
8928
9060
  const _hoisted_2$a = { class: "select-background" };
8929
9061
  const _hoisted_3$7 = {
@@ -11411,6 +11543,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
11411
11543
  position: {}
11412
11544
  },
11413
11545
  setup(__props) {
11546
+ const i18n2 = useI18n();
11414
11547
  const props = __props;
11415
11548
  const nodeCreatorStore = useNodeCreatorStore();
11416
11549
  const containerCssVars = computed(() => ({
@@ -11434,7 +11567,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
11434
11567
  "show-after": 700
11435
11568
  }, {
11436
11569
  content: withCtx(() => [
11437
- createTextVNode(toDisplayString(_ctx.$locale.baseText("nodeView.canvasAddButton.addATriggerNodeBeforeExecuting")), 1)
11570
+ createTextVNode(toDisplayString(unref(i18n2).baseText("nodeView.canvasAddButton.addATriggerNodeBeforeExecuting")), 1)
11438
11571
  ]),
11439
11572
  default: withCtx(() => [
11440
11573
  createBaseVNode("button", {
@@ -11452,7 +11585,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
11452
11585
  }, 8, ["visible", "disabled", "popper-class"]),
11453
11586
  createBaseVNode("p", {
11454
11587
  class: normalizeClass(_ctx.$style.label),
11455
- textContent: toDisplayString(_ctx.$locale.baseText("nodeView.canvasAddButton.addFirstStep"))
11588
+ textContent: toDisplayString(unref(i18n2).baseText("nodeView.canvasAddButton.addFirstStep"))
11456
11589
  }, null, 10, _hoisted_1$g)
11457
11590
  ], 6);
11458
11591
  };
@@ -11552,13 +11685,13 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
11552
11685
  }
11553
11686
  });
11554
11687
  const LazyNodeCreation = defineAsyncComponent(
11555
- async () => await __vitePreload(() => import("./NodeCreation-CDpNw3BL.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
11688
+ async () => await __vitePreload(() => import("./NodeCreation-DT2fJ_vL.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
11556
11689
  );
11557
11690
  const LazyCanvasControls = defineAsyncComponent(
11558
- async () => await __vitePreload(() => import("./CanvasControls-raoYims4.js"), true ? __vite__mapDeps([19,1,2,20]) : void 0)
11691
+ async () => await __vitePreload(() => import("./CanvasControls-B0XKV7Yl.js"), true ? __vite__mapDeps([19,1,2,20]) : void 0)
11559
11692
  );
11560
11693
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
11561
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-DKr9ZPLE.js"), true ? __vite__mapDeps([21,1,2]) : void 0)
11694
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-BVwfvnTr.js"), true ? __vite__mapDeps([21,1,2]) : void 0)
11562
11695
  );
11563
11696
  const _sfc_main$C = defineComponent({
11564
11697
  name: "NodeView",
@@ -11581,7 +11714,7 @@ const _sfc_main$C = defineComponent({
11581
11714
  const route = useRoute();
11582
11715
  const ndvStore = useNDVStore();
11583
11716
  const externalHooks = useExternalHooks();
11584
- const locale = useI18n();
11717
+ const i18n2 = useI18n();
11585
11718
  const contextMenu2 = useContextMenu();
11586
11719
  const dataSchema = useDataSchema();
11587
11720
  const nodeHelpers = useNodeHelpers();
@@ -11592,14 +11725,14 @@ const _sfc_main$C = defineComponent({
11592
11725
  const { callDebounced } = useDebounce();
11593
11726
  const canvasPanning = useCanvasPanning(nodeViewRootRef, { onMouseMoveEnd });
11594
11727
  const workflowHelpers = useWorkflowHelpers({ router });
11595
- const { runWorkflow, stopCurrentExecution, runWorkflowResolvePending } = useRunWorkflow({
11728
+ const { runWorkflow, stopCurrentExecution } = useRunWorkflow({
11596
11729
  router
11597
11730
  });
11598
11731
  const { addBeforeUnloadEventBindings, removeBeforeUnloadEventBindings } = useBeforeUnload({
11599
11732
  route
11600
11733
  });
11601
11734
  return {
11602
- locale,
11735
+ i18n: i18n2,
11603
11736
  contextMenu: contextMenu2,
11604
11737
  dataSchema,
11605
11738
  nodeHelpers,
@@ -11613,7 +11746,6 @@ const _sfc_main$C = defineComponent({
11613
11746
  onMouseMoveEnd,
11614
11747
  workflowHelpers,
11615
11748
  runWorkflow,
11616
- runWorkflowResolvePending,
11617
11749
  stopCurrentExecution,
11618
11750
  callDebounced,
11619
11751
  ...useCanvasMouseSelect(),
@@ -11719,12 +11851,12 @@ const _sfc_main$C = defineComponent({
11719
11851
  },
11720
11852
  runButtonText() {
11721
11853
  if (!this.workflowRunning) {
11722
- return this.$locale.baseText("nodeView.runButtonText.executeWorkflow");
11854
+ return this.i18n.baseText("nodeView.runButtonText.executeWorkflow");
11723
11855
  }
11724
11856
  if (this.executionWaitingForWebhook) {
11725
- return this.$locale.baseText("nodeView.runButtonText.waitingForTriggerEvent");
11857
+ return this.i18n.baseText("nodeView.runButtonText.waitingForTriggerEvent");
11726
11858
  }
11727
- return this.$locale.baseText("nodeView.runButtonText.executingWorkflow");
11859
+ return this.i18n.baseText("nodeView.runButtonText.executingWorkflow");
11728
11860
  },
11729
11861
  workflowStyle() {
11730
11862
  const offsetPosition = this.uiStore.nodeViewOffsetPosition;
@@ -11911,8 +12043,8 @@ const _sfc_main$C = defineComponent({
11911
12043
  if (!this.nodeViewRef) {
11912
12044
  this.showError(
11913
12045
  new Error("NodeView reference not found"),
11914
- this.$locale.baseText("nodeView.showError.mounted1.title"),
11915
- this.$locale.baseText("nodeView.showError.mounted1.message") + ":"
12046
+ this.i18n.baseText("nodeView.showError.mounted1.title"),
12047
+ this.i18n.baseText("nodeView.showError.mounted1.message") + ":"
11916
12048
  );
11917
12049
  return;
11918
12050
  }
@@ -11940,8 +12072,8 @@ const _sfc_main$C = defineComponent({
11940
12072
  } catch (error2) {
11941
12073
  this.showError(
11942
12074
  error2,
11943
- this.$locale.baseText("nodeView.showError.mounted1.title"),
11944
- this.$locale.baseText("nodeView.showError.mounted1.message") + ":"
12075
+ this.i18n.baseText("nodeView.showError.mounted1.title"),
12076
+ this.i18n.baseText("nodeView.showError.mounted1.message") + ":"
11945
12077
  );
11946
12078
  return;
11947
12079
  }
@@ -11961,8 +12093,8 @@ const _sfc_main$C = defineComponent({
11961
12093
  } catch (error2) {
11962
12094
  this.showError(
11963
12095
  error2,
11964
- this.$locale.baseText("nodeView.showError.mounted2.title"),
11965
- this.$locale.baseText("nodeView.showError.mounted2.message") + ":"
12096
+ this.i18n.baseText("nodeView.showError.mounted2.title"),
12097
+ this.i18n.baseText("nodeView.showError.mounted2.message") + ":"
11966
12098
  );
11967
12099
  }
11968
12100
  this.canvasStore.stopLoading();
@@ -12105,10 +12237,10 @@ const _sfc_main$C = defineComponent({
12105
12237
  }
12106
12238
  if (this.isReadOnlyRoute || this.readOnlyEnv) {
12107
12239
  this.readOnlyNotification = this.showMessage({
12108
- title: this.$locale.baseText(
12240
+ title: this.i18n.baseText(
12109
12241
  this.readOnlyEnv ? `readOnlyEnv.showMessage.${this.isReadOnlyRoute ? "executions" : "workflows"}.title` : "readOnly.showMessage.executions.title"
12110
12242
  ),
12111
- message: this.$locale.baseText(
12243
+ message: this.i18n.baseText(
12112
12244
  this.readOnlyEnv ? `readOnlyEnv.showMessage.${this.isReadOnlyRoute ? "executions" : "workflows"}.message` : "readOnly.showMessage.executions.message"
12113
12245
  ),
12114
12246
  type: "info",
@@ -12134,11 +12266,7 @@ const _sfc_main$C = defineComponent({
12134
12266
  };
12135
12267
  this.$telemetry.track("User clicked execute node button", telemetryPayload);
12136
12268
  void this.externalHooks.run("nodeView.onRunNode", telemetryPayload);
12137
- if (!this.isExecutionPreview && this.workflowsStore.isWaitingExecution) {
12138
- void this.runWorkflowResolvePending({ destinationNode: nodeName, source });
12139
- } else {
12140
- void this.runWorkflow({ destinationNode: nodeName, source });
12141
- }
12269
+ void this.runWorkflow({ destinationNode: nodeName, source });
12142
12270
  },
12143
12271
  async onOpenChat() {
12144
12272
  const telemetryPayload = {
@@ -12163,11 +12291,7 @@ const _sfc_main$C = defineComponent({
12163
12291
  this.$telemetry.track("User clicked execute workflow button", telemetryPayload);
12164
12292
  void this.externalHooks.run("nodeView.onRunWorkflow", telemetryPayload);
12165
12293
  });
12166
- if (!this.isExecutionPreview && this.workflowsStore.isWaitingExecution) {
12167
- void this.runWorkflowResolvePending({});
12168
- } else {
12169
- void this.runWorkflow({});
12170
- }
12294
+ void this.runWorkflow({});
12171
12295
  this.refreshEndpointsErrorsState();
12172
12296
  },
12173
12297
  resetEndpointsErrors() {
@@ -12203,10 +12327,10 @@ const _sfc_main$C = defineComponent({
12203
12327
  },
12204
12328
  onRunContainerClick() {
12205
12329
  if (this.containsTrigger && !this.allTriggersDisabled) return;
12206
- const message = this.containsTrigger && this.allTriggersDisabled ? this.$locale.baseText("nodeView.addOrEnableTriggerNode") : this.$locale.baseText("nodeView.addATriggerNodeFirst");
12330
+ const message = this.containsTrigger && this.allTriggersDisabled ? this.i18n.baseText("nodeView.addOrEnableTriggerNode") : this.i18n.baseText("nodeView.addATriggerNodeFirst");
12207
12331
  const notice = this.showMessage({
12208
12332
  type: "info",
12209
- title: this.$locale.baseText("nodeView.cantExecuteNoTrigger"),
12333
+ title: this.i18n.baseText("nodeView.cantExecuteNoTrigger"),
12210
12334
  message,
12211
12335
  duration: 3e3,
12212
12336
  onClick: () => setTimeout(() => {
@@ -12238,7 +12362,7 @@ const _sfc_main$C = defineComponent({
12238
12362
  }
12239
12363
  if (saved) {
12240
12364
  this.showMessage({
12241
- title: this.$locale.baseText("generic.workflowSaved"),
12365
+ title: this.i18n.baseText("generic.workflowSaved"),
12242
12366
  type: "success"
12243
12367
  });
12244
12368
  }
@@ -12266,7 +12390,7 @@ const _sfc_main$C = defineComponent({
12266
12390
  try {
12267
12391
  data = await this.workflowsStore.getExecution(executionId);
12268
12392
  } catch (error2) {
12269
- this.showError(error2, this.$locale.baseText("nodeView.showError.openExecution.title"));
12393
+ this.showError(error2, this.i18n.baseText("nodeView.showError.openExecution.title"));
12270
12394
  return;
12271
12395
  }
12272
12396
  if (data === void 0) {
@@ -12324,7 +12448,7 @@ const _sfc_main$C = defineComponent({
12324
12448
  console.error(`Execution ${executionId} error:`);
12325
12449
  console.error(data.data.resultData.error.stack);
12326
12450
  this.showMessage({
12327
- title: this.$locale.baseText("nodeView.showError.workflowError"),
12451
+ title: this.i18n.baseText("nodeView.showError.workflowError"),
12328
12452
  message: data.data.resultData.error.message,
12329
12453
  type: "error",
12330
12454
  duration: 0
@@ -12333,7 +12457,7 @@ const _sfc_main$C = defineComponent({
12333
12457
  }
12334
12458
  if (data.waitTill) {
12335
12459
  this.showMessage({
12336
- title: this.$locale.baseText("nodeView.thisExecutionHasntFinishedYet"),
12460
+ title: this.i18n.baseText("nodeView.thisExecutionHasntFinishedYet"),
12337
12461
  message: h(_sfc_main$D),
12338
12462
  type: "warning",
12339
12463
  duration: 0
@@ -12356,7 +12480,7 @@ const _sfc_main$C = defineComponent({
12356
12480
  },
12357
12481
  async openWorkflowTemplate(templateId) {
12358
12482
  this.canvasStore.startLoading();
12359
- this.canvasStore.setLoadingText(this.$locale.baseText("nodeView.loadingTemplate"));
12483
+ this.canvasStore.setLoadingText(this.i18n.baseText("nodeView.loadingTemplate"));
12360
12484
  this.resetWorkspace();
12361
12485
  this.workflowsStore.currentWorkflowExecutions = [];
12362
12486
  this.executionsStore.activeExecution = null;
@@ -12366,13 +12490,13 @@ const _sfc_main$C = defineComponent({
12366
12490
  data = await this.templatesStore.getFixedWorkflowTemplate(templateId);
12367
12491
  if (!data) {
12368
12492
  throw new Error(
12369
- this.$locale.baseText("nodeView.workflowTemplateWithIdCouldNotBeFound", {
12493
+ this.i18n.baseText("nodeView.workflowTemplateWithIdCouldNotBeFound", {
12370
12494
  interpolate: { templateId }
12371
12495
  })
12372
12496
  );
12373
12497
  }
12374
12498
  } catch (error2) {
12375
- this.showError(error2, this.$locale.baseText("nodeView.couldntImportWorkflow"));
12499
+ this.showError(error2, this.i18n.baseText("nodeView.couldntImportWorkflow"));
12376
12500
  await this.$router.replace({ name: VIEWS.NEW_WORKFLOW });
12377
12501
  return;
12378
12502
  }
@@ -12566,7 +12690,7 @@ const _sfc_main$C = defineComponent({
12566
12690
  void this.$router.push({ name: VIEWS.NEW_WORKFLOW });
12567
12691
  }
12568
12692
  this.showMessage({
12569
- title: this.$locale.baseText("nodeView.showMessage.keyDown.title"),
12693
+ title: this.i18n.baseText("nodeView.showMessage.keyDown.title"),
12570
12694
  type: "success"
12571
12695
  });
12572
12696
  } else if (e.key === "Enter" && noModifierKeys) {
@@ -12811,7 +12935,7 @@ const _sfc_main$C = defineComponent({
12811
12935
  if (data.nodes.length > 0) {
12812
12936
  if (!isCut) {
12813
12937
  this.showMessage({
12814
- title: this.$locale.baseText("generic.copiedToClipboard"),
12938
+ title: this.i18n.baseText("generic.copiedToClipboard"),
12815
12939
  message: "",
12816
12940
  type: "success"
12817
12941
  });
@@ -12834,18 +12958,12 @@ const _sfc_main$C = defineComponent({
12834
12958
  } catch (error2) {
12835
12959
  const execution = await this.workflowsStore.getExecution(executionId);
12836
12960
  if (execution === void 0) {
12837
- this.workflowsStore.finishActiveExecution({
12838
- executionId,
12839
- data: { finished: true, stoppedAt: /* @__PURE__ */ new Date() }
12840
- });
12841
12961
  this.workflowsStore.executingNode.length = 0;
12842
12962
  this.uiStore.removeActiveAction("workflowRunning");
12843
12963
  this.workflowHelpers.setDocumentTitle(this.workflowsStore.workflowName, "IDLE");
12844
12964
  this.showMessage({
12845
- title: this.$locale.baseText("nodeView.showMessage.stopExecutionCatch.unsaved.title"),
12846
- message: this.$locale.baseText(
12847
- "nodeView.showMessage.stopExecutionCatch.unsaved.message"
12848
- ),
12965
+ title: this.i18n.baseText("nodeView.showMessage.stopExecutionCatch.unsaved.title"),
12966
+ message: this.i18n.baseText("nodeView.showMessage.stopExecutionCatch.unsaved.message"),
12849
12967
  type: "success"
12850
12968
  });
12851
12969
  } else if (execution == null ? void 0 : execution.finished) {
@@ -12856,24 +12974,20 @@ const _sfc_main$C = defineComponent({
12856
12974
  startedAt: execution.startedAt,
12857
12975
  stoppedAt: execution.stoppedAt
12858
12976
  };
12859
- const pushData = {
12860
- data: executedData,
12861
- executionId,
12862
- retryOf: execution.retryOf
12863
- };
12864
- this.workflowsStore.finishActiveExecution(pushData);
12865
12977
  this.workflowHelpers.setDocumentTitle(execution.workflowData.name, "IDLE");
12866
12978
  this.workflowsStore.executingNode.length = 0;
12867
12979
  this.workflowsStore.setWorkflowExecutionData(executedData);
12868
12980
  this.uiStore.removeActiveAction("workflowRunning");
12869
12981
  this.showMessage({
12870
- title: this.$locale.baseText("nodeView.showMessage.stopExecutionCatch.title"),
12871
- message: this.$locale.baseText("nodeView.showMessage.stopExecutionCatch.message"),
12982
+ title: this.i18n.baseText("nodeView.showMessage.stopExecutionCatch.title"),
12983
+ message: this.i18n.baseText("nodeView.showMessage.stopExecutionCatch.message"),
12872
12984
  type: "success"
12873
12985
  });
12874
12986
  } else {
12875
- this.showError(error2, this.$locale.baseText("nodeView.showError.stopExecution.title"));
12987
+ this.showError(error2, this.i18n.baseText("nodeView.showError.stopExecution.title"));
12876
12988
  }
12989
+ } finally {
12990
+ this.workflowsStore.markExecutionAsStopped();
12877
12991
  }
12878
12992
  this.stopExecutionInProgress = false;
12879
12993
  void this.workflowHelpers.getWorkflowDataToSave().then((workflowData) => {
@@ -12894,10 +13008,7 @@ const _sfc_main$C = defineComponent({
12894
13008
  try {
12895
13009
  await this.workflowsStore.removeTestWebhook(this.workflowsStore.workflowId);
12896
13010
  } catch (error2) {
12897
- this.showError(
12898
- error2,
12899
- this.$locale.baseText("nodeView.showError.stopWaitingForWebhook.title")
12900
- );
13011
+ this.showError(error2, this.i18n.baseText("nodeView.showError.stopWaitingForWebhook.title"));
12901
13012
  return;
12902
13013
  }
12903
13014
  },
@@ -12919,16 +13030,16 @@ const _sfc_main$C = defineComponent({
12919
13030
  return;
12920
13031
  }
12921
13032
  const importConfirm = await this.confirm(
12922
- this.$locale.baseText("nodeView.confirmMessage.onClipboardPasteEvent.message", {
13033
+ this.i18n.baseText("nodeView.confirmMessage.onClipboardPasteEvent.message", {
12923
13034
  interpolate: { plainTextData }
12924
13035
  }),
12925
- this.$locale.baseText("nodeView.confirmMessage.onClipboardPasteEvent.headline"),
13036
+ this.i18n.baseText("nodeView.confirmMessage.onClipboardPasteEvent.headline"),
12926
13037
  {
12927
13038
  type: "warning",
12928
- confirmButtonText: this.$locale.baseText(
13039
+ confirmButtonText: this.i18n.baseText(
12929
13040
  "nodeView.confirmMessage.onClipboardPasteEvent.confirmButtonText"
12930
13041
  ),
12931
- cancelButtonText: this.$locale.baseText(
13042
+ cancelButtonText: this.i18n.baseText(
12932
13043
  "nodeView.confirmMessage.onClipboardPasteEvent.cancelButtonText"
12933
13044
  ),
12934
13045
  dangerouslyUseHTMLString: true
@@ -12968,7 +13079,7 @@ const _sfc_main$C = defineComponent({
12968
13079
  this.canvasStore.stopLoading();
12969
13080
  this.showError(
12970
13081
  error2,
12971
- this.$locale.baseText("nodeView.showError.getWorkflowDataFromUrl.title")
13082
+ this.i18n.baseText("nodeView.showError.getWorkflowDataFromUrl.title")
12972
13083
  );
12973
13084
  return;
12974
13085
  }
@@ -13082,7 +13193,7 @@ const _sfc_main$C = defineComponent({
13082
13193
  });
13083
13194
  }
13084
13195
  } catch (error2) {
13085
- this.showError(error2, this.$locale.baseText("nodeView.showError.importWorkflowData.title"));
13196
+ this.showError(error2, this.i18n.baseText("nodeView.showError.importWorkflowData.title"));
13086
13197
  }
13087
13198
  },
13088
13199
  removeUnknownCredentials(workflow) {
@@ -13143,8 +13254,8 @@ const _sfc_main$C = defineComponent({
13143
13254
  showMaxNodeTypeError(nodeTypeData) {
13144
13255
  const maxNodes = nodeTypeData.maxNodes;
13145
13256
  this.showMessage({
13146
- title: this.$locale.baseText("nodeView.showMessage.showMaxNodeTypeError.title"),
13147
- message: this.$locale.baseText("nodeView.showMessage.showMaxNodeTypeError.message", {
13257
+ title: this.i18n.baseText("nodeView.showMessage.showMaxNodeTypeError.title"),
13258
+ message: this.i18n.baseText("nodeView.showMessage.showMaxNodeTypeError.message", {
13148
13259
  adjustToNumber: maxNodes,
13149
13260
  interpolate: { nodeTypeDataDisplayName: nodeTypeData.displayName }
13150
13261
  }),
@@ -13225,8 +13336,8 @@ const _sfc_main$C = defineComponent({
13225
13336
  const nodeTypeData = this.nodeTypesStore.getNodeType(nodeTypeName);
13226
13337
  if (nodeTypeData === null) {
13227
13338
  this.showMessage({
13228
- title: this.$locale.baseText("nodeView.showMessage.addNodeButton.title"),
13229
- message: this.$locale.baseText("nodeView.showMessage.addNodeButton.message", {
13339
+ title: this.i18n.baseText("nodeView.showMessage.addNodeButton.title"),
13340
+ message: this.i18n.baseText("nodeView.showMessage.addNodeButton.message", {
13230
13341
  interpolate: { nodeTypeName }
13231
13342
  }),
13232
13343
  type: "error"
@@ -13349,7 +13460,7 @@ const _sfc_main$C = defineComponent({
13349
13460
  );
13350
13461
  newNodeData.position = getNewNodePosition(this.nodes, position2);
13351
13462
  }
13352
- const localizedName = this.locale.localizeNodeName(newNodeData.name, newNodeData.type);
13463
+ const localizedName = this.i18n.localizeNodeName(newNodeData.name, newNodeData.type);
13353
13464
  newNodeData.name = this.uniqueNodeName(localizedName);
13354
13465
  if ((_b = nodeTypeData.webhooks) == null ? void 0 : _b.length) {
13355
13466
  newNodeData.webhookId = v4();
@@ -13607,8 +13718,8 @@ const _sfc_main$C = defineComponent({
13607
13718
  if (!input.filter.nodes.includes(sourceNode.type)) {
13608
13719
  this.dropPrevented = true;
13609
13720
  this.showToast({
13610
- title: this.$locale.baseText("nodeView.showError.nodeNodeCompatible.title"),
13611
- message: this.$locale.baseText("nodeView.showError.nodeNodeCompatible.message", {
13721
+ title: this.i18n.baseText("nodeView.showError.nodeNodeCompatible.title"),
13722
+ message: this.i18n.baseText("nodeView.showError.nodeNodeCompatible.message", {
13612
13723
  interpolate: { sourceNodeName: sourceNode.name, targetNodeName: targetNode.name }
13613
13724
  }),
13614
13725
  type: "error",
@@ -14121,14 +14232,14 @@ const _sfc_main$C = defineComponent({
14121
14232
  } else {
14122
14233
  if (this.uiStore.stateIsDirty && !this.readOnlyEnv && !this.isReadOnlyRoute && (this.workflowPermissions.update ?? this.projectPermissions.workflow.update)) {
14123
14234
  const confirmModal = await this.confirm(
14124
- this.$locale.baseText("generic.unsavedWork.confirmMessage.message"),
14235
+ this.i18n.baseText("generic.unsavedWork.confirmMessage.message"),
14125
14236
  {
14126
- title: this.$locale.baseText("generic.unsavedWork.confirmMessage.headline"),
14237
+ title: this.i18n.baseText("generic.unsavedWork.confirmMessage.headline"),
14127
14238
  type: "warning",
14128
- confirmButtonText: this.$locale.baseText(
14239
+ confirmButtonText: this.i18n.baseText(
14129
14240
  "generic.unsavedWork.confirmMessage.confirmButtonText"
14130
14241
  ),
14131
- cancelButtonText: this.$locale.baseText(
14242
+ cancelButtonText: this.i18n.baseText(
14132
14243
  "generic.unsavedWork.confirmMessage.cancelButtonText"
14133
14244
  ),
14134
14245
  showClose: true
@@ -14150,7 +14261,7 @@ const _sfc_main$C = defineComponent({
14150
14261
  try {
14151
14262
  workflow = await this.workflowsStore.fetchWorkflow(workflowId);
14152
14263
  } catch (error2) {
14153
- this.showError(error2, this.$locale.baseText("openWorkflow.workflowNotFoundError"));
14264
+ this.showError(error2, this.i18n.baseText("openWorkflow.workflowNotFoundError"));
14154
14265
  void this.$router.push({
14155
14266
  name: VIEWS.NEW_WORKFLOW
14156
14267
  });
@@ -14395,17 +14506,17 @@ const _sfc_main$C = defineComponent({
14395
14506
  async renameNodePrompt(currentName) {
14396
14507
  try {
14397
14508
  const promptResponsePromise = this.prompt(
14398
- this.$locale.baseText("nodeView.prompt.newName") + ":",
14399
- this.$locale.baseText("nodeView.prompt.renameNode") + `: ${currentName}`,
14509
+ this.i18n.baseText("nodeView.prompt.newName") + ":",
14510
+ this.i18n.baseText("nodeView.prompt.renameNode") + `: ${currentName}`,
14400
14511
  {
14401
14512
  customClass: "rename-prompt",
14402
- confirmButtonText: this.$locale.baseText("nodeView.prompt.rename"),
14403
- cancelButtonText: this.$locale.baseText("nodeView.prompt.cancel"),
14404
- inputErrorMessage: this.$locale.baseText("nodeView.prompt.invalidName"),
14513
+ confirmButtonText: this.i18n.baseText("nodeView.prompt.rename"),
14514
+ cancelButtonText: this.i18n.baseText("nodeView.prompt.cancel"),
14515
+ inputErrorMessage: this.i18n.baseText("nodeView.prompt.invalidName"),
14405
14516
  inputValue: currentName,
14406
14517
  inputValidator: (value) => {
14407
14518
  if (!value.trim()) {
14408
- return this.$locale.baseText("nodeView.prompt.invalidName");
14519
+ return this.i18n.baseText("nodeView.prompt.invalidName");
14409
14520
  }
14410
14521
  return true;
14411
14522
  }
@@ -14478,7 +14589,7 @@ const _sfc_main$C = defineComponent({
14478
14589
  const nodeNameTable = {};
14479
14590
  const newNodeNames = [];
14480
14591
  if (!data.nodes) {
14481
- throw new Error(this.$locale.baseText("nodeView.noNodesGivenToAdd"));
14592
+ throw new Error(this.i18n.baseText("nodeView.noNodesGivenToAdd"));
14482
14593
  }
14483
14594
  const nodeTypesCount = this.workflowHelpers.getNodeTypesMaxCount();
14484
14595
  let oldName;
@@ -14497,7 +14608,7 @@ const _sfc_main$C = defineComponent({
14497
14608
  }
14498
14609
  }
14499
14610
  oldName = node2.name;
14500
- const localized = this.locale.localizeNodeName(node2.name, node2.type);
14611
+ const localized = this.i18n.localizeNodeName(node2.name, node2.type);
14501
14612
  newName = this.uniqueNodeName(localized, newNodeNames);
14502
14613
  newNodeNames.push(newName);
14503
14614
  nodeNameTable[oldName] = newName;
@@ -14542,8 +14653,8 @@ const _sfc_main$C = defineComponent({
14542
14653
  for (const nodeName of Object.keys(data.pinData)) {
14543
14654
  if (!pinDataSuccess) {
14544
14655
  this.showError(
14545
- new Error(this.$locale.baseText("ndv.pinData.error.tooLarge.description")),
14546
- this.$locale.baseText("ndv.pinData.error.tooLarge.title")
14656
+ new Error(this.i18n.baseText("ndv.pinData.error.tooLarge.description")),
14657
+ this.i18n.baseText("ndv.pinData.error.tooLarge.title")
14547
14658
  );
14548
14659
  continue;
14549
14660
  }
@@ -14701,13 +14812,13 @@ const _sfc_main$C = defineComponent({
14701
14812
  window.top.postMessage(
14702
14813
  JSON.stringify({
14703
14814
  command: "error",
14704
- message: this.$locale.baseText("openWorkflow.workflowImportError")
14815
+ message: this.i18n.baseText("openWorkflow.workflowImportError")
14705
14816
  }),
14706
14817
  "*"
14707
14818
  );
14708
14819
  }
14709
14820
  this.showMessage({
14710
- title: this.$locale.baseText("openWorkflow.workflowImportError"),
14821
+ title: this.i18n.baseText("openWorkflow.workflowImportError"),
14711
14822
  message: e.message,
14712
14823
  type: "error"
14713
14824
  });
@@ -14724,13 +14835,13 @@ const _sfc_main$C = defineComponent({
14724
14835
  window.top.postMessage(
14725
14836
  JSON.stringify({
14726
14837
  command: "error",
14727
- message: this.$locale.baseText("nodeView.showError.openExecution.title")
14838
+ message: this.i18n.baseText("nodeView.showError.openExecution.title")
14728
14839
  }),
14729
14840
  "*"
14730
14841
  );
14731
14842
  }
14732
14843
  this.showMessage({
14733
- title: this.$locale.baseText("nodeView.showError.openExecution.title"),
14844
+ title: this.i18n.baseText("nodeView.showError.openExecution.title"),
14734
14845
  message: e.message,
14735
14846
  type: "error"
14736
14847
  });
@@ -15077,7 +15188,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
15077
15188
  }, {
15078
15189
  "custom-tooltip": withCtx(() => [
15079
15190
  createBaseVNode("span", {
15080
- textContent: toDisplayString(_ctx.$locale.baseText("nodeView.canvasAddButton.addATriggerNodeBeforeExecuting"))
15191
+ textContent: toDisplayString(_ctx.i18n.baseText("nodeView.canvasAddButton.addATriggerNodeBeforeExecuting"))
15081
15192
  }, null, 8, _hoisted_1$e)
15082
15193
  ]),
15083
15194
  _: 2
@@ -15192,7 +15303,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
15192
15303
  size: "large",
15193
15304
  class: "stop-execution",
15194
15305
  type: "secondary",
15195
- title: _ctx.stopExecutionInProgress ? _ctx.$locale.baseText("nodeView.stoppingCurrentExecution") : _ctx.$locale.baseText("nodeView.stopCurrentExecution"),
15306
+ title: _ctx.stopExecutionInProgress ? _ctx.i18n.baseText("nodeView.stoppingCurrentExecution") : _ctx.i18n.baseText("nodeView.stopCurrentExecution"),
15196
15307
  loading: _ctx.stopExecutionInProgress,
15197
15308
  "data-test-id": "stop-execution-button",
15198
15309
  onClick: withModifiers(_ctx.stopExecution, ["stop"])
@@ -15202,14 +15313,14 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
15202
15313
  class: "stop-execution",
15203
15314
  icon: "stop",
15204
15315
  size: "large",
15205
- title: _ctx.$locale.baseText("nodeView.stopWaitingForWebhookCall"),
15316
+ title: _ctx.i18n.baseText("nodeView.stopWaitingForWebhookCall"),
15206
15317
  type: "secondary",
15207
15318
  "data-test-id": "stop-execution-waiting-for-webhook-button",
15208
15319
  onClick: withModifiers(_ctx.stopWaitingForWebhook, ["stop"])
15209
15320
  }, null, 8, ["title", "onClick"])) : createCommentVNode("", true),
15210
15321
  _ctx.workflowExecution && !_ctx.workflowRunning && !_ctx.allTriggersDisabled ? (openBlock(), createBlock(_component_n8n_icon_button, {
15211
15322
  key: 4,
15212
- title: _ctx.$locale.baseText("nodeView.deletesTheCurrentExecutionData"),
15323
+ title: _ctx.i18n.baseText("nodeView.deletesTheCurrentExecutionData"),
15213
15324
  icon: "trash",
15214
15325
  size: "large",
15215
15326
  "data-test-id": "clear-execution-data-button",
@@ -15222,7 +15333,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
15222
15333
  const cssModules$n = {
15223
15334
  "$style": style2
15224
15335
  };
15225
- const NodeViewV1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["render", _sfc_render$1], ["__cssModules", cssModules$n], ["__scopeId", "data-v-2fb4794b"]]);
15336
+ const NodeViewV1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["render", _sfc_render$1], ["__cssModules", cssModules$n], ["__scopeId", "data-v-d7d5a2c3"]]);
15226
15337
  const _sfc_main$B = /* @__PURE__ */ defineComponent({
15227
15338
  __name: "CanvasChatButton",
15228
15339
  props: {
@@ -24990,6 +25101,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
24990
25101
  const emit = __emit;
24991
25102
  const { getReportingURL } = useBugReporting();
24992
25103
  const telemetry = useTelemetry();
25104
+ const i18n2 = useI18n();
24993
25105
  const isResetZoomVisible = computed(() => props.zoom !== 1);
24994
25106
  function onResetZoom() {
24995
25107
  emit("reset-zoom");
@@ -25014,7 +25126,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25014
25126
  }, {
25015
25127
  default: withCtx(() => [
25016
25128
  createVNode(KeyboardShortcutTooltip, {
25017
- label: _ctx.$locale.baseText("nodeView.zoomToFit"),
25129
+ label: unref(i18n2).baseText("nodeView.zoomToFit"),
25018
25130
  shortcut: { keys: ["1"] }
25019
25131
  }, {
25020
25132
  default: withCtx(() => [
@@ -25029,7 +25141,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25029
25141
  _: 1
25030
25142
  }, 8, ["label"]),
25031
25143
  createVNode(KeyboardShortcutTooltip, {
25032
- label: _ctx.$locale.baseText("nodeView.zoomIn"),
25144
+ label: unref(i18n2).baseText("nodeView.zoomIn"),
25033
25145
  shortcut: { keys: ["+"] }
25034
25146
  }, {
25035
25147
  default: withCtx(() => [
@@ -25044,7 +25156,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25044
25156
  _: 1
25045
25157
  }, 8, ["label"]),
25046
25158
  createVNode(KeyboardShortcutTooltip, {
25047
- label: _ctx.$locale.baseText("nodeView.zoomOut"),
25159
+ label: unref(i18n2).baseText("nodeView.zoomOut"),
25048
25160
  shortcut: { keys: ["-"] }
25049
25161
  }, {
25050
25162
  default: withCtx(() => [
@@ -25060,7 +25172,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25060
25172
  }, 8, ["label"]),
25061
25173
  isResetZoomVisible.value ? (openBlock(), createBlock(KeyboardShortcutTooltip, {
25062
25174
  key: 0,
25063
- label: _ctx.$locale.baseText("nodeView.resetZoom"),
25175
+ label: unref(i18n2).baseText("nodeView.resetZoom"),
25064
25176
  shortcut: { keys: ["0"] }
25065
25177
  }, {
25066
25178
  default: withCtx(() => [
@@ -25076,7 +25188,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
25076
25188
  }, 8, ["label"])) : createCommentVNode("", true),
25077
25189
  props.showBugReportingButton ? (openBlock(), createBlock(KeyboardShortcutTooltip, {
25078
25190
  key: 1,
25079
- label: _ctx.$locale.baseText("nodeView.reportBug")
25191
+ label: unref(i18n2).baseText("nodeView.reportBug")
25080
25192
  }, {
25081
25193
  default: withCtx(() => [
25082
25194
  createBaseVNode("a", {
@@ -28668,6 +28780,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
28668
28780
  __name: "CanvasNodeStatusIcons",
28669
28781
  setup(__props) {
28670
28782
  const nodeHelpers = useNodeHelpers();
28783
+ const i18n2 = useI18n();
28671
28784
  const {
28672
28785
  hasPinnedData,
28673
28786
  issues: issues2,
@@ -28694,7 +28807,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
28694
28807
  }, {
28695
28808
  content: withCtx(() => [
28696
28809
  createVNode(TitledList, {
28697
- title: `${_ctx.$locale.baseText("node.issues")}:`,
28810
+ title: `${unref(i18n2).baseText("node.issues")}:`,
28698
28811
  items: unref(issues2)
28699
28812
  }, null, 8, ["title", "items"])
28700
28813
  ]),
@@ -28874,7 +28987,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
28874
28987
  }, {
28875
28988
  content: withCtx(() => [
28876
28989
  withDirectives(createBaseVNode("span", null, null, 512), [
28877
- [_directive_n8n_html, _ctx.$locale.baseText("node.thisIsATriggerNode")]
28990
+ [_directive_n8n_html, unref(i18n2).baseText("node.thisIsATriggerNode")]
28878
28991
  ])
28879
28992
  ]),
28880
28993
  default: withCtx(() => [
@@ -30443,6 +30556,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
30443
30556
  __name: "CanvasNodeAddNodes",
30444
30557
  setup(__props) {
30445
30558
  const nodeCreatorStore = useNodeCreatorStore();
30559
+ const i18n2 = useI18n();
30446
30560
  const isTooltipVisible = ref(false);
30447
30561
  onMounted(() => {
30448
30562
  nodeViewEventBus.on("runWorkflowButton:mouseenter", onShowTooltip);
@@ -30479,7 +30593,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
30479
30593
  "show-after": 700
30480
30594
  }, {
30481
30595
  content: withCtx(() => [
30482
- createTextVNode(toDisplayString(_ctx.$locale.baseText("nodeView.canvasAddButton.addATriggerNodeBeforeExecuting")), 1)
30596
+ createTextVNode(toDisplayString(unref(i18n2).baseText("nodeView.canvasAddButton.addATriggerNodeBeforeExecuting")), 1)
30483
30597
  ]),
30484
30598
  default: withCtx(() => [
30485
30599
  createBaseVNode("button", {
@@ -30497,7 +30611,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
30497
30611
  }, 8, ["visible", "disabled", "popper-class"]),
30498
30612
  createBaseVNode("p", {
30499
30613
  class: normalizeClass(_ctx.$style.label),
30500
- textContent: toDisplayString(_ctx.$locale.baseText("nodeView.canvasAddButton.addFirstStep"))
30614
+ textContent: toDisplayString(unref(i18n2).baseText("nodeView.canvasAddButton.addFirstStep"))
30501
30615
  }, null, 10, _hoisted_1$5)
30502
30616
  ], 2);
30503
30617
  };
@@ -31759,6 +31873,60 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
31759
31873
  }
31760
31874
  });
31761
31875
  const CanvasBackgroundStripedPattern = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__scopeId", "data-v-3476bfc9"]]);
31876
+ function useCanvasTraversal({ getIncomers: getIncomers2, getOutgoers: getOutgoers2 }) {
31877
+ function sortNodesByVerticalPosition(nodes) {
31878
+ return nodes.sort((a, b) => a.position.y - b.position.y);
31879
+ }
31880
+ function getIncomingNodes(id2) {
31881
+ return sortNodesByVerticalPosition(getIncomers2(id2));
31882
+ }
31883
+ function getOutgoingNodes(id2) {
31884
+ return sortNodesByVerticalPosition(getOutgoers2(id2));
31885
+ }
31886
+ function getSiblingNodes(id2) {
31887
+ const incomingSiblings = getIncomers2(id2).flatMap(
31888
+ (incomingNode) => getOutgoers2(incomingNode.id)
31889
+ );
31890
+ const outgoingSiblings = getOutgoers2(id2).flatMap(
31891
+ (outgoingNode) => getIncomers2(outgoingNode.id)
31892
+ );
31893
+ return sortNodesByVerticalPosition(
31894
+ [...incomingSiblings, ...outgoingSiblings].filter(
31895
+ (node2, index, nodes) => nodes.findIndex((n) => n.id === node2.id) === index
31896
+ )
31897
+ );
31898
+ }
31899
+ function getDownstreamNodes(id2, visited = []) {
31900
+ if (visited.includes(id2)) {
31901
+ return [];
31902
+ }
31903
+ visited.push(id2);
31904
+ const downstreamNodes = getOutgoers2(id2);
31905
+ return [
31906
+ ...downstreamNodes,
31907
+ ...downstreamNodes.flatMap((node2) => getDownstreamNodes(node2.id, visited))
31908
+ ].filter((node2, index, nodes) => nodes.findIndex((n) => n.id === node2.id) === index);
31909
+ }
31910
+ function getUpstreamNodes(id2, visited = []) {
31911
+ if (visited.includes(id2)) {
31912
+ return [];
31913
+ }
31914
+ visited.push(id2);
31915
+ const upstreamNodes = getIncomers2(id2);
31916
+ return [
31917
+ ...upstreamNodes,
31918
+ ...upstreamNodes.flatMap((node2) => getUpstreamNodes(node2.id, visited))
31919
+ ].filter((node2, index, nodes) => nodes.findIndex((n) => n.id === node2.id) === index);
31920
+ }
31921
+ return {
31922
+ sortNodesByVerticalPosition,
31923
+ getIncomingNodes,
31924
+ getOutgoingNodes,
31925
+ getSiblingNodes,
31926
+ getDownstreamNodes,
31927
+ getUpstreamNodes
31928
+ };
31929
+ }
31762
31930
  const defaultZoom = 1;
31763
31931
  const minimapVisibilityDelay = 1e3;
31764
31932
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
@@ -31780,6 +31948,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31780
31948
  const emit = __emit;
31781
31949
  const props = __props;
31782
31950
  const { controlKeyCode } = useDeviceSupport();
31951
+ const vueFlow = useVueFlow({ id: props.id, deleteKeyCode: null });
31783
31952
  const {
31784
31953
  getSelectedNodes: selectedNodes,
31785
31954
  addSelectedNodes,
@@ -31796,7 +31965,14 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31796
31965
  onPaneReady,
31797
31966
  findNode,
31798
31967
  viewport
31799
- } = useVueFlow({ id: props.id, deleteKeyCode: null });
31968
+ } = vueFlow;
31969
+ const {
31970
+ getIncomingNodes,
31971
+ getOutgoingNodes,
31972
+ getSiblingNodes,
31973
+ getDownstreamNodes,
31974
+ getUpstreamNodes
31975
+ } = useCanvasTraversal(vueFlow);
31800
31976
  const isPaneReady = ref(false);
31801
31977
  const classes = computed(() => ({
31802
31978
  [$style.canvas]: true,
@@ -31812,6 +31988,48 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31812
31988
  onKeyUp(panningKeyCode.value, () => {
31813
31989
  selectionKeyCode.value = true;
31814
31990
  });
31991
+ function selectLeftNode(id2) {
31992
+ const incomingNodes = getIncomingNodes(id2);
31993
+ const previousNode = incomingNodes[0];
31994
+ if (previousNode) {
31995
+ onSelectNodes({ ids: [previousNode.id] });
31996
+ }
31997
+ }
31998
+ function selectRightNode(id2) {
31999
+ const outgoingNodes = getOutgoingNodes(id2);
32000
+ const nextNode = outgoingNodes[0];
32001
+ if (nextNode) {
32002
+ onSelectNodes({ ids: [nextNode.id] });
32003
+ }
32004
+ }
32005
+ function selectLowerSiblingNode(id2) {
32006
+ const siblingNodes = getSiblingNodes(id2);
32007
+ const index = siblingNodes.findIndex((n) => n.id === id2);
32008
+ const nextNode = siblingNodes[index + 1] ?? siblingNodes[0];
32009
+ if (nextNode) {
32010
+ onSelectNodes({
32011
+ ids: [nextNode.id]
32012
+ });
32013
+ }
32014
+ }
32015
+ function selectUpperSiblingNode(id2) {
32016
+ const siblingNodes = getSiblingNodes(id2);
32017
+ const index = siblingNodes.findIndex((n) => n.id === id2);
32018
+ const previousNode = siblingNodes[index - 1] ?? siblingNodes[siblingNodes.length - 1];
32019
+ if (previousNode) {
32020
+ onSelectNodes({
32021
+ ids: [previousNode.id]
32022
+ });
32023
+ }
32024
+ }
32025
+ function selectDownstreamNodes(id2) {
32026
+ const downstreamNodes = getDownstreamNodes(id2);
32027
+ onSelectNodes({ ids: [...downstreamNodes.map((node2) => node2.id), id2] });
32028
+ }
32029
+ function selectUpstreamNodes(id2) {
32030
+ const upstreamNodes = getUpstreamNodes(id2);
32031
+ onSelectNodes({ ids: [...upstreamNodes.map((node2) => node2.id), id2] });
32032
+ }
31815
32033
  const keyMap = computed(() => ({
31816
32034
  ctrl_c: emitWithSelectedNodes((ids) => emit("copy:nodes", ids)),
31817
32035
  enter: emitWithLastSelectedNode((id2) => onSetNodeActive(id2)),
@@ -31820,6 +32038,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31820
32038
  "-|_": async () => await onZoomOut(),
31821
32039
  0: async () => await onResetZoom(),
31822
32040
  1: async () => await onFitView(),
32041
+ ArrowUp: emitWithLastSelectedNode(selectUpperSiblingNode),
32042
+ ArrowDown: emitWithLastSelectedNode(selectLowerSiblingNode),
32043
+ ArrowLeft: emitWithLastSelectedNode(selectLeftNode),
32044
+ ArrowRight: emitWithLastSelectedNode(selectRightNode),
32045
+ shift_ArrowLeft: emitWithLastSelectedNode(selectUpstreamNodes),
32046
+ shift_ArrowRight: emitWithLastSelectedNode(selectDownstreamNodes),
31823
32047
  // @TODO implement arrow key shortcuts to modify selection
31824
32048
  ...props.readOnly ? {} : {
31825
32049
  ctrl_x: emitWithSelectedNodes((ids) => emit("cut:nodes", ids)),
@@ -31836,24 +32060,28 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
31836
32060
  }
31837
32061
  }));
31838
32062
  useKeybindings(keyMap, { disabled: disableKeyBindings });
31839
- const lastSelectedNode = computed(() => selectedNodes.value[selectedNodes.value.length - 1]);
31840
32063
  const hasSelection = computed(() => selectedNodes.value.length > 0);
31841
32064
  const selectedNodeIds = computed(() => selectedNodes.value.map((node2) => node2.id));
32065
+ const lastSelectedNode = ref();
32066
+ watch(selectedNodes, (nodes) => {
32067
+ if (!lastSelectedNode.value || !nodes.find((node2) => {
32068
+ var _a;
32069
+ return node2.id === ((_a = lastSelectedNode.value) == null ? void 0 : _a.id);
32070
+ })) {
32071
+ lastSelectedNode.value = nodes[nodes.length - 1];
32072
+ }
32073
+ });
31842
32074
  function onClickNodeAdd(id2, handle2) {
31843
32075
  emit("click:node:add", id2, handle2);
31844
32076
  }
31845
- const onUpdateNodesPosition = useDebounceFn((events) => {
32077
+ function onUpdateNodesPosition(events) {
31846
32078
  emit("update:nodes:position", events);
31847
- }, 200);
32079
+ }
31848
32080
  function onUpdateNodePosition(id2, position2) {
31849
32081
  emit("update:node:position", id2, position2);
31850
32082
  }
31851
- const isPositionChangeEvent = (event) => event.type === "position" && "position" in event;
31852
- function onNodesChange(events) {
31853
- const positionChangeEndEvents = events.filter(isPositionChangeEvent);
31854
- if (positionChangeEndEvents.length > 0) {
31855
- void onUpdateNodesPosition(positionChangeEndEvents);
31856
- }
32083
+ function onNodeDragStop(event) {
32084
+ onUpdateNodesPosition(event.nodes.map(({ id: id2, position: position2 }) => ({ id: id2, position: position2 })));
31857
32085
  }
31858
32086
  function onSetNodeActive(id2) {
31859
32087
  props.eventBus.emit("nodes:action", { ids: [id2], action: "update:node:active" });
@@ -32081,6 +32309,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32081
32309
  class: normalizeClass(classes.value),
32082
32310
  "selection-key-code": selectionKeyCode.value,
32083
32311
  "pan-activation-key-code": panningKeyCode.value,
32312
+ "disable-keyboard-a11y": true,
32084
32313
  "data-test-id": "canvas",
32085
32314
  onConnectStart,
32086
32315
  onConnect,
@@ -32088,9 +32317,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
32088
32317
  onPaneClick: onClickPane,
32089
32318
  onContextmenu: onOpenContextMenu,
32090
32319
  onViewportChange,
32091
- onNodesChange,
32092
32320
  onMoveStart: onPaneMoveStart,
32093
- onMoveEnd: onPaneMoveEnd
32321
+ onMoveEnd: onPaneMoveEnd,
32322
+ onNodeDragStop
32094
32323
  }, {
32095
32324
  "node-canvas-node": withCtx((canvasNodeProps) => [
32096
32325
  createVNode(Node, mergeProps(canvasNodeProps, {
@@ -32190,7 +32419,7 @@ const style0$2 = {
32190
32419
  const cssModules$2 = {
32191
32420
  "$style": style0$2
32192
32421
  };
32193
- const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-1991ee65"]]);
32422
+ const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-63d92ce2"]]);
32194
32423
  function useCanvasMapping({
32195
32424
  nodes,
32196
32425
  connections: connections2,
@@ -33934,7 +34163,7 @@ function useCanvasOperations({ router }) {
33934
34163
  for (const [type, typeConnections] of Object.entries(connections2)) {
33935
34164
  const validConnections = typeConnections.map(
33936
34165
  (sourceConnections) => sourceConnections.filter((connection) => includeNodeNames.has(connection.node))
33937
- ).filter((sourceConnections) => sourceConnections.length > 0);
34166
+ );
33938
34167
  if (validConnections.length) {
33939
34168
  filteredConnections[type] = validConnections;
33940
34169
  }
@@ -33995,6 +34224,7 @@ function useCanvasOperations({ router }) {
33995
34224
  revertDeleteConnection,
33996
34225
  deleteConnectionsByNodeId,
33997
34226
  isConnectionAllowed,
34227
+ filterConnectionsByNodes,
33998
34228
  importWorkflowData,
33999
34229
  fetchWorkflowDataFromUrl,
34000
34230
  resetWorkspace,
@@ -34063,7 +34293,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34063
34293
  __name: "NodeView.v2",
34064
34294
  setup(__props) {
34065
34295
  const LazyNodeCreation2 = defineAsyncComponent(
34066
- async () => await __vitePreload(() => import("./NodeCreation-CDpNw3BL.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
34296
+ async () => await __vitePreload(() => import("./NodeCreation-DT2fJ_vL.js").then((n) => n.N), true ? __vite__mapDeps([17,1,2,18]) : void 0)
34067
34297
  );
34068
34298
  const LazyNodeDetailsView = defineAsyncComponent(
34069
34299
  async () => await __vitePreload(() => Promise.resolve().then(() => NodeDetailsView), true ? void 0 : void 0)
@@ -34104,7 +34334,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34104
34334
  route
34105
34335
  });
34106
34336
  const { registerCustomAction, unregisterCustomAction } = useGlobalLinkActions();
34107
- const { runWorkflow, runWorkflowResolvePending, stopCurrentExecution, stopWaitingForWebhook } = useRunWorkflow({ router });
34337
+ const { runWorkflow, stopCurrentExecution, stopWaitingForWebhook } = useRunWorkflow({ router });
34108
34338
  const {
34109
34339
  updateNodePosition,
34110
34340
  updateNodesPosition,
@@ -34733,11 +34963,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34733
34963
  const workflowExecutionData = computed(() => workflowsStore.workflowExecutionData);
34734
34964
  async function onRunWorkflow() {
34735
34965
  trackRunWorkflow();
34736
- if (!isExecutionPreview.value && workflowsStore.isWaitingExecution) {
34737
- void runWorkflowResolvePending({});
34738
- } else {
34739
- void runWorkflow({});
34740
- }
34966
+ void runWorkflow({});
34741
34967
  }
34742
34968
  function trackRunWorkflow() {
34743
34969
  void workflowHelpers.getWorkflowDataToSave().then((workflowData) => {
@@ -34759,11 +34985,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
34759
34985
  const node2 = workflowsStore.getNodeById(id2);
34760
34986
  if (!node2) return;
34761
34987
  trackRunWorkflowToNode(node2);
34762
- if (!isExecutionPreview.value && workflowsStore.isWaitingExecution) {
34763
- void runWorkflowResolvePending({ destinationNode: node2.name, source: "Node.executeNode" });
34764
- } else {
34765
- void runWorkflow({ destinationNode: node2.name, source: "Node.executeNode" });
34766
- }
34988
+ void runWorkflow({ destinationNode: node2.name, source: "Node.executeNode" });
34767
34989
  }
34768
34990
  function trackRunWorkflowToNode(node2) {
34769
34991
  const telemetryPayload = {