n8n-editor-ui 1.87.1 → 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 (110) hide show
  1. package/dist/assets/{AnimatedSpinner-BJKBduqI.js → AnimatedSpinner-64kuDSMd.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BNiwICGe.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-vU7A4Ql5.js} +1 -1
  3. package/dist/assets/{AuthView-DrViDPFs.js → AuthView-BtMwWncz.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-0IWSu8RE.css → CanvasChatSwitch-BDVIAjN6.css} +12 -11
  5. package/dist/assets/{CanvasChatSwitch-BnTApoNZ.js → CanvasChatSwitch-DCcRHty_.js} +26 -24
  6. package/dist/assets/{ChangePasswordView-DPUv2ZhO.js → ChangePasswordView-ngd6kK9h.js} +3 -3
  7. package/dist/assets/CollectionParameter-NNrH2Qf1.js +4 -0
  8. package/dist/assets/{CredentialsView-Cx3MfjwO.js → CredentialsView-c9VZrSEP.js} +6 -6
  9. package/dist/assets/{ErrorView-C3Sxa6Qs.js → ErrorView-M0yTzQxC.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-B0NnOKRw.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-BsM5P8VY.js} +2 -2
  11. package/dist/assets/{ExecutionsView-BD9a5MiE.js → ExecutionsView-2Ywg0NsP.js} +8 -8
  12. package/dist/assets/{FileSaver.min-CsyH54Dh.js → FileSaver.min-DAXzY4JY.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-icyYiANk.js → FixedCollectionParameter-CNRFXDrN.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-B7m6OAyt.js → ForgotMyPasswordView-C1SOW4HN.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-CiI5y8BG.js → InsightsChartAverageRuntime-D_7tKoef.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-BAnQv9pU.js → InsightsChartFailed-DDejxv0R.js} +5 -5
  17. package/dist/assets/{InsightsChartFailureRate-CGRL86zw.js → InsightsChartFailureRate-PS5N1AdB.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-BJmjC9xP.js → InsightsChartTimeSaved-BBw2CgSS.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-YSqQgGkL.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-BCSe1GCl.js → InsightsPaywall-DtIcXb48.js} +1 -1
  23. package/dist/assets/{InsightsSummary-Bf61oFlG.js → InsightsSummary-BzdlA4Dr.js} +48 -25
  24. package/dist/assets/{InsightsSummary-W08OzElS.css → InsightsSummary-FixbpmPJ.css} +28 -25
  25. package/dist/assets/{InsightsTableWorkflows-Us3j4UTO.css → InsightsTableWorkflows-Blv_GPUj.css} +16 -1
  26. package/dist/assets/{InsightsTableWorkflows-B5M_o3Di.js → InsightsTableWorkflows-CnEuNzZ9.js} +63 -15
  27. package/dist/assets/{Logo-DZ8mhDMd.js → Logo-CmGfYtCL.js} +1 -1
  28. package/dist/assets/{MainHeader-CItoJWMi.js → MainHeader-DdjAOCVS.js} +9 -9
  29. package/dist/assets/{MainSidebar-Cponf9eD.js → MainSidebar-CPtfXLom.js} +4 -2
  30. package/dist/assets/{NodeCreation-DiUBT9p0.js → NodeCreation-C9WNMB5W.js} +4 -4
  31. package/dist/assets/{NodeCreator-BHji7uJa.js → NodeCreator-Dt7b_La2.js} +3 -3
  32. package/dist/assets/{NodeDetailsView-BT-ro74o.css → NodeDetailsView-B2kdGJ7R.css} +14 -14
  33. package/dist/assets/{NodeDetailsView-CPsaG2IZ.js → NodeDetailsView-BPQgwdWz.js} +23 -12
  34. package/dist/assets/{NodeView-9P-9rNOD.js → NodeView-CKF92Cc3.js} +17 -18
  35. package/dist/assets/{ProjectCardBadge-BdyDghHf.js → ProjectCardBadge-Ca29o2Nu.js} +1 -1
  36. package/dist/assets/{ProjectHeader-D8-9oE80.js → ProjectHeader-Dq3fVC-9.js} +1 -1
  37. package/dist/assets/{ProjectSettings-Brpx7x2l.js → ProjectSettings-6oRh_PiD.js} +2 -2
  38. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CShLauba.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DtHAaMts.js} +1 -1
  39. package/dist/assets/{ResourcesListLayout-nD22utQX.js → ResourcesListLayout-CjpS9ho7.js} +12 -2
  40. package/dist/assets/{ResourcesListLayout-CWgWhtKq.css → ResourcesListLayout-b44J07nq.css} +8 -8
  41. package/dist/assets/{RunDataAi-DULZvgnn.js → RunDataAi-DpuaI4HY.js} +64 -41
  42. package/dist/assets/{RunDataJson-jnag_uEf.js → RunDataJson-CS1Vs4me.js} +23 -13
  43. package/dist/assets/{RunDataJsonActions-CWCdb4Yi.js → RunDataJsonActions-UEDmvE5v.js} +1 -1
  44. package/dist/assets/{RunDataSearch-CI5OdX2M.js → RunDataSearch-BjsM_QL7.js} +1 -1
  45. package/dist/assets/{RunDataTable-CQc98S7W.js → RunDataTable-zY9Z73dm.js} +17 -7
  46. package/dist/assets/{SamlOnboarding-mdVsZszT.js → SamlOnboarding-CMQ3F8vU.js} +3 -3
  47. package/dist/assets/{SettingsApiView-CRDQ66Jq.js → SettingsApiView-C7mJo5RT.js} +1 -1
  48. package/dist/assets/{SettingsCommunityNodesView-DCp8y1mn.js → SettingsCommunityNodesView-oV3f1FYs.js} +4 -4
  49. package/dist/assets/{SettingsExternalSecrets-PhLe1dhs.js → SettingsExternalSecrets-Zm50ediz.js} +1 -1
  50. package/dist/assets/{SettingsLdapView-DrPh9Cmp.js → SettingsLdapView-D0lujKk6.js} +1 -1
  51. package/dist/assets/{SettingsLogStreamingView-D_dGzLfg.js → SettingsLogStreamingView-DMRYf3h4.js} +1 -1
  52. package/dist/assets/{SettingsPersonalView-C6XeNBcf.js → SettingsPersonalView-BlKM42Fv.js} +1 -1
  53. package/dist/assets/{SettingsSourceControl-Bu_qi87k.js → SettingsSourceControl-BRkqOyBq.js} +1 -1
  54. package/dist/assets/{SettingsSso-BF8Nr76R.js → SettingsSso-ClphkEtx.js} +1 -1
  55. package/dist/assets/{SettingsUsageAndPlan-DTyc2TI4.js → SettingsUsageAndPlan-BnxbFSLN.js} +1 -1
  56. package/dist/assets/{SettingsUsersView-BfK_vKh5.js → SettingsUsersView-CnqllPG4.js} +1 -1
  57. package/dist/assets/{SettingsView-bkz5b7Ks.js → SettingsView-CJ4icVTM.js} +1 -1
  58. package/dist/assets/{SetupView--_MmPcKt.js → SetupView-BaUQwZK2.js} +3 -3
  59. package/dist/assets/{SetupWorkflowCredentialsButton-C94b-j6c.js → SetupWorkflowCredentialsButton-DiRHCsta.js} +1 -1
  60. package/dist/assets/{SetupWorkflowFromTemplateView-Bn6NUya1.js → SetupWorkflowFromTemplateView-CjiIpX1D.js} +3 -3
  61. package/dist/assets/{SigninView-s9B3HXBX.js → SigninView-DrRmsG64.js} +3 -3
  62. package/dist/assets/{SignoutView-CvFIZuRL.js → SignoutView-DEK6MH1B.js} +1 -1
  63. package/dist/assets/{SignupView-B6YMoGnc.js → SignupView-CTdIAp1U.js} +3 -3
  64. package/dist/assets/{TemplateDetails-DOGmuYC4.js → TemplateDetails-B6Nnq5_s.js} +1 -1
  65. package/dist/assets/{TemplateList-BRL4OSZK.js → TemplateList-BKmKXiHs.js} +1 -1
  66. package/dist/assets/{TemplatesCollectionView-Ct2GIDCZ.js → TemplatesCollectionView-CXgiZ-fy.js} +5 -5
  67. package/dist/assets/{TemplatesSearchView-CWGmY4-P.js → TemplatesSearchView-BoX9MKRy.js} +3 -3
  68. package/dist/assets/{TemplatesView-vYQo2Y75.js → TemplatesView-htM1lafV.js} +1 -1
  69. package/dist/assets/{TemplatesWorkflowView-Cw6mc6wy.js → TemplatesWorkflowView-DIqdCPxB.js} +5 -5
  70. package/dist/assets/{TestDefinitionEditView-CZnzTAsp.js → TestDefinitionEditView-izO1b1I3.js} +7 -7
  71. package/dist/assets/{TestDefinitionListView-CKsRlhn4.js → TestDefinitionListView-DuLocBuw.js} +1 -1
  72. package/dist/assets/{TestDefinitionNewView-B1KZ2Qnt.js → TestDefinitionNewView-Dg37IAs6.js} +2 -2
  73. package/dist/assets/{TestDefinitionRootView-V43FaNr3.js → TestDefinitionRootView-DlG7VKKU.js} +1 -1
  74. package/dist/assets/{VariablesView-DLB1Vvnc.js → VariablesView-Cq8LInqk.js} +3 -3
  75. package/dist/assets/{WorkerView-Iqi25XGQ.js → WorkerView-BTQTq3vI.js} +6 -6
  76. package/dist/assets/{WorkflowActivator-D9fExB06.js → WorkflowActivator-E1mdIOaC.js} +2 -2
  77. package/dist/assets/{WorkflowExecutionsInfoAccordion-Md7C2uBw.js → WorkflowExecutionsInfoAccordion-DxGM_yu-.js} +1 -1
  78. package/dist/assets/{WorkflowExecutionsLandingPage-CKOlfG7s.js → WorkflowExecutionsLandingPage-BkftsbSa.js} +2 -2
  79. package/dist/assets/{WorkflowExecutionsPreview-DS6HDJng.js → WorkflowExecutionsPreview-w7I_h1ID.js} +6 -6
  80. package/dist/assets/{WorkflowExecutionsView-LF3g9gDB.js → WorkflowExecutionsView-lyjECt6I.js} +7 -7
  81. package/dist/assets/{WorkflowHistory-Cu7OIIMi.js → WorkflowHistory-B8_7vx-c.js} +3 -3
  82. package/dist/assets/{WorkflowOnboardingView-B2WUKfr6.js → WorkflowOnboardingView-D2fR8tdw.js} +1 -1
  83. package/dist/assets/{WorkflowPreview-DlKRTeNZ.js → WorkflowPreview-CNu7Kd6F.js} +1 -1
  84. package/dist/assets/{WorkflowsView-dot2ovV7.js → WorkflowsView-B_70hdtG.js} +133 -42
  85. package/dist/assets/{WorkflowsView-CJB9aI6A.css → WorkflowsView-DV1tjQwB.css} +17 -11
  86. package/dist/assets/{chartjs.utils-BLcAAfTE.js → chartjs.utils-3n4f3zmI.js} +6 -3
  87. package/dist/assets/{dateFormatter-Cdy8FmTT.js → dateFormatter-C1XlsLk2.js} +1 -1
  88. package/dist/assets/easyAiWorkflowUtils-CCJdF1g3.js +132 -0
  89. package/dist/assets/{global-link-actions-CfWIYTMM.js → global-link-actions-B6woWi9D.js} +1 -1
  90. package/dist/assets/{import-curl-DO7fae0m.js → import-curl-BlRUX0EU.js} +1 -1
  91. package/dist/assets/{index-D76xStxp.js → index-B-Y7sDIj.js} +672 -529
  92. package/dist/assets/{index-Bo3CExk-.js → index-BHGYFXFB.js} +1 -1
  93. package/dist/assets/{index-DJ205bL0.css → index-DwKuVkBg.css} +52 -52
  94. package/dist/assets/{pickBy-DdpxIwij.js → pickBy-BdN6wCB-.js} +1 -1
  95. package/dist/assets/{templateActions-BCMgItKi.js → templateActions-FAVGvEAM.js} +1 -1
  96. package/dist/assets/{useBeforeUnload-CDzomPGL.js → useBeforeUnload-oRTjaea2.js} +1 -1
  97. package/dist/assets/{useCanvasMapping-D1DfqsUU.js → useCanvasMapping-CmD2j75y.js} +3 -3
  98. package/dist/assets/{useCanvasOperations-CAthHfOB.js → useCanvasOperations-DYORubSM.js} +23 -16
  99. package/dist/assets/{useClearExecutionButtonVisible-CnDyjcGF.js → useClearExecutionButtonVisible-ReuF4PkZ.js} +2 -2
  100. package/dist/assets/{useExecutionDebugging-Bm9sy3W3.js → useExecutionDebugging-I7MLJdC1.js} +1 -1
  101. package/dist/assets/{useExecutionHelpers-C_yBGArA.js → useExecutionHelpers-CyZuZAQA.js} +2 -2
  102. package/dist/assets/{useImportCurlCommand-CK-lTdZr.js → useImportCurlCommand-DZVwxoke.js} +2 -2
  103. package/dist/assets/{usePushConnection-potv7eom.js → usePushConnection-SgX-5Lz6.js} +14 -15
  104. package/dist/assets/{useTestDefinitionForm-Dlzud2C-.js → useTestDefinitionForm-gWQ_zjEl.js} +1 -1
  105. package/dist/assets/{useWorkflowActivate-BvmFVCGP.js → useWorkflowActivate-CX21vkKl.js} +1 -1
  106. package/dist/index.html +2 -2
  107. package/package.json +1 -1
  108. package/dist/assets/CollectionParameter-14_bIMyy.js +0 -4
  109. package/dist/assets/InsightsDashboard-oe5QP-_0.js +0 -154
  110. package/dist/assets/easyAiWorkflowUtils-C5xkiwuo.js +0 -181
@@ -1,4 +1,4 @@
1
- import { _ as _export_sfc, i as createElementBlock, g as openBlock, gi as createStaticVNode } from "./index-D76xStxp.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, fQ as useAnnotationTagsStore, L as useUIStore, q as computed, e as createBlock, g as openBlock, fR as _sfc_main$1, fS as ANNOTATION_TAGS_MANAGER_MODAL_KEY } from "./index-D76xStxp.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-DZ8mhDMd.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-D76xStxp.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-D76xStxp.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-DULZvgnn.js";
3
- import { u as useClearExecutionButtonVisible } from "./useClearExecutionButtonVisible-CnDyjcGF.js";
4
- import { t as toTime, a as toDayMonth } from "./dateFormatter-Cdy8FmTT.js";
5
- import { u as upperFirst } from "./useCanvasOperations-CAthHfOB.js";
6
- import "./useExecutionHelpers-C_yBGArA.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 = {};
@@ -3895,8 +3895,9 @@ function useChatMessaging({
3895
3895
  inputPayload.binary = binaryData;
3896
3896
  }
3897
3897
  const nodeData = {
3898
- startTime: (/* @__PURE__ */ new Date()).getTime(),
3898
+ startTime: Date.now(),
3899
3899
  executionTime: 0,
3900
+ executionIndex: 0,
3900
3901
  executionStatus: "success",
3901
3902
  data: {
3902
3903
  main: [[inputPayload]]
@@ -4466,7 +4467,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4466
4467
  parent = parent?.parent;
4467
4468
  }
4468
4469
  const siblings = parent?.children ?? [];
4469
- 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;
4470
4472
  }
4471
4473
  return (_ctx, _cache) => {
4472
4474
  const _component_NodeIcon = _sfc_main$k;
@@ -4675,7 +4677,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4675
4677
  __name: "LogsOverviewPanel",
4676
4678
  props: {
4677
4679
  isOpen: { type: Boolean },
4678
- node: {},
4679
4680
  selected: {}
4680
4681
  },
4681
4682
  emits: ["clickHeader", "select"],
@@ -4691,11 +4692,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4691
4692
  const isClearExecutionButtonVisible = useClearExecutionButtonVisible();
4692
4693
  const workflow = computed(() => workflowsStore.getCurrentWorkflow());
4693
4694
  const executionTree = computed(
4694
- () => __props.node ? getTreeNodeData(
4695
- __props.node.name,
4695
+ () => createLogEntries(
4696
4696
  workflow.value,
4697
- createAiData(__props.node.name, workflow.value, workflowsStore.getWorkflowResultDataByNodeName)
4698
- ) : []
4697
+ workflowsStore.workflowExecutionData?.data?.resultData.runData ?? {}
4698
+ )
4699
4699
  );
4700
4700
  const isEmpty2 = computed(() => workflowsStore.workflowExecutionData === null);
4701
4701
  const switchViewOptions = computed(() => [
@@ -4864,14 +4864,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4864
4864
  };
4865
4865
  }
4866
4866
  });
4867
- const container$2 = "_container_1xpvq_123";
4868
- const content$1 = "_content_1xpvq_133";
4869
- const empty = "_empty_1xpvq_142";
4870
- const emptyText = "_emptyText_1xpvq_147";
4871
- const scrollable = "_scrollable_1xpvq_152";
4872
- const summary = "_summary_1xpvq_159";
4873
- const tree = "_tree_1xpvq_171";
4874
- 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";
4875
4875
  const style0$2 = {
4876
4876
  container: container$2,
4877
4877
  content: content$1,
@@ -5005,7 +5005,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5005
5005
  );
5006
5006
  const telemetry = useTelemetry();
5007
5007
  const { rootStyles, height, chatWidth, onWindowResize, onResizeDebounced, onResizeChatDebounced } = useResize(container2);
5008
- 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
+ );
5009
5012
  const isLogDetailsOpen = computed(() => selectedLogEntry.value !== void 0);
5010
5013
  const { canPopOut, isPoppedOut, pipWindow } = usePiPWindow({
5011
5014
  initialHeight: 400,
@@ -5107,7 +5110,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5107
5110
  createVNode(LogsOverviewPanel, {
5108
5111
  class: normalizeClass(_ctx.$style.logsOverview),
5109
5112
  "is-open": panelState.value !== unref(LOGS_PANEL_STATE).CLOSED,
5110
- node: unref(connectedNode),
5111
5113
  selected: selectedLogEntry.value,
5112
5114
  onClickHeader: handleClickHeader,
5113
5115
  onSelect: handleSelectLogEntry
@@ -5116,7 +5118,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5116
5118
  !isLogDetailsOpen.value ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, logsPanelActionsProps.value)), null, 16)) : createCommentVNode("", true)
5117
5119
  ]),
5118
5120
  _: 1
5119
- }, 8, ["class", "is-open", "node", "selected"]),
5121
+ }, 8, ["class", "is-open", "selected"]),
5120
5122
  selectedLogEntry.value ? (openBlock(), createBlock(LogsDetailsPanel, {
5121
5123
  key: 1,
5122
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-D76xStxp.js";
2
- import { A as AuthView } from "./AuthView-DrViDPFs.js";
3
- import "./Logo-DZ8mhDMd.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, f9 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, gj as ResourceType, gA as CredentialIcon, ak as useMessage, al as MODAL_CONFIRM, gl as PROJECT_MOVE_RESOURCE_MODAL, _ as _export_sfc, bw as useNodeTypesStore, a3 as useSourceControlStore, bO as useExternalSecretsStore, u as useUsersStore, gq as useInsightsStore, a6 as useDocumentTitle, W as useRoute, b as useRouter, r as ref, gB as listenForModalChanges, I as watch, o as onMounted, F as Fragment, D as renderList, db as N8nCheckbox, gC as CREDENTIAL_EMPTY_VALUE, ai as useTelemetry, p as useSettingsStore, ac as EnterpriseEditionFeature, bN as useEnvironmentsStore, gD as CREDENTIAL_SELECT_MODAL_KEY, V as VIEWS, gE as CREDENTIAL_EDIT_MODAL_KEY, gF as isCredentialsResource } from "./index-D76xStxp.js";
2
- import { R as ResourcesListLayout } from "./ResourcesListLayout-nD22utQX.js";
3
- import { P as ProjectCardBadge } from "./ProjectCardBadge-BdyDghHf.js";
4
- import { u as useOverview, P as ProjectHeader } from "./ProjectHeader-D8-9oE80.js";
5
- import { I as InsightsSummary } from "./InsightsSummary-Bf61oFlG.js";
6
- import { p as pickBy } from "./pickBy-DdpxIwij.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-D76xStxp.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, fO as getObjectKeys, de as i18n, fP 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-D76xStxp.js";
2
- import { _ as _sfc_main$4 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BNiwICGe.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, fK 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, gI as useIntersectionObserver, D as renderList, gJ as ElSkeletonItem, gK as N8nTableBase, a9 as getResourcePermissions, ca as executionRetryMessage, ai as useTelemetry, ak as useMessage, al as MODAL_CONFIRM, W as useRoute, gq as useInsightsStore, a6 as useDocumentTitle, cH as storeToRefs, aB as onBeforeMount, aR as useExternalHooks, o as onMounted, y as onBeforeUnmount } from "./index-D76xStxp.js";
2
- import { _ as _sfc_main$4, E as ExecutionsFilter, C as ConcurrentExecutionsHeader } from "./ExecutionsTime.vue_vue_type_script_setup_true_lang-B0NnOKRw.js";
3
- import { _ as __unplugin_components_0$1 } from "./AnimatedSpinner-BJKBduqI.js";
4
- import { u as useExecutionHelpers } from "./useExecutionHelpers-C_yBGArA.js";
5
- import { c as convertToDisplayDate } from "./dateFormatter-Cdy8FmTT.js";
6
- import { I as InsightsSummary } from "./InsightsSummary-Bf61oFlG.js";
7
- import { u as useOverview, P as ProjectHeader } from "./ProjectHeader-D8-9oE80.js";
8
- import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BNiwICGe.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-D76xStxp.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, gL 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, gM as _sfc_main$2, gN as Draggable, bb as N8nButton, gt as _sfc_main$3, gs as N8nSelect, J as withModifiers, bh as get, dh as telemetry, _ as _export_sfc } from "./index-D76xStxp.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-DrViDPFs.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-D76xStxp.js";
3
- import "./Logo-DZ8mhDMd.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, f9 as dateformat, h_ as DATE_FORMAT_MASK, i4 as transformInsightsAverageRunTime, c as useI18n, e as createBlock, g as openBlock, m as unref, i2 as index, i1 as INSIGHTS_UNIT_MAPPING } from "./index-D76xStxp.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-BLcAAfTE.js";
3
- import { s as smartDecimal } from "./InsightsSummary-Bf61oFlG.js";
4
- import { L as Line } from "./index-Bo3CExk-.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-Bo3CExk-.js";
2
- import { d as defineComponent, gf as useCssVar, q as computed, f9 as dateformat, h_ as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref } from "./index-D76xStxp.js";
3
- import { g as generateBarChartOptions } from "./chartjs.utils-BLcAAfTE.js";
4
- import { s as smartDecimal } from "./InsightsSummary-Bf61oFlG.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, gf as useCssVar, q as computed, f9 as dateformat, h_ as DATE_FORMAT_MASK, i0 as transformInsightsFailureRate, c as useI18n, e as createBlock, g as openBlock, m as unref, i1 as INSIGHTS_UNIT_MAPPING } from "./index-D76xStxp.js";
2
- import { g as generateBarChartOptions } from "./chartjs.utils-BLcAAfTE.js";
3
- import { s as smartDecimal } from "./InsightsSummary-Bf61oFlG.js";
4
- import { B as Bar } from "./index-Bo3CExk-.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, f9 as dateformat, h_ as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref, i2 as index, i3 as transformInsightsTimeSaved, i1 as INSIGHTS_UNIT_MAPPING } from "./index-D76xStxp.js";
2
- import { a as generateLineChartOptions, b as generateLinearGradient } from "./chartjs.utils-BLcAAfTE.js";
3
- import { L as Line } from "./index-Bo3CExk-.js";
4
- import "./InsightsSummary-Bf61oFlG.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-Bo3CExk-.js";
2
- import { d as defineComponent, gf as useCssVar, q as computed, f9 as dateformat, h_ as DATE_FORMAT_MASK, c as useI18n, e as createBlock, g as openBlock, m as unref } from "./index-D76xStxp.js";
3
- import { g as generateBarChartOptions } from "./chartjs.utils-BLcAAfTE.js";
4
- import "./InsightsSummary-Bf61oFlG.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
+ };