n8n-editor-ui 1.88.0 → 1.89.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 (109) hide show
  1. package/dist/assets/{AnimatedSpinner-CytpudUc.js → AnimatedSpinner-64kuDSMd.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C1x27owo.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-vU7A4Ql5.js} +1 -1
  3. package/dist/assets/{AuthView-BOsGxYMO.js → AuthView-BtMwWncz.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-0IWSu8RE.css → CanvasChatSwitch-BDVIAjN6.css} +12 -11
  5. package/dist/assets/{CanvasChatSwitch-D3UUrzPo.js → CanvasChatSwitch-DCcRHty_.js} +24 -23
  6. package/dist/assets/{ChangePasswordView-Ci69Vzg4.js → ChangePasswordView-ngd6kK9h.js} +3 -3
  7. package/dist/assets/CollectionParameter-NNrH2Qf1.js +4 -0
  8. package/dist/assets/{CredentialsView-Cqt2JP6g.js → CredentialsView-c9VZrSEP.js} +6 -6
  9. package/dist/assets/{ErrorView-CHrdzaAM.js → ErrorView-M0yTzQxC.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-7B2yTHn7.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-BsM5P8VY.js} +2 -2
  11. package/dist/assets/{ExecutionsView-DG9QXuCV.js → ExecutionsView-2Ywg0NsP.js} +8 -8
  12. package/dist/assets/{FileSaver.min-_h3vjrbO.js → FileSaver.min-DAXzY4JY.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-jq2vt6L0.js → FixedCollectionParameter-CNRFXDrN.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-DVos3IcI.js → ForgotMyPasswordView-C1SOW4HN.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-Cxvz6Yw9.js → InsightsChartAverageRuntime-D_7tKoef.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-DSmO3hz7.js → InsightsChartFailed-DDejxv0R.js} +5 -5
  17. package/dist/assets/{InsightsChartFailureRate-ERj7qNeH.js → InsightsChartFailureRate-PS5N1AdB.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-CT3zwXsy.js → InsightsChartTimeSaved-BBw2CgSS.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-Czf1oMmf.js → InsightsChartTotal-2MVolQhG.js} +7 -7
  20. package/dist/assets/InsightsDashboard-DCdd_dks.js +174 -0
  21. package/dist/assets/{InsightsDashboard-CB4vHnBh.css → InsightsDashboard-DPVczYm3.css} +21 -8
  22. package/dist/assets/{InsightsPaywall-CwgVLWer.js → InsightsPaywall-DtIcXb48.js} +1 -1
  23. package/dist/assets/{InsightsSummary-BJagTlqW.js → InsightsSummary-BzdlA4Dr.js} +48 -25
  24. package/dist/assets/{InsightsSummary-W08OzElS.css → InsightsSummary-FixbpmPJ.css} +28 -25
  25. package/dist/assets/{InsightsTableWorkflows-BnEoVZ3U.css → InsightsTableWorkflows-Blv_GPUj.css} +16 -1
  26. package/dist/assets/{InsightsTableWorkflows-8EMt_xLI.js → InsightsTableWorkflows-CnEuNzZ9.js} +54 -9
  27. package/dist/assets/{Logo-Bs0Q1uXx.js → Logo-CmGfYtCL.js} +1 -1
  28. package/dist/assets/{MainHeader-BNLJDeK4.js → MainHeader-DdjAOCVS.js} +9 -9
  29. package/dist/assets/{MainSidebar-DNsEFuhU.js → MainSidebar-CPtfXLom.js} +4 -2
  30. package/dist/assets/{NodeCreation-CeIwM0S4.js → NodeCreation-C9WNMB5W.js} +4 -4
  31. package/dist/assets/{NodeCreator-CfP2A2uN.js → NodeCreator-Dt7b_La2.js} +3 -3
  32. package/dist/assets/{NodeDetailsView-v5wasLcI.js → NodeDetailsView-BPQgwdWz.js} +11 -11
  33. package/dist/assets/{NodeView-DSC2nzwS.js → NodeView-CKF92Cc3.js} +17 -18
  34. package/dist/assets/{ProjectCardBadge-BhJyJ0DN.js → ProjectCardBadge-Ca29o2Nu.js} +1 -1
  35. package/dist/assets/{ProjectHeader-B0X_hT2Q.js → ProjectHeader-Dq3fVC-9.js} +1 -1
  36. package/dist/assets/{ProjectSettings-BOkYpJpX.js → ProjectSettings-6oRh_PiD.js} +2 -2
  37. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CTproKVr.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DtHAaMts.js} +1 -1
  38. package/dist/assets/{ResourcesListLayout-DlCAO055.js → ResourcesListLayout-CjpS9ho7.js} +12 -2
  39. package/dist/assets/{ResourcesListLayout-CWgWhtKq.css → ResourcesListLayout-b44J07nq.css} +8 -8
  40. package/dist/assets/{RunDataAi-CFnvZB7Q.js → RunDataAi-DpuaI4HY.js} +64 -41
  41. package/dist/assets/{RunDataJson-Ys1l8Vjz.js → RunDataJson-CS1Vs4me.js} +23 -13
  42. package/dist/assets/{RunDataJsonActions-VvZhKQwb.js → RunDataJsonActions-UEDmvE5v.js} +1 -1
  43. package/dist/assets/{RunDataSearch-BZxyLQFu.js → RunDataSearch-BjsM_QL7.js} +1 -1
  44. package/dist/assets/{RunDataTable-Bt5prJ8m.js → RunDataTable-zY9Z73dm.js} +17 -7
  45. package/dist/assets/{SamlOnboarding-CMz0PmYu.js → SamlOnboarding-CMQ3F8vU.js} +3 -3
  46. package/dist/assets/{SettingsApiView-BdFPeAle.js → SettingsApiView-C7mJo5RT.js} +1 -1
  47. package/dist/assets/{SettingsCommunityNodesView-Cl0fOeDN.js → SettingsCommunityNodesView-oV3f1FYs.js} +4 -4
  48. package/dist/assets/{SettingsExternalSecrets-BHyHPKVH.js → SettingsExternalSecrets-Zm50ediz.js} +1 -1
  49. package/dist/assets/{SettingsLdapView-dh0asCi2.js → SettingsLdapView-D0lujKk6.js} +1 -1
  50. package/dist/assets/{SettingsLogStreamingView-Dz_RlpmV.js → SettingsLogStreamingView-DMRYf3h4.js} +1 -1
  51. package/dist/assets/{SettingsPersonalView-u6H-G2bs.js → SettingsPersonalView-BlKM42Fv.js} +1 -1
  52. package/dist/assets/{SettingsSourceControl-DW-hWWv4.js → SettingsSourceControl-BRkqOyBq.js} +1 -1
  53. package/dist/assets/{SettingsSso-BuZapLTi.js → SettingsSso-ClphkEtx.js} +1 -1
  54. package/dist/assets/{SettingsUsageAndPlan-DgttI1x2.js → SettingsUsageAndPlan-BnxbFSLN.js} +1 -1
  55. package/dist/assets/{SettingsUsersView-YVCc_2i5.js → SettingsUsersView-CnqllPG4.js} +1 -1
  56. package/dist/assets/{SettingsView-NqVZK2ZG.js → SettingsView-CJ4icVTM.js} +1 -1
  57. package/dist/assets/{SetupView-CmonnYUU.js → SetupView-BaUQwZK2.js} +3 -3
  58. package/dist/assets/{SetupWorkflowCredentialsButton-DTygMFo3.js → SetupWorkflowCredentialsButton-DiRHCsta.js} +1 -1
  59. package/dist/assets/{SetupWorkflowFromTemplateView-7TIegCGR.js → SetupWorkflowFromTemplateView-CjiIpX1D.js} +3 -3
  60. package/dist/assets/{SigninView-BpYgNNSL.js → SigninView-DrRmsG64.js} +3 -3
  61. package/dist/assets/{SignoutView-B0bj5iwF.js → SignoutView-DEK6MH1B.js} +1 -1
  62. package/dist/assets/{SignupView-DwoIk0Tp.js → SignupView-CTdIAp1U.js} +3 -3
  63. package/dist/assets/{TemplateDetails-Cj6tuxyL.js → TemplateDetails-B6Nnq5_s.js} +1 -1
  64. package/dist/assets/{TemplateList-E9qgrHcm.js → TemplateList-BKmKXiHs.js} +1 -1
  65. package/dist/assets/{TemplatesCollectionView-D--Q4va1.js → TemplatesCollectionView-CXgiZ-fy.js} +5 -5
  66. package/dist/assets/{TemplatesSearchView-JzHyaQHO.js → TemplatesSearchView-BoX9MKRy.js} +3 -3
  67. package/dist/assets/{TemplatesView-t-Y8HZ-h.js → TemplatesView-htM1lafV.js} +1 -1
  68. package/dist/assets/{TemplatesWorkflowView-lyLKyO_a.js → TemplatesWorkflowView-DIqdCPxB.js} +5 -5
  69. package/dist/assets/{TestDefinitionEditView-B2V3RmoY.js → TestDefinitionEditView-izO1b1I3.js} +7 -7
  70. package/dist/assets/{TestDefinitionListView-BpNvtR2U.js → TestDefinitionListView-DuLocBuw.js} +1 -1
  71. package/dist/assets/{TestDefinitionNewView-BRJEkga7.js → TestDefinitionNewView-Dg37IAs6.js} +2 -2
  72. package/dist/assets/{TestDefinitionRootView-50o-MzqE.js → TestDefinitionRootView-DlG7VKKU.js} +1 -1
  73. package/dist/assets/{VariablesView-Aid3aB2G.js → VariablesView-Cq8LInqk.js} +3 -3
  74. package/dist/assets/{WorkerView-CV3vv8ty.js → WorkerView-BTQTq3vI.js} +6 -6
  75. package/dist/assets/{WorkflowActivator-D5xNXE9l.js → WorkflowActivator-E1mdIOaC.js} +2 -2
  76. package/dist/assets/{WorkflowExecutionsInfoAccordion-CPOp4DmD.js → WorkflowExecutionsInfoAccordion-DxGM_yu-.js} +1 -1
  77. package/dist/assets/{WorkflowExecutionsLandingPage-Brgsjhhb.js → WorkflowExecutionsLandingPage-BkftsbSa.js} +2 -2
  78. package/dist/assets/{WorkflowExecutionsPreview-CeuYxaz1.js → WorkflowExecutionsPreview-w7I_h1ID.js} +6 -6
  79. package/dist/assets/{WorkflowExecutionsView-D_C5znwt.js → WorkflowExecutionsView-lyjECt6I.js} +7 -7
  80. package/dist/assets/{WorkflowHistory-DDCFAxHk.js → WorkflowHistory-B8_7vx-c.js} +3 -3
  81. package/dist/assets/{WorkflowOnboardingView-qSdJ8hMJ.js → WorkflowOnboardingView-D2fR8tdw.js} +1 -1
  82. package/dist/assets/{WorkflowPreview-BSMu0phm.js → WorkflowPreview-CNu7Kd6F.js} +1 -1
  83. package/dist/assets/{WorkflowsView-B84150NB.js → WorkflowsView-B_70hdtG.js} +132 -41
  84. package/dist/assets/{WorkflowsView-CJB9aI6A.css → WorkflowsView-DV1tjQwB.css} +17 -11
  85. package/dist/assets/{chartjs.utils-Cm2acgkX.js → chartjs.utils-3n4f3zmI.js} +6 -3
  86. package/dist/assets/{dateFormatter-BBHn7yLK.js → dateFormatter-C1XlsLk2.js} +1 -1
  87. package/dist/assets/easyAiWorkflowUtils-CCJdF1g3.js +132 -0
  88. package/dist/assets/{global-link-actions-197wrnTd.js → global-link-actions-B6woWi9D.js} +1 -1
  89. package/dist/assets/{import-curl-D3vA_y5V.js → import-curl-BlRUX0EU.js} +1 -1
  90. package/dist/assets/{index-BolKFsR6.js → index-B-Y7sDIj.js} +559 -460
  91. package/dist/assets/{index-jhcBWw1X.js → index-BHGYFXFB.js} +1 -1
  92. package/dist/assets/{index-CZPKmOs3.css → index-DwKuVkBg.css} +18 -18
  93. package/dist/assets/{pickBy-DdZwpLuz.js → pickBy-BdN6wCB-.js} +1 -1
  94. package/dist/assets/{templateActions-B3mA9mHC.js → templateActions-FAVGvEAM.js} +1 -1
  95. package/dist/assets/{useBeforeUnload-Cmy5_E1y.js → useBeforeUnload-oRTjaea2.js} +1 -1
  96. package/dist/assets/{useCanvasMapping-ByKwHB68.js → useCanvasMapping-CmD2j75y.js} +2 -2
  97. package/dist/assets/{useCanvasOperations-CZQ6BvKq.js → useCanvasOperations-DYORubSM.js} +12 -6
  98. package/dist/assets/{useClearExecutionButtonVisible-NAMk60LX.js → useClearExecutionButtonVisible-ReuF4PkZ.js} +2 -2
  99. package/dist/assets/{useExecutionDebugging-4OAq-INE.js → useExecutionDebugging-I7MLJdC1.js} +1 -1
  100. package/dist/assets/{useExecutionHelpers-C7k4a6Dr.js → useExecutionHelpers-CyZuZAQA.js} +2 -2
  101. package/dist/assets/{useImportCurlCommand-C8JrR8Ua.js → useImportCurlCommand-DZVwxoke.js} +2 -2
  102. package/dist/assets/{usePushConnection-Be32yU7N.js → usePushConnection-SgX-5Lz6.js} +5 -11
  103. package/dist/assets/{useTestDefinitionForm-B_2_c7H0.js → useTestDefinitionForm-gWQ_zjEl.js} +1 -1
  104. package/dist/assets/{useWorkflowActivate-FHLlCRAF.js → useWorkflowActivate-CX21vkKl.js} +1 -1
  105. package/dist/index.html +2 -2
  106. package/package.json +1 -1
  107. package/dist/assets/CollectionParameter-kHJawvJZ.js +0 -4
  108. package/dist/assets/InsightsDashboard-Dtn_GFc2.js +0 -150
  109. package/dist/assets/easyAiWorkflowUtils-6c9XExXn.js +0 -181
@@ -1,4 +1,4 @@
1
- import { _ as _export_sfc, i as createElementBlock, g as openBlock, gk as createStaticVNode } from "./index-BolKFsR6.js";
1
+ import { _ as _export_sfc, i as createElementBlock, g as openBlock, gj as createStaticVNode } from "./index-B-Y7sDIj.js";
2
2
  const _sfc_main = {};
3
3
  const _hoisted_1 = {
4
4
  width: "14",
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, fS as useAnnotationTagsStore, L as useUIStore, q as computed, e as createBlock, g as openBlock, fT as _sfc_main$1, fU as ANNOTATION_TAGS_MANAGER_MODAL_KEY } from "./index-BolKFsR6.js";
1
+ import { d as defineComponent, fR as useAnnotationTagsStore, L as useUIStore, q as computed, e as createBlock, g as openBlock, fS as _sfc_main$1, fT as ANNOTATION_TAGS_MANAGER_MODAL_KEY } from "./index-B-Y7sDIj.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "AnnotationTagsDropdown.ee",
4
4
  props: {
@@ -1,5 +1,5 @@
1
- import { L as Logo } from "./Logo-Bs0Q1uXx.js";
2
- import { d as defineComponent, cy as useSSOStore, a as useToast, h as resolveComponent, i as createElementBlock, f as createCommentVNode, m as unref, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, t as toDisplayString, c as useI18n, _ as _export_sfc, p as useSettingsStore, w as withCtx, l as createTextVNode, e as createBlock, b3 as mergeProps } from "./index-BolKFsR6.js";
1
+ import { L as Logo } from "./Logo-CmGfYtCL.js";
2
+ import { d as defineComponent, cx as useSSOStore, a as useToast, h as resolveComponent, i as createElementBlock, f as createCommentVNode, m as unref, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, t as toDisplayString, c as useI18n, _ as _export_sfc, p as useSettingsStore, w as withCtx, l as createTextVNode, e as createBlock, b3 as mergeProps } from "./index-B-Y7sDIj.js";
3
3
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
4
4
  __name: "SSOLogin",
5
5
  setup(__props) {
@@ -3330,7 +3330,7 @@
3330
3330
  -------------------------- */
3331
3331
  /* BEM
3332
3332
  -------------------------- */
3333
- ._container_1xpvq_123 {
3333
+ ._container_1xh09_123 {
3334
3334
  flex-grow: 1;
3335
3335
  flex-shrink: 1;
3336
3336
  display: flex;
@@ -3339,7 +3339,7 @@
3339
3339
  overflow: hidden;
3340
3340
  background-color: var(--color-foreground-xlight);
3341
3341
  }
3342
- ._content_1xpvq_133 {
3342
+ ._content_1xh09_133 {
3343
3343
  position: relative;
3344
3344
  flex-grow: 1;
3345
3345
  overflow: auto;
@@ -3348,39 +3348,40 @@
3348
3348
  align-items: stretch;
3349
3349
  justify-content: stretch;
3350
3350
  }
3351
- ._content_1xpvq_133._empty_1xpvq_142 {
3351
+ ._content_1xh09_133._empty_1xh09_142 {
3352
3352
  align-items: center;
3353
3353
  justify-content: center;
3354
3354
  }
3355
- ._emptyText_1xpvq_147 {
3355
+ ._emptyText_1xh09_147 {
3356
3356
  max-width: 20em;
3357
3357
  text-align: center;
3358
3358
  }
3359
- ._scrollable_1xpvq_152 {
3359
+ ._scrollable_1xh09_152 {
3360
3360
  padding: var(--spacing-2xs);
3361
3361
  flex-grow: 1;
3362
3362
  flex-shrink: 1;
3363
3363
  overflow: auto;
3364
3364
  }
3365
- ._summary_1xpvq_159 {
3365
+ ._summary_1xh09_159 {
3366
3366
  display: flex;
3367
3367
  align-items: center;
3368
3368
  padding-block: var(--spacing-2xs);
3369
3369
  }
3370
- ._summary_1xpvq_159 > * {
3370
+ ._summary_1xh09_159 > * {
3371
3371
  padding-inline: var(--spacing-2xs);
3372
3372
  }
3373
- ._summary_1xpvq_159 > *:not(:last-child) {
3373
+ ._summary_1xh09_159 > *:not(:last-child) {
3374
3374
  border-right: var(--border-base);
3375
3375
  }
3376
- ._tree_1xpvq_171 {
3376
+ ._tree_1xh09_171 {
3377
3377
  margin-top: var(--spacing-2xs);
3378
3378
  }
3379
- ._tree_1xpvq_171 .el-icon {
3379
+ ._tree_1xh09_171 .el-icon {
3380
3380
  display: none;
3381
3381
  }
3382
- ._switchViewButtons_1xpvq_178 {
3382
+ ._switchViewButtons_1xh09_178 {
3383
3383
  position: absolute;
3384
+ z-index: 10; /* higher than log entry rows background */
3384
3385
  right: 0;
3385
3386
  top: 0;
3386
3387
  margin: var(--spacing-2xs);
@@ -1,9 +1,9 @@
1
- import { aZ as inject, a_ as isRef, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, q as computed, j as createVNode, e as createBlock, f as createCommentVNode, m as unref, t as toDisplayString, J as withModifiers, _ as _export_sfc, a$ as toRefs, r as ref, o as onMounted, n as normalizeClass, x as renderSlot, b0 as normalizeProps, b1 as guardReactiveProps, b2 as resolveDynamicComponent, b3 as mergeProps, b4 as VueMarkdown, F as Fragment, D as renderList, b5 as markdownLink, b6 as useFileDialog, b7 as onUnmounted, B as normalizeStyle, aC as withDirectives, b8 as vModelText, H as withKeys, w as withCtx, I as watch, h as resolveComponent, l as createTextVNode, b9 as N8nText, ba as useClipboard, a as useToast, c as useI18n$1, aS as N8nTooltip, bb as N8nButton, aU as _sfc_main$i, aW as createSlots, aL as useStorage, bc as watchEffect, y as onBeforeUnmount, K as useDebounce, bd as provide, be as useProvideTooltipAppendTo, bf as IsInPiPWindowSymbol, bg as isEmpty, bh as get, bi as usePinnedData, ak as useMessage, al as MODAL_CONFIRM, bj as v4, bk as MANUAL_CHAT_TRIGGER_NODE_TYPE, bl as CHAT_TRIGGER_NODE_TYPE, bm as CHAIN_SUMMARIZATION_LANGCHAIN_NODE_TYPE, bn as AI_SUBCATEGORY, bo as AI_CATEGORY_AGENTS, bp as AI_CATEGORY_CHAINS, bq as AI_CODE_NODE_TYPE, br as getNodeInputs, bs as getConnectionTypes, bt as getNodeOutputs, bu as NodeConnectionTypes, bv as CHAT_TRIGGER_NODE_TYPE$1, U as useWorkflowsStore, bw as useNodeTypesStore, a2 as useCanvasStore, b as useRouter, bx as useNodeHelpers, by as useRunWorkflow, V as VIEWS, bz as LOGS_PANEL_STATE, bA as useTemplateRef, bB as N8nResizeWrapper, ai as useTelemetry, bC as _sfc_main$k, bD as I18nT, bE as N8nIcon, au as useNDVStore, bF as ElTree, bG as N8nRadioButtons, bH as useStyles, p as useSettingsStore } from "./index-BolKFsR6.js";
2
- import { H as HighlightJS, R as RunDataAi, f as formatTokenUsageCount, _ as _sfc_main$j, g as getSubtreeTotalConsumedTokens, a as getTreeNodeData, c as createAiData, b as getTotalConsumedTokens } from "./RunDataAi-CFnvZB7Q.js";
3
- import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-NAMk60LX.js";
4
- import { t as toTime, a as toDayMonth } from "./dateFormatter-BBHn7yLK.js";
5
- import { u as upperFirst } from "./useCanvasOperations-CZQ6BvKq.js";
6
- import "./useExecutionHelpers-C7k4a6Dr.js";
1
+ import { aZ as inject, a_ as isRef, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, q as computed, j as createVNode, e as createBlock, f as createCommentVNode, m as unref, t as toDisplayString, J as withModifiers, _ as _export_sfc, a$ as toRefs, r as ref, o as onMounted, n as normalizeClass, x as renderSlot, b0 as normalizeProps, b1 as guardReactiveProps, b2 as resolveDynamicComponent, b3 as mergeProps, b4 as VueMarkdown, F as Fragment, D as renderList, b5 as markdownLink, b6 as useFileDialog, b7 as onUnmounted, B as normalizeStyle, aC as withDirectives, b8 as vModelText, H as withKeys, w as withCtx, I as watch, h as resolveComponent, l as createTextVNode, b9 as N8nText, ba as useClipboard, a as useToast, c as useI18n$1, aS as N8nTooltip, bb as N8nButton, aU as _sfc_main$i, aW as createSlots, aL as useStorage, bc as watchEffect, y as onBeforeUnmount, K as useDebounce, bd as provide, be as useProvideTooltipAppendTo, bf as IsInPiPWindowSymbol, bg as isEmpty, bh as get, bi as usePinnedData, ak as useMessage, al as MODAL_CONFIRM, bj as v4, bk as MANUAL_CHAT_TRIGGER_NODE_TYPE, bl as CHAT_TRIGGER_NODE_TYPE, bm as CHAIN_SUMMARIZATION_LANGCHAIN_NODE_TYPE, bn as AI_SUBCATEGORY, bo as AI_CATEGORY_AGENTS, bp as AI_CATEGORY_CHAINS, bq as AI_CODE_NODE_TYPE, br as getNodeInputs, bs as getConnectionTypes, bt as getNodeOutputs, bu as NodeConnectionTypes, bv as CHAT_TRIGGER_NODE_TYPE$1, U as useWorkflowsStore, bw as useNodeTypesStore, a2 as useCanvasStore, b as useRouter, bx as useNodeHelpers, by as useRunWorkflow, V as VIEWS, bz as LOGS_PANEL_STATE, bA as useTemplateRef, bB as N8nResizeWrapper, ai as useTelemetry, bC as _sfc_main$k, bD as I18nT, bE as N8nIcon, au as useNDVStore, bF as ElTree, bG as N8nRadioButtons, bH as useStyles, p as useSettingsStore } from "./index-B-Y7sDIj.js";
2
+ import { H as HighlightJS, R as RunDataAi, f as formatTokenUsageCount, _ as _sfc_main$j, g as getSubtreeTotalConsumedTokens, c as createLogEntries, a as getTotalConsumedTokens } from "./RunDataAi-DpuaI4HY.js";
3
+ import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-ReuF4PkZ.js";
4
+ import { t as toTime, a as toDayMonth } from "./dateFormatter-C1XlsLk2.js";
5
+ import { u as upperFirst } from "./useCanvasOperations-DYORubSM.js";
6
+ import "./useExecutionHelpers-CyZuZAQA.js";
7
7
  function bash(hljs) {
8
8
  const regex = hljs.regex;
9
9
  const VAR = {};
@@ -4467,7 +4467,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4467
4467
  parent = parent?.parent;
4468
4468
  }
4469
4469
  const siblings = parent?.children ?? [];
4470
- return data === siblings[siblings.length - 1];
4470
+ const lastSibling = siblings[siblings.length - 1];
4471
+ return data === void 0 && lastSibling === void 0 || data?.node === lastSibling?.node && data?.runIndex === lastSibling?.runIndex;
4471
4472
  }
4472
4473
  return (_ctx, _cache) => {
4473
4474
  const _component_NodeIcon = _sfc_main$k;
@@ -4676,7 +4677,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4676
4677
  __name: "LogsOverviewPanel",
4677
4678
  props: {
4678
4679
  isOpen: { type: Boolean },
4679
- node: {},
4680
4680
  selected: {}
4681
4681
  },
4682
4682
  emits: ["clickHeader", "select"],
@@ -4692,11 +4692,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4692
4692
  const isClearExecutionButtonVisible = useClearExecutionButtonVisible();
4693
4693
  const workflow = computed(() => workflowsStore.getCurrentWorkflow());
4694
4694
  const executionTree = computed(
4695
- () => __props.node ? getTreeNodeData(
4696
- __props.node.name,
4695
+ () => createLogEntries(
4697
4696
  workflow.value,
4698
- createAiData(__props.node.name, workflow.value, workflowsStore.getWorkflowResultDataByNodeName)
4699
- ) : []
4697
+ workflowsStore.workflowExecutionData?.data?.resultData.runData ?? {}
4698
+ )
4700
4699
  );
4701
4700
  const isEmpty2 = computed(() => workflowsStore.workflowExecutionData === null);
4702
4701
  const switchViewOptions = computed(() => [
@@ -4865,14 +4864,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4865
4864
  };
4866
4865
  }
4867
4866
  });
4868
- const container$2 = "_container_1xpvq_123";
4869
- const content$1 = "_content_1xpvq_133";
4870
- const empty = "_empty_1xpvq_142";
4871
- const emptyText = "_emptyText_1xpvq_147";
4872
- const scrollable = "_scrollable_1xpvq_152";
4873
- const summary = "_summary_1xpvq_159";
4874
- const tree = "_tree_1xpvq_171";
4875
- const switchViewButtons = "_switchViewButtons_1xpvq_178";
4867
+ const container$2 = "_container_1xh09_123";
4868
+ const content$1 = "_content_1xh09_133";
4869
+ const empty = "_empty_1xh09_142";
4870
+ const emptyText = "_emptyText_1xh09_147";
4871
+ const scrollable = "_scrollable_1xh09_152";
4872
+ const summary = "_summary_1xh09_159";
4873
+ const tree = "_tree_1xh09_171";
4874
+ const switchViewButtons = "_switchViewButtons_1xh09_178";
4876
4875
  const style0$2 = {
4877
4876
  container: container$2,
4878
4877
  content: content$1,
@@ -5006,7 +5005,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5006
5005
  );
5007
5006
  const telemetry = useTelemetry();
5008
5007
  const { rootStyles, height, chatWidth, onWindowResize, onResizeDebounced, onResizeChatDebounced } = useResize(container2);
5009
- const { currentSessionId, messages: messages2, connectedNode, sendMessage, refreshSession, displayExecution } = useChatState(ref(false), onWindowResize);
5008
+ const { currentSessionId, messages: messages2, sendMessage, refreshSession, displayExecution } = useChatState(
5009
+ ref(false),
5010
+ onWindowResize
5011
+ );
5010
5012
  const isLogDetailsOpen = computed(() => selectedLogEntry.value !== void 0);
5011
5013
  const { canPopOut, isPoppedOut, pipWindow } = usePiPWindow({
5012
5014
  initialHeight: 400,
@@ -5108,7 +5110,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5108
5110
  createVNode(LogsOverviewPanel, {
5109
5111
  class: normalizeClass(_ctx.$style.logsOverview),
5110
5112
  "is-open": panelState.value !== unref(LOGS_PANEL_STATE).CLOSED,
5111
- node: unref(connectedNode),
5112
5113
  selected: selectedLogEntry.value,
5113
5114
  onClickHeader: handleClickHeader,
5114
5115
  onSelect: handleSelectLogEntry
@@ -5117,7 +5118,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5117
5118
  !isLogDetailsOpen.value ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, logsPanelActionsProps.value)), null, 16)) : createCommentVNode("", true)
5118
5119
  ]),
5119
5120
  _: 1
5120
- }, 8, ["class", "is-open", "node", "selected"]),
5121
+ }, 8, ["class", "is-open", "selected"]),
5121
5122
  selectedLogEntry.value ? (openBlock(), createBlock(LogsDetailsPanel, {
5122
5123
  key: 1,
5123
5124
  class: normalizeClass(_ctx.$style.logDetails),
@@ -1,6 +1,6 @@
1
- import { d as defineComponent, u as useUsersStore, a as useToast, b as useRouter, r as ref, o as onMounted, c as useI18n, M as MFA_AUTHENTICATION_CODE_INPUT_MAX_LENGTH, V as VIEWS, e as createBlock, f as createCommentVNode, g as openBlock } from "./index-BolKFsR6.js";
2
- import { A as AuthView } from "./AuthView-BOsGxYMO.js";
3
- import "./Logo-Bs0Q1uXx.js";
1
+ import { d as defineComponent, u as useUsersStore, a as useToast, b as useRouter, r as ref, o as onMounted, c as useI18n, M as MFA_AUTHENTICATION_CODE_INPUT_MAX_LENGTH, V as VIEWS, e as createBlock, f as createCommentVNode, g as openBlock } from "./index-B-Y7sDIj.js";
2
+ import { A as AuthView } from "./AuthView-BtMwWncz.js";
3
+ import "./Logo-CmGfYtCL.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "ChangePasswordView",
6
6
  setup(__props) {
@@ -0,0 +1,4 @@
1
+ import { gQ as _sfc_main } from "./index-B-Y7sDIj.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1,9 +1,9 @@
1
- import { d as defineComponent, L as useUIStore, bM as useCredentialsStore, a4 as useProjectsStore, q as computed, c as useI18n, a9 as getResourcePermissions, fb as dateformat, h as resolveComponent, e as createBlock, g as openBlock, J as withModifiers, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, i as createElementBlock, f as createCommentVNode, aC as withDirectives, t as toDisplayString, aD as vShow, l as createTextVNode, m as unref, cV as _sfc_main$2, gl as ResourceType, gC as CredentialIcon, ak as useMessage, al as MODAL_CONFIRM, gn as PROJECT_MOVE_RESOURCE_MODAL, _ as _export_sfc, bw as useNodeTypesStore, a3 as useSourceControlStore, bO as useExternalSecretsStore, u as useUsersStore, gs as useInsightsStore, a6 as useDocumentTitle, W as useRoute, b as useRouter, r as ref, gD as listenForModalChanges, I as watch, o as onMounted, F as Fragment, D as renderList, db as N8nCheckbox, gE as CREDENTIAL_EMPTY_VALUE, ai as useTelemetry, p as useSettingsStore, ac as EnterpriseEditionFeature, bN as useEnvironmentsStore, gF as CREDENTIAL_SELECT_MODAL_KEY, V as VIEWS, gG as CREDENTIAL_EDIT_MODAL_KEY, gH as isCredentialsResource } from "./index-BolKFsR6.js";
2
- import { R as ResourcesListLayout } from "./ResourcesListLayout-DlCAO055.js";
3
- import { P as ProjectCardBadge } from "./ProjectCardBadge-BhJyJ0DN.js";
4
- import { u as useOverview, P as ProjectHeader } from "./ProjectHeader-B0X_hT2Q.js";
5
- import { I as InsightsSummary } from "./InsightsSummary-BJagTlqW.js";
6
- import { p as pickBy } from "./pickBy-DdZwpLuz.js";
1
+ import { d as defineComponent, L as useUIStore, bM as useCredentialsStore, a4 as useProjectsStore, q as computed, c as useI18n, a9 as getResourcePermissions, fa as dateformat, h as resolveComponent, e as createBlock, g as openBlock, J as withModifiers, n as normalizeClass, w as withCtx, k as createBaseVNode, j as createVNode, i as createElementBlock, f as createCommentVNode, aC as withDirectives, t as toDisplayString, aD as vShow, l as createTextVNode, m as unref, cU as _sfc_main$2, gl as ResourceType, gC as CredentialIcon, ak as useMessage, al as MODAL_CONFIRM, gm as PROJECT_MOVE_RESOURCE_MODAL, _ as _export_sfc, bw as useNodeTypesStore, a3 as useSourceControlStore, bO as useExternalSecretsStore, u as useUsersStore, gr as useInsightsStore, a6 as useDocumentTitle, W as useRoute, b as useRouter, r as ref, gD as listenForModalChanges, I as watch, o as onMounted, F as Fragment, D as renderList, da as N8nCheckbox, gE as CREDENTIAL_EMPTY_VALUE, ai as useTelemetry, p as useSettingsStore, ac as EnterpriseEditionFeature, bN as useEnvironmentsStore, gF as CREDENTIAL_SELECT_MODAL_KEY, V as VIEWS, gG as CREDENTIAL_EDIT_MODAL_KEY, gH as isCredentialsResource } from "./index-B-Y7sDIj.js";
2
+ import { R as ResourcesListLayout } from "./ResourcesListLayout-CjpS9ho7.js";
3
+ import { P as ProjectCardBadge } from "./ProjectCardBadge-Ca29o2Nu.js";
4
+ import { u as useOverview, P as ProjectHeader } from "./ProjectHeader-Dq3fVC-9.js";
5
+ import { I as InsightsSummary } from "./InsightsSummary-BzdlA4Dr.js";
6
+ import { p as pickBy } from "./pickBy-BdN6wCB-.js";
7
7
  const _hoisted_1$1 = { key: 0 };
8
8
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
9
9
  __name: "CredentialCard",
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, b as useRouter, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, k as createBaseVNode, n as normalizeClass, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, V as VIEWS, _ as _export_sfc } from "./index-BolKFsR6.js";
1
+ import { d as defineComponent, b as useRouter, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, k as createBaseVNode, n as normalizeClass, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, V as VIEWS, _ as _export_sfc } from "./index-B-Y7sDIj.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "ErrorView",
4
4
  props: {
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, aw as usePostHog, q as computed, c as useI18n, az as WORKFLOW_EVALUATION_EXPERIMENT, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, k as createBaseVNode, n as normalizeClass, e as createBlock, m as unref, _ as _export_sfc, p as useSettingsStore, K as useDebounce, a8 as usePageRedirectionHelper, r as ref, ac as EnterpriseEditionFeature, bL as reactive, fQ as getObjectKeys, de as i18n, fR as isEmpty, aB as onBeforeMount, f as createCommentVNode, F as Fragment, D as renderList, af as _sfc_main$3, J as withModifiers, aW as createSlots, ai as useTelemetry, o as onMounted, y as onBeforeUnmount } from "./index-BolKFsR6.js";
2
- import { _ as _sfc_main$4 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C1x27owo.js";
1
+ import { d as defineComponent, aw as usePostHog, q as computed, c as useI18n, az as WORKFLOW_EVALUATION_EXPERIMENT, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, k as createBaseVNode, n as normalizeClass, e as createBlock, m as unref, _ as _export_sfc, p as useSettingsStore, K as useDebounce, a8 as usePageRedirectionHelper, r as ref, ac as EnterpriseEditionFeature, bL as reactive, fP as getObjectKeys, dd as i18n, fQ as isEmpty, aB as onBeforeMount, f as createCommentVNode, F as Fragment, D as renderList, af as _sfc_main$3, J as withModifiers, aW as createSlots, ai as useTelemetry, o as onMounted, y as onBeforeUnmount } from "./index-B-Y7sDIj.js";
2
+ import { _ as _sfc_main$4 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-vU7A4Ql5.js";
3
3
  const _hoisted_1$1 = { "data-test-id": "concurrent-executions-header" };
4
4
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
5
5
  __name: "ConcurrentExecutionsHeader",
@@ -1,11 +1,11 @@
1
- import { d as defineComponent, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, x as renderSlot, f as createCommentVNode, j as createVNode, n as normalizeClass, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, _ as _export_sfc, a0 as useCssModule, r as ref, q as computed, fM as WAIT_INDEFINITELY, i as createElementBlock, k as createBaseVNode, db as N8nCheckbox, aS as N8nTooltip, V as VIEWS, bE as N8nIcon, b9 as N8nText, F as Fragment, bb as N8nButton, J as withModifiers, aU as _sfc_main$5, U as useWorkflowsStore, av as useExecutionsStore, p as useSettingsStore, a8 as usePageRedirectionHelper, a as useToast, ac as EnterpriseEditionFeature, I as watch, bA as useTemplateRef, gK as useIntersectionObserver, D as renderList, gL as ElSkeletonItem, gM as N8nTableBase, a9 as getResourcePermissions, ca as executionRetryMessage, ai as useTelemetry, ak as useMessage, al as MODAL_CONFIRM, W as useRoute, gs as useInsightsStore, a6 as useDocumentTitle, cH as storeToRefs, aB as onBeforeMount, aR as useExternalHooks, o as onMounted, y as onBeforeUnmount } from "./index-BolKFsR6.js";
2
- import { _ as _sfc_main$4, E as ExecutionsFilter, C as ConcurrentExecutionsHeader } from "./ExecutionsTime.vue_vue_type_script_setup_true_lang-7B2yTHn7.js";
3
- import { _ as __unplugin_components_0$1 } from "./AnimatedSpinner-CytpudUc.js";
4
- import { u as useExecutionHelpers } from "./useExecutionHelpers-C7k4a6Dr.js";
5
- import { c as convertToDisplayDate } from "./dateFormatter-BBHn7yLK.js";
6
- import { I as InsightsSummary } from "./InsightsSummary-BJagTlqW.js";
7
- import { u as useOverview, P as ProjectHeader } from "./ProjectHeader-B0X_hT2Q.js";
8
- import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C1x27owo.js";
1
+ import { d as defineComponent, h as resolveComponent, e as createBlock, g as openBlock, w as withCtx, x as renderSlot, f as createCommentVNode, j as createVNode, n as normalizeClass, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, _ as _export_sfc, a0 as useCssModule, r as ref, q as computed, fL as WAIT_INDEFINITELY, i as createElementBlock, k as createBaseVNode, da as N8nCheckbox, aS as N8nTooltip, V as VIEWS, bE as N8nIcon, b9 as N8nText, F as Fragment, bb as N8nButton, J as withModifiers, aU as _sfc_main$5, U as useWorkflowsStore, av as useExecutionsStore, p as useSettingsStore, a8 as usePageRedirectionHelper, a as useToast, ac as EnterpriseEditionFeature, I as watch, bA as useTemplateRef, gK as useIntersectionObserver, D as renderList, gL as ElSkeletonItem, gM as N8nTableBase, a9 as getResourcePermissions, c9 as executionRetryMessage, ai as useTelemetry, ak as useMessage, al as MODAL_CONFIRM, W as useRoute, gr as useInsightsStore, a6 as useDocumentTitle, cG as storeToRefs, aB as onBeforeMount, aR as useExternalHooks, o as onMounted, y as onBeforeUnmount } from "./index-B-Y7sDIj.js";
2
+ import { _ as _sfc_main$4, E as ExecutionsFilter, C as ConcurrentExecutionsHeader } from "./ExecutionsTime.vue_vue_type_script_setup_true_lang-BsM5P8VY.js";
3
+ import { _ as __unplugin_components_0$1 } from "./AnimatedSpinner-64kuDSMd.js";
4
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-CyZuZAQA.js";
5
+ import { c as convertToDisplayDate } from "./dateFormatter-C1XlsLk2.js";
6
+ import { I as InsightsSummary } from "./InsightsSummary-BzdlA4Dr.js";
7
+ import { u as useOverview, P as ProjectHeader } from "./ProjectHeader-Dq3fVC-9.js";
8
+ import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-vU7A4Ql5.js";
9
9
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10
10
  __name: "GlobalExecutionsListItemQueuedTooltip",
11
11
  props: {
@@ -1,4 +1,4 @@
1
- import { dD as commonjsGlobal } from "./index-BolKFsR6.js";
1
+ import { dC as commonjsGlobal } from "./index-B-Y7sDIj.js";
2
2
  var FileSaver_min$1 = { exports: {} };
3
3
  var FileSaver_min = FileSaver_min$1.exports;
4
4
  var hasRequiredFileSaver_min;
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, U as useWorkflowsStore, au as useNDVStore, q as computed, c as useI18n, r as ref, gN as isINodePropertyCollectionList, I as watch, aB as onBeforeMount, cb as deepCopy, i as createElementBlock, g as openBlock, f as createCommentVNode, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, b9 as N8nText, F as Fragment, D as renderList, e as createBlock, da as N8nInputLabel, k as createBaseVNode, n as normalizeClass, aU as _sfc_main$1, bY as Suspense, gO as _sfc_main$2, gP as Draggable, bb as N8nButton, gv as _sfc_main$3, gu as N8nSelect, J as withModifiers, bh as get, dh as telemetry, _ as _export_sfc } from "./index-BolKFsR6.js";
1
+ import { d as defineComponent, U as useWorkflowsStore, au as useNDVStore, q as computed, c as useI18n, r as ref, gN as isINodePropertyCollectionList, I as watch, aB as onBeforeMount, ca as deepCopy, i as createElementBlock, g as openBlock, f as createCommentVNode, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, b9 as N8nText, F as Fragment, D as renderList, e as createBlock, d9 as N8nInputLabel, k as createBaseVNode, n as normalizeClass, aU as _sfc_main$1, bY as Suspense, gO as _sfc_main$2, gP as Draggable, bb as N8nButton, gv as _sfc_main$3, gu as N8nSelect, J as withModifiers, bh as get, dg as telemetry, _ as _export_sfc } from "./index-B-Y7sDIj.js";
2
2
  const _hoisted_1 = ["data-test-id"];
3
3
  const _hoisted_2 = {
4
4
  key: 0,
@@ -1,6 +1,6 @@
1
- import { A as AuthView } from "./AuthView-BOsGxYMO.js";
2
- import { d as defineComponent, p as useSettingsStore, u as useUsersStore, a as useToast, r as ref, q as computed, c as useI18n, e as createBlock, g as openBlock } from "./index-BolKFsR6.js";
3
- import "./Logo-Bs0Q1uXx.js";
1
+ import { A as AuthView } from "./AuthView-BtMwWncz.js";
2
+ import { d as defineComponent, p as useSettingsStore, u as useUsersStore, a as useToast, r as ref, q as computed, c as useI18n, e as createBlock, g as openBlock } from "./index-B-Y7sDIj.js";
3
+ import "./Logo-CmGfYtCL.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "ForgotMyPasswordView",
6
6
  setup(__props) {
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, q as computed, fb as dateformat, i0 as DATE_FORMAT_MASK, i6 as transformInsightsAverageRunTime, c as useI18n, e as createBlock, g as openBlock, m as unref, i4 as index, i3 as INSIGHTS_UNIT_MAPPING } from "./index-BolKFsR6.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-Cm2acgkX.js";
3
- import { s as smartDecimal } from "./InsightsSummary-BJagTlqW.js";
4
- import { L as Line } from "./index-jhcBWw1X.js";
1
+ import { d as defineComponent, q as computed, fa as dateformat, i1 as DATE_FORMAT_MASK, i7 as transformInsightsAverageRunTime, c as useI18n, e as createBlock, g as openBlock, m as unref, i5 as index, i4 as INSIGHTS_UNIT_MAPPING } from "./index-B-Y7sDIj.js";
2
+ import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-3n4f3zmI.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-BzdlA4Dr.js";
4
+ import { L as Line } from "./index-BHGYFXFB.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartAverageRuntime",
7
7
  props: {
@@ -1,7 +1,7 @@
1
- import { B as Bar } from "./index-jhcBWw1X.js";
2
- import { d as defineComponent, gh as useCssVar, q as computed, fb as dateformat, i0 as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref } from "./index-BolKFsR6.js";
3
- import { g as generateBarChartOptions } from "./chartjs.utils-Cm2acgkX.js";
4
- import { s as smartDecimal } from "./InsightsSummary-BJagTlqW.js";
1
+ import { d as defineComponent, gg as useCssVar, q as computed, fa as dateformat, i1 as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref } from "./index-B-Y7sDIj.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-3n4f3zmI.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-BzdlA4Dr.js";
4
+ import { B as Bar } from "./index-BHGYFXFB.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartFailed",
7
7
  props: {
@@ -37,7 +37,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
37
  labels,
38
38
  datasets: [
39
39
  {
40
- label: i18n.baseText("insights.banner.title.failed"),
40
+ label: i18n.baseText("insights.chart.failed"),
41
41
  data,
42
42
  backgroundColor: colorPrimary.value
43
43
  }
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, gh as useCssVar, q as computed, fb as dateformat, i0 as DATE_FORMAT_MASK, i2 as transformInsightsFailureRate, c as useI18n, e as createBlock, g as openBlock, m as unref, i3 as INSIGHTS_UNIT_MAPPING } from "./index-BolKFsR6.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-Cm2acgkX.js";
3
- import { s as smartDecimal } from "./InsightsSummary-BJagTlqW.js";
4
- import { B as Bar } from "./index-jhcBWw1X.js";
1
+ import { d as defineComponent, gg as useCssVar, q as computed, fa as dateformat, i1 as DATE_FORMAT_MASK, i3 as transformInsightsFailureRate, c as useI18n, e as createBlock, g as openBlock, m as unref, i4 as INSIGHTS_UNIT_MAPPING } from "./index-B-Y7sDIj.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-3n4f3zmI.js";
3
+ import { s as smartDecimal } from "./InsightsSummary-BzdlA4Dr.js";
4
+ import { B as Bar } from "./index-BHGYFXFB.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartFailureRate",
7
7
  props: {
@@ -1,7 +1,7 @@
1
- import { d as defineComponent, q as computed, fb as dateformat, i0 as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref, i4 as index, i5 as transformInsightsTimeSaved, i3 as INSIGHTS_UNIT_MAPPING } from "./index-BolKFsR6.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-Cm2acgkX.js";
3
- import { L as Line } from "./index-jhcBWw1X.js";
4
- import "./InsightsSummary-BJagTlqW.js";
1
+ import { d as defineComponent, q as computed, fa as dateformat, i1 as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref, i5 as index, i6 as transformInsightsTimeSaved, i4 as INSIGHTS_UNIT_MAPPING } from "./index-B-Y7sDIj.js";
2
+ import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-3n4f3zmI.js";
3
+ import { L as Line } from "./index-BHGYFXFB.js";
4
+ import "./InsightsSummary-BzdlA4Dr.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartTimeSaved",
7
7
  props: {
@@ -1,7 +1,7 @@
1
- import { B as Bar } from "./index-jhcBWw1X.js";
2
- import { d as defineComponent, gh as useCssVar, q as computed, fb as dateformat, i0 as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref } from "./index-BolKFsR6.js";
3
- import { g as generateBarChartOptions } from "./chartjs.utils-Cm2acgkX.js";
4
- import "./InsightsSummary-BJagTlqW.js";
1
+ import { d as defineComponent, gg as useCssVar, q as computed, fa as dateformat, i1 as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref } from "./index-B-Y7sDIj.js";
2
+ import { g as generateBarChartOptions } from "./chartjs.utils-3n4f3zmI.js";
3
+ import { B as Bar } from "./index-BHGYFXFB.js";
4
+ import "./InsightsSummary-BzdlA4Dr.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "InsightsChartTotal",
7
7
  props: {
@@ -16,7 +16,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16
16
  () => generateBarChartOptions({
17
17
  plugins: {
18
18
  tooltip: {
19
- itemSort: (a) => a.dataset.label === i18n.baseText("insights.banner.title.succeeded") ? -1 : 1
19
+ itemSort: (a) => a.dataset.label === i18n.baseText("insights.chart.succeeded") ? -1 : 1
20
20
  }
21
21
  }
22
22
  })
@@ -34,12 +34,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
34
34
  labels,
35
35
  datasets: [
36
36
  {
37
- label: i18n.baseText("insights.banner.title.failed"),
37
+ label: i18n.baseText("insights.chart.failed"),
38
38
  data: failedData,
39
39
  backgroundColor: colorPrimary.value
40
40
  },
41
41
  {
42
- label: i18n.baseText("insights.banner.title.succeeded"),
42
+ label: i18n.baseText("insights.chart.succeeded"),
43
43
  data: succeededData,
44
44
  backgroundColor: "#3E999F"
45
45
  }
@@ -0,0 +1,174 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/InsightsPaywall-DtIcXb48.js","assets/index-B-Y7sDIj.js","assets/index-DwKuVkBg.css","assets/InsightsPaywall-OeXh6LeZ.css","assets/InsightsChartTotal-2MVolQhG.js","assets/chartjs.utils-3n4f3zmI.js","assets/InsightsSummary-BzdlA4Dr.js","assets/InsightsSummary-FixbpmPJ.css","assets/index-BHGYFXFB.js","assets/InsightsChartFailed-DDejxv0R.js","assets/InsightsChartFailureRate-PS5N1AdB.js","assets/InsightsChartTimeSaved-BBw2CgSS.js","assets/InsightsChartAverageRuntime-D_7tKoef.js","assets/InsightsTableWorkflows-CnEuNzZ9.js","assets/InsightsTableWorkflows-Blv_GPUj.css"])))=>i.map(i=>d[i]);
2
+ import { d as defineComponent, gr as useInsightsStore, q as computed, bZ as defineAsyncComponent, r as ref, I as watch, h as resolveComponent, i as createElementBlock, g as openBlock, k as createBaseVNode, j as createVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, n as normalizeClass, b2 as resolveDynamicComponent, aq as __vitePreload, _ as _export_sfc } from "./index-B-Y7sDIj.js";
3
+ import { I as InsightsSummary } from "./InsightsSummary-BzdlA4Dr.js";
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ __name: "InsightsDashboard",
6
+ props: {
7
+ insightType: {}
8
+ },
9
+ setup(__props) {
10
+ const InsightsPaywall = defineAsyncComponent(
11
+ async () => await __vitePreload(() => import("./InsightsPaywall-DtIcXb48.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
12
+ );
13
+ const InsightsChartTotal = defineAsyncComponent(
14
+ async () => await __vitePreload(() => import("./InsightsChartTotal-2MVolQhG.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8]) : void 0)
15
+ );
16
+ const InsightsChartFailed = defineAsyncComponent(
17
+ async () => await __vitePreload(() => import("./InsightsChartFailed-DDejxv0R.js"), true ? __vite__mapDeps([9,1,2,5,6,7,8]) : void 0)
18
+ );
19
+ const InsightsChartFailureRate = defineAsyncComponent(
20
+ async () => await __vitePreload(() => import("./InsightsChartFailureRate-PS5N1AdB.js"), true ? __vite__mapDeps([10,1,2,5,6,7,8]) : void 0)
21
+ );
22
+ const InsightsChartTimeSaved = defineAsyncComponent(
23
+ async () => await __vitePreload(() => import("./InsightsChartTimeSaved-BBw2CgSS.js"), true ? __vite__mapDeps([11,1,2,5,6,7,8]) : void 0)
24
+ );
25
+ const InsightsChartAverageRuntime = defineAsyncComponent(
26
+ async () => await __vitePreload(() => import("./InsightsChartAverageRuntime-D_7tKoef.js"), true ? __vite__mapDeps([12,1,2,5,6,7,8]) : void 0)
27
+ );
28
+ const InsightsTableWorkflows = defineAsyncComponent(
29
+ async () => await __vitePreload(() => import("./InsightsTableWorkflows-CnEuNzZ9.js"), true ? __vite__mapDeps([13,1,2,6,7,14]) : void 0)
30
+ );
31
+ const props = __props;
32
+ const i18n = useI18n();
33
+ const insightsStore = useInsightsStore();
34
+ const chartComponents = computed(() => ({
35
+ total: InsightsChartTotal,
36
+ failed: InsightsChartFailed,
37
+ failureRate: InsightsChartFailureRate,
38
+ timeSaved: InsightsChartTimeSaved,
39
+ averageRunTime: InsightsChartAverageRuntime
40
+ }));
41
+ const transformFilter = ({ id, desc }) => {
42
+ const key = id;
43
+ const order = desc ? "desc" : "asc";
44
+ return `${key}:${order}`;
45
+ };
46
+ const fetchPaginatedTableData = ({
47
+ page = 0,
48
+ itemsPerPage = 20,
49
+ sortBy
50
+ }) => {
51
+ const skip = page * itemsPerPage;
52
+ const take = itemsPerPage;
53
+ const sortKey = sortBy.length ? transformFilter(sortBy[0]) : void 0;
54
+ void insightsStore.table.execute(0, {
55
+ skip,
56
+ take,
57
+ sortBy: sortKey
58
+ });
59
+ };
60
+ const sortTableBy = ref([{ id: props.insightType, desc: true }]);
61
+ watch(
62
+ () => props.insightType,
63
+ () => {
64
+ sortTableBy.value = [{ id: props.insightType, desc: true }];
65
+ if (insightsStore.isSummaryEnabled) {
66
+ void insightsStore.summary.execute();
67
+ }
68
+ void insightsStore.charts.execute();
69
+ fetchPaginatedTableData({ sortBy: sortTableBy.value });
70
+ },
71
+ {
72
+ immediate: true
73
+ }
74
+ );
75
+ return (_ctx, _cache) => {
76
+ const _component_N8nHeading = resolveComponent("N8nHeading");
77
+ return openBlock(), createElementBlock("div", {
78
+ class: normalizeClass(_ctx.$style.insightsView)
79
+ }, [
80
+ createBaseVNode("div", {
81
+ class: normalizeClass(_ctx.$style.insightsContainer)
82
+ }, [
83
+ createVNode(_component_N8nHeading, {
84
+ bold: "",
85
+ tag: "h2",
86
+ size: "xlarge"
87
+ }, {
88
+ default: withCtx(() => [
89
+ createTextVNode(toDisplayString(unref(i18n).baseText("insights.dashboard.title")), 1)
90
+ ]),
91
+ _: 1
92
+ }),
93
+ createBaseVNode("div", null, [
94
+ unref(insightsStore).isSummaryEnabled ? (openBlock(), createBlock(InsightsSummary, {
95
+ key: 0,
96
+ summary: unref(insightsStore).summary.state,
97
+ loading: unref(insightsStore).summary.isLoading,
98
+ class: normalizeClass(_ctx.$style.insightsBanner)
99
+ }, null, 8, ["summary", "loading", "class"])) : createCommentVNode("", true),
100
+ unref(insightsStore).isInsightsEnabled ? (openBlock(), createElementBlock("div", {
101
+ key: 1,
102
+ class: normalizeClass(_ctx.$style.insightsContent)
103
+ }, [
104
+ createBaseVNode("div", {
105
+ class: normalizeClass(_ctx.$style.insightsChartWrapper)
106
+ }, [
107
+ unref(insightsStore).charts.isLoading ? (openBlock(), createElementBlock("div", {
108
+ key: 0,
109
+ class: normalizeClass(_ctx.$style.chartLoader)
110
+ }, [
111
+ _cache[1] || (_cache[1] = createBaseVNode("svg", {
112
+ width: "22",
113
+ height: "22",
114
+ viewBox: "0 0 22 22",
115
+ fill: "none",
116
+ xmlns: "http://www.w3.org/2000/svg"
117
+ }, [
118
+ createBaseVNode("path", {
119
+ d: "M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C11.6293 1 12.245 1.05813 12.8421 1.16931",
120
+ stroke: "currentColor",
121
+ "stroke-width": "2"
122
+ })
123
+ ], -1)),
124
+ createTextVNode(" " + toDisplayString(unref(i18n).baseText("insights.chart.loading")), 1)
125
+ ], 2)) : (openBlock(), createBlock(resolveDynamicComponent(chartComponents.value[props.insightType]), {
126
+ key: 1,
127
+ type: props.insightType,
128
+ data: unref(insightsStore).charts.state
129
+ }, null, 8, ["type", "data"]))
130
+ ], 2),
131
+ createBaseVNode("div", {
132
+ class: normalizeClass(_ctx.$style.insightsTableWrapper)
133
+ }, [
134
+ createVNode(unref(InsightsTableWorkflows), {
135
+ "sort-by": sortTableBy.value,
136
+ "onUpdate:sortBy": _cache[0] || (_cache[0] = ($event) => sortTableBy.value = $event),
137
+ data: unref(insightsStore).table.state,
138
+ loading: unref(insightsStore).table.isLoading,
139
+ "onUpdate:options": fetchPaginatedTableData
140
+ }, null, 8, ["sort-by", "data", "loading"])
141
+ ], 2)
142
+ ], 2)) : (openBlock(), createBlock(unref(InsightsPaywall), {
143
+ key: 2,
144
+ "data-test-id": "insights-dashboard-unlicensed"
145
+ }))
146
+ ])
147
+ ], 2)
148
+ ], 2);
149
+ };
150
+ }
151
+ });
152
+ const insightsView = "_insightsView_1j6u6_123";
153
+ const insightsContainer = "_insightsContainer_1j6u6_131";
154
+ const insightsBanner = "_insightsBanner_1j6u6_138";
155
+ const insightsContent = "_insightsContent_1j6u6_146";
156
+ const insightsChartWrapper = "_insightsChartWrapper_1j6u6_155";
157
+ const insightsTableWrapper = "_insightsTableWrapper_1j6u6_160";
158
+ const chartLoader = "_chartLoader_1j6u6_164";
159
+ const style0 = {
160
+ insightsView,
161
+ insightsContainer,
162
+ insightsBanner,
163
+ insightsContent,
164
+ insightsChartWrapper,
165
+ insightsTableWrapper,
166
+ chartLoader
167
+ };
168
+ const cssModules = {
169
+ "$style": style0
170
+ };
171
+ const InsightsDashboard = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
172
+ export {
173
+ InsightsDashboard as default
174
+ };