n8n-editor-ui 1.102.0 → 1.103.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 (115) hide show
  1. package/dist/assets/{ActionDropdown-D-JmCYsp.js → ActionDropdown-oe2q-18e.js} +1 -1
  2. package/dist/assets/{AnimatedSpinner-BiuDg2x2.js → AnimatedSpinner-DNQK2Lvb.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-Bp194Fz4.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CTPMm7Da.js} +1 -1
  4. package/dist/assets/{AuthView-DF-20OPE.js → AuthView-BLYDBurX.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-DSn8-M1-.js → ChangePasswordView-D_oe3bys.js} +3 -3
  6. package/dist/assets/CollectionParameter-DMWMZwmI.js +4 -0
  7. package/dist/assets/{CredentialsView-IQx76pD4.js → CredentialsView-yjXzQeha.js} +8 -8
  8. package/dist/assets/{DemoFooter-49OiW0k2.js → DemoFooter-CLoho_f5.js} +8 -8
  9. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-FNKd4r6R.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-Dtt1q_gN.js} +1 -1
  10. package/dist/assets/{EntityNotFound-DScKsOtg.js → EntityNotFound-DKLj80gn.js} +1 -1
  11. package/dist/assets/{EntityUnAuthorised-DweZmhgI.js → EntityUnAuthorised-BUd46dmn.js} +1 -1
  12. package/dist/assets/{ErrorView-CNDVS4gm.js → ErrorView-DOjK08aR.js} +1 -1
  13. package/dist/assets/{EvaluationsRootView-81SdPChp.js → EvaluationsRootView-Cms0XlYE.js} +1 -1
  14. package/dist/assets/{EvaluationsView-BAyQWPF9.js → EvaluationsView-X9pjkssi.js} +3 -3
  15. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-Qw7S05EC.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-CQDOSq4d.js} +3 -6
  16. package/dist/assets/{ExecutionsView--yDyvnL8.js → ExecutionsView-NLnln1YQ.js} +9 -9
  17. package/dist/assets/{FileSaver.min-CeGSkamF.js → FileSaver.min-BoHgd5iv.js} +1 -1
  18. package/dist/assets/{FixedCollectionParameter-tgbkzIuD.js → FixedCollectionParameter-BfKt_vOb.js} +1 -1
  19. package/dist/assets/{ForgotMyPasswordView-CVwKac4K.js → ForgotMyPasswordView-OP-Zoaqi.js} +3 -3
  20. package/dist/assets/{InfoAccordion-75IQV-_q.js → InfoAccordion-KgxR9XUm.js} +1 -1
  21. package/dist/assets/{InsightsChartAverageRuntime-C4C4zghF.js → InsightsChartAverageRuntime-COSI3_o5.js} +4 -4
  22. package/dist/assets/{InsightsChartFailed-DyhWE17m.js → InsightsChartFailed-zPbPiVrK.js} +4 -4
  23. package/dist/assets/{InsightsChartFailureRate-B09GcGvY.js → InsightsChartFailureRate-BijFuiun.js} +4 -4
  24. package/dist/assets/{InsightsChartTimeSaved-DGzFyou3.js → InsightsChartTimeSaved-QPkPrxuo.js} +4 -4
  25. package/dist/assets/{InsightsChartTotal-fIUzF41H.js → InsightsChartTotal-CAIfpPOZ.js} +4 -4
  26. package/dist/assets/{InsightsDashboard-Qhv7fScv.js → InsightsDashboard-D8_DXUIT.js} +10 -10
  27. package/dist/assets/{InsightsPaywall-C3-la0kD.js → InsightsPaywall-BlFkYC7C.js} +1 -1
  28. package/dist/assets/{InsightsSummary-CJgV5s0y.js → InsightsSummary-DT-p4HNY.js} +1 -1
  29. package/dist/assets/{InsightsTableWorkflows-P5OHXu1Y.js → InsightsTableWorkflows-CN4YWTtH.js} +6 -7
  30. package/dist/assets/{InsightsTableWorkflows-DJhX6bQW.css → InsightsTableWorkflows-RGpSnp7n.css} +3 -3
  31. package/dist/assets/{Logo-8MWdHUz0.js → Logo-BhBstNGh.js} +1 -1
  32. package/dist/assets/{LogsPanel-BabpRONg.js → LogsPanel-Ceg5ubnO.js} +14 -8
  33. package/dist/assets/{MainHeader-0ppftO6b.js → MainHeader-4a5SCN9a.js} +12 -19
  34. package/dist/assets/{MainSidebar-BnXOkYK4.js → MainSidebar-PaqIlcl_.js} +4 -10
  35. package/dist/assets/{N8nDataTableServer-Cx18Zd1O.js → N8nDataTableServer-OWjVTbuy.js} +21 -11
  36. package/dist/assets/{NodeCreation-32nlvQSy.css → NodeCreation-CxN6JIS_.css} +9 -1
  37. package/dist/assets/{NodeCreation-DKbc91uY.js → NodeCreation-vn1s6ViE.js} +43 -21
  38. package/dist/assets/{NodeCreator-xRYJHbTG.js → NodeCreator-8yXN9-3-.js} +5 -11
  39. package/dist/assets/{NodeDetailsView-CPVE5S8P.js → NodeDetailsView-Bfqrvndc.js} +15 -15
  40. package/dist/assets/{NodeDetailsViewV2-5pxsZwAo.js → NodeDetailsViewV2-DvXkio7Z.js} +15 -15
  41. package/dist/assets/{NodeView-DYjZmKNE.js → NodeView-4YXAVrWh.js} +459 -455
  42. package/dist/assets/{NodeView-Cgf2HuDk.css → NodeView-hst6fesm.css} +69 -80
  43. package/dist/assets/{ProjectHeader-e8JosKaj.js → ProjectHeader-BXo_XGDO.js} +2 -2
  44. package/dist/assets/{ProjectSettings-DNKcVLkd.js → ProjectSettings-Z5Kp6E53.js} +3 -3
  45. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-EuKDPqQH.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DK8Mp74c.js} +1 -1
  46. package/dist/assets/{ResourcesListLayout-C4y0iPmg.js → ResourcesListLayout-DoL3gqUA.js} +3 -3
  47. package/dist/assets/{RunData-D3xzjO33.js → RunData-B9jGswDT.js} +83 -70
  48. package/dist/assets/{RunData-DuKNwYqe.css → RunData-D0dKnadD.css} +61 -62
  49. package/dist/assets/{RunDataJson-D5YFtOcJ.js → RunDataJson-CI2PEX1Z.js} +9 -9
  50. package/dist/assets/{RunDataJsonActions-BWvs4coo.js → RunDataJsonActions-CdUL1gL3.js} +1 -1
  51. package/dist/assets/RunDataParsedAiContent-B6Ss5mvl.js +298 -0
  52. package/dist/assets/{RunDataSearch-oo3_BoLt.js → RunDataSearch-DKaXYju2.js} +1 -1
  53. package/dist/assets/{RunDataTable-6rCOQNCX.js → RunDataTable-BQ3rdzoF.js} +50 -41
  54. package/dist/assets/{RunDataTable-CTBtmQIs.css → RunDataTable-n918b-Qv.css} +55 -55
  55. package/dist/assets/{SamlOnboarding-BG-gGcbY.js → SamlOnboarding-C_au26AK.js} +3 -3
  56. package/dist/assets/{SettingsApiView-Bmlbp7pD.js → SettingsApiView-aoaIK5C5.js} +1 -1
  57. package/dist/assets/{SettingsCommunityNodesView-4DWd4UiC.js → SettingsCommunityNodesView-Bii1jYzp.js} +3 -3
  58. package/dist/assets/{SettingsExternalSecrets-hpUcipWw.js → SettingsExternalSecrets-DzoOLUAJ.js} +1 -1
  59. package/dist/assets/{SettingsLdapView-7p7L95v9.js → SettingsLdapView-CkLOtGjj.js} +1 -1
  60. package/dist/assets/{SettingsLogStreamingView-4CpWJqj_.js → SettingsLogStreamingView-CKBVxNwk.js} +1 -1
  61. package/dist/assets/{SettingsPersonalView-9iP06ihA.js → SettingsPersonalView-gOoSkTpX.js} +1 -1
  62. package/dist/assets/{SettingsSourceControl-BGjWhqqJ.js → SettingsSourceControl-C6XS-Myv.js} +1 -1
  63. package/dist/assets/{SettingsSso-ChOyD3kc.js → SettingsSso-CobNvKat.js} +1 -1
  64. package/dist/assets/{SettingsUsageAndPlan-jP8nn4Rh.js → SettingsUsageAndPlan-3r39YZW1.js} +1 -1
  65. package/dist/assets/{SettingsUsersView-BuZbf1jq.css → SettingsUsersView-B81cHl3f.css} +9 -6
  66. package/dist/assets/{SettingsUsersView-BhfbqjxW.js → SettingsUsersView-DrrH1dLq.js} +12 -10
  67. package/dist/assets/{SettingsView-DTFEdRdj.js → SettingsView-D_wEAbZb.js} +1 -1
  68. package/dist/assets/{SetupView-CXuAO6tx.js → SetupView-CU1QrNSu.js} +3 -3
  69. package/dist/assets/{SetupWorkflowCredentialsButton-Bj4rSqAV.js → SetupWorkflowCredentialsButton-Do2E5w2d.js} +1 -1
  70. package/dist/assets/{SetupWorkflowFromTemplateView-DG8Ml3A0.js → SetupWorkflowFromTemplateView-cuwHIvkB.js} +3 -3
  71. package/dist/assets/{SigninView-KmmptKWN.js → SigninView-DA11h2Kr.js} +3 -3
  72. package/dist/assets/{SignoutView-8rAPEX_X.js → SignoutView-VJrMh5w7.js} +1 -1
  73. package/dist/assets/{SignupView-ZYUP6f-Y.js → SignupView-BNTIWYSE.js} +3 -3
  74. package/dist/assets/{TableBase-7XxrB0dw.js → TableBase-B5rreQVh.js} +1 -1
  75. package/dist/assets/{Tags-C8Jnw74N.js → Tags-SJm7l2s6.js} +1 -1
  76. package/dist/assets/{TemplateDetails-Bk1ixuRQ.js → TemplateDetails-B6-Nkya8.js} +2 -2
  77. package/dist/assets/{TemplateList-9SAC8OGn.js → TemplateList-C4Dqsvfp.js} +1 -1
  78. package/dist/assets/{TemplatesCollectionView-CLZDJ4HM.js → TemplatesCollectionView-BMGZ939P.js} +6 -6
  79. package/dist/assets/{TemplatesSearchView-DRzdGp3s.js → TemplatesSearchView-CIo8eprI.js} +3 -3
  80. package/dist/assets/{TemplatesView-V6ud-nM5.js → TemplatesView-MshXkM2_.js} +1 -1
  81. package/dist/assets/{TemplatesWorkflowView-CLb4CuR2.js → TemplatesWorkflowView-LWBGoJBO.js} +6 -6
  82. package/dist/assets/{TriggerPanel-BOC7PYsi.js → TriggerPanel-C-0JCegt.js} +4 -112
  83. package/dist/assets/{VariablesView-BDzhSaxw.js → VariablesView-omKbxNoc.js} +5 -5
  84. package/dist/assets/{WorkerView-C2A7cYkr.js → WorkerView-DPnCbr1B.js} +5 -5
  85. package/dist/assets/{WorkflowActivator-BmIzNsA8.js → WorkflowActivator-Hn_uDFPH.js} +2 -2
  86. package/dist/assets/{WorkflowExecutionsInfoAccordion-Cn4GRGO_.js → WorkflowExecutionsInfoAccordion-DWSeluMM.js} +2 -2
  87. package/dist/assets/{WorkflowExecutionsLandingPage-s-dIgG6D.js → WorkflowExecutionsLandingPage-BMcxBJEl.js} +3 -3
  88. package/dist/assets/{WorkflowExecutionsPreview-BE7NfRAa.js → WorkflowExecutionsPreview-Csq6C8Vh.js} +9 -7
  89. package/dist/assets/{WorkflowExecutionsView-DFmBdF-B.js → WorkflowExecutionsView-6L7iZJq1.js} +8 -8
  90. package/dist/assets/{WorkflowHistory-3wO0nQYD.js → WorkflowHistory-B0t-0Z77.js} +3 -3
  91. package/dist/assets/{WorkflowOnboardingView-mBVE6x-i.js → WorkflowOnboardingView-DuI2I9MQ.js} +1 -1
  92. package/dist/assets/{WorkflowPreview-DlNMFCKn.js → WorkflowPreview-D4kwrMFk.js} +3 -1
  93. package/dist/assets/{WorkflowsView-DsAOuPT0.js → WorkflowsView-WU-IKn4K.js} +52 -10
  94. package/dist/assets/{chartjs.utils-BywXqBmg.js → chartjs.utils-Bc5bGj66.js} +2 -2
  95. package/dist/assets/{en-CcKAtA8V.js → en-FjyeYndD.js} +7 -0
  96. package/dist/assets/{global-link-actions-BzAw9ZbO.js → global-link-actions-BZz1vmQq.js} +1 -1
  97. package/dist/assets/{import-curl-1LWAxRTV.js → import-curl-jc1UtwMR.js} +1 -1
  98. package/dist/assets/{index-C66_v3sX.css → index-C6LoGNAx.css} +84 -217
  99. package/dist/assets/{index-V0GOmfo8.js → index-CAU8Zeff.js} +3612 -3063
  100. package/dist/assets/{index-B6A1nL2x.js → index-Cohi4onR.js} +1 -1
  101. package/dist/assets/{pickBy-CtRItcCT.js → pickBy-Bmcb35Dl.js} +1 -1
  102. package/dist/assets/{templateActions-DpIzx0ws.js → templateActions-Bsj8nngl.js} +1 -1
  103. package/dist/assets/{useBeforeUnload-B0EP7Q2i.js → useBeforeUnload-aOI6YxZR.js} +1 -1
  104. package/dist/assets/{useExecutionDebugging-AwlOA2KI.js → useExecutionDebugging-dVW9cpg5.js} +1 -1
  105. package/dist/assets/{useExecutionHelpers-DvBwGIzz.js → useExecutionHelpers-BIfEl-h7.js} +1 -1
  106. package/dist/assets/{useImportCurlCommand-DIFC7Epr.js → useImportCurlCommand-B4EFH3RG.js} +2 -2
  107. package/dist/assets/{useKeybindings-CduQ2pi5.js → useKeybindings-0d48UFTt.js} +72 -2
  108. package/dist/assets/{useProjectPages-DmNmAOdq.js → useProjectPages-4b50pSat.js} +1 -1
  109. package/dist/assets/{usePushConnection-Dyd5__87.js → usePushConnection-CKW8UPyl.js} +2 -2
  110. package/dist/assets/{useWorkflowActivate-z9iwP6OY.js → useWorkflowActivate-C39vU0rW.js} +1 -1
  111. package/dist/index.html +2 -2
  112. package/eslint.config.mjs +1 -1
  113. package/package.json +1 -1
  114. package/dist/assets/CollectionParameter-Bz5DzZqs.js +0 -4
  115. package/dist/assets/RunDataParsedAiContent-BYISiW-I.js +0 -148
@@ -1,9 +1,9 @@
1
- import { _ as __unplugin_components_6 } from "./TemplateDetails-Bk1ixuRQ.js";
2
- import { d as defineComponent, bd as useTemplatesStore, bG as useNodeTypesStore, a5 as useRoute, b as useRouter, ai as useDocumentTitle, r as ref, x as computed, aa as watch, o as onMounted, e as createBlock, g as openBlock, bh as createSlots, w as withCtx, j as createBaseVNode, n as normalizeClass, f as createCommentVNode, i as createVNode, fA as N8nMarkdown, l as unref, c as useI18n, h as createElementBlock, m as N8nHeading, k as createTextVNode, t as toDisplayString, p as N8nText, eL as N8nLoading, q as N8nButton, ay as useTelemetry, bf as useExternalHooks, _ as _export_sfc } from "./index-V0GOmfo8.js";
3
- import { W as WorkflowPreview } from "./WorkflowPreview-DlNMFCKn.js";
4
- import { u as useTemplateWorkflow } from "./templateActions-DpIzx0ws.js";
5
- import { T as TemplatesView } from "./TemplatesView-V6ud-nM5.js";
6
- import "./Tags-C8Jnw74N.js";
1
+ import { _ as __unplugin_components_6 } from "./TemplateDetails-B6-Nkya8.js";
2
+ import { d as defineComponent, bb as useTemplatesStore, bG as useNodeTypesStore, a5 as useRoute, b as useRouter, ai as useDocumentTitle, r as ref, x as computed, aa as watch, o as onMounted, e as createBlock, g as openBlock, bf as createSlots, w as withCtx, j as createBaseVNode, n as normalizeClass, f as createCommentVNode, i as createVNode, fL as N8nMarkdown, l as unref, c as useI18n, h as createElementBlock, m as N8nHeading, k as createTextVNode, t as toDisplayString, p as N8nText, eW as N8nLoading, q as N8nButton, ay as useTelemetry, bd as useExternalHooks, _ as _export_sfc } from "./index-CAU8Zeff.js";
3
+ import { W as WorkflowPreview } from "./WorkflowPreview-D4kwrMFk.js";
4
+ import { u as useTemplateWorkflow } from "./templateActions-Bsj8nngl.js";
5
+ import { T as TemplatesView } from "./TemplatesView-MshXkM2_.js";
6
+ import "./Tags-SJm7l2s6.js";
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "TemplatesWorkflowView",
9
9
  setup(__props) {
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, J as renderSlot, _ as _export_sfc, a4 as useWorkflowsStore, bG as useNodeTypesStore, aO as usePostHog, x as computed, dy as NDV_UI_OVERHAUL_EXPERIMENT, bo as NodeConnectionTypes, o as onMounted, I as onBeforeUnmount, F as Fragment, y as renderList, e as createBlock, f as createCommentVNode, $ as N8nTooltip, w as withCtx, i as createVNode, bP as _sfc_main$c, k as createTextVNode, t as toDisplayString, ig as convertToDisplayDateComponents, c4 as resolveDirective, l as unref, eX as InfoTip, aU as withDirectives, c as useI18n, p as N8nText, bm as emptyTokenUsageData, bl as addTokenUsageData, bJ as getDefaultExportFromCjs, ih as requireCapitalize, r as ref, gu as parseAiContent, N as N8nIcon, H as N8nRadioButtons, bI as formatTokenUsageCount, aa as watch, ii as ElTree, P as normalizeStyle, aM as useNDVStore, fn as storeToRefs, v as useSettingsStore, d$ as useNodeDirtiness, go as useNodeType, bz as usePinnedData, cV as CanvasNodeDirtiness, O as resolveComponent, bh as createSlots, c5 as waitingNodeTooltip, dd as _sfc_main$f, aV as vShow, ay as useTelemetry, cy as isPresent, f7 as N8nSelect, f8 as _sfc_main$g, ij as truncate, gL as createStaticVNode, bH as START_NODE_TYPE, hU as MANUAL_TRIGGER_NODE_TYPE, ik as CRON_NODE_TYPE, il as INTERVAL_NODE_TYPE, dc as getNodeInputs, e2 as getNodeOutputs, im as uniqBy, bY as resolveDynamicComponent, bO as withModifiers, T as useUIStore, b as useRouter, ak as useWorkflowHelpers, io as isTriggerPanelObject, e3 as getTriggerNodeServiceName, bx as CHAT_TRIGGER_NODE_TYPE, h_ as WEBHOOK_NODE_TYPE, d4 as FORM_TRIGGER_NODE_TYPE, fW as CopyInput, q as N8nButton, eK as _sfc_main$h, m as N8nHeading, a1 as N8nLink, Q as createEventBus, dQ as Transition, V as VIEWS, aC as WORKFLOW_SETTINGS_MODAL_KEY } from "./index-V0GOmfo8.js";
2
- import { b as _sfc_main$d, c as ViewSubExecution, _ as _sfc_main$e, R as RunData } from "./RunData-D3xzjO33.js";
3
- import RunDataAi$1 from "./RunDataParsedAiContent-BYISiW-I.js";
4
- import { N as N8nInfoAccordion } from "./InfoAccordion-75IQV-_q.js";
1
+ import { d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, J as renderSlot, _ as _export_sfc, a4 as useWorkflowsStore, bG as useNodeTypesStore, di as usePostHog, x as computed, dl as NDV_UI_OVERHAUL_EXPERIMENT, bo as NodeConnectionTypes, o as onMounted, I as onBeforeUnmount, F as Fragment, y as renderList, e as createBlock, f as createCommentVNode, $ as N8nTooltip, w as withCtx, i as createVNode, bP as _sfc_main$c, k as createTextVNode, t as toDisplayString, iw as convertToDisplayDateComponents, c4 as resolveDirective, l as unref, f6 as InfoTip, aS as withDirectives, c as useI18n, p as N8nText, bJ as getDefaultExportFromCjs, ix as requireCapitalize, r as ref, gF as parseAiContent, N as N8nIcon, H as N8nRadioButtons, bI as formatTokenUsageCount, aa as watch, iy as ElTree, P as normalizeStyle, aM as useNDVStore, fy as storeToRefs, v as useSettingsStore, dW as useNodeDirtiness, gz as useNodeType, bz as usePinnedData, cV as CanvasNodeDirtiness, O as resolveComponent, bf as createSlots, c5 as waitingNodeTooltip, dd as _sfc_main$f, aT as vShow, ay as useTelemetry, cy as isPresent, fi as N8nSelect, fj as _sfc_main$g, iz as truncate, gV as createStaticVNode, bH as START_NODE_TYPE, i6 as MANUAL_TRIGGER_NODE_TYPE, iA as CRON_NODE_TYPE, iB as INTERVAL_NODE_TYPE, dc as getNodeInputs, dZ as getNodeOutputs, iC as uniqBy, bY as resolveDynamicComponent, bO as withModifiers, T as useUIStore, b as useRouter, ak as useWorkflowHelpers, iD as isTriggerPanelObject, d_ as getTriggerNodeServiceName, bx as CHAT_TRIGGER_NODE_TYPE, ic as WEBHOOK_NODE_TYPE, d4 as FORM_TRIGGER_NODE_TYPE, g5 as CopyInput, q as N8nButton, eV as _sfc_main$h, m as N8nHeading, a1 as N8nLink, Q as createEventBus, dK as Transition, V as VIEWS, aC as WORKFLOW_SETTINGS_MODAL_KEY } from "./index-CAU8Zeff.js";
2
+ import { b as _sfc_main$d, c as ViewSubExecution, _ as _sfc_main$e, R as RunData } from "./RunData-B9jGswDT.js";
3
+ import { R as RunDataAi$1, g as getConsumedTokens, c as createAiData, a as getTreeNodeData, b as getReferencedData } from "./RunDataParsedAiContent-B6Ss5mvl.js";
4
+ import { N as N8nInfoAccordion } from "./InfoAccordion-KgxR9XUm.js";
5
5
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
6
6
  ...{ name: "N8nPulse" },
7
7
  __name: "Pulse",
@@ -357,114 +357,6 @@ const cssModules$7 = {
357
357
  "$style": style0$7
358
358
  };
359
359
  const RunInfo = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__cssModules", cssModules$7]]);
360
- function createNode(parent, nodeName, currentDepth, runIndex, r, children = []) {
361
- return {
362
- parent,
363
- node: nodeName,
364
- id: `${nodeName}:${runIndex}`,
365
- depth: currentDepth,
366
- startTime: r?.data?.metadata?.startTime ?? 0,
367
- runIndex,
368
- children,
369
- consumedTokens: getConsumedTokens(r?.data)
370
- };
371
- }
372
- function getTreeNodeData(nodeName, workflow, aiData, runIndex) {
373
- return getTreeNodeDataRec(void 0, nodeName, 0, workflow, aiData, runIndex);
374
- }
375
- function getTreeNodeDataRec(parent, nodeName, currentDepth, workflow, aiData, runIndex) {
376
- const connections = workflow.connectionsByDestinationNode[nodeName];
377
- const resultData = aiData?.filter((data) => data.node === nodeName && runIndex === data.runIndex) ?? [];
378
- if (!connections) {
379
- return resultData.map((d) => createNode(parent, nodeName, currentDepth, d.runIndex, d));
380
- }
381
- const filteredAiData = aiData?.filter(({ data }) => {
382
- if (!data?.source || data.source.every((source) => source === null)) {
383
- return true;
384
- }
385
- return data.source.some(
386
- (source) => source?.previousNode === nodeName && source.previousNodeRun === runIndex
387
- );
388
- });
389
- const connectedSubNodes = workflow.getParentNodes(nodeName, "ALL_NON_MAIN", 1);
390
- const treeNode2 = createNode(parent, nodeName, currentDepth, runIndex);
391
- const children = (filteredAiData ?? []).flatMap(
392
- (data) => connectedSubNodes.includes(data.node) ? getTreeNodeDataRec(treeNode2, data.node, currentDepth + 1, workflow, aiData, data.runIndex) : []
393
- );
394
- treeNode2.children = children;
395
- if (resultData.length) {
396
- return resultData.map(
397
- (r) => createNode(parent, nodeName, currentDepth, r.runIndex, r, children)
398
- );
399
- }
400
- return [treeNode2];
401
- }
402
- function createAiData(nodeName, workflow, getWorkflowResultDataByNodeName) {
403
- return workflow.getParentNodes(nodeName, "ALL_NON_MAIN").flatMap(
404
- (node2) => (getWorkflowResultDataByNodeName(node2) ?? []).map((task, index) => ({ node: node2, task, index }))
405
- ).sort((a, b) => {
406
- if (a.task.executionIndex !== void 0 && b.task.executionIndex !== void 0) {
407
- return a.task.executionIndex - b.task.executionIndex;
408
- }
409
- const aTime = a.task.startTime ?? 0;
410
- const bTime = b.task.startTime ?? 0;
411
- return aTime - bTime;
412
- }).map(({ node: node2, task, index }) => ({
413
- data: getReferencedData(task, false)[0],
414
- node: node2,
415
- runIndex: index
416
- }));
417
- }
418
- function getReferencedData(taskData, withInput, withOutput) {
419
- if (!taskData) {
420
- return [];
421
- }
422
- const returnData = [];
423
- function addFunction(data, inOut) {
424
- if (!data) {
425
- return;
426
- }
427
- Object.keys(data).map((type) => {
428
- returnData.push({
429
- data: data[type][0],
430
- inOut,
431
- type,
432
- // Include source information in AI content to track which node triggered the execution
433
- // This enables filtering in the UI to show only relevant executions
434
- source: taskData.source,
435
- metadata: {
436
- executionTime: taskData.executionTime,
437
- startTime: taskData.startTime,
438
- subExecution: taskData.metadata?.subExecution
439
- }
440
- });
441
- });
442
- }
443
- if (withInput) {
444
- addFunction(taskData.inputOverride, "input");
445
- }
446
- {
447
- addFunction(taskData.data, "output");
448
- }
449
- return returnData;
450
- }
451
- function getConsumedTokens(outputRun) {
452
- if (!outputRun?.data) {
453
- return emptyTokenUsageData;
454
- }
455
- const tokenUsage = outputRun.data.reduce(
456
- (acc, curr) => {
457
- const tokenUsageData = curr.json?.tokenUsage ?? curr.json?.tokenUsageEstimate;
458
- if (!tokenUsageData) return acc;
459
- return addTokenUsageData(acc, {
460
- ...tokenUsageData,
461
- isEstimate: !!curr.json.tokenUsageEstimate
462
- });
463
- },
464
- emptyTokenUsageData
465
- );
466
- return tokenUsage;
467
- }
468
360
  var capitalizeExports = requireCapitalize();
469
361
  const capitalize = /* @__PURE__ */ getDefaultExportFromCjs(capitalizeExports);
470
362
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
@@ -1,8 +1,8 @@
1
- import { d as defineComponent, c2 as useClipboard, a as useToast, x as computed, e as createBlock, g as openBlock, l as unref, $ as N8nTooltip, w as withCtx, j as createBaseVNode, t as toDisplayString, k as createTextVNode, c as useI18n, _ as _export_sfc, ek as reactive, bu as toRaw, r as ref, h as createElementBlock, i as createVNode, fO as N8nFormInput, f as createCommentVNode, q as N8nButton, v as useSettingsStore, el as useEnvironmentsStore, u as useUsersStore, T as useUIStore, ae as useSourceControlStore, a5 as useRoute, b as useRouter, ar as useTemplateRef, am as getResourcePermissions, fP as useAsyncState, ap as EnterpriseEditionFeature, al as usePageRedirectionHelper, o as onMounted, ai as useDocumentTitle, bh as createSlots, eY as N8nActionBox, D as mergeProps, bW as normalizeProps, F as Fragment, av as N8nBadge, f5 as N8nInputLabel, fQ as N8nCheckbox, m as N8nHeading, fR as uid, ay as useTelemetry, aA as useMessage, aB as MODAL_CONFIRM } from "./index-V0GOmfo8.js";
2
- import { R as ResourcesListLayout } from "./ResourcesListLayout-C4y0iPmg.js";
3
- import { p as pickBy } from "./pickBy-CtRItcCT.js";
4
- import "./TableBase-7XxrB0dw.js";
5
- import "./useProjectPages-DmNmAOdq.js";
1
+ import { d as defineComponent, c2 as useClipboard, a as useToast, x as computed, e as createBlock, g as openBlock, l as unref, $ as N8nTooltip, w as withCtx, j as createBaseVNode, t as toDisplayString, k as createTextVNode, c as useI18n, _ as _export_sfc, ew as reactive, bu as toRaw, r as ref, h as createElementBlock, i as createVNode, fZ as N8nFormInput, f as createCommentVNode, q as N8nButton, v as useSettingsStore, dw as useEnvironmentsStore, u as useUsersStore, T as useUIStore, ae as useSourceControlStore, a5 as useRoute, b as useRouter, ar as useTemplateRef, am as getResourcePermissions, f_ as useAsyncState, ap as EnterpriseEditionFeature, al as usePageRedirectionHelper, o as onMounted, ai as useDocumentTitle, bf as createSlots, f7 as N8nActionBox, D as mergeProps, bW as normalizeProps, F as Fragment, av as N8nBadge, fg as N8nInputLabel, f$ as N8nCheckbox, m as N8nHeading, g0 as uid, ay as useTelemetry, aA as useMessage, aB as MODAL_CONFIRM } from "./index-CAU8Zeff.js";
2
+ import { R as ResourcesListLayout } from "./ResourcesListLayout-DoL3gqUA.js";
3
+ import { p as pickBy } from "./pickBy-Bmcb35Dl.js";
4
+ import "./TableBase-B5rreQVh.js";
5
+ import "./useProjectPages-4b50pSat.js";
6
6
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
7
7
  __name: "VariablesUsageBadge",
8
8
  props: {
@@ -1,8 +1,8 @@
1
- import { d as defineComponent, r as ref, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, i as createVNode, N as N8nIcon, p as N8nText, w as withCtx, J as renderSlot, _ as _export_sfc, e as createBlock, F as Fragment, y as renderList, t as toDisplayString, k as createTextVNode, l as unref, c as useI18n, c2 as useClipboard, a as useToast, x as computed, b8 as sortByProperty, o as onMounted, I as onBeforeUnmount, s as N8nCard, m as N8nHeading, b as useRouter, ai as useDocumentTitle, ac as useRootStore, a3 as usePushConnectionStore, ay as useTelemetry, aT as onBeforeMount, eK as _sfc_main$8, v as useSettingsStore, al as usePageRedirectionHelper, eY as N8nActionBox } from "./index-V0GOmfo8.js";
2
- import { _ as _sfc_main$7 } from "./PushConnectionTracker.vue_vue_type_script_setup_true_lang-EuKDPqQH.js";
3
- import { a as useOrchestrationStore, W as WORKER_HISTORY_LENGTH, u as usePushConnection } from "./usePushConnection-Dyd5__87.js";
4
- import { C as Chart } from "./index-B6A1nL2x.js";
5
- import "./global-link-actions-BzAw9ZbO.js";
1
+ import { d as defineComponent, r as ref, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, i as createVNode, N as N8nIcon, p as N8nText, w as withCtx, J as renderSlot, _ as _export_sfc, e as createBlock, F as Fragment, y as renderList, t as toDisplayString, k as createTextVNode, l as unref, c as useI18n, c2 as useClipboard, a as useToast, x as computed, b6 as sortByProperty, o as onMounted, I as onBeforeUnmount, s as N8nCard, m as N8nHeading, b as useRouter, ai as useDocumentTitle, ac as useRootStore, a3 as usePushConnectionStore, ay as useTelemetry, aR as onBeforeMount, eV as _sfc_main$8, v as useSettingsStore, al as usePageRedirectionHelper, f7 as N8nActionBox } from "./index-CAU8Zeff.js";
2
+ import { _ as _sfc_main$7 } from "./PushConnectionTracker.vue_vue_type_script_setup_true_lang-DK8Mp74c.js";
3
+ import { a as useOrchestrationStore, W as WORKER_HISTORY_LENGTH, u as usePushConnection } from "./usePushConnection-CKW8UPyl.js";
4
+ import { C as Chart } from "./index-Cohi4onR.js";
5
+ import "./global-link-actions-BZz1vmQq.js";
6
6
  function averageWorkerLoadFromLoads(loads) {
7
7
  return loads.reduce((prev, curr) => prev + curr, 0) / loads.length;
8
8
  }
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, r as ref, x as computed, aa as watch, h as createElementBlock, g as openBlock, n as normalizeClass, J as renderSlot, j as createBaseVNode, f as createCommentVNode, t as toDisplayString, e as createBlock, i as createVNode, l as unref, fc as N8nActionToggle, w as withCtx, p as N8nText, k as createTextVNode, $ as N8nTooltip, eL as N8nLoading, F as Fragment, y as renderList, bO as withModifiers, a1 as N8nLink, _ as _export_sfc, aq as ProjectTypes, g6 as isIconOrEmoji, c as useI18n, g7 as ProjectIcon, af as useProjectsStore, ag as useFoldersStore, I as onBeforeUnmount, bh as createSlots, a as useToast, T as useUIStore, ak as useWorkflowHelpers, a4 as useWorkflowsStore, de as useCredentialsStore, g8 as getActivatableTriggerNodes, g9 as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, O as resolveComponent, c4 as resolveDirective, aU as withDirectives, N as N8nIcon, df as OPEN_AI_API_CREDENTIAL_TYPE, ga as WORKFLOW_ACTIVATION_CONFLICTING_WEBHOOK_MODAL_KEY, aK as h } from "./index-V0GOmfo8.js";
2
- import { u as useWorkflowActivate } from "./useWorkflowActivate-z9iwP6OY.js";
1
+ import { d as defineComponent, r as ref, x as computed, aa as watch, h as createElementBlock, g as openBlock, n as normalizeClass, J as renderSlot, j as createBaseVNode, f as createCommentVNode, t as toDisplayString, e as createBlock, i as createVNode, l as unref, fn as N8nActionToggle, w as withCtx, p as N8nText, k as createTextVNode, $ as N8nTooltip, eW as N8nLoading, F as Fragment, y as renderList, bO as withModifiers, a1 as N8nLink, _ as _export_sfc, aq as ProjectTypes, gh as isIconOrEmoji, c as useI18n, gi as ProjectIcon, af as useProjectsStore, ag as useFoldersStore, I as onBeforeUnmount, bf as createSlots, a as useToast, T as useUIStore, ak as useWorkflowHelpers, a4 as useWorkflowsStore, de as useCredentialsStore, gj as getActivatableTriggerNodes, gk as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, O as resolveComponent, c4 as resolveDirective, aS as withDirectives, N as N8nIcon, df as OPEN_AI_API_CREDENTIAL_TYPE, gl as WORKFLOW_ACTIVATION_CONFLICTING_WEBHOOK_MODAL_KEY, aK as h } from "./index-CAU8Zeff.js";
2
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-C39vU0rW.js";
3
3
  const _hoisted_1$2 = { "data-test-id": "hidden-items-tooltip" };
4
4
  const _hoisted_2$1 = ["title", "data-resourceid", "onClick", "onMouseenter", "onMouseup"];
5
5
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, b as useRouter, aj as useWorkflowSaving, v as useSettingsStore, T as useUIStore, a4 as useWorkflowsStore, ah as useNpsSurveyStore, r as ref, x as computed, c as useI18n, ds as deepCopy, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, aa as watch, o as onMounted, e as createBlock, g as openBlock, w as withCtx, j as createBaseVNode, k as createTextVNode, i as createVNode, t as toDisplayString, l as unref, $ as N8nTooltip, a1 as N8nLink, bO as withModifiers, n as normalizeClass, aC as WORKFLOW_SETTINGS_MODAL_KEY, _ as _export_sfc } from "./index-V0GOmfo8.js";
2
- import { N as N8nInfoAccordion } from "./InfoAccordion-75IQV-_q.js";
1
+ import { d as defineComponent, b as useRouter, aj as useWorkflowSaving, v as useSettingsStore, T as useUIStore, a4 as useWorkflowsStore, ah as useNpsSurveyStore, r as ref, x as computed, c as useI18n, dt as deepCopy, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, aa as watch, o as onMounted, e as createBlock, g as openBlock, w as withCtx, j as createBaseVNode, k as createTextVNode, i as createVNode, t as toDisplayString, l as unref, $ as N8nTooltip, a1 as N8nLink, bO as withModifiers, n as normalizeClass, aC as WORKFLOW_SETTINGS_MODAL_KEY, _ as _export_sfc } from "./index-CAU8Zeff.js";
2
+ import { N as N8nInfoAccordion } from "./InfoAccordion-KgxR9XUm.js";
3
3
  const _hoisted_1 = { class: "mt-2xs" };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "WorkflowExecutionsInfoAccordion",
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, b as useRouter, a5 as useRoute, T as useUIStore, a4 as useWorkflowsStore, x as computed, h as createElementBlock, g as openBlock, f as createCommentVNode, n as normalizeClass, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, m as N8nHeading, p as N8nText, q as N8nButton, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, V as VIEWS, _ as _export_sfc } from "./index-V0GOmfo8.js";
2
- import { W as WorkflowExecutionsInfoAccordion } from "./WorkflowExecutionsInfoAccordion-Cn4GRGO_.js";
3
- import "./InfoAccordion-75IQV-_q.js";
1
+ import { d as defineComponent, b as useRouter, a5 as useRoute, T as useUIStore, a4 as useWorkflowsStore, x as computed, h as createElementBlock, g as openBlock, f as createCommentVNode, n as normalizeClass, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, m as N8nHeading, p as N8nText, q as N8nButton, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, V as VIEWS, _ as _export_sfc } from "./index-CAU8Zeff.js";
2
+ import { W as WorkflowExecutionsInfoAccordion } from "./WorkflowExecutionsInfoAccordion-DWSeluMM.js";
3
+ import "./InfoAccordion-KgxR9XUm.js";
4
4
  const _hoisted_1 = {
5
5
  key: 0,
6
6
  "data-test-id": "workflow-execution-no-trigger-content"
@@ -1,8 +1,8 @@
1
- import { d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, i as createVNode, a0 as _sfc_main$4, _ as _export_sfc, a4 as useWorkflowsStore, a5 as useRoute, r as ref, x as computed, am as getResourcePermissions, c4 as resolveDirective, e as createBlock, f as createCommentVNode, l as unref, E as ElDropdown, w as withCtx, q as N8nButton, c as useI18n, av as N8nBadge, k as createTextVNode, t as toDisplayString, j as createBaseVNode, m as N8nHeading, F as Fragment, y as renderList, p as N8nText, aU as withDirectives, a as useToast, aN as useExecutionsStore, O as resolveComponent, Q as createEventBus, ay as useTelemetry, v as useSettingsStore, ap as EnterpriseEditionFeature, eK as _sfc_main$6, eQ as RouterLink, V as VIEWS, A as ElDropdownMenu, B as ElDropdownItem, aA as useMessage, aB as MODAL_CONFIRM } from "./index-V0GOmfo8.js";
2
- import { _ as _sfc_main$5 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-Bp194Fz4.js";
3
- import { W as WorkflowPreview } from "./WorkflowPreview-DlNMFCKn.js";
4
- import { u as useExecutionDebugging } from "./useExecutionDebugging-AwlOA2KI.js";
5
- import { u as useExecutionHelpers } from "./useExecutionHelpers-DvBwGIzz.js";
1
+ import { d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, i as createVNode, a0 as _sfc_main$4, _ as _export_sfc, a4 as useWorkflowsStore, a5 as useRoute, r as ref, x as computed, am as getResourcePermissions, c4 as resolveDirective, e as createBlock, f as createCommentVNode, l as unref, E as ElDropdown, w as withCtx, q as N8nButton, c as useI18n, av as N8nBadge, k as createTextVNode, t as toDisplayString, j as createBaseVNode, m as N8nHeading, F as Fragment, y as renderList, p as N8nText, aS as withDirectives, a as useToast, aN as useExecutionsStore, O as resolveComponent, Q as createEventBus, ay as useTelemetry, v as useSettingsStore, ap as EnterpriseEditionFeature, eV as _sfc_main$6, e$ as RouterLink, V as VIEWS, A as ElDropdownMenu, B as ElDropdownItem, aA as useMessage, aB as MODAL_CONFIRM } from "./index-CAU8Zeff.js";
2
+ import { _ as _sfc_main$5 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CTPMm7Da.js";
3
+ import { W as WorkflowPreview } from "./WorkflowPreview-D4kwrMFk.js";
4
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-dVW9cpg5.js";
5
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-BIfEl-h7.js";
6
6
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
7
7
  __name: "VoteButtons",
8
8
  props: {
@@ -417,6 +417,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
417
417
  () => getResourcePermissions(workflowsStore.getWorkflowById(workflowId.value)?.scopes).workflow
418
418
  );
419
419
  const executionId = computed(() => route.params.executionId);
420
+ const nodeId = computed(() => route.params.nodeId);
420
421
  const executionUIDetails = computed(
421
422
  () => props.execution ? executionHelpers.getUIDetails(props.execution) : null
422
423
  );
@@ -755,8 +756,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
755
756
  mode: "execution",
756
757
  "loader-type": "spinner",
757
758
  "execution-id": executionId.value,
758
- "execution-mode": _ctx.execution?.mode || ""
759
- }, null, 8, ["execution-id", "execution-mode"]))
759
+ "execution-mode": _ctx.execution?.mode || "",
760
+ "node-id": nodeId.value
761
+ }, null, 8, ["execution-id", "execution-mode", "node-id"]))
760
762
  ], 2)) : createCommentVNode("", true);
761
763
  };
762
764
  }
@@ -1,11 +1,11 @@
1
- import { d as defineComponent, a5 as useRoute, a4 as useWorkflowsStore, v as useSettingsStore, x as computed, ap as EnterpriseEditionFeature, c as useI18n, o as onMounted, O as resolveComponent, h as createElementBlock, g as openBlock, n as normalizeClass, i as createVNode, l as unref, V as VIEWS, w as withCtx, j as createBaseVNode, e as createBlock, f as createCommentVNode, p as N8nText, k as createTextVNode, t as toDisplayString, bN as toDayMonth, eK as _sfc_main$4, bM as toTime, N as N8nIcon, $ as N8nTooltip, _ as _export_sfc, b as useRouter, aN as useExecutionsStore, al as usePageRedirectionHelper, r as ref, am as getResourcePermissions, aa as watch, m as N8nHeading, eL as N8nLoading, eM as TransitionGroup, F as Fragment, y as renderList, eN as isComponentPublicInstance, aj as useWorkflowSaving, ew as onBeforeRouteLeave, er as getNodeViewTab, G as MAIN_HEADER_TABS, bG as useNodeTypesStore, af as useProjectsStore, a as useToast, S as useDebounce, bF as useCanvasOperations, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, eq as NEW_WORKFLOW_ID, I as onBeforeUnmount, eO as NO_NETWORK_ERROR_CODE, ay as useTelemetry, eP as executionRetryMessage } from "./index-V0GOmfo8.js";
2
- import { N as N8nActionDropdown } from "./ActionDropdown-D-JmCYsp.js";
3
- import { T as Tags } from "./Tags-C8Jnw74N.js";
4
- import { _ as _sfc_main$5, C as ConcurrentExecutionsHeader, E as ExecutionsFilter } from "./ExecutionsTime.vue_vue_type_script_setup_true_lang-Qw7S05EC.js";
5
- import { u as useExecutionHelpers } from "./useExecutionHelpers-DvBwGIzz.js";
6
- import { W as WorkflowExecutionsInfoAccordion } from "./WorkflowExecutionsInfoAccordion-Cn4GRGO_.js";
7
- import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-Bp194Fz4.js";
8
- import "./InfoAccordion-75IQV-_q.js";
1
+ import { d as defineComponent, a5 as useRoute, a4 as useWorkflowsStore, v as useSettingsStore, x as computed, ap as EnterpriseEditionFeature, c as useI18n, o as onMounted, O as resolveComponent, h as createElementBlock, g as openBlock, n as normalizeClass, i as createVNode, l as unref, V as VIEWS, w as withCtx, j as createBaseVNode, e as createBlock, f as createCommentVNode, p as N8nText, k as createTextVNode, t as toDisplayString, bN as toDayMonth, eV as _sfc_main$4, bM as toTime, N as N8nIcon, $ as N8nTooltip, _ as _export_sfc, b as useRouter, aN as useExecutionsStore, al as usePageRedirectionHelper, r as ref, am as getResourcePermissions, aa as watch, m as N8nHeading, eW as N8nLoading, eX as TransitionGroup, F as Fragment, y as renderList, eY as isComponentPublicInstance, aj as useWorkflowSaving, eH as onBeforeRouteLeave, eC as getNodeViewTab, G as MAIN_HEADER_TABS, bG as useNodeTypesStore, af as useProjectsStore, a as useToast, S as useDebounce, bF as useCanvasOperations, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, eB as NEW_WORKFLOW_ID, I as onBeforeUnmount, eZ as NO_NETWORK_ERROR_CODE, ay as useTelemetry, e_ as executionRetryMessage } from "./index-CAU8Zeff.js";
2
+ import { N as N8nActionDropdown } from "./ActionDropdown-oe2q-18e.js";
3
+ import { T as Tags } from "./Tags-SJm7l2s6.js";
4
+ import { _ as _sfc_main$5, C as ConcurrentExecutionsHeader, E as ExecutionsFilter } from "./ExecutionsTime.vue_vue_type_script_setup_true_lang-CQDOSq4d.js";
5
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-BIfEl-h7.js";
6
+ import { W as WorkflowExecutionsInfoAccordion } from "./WorkflowExecutionsInfoAccordion-DWSeluMM.js";
7
+ import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CTPMm7Da.js";
8
+ import "./InfoAccordion-KgxR9XUm.js";
9
9
  const _hoisted_1$1 = { key: 2 };
10
10
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
11
11
  __name: "WorkflowExecutionsCard",
@@ -1,6 +1,6 @@
1
- import { b0 as get, d as defineComponent, r as ref, x as computed, hd as dateFormat, c as useI18n, o as onMounted, h as createElementBlock, g as openBlock, n as normalizeClass, J as renderSlot, j as createBaseVNode, i as createVNode, t as toDisplayString, w as withCtx, k as createTextVNode, $ as N8nTooltip, e as createBlock, f as createCommentVNode, av as N8nBadge, l as unref, bO as withModifiers, fc as N8nActionToggle, _ as _export_sfc, O as resolveComponent, F as Fragment, y as renderList, eL as N8nLoading, q as N8nButton, N as N8nIcon, a2 as defineStore, ac as useRootStore, v as useSettingsStore, a4 as useWorkflowsStore, fI as getNewWorkflow, a5 as useRoute, b as useRouter, a as useToast, al as usePageRedirectionHelper, T as useUIStore, V as VIEWS, am as getResourcePermissions, aT as onBeforeMount, cL as watchEffect, m as N8nHeading, fV as telemetry, aK as h, he as WORKFLOW_HISTORY_VERSION_RESTORE } from "./index-V0GOmfo8.js";
2
- import { W as WorkflowPreview } from "./WorkflowPreview-DlNMFCKn.js";
3
- import { F as FileSaver_minExports } from "./FileSaver.min-CeGSkamF.js";
1
+ import { a_ as get, d as defineComponent, r as ref, x as computed, hn as dateFormat, c as useI18n, o as onMounted, h as createElementBlock, g as openBlock, n as normalizeClass, J as renderSlot, j as createBaseVNode, i as createVNode, t as toDisplayString, w as withCtx, k as createTextVNode, $ as N8nTooltip, e as createBlock, f as createCommentVNode, av as N8nBadge, l as unref, bO as withModifiers, fn as N8nActionToggle, _ as _export_sfc, O as resolveComponent, F as Fragment, y as renderList, eW as N8nLoading, q as N8nButton, N as N8nIcon, a2 as defineStore, ac as useRootStore, v as useSettingsStore, a4 as useWorkflowsStore, fT as getNewWorkflow, a5 as useRoute, b as useRouter, a as useToast, al as usePageRedirectionHelper, T as useUIStore, V as VIEWS, am as getResourcePermissions, aR as onBeforeMount, cL as watchEffect, m as N8nHeading, g4 as telemetry, aK as h, ho as WORKFLOW_HISTORY_VERSION_RESTORE } from "./index-CAU8Zeff.js";
2
+ import { W as WorkflowPreview } from "./WorkflowPreview-D4kwrMFk.js";
3
+ import { F as FileSaver_minExports } from "./FileSaver.min-BoHgd5iv.js";
4
4
  var getWorkflowHistory = async (context, workflowId, queryParams) => {
5
5
  const { data } = await get(
6
6
  context.baseUrl,
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, b1 as useLoadingService, bd as useTemplatesStore, a4 as useWorkflowsStore, b as useRouter, a5 as useRoute, o as onMounted, V as VIEWS, h as createElementBlock, g as openBlock, c as useI18n } from "./index-V0GOmfo8.js";
1
+ import { d as defineComponent, a$ as useLoadingService, bb as useTemplatesStore, a4 as useWorkflowsStore, b as useRouter, a5 as useRoute, o as onMounted, V as VIEWS, h as createElementBlock, g as openBlock, c as useI18n } from "./index-CAU8Zeff.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "WorkflowOnboardingView",
4
4
  setup(__props) {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, a as useToast, aN as useExecutionsStore, r as ref, x as computed, o as onMounted, I as onBeforeUnmount, aa as watch, h as createElementBlock, g as openBlock, f as createCommentVNode, j as createBaseVNode, n as normalizeClass, i as createVNode, eL as N8nLoading, eK as _sfc_main$1, c as useI18n, _ as _export_sfc } from "./index-V0GOmfo8.js";
1
+ import { d as defineComponent, a as useToast, aN as useExecutionsStore, r as ref, x as computed, o as onMounted, I as onBeforeUnmount, aa as watch, h as createElementBlock, g as openBlock, f as createCommentVNode, j as createBaseVNode, n as normalizeClass, i as createVNode, eW as N8nLoading, eV as _sfc_main$1, c as useI18n, _ as _export_sfc } from "./index-CAU8Zeff.js";
2
2
  const _hoisted_1 = ["src"];
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "WorkflowPreview",
@@ -8,6 +8,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  workflow: { default: void 0 },
9
9
  executionId: { default: void 0 },
10
10
  executionMode: { default: void 0 },
11
+ nodeId: { default: void 0 },
11
12
  loaderType: { default: "image" },
12
13
  canOpenNDV: { type: Boolean, default: true },
13
14
  hideNodeIssues: { type: Boolean, default: false },
@@ -67,6 +68,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
68
  command: "openExecution",
68
69
  executionId: props.executionId,
69
70
  executionMode: props.executionMode ?? "",
71
+ nodeId: props.nodeId,
70
72
  canOpenNDV: props.canOpenNDV
71
73
  }),
72
74
  "*"
@@ -1,13 +1,13 @@
1
- import { d as defineComponent, a5 as useRoute, b as useRouter, ag as useFoldersStore, r as ref, x as computed, c as useI18n, aq as ProjectTypes, V as VIEWS, O as resolveComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, s as N8nCard, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, e as createBlock, hk as ProjectCardBadge, l as unref, aG as ResourceType, fc as N8nActionToggle, bO as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, fC as _sfc_main$3, m as N8nHeading, av as N8nBadge, N as N8nIcon, _ as _export_sfc, a as useToast, v as useSettingsStore, T as useUIStore, u as useUsersStore, a4 as useWorkflowsStore, af as useProjectsStore, am as getResourcePermissions, hd as dateFormat, aU as withDirectives, aV as vShow, ax as WORKFLOW_SHARE_MODAL_KEY, ay as useTelemetry, aF as DUPLICATE_MODAL_KEY, aA as useMessage, aB as MODAL_CONFIRM, aH as PROJECT_MOVE_RESOURCE_MODAL, hl as FOLDER_NAME_ILLEGAL_CHARACTERS_REGEX, hm as ILLEGAL_FOLDER_CHARACTERS, hn as FOLDER_NAME_ONLY_DOTS_REGEX, ho as FOLDER_NAME_MAX_LENGTH, ae as useSourceControlStore, R as useTagsStore, fS as useUsageStore, hp as useInsightsStore, ai as useDocumentTitle, S as useDebounce, ap as EnterpriseEditionFeature, aa as watch, o as onMounted, Q as createEventBus, I as onBeforeUnmount, L as debounce, hq as PROJECT_ROOT, ar as useTemplateRef, bh as createSlots, $ as N8nTooltip, q as N8nButton, eY as N8nActionBox, f5 as N8nInputLabel, au as _sfc_main$5, f7 as N8nSelect, F as Fragment, y as renderList, f8 as _sfc_main$6, fQ as N8nCheckbox, hr as Draggable, eL as N8nLoading, as as InlineRename, dg as N8nCallout, hs as DEFAULT_WORKFLOW_PAGE_SIZE, eB as getEasyAiWorkflowJson, fU as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index-V0GOmfo8.js";
2
- import { _ as _sfc_main$4 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-FNKd4r6R.js";
3
- import { B as Breadcrumbs, W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-BmIzNsA8.js";
4
- import { R as ResourcesListLayout } from "./ResourcesListLayout-C4y0iPmg.js";
5
- import { P as ProjectHeader } from "./ProjectHeader-e8JosKaj.js";
6
- import { T as Tags } from "./Tags-C8Jnw74N.js";
7
- import { u as useProjectPages } from "./useProjectPages-DmNmAOdq.js";
8
- import { I as InsightsSummary } from "./InsightsSummary-CJgV5s0y.js";
9
- import "./useWorkflowActivate-z9iwP6OY.js";
10
- import "./TableBase-7XxrB0dw.js";
1
+ import { d as defineComponent, a5 as useRoute, b as useRouter, ag as useFoldersStore, r as ref, x as computed, c as useI18n, aq as ProjectTypes, V as VIEWS, O as resolveComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, s as N8nCard, n as normalizeClass, j as createBaseVNode, f as createCommentVNode, e as createBlock, hu as ProjectCardBadge, l as unref, aG as ResourceType, fn as N8nActionToggle, bO as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, fN as _sfc_main$3, m as N8nHeading, av as N8nBadge, N as N8nIcon, _ as _export_sfc, a as useToast, v as useSettingsStore, T as useUIStore, u as useUsersStore, a4 as useWorkflowsStore, af as useProjectsStore, am as getResourcePermissions, hn as dateFormat, aS as withDirectives, aT as vShow, ax as WORKFLOW_SHARE_MODAL_KEY, ay as useTelemetry, aF as DUPLICATE_MODAL_KEY, aA as useMessage, aB as MODAL_CONFIRM, aH as PROJECT_MOVE_RESOURCE_MODAL, hv as FOLDER_NAME_ILLEGAL_CHARACTERS_REGEX, hw as ILLEGAL_FOLDER_CHARACTERS, hx as FOLDER_NAME_ONLY_DOTS_REGEX, hy as FOLDER_NAME_MAX_LENGTH, ae as useSourceControlStore, R as useTagsStore, g1 as useUsageStore, hz as useInsightsStore, bb as useTemplatesStore, ai as useDocumentTitle, S as useDebounce, ap as EnterpriseEditionFeature, dF as isExtraTemplateLinksExperimentEnabled, aa as watch, o as onMounted, Q as createEventBus, I as onBeforeUnmount, L as debounce, hA as PROJECT_ROOT, ar as useTemplateRef, bf as createSlots, $ as N8nTooltip, q as N8nButton, f7 as N8nActionBox, fg as N8nInputLabel, au as _sfc_main$5, fi as N8nSelect, F as Fragment, y as renderList, fj as _sfc_main$6, f$ as N8nCheckbox, hB as Draggable, eW as N8nLoading, as as InlineRename, dg as N8nCallout, hC as DEFAULT_WORKFLOW_PAGE_SIZE, bj as trackTemplatesClick, bk as TemplateClickSource, eM as getEasyAiWorkflowJson, g3 as COMMUNITY_PLUS_ENROLLMENT_MODAL } from "./index-CAU8Zeff.js";
2
+ import { _ as _sfc_main$4 } from "./EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-Dtt1q_gN.js";
3
+ import { B as Breadcrumbs, W as WorkflowActivator, _ as __unplugin_components_0 } from "./WorkflowActivator-Hn_uDFPH.js";
4
+ import { R as ResourcesListLayout } from "./ResourcesListLayout-DoL3gqUA.js";
5
+ import { P as ProjectHeader } from "./ProjectHeader-BXo_XGDO.js";
6
+ import { T as Tags } from "./Tags-SJm7l2s6.js";
7
+ import { u as useProjectPages } from "./useProjectPages-4b50pSat.js";
8
+ import { I as InsightsSummary } from "./InsightsSummary-DT-p4HNY.js";
9
+ import "./useWorkflowActivate-C39vU0rW.js";
10
+ import "./TableBase-B5rreQVh.js";
11
11
  const FOLDER_LIST_ITEM_ACTIONS = {
12
12
  OPEN: "open",
13
13
  CREATE: "create",
@@ -967,6 +967,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
967
967
  const foldersStore = useFoldersStore();
968
968
  const usageStore = useUsageStore();
969
969
  const insightsStore = useInsightsStore();
970
+ const templatesStore = useTemplatesStore();
970
971
  const documentTitle = useDocumentTitle();
971
972
  const { callDebounced } = useDebounce();
972
973
  const projectPages = useProjectPages();
@@ -1140,6 +1141,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1140
1141
  const easyAIWorkflowOnboardingDone = usersStore.isEasyAIWorkflowOnboardingDone;
1141
1142
  return !easyAIWorkflowOnboardingDone;
1142
1143
  });
1144
+ const templatesCardEnabled = computed(() => {
1145
+ return isExtraTemplateLinksExperimentEnabled() && settingsStore.isTemplatesEnabled;
1146
+ });
1143
1147
  const projectPermissions = computed(() => {
1144
1148
  return getResourcePermissions(
1145
1149
  projectsStore.currentProject?.scopes ?? personalProject.value?.scopes
@@ -1437,6 +1441,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1437
1441
  });
1438
1442
  trackEmptyCardClick("blank");
1439
1443
  };
1444
+ const openTemplatesRepository = async () => {
1445
+ trackTemplatesClick(TemplateClickSource.emptyInstanceCard);
1446
+ if (templatesStore.hasCustomTemplatesHost) {
1447
+ await router.push({ name: VIEWS.TEMPLATES });
1448
+ return;
1449
+ }
1450
+ window.open(templatesStore.websiteTemplateRepositoryURL, "_blank");
1451
+ };
1440
1452
  const trackEmptyCardClick = (option) => {
1441
1453
  telemetry.track("User clicked empty page option", {
1442
1454
  option
@@ -2395,6 +2407,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2395
2407
  ], 2)
2396
2408
  ]),
2397
2409
  _: 1
2410
+ }, 8, ["class"])) : createCommentVNode("", true),
2411
+ templatesCardEnabled.value ? (openBlock(), createBlock(unref(N8nCard), {
2412
+ key: 1,
2413
+ class: normalizeClass(_ctx.$style.emptyStateCard),
2414
+ hoverable: "",
2415
+ "data-test-id": "new-workflow-from-template-card",
2416
+ onClick: openTemplatesRepository
2417
+ }, {
2418
+ default: withCtx(() => [
2419
+ createBaseVNode("div", {
2420
+ class: normalizeClass(_ctx.$style.emptyStateCardContent)
2421
+ }, [
2422
+ createVNode(unref(N8nIcon), {
2423
+ class: normalizeClass(_ctx.$style.emptyStateCardIcon),
2424
+ "stroke-width": 1.5,
2425
+ icon: "package-open",
2426
+ color: "foreground-dark"
2427
+ }, null, 8, ["class"]),
2428
+ createVNode(unref(N8nText), {
2429
+ size: "large",
2430
+ class: "mt-xs pl-2xs pr-2xs"
2431
+ }, {
2432
+ default: withCtx(() => [
2433
+ createTextVNode(toDisplayString(unref(i18n).baseText("workflows.empty.startWithTemplate")), 1)
2434
+ ]),
2435
+ _: 1
2436
+ })
2437
+ ], 2)
2438
+ ]),
2439
+ _: 1
2398
2440
  }, 8, ["class"])) : createCommentVNode("", true)
2399
2441
  ], 2)) : createCommentVNode("", true)
2400
2442
  ]))
@@ -1,5 +1,5 @@
1
- import { hf as useCssVar, iu as merge } from "./index-V0GOmfo8.js";
2
- import { s as smartDecimal } from "./InsightsSummary-CJgV5s0y.js";
1
+ import { hp as useCssVar, iJ as merge } from "./index-CAU8Zeff.js";
2
+ import { s as smartDecimal } from "./InsightsSummary-DT-p4HNY.js";
3
3
  const generateLinearGradient = (ctx, height) => {
4
4
  const gradient = ctx.createLinearGradient(0, 0, 0, height);
5
5
  gradient.addColorStop(0, "rgba(255, 111,92, 1)");
@@ -172,6 +172,7 @@ const en = {
172
172
  "aiAssistant.prompts.currentView.credentialsList": "The user is currently looking at the list of credentials.",
173
173
  "aiAssistant.prompts.currentView.executionsView": "The user is currently looking at the list of executions for the currently open workflow.",
174
174
  "aiAssistant.prompts.currentView.workflowEditor": "The user is currently looking at the current workflow in n8n editor, without any specific node selected.",
175
+ "aiAssistant.tooltip": "Ask Assistant",
175
176
  "banners.confirmEmail.message.1": "To secure your account and prevent future access issues, please confirm your",
176
177
  "banners.confirmEmail.message.2": "email address.",
177
178
  "banners.confirmEmail.button": "Confirm email",
@@ -1462,6 +1463,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
1462
1463
  "nodeView.cantExecuteNoTrigger": "Cannot execute workflow",
1463
1464
  "nodeView.canvasAddButton.addATriggerNodeBeforeExecuting": "Add a Trigger Node before executing the workflow",
1464
1465
  "nodeView.canvasAddButton.addFirstStep": "Add first step…",
1466
+ "nodeView.templateLink": "or start from a template",
1465
1467
  "nodeView.confirmMessage.onClipboardPasteEvent.cancelButtonText": "",
1466
1468
  "nodeView.confirmMessage.onClipboardPasteEvent.confirmButtonText": "Yes, import",
1467
1469
  "nodeView.confirmMessage.onClipboardPasteEvent.headline": "Import Workflow?",
@@ -1475,6 +1477,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
1475
1477
  "nodeView.deletesTheCurrentExecutionData": "Deletes the current execution data",
1476
1478
  "nodeView.focusPanel.title": "Focus",
1477
1479
  "nodeView.focusPanel.noParameters": "No parameters focused. Focus a parameter by clicking on the action dropdown in the node detail view.",
1480
+ "nodeView.focusPanel.missingParameter": "This parameter is no longer visible on the node. A related parameter was likely changed, removing this one.",
1478
1481
  "nodeView.itLooksLikeYouHaveBeenEditingSomething": "It looks like you made some edits. If you leave before saving, your changes will be lost.",
1479
1482
  "nodeView.loadingTemplate": "Loading template",
1480
1483
  "nodeView.moreInfo": "More info",
@@ -1500,6 +1503,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
1500
1503
  "nodeView.showError.mounted2.message": "There was a problem initializing the workflow",
1501
1504
  "nodeView.showError.mounted2.title": "Init Problem",
1502
1505
  "nodeView.showError.openExecution.title": "Problem loading execution",
1506
+ "nodeView.showError.openExecution.node": "Problem opening node in execution",
1503
1507
  "nodeView.showError.openWorkflow.title": "Problem opening workflow",
1504
1508
  "nodeView.showError.stopExecution.title": "Problem stopping execution",
1505
1509
  "nodeView.showError.stopWaitingForWebhook.title": "Problem deleting test webhook",
@@ -1534,6 +1538,8 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
1534
1538
  "nodeView.zoomToFit": "Zoom to Fit",
1535
1539
  "nodeView.replaceMe": "Replace Me",
1536
1540
  "nodeView.setupTemplate": "Set up template",
1541
+ "nodeView.expandAllNodes": "Expand all nodes",
1542
+ "nodeView.collapseAllNodes": "Collapse all nodes",
1537
1543
  "nodeViewV2.showError.editingNotAllowed": "Editing is not allowed",
1538
1544
  "nodeViewV2.showError.failedToCreateNode": "Failed to create node",
1539
1545
  "contextMenu.node": "node | nodes",
@@ -2601,6 +2607,7 @@ Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherw
2601
2607
  "workflows.empty.description.readOnlyEnv": "No workflows here yet",
2602
2608
  "workflows.empty.description.noPermission": "There are currently no workflows to view",
2603
2609
  "workflows.empty.startFromScratch": "Start from scratch",
2610
+ "workflows.empty.startWithTemplate": "Start with a template",
2604
2611
  "workflows.empty.browseTemplates": "Explore workflow templates",
2605
2612
  "workflows.empty.learnN8n": "Learn n8n",
2606
2613
  "workflows.empty.button.disabled.tooltip": "Your current role in the project does not allow you to create workflows",
@@ -1,4 +1,4 @@
1
- import { Q as createEventBus } from "./index-V0GOmfo8.js";
1
+ import { Q as createEventBus } from "./index-CAU8Zeff.js";
2
2
  const globalLinkActionsEventBus = createEventBus();
3
3
  export {
4
4
  globalLinkActionsEventBus as g
@@ -1,4 +1,4 @@
1
- import { Q as createEventBus } from "./index-V0GOmfo8.js";
1
+ import { Q as createEventBus } from "./index-CAU8Zeff.js";
2
2
  const importCurlEventBus = createEventBus();
3
3
  export {
4
4
  importCurlEventBus as i