n8n-editor-ui 1.85.2 → 1.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/assets/AnimatedSpinner-ChSRgyeI.css +39 -0
  2. package/dist/assets/AnimatedSpinner-urWn52iY.js +18 -0
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-B2Xk-4o2.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DIbgkfAC.js} +1 -1
  4. package/dist/assets/{AuthView-Bhr2Ols-.js → AuthView-DIQI5asI.js} +2 -2
  5. package/dist/assets/{CanvasChatSwitch-BcSDHC-c.css → CanvasChatSwitch-0IWSu8RE.css} +488 -46
  6. package/dist/assets/{CanvasChatSwitch-E9vu2jW8.js → CanvasChatSwitch-BIpZuY-n.js} +697 -214
  7. package/dist/assets/{ChangePasswordView-BzAEcqVw.js → ChangePasswordView-D8Qv0tim.js} +3 -3
  8. package/dist/assets/CollectionParameter-DT1MnS63.js +4 -0
  9. package/dist/assets/{CredentialsView-CZiEXdjH.js → CredentialsView-tJ8-2RrO.js} +8 -8
  10. package/dist/assets/{ErrorView-C1QywuMY.js → ErrorView-CZEZD7LB.js} +1 -1
  11. package/dist/assets/{ExecutionsTime-BOPJEomw.css → ExecutionsTime-DZHUIJjP.css} +6 -6
  12. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-l5VZIkoy.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-gcknFyjA.js} +23 -20
  13. package/dist/assets/{ExecutionsView-Bo0Nk8lV.js → ExecutionsView-BCfIz8EF.js} +49 -57
  14. package/dist/assets/{ExecutionsView-JCKikuIS.css → ExecutionsView-ByQf9yli.css} +13 -47
  15. package/dist/assets/{FileSaver.min-D3VgyjMF.js → FileSaver.min-Bs2qHlKb.js} +1 -1
  16. package/dist/assets/{FixedCollectionParameter-RpfOY9Ho.js → FixedCollectionParameter-E0LDqNW3.js} +1 -1
  17. package/dist/assets/{ForgotMyPasswordView-DPTddCxG.js → ForgotMyPasswordView-YOnrzvKJ.js} +3 -3
  18. package/dist/assets/InsightsChartAverageRuntime-DWrrriYN.js +61 -0
  19. package/dist/assets/InsightsChartFailed-DRi6JC3m.js +57 -0
  20. package/dist/assets/InsightsChartFailureRate-BdFNsMpg.js +57 -0
  21. package/dist/assets/InsightsChartTimeSaved-C12GZzSQ.js +71 -0
  22. package/dist/assets/InsightsChartTotal-Cn386HO4.js +59 -0
  23. package/dist/assets/InsightsDashboard-BawwZ0Oo.js +154 -0
  24. package/dist/assets/InsightsDashboard-CB4vHnBh.css +152 -0
  25. package/dist/assets/InsightsPaywall-OeXh6LeZ.css +133 -0
  26. package/dist/assets/InsightsPaywall-g3JcqAYL.js +58 -0
  27. package/dist/assets/{useOverview-DcRuPjLJ.css → InsightsSummary-W08OzElS.css} +57 -35
  28. package/dist/assets/InsightsSummary-vMmKUcie.js +185 -0
  29. package/dist/assets/InsightsTableWorkflows-DQQ1vvMz.js +129 -0
  30. package/dist/assets/InsightsTableWorkflows-Us3j4UTO.css +128 -0
  31. package/dist/assets/{Logo-CxllxUni.js → Logo-Vm92axlM.js} +1 -1
  32. package/dist/assets/{MainHeader-9gTxUJIR.js → MainHeader-BUhpvu2K.js} +9 -10
  33. package/dist/assets/{MainSidebar-CRJML8mh.js → MainSidebar-D5P5FSUQ.js} +11 -4
  34. package/dist/assets/{NodeCreation-zoYjBJl6.js → NodeCreation-BgW5u-Bc.js} +4 -4
  35. package/dist/assets/{NodeCreator-D-qBRyBy.js → NodeCreator-CFe2n6vJ.js} +10 -26
  36. package/dist/assets/{NodeDetailsView-C1z3N5z_.css → NodeDetailsView-BT-ro74o.css} +63 -70
  37. package/dist/assets/{NodeDetailsView-C1iBFaC1.js → NodeDetailsView-CmtK-rDD.js} +145 -482
  38. package/dist/assets/{NodeView-Bio-FnnF.js → NodeView-BqaNPfpx.js} +19 -21
  39. package/dist/assets/{ProjectCardBadge-BEflW6oP.js → ProjectCardBadge-BKgtzWr1.js} +69 -36
  40. package/dist/assets/{ProjectCardBadge-C78ap7Rc.css → ProjectCardBadge-t3v64i1e.css} +18 -13
  41. package/dist/assets/{ProjectHeader-DK3_g_D8.js → ProjectHeader-BWVSdavS.js} +33 -7
  42. package/dist/assets/{ProjectHeader-B-a6_GH6.css → ProjectHeader-BsBpG-Mj.css} +7 -7
  43. package/dist/assets/{ProjectSettings-CLMy_-YC.js → ProjectSettings-BL-2-uOg.js} +3 -3
  44. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CSazgsi8.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-BL-bMMgn.js} +1 -2
  45. package/dist/assets/{ResourcesListLayout-CBvvL0VM.js → ResourcesListLayout-CozpmfUY.js} +1 -1
  46. package/dist/assets/{RunDataAi-C-tu9GrI.js → RunDataAi-B_EadpzG.js} +188 -94
  47. package/dist/assets/{RunDataAi-CN9FrT9c.css → RunDataAi-CUUDqZRP.css} +128 -0
  48. package/dist/assets/{RunDataJson-ClpS_600.js → RunDataJson-CyNNCtyd.js} +11 -12
  49. package/dist/assets/{RunDataJsonActions-gWW8Qkt_.js → RunDataJsonActions-SQqaiBEP.js} +1 -2
  50. package/dist/assets/{RunDataSearch-Dgv5JYk-.js → RunDataSearch-BF9kshKq.js} +1 -1
  51. package/dist/assets/{RunDataTable-nsOk35pD.js → RunDataTable-DsW7wuc2.js} +10 -8
  52. package/dist/assets/{SamlOnboarding-C5TSdGcx.js → SamlOnboarding-BX7RiRJB.js} +3 -3
  53. package/dist/assets/{SettingsApiView-CzQG1ofR.js → SettingsApiView-CDIPYvaG.js} +1 -1
  54. package/dist/assets/{SettingsCommunityNodesView-D_F3n2NO.js → SettingsCommunityNodesView-BRSEkT73.js} +4 -5
  55. package/dist/assets/{SettingsExternalSecrets-BUgKlMoR.js → SettingsExternalSecrets-D7ASuAnS.js} +1 -1
  56. package/dist/assets/{SettingsLdapView-CAmuVErd.js → SettingsLdapView-DA5fZZ51.js} +1 -1
  57. package/dist/assets/{SettingsLogStreamingView-DLkHrsx5.js → SettingsLogStreamingView-C9qkYvCr.js} +1 -1
  58. package/dist/assets/{SettingsPersonalView-2elwsG0f.js → SettingsPersonalView-BnNOJcvO.js} +2 -2
  59. package/dist/assets/{SettingsSourceControl-BD426GUo.js → SettingsSourceControl--ozL4427.js} +1 -1
  60. package/dist/assets/{SettingsSso-B-7lLoTI.js → SettingsSso-Bfe_HRSr.js} +1 -1
  61. package/dist/assets/{SettingsUsageAndPlan-EUWVJYe2.js → SettingsUsageAndPlan-CzvMNudh.js} +1 -1
  62. package/dist/assets/{SettingsUsersView-C3GbTYvU.js → SettingsUsersView-DGu5ku48.js} +1 -1
  63. package/dist/assets/{SettingsView-DSMM_8SL.js → SettingsView-CvreVxXL.js} +1 -1
  64. package/dist/assets/{SetupView-CexY8Lic.js → SetupView-BJT6GtIA.js} +3 -3
  65. package/dist/assets/{SetupWorkflowCredentialsButton-BpLp754t.js → SetupWorkflowCredentialsButton-BEq2gs_-.js} +2 -4
  66. package/dist/assets/{SetupWorkflowFromTemplateView-CLvS9Kda.js → SetupWorkflowFromTemplateView-F9oCDWX8.js} +3 -12
  67. package/dist/assets/{SigninView-CYkcm3hG.js → SigninView-DyoDtCBc.js} +3 -3
  68. package/dist/assets/{SignoutView-C2HutrZm.js → SignoutView-DclBslYe.js} +1 -1
  69. package/dist/assets/{SignupView-B-o-ka0Z.js → SignupView-BhB0Hhj0.js} +3 -3
  70. package/dist/assets/{TemplateDetails-C20G_lj4.js → TemplateDetails-B3utdyMi.js} +1 -1
  71. package/dist/assets/{TemplateList-DQzcYS6n.js → TemplateList-Bgz1iiiH.js} +1 -1
  72. package/dist/assets/{TemplatesCollectionView-DEEMhmYZ.js → TemplatesCollectionView-CORzb8YZ.js} +7 -9
  73. package/dist/assets/{TemplatesSearchView-S6802uNr.js → TemplatesSearchView-DTuv4-5C.js} +3 -3
  74. package/dist/assets/{TemplatesView-CT7S5O4K.js → TemplatesView-CFV5SVF7.js} +1 -1
  75. package/dist/assets/{TemplatesWorkflowView-BMd9OmqA.js → TemplatesWorkflowView-CQVVdNty.js} +5 -7
  76. package/dist/assets/{TestDefinitionEditView-BXhOuJrU.css → TestDefinitionEditView-Cwkrz308.css} +12 -143
  77. package/dist/assets/{TestDefinitionEditView-5kDGEtaD.js → TestDefinitionEditView-DX6GIeq2.js} +179 -331
  78. package/dist/assets/{TestDefinitionListView-BM-hghAY.js → TestDefinitionListView-CLEkthYQ.js} +1 -1
  79. package/dist/assets/{TestDefinitionNewView-CNN-qAmL.js → TestDefinitionNewView-DWTTqvlN.js} +2 -2
  80. package/dist/assets/{TestDefinitionRootView-S8g84AaK.js → TestDefinitionRootView-D0yLW0V6.js} +1 -1
  81. package/dist/assets/{VariablesView-D90WCfYK.js → VariablesView-Dsr4pqth.js} +3 -3
  82. package/dist/assets/{WorkerView-BHVIRKm_.js → WorkerView-Bbu5wv-g.js} +6 -7
  83. package/dist/assets/{WorkflowActivator-BsceIfln.js → WorkflowActivator-C197X_D6.js} +2 -2
  84. package/dist/assets/{WorkflowExecutionsInfoAccordion-DxGIzmq4.js → WorkflowExecutionsInfoAccordion-CHPlRtMQ.js} +1 -1
  85. package/dist/assets/{WorkflowExecutionsLandingPage-czqJYUnQ.js → WorkflowExecutionsLandingPage-CnvMc3SA.js} +2 -2
  86. package/dist/assets/{WorkflowExecutionsPreview-BzCGXWj0.js → WorkflowExecutionsPreview-CJBM3Awe.js} +24 -256
  87. package/dist/assets/{WorkflowExecutionsPreview-CHu6M3Dh.css → WorkflowExecutionsPreview-D7jTJ8GL.css} +16 -48
  88. package/dist/assets/{WorkflowExecutionsView-syep-_N0.js → WorkflowExecutionsView-BwB6WS6M.js} +11 -17
  89. package/dist/assets/{WorkflowHistory-CmHn_hnX.js → WorkflowHistory-U5a4aYts.js} +4 -4
  90. package/dist/assets/{WorkflowOnboardingView-BmhaZBkH.js → WorkflowOnboardingView-DHUUTLOo.js} +1 -1
  91. package/dist/assets/{WorkflowPreview-BN13256Q.js → WorkflowPreview-D8pwehRe.js} +1 -1
  92. package/dist/assets/{WorkflowsView-r9qJOUEb.css → WorkflowsView-CJB9aI6A.css} +27 -41
  93. package/dist/assets/{WorkflowsView-6qbtftll.js → WorkflowsView-DIh7kqZk.js} +76 -141
  94. package/dist/assets/chartjs.utils-DTEY3u-V.js +193 -0
  95. package/dist/assets/dateFormatter-C7xnNKzY.js +21 -0
  96. package/dist/assets/{easyAiWorkflowUtils-C7LfXIgb.js → easyAiWorkflowUtils-V__OjFo9.js} +1 -1
  97. package/dist/assets/{global-link-actions-znEIb0N4.js → global-link-actions-vGpWr9Uz.js} +1 -1
  98. package/dist/assets/{import-curl-BsKs3fYs.js → import-curl-C6ERUxFe.js} +1 -1
  99. package/dist/assets/{index-Cjz62pAo.js → index-BrjPYODL.js} +3 -1
  100. package/dist/assets/{index-DZljH0cm.js → index-DD7Wuhk5.js} +11407 -5580
  101. package/dist/assets/{index-CgXKy7t-.css → index-DJ205bL0.css} +418 -92
  102. package/dist/assets/{pickBy-DlIFPp_M.js → pickBy-BILEJ4hg.js} +1 -1
  103. package/dist/assets/{templateActions-ClDjWPHA.js → templateActions-M3qRQiV6.js} +2 -7
  104. package/dist/assets/{useBeforeUnload-BFlrxvKb.js → useBeforeUnload-DTsj_abb.js} +1 -1
  105. package/dist/assets/{useCanvasMapping-CJcAsQmx.css → useCanvasMapping-BkGr1HdJ.css} +29 -28
  106. package/dist/assets/{useCanvasMapping-C0PMQVwg.js → useCanvasMapping-DJvMRP2s.js} +71 -56
  107. package/dist/assets/{useCanvasOperations-2Ca5hPmu.js → useCanvasOperations-DCaSrD1N.js} +26 -254
  108. package/dist/assets/{useClearExecutionButtonVisible-D8unhL-H.js → useClearExecutionButtonVisible-CVPKhr9F.js} +2 -2
  109. package/dist/assets/{useExecutionDebugging-MiAgkS54.js → useExecutionDebugging-yY2o_eNc.js} +1 -1
  110. package/dist/assets/{useExecutionHelpers-CgD9G_XU.js → useExecutionHelpers-BVY9xXbG.js} +2 -19
  111. package/dist/assets/{useImportCurlCommand-D6LUnncf.js → useImportCurlCommand-Chewi-_x.js} +2 -2
  112. package/dist/assets/{usePushConnection-DAhrfl2L.js → usePushConnection-9zsAnuvC.js} +13 -6
  113. package/dist/assets/{useTestDefinitionForm-TDiKTq9o.js → useTestDefinitionForm-CCVy0jKP.js} +1 -31
  114. package/dist/assets/{useWorkflowActivate-C_GRAYoC.js → useWorkflowActivate-DeEvbrsK.js} +1 -1
  115. package/dist/index.html +2 -2
  116. package/package.json +1 -1
  117. package/dist/assets/CollectionParameter-XKkHxrwX.js +0 -4
  118. package/dist/assets/pushConnection.store-DHLcz9cC.js +0 -238
  119. package/dist/assets/useOverview-BqIOGpWx.js +0 -161
  120. package/dist/assets/useRunWorkflow-sGIs6NeH.js +0 -521
@@ -1,12 +1,10 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-nsOk35pD.js","assets/index-DZljH0cm.js","assets/index-CgXKy7t-.css","assets/useExecutionHelpers-CgD9G_XU.js","assets/RunDataTable-CX7gToH4.css","assets/RunDataJson-ClpS_600.js","assets/useCanvasOperations-2Ca5hPmu.js","assets/useRunWorkflow-sGIs6NeH.js","assets/pushConnection.store-DHLcz9cC.js","assets/import-curl-BsKs3fYs.js","assets/FileSaver.min-D3VgyjMF.js","assets/RunDataAi-C-tu9GrI.js","assets/RunDataAi-CN9FrT9c.css","assets/useWorkflowActivate-C_GRAYoC.js","assets/RunDataJson-Txw0lqay.css","assets/RunDataSearch-Dgv5JYk-.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
- import { h4 as hasKey, d as defineComponent, r as ref, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, cN as _sfc_main$m, w as withCtx, H as withKeys, J as withModifiers, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, z as nextTick, _ as _export_sfc, at as useNDVStore, T as useWorkflowsStore, dO as isCommunityPackageName, cv as NPM_PACKAGE_DOCS_BASE_URL, h5 as BUILTIN_NODES_DOCS_URL, cx as COMMUNITY_NODES_INSTALLATION_DOCS_URL, aQ as useExternalHooks, ah as useTelemetry, be as NodeConnectionTypes, b as useRouter, b8 as useClipboard, a6 as useWorkflowHelpers, a as useToast, h6 as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, h7 as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, e$ as FORM_TRIGGER_NODE_TYPE, bt as CHAT_TRIGGER_NODE_TYPE, I as watch, F as Fragment, D as renderList, G as onClickOutside, ar as h, h8 as toRef, h9 as tryOnScopeDispose, ha as toValue, hb as isIOS, hc as noop, hd as isObject, he as isClient, bu as useNodeTypesStore, bv as useNodeHelpers, K as useDebounce, fP as nodeIssuesToString, B as normalizeStyle, fL as TitledList, bq as getNodeInputs, L as useUIStore, eY as MANUAL_TRIGGER_NODE_TYPE, eT as WEBHOOK_NODE_TYPE, f2 as AI_TRANSFORM_NODE_TYPE, hf as AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT, b2 as mergeProps, hg as generateCodeForAiTransform, hh as AI_TRANSFORM_JS_CODE, ai as nodeViewEventBus, aj as useMessage, ak as MODAL_CONFIRM, hi as SWITCH_NODE_TYPE, fO as isEqual, hj as captureException, p as useSettingsStore, av as usePostHog, bE as useCredentialsStore, u as useUsersStore, a3 as useProjectsStore, dy as OPEN_AI_API_CREDENTIAL_TYPE, bT as AI_CREDITS_EXPERIMENT, bH as useHistoryStore, ac as ProjectTypes, br as getConnectionTypes, o as onMounted, hk as ndvEventBus, y as onBeforeUnmount, hl as CUSTOM_NODES_DOCS_URL, aB as withDirectives, aC as vShow, gO as _sfc_main$n, hm as NodeCredentials, bf as get, fi as getNodeParameters, c2 as deepCopy, hn as set, ho as unset, f9 as RenameNodeCommand, gN as isINodePropertyCollectionList, hp as isINodePropertiesList, hq as isINodePropertyOptionsList, hr as displayParameter, hs as Draggable, fB as useThrottleFn, fm as useSlots, ht as MAIN_NODE_PANEL_WIDTH, aK as useStorage, hu as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, x as renderSlot, hv as requireVue, ce as getDefaultExportFromCjs, hw as sanitizeHtml, hx as sanitizeHtmlExports, bM as jsonParse, aR as N8nTooltip, aT as _sfc_main$o, aS as N8nLink, by as N8nText, a2 as useSourceControlStore, a0 as useRootStore, du as useSchemaPreviewStore, U as useRoute, bA as toRef$1, cA as storeToRefs, eG as HTML_NODE_TYPE, hy as TRIMMED_TASK_DATA_CONNECTIONS_KEY, hz as executionDataToJson, hA as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, e9 as CORE_NODES_CATEGORY, hB as SCHEMA_PREVIEW_EXPERIMENT, hC as computedAsync, hD as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, hE as dataPinningEventBus, hF as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, hG as searchInObject, hH as isObject$1, hI as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, dN as MAX_DISPLAY_DATA_SIZE, c3 as resolveDirective, bS as N8nCallout, hJ as DATA_PINNING_DOCS_URL, bQ as Suspense, bR as defineAsyncComponent, hK as N8nRadioButtons, b9 as N8nButton, gv as _sfc_main$p, gu as N8nSelect, hL as N8nTabs, gc as _sfc_main$q, hM as JsonEditor, hN as DATA_EDITING_DOCS_URL, da as InfoTip, hO as N8nBlockUi, ap as __vitePreload, f8 as isPresent, bs as getNodeOutputs, hP as getNodeHints, hQ as getGenericHints, hR as clearJsonKey, hS as TEST_PIN_DATA, dL as isEmpty, dC as CanvasNodeDirtiness, aV as createSlots, hT as waitingNodeTooltip, hU as truncate, gJ as createStaticVNode, bK as START_NODE_TYPE, hV as CRON_NODE_TYPE, hW as INTERVAL_NODE_TYPE, hX as uniqBy, b1 as resolveDynamicComponent, c7 as N8nIcon, hY as isTriggerPanelObject, ds as getTriggerNodeServiceName, dd as CopyInput, C as createEventBus, fN as Transition, V as VIEWS, al as WORKFLOW_SETTINGS_MODAL_KEY, fD as useDeviceSupport, hZ as EXECUTABLE_TRIGGER_NODE_TYPES, az as STICKY_NODE_TYPE, h_ as BASE_NODE_SURVEY_URL, ab as EnterpriseEditionFeature, bz as useStyles, h$ as APP_MODALS_ELEMENT_ID } from "./index-DZljH0cm.js";
3
- import { u as usePinnedData, g as useNodeType } from "./useCanvasOperations-2Ca5hPmu.js";
4
- import { u as useRunWorkflow, a as useNodeDirtiness } from "./useRunWorkflow-sGIs6NeH.js";
5
- import { i as importCurlEventBus } from "./import-curl-BsKs3fYs.js";
6
- import { F as FileSaver_minExports } from "./FileSaver.min-D3VgyjMF.js";
7
- import { _ as _sfc_main$r, R as RunDataAi } from "./RunDataAi-C-tu9GrI.js";
8
- import { u as useExecutionHelpers, b as convertToDisplayDateComponents } from "./useExecutionHelpers-CgD9G_XU.js";
9
- import { u as useWorkflowActivate } from "./useWorkflowActivate-C_GRAYoC.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-DsW7wuc2.js","assets/index-DD7Wuhk5.js","assets/index-DJ205bL0.css","assets/useExecutionHelpers-BVY9xXbG.js","assets/dateFormatter-C7xnNKzY.js","assets/RunDataTable-CX7gToH4.css","assets/RunDataJson-CyNNCtyd.js","assets/import-curl-C6ERUxFe.js","assets/FileSaver.min-Bs2qHlKb.js","assets/RunDataAi-B_EadpzG.js","assets/useCanvasOperations-DCaSrD1N.js","assets/RunDataAi-CUUDqZRP.css","assets/useWorkflowActivate-DeEvbrsK.js","assets/RunDataJson-Txw0lqay.css","assets/RunDataSearch-BF9kshKq.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
+ import { h2 as hasKey, d as defineComponent, r as ref, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, bC as _sfc_main$l, w as withCtx, H as withKeys, J as withModifiers, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, z as nextTick, _ as _export_sfc, au as useNDVStore, U as useWorkflowsStore, dI as isCommunityPackageName, cC as NPM_PACKAGE_DOCS_BASE_URL, h3 as BUILTIN_NODES_DOCS_URL, cE as COMMUNITY_NODES_INSTALLATION_DOCS_URL, aR as useExternalHooks, ai as useTelemetry, bu as NodeConnectionTypes, b as useRouter, ba as useClipboard, a7 as useWorkflowHelpers, a as useToast, h4 as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, h5 as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, eL as FORM_TRIGGER_NODE_TYPE, bv as CHAT_TRIGGER_NODE_TYPE, I as watch, F as Fragment, D as renderList, G as onClickOutside, as as h, h6 as toRef, h7 as tryOnScopeDispose, h8 as toValue, h9 as isIOS, ha as noop, hb as isObject, hc as isClient, bw as useNodeTypesStore, bx as useNodeHelpers, K as useDebounce, fH as nodeIssuesToString, B as normalizeStyle, fB as TitledList, br as getNodeInputs, hd as SWITCH_NODE_TYPE, fF as isEqual, he as captureException, p as useSettingsStore, aw as usePostHog, bM as useCredentialsStore, u as useUsersStore, a4 as useProjectsStore, dC as OPEN_AI_API_CREDENTIAL_TYPE, b$ as AI_CREDITS_EXPERIMENT, bP as useHistoryStore, ad as ProjectTypes, bs as getConnectionTypes, o as onMounted, hf as ndvEventBus, y as onBeforeUnmount, hg as _sfc_main$m, hh as CUSTOM_NODES_DOCS_URL, aC as withDirectives, aD as vShow, gM as _sfc_main$n, hi as NodeCredentials, bh as get, f8 as getNodeParameters, cb as deepCopy, hj as set, hk as unset, eZ as RenameNodeCommand, gL as isINodePropertyCollectionList, hl as isINodePropertiesList, hm as isINodePropertyOptionsList, hn as displayParameter, ho as Draggable, fr as useThrottleFn, L as useUIStore, fc as useSlots, hp as MAIN_NODE_PANEL_WIDTH, aL as useStorage, hq as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, x as renderSlot, hr as requireVue, cl as getDefaultExportFromCjs, hs as sanitizeHtml, ht as sanitizeHtmlExports, bU as jsonParse, aS as N8nTooltip, aU as _sfc_main$o, aT as N8nLink, b9 as N8nText, a3 as useSourceControlStore, a1 as useRootStore, dz as useSchemaPreviewStore, W as useRoute, bI as toRef$1, bi as usePinnedData, hu as useNodeType, cH as storeToRefs, eq as HTML_NODE_TYPE, hv as TRIMMED_TASK_DATA_CONNECTIONS_KEY, hw as executionDataToJson, hx as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, dV as CORE_NODES_CATEGORY, hy as SCHEMA_PREVIEW_EXPERIMENT, hz as computedAsync, hA as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, hB as dataPinningEventBus, hC as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, hD as searchInObject, hE as isObject$1, hF as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, dH as MAX_DISPLAY_DATA_SIZE, cc as resolveDirective, b_ as N8nCallout, hG as DATA_PINNING_DOCS_URL, bY as Suspense, bZ as defineAsyncComponent, bG as N8nRadioButtons, bb as N8nButton, gt as _sfc_main$p, gs as N8nSelect, hH as N8nTabs, g9 as _sfc_main$q, hI as JsonEditor, hJ as DATA_EDITING_DOCS_URL, df as InfoTip, hK as N8nBlockUi, aq as __vitePreload, eX as isPresent, bt as getNodeOutputs, hL as getNodeHints, hM as getGenericHints, hN as clearJsonKey, hO as TEST_PIN_DATA, fP as isEmpty, fG as useNodeDirtiness, fC as CanvasNodeDirtiness, aW as createSlots, hP as waitingNodeTooltip, hQ as truncate, gi as createStaticVNode, bS as START_NODE_TYPE, eI as MANUAL_TRIGGER_NODE_TYPE, hR as CRON_NODE_TYPE, hS as INTERVAL_NODE_TYPE, hT as uniqBy, b2 as resolveDynamicComponent, bE as N8nIcon, hU as isTriggerPanelObject, dx as getTriggerNodeServiceName, eD as WEBHOOK_NODE_TYPE, di as CopyInput, C as createEventBus, fE as Transition, V as VIEWS, am as WORKFLOW_SETTINGS_MODAL_KEY, ft as useDeviceSupport, hV as EXECUTABLE_TRIGGER_NODE_TYPES, aA as STICKY_NODE_TYPE, hW as BASE_NODE_SURVEY_URL, ac as EnterpriseEditionFeature, bH as useStyles, hX as APP_MODALS_ELEMENT_ID, ak as useMessage, al as MODAL_CONFIRM } from "./index-DD7Wuhk5.js";
3
+ import { i as importCurlEventBus } from "./import-curl-C6ERUxFe.js";
4
+ import { F as FileSaver_minExports } from "./FileSaver.min-Bs2qHlKb.js";
5
+ import { V as ViewSubExecution, d as _sfc_main$r, R as RunDataAi } from "./RunDataAi-B_EadpzG.js";
6
+ import { b as convertToDisplayDateComponents } from "./dateFormatter-C7xnNKzY.js";
7
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-DeEvbrsK.js";
10
8
  function responseHasSubworkflowData(response) {
11
9
  return ["executionId", "workflowId"].every(
12
10
  (x) => hasKey(response, x) && typeof response[x] === "string"
@@ -26,9 +24,9 @@ function parseErrorMetadata(error) {
26
24
  if (hasKey(error, "errorResponse")) {
27
25
  return parseErrorResponseWorkflowMetadata(error.errorResponse);
28
26
  }
29
- return void 0;
27
+ return parseErrorResponseWorkflowMetadata(error);
30
28
  }
31
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
29
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
32
30
  __name: "NodeTitle",
33
31
  props: {
34
32
  modelValue: { default: "" },
@@ -72,7 +70,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
72
70
  createBaseVNode("span", {
73
71
  class: normalizeClass(_ctx.$style.iconWrapper)
74
72
  }, [
75
- createVNode(_sfc_main$m, {
73
+ createVNode(_sfc_main$l, {
76
74
  "node-type": _ctx.nodeType,
77
75
  size: 18
78
76
  }, null, 8, ["node-type"])
@@ -174,8 +172,8 @@ const style0$c = {
174
172
  const cssModules$d = {
175
173
  "$style": style0$c
176
174
  };
177
- const NodeTitle = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__cssModules", cssModules$d]]);
178
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
175
+ const NodeTitle = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__cssModules", cssModules$d]]);
176
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
179
177
  __name: "NodeSettingsTabs",
180
178
  props: {
181
179
  modelValue: { default: "params" },
@@ -321,9 +319,9 @@ const _hoisted_10$2 = {
321
319
  key: 1,
322
320
  class: "webhook-wrapper"
323
321
  };
324
- const _hoisted_11$2 = { class: "url-field-full-width" };
325
- const _hoisted_12$1 = ["onClick"];
326
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
322
+ const _hoisted_11$1 = { class: "url-field-full-width" };
323
+ const _hoisted_12 = ["onClick"];
324
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
327
325
  __name: "NodeWebhooks",
328
326
  props: {
329
327
  node: {},
@@ -518,14 +516,14 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
518
516
  ], 8, _hoisted_9$3)
519
517
  ])
520
518
  ])) : (openBlock(), createElementBlock("div", _hoisted_10$2, [
521
- createBaseVNode("div", _hoisted_11$2, [
519
+ createBaseVNode("div", _hoisted_11$1, [
522
520
  createBaseVNode("div", {
523
521
  class: "webhook-url left-ellipsis clickable",
524
522
  onClick: ($event) => copyWebhookUrl(webhook)
525
523
  }, [
526
524
  createTextVNode(toDisplayString(getWebhookUrlDisplay(webhook)), 1),
527
525
  _cache[4] || (_cache[4] = createBaseVNode("br", null, null, -1))
528
- ], 8, _hoisted_12$1)
526
+ ], 8, _hoisted_12)
529
527
  ])
530
528
  ]))
531
529
  ]),
@@ -540,7 +538,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
540
538
  };
541
539
  }
542
540
  });
543
- const NodeWebhooks = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-08694311"]]);
541
+ const NodeWebhooks = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-08694311"]]);
544
542
  const OnClickOutside = /* @__PURE__ */ defineComponent({
545
543
  name: "OnClickOutside",
546
544
  props: ["as", "options"],
@@ -717,7 +715,7 @@ const _hoisted_3$5 = ["onClick"];
717
715
  const _hoisted_4$5 = ["onClick"];
718
716
  const _hoisted_5$5 = ["data-node-name"];
719
717
  const _hoisted_6$4 = ["onClick"];
720
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
718
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
721
719
  __name: "NDVSubConnections",
722
720
  props: {
723
721
  rootNode: {}
@@ -954,7 +952,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
954
952
  class: normalizeClass(_ctx.$style.connectedNode),
955
953
  onClick: ($event) => onNodeClick(node2.node.name, connection.type)
956
954
  }, [
957
- createVNode(_sfc_main$m, {
955
+ createVNode(_sfc_main$l, {
958
956
  "node-type": node2.nodeType,
959
957
  "node-name": node2.node.name,
960
958
  "tooltip-position": "top",
@@ -1010,289 +1008,7 @@ const style0$b = {
1010
1008
  const cssModules$c = {
1011
1009
  "$style": style0$b
1012
1010
  };
1013
- const NDVSubConnections = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__cssModules", cssModules$c]]);
1014
- const NODE_TEST_STEP_POPUP_COUNT_KEY = "N8N_NODE_TEST_STEP_POPUP_COUNT";
1015
- const MAX_POPUP_COUNT = 10;
1016
- const POPUP_UPDATE_DELAY = 3e3;
1017
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
1018
- ...{
1019
- inheritAttrs: false
1020
- },
1021
- __name: "NodeExecuteButton",
1022
- props: {
1023
- nodeName: {},
1024
- telemetrySource: {},
1025
- disabled: { type: Boolean, default: false },
1026
- label: {},
1027
- type: {},
1028
- size: {},
1029
- transparent: { type: Boolean, default: false },
1030
- hideIcon: { type: Boolean },
1031
- tooltip: {}
1032
- },
1033
- emits: ["stopExecution", "execute", "valueChanged"],
1034
- setup(__props, { emit: __emit }) {
1035
- const props = __props;
1036
- const emit = __emit;
1037
- const lastPopupCountUpdate = ref(0);
1038
- const codeGenerationInProgress = ref(false);
1039
- const router = useRouter();
1040
- const { runWorkflow, stopCurrentExecution } = useRunWorkflow({ router });
1041
- const workflowsStore = useWorkflowsStore();
1042
- const externalHooks = useExternalHooks();
1043
- const toast = useToast();
1044
- const ndvStore = useNDVStore();
1045
- const nodeTypesStore = useNodeTypesStore();
1046
- const uiStore = useUIStore();
1047
- const i18n = useI18n();
1048
- const message = useMessage();
1049
- const telemetry = useTelemetry();
1050
- const node2 = computed(() => workflowsStore.getNodeByName(props.nodeName));
1051
- const pinnedData = usePinnedData(node2);
1052
- const nodeType = computed(() => {
1053
- return node2.value ? nodeTypesStore.getNodeType(node2.value.type, node2.value.typeVersion) : null;
1054
- });
1055
- const isNodeRunning = computed(() => {
1056
- if (!uiStore.isActionActive.workflowRunning || codeGenerationInProgress.value) return false;
1057
- const triggeredNode = workflowsStore.executedNode;
1058
- return workflowsStore.isNodeExecuting(node2.value?.name ?? "") || triggeredNode === node2.value?.name;
1059
- });
1060
- const isTriggerNode = computed(() => {
1061
- return node2.value ? nodeTypesStore.isTriggerNode(node2.value.type) : false;
1062
- });
1063
- const isWorkflowRunning = computed(() => uiStore.isActionActive.workflowRunning);
1064
- const isManualTriggerNode = computed(
1065
- () => nodeType.value ? nodeType.value.name === MANUAL_TRIGGER_NODE_TYPE : false
1066
- );
1067
- const isChatNode = computed(
1068
- () => nodeType.value ? nodeType.value.name === CHAT_TRIGGER_NODE_TYPE : false
1069
- );
1070
- const isChatChild = computed(() => workflowsStore.checkIfNodeHasChatParent(props.nodeName));
1071
- const isFormTriggerNode = computed(
1072
- () => nodeType.value ? nodeType.value.name === FORM_TRIGGER_NODE_TYPE : false
1073
- );
1074
- const isPollingTypeNode = computed(() => !!nodeType.value?.polling);
1075
- const isScheduleTrigger = computed(() => !!nodeType.value?.group.includes("schedule"));
1076
- const isWebhookNode = computed(
1077
- () => nodeType.value ? nodeType.value.name === WEBHOOK_NODE_TYPE : false
1078
- );
1079
- const isListeningForEvents = computed(() => {
1080
- const waitingOnWebhook = workflowsStore.executionWaitingForWebhook;
1081
- const executedNode = workflowsStore.executedNode;
1082
- return !!node2.value && !node2.value.disabled && isTriggerNode.value && waitingOnWebhook && (!executedNode || executedNode === props.nodeName);
1083
- });
1084
- const isListeningForWorkflowEvents = computed(() => {
1085
- return isNodeRunning.value && isTriggerNode.value && !isScheduleTrigger.value && !isManualTriggerNode.value;
1086
- });
1087
- const hasIssues2 = computed(
1088
- () => Boolean(node2.value?.issues && (node2.value.issues.parameters || node2.value.issues.credentials))
1089
- );
1090
- const disabledHint = computed(() => {
1091
- if (isListeningForEvents.value) {
1092
- return "";
1093
- }
1094
- if (codeGenerationInProgress.value) {
1095
- return i18n.baseText("ndv.execute.generatingCode");
1096
- }
1097
- if (node2?.value?.disabled) {
1098
- return i18n.baseText("ndv.execute.nodeIsDisabled");
1099
- }
1100
- if (isTriggerNode.value && hasIssues2.value) {
1101
- const activeNode = ndvStore.activeNode;
1102
- if (activeNode && activeNode.name !== props.nodeName) {
1103
- return i18n.baseText("ndv.execute.fixPrevious");
1104
- }
1105
- return i18n.baseText("ndv.execute.requiredFieldsMissing");
1106
- }
1107
- if (isWorkflowRunning.value && !isNodeRunning.value) {
1108
- return i18n.baseText("ndv.execute.workflowAlreadyRunning");
1109
- }
1110
- return "";
1111
- });
1112
- const tooltipText = computed(() => {
1113
- if (shouldGenerateCode.value) {
1114
- return i18n.baseText("ndv.execute.generateCodeAndTestNode.description");
1115
- }
1116
- if (disabledHint.value) return disabledHint.value;
1117
- if (props.tooltip && !isLoading.value && testStepButtonPopupCount() < MAX_POPUP_COUNT) {
1118
- return props.tooltip;
1119
- }
1120
- return "";
1121
- });
1122
- const buttonLabel = computed(() => {
1123
- if (isListeningForEvents.value || isListeningForWorkflowEvents.value) {
1124
- return i18n.baseText("ndv.execute.stopListening");
1125
- }
1126
- if (props.label) {
1127
- return props.label;
1128
- }
1129
- if (isChatNode.value) {
1130
- return i18n.baseText("ndv.execute.testChat");
1131
- }
1132
- if (isWebhookNode.value) {
1133
- return i18n.baseText("ndv.execute.listenForTestEvent");
1134
- }
1135
- if (isFormTriggerNode.value) {
1136
- return i18n.baseText("ndv.execute.testStep");
1137
- }
1138
- if (isPollingTypeNode.value || nodeType.value?.mockManualExecution) {
1139
- return i18n.baseText("ndv.execute.fetchEvent");
1140
- }
1141
- return i18n.baseText("ndv.execute.testNode");
1142
- });
1143
- const isLoading = computed(
1144
- () => codeGenerationInProgress.value || isNodeRunning.value && !isListeningForEvents.value && !isListeningForWorkflowEvents.value
1145
- );
1146
- const buttonIcon = computed(() => {
1147
- if (shouldGenerateCode.value) return "terminal";
1148
- if (!isListeningForEvents.value && !props.hideIcon) return "flask";
1149
- return void 0;
1150
- });
1151
- const shouldGenerateCode = computed(() => {
1152
- if (node2.value?.type !== AI_TRANSFORM_NODE_TYPE) {
1153
- return false;
1154
- }
1155
- if (!node2.value?.parameters?.instructions) {
1156
- return false;
1157
- }
1158
- if (!node2.value?.parameters?.jsCode) {
1159
- return true;
1160
- }
1161
- if (node2.value?.parameters[AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT] && (node2.value?.parameters?.instructions).trim() !== (node2.value?.parameters?.[AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT]).trim()) {
1162
- return true;
1163
- }
1164
- return false;
1165
- });
1166
- async function stopWaitingForWebhook() {
1167
- try {
1168
- await workflowsStore.removeTestWebhook(workflowsStore.workflowId);
1169
- } catch (error) {
1170
- toast.showError(error, "Error stopping webhook");
1171
- }
1172
- }
1173
- function testStepButtonPopupCount() {
1174
- return Number(localStorage.getItem(NODE_TEST_STEP_POPUP_COUNT_KEY));
1175
- }
1176
- function onMouseOver() {
1177
- const count = testStepButtonPopupCount();
1178
- if (count < MAX_POPUP_COUNT && !disabledHint.value && tooltipText.value) {
1179
- const now = Date.now();
1180
- if (!lastPopupCountUpdate.value || now - lastPopupCountUpdate.value >= POPUP_UPDATE_DELAY) {
1181
- localStorage.setItem(NODE_TEST_STEP_POPUP_COUNT_KEY, `${count + 1}`);
1182
- lastPopupCountUpdate.value = now;
1183
- }
1184
- }
1185
- }
1186
- async function onClick() {
1187
- if (shouldGenerateCode.value) {
1188
- codeGenerationInProgress.value = true;
1189
- try {
1190
- toast.showMessage({
1191
- title: i18n.baseText("ndv.execute.generateCode.title"),
1192
- message: i18n.baseText("ndv.execute.generateCode.message", {
1193
- interpolate: { nodeName: node2.value?.name }
1194
- }),
1195
- type: "success"
1196
- });
1197
- const prompt2 = node2.value?.parameters?.instructions;
1198
- const updateInformation = await generateCodeForAiTransform(
1199
- prompt2,
1200
- `parameters.${AI_TRANSFORM_JS_CODE}`,
1201
- 5
1202
- );
1203
- if (!updateInformation) return;
1204
- emit("valueChanged", updateInformation);
1205
- emit("valueChanged", {
1206
- name: `parameters.${AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT}`,
1207
- value: prompt2
1208
- });
1209
- useTelemetry().trackAiTransform("generationFinished", {
1210
- prompt: prompt2,
1211
- code: updateInformation.value
1212
- });
1213
- } catch (error) {
1214
- useTelemetry().trackAiTransform("generationFinished", {
1215
- prompt,
1216
- code: "",
1217
- hasError: true
1218
- });
1219
- toast.showMessage({
1220
- type: "error",
1221
- title: i18n.baseText("codeNodeEditor.askAi.generationFailed"),
1222
- message: error.message
1223
- });
1224
- }
1225
- codeGenerationInProgress.value = false;
1226
- }
1227
- if (isChatNode.value || isChatChild.value && ndvStore.isInputPanelEmpty) {
1228
- ndvStore.setActiveNodeName(null);
1229
- workflowsStore.chatPartialExecutionDestinationNode = props.nodeName;
1230
- nodeViewEventBus.emit("openChat");
1231
- } else if (isListeningForEvents.value) {
1232
- await stopWaitingForWebhook();
1233
- } else if (isListeningForWorkflowEvents.value) {
1234
- await stopCurrentExecution();
1235
- emit("stopExecution");
1236
- } else {
1237
- let shouldUnpinAndExecute = false;
1238
- if (pinnedData.hasData.value) {
1239
- const confirmResult = await message.confirm(
1240
- i18n.baseText("ndv.pinData.unpinAndExecute.description"),
1241
- i18n.baseText("ndv.pinData.unpinAndExecute.title"),
1242
- {
1243
- confirmButtonText: i18n.baseText("ndv.pinData.unpinAndExecute.confirm"),
1244
- cancelButtonText: i18n.baseText("ndv.pinData.unpinAndExecute.cancel")
1245
- }
1246
- );
1247
- shouldUnpinAndExecute = confirmResult === MODAL_CONFIRM;
1248
- if (shouldUnpinAndExecute && node2.value) {
1249
- pinnedData.unsetData("unpin-and-execute-modal");
1250
- }
1251
- }
1252
- if (!pinnedData.hasData.value || shouldUnpinAndExecute) {
1253
- const telemetryPayload = {
1254
- node_type: nodeType.value ? nodeType.value.name : null,
1255
- workflow_id: workflowsStore.workflowId,
1256
- source: props.telemetrySource,
1257
- push_ref: ndvStore.pushRef
1258
- };
1259
- telemetry.track("User clicked execute node button", telemetryPayload);
1260
- await externalHooks.run("nodeExecuteButton.onClick", telemetryPayload);
1261
- await runWorkflow({
1262
- destinationNode: props.nodeName,
1263
- source: "RunData.ExecuteNodeButton"
1264
- });
1265
- emit("execute");
1266
- }
1267
- }
1268
- }
1269
- return (_ctx, _cache) => {
1270
- const _component_N8nButton = resolveComponent("N8nButton");
1271
- const _component_N8nTooltip = resolveComponent("N8nTooltip");
1272
- return openBlock(), createBlock(_component_N8nTooltip, {
1273
- placement: "right",
1274
- disabled: !tooltipText.value,
1275
- content: tooltipText.value
1276
- }, {
1277
- default: withCtx(() => [
1278
- createVNode(_component_N8nButton, mergeProps(_ctx.$attrs, {
1279
- loading: isLoading.value,
1280
- disabled: _ctx.disabled || !!disabledHint.value,
1281
- label: buttonLabel.value,
1282
- type: _ctx.type,
1283
- size: _ctx.size,
1284
- icon: buttonIcon.value,
1285
- "transparent-background": _ctx.transparent,
1286
- title: !isTriggerNode.value && !tooltipText.value ? unref(i18n).baseText("ndv.execute.testNode.description") : "",
1287
- onMouseover: onMouseOver,
1288
- onClick
1289
- }), null, 16, ["loading", "disabled", "label", "type", "size", "icon", "transparent-background", "title"])
1290
- ]),
1291
- _: 1
1292
- }, 8, ["disabled", "content"]);
1293
- };
1294
- }
1295
- });
1011
+ const NDVSubConnections = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__cssModules", cssModules$c]]);
1296
1012
  function updateDynamicConnections(node2, workflowConnections, parameterData) {
1297
1013
  const connections2 = { ...workflowConnections };
1298
1014
  try {
@@ -1463,7 +1179,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
1463
1179
  icon: "check-circle"
1464
1180
  }, {
1465
1181
  default: withCtx(() => [
1466
- createVNode(_component_n8n_text, null, {
1182
+ createVNode(_component_n8n_text, { size: "small" }, {
1467
1183
  default: withCtx(() => [
1468
1184
  createTextVNode(toDisplayString(unref(i18n).baseText("freeAi.credits.callout.success.title.part1", {
1469
1185
  interpolate: { credits: unref(settingsStore).aiCreditsQuota }
@@ -1472,7 +1188,10 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
1472
1188
  _: 1
1473
1189
  }),
1474
1190
  _cache[0] || (_cache[0] = createTextVNode("  ")),
1475
- createVNode(_component_n8n_text, { bold: true }, {
1191
+ createVNode(_component_n8n_text, {
1192
+ size: "small",
1193
+ bold: "true"
1194
+ }, {
1476
1195
  default: withCtx(() => [
1477
1196
  createTextVNode(toDisplayString(unref(i18n).baseText("freeAi.credits.callout.success.title.part2")), 1)
1478
1197
  ]),
@@ -1509,7 +1228,7 @@ const _hoisted_10$1 = {
1509
1228
  class: "parameter-item parameter-notice",
1510
1229
  "data-test-id": "node-parameters-http-notice"
1511
1230
  };
1512
- const _hoisted_11$1 = {
1231
+ const _hoisted_11 = {
1513
1232
  class: "node-version",
1514
1233
  "data-test-id": "node-version"
1515
1234
  };
@@ -1715,7 +1434,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1715
1434
  (option) => option.value === nodeParameterValues[prop.name]
1716
1435
  );
1717
1436
  }
1718
- if (!hasValidOptions && displayParameter(nodeParameterValues, prop, node2.value)) {
1437
+ if (!hasValidOptions && displayParameter(nodeParameterValues, prop, node2.value, nodeType)) {
1719
1438
  unset(nodeParameterValues, prop.name);
1720
1439
  }
1721
1440
  });
@@ -1755,7 +1474,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1755
1474
  _node.parameters,
1756
1475
  false,
1757
1476
  false,
1758
- _node
1477
+ _node,
1478
+ nodeType
1759
1479
  );
1760
1480
  const oldNodeParameters = Object.assign({}, nodeParameters);
1761
1481
  nodeParameters = deepCopy(nodeParameters);
@@ -1792,7 +1512,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1792
1512
  nodeParameters,
1793
1513
  true,
1794
1514
  false,
1795
- _node
1515
+ _node,
1516
+ nodeType
1796
1517
  );
1797
1518
  for (const key of Object.keys(nodeParameters)) {
1798
1519
  if (nodeParameters && nodeParameters[key] !== null && nodeParameters[key] !== void 0) {
@@ -1818,7 +1539,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1818
1539
  _node.parameters,
1819
1540
  false,
1820
1541
  false,
1821
- _node
1542
+ _node,
1543
+ nodeType
1822
1544
  );
1823
1545
  const oldNodeParameters = Object.assign({}, nodeParameters);
1824
1546
  nodeParameters = deepCopy(nodeParameters);
@@ -1847,7 +1569,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1847
1569
  nodeParameters,
1848
1570
  true,
1849
1571
  false,
1850
- _node
1572
+ _node,
1573
+ nodeType
1851
1574
  );
1852
1575
  for (const key of Object.keys(nodeParameters)) {
1853
1576
  if (nodeParameters && nodeParameters[key] !== null && nodeParameters[key] !== void 0) {
@@ -2220,7 +1943,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2220
1943
  "onUpdate:modelValue": nameChanged
2221
1944
  }, null, 8, ["model-value", "node-type", "read-only"])) : createCommentVNode("", true),
2222
1945
  isExecutable.value ? (openBlock(), createElementBlock("div", _hoisted_2$5, [
2223
- !_ctx.blockUI && node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$h, {
1946
+ !_ctx.blockUI && node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$m, {
2224
1947
  key: 0,
2225
1948
  "data-test-id": "node-execute-button",
2226
1949
  "node-name": node2.value.name,
@@ -2234,7 +1957,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2234
1957
  }, null, 8, ["node-name", "disabled", "tooltip"])) : createCommentVNode("", true)
2235
1958
  ])) : createCommentVNode("", true)
2236
1959
  ]),
2237
- node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$k, {
1960
+ node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$j, {
2238
1961
  key: 0,
2239
1962
  "model-value": openPanel.value,
2240
1963
  "node-type": _ctx.nodeType,
@@ -2380,7 +2103,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2380
2103
  onValueChanged: valueChanged,
2381
2104
  onParameterBlur
2382
2105
  }, null, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"]),
2383
- createBaseVNode("div", _hoisted_11$1, [
2106
+ createBaseVNode("div", _hoisted_11, [
2384
2107
  createTextVNode(toDisplayString(unref(i18n).baseText("nodeSettings.nodeVersion", {
2385
2108
  interpolate: {
2386
2109
  node: _ctx.nodeType?.displayName,
@@ -2417,7 +2140,7 @@ const style0$a = {
2417
2140
  const cssModules$b = {
2418
2141
  "$style": style0$a
2419
2142
  };
2420
- const NodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__cssModules", cssModules$b], ["__scopeId", "data-v-709d94a0"]]);
2143
+ const NodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__cssModules", cssModules$b], ["__scopeId", "data-v-18fbbe4a"]]);
2421
2144
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
2422
2145
  __name: "PanelDragButton",
2423
2146
  props: {
@@ -2572,7 +2295,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2572
2295
  /* left */
2573
2296
  ]: getINodesFromNames(
2574
2297
  workflow.getParentNodes(rootName, NodeConnectionTypes.Main, 1)
2575
- )
2298
+ ).reverse()
2576
2299
  };
2577
2300
  });
2578
2301
  const connectionGroups = [
@@ -2633,7 +2356,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
2633
2356
  "data-node-placement": connectionGroup,
2634
2357
  onClick: ($event) => emit("switchSelectedNode", node2.name)
2635
2358
  }, [
2636
- createVNode(_sfc_main$m, {
2359
+ createVNode(_sfc_main$l, {
2637
2360
  "node-type": nodeType,
2638
2361
  "node-name": node2.name,
2639
2362
  "tooltip-position": tooltipPositionMapper[connectionGroup],
@@ -3644,17 +3367,15 @@ const _hoisted_1$4 = {
3644
3367
  key: 0,
3645
3368
  class: "ml-4xs"
3646
3369
  };
3647
- const _hoisted_2$1 = ["href"];
3648
- const _hoisted_3$1 = { key: 0 };
3649
- const _hoisted_4$1 = ["href"];
3650
- const _hoisted_5$1 = { key: 1 };
3370
+ const _hoisted_2$1 = { key: 0 };
3371
+ const _hoisted_3$1 = { key: 1 };
3372
+ const _hoisted_4$1 = { key: 0 };
3373
+ const _hoisted_5$1 = ["data-test-id"];
3651
3374
  const _hoisted_6$1 = { key: 0 };
3652
- const _hoisted_7$1 = ["data-test-id"];
3653
- const _hoisted_8$1 = { key: 0 };
3654
- const _hoisted_9 = { key: 1 };
3655
- const _hoisted_10 = { key: 2 };
3656
- const _hoisted_11 = { key: 3 };
3657
- const _hoisted_12 = { key: 4 };
3375
+ const _hoisted_7$1 = { key: 1 };
3376
+ const _hoisted_8$1 = { key: 2 };
3377
+ const _hoisted_9 = { key: 3 };
3378
+ const _hoisted_10 = { key: 4 };
3658
3379
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3659
3380
  __name: "RunData",
3660
3381
  props: {
@@ -3682,19 +3403,19 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3682
3403
  emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted"],
3683
3404
  setup(__props, { expose: __expose, emit: __emit }) {
3684
3405
  const LazyRunDataTable = defineAsyncComponent(
3685
- async () => await __vitePreload(() => import("./RunDataTable-nsOk35pD.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
3406
+ async () => await __vitePreload(() => import("./RunDataTable-DsW7wuc2.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
3686
3407
  );
3687
3408
  const LazyRunDataJson = defineAsyncComponent(
3688
- async () => await __vitePreload(() => import("./RunDataJson-ClpS_600.js"), true ? __vite__mapDeps([5,1,2,6,7,8,9,10,11,3,12,13,14]) : void 0)
3409
+ async () => await __vitePreload(() => import("./RunDataJson-CyNNCtyd.js"), true ? __vite__mapDeps([6,1,2,7,8,9,10,3,4,11,12,13]) : void 0)
3689
3410
  );
3690
3411
  const LazyRunDataSchema = defineAsyncComponent(
3691
- async () => await __vitePreload(() => import("./index-DZljH0cm.js").then((n) => n.il), true ? __vite__mapDeps([1,2]) : void 0)
3412
+ async () => await __vitePreload(() => import("./index-DD7Wuhk5.js").then((n) => n.im), true ? __vite__mapDeps([1,2]) : void 0)
3692
3413
  );
3693
3414
  const LazyRunDataHtml = defineAsyncComponent(
3694
3415
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
3695
3416
  );
3696
3417
  const LazyRunDataSearch = defineAsyncComponent(
3697
- async () => await __vitePreload(() => import("./RunDataSearch-Dgv5JYk-.js"), true ? __vite__mapDeps([15,1,2,16]) : void 0)
3418
+ async () => await __vitePreload(() => import("./RunDataSearch-BF9kshKq.js"), true ? __vite__mapDeps([14,1,2,15]) : void 0)
3698
3419
  );
3699
3420
  const props = __props;
3700
3421
  const emit = __emit;
@@ -3726,7 +3447,6 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3726
3447
  const externalHooks = useExternalHooks();
3727
3448
  const telemetry = useTelemetry();
3728
3449
  const i18n = useI18n();
3729
- const { trackOpeningRelatedExecution, resolveRelatedExecutionUrl } = useExecutionHelpers();
3730
3450
  const node2 = toRef$1(props, "node");
3731
3451
  const pinnedData = usePinnedData(node2, {
3732
3452
  runIndex: props.runIndex,
@@ -3993,11 +3713,6 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3993
3713
  }
3994
3714
  return workflowRunData.value?.[node2.value.name]?.[props.runIndex]?.metadata ?? null;
3995
3715
  });
3996
- const hasRelatedExecution = computed(() => {
3997
- return Boolean(
3998
- activeTaskMetadata.value?.subExecution ?? activeTaskMetadata.value?.parentExecution
3999
- );
4000
- });
4001
3716
  const hasInputOverwrite = computed(() => {
4002
3717
  if (!node2.value) {
4003
3718
  return false;
@@ -4594,26 +4309,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4594
4309
  search2.value = "";
4595
4310
  document.dispatchEvent(new KeyboardEvent("keyup", { key: "/" }));
4596
4311
  }
4597
- function getExecutionLinkLabel(task) {
4598
- if (task.parentExecution) {
4599
- return i18n.baseText("runData.openParentExecution", {
4600
- interpolate: { id: task.parentExecution.executionId }
4601
- });
4602
- }
4603
- if (task.subExecution) {
4604
- if (activeTaskMetadata.value?.subExecutionsCount === 1) {
4605
- return i18n.baseText("runData.openSubExecutionSingle");
4606
- } else {
4607
- return i18n.baseText("runData.openSubExecutionWithId", {
4608
- interpolate: { id: task.subExecution.executionId }
4609
- });
4610
- }
4611
- }
4612
- return;
4613
- }
4614
4312
  __expose({ enterEditMode });
4615
4313
  return (_ctx, _cache) => {
4616
- const _component_N8nIcon = resolveComponent("N8nIcon");
4617
4314
  const _component_i18n_t = resolveComponent("i18n-t");
4618
4315
  const _component_el_pagination = resolveComponent("el-pagination");
4619
4316
  const _directive_n8n_html = resolveDirective("n8n-html");
@@ -4809,20 +4506,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4809
4506
  })) : createCommentVNode("", true),
4810
4507
  renderSlot(_ctx.$slots, "run-info", {}, void 0, true)
4811
4508
  ], 2),
4812
- activeTaskMetadata.value && hasRelatedExecution.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createElementBlock("a", {
4509
+ activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4813
4510
  key: 0,
4814
- class: normalizeClass(_ctx.$style.relatedExecutionInfo),
4815
- "data-test-id": "related-execution-link",
4816
- href: unref(resolveRelatedExecutionUrl)(activeTaskMetadata.value),
4817
- target: "_blank",
4818
- onClick: _cache[6] || (_cache[6] = withModifiers(($event) => unref(trackOpeningRelatedExecution)(activeTaskMetadata.value, displayMode.value), ["stop"]))
4819
- }, [
4820
- createVNode(_component_N8nIcon, {
4821
- icon: "external-link-alt",
4822
- size: "xsmall"
4823
- }),
4824
- createTextVNode(" " + toDisplayString(getExecutionLinkLabel(activeTaskMetadata.value)), 1)
4825
- ], 10, _hoisted_2$1)) : createCommentVNode("", true)
4511
+ "task-metadata": activeTaskMetadata.value,
4512
+ "display-mode": displayMode.value
4513
+ }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true)
4826
4514
  ], 2)), [
4827
4515
  [vShow, !editMode2.value.enabled]
4828
4516
  ]) : createCommentVNode("", true),
@@ -4864,6 +4552,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4864
4552
  "data-test-id": "branches"
4865
4553
  }, [
4866
4554
  inputSelectLocation.value === "outputs" ? renderSlot(_ctx.$slots, "input-select", { key: 0 }, void 0, true) : createCommentVNode("", true),
4555
+ activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4556
+ key: 1,
4557
+ "task-metadata": activeTaskMetadata.value,
4558
+ "display-mode": displayMode.value
4559
+ }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true),
4867
4560
  createBaseVNode("div", {
4868
4561
  class: normalizeClass(_ctx.$style.tabs)
4869
4562
  }, [
@@ -4886,7 +4579,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4886
4579
  default: withCtx(() => [
4887
4580
  createTextVNode(toDisplayString(unref(i18n).baseText("ndv.search.items", {
4888
4581
  adjustToNumber: unfilteredDataCount.value,
4889
- interpolate: { matched: dataCount.value, total: unfilteredDataCount.value }
4582
+ interpolate: { matched: dataCount.value, count: unfilteredDataCount.value }
4890
4583
  })), 1)
4891
4584
  ]),
4892
4585
  _: 1
@@ -4899,27 +4592,18 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4899
4592
  adjustToNumber: dataCount.value,
4900
4593
  interpolate: { count: dataCount.value }
4901
4594
  })), 1),
4902
- activeTaskMetadata.value?.subExecutionsCount ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(unref(i18n).baseText("ndv.output.andSubExecutions", {
4595
+ activeTaskMetadata.value?.subExecutionsCount ? (openBlock(), createElementBlock("span", _hoisted_2$1, toDisplayString(unref(i18n).baseText("ndv.output.andSubExecutions", {
4903
4596
  adjustToNumber: activeTaskMetadata.value.subExecutionsCount,
4904
4597
  interpolate: { count: activeTaskMetadata.value.subExecutionsCount }
4905
4598
  })), 1)) : createCommentVNode("", true)
4906
4599
  ]),
4907
4600
  _: 1
4908
4601
  }, 8, ["class"])),
4909
- activeTaskMetadata.value && hasRelatedExecution.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createElementBlock("a", {
4602
+ activeTaskMetadata.value && !(_ctx.paneType === "input" && hasInputOverwrite.value) ? (openBlock(), createBlock(ViewSubExecution, {
4910
4603
  key: 3,
4911
- class: normalizeClass(_ctx.$style.relatedExecutionInfo),
4912
- "data-test-id": "related-execution-link",
4913
- href: unref(resolveRelatedExecutionUrl)(activeTaskMetadata.value),
4914
- target: "_blank",
4915
- onClick: _cache[7] || (_cache[7] = withModifiers(($event) => unref(trackOpeningRelatedExecution)(activeTaskMetadata.value, displayMode.value), ["stop"]))
4916
- }, [
4917
- createVNode(_component_N8nIcon, {
4918
- icon: "external-link-alt",
4919
- size: "xsmall"
4920
- }),
4921
- createTextVNode(" " + toDisplayString(getExecutionLinkLabel(activeTaskMetadata.value)), 1)
4922
- ], 10, _hoisted_4$1)) : createCommentVNode("", true)
4604
+ "task-metadata": activeTaskMetadata.value,
4605
+ "display-mode": displayMode.value
4606
+ }, null, 8, ["task-metadata", "display-mode"])) : createCommentVNode("", true)
4923
4607
  ], 2)), [
4924
4608
  [vShow, !editMode2.value.enabled]
4925
4609
  ]) : createCommentVNode("", true),
@@ -4955,7 +4639,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4955
4639
  createVNode(JsonEditor, {
4956
4640
  "model-value": editMode2.value.value,
4957
4641
  "fill-parent": true,
4958
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => unref(ndvStore).setOutputPanelEditModeValue($event))
4642
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(ndvStore).setOutputPanelEditModeValue($event))
4959
4643
  }, null, 8, ["model-value"])
4960
4644
  ], 2),
4961
4645
  createBaseVNode("div", {
@@ -4993,7 +4677,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4993
4677
  class: normalizeClass(_ctx.$style.center)
4994
4678
  }, [
4995
4679
  renderSlot(_ctx.$slots, "node-waiting", {}, () => [
4996
- _cache[11] || (_cache[11] = createTextVNode("xxx"))
4680
+ _cache[9] || (_cache[9] = createTextVNode("xxx"))
4997
4681
  ], true)
4998
4682
  ], 2)) : !hasNodeRun.value && !(displaysMultipleNodes.value && (node2.value?.disabled || unref(hasPreviewSchema))) ? (openBlock(), createElementBlock("div", {
4999
4683
  key: 4,
@@ -5076,7 +4760,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5076
4760
  })), 1)
5077
4761
  ]),
5078
4762
  _: 1
5079
- }, 8, ["class"])) : _ctx.$slots["content"] ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
4763
+ }, 8, ["class"])) : _ctx.$slots["content"] ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
5080
4764
  workflowRunErrorAsNodeError.value ? (openBlock(), createBlock(_sfc_main$r, {
5081
4765
  key: 0,
5082
4766
  error: workflowRunErrorAsNodeError.value,
@@ -5093,7 +4777,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5093
4777
  key: 10,
5094
4778
  class: normalizeClass(_ctx.$style.center)
5095
4779
  }, [
5096
- search2.value ? (openBlock(), createElementBlock("div", _hoisted_6$1, [
4780
+ search2.value ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
5097
4781
  createVNode(unref(N8nText), {
5098
4782
  tag: "h3",
5099
4783
  size: "large"
@@ -5131,7 +4815,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5131
4815
  class: normalizeClass(_ctx.$style.center)
5132
4816
  }, [
5133
4817
  renderSlot(_ctx.$slots, "no-output-data", {}, () => [
5134
- _cache[12] || (_cache[12] = createTextVNode("xxx"))
4818
+ _cache[10] || (_cache[10] = createTextVNode("xxx"))
5135
4819
  ], true)
5136
4820
  ], 2)) : hasNodeRun.value && !showData.value ? (openBlock(), createElementBlock("div", {
5137
4821
  key: 12,
@@ -5172,7 +4856,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5172
4856
  createVNode(unref(N8nButton), {
5173
4857
  size: "small",
5174
4858
  label: unref(i18n).baseText("runData.downloadBinaryData"),
5175
- onClick: _cache[9] || (_cache[9] = ($event) => downloadJsonData())
4859
+ onClick: _cache[7] || (_cache[7] = ($event) => downloadJsonData())
5176
4860
  }, null, 8, ["label"])
5177
4861
  ], 2)) : hasNodeRun.value && _ctx.$slots["content"] ? renderSlot(_ctx.$slots, "content", { key: 13 }, 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", {
5178
4862
  key: 14,
@@ -5227,7 +4911,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5227
4911
  "total-runs": maxRunIndex.value,
5228
4912
  "has-default-hover-state": _ctx.paneType === "input" && !search2.value,
5229
4913
  search: search2.value,
5230
- onMounted: _cache[10] || (_cache[10] = ($event) => emit("tableMounted", $event)),
4914
+ onMounted: _cache[8] || (_cache[8] = ($event) => emit("tableMounted", $event)),
5231
4915
  onActiveRowChanged: onItemHover,
5232
4916
  onDisplayModeChange
5233
4917
  }, null, 8, ["node", "input-data", "mapping-enabled", "distance-from-active", "run-index", "page-offset", "total-runs", "has-default-hover-state", "search"])
@@ -5312,7 +4996,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5312
4996
  createBaseVNode("div", {
5313
4997
  class: normalizeClass(_ctx.$style.binaryHeader)
5314
4998
  }, toDisplayString(key), 3),
5315
- binaryData2.fileName ? (openBlock(), createElementBlock("div", _hoisted_8$1, [
4999
+ binaryData2.fileName ? (openBlock(), createElementBlock("div", _hoisted_6$1, [
5316
5000
  createBaseVNode("div", null, [
5317
5001
  createVNode(unref(N8nText), {
5318
5002
  size: "small",
@@ -5328,7 +5012,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5328
5012
  class: normalizeClass(_ctx.$style.binaryValue)
5329
5013
  }, toDisplayString(binaryData2.fileName), 3)
5330
5014
  ])) : createCommentVNode("", true),
5331
- binaryData2.directory ? (openBlock(), createElementBlock("div", _hoisted_9, [
5015
+ binaryData2.directory ? (openBlock(), createElementBlock("div", _hoisted_7$1, [
5332
5016
  createBaseVNode("div", null, [
5333
5017
  createVNode(unref(N8nText), {
5334
5018
  size: "small",
@@ -5344,7 +5028,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5344
5028
  class: normalizeClass(_ctx.$style.binaryValue)
5345
5029
  }, toDisplayString(binaryData2.directory), 3)
5346
5030
  ])) : createCommentVNode("", true),
5347
- binaryData2.fileExtension ? (openBlock(), createElementBlock("div", _hoisted_10, [
5031
+ binaryData2.fileExtension ? (openBlock(), createElementBlock("div", _hoisted_8$1, [
5348
5032
  createBaseVNode("div", null, [
5349
5033
  createVNode(unref(N8nText), {
5350
5034
  size: "small",
@@ -5360,7 +5044,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5360
5044
  class: normalizeClass(_ctx.$style.binaryValue)
5361
5045
  }, toDisplayString(binaryData2.fileExtension), 3)
5362
5046
  ])) : createCommentVNode("", true),
5363
- binaryData2.mimeType ? (openBlock(), createElementBlock("div", _hoisted_11, [
5047
+ binaryData2.mimeType ? (openBlock(), createElementBlock("div", _hoisted_9, [
5364
5048
  createBaseVNode("div", null, [
5365
5049
  createVNode(unref(N8nText), {
5366
5050
  size: "small",
@@ -5376,7 +5060,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5376
5060
  class: normalizeClass(_ctx.$style.binaryValue)
5377
5061
  }, toDisplayString(binaryData2.mimeType), 3)
5378
5062
  ])) : createCommentVNode("", true),
5379
- binaryData2.fileSize ? (openBlock(), createElementBlock("div", _hoisted_12, [
5063
+ binaryData2.fileSize ? (openBlock(), createElementBlock("div", _hoisted_10, [
5380
5064
  createBaseVNode("div", null, [
5381
5065
  createVNode(unref(N8nText), {
5382
5066
  size: "small",
@@ -5411,7 +5095,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5411
5095
  onClick: ($event) => downloadBinaryData(index, key)
5412
5096
  }, null, 8, ["label", "onClick"])) : createCommentVNode("", true)
5413
5097
  ], 2)
5414
- ], 8, _hoisted_7$1)
5098
+ ], 8, _hoisted_5$1)
5415
5099
  ], 2);
5416
5100
  }), 128))
5417
5101
  ], 2)
@@ -5473,45 +5157,44 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5473
5157
  };
5474
5158
  }
5475
5159
  });
5476
- const infoIcon = "_infoIcon_e9ynn_123";
5477
- const center = "_center_e9ynn_127";
5478
- const container$1 = "_container_e9ynn_141";
5479
- const pinnedDataCallout = "_pinnedDataCallout_e9ynn_150";
5480
- const header$1 = "_header_e9ynn_158";
5481
- const dataContainer = "_dataContainer_e9ynn_173";
5482
- const dataDisplay = "_dataDisplay_e9ynn_182";
5483
- const inlineError = "_inlineError_e9ynn_194";
5484
- const outputs = "_outputs_e9ynn_201";
5485
- const tabs = "_tabs_e9ynn_210";
5486
- const itemsCount = "_itemsCount_e9ynn_218";
5487
- const itemsText = "_itemsText_e9ynn_227";
5488
- const muted = "_muted_e9ynn_233";
5489
- const inputSelect = "_inputSelect_e9ynn_238";
5490
- const runSelector = "_runSelector_e9ynn_244";
5491
- const runSelectorInner = "_runSelectorInner_e9ynn_257";
5492
- const runSelectorSelect = "_runSelectorSelect_e9ynn_263";
5493
- const search = "_search_e9ynn_267";
5494
- const pagination = "_pagination_e9ynn_271";
5495
- const pageSizeSelector = "_pageSizeSelector_e9ynn_281";
5496
- const binaryIndex = "_binaryIndex_e9ynn_287";
5497
- const binaryRow = "_binaryRow_e9ynn_304";
5498
- const binaryCell = "_binaryCell_e9ynn_309";
5499
- const binaryHeader = "_binaryHeader_e9ynn_321";
5500
- const binaryButtonContainer = "_binaryButtonContainer_e9ynn_330";
5501
- const binaryValue = "_binaryValue_e9ynn_341";
5502
- const displayModes = "_displayModes_e9ynn_346";
5503
- const tooltipContain = "_tooltipContain_e9ynn_353";
5504
- const spinner = "_spinner_e9ynn_357";
5505
- const editMode = "_editMode_e9ynn_368";
5506
- const editModeBody = "_editModeBody_e9ynn_377";
5507
- const editModeFooter = "_editModeFooter_e9ynn_384";
5508
- const editModeFooterInfotip = "_editModeFooterInfotip_e9ynn_394";
5509
- const editModeActions = "_editModeActions_e9ynn_400";
5510
- const stretchVertically = "_stretchVertically_e9ynn_407";
5511
- const uiBlocker = "_uiBlocker_e9ynn_411";
5512
- const hintCallout = "_hintCallout_e9ynn_416";
5513
- const schema = "_schema_e9ynn_422";
5514
- const relatedExecutionInfo = "_relatedExecutionInfo_e9ynn_426";
5160
+ const infoIcon = "_infoIcon_1vmxg_123";
5161
+ const center = "_center_1vmxg_127";
5162
+ const container$1 = "_container_1vmxg_141";
5163
+ const pinnedDataCallout = "_pinnedDataCallout_1vmxg_150";
5164
+ const header$1 = "_header_1vmxg_158";
5165
+ const dataContainer = "_dataContainer_1vmxg_173";
5166
+ const dataDisplay = "_dataDisplay_1vmxg_182";
5167
+ const inlineError = "_inlineError_1vmxg_194";
5168
+ const outputs = "_outputs_1vmxg_201";
5169
+ const tabs = "_tabs_1vmxg_210";
5170
+ const itemsCount = "_itemsCount_1vmxg_218";
5171
+ const itemsText = "_itemsText_1vmxg_227";
5172
+ const muted = "_muted_1vmxg_233";
5173
+ const inputSelect = "_inputSelect_1vmxg_238";
5174
+ const runSelector = "_runSelector_1vmxg_244";
5175
+ const runSelectorInner = "_runSelectorInner_1vmxg_257";
5176
+ const runSelectorSelect = "_runSelectorSelect_1vmxg_263";
5177
+ const search = "_search_1vmxg_267";
5178
+ const pagination = "_pagination_1vmxg_271";
5179
+ const pageSizeSelector = "_pageSizeSelector_1vmxg_281";
5180
+ const binaryIndex = "_binaryIndex_1vmxg_287";
5181
+ const binaryRow = "_binaryRow_1vmxg_304";
5182
+ const binaryCell = "_binaryCell_1vmxg_309";
5183
+ const binaryHeader = "_binaryHeader_1vmxg_321";
5184
+ const binaryButtonContainer = "_binaryButtonContainer_1vmxg_330";
5185
+ const binaryValue = "_binaryValue_1vmxg_341";
5186
+ const displayModes = "_displayModes_1vmxg_346";
5187
+ const tooltipContain = "_tooltipContain_1vmxg_353";
5188
+ const spinner = "_spinner_1vmxg_357";
5189
+ const editMode = "_editMode_1vmxg_368";
5190
+ const editModeBody = "_editModeBody_1vmxg_377";
5191
+ const editModeFooter = "_editModeFooter_1vmxg_384";
5192
+ const editModeFooterInfotip = "_editModeFooterInfotip_1vmxg_394";
5193
+ const editModeActions = "_editModeActions_1vmxg_400";
5194
+ const stretchVertically = "_stretchVertically_1vmxg_407";
5195
+ const uiBlocker = "_uiBlocker_1vmxg_411";
5196
+ const hintCallout = "_hintCallout_1vmxg_416";
5197
+ const schema = "_schema_1vmxg_422";
5515
5198
  const style0$5 = {
5516
5199
  infoIcon,
5517
5200
  center,
@@ -5519,7 +5202,7 @@ const style0$5 = {
5519
5202
  pinnedDataCallout,
5520
5203
  header: header$1,
5521
5204
  dataContainer,
5522
- "actions-group": "_actions-group_e9ynn_178",
5205
+ "actions-group": "_actions-group_1vmxg_178",
5523
5206
  dataDisplay,
5524
5207
  inlineError,
5525
5208
  outputs,
@@ -5551,13 +5234,12 @@ const style0$5 = {
5551
5234
  stretchVertically,
5552
5235
  uiBlocker,
5553
5236
  hintCallout,
5554
- schema,
5555
- relatedExecutionInfo
5237
+ schema
5556
5238
  };
5557
5239
  const cssModules$6 = {
5558
5240
  "$style": style0$5
5559
5241
  };
5560
- const RunData = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$6], ["__scopeId", "data-v-314857bc"]]);
5242
+ const RunData = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$6], ["__scopeId", "data-v-7bd2e155"]]);
5561
5243
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
5562
5244
  __name: "RunInfo",
5563
5245
  props: {
@@ -6160,7 +5842,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6160
5842
  "onUpdate:modelValue": onInputNodeChange
6161
5843
  }, {
6162
5844
  prefix: withCtx(() => [
6163
- createVNode(_sfc_main$m, {
5845
+ createVNode(_sfc_main$l, {
6164
5846
  disabled: selectedInputNode.value?.disabled,
6165
5847
  "node-type": selectedInputNodeType.value,
6166
5848
  size: 14,
@@ -6177,7 +5859,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6177
5859
  "data-test-id": "ndv-input-option"
6178
5860
  }, {
6179
5861
  default: withCtx(() => [
6180
- createVNode(_sfc_main$m, {
5862
+ createVNode(_sfc_main$l, {
6181
5863
  disabled: node2.disabled,
6182
5864
  "node-type": type,
6183
5865
  size: 14,
@@ -6580,7 +6262,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6580
6262
  ])
6581
6263
  ]),
6582
6264
  default: withCtx(() => [
6583
- createVNode(_sfc_main$h, {
6265
+ createVNode(_sfc_main$m, {
6584
6266
  type: "secondary",
6585
6267
  "hide-icon": "",
6586
6268
  transparent: true,
@@ -7047,7 +6729,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7047
6729
  hasIssues2.value || hideContent.value ? (openBlock(), createElementBlock("div", _hoisted_1$1)) : isListeningForEvents.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
7048
6730
  createVNode(_component_n8n_pulse, null, {
7049
6731
  default: withCtx(() => [
7050
- createVNode(_sfc_main$m, {
6732
+ createVNode(_sfc_main$l, {
7051
6733
  "node-type": nodeType.value,
7052
6734
  size: 40
7053
6735
  }, null, 8, ["node-type"])
@@ -7088,7 +6770,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7088
6770
  "copy-button-text": unref(i18n).baseText("generic.clickToCopy"),
7089
6771
  onCopy: onTestLinkCopied
7090
6772
  }, null, 8, ["value", "toast-title", "copy-button-text"]),
7091
- createVNode(_sfc_main$h, {
6773
+ createVNode(_sfc_main$m, {
7092
6774
  "data-test-id": "trigger-execute-button",
7093
6775
  "node-name": _ctx.nodeName,
7094
6776
  size: "medium",
@@ -7129,7 +6811,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7129
6811
  _: 1
7130
6812
  })
7131
6813
  ])) : createCommentVNode("", true),
7132
- createVNode(_sfc_main$h, {
6814
+ createVNode(_sfc_main$m, {
7133
6815
  "data-test-id": "trigger-execute-button",
7134
6816
  "node-name": _ctx.nodeName,
7135
6817
  size: "medium",
@@ -7166,7 +6848,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7166
6848
  _: 1
7167
6849
  })) : createCommentVNode("", true)
7168
6850
  ], 2),
7169
- createVNode(_sfc_main$h, {
6851
+ createVNode(_sfc_main$m, {
7170
6852
  "data-test-id": "trigger-execute-button",
7171
6853
  "node-name": _ctx.nodeName,
7172
6854
  size: "medium",
@@ -7267,9 +6949,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7267
6949
  const { APP_Z_INDEXES } = useStyles();
7268
6950
  const settingsEventBus = createEventBus();
7269
6951
  const redrawRequired = ref(false);
7270
- const runInputIndex = ref(-1);
7271
- const runOutputIndex = ref(-1);
7272
- const isLinkingEnabled = ref(true);
7273
6952
  const selectedInput = ref();
7274
6953
  const triggerWaitingWarningEnabled = ref(false);
7275
6954
  const isDragging = ref(false);
@@ -7380,9 +7059,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7380
7059
  }
7381
7060
  return 0;
7382
7061
  });
7383
- const outputRun = computed(
7384
- () => runOutputIndex.value === -1 ? maxOutputRun.value : Math.min(runOutputIndex.value, maxOutputRun.value)
7385
- );
7386
7062
  const maxInputRun = computed(() => {
7387
7063
  if (inputNode.value === null || activeNode.value === null) {
7388
7064
  return 0;
@@ -7409,14 +7085,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7409
7085
  }
7410
7086
  return 0;
7411
7087
  });
7088
+ const isLinkingEnabled = computed(() => ndvStore.isRunIndexLinkingEnabled);
7089
+ const outputRun = computed(
7090
+ () => ndvStore.output.run === -1 ? maxOutputRun.value : Math.min(ndvStore.output.run, maxOutputRun.value)
7091
+ );
7412
7092
  const inputRun = computed(() => {
7413
7093
  if (isLinkingEnabled.value && maxOutputRun.value === maxInputRun.value) {
7414
7094
  return outputRun.value;
7415
7095
  }
7416
- if (runInputIndex.value === -1) {
7096
+ if (ndvStore.input.run === -1) {
7417
7097
  return maxInputRun.value;
7418
7098
  }
7419
- return Math.min(runInputIndex.value, maxInputRun.value);
7099
+ return Math.min(ndvStore.input.run, maxInputRun.value);
7420
7100
  });
7421
7101
  const canLinkRuns = computed(
7422
7102
  () => maxOutputRun.value > 0 && maxOutputRun.value === maxInputRun.value
@@ -7528,12 +7208,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7528
7208
  mainPanelPosition.value = e.position;
7529
7209
  };
7530
7210
  const onLinkRunToOutput = () => {
7531
- isLinkingEnabled.value = true;
7211
+ ndvStore.setRunIndexLinkingEnabled(true);
7532
7212
  trackLinking("output");
7533
7213
  };
7534
7214
  const onUnlinkRun = (pane) => {
7535
- runInputIndex.value = runOutputIndex.value;
7536
- isLinkingEnabled.value = false;
7215
+ ndvStore.setInputRunIndex(outputRun.value);
7216
+ ndvStore.setRunIndexLinkingEnabled(false);
7537
7217
  trackLinking(pane);
7538
7218
  };
7539
7219
  const onNodeExecute = () => {
@@ -7556,8 +7236,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7556
7236
  });
7557
7237
  };
7558
7238
  const onLinkRunToInput = () => {
7559
- runOutputIndex.value = runInputIndex.value;
7560
- isLinkingEnabled.value = true;
7239
+ ndvStore.setOutputRunIndex(inputRun.value);
7240
+ ndvStore.setRunIndexLinkingEnabled(true);
7561
7241
  trackLinking("input");
7562
7242
  };
7563
7243
  const valueChanged = (parameterData) => {
@@ -7617,22 +7297,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7617
7297
  });
7618
7298
  };
7619
7299
  const onRunOutputIndexChange = (run) => {
7620
- runOutputIndex.value = run;
7300
+ ndvStore.setOutputRunIndex(run);
7621
7301
  trackRunChange(run, "output");
7622
7302
  };
7623
7303
  const onRunInputIndexChange = (run) => {
7624
- runInputIndex.value = run;
7625
- if (linked.value) {
7626
- runOutputIndex.value = run;
7627
- }
7304
+ ndvStore.setInputRunIndex(run);
7628
7305
  trackRunChange(run, "input");
7629
7306
  };
7630
7307
  const onOutputTableMounted = (e) => {
7631
7308
  avgOutputRowHeight.value = e.avgRowHeight;
7632
7309
  };
7633
7310
  const onInputNodeChange = (value, index) => {
7634
- runInputIndex.value = -1;
7635
- isLinkingEnabled.value = true;
7311
+ ndvStore.setInputRunIndex(-1);
7312
+ ndvStore.setRunIndexLinkingEnabled(true);
7636
7313
  selectedInput.value = value;
7637
7314
  telemetry.track("User changed ndv input dropdown", {
7638
7315
  node_type: activeNode.value ? activeNode.value.type : "",
@@ -7671,9 +7348,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7671
7348
  unregisterKeyboardListener();
7672
7349
  }
7673
7350
  if (node2 && node2.name !== oldNode?.name && !isActiveStickyNode.value) {
7674
- runInputIndex.value = -1;
7675
- runOutputIndex.value = -1;
7676
- isLinkingEnabled.value = true;
7677
7351
  selectedInput.value = void 0;
7678
7352
  triggerWaitingWarningEnabled.value = false;
7679
7353
  avgOutputRowHeight.value = 0;
@@ -7718,22 +7392,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7718
7392
  },
7719
7393
  { immediate: true }
7720
7394
  );
7721
- watch(maxOutputRun, () => {
7722
- runOutputIndex.value = -1;
7723
- });
7724
- watch(maxInputRun, () => {
7725
- runInputIndex.value = -1;
7726
- });
7727
7395
  watch(inputNodeName, (nodeName) => {
7728
7396
  setTimeout(() => {
7729
7397
  ndvStore.setInputNodeName(nodeName);
7730
7398
  }, 0);
7731
7399
  });
7732
- watch(inputRun, (inputRun2) => {
7733
- setTimeout(() => {
7734
- ndvStore.setInputRunIndex(inputRun2);
7735
- }, 0);
7736
- });
7737
7400
  onMounted(() => {
7738
7401
  dataPinningEventBus.on("data-pinning-discovery", setIsTooltipVisible);
7739
7402
  });