n8n-editor-ui 1.88.0 → 1.89.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/assets/{AnimatedSpinner-CytpudUc.js → AnimatedSpinner-BpxWKaCw.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-C2T62K8N.js} +1 -1
  3. package/dist/assets/{AuthView-BOsGxYMO.js → AuthView-ChkPGgg-.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-D3UUrzPo.js → CanvasChatSwitch-B5IdrA6Q.js} +24 -23
  5. package/dist/assets/{CanvasChatSwitch-0IWSu8RE.css → CanvasChatSwitch-BDVIAjN6.css} +12 -11
  6. package/dist/assets/{ChangePasswordView-Ci69Vzg4.js → ChangePasswordView-B38Kck9y.js} +3 -3
  7. package/dist/assets/CollectionParameter-DJtdOCSL.js +4 -0
  8. package/dist/assets/{CredentialsView-Cqt2JP6g.js → CredentialsView-DwxRSqpp.js} +6 -6
  9. package/dist/assets/{ErrorView-CHrdzaAM.js → ErrorView-CbG0Uo6R.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-TkWqVC7U.js} +2 -2
  11. package/dist/assets/{ExecutionsView-DG9QXuCV.js → ExecutionsView-Cm0glOsn.js} +8 -8
  12. package/dist/assets/{FileSaver.min-_h3vjrbO.js → FileSaver.min-DbOfV2ME.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-jq2vt6L0.js → FixedCollectionParameter-DESxP1XH.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-DVos3IcI.js → ForgotMyPasswordView-Bhgql4BX.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-Cxvz6Yw9.js → InsightsChartAverageRuntime-B_W8xSC9.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-DSmO3hz7.js → InsightsChartFailed-Buf2QmpB.js} +5 -5
  17. package/dist/assets/{InsightsChartFailureRate-ERj7qNeH.js → InsightsChartFailureRate-DHs26Nrr.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-CT3zwXsy.js → InsightsChartTimeSaved-Bjicuurm.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-Czf1oMmf.js → InsightsChartTotal-BodC7Sun.js} +7 -7
  20. package/dist/assets/InsightsDashboard-CkipcaZC.js +178 -0
  21. package/dist/assets/{InsightsDashboard-CB4vHnBh.css → InsightsDashboard-DPVczYm3.css} +21 -8
  22. package/dist/assets/InsightsPaywall-BoFT-Ik-.js +62 -0
  23. package/dist/assets/{InsightsPaywall-OeXh6LeZ.css → InsightsPaywall-CE5W3W4m.css} +2 -1
  24. package/dist/assets/{InsightsSummary-BJagTlqW.js → InsightsSummary-C-_stVav.js} +48 -25
  25. package/dist/assets/{InsightsSummary-W08OzElS.css → InsightsSummary-FixbpmPJ.css} +28 -25
  26. package/dist/assets/{InsightsTableWorkflows-BnEoVZ3U.css → InsightsTableWorkflows-Blv_GPUj.css} +16 -1
  27. package/dist/assets/{InsightsTableWorkflows-8EMt_xLI.js → InsightsTableWorkflows-DvkAMkT2.js} +54 -9
  28. package/dist/assets/{Logo-Bs0Q1uXx.js → Logo-DjpNa7ha.js} +1 -1
  29. package/dist/assets/{MainHeader-BNLJDeK4.js → MainHeader-BIrklbRX.js} +9 -9
  30. package/dist/assets/{MainSidebar-DNsEFuhU.js → MainSidebar-QVA1U4KK.js} +4 -2
  31. package/dist/assets/{NodeCreation-CeIwM0S4.js → NodeCreation-BR_PsZYm.js} +4 -4
  32. package/dist/assets/{NodeCreator-CfP2A2uN.js → NodeCreator-BAsdokTf.js} +3 -3
  33. package/dist/assets/{NodeDetailsView-v5wasLcI.js → NodeDetailsView-Ao8qCvow.js} +11 -11
  34. package/dist/assets/{NodeView-DSC2nzwS.js → NodeView-CY5L1Bmm.js} +17 -18
  35. package/dist/assets/{ProjectCardBadge-BhJyJ0DN.js → ProjectCardBadge-BiJ9Jmbm.js} +1 -1
  36. package/dist/assets/{ProjectHeader-B0X_hT2Q.js → ProjectHeader-D42fsSzg.js} +1 -1
  37. package/dist/assets/{ProjectSettings-BOkYpJpX.js → ProjectSettings-IPFHN7l5.js} +2 -2
  38. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-CTproKVr.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DOXKnjAX.js} +1 -1
  39. package/dist/assets/{ResourcesListLayout-DlCAO055.js → ResourcesListLayout-B_Otf91D.js} +12 -2
  40. package/dist/assets/{ResourcesListLayout-CWgWhtKq.css → ResourcesListLayout-b44J07nq.css} +8 -8
  41. package/dist/assets/{RunDataAi-CFnvZB7Q.js → RunDataAi-DsidSvp-.js} +64 -41
  42. package/dist/assets/{RunDataJson-Ys1l8Vjz.js → RunDataJson-BRO48N-i.js} +23 -13
  43. package/dist/assets/{RunDataJsonActions-VvZhKQwb.js → RunDataJsonActions-C4DFiOh8.js} +1 -1
  44. package/dist/assets/{RunDataSearch-BZxyLQFu.js → RunDataSearch-CNfhlvrK.js} +1 -1
  45. package/dist/assets/{RunDataTable-Bt5prJ8m.js → RunDataTable-DEgXQifj.js} +17 -7
  46. package/dist/assets/{SamlOnboarding-CMz0PmYu.js → SamlOnboarding-D903XflA.js} +3 -3
  47. package/dist/assets/{SettingsApiView-BdFPeAle.js → SettingsApiView-DCMVAa53.js} +1 -1
  48. package/dist/assets/{SettingsCommunityNodesView-Cl0fOeDN.js → SettingsCommunityNodesView-BBuil15J.js} +4 -4
  49. package/dist/assets/{SettingsExternalSecrets-BHyHPKVH.js → SettingsExternalSecrets-CXRYGUXv.js} +1 -1
  50. package/dist/assets/{SettingsLdapView-dh0asCi2.js → SettingsLdapView-DhoxhX3J.js} +1 -1
  51. package/dist/assets/{SettingsLogStreamingView-Dz_RlpmV.js → SettingsLogStreamingView-CxZag4Od.js} +1 -1
  52. package/dist/assets/{SettingsPersonalView-u6H-G2bs.js → SettingsPersonalView-wcvMUVmj.js} +1 -1
  53. package/dist/assets/{SettingsSourceControl-DW-hWWv4.js → SettingsSourceControl-1-N8xA9J.js} +1 -1
  54. package/dist/assets/{SettingsSso-BuZapLTi.js → SettingsSso-BwySnCiN.js} +1 -1
  55. package/dist/assets/{SettingsUsageAndPlan-DgttI1x2.js → SettingsUsageAndPlan-CDI4k6UQ.js} +1 -1
  56. package/dist/assets/{SettingsUsersView-YVCc_2i5.js → SettingsUsersView-tEm96Fhw.js} +1 -1
  57. package/dist/assets/{SettingsView-NqVZK2ZG.js → SettingsView-AhipcaOB.js} +1 -1
  58. package/dist/assets/{SetupView-CmonnYUU.js → SetupView-BnsG-7jD.js} +3 -3
  59. package/dist/assets/{SetupWorkflowCredentialsButton-DTygMFo3.js → SetupWorkflowCredentialsButton-BNGDx7Fp.js} +1 -1
  60. package/dist/assets/{SetupWorkflowFromTemplateView-7TIegCGR.js → SetupWorkflowFromTemplateView-BuoOdqHT.js} +3 -3
  61. package/dist/assets/{SigninView-BpYgNNSL.js → SigninView-UJnLl-xs.js} +3 -3
  62. package/dist/assets/{SignoutView-B0bj5iwF.js → SignoutView-e5mZU_R6.js} +1 -1
  63. package/dist/assets/{SignupView-DwoIk0Tp.js → SignupView-cdwgpaEM.js} +3 -3
  64. package/dist/assets/{TemplateDetails-Cj6tuxyL.js → TemplateDetails-DcoAjVlw.js} +1 -1
  65. package/dist/assets/{TemplateList-E9qgrHcm.js → TemplateList-B6SXDRtt.js} +1 -1
  66. package/dist/assets/{TemplatesCollectionView-D--Q4va1.js → TemplatesCollectionView-BZmufr5v.js} +5 -5
  67. package/dist/assets/{TemplatesSearchView-JzHyaQHO.js → TemplatesSearchView-BJhZMdAl.js} +3 -3
  68. package/dist/assets/{TemplatesView-t-Y8HZ-h.js → TemplatesView-CSnT6pfC.js} +1 -1
  69. package/dist/assets/{TemplatesWorkflowView-lyLKyO_a.js → TemplatesWorkflowView-4ejYFisG.js} +5 -5
  70. package/dist/assets/{TestDefinitionEditView-B2V3RmoY.js → TestDefinitionEditView-BLJQ7-fz.js} +7 -7
  71. package/dist/assets/{TestDefinitionListView-BpNvtR2U.js → TestDefinitionListView-uZmtRG_H.js} +1 -1
  72. package/dist/assets/{TestDefinitionNewView-BRJEkga7.js → TestDefinitionNewView-Dfav_UeD.js} +2 -2
  73. package/dist/assets/{TestDefinitionRootView-50o-MzqE.js → TestDefinitionRootView-CbVp9ZuX.js} +1 -1
  74. package/dist/assets/{VariablesView-Aid3aB2G.js → VariablesView-CTSEc1xT.js} +3 -3
  75. package/dist/assets/{WorkerView-CV3vv8ty.js → WorkerView-s6aBeHSb.js} +6 -6
  76. package/dist/assets/{WorkflowActivator-D5xNXE9l.js → WorkflowActivator-BeUvx9Ri.js} +2 -2
  77. package/dist/assets/{WorkflowExecutionsInfoAccordion-CPOp4DmD.js → WorkflowExecutionsInfoAccordion-D9wF-tSd.js} +1 -1
  78. package/dist/assets/{WorkflowExecutionsLandingPage-Brgsjhhb.js → WorkflowExecutionsLandingPage-CROT9lXB.js} +2 -2
  79. package/dist/assets/{WorkflowExecutionsPreview-CeuYxaz1.js → WorkflowExecutionsPreview-DyVQaOZ3.js} +6 -6
  80. package/dist/assets/{WorkflowExecutionsView-D_C5znwt.js → WorkflowExecutionsView-T9-QI3Ve.js} +7 -7
  81. package/dist/assets/{WorkflowHistory-DDCFAxHk.js → WorkflowHistory-271ecFaP.js} +3 -3
  82. package/dist/assets/{WorkflowOnboardingView-qSdJ8hMJ.js → WorkflowOnboardingView-C10O8PHR.js} +1 -1
  83. package/dist/assets/{WorkflowPreview-BSMu0phm.js → WorkflowPreview-B58e-sbx.js} +1 -1
  84. package/dist/assets/{WorkflowsView-CJB9aI6A.css → WorkflowsView-DV1tjQwB.css} +17 -11
  85. package/dist/assets/{WorkflowsView-B84150NB.js → WorkflowsView-tVTdlhV1.js} +132 -41
  86. package/dist/assets/{chartjs.utils-Cm2acgkX.js → chartjs.utils-B5AYF7KA.js} +6 -3
  87. package/dist/assets/{dateFormatter-BBHn7yLK.js → dateFormatter-DP26ifk_.js} +1 -1
  88. package/dist/assets/easyAiWorkflowUtils-BC_3x-4F.js +132 -0
  89. package/dist/assets/{global-link-actions-197wrnTd.js → global-link-actions-BxV1MUKt.js} +1 -1
  90. package/dist/assets/{import-curl-D3vA_y5V.js → import-curl-DVtpAPDa.js} +1 -1
  91. package/dist/assets/{index-BolKFsR6.js → index-CN4JmOoA.js} +567 -463
  92. package/dist/assets/{index-jhcBWw1X.js → index-DpLYcjet.js} +1 -1
  93. package/dist/assets/{index-CZPKmOs3.css → index-DwKuVkBg.css} +18 -18
  94. package/dist/assets/{pickBy-DdZwpLuz.js → pickBy-BAPZ2mk0.js} +1 -1
  95. package/dist/assets/{templateActions-B3mA9mHC.js → templateActions-Hi9EBouz.js} +1 -1
  96. package/dist/assets/{useBeforeUnload-Cmy5_E1y.js → useBeforeUnload-CQDQ2xRD.js} +1 -1
  97. package/dist/assets/{useCanvasMapping-ByKwHB68.js → useCanvasMapping-BrMdYioA.js} +2 -2
  98. package/dist/assets/{useCanvasOperations-CZQ6BvKq.js → useCanvasOperations-BW3qnkOc.js} +12 -6
  99. package/dist/assets/{useClearExecutionButtonVisible-NAMk60LX.js → useClearExecutionButtonVisible-CRcafrkD.js} +2 -2
  100. package/dist/assets/{useExecutionDebugging-4OAq-INE.js → useExecutionDebugging-Dy0Nq0u2.js} +1 -1
  101. package/dist/assets/{useExecutionHelpers-C7k4a6Dr.js → useExecutionHelpers-Bet0YWvb.js} +2 -2
  102. package/dist/assets/{useImportCurlCommand-C8JrR8Ua.js → useImportCurlCommand-CJX2AaLN.js} +2 -2
  103. package/dist/assets/{usePushConnection-Be32yU7N.js → usePushConnection-RVgJVlWm.js} +5 -11
  104. package/dist/assets/{useTestDefinitionForm-B_2_c7H0.js → useTestDefinitionForm-DjJ6ywy3.js} +1 -1
  105. package/dist/assets/{useWorkflowActivate-FHLlCRAF.js → useWorkflowActivate-BZzKuzDM.js} +1 -1
  106. package/dist/index.html +2 -2
  107. package/package.json +1 -1
  108. package/dist/assets/CollectionParameter-kHJawvJZ.js +0 -4
  109. package/dist/assets/InsightsDashboard-Dtn_GFc2.js +0 -150
  110. package/dist/assets/InsightsPaywall-CwgVLWer.js +0 -58
  111. package/dist/assets/easyAiWorkflowUtils-6c9XExXn.js +0 -181
@@ -1,4 +1,4 @@
1
- import { g0 as Chart$1, d as defineComponent, g1 as shallowRef, as as h, g2 as LineController, g3 as version, r as ref, o as onMounted, y as onBeforeUnmount, I as watch, d5 as toRaw, g4 as isProxy, g5 as BarController } from "./index-BolKFsR6.js";
1
+ import { f$ as Chart$1, d as defineComponent, g0 as shallowRef, as as h, g1 as LineController, g2 as version, r as ref, o as onMounted, y as onBeforeUnmount, I as watch, d4 as toRaw, g3 as isProxy, g4 as BarController } from "./index-CN4JmOoA.js";
2
2
  const CommonProps = {
3
3
  data: {
4
4
  type: Object,
@@ -36567,17 +36567,17 @@ body:not([data-theme]) .pill--preview[data-v-5d2bfb89] {
36567
36567
  border-color: var(--color-primary-tint-1);
36568
36568
  background-color: var(--color-primary-tint-3);
36569
36569
  }.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.vue-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}
36570
- .full-height[data-v-645606aa] {
36570
+ .full-height[data-v-87c53cda] {
36571
36571
  height: 100%;
36572
36572
  }
36573
- .run-data-schema[data-v-645606aa] {
36573
+ .run-data-schema[data-v-87c53cda] {
36574
36574
  padding: 0;
36575
36575
  }
36576
- .scroller[data-v-645606aa] {
36576
+ .scroller[data-v-87c53cda] {
36577
36577
  padding: 0 var(--spacing-s);
36578
36578
  padding-bottom: var(--spacing-2xl);
36579
36579
  }
36580
- .no-results[data-v-645606aa] {
36580
+ .no-results[data-v-87c53cda] {
36581
36581
  display: flex;
36582
36582
  flex-direction: column;
36583
36583
  align-items: center;
@@ -36587,26 +36587,26 @@ body:not([data-theme]) .pill--preview[data-v-5d2bfb89] {
36587
36587
  gap: var(--spacing-2xs);
36588
36588
  padding: var(--spacing-s) var(--spacing-s) var(--spacing-xl) var(--spacing-s);
36589
36589
  }
36590
- .icon[data-v-645606aa] {
36590
+ .icon[data-v-87c53cda] {
36591
36591
  display: inline-flex;
36592
36592
  margin-left: var(--spacing-xl);
36593
36593
  color: var(--color-text-light);
36594
36594
  margin-bottom: var(--spacing-s);
36595
36595
  }
36596
- .notice[data-v-645606aa] {
36596
+ .notice[data-v-87c53cda] {
36597
36597
  padding-bottom: var(--spacing-xs);
36598
36598
  color: var(--color-text-base);
36599
36599
  font-size: var(--font-size-2xs);
36600
36600
  line-height: var(--font-line-height-loose);
36601
36601
  }
36602
- .notice[data-v-645606aa] {
36602
+ .notice[data-v-87c53cda] {
36603
36603
  margin-left: calc(var(--spacing-l) * var(--schema-level));
36604
36604
  }
36605
- .empty-schema[data-v-645606aa] {
36605
+ .empty-schema[data-v-87c53cda] {
36606
36606
  padding-bottom: var(--spacing-xs);
36607
36607
  margin-left: calc((var(--spacing-xl) * var(--schema-level)));
36608
36608
  }
36609
- .execute-button[data-v-645606aa] {
36609
+ .execute-button[data-v-87c53cda] {
36610
36610
  padding: 0;
36611
36611
  }
36612
36612
  /* BEM support Func
@@ -43739,34 +43739,34 @@ tr:hover ._ops_p819s_133:not(._disabled_p819s_123) {
43739
43739
  -------------------------- */
43740
43740
  /* BEM
43741
43741
  -------------------------- */
43742
- .workflow-settings[data-v-a47dcfad] {
43742
+ .workflow-settings[data-v-1564b8fa] {
43743
43743
  font-size: var(--font-size-s);
43744
43744
  }
43745
- .workflow-settings .el-row[data-v-a47dcfad] {
43745
+ .workflow-settings .el-row[data-v-1564b8fa] {
43746
43746
  padding: 0.25em 0;
43747
43747
  }
43748
- .setting-name[data-v-a47dcfad] {
43748
+ .setting-name[data-v-1564b8fa] {
43749
43749
  line-height: 32px;
43750
43750
  }
43751
- .setting-name svg[data-v-a47dcfad] {
43751
+ .setting-name svg[data-v-1564b8fa] {
43752
43752
  display: inline-flex;
43753
43753
  opacity: 0;
43754
43754
  transition: opacity 0.3s ease;
43755
43755
  }
43756
- .setting-name:hover svg[data-v-a47dcfad] {
43756
+ .setting-name:hover svg[data-v-1564b8fa] {
43757
43757
  opacity: 1;
43758
43758
  }
43759
- .timeout-input[data-v-a47dcfad] {
43759
+ .timeout-input[data-v-1564b8fa] {
43760
43760
  margin-left: 5px;
43761
43761
  }
43762
- .time-saved[data-v-a47dcfad] {
43762
+ .time-saved[data-v-1564b8fa] {
43763
43763
  display: flex;
43764
43764
  align-items: center;
43765
43765
  }
43766
- .time-saved[data-v-a47dcfad] .el-input {
43766
+ .time-saved[data-v-1564b8fa] .el-input {
43767
43767
  width: 64px;
43768
43768
  }
43769
- .time-saved span[data-v-a47dcfad] {
43769
+ .time-saved span[data-v-1564b8fa] {
43770
43770
  margin-left: var(--spacing-2xs);
43771
43771
  }/* BEM support Func
43772
43772
  -------------------------- */
@@ -1,4 +1,4 @@
1
- import { fY as arrayMap, fZ as getAllKeysIn, f_ as baseIteratee, f$ as basePickBy } from "./index-BolKFsR6.js";
1
+ import { fX as arrayMap, fY as getAllKeysIn, fZ as baseIteratee, f_ as basePickBy } from "./index-CN4JmOoA.js";
2
2
  function pickBy(object, predicate) {
3
3
  if (object == null) {
4
4
  return {};
@@ -1,4 +1,4 @@
1
- import { cM as assert, c$ as doesNodeHaveCredentialsToFill, V as VIEWS, c0 as tryToParseNumber, d0 as getNewWorkflow, d1 as replaceAllTemplateNodeCredentials, c4 as getNodesWithNormalizedPosition } from "./index-BolKFsR6.js";
1
+ import { cL as assert, c_ as doesNodeHaveCredentialsToFill, V as VIEWS, b$ as tryToParseNumber, c$ as getNewWorkflow, d0 as replaceAllTemplateNodeCredentials, c3 as getNodesWithNormalizedPosition } from "./index-CN4JmOoA.js";
2
2
  async function createWorkflowFromTemplate(opts) {
3
3
  const { credentialOverrides, nodeTypeProvider, rootStore, template, workflowsStore } = opts;
4
4
  const workflowData = await getNewWorkflow(rootStore.restApiContext, { name: template.name });
@@ -1,4 +1,4 @@
1
- import { L as useUIStore, a2 as useCanvasStore, r as ref, q as computed, V as VIEWS, c as useI18n } from "./index-BolKFsR6.js";
1
+ import { L as useUIStore, a2 as useCanvasStore, r as ref, q as computed, V as VIEWS, c as useI18n } from "./index-CN4JmOoA.js";
2
2
  function useBeforeUnload({ route }) {
3
3
  const uiStore = useUIStore();
4
4
  const canvasStore = useCanvasStore();
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, fc as getCurrentScope, aZ as inject, fd as effectScope, I as watch, cN as getCurrentInstance, fe as useSlots, b7 as onUnmounted, i as createElementBlock, g as openBlock, j as createVNode, x as renderSlot, w as withCtx, k as createBaseVNode, m as unref, r as ref, ff as useAttrs, f as createCommentVNode, e as createBlock, b3 as mergeProps, F as Fragment, bI as toRef, fg as Teleport, fh as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bL as reactive, fi as onScopeDispose, aB as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, fj as isMemoSame, t as toDisplayString, b2 as resolveDynamicComponent, l as createTextVNode, a_ as isRef, a$ as toRefs$1, fk as customRef, bd as provide, h as resolveComponent, as as h, fl as toValue$1, fm as markRaw, fn as readonly, _ as _export_sfc$1, c as useI18n, bK as KeyboardShortcutTooltip, bu as NodeConnectionTypes, fo as CanvasKey, a0 as useCssModule, L as useUIStore, bw as useNodeTypesStore, U as useWorkflowsStore, a3 as useSourceControlStore, a9 as getResourcePermissions, eZ as isPresent, fp as getMousePosition$1, aA as STICKY_NODE_TYPE, bi as usePinnedData, fq as NOT_DUPLICATABLE_NODE_TYPES, fr as isExecutable, fs as N8nActionDropdown, cl as getDefaultExportFromCjs, f8 as NODE_SIZE, bR as CanvasNodeRenderType, f9 as GRID_SIZE, ft as useThrottleFn, fu as useActiveElement, fv as useDeviceSupport, fw as useEventListener$1, fx as onKeyDown, fy as onKeyUp, bc as watchEffect, b0 as normalizeProps, aW as createSlots, c1 as isValidNodeConnectionType, c2 as CanvasConnectionMode, fz as refThrottled, fA as CanvasNodeKey, fB as mergeModels, fC as useModel, bx as useNodeHelpers, fD as TitledList, aS as N8nTooltip, fE as CanvasNodeDirtiness, bC as _sfc_main$z, J as withModifiers, aj as nodeViewEventBus, c5 as NODE_CREATOR_OPEN_SOURCES, fF as CanvasNodeHandleKey, aC as withDirectives, aD as vShow, fG as Transition$2, b as useRouter, by as useRunWorkflow, bz as LOGS_PANEL_STATE, bv as CHAT_TRIGGER_NODE_TYPE, C as createEventBus, fH as isEqual, bY as Suspense, b1 as guardReactiveProps, fI as useNodeDirtiness, eT as CUSTOM_API_CALL_KEY, br as getNodeInputs, bt as getNodeOutputs, dx as getTriggerNodeServiceName, ci as sanitizeHtml, fJ as nodeIssuesToString, fK as WAIT_NODE_TYPE, d$ as SEND_AND_WAIT_OPERATION, fL as FORM_NODE_TYPE, fM as WAIT_INDEFINITELY, fN as SIMULATE_NODE_TYPE, fO as SIMULATE_TRIGGER_NODE_TYPE, fP as getNodeIconSource } from "./index-BolKFsR6.js";
2
- import { p as parseCanvasConnectionHandleString, a as useNodeCreatorStore, b as useCanvasOperations, i as insertSpacersBetweenEndpoints, c as createCanvasConnectionHandleString, m as mapLegacyEndpointsToCanvasConnectionPort, e as checkOverlap, f as mapLegacyConnectionsToCanvasConnections } from "./useCanvasOperations-CZQ6BvKq.js";
1
+ import { d as defineComponent, fb as getCurrentScope, aZ as inject, fc as effectScope, I as watch, cM as getCurrentInstance, fd as useSlots, b7 as onUnmounted, i as createElementBlock, g as openBlock, j as createVNode, x as renderSlot, w as withCtx, k as createBaseVNode, m as unref, r as ref, fe as useAttrs, f as createCommentVNode, e as createBlock, b3 as mergeProps, F as Fragment, bI as toRef, ff as Teleport, fg as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bL as reactive, fh as onScopeDispose, aB as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, fi as isMemoSame, t as toDisplayString, b2 as resolveDynamicComponent, l as createTextVNode, a_ as isRef, a$ as toRefs$1, fj as customRef, bd as provide, h as resolveComponent, as as h, fk as toValue$1, fl as markRaw, fm as readonly, _ as _export_sfc$1, c as useI18n, bK as KeyboardShortcutTooltip, bu as NodeConnectionTypes, fn as CanvasKey, a0 as useCssModule, L as useUIStore, bw as useNodeTypesStore, U as useWorkflowsStore, a3 as useSourceControlStore, a9 as getResourcePermissions, eY as isPresent, fo as getMousePosition$1, aA as STICKY_NODE_TYPE, bi as usePinnedData, fp as NOT_DUPLICATABLE_NODE_TYPES, fq as isExecutable, fr as N8nActionDropdown, ck as getDefaultExportFromCjs, f7 as NODE_SIZE, bR as CanvasNodeRenderType, f8 as GRID_SIZE, fs as useThrottleFn, ft as useActiveElement, fu as useDeviceSupport, fv as useEventListener$1, fw as onKeyDown, fx as onKeyUp, bc as watchEffect, b0 as normalizeProps, aW as createSlots, c0 as isValidNodeConnectionType, c1 as CanvasConnectionMode, fy as refThrottled, fz as CanvasNodeKey, fA as mergeModels, fB as useModel, bx as useNodeHelpers, fC as TitledList, aS as N8nTooltip, fD as CanvasNodeDirtiness, bC as _sfc_main$z, J as withModifiers, aj as nodeViewEventBus, c4 as NODE_CREATOR_OPEN_SOURCES, fE as CanvasNodeHandleKey, aC as withDirectives, aD as vShow, fF as Transition$2, b as useRouter, by as useRunWorkflow, bz as LOGS_PANEL_STATE, bv as CHAT_TRIGGER_NODE_TYPE, C as createEventBus, fG as isEqual, bY as Suspense, b1 as guardReactiveProps, fH as useNodeDirtiness, eS as CUSTOM_API_CALL_KEY, br as getNodeInputs, bt as getNodeOutputs, dw as getTriggerNodeServiceName, ch as sanitizeHtml, fI as nodeIssuesToString, fJ as WAIT_NODE_TYPE, d_ as SEND_AND_WAIT_OPERATION, fK as FORM_NODE_TYPE, fL as WAIT_INDEFINITELY, fM as SIMULATE_NODE_TYPE, fN as SIMULATE_TRIGGER_NODE_TYPE, fO as getNodeIconSource } from "./index-CN4JmOoA.js";
2
+ import { p as parseCanvasConnectionHandleString, a as useNodeCreatorStore, b as useCanvasOperations, i as insertSpacersBetweenEndpoints, c as createCanvasConnectionHandleString, m as mapLegacyEndpointsToCanvasConnectionPort, e as checkOverlap, f as mapLegacyConnectionsToCanvasConnections } from "./useCanvasOperations-BW3qnkOc.js";
3
3
  function tryOnScopeDispose(fn) {
4
4
  if (getCurrentScope()) {
5
5
  onScopeDispose(fn);
@@ -1,4 +1,4 @@
1
- import { dM as baseSlice, dN as toString, dO as createCompounder, dP as SetCache, dQ as arrayIncludes, dR as cacheHas, dS as baseRest, dT as isArrayLikeObject, dU as baseFlatten, dV as CORE_NODES_CATEGORY, dW as DEFAULT_SUBCATEGORY, bj as v4, p as useSettingsStore, dX as AI_TRANSFORM_NODE_TYPE, bn as AI_SUBCATEGORY, dY as HUMAN_IN_THE_LOOP_CATEGORY, bo as AI_CATEGORY_AGENTS, dZ as sortBy, de as i18n, d_ as AI_CATEGORY_OTHER_TOOLS, d$ as SEND_AND_WAIT_OPERATION, e0 as AI_CATEGORY_DOCUMENT_LOADERS, e1 as AI_CATEGORY_LANGUAGE_MODELS, e2 as AI_CATEGORY_MEMORY, e3 as AI_CATEGORY_OUTPUTPARSER, e4 as AI_CATEGORY_RETRIEVERS, e5 as AI_CATEGORY_TEXT_SPLITTERS, e6 as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, e7 as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, c as useI18n, e8 as AI_CATEGORY_TOOLS, e9 as AI_CATEGORY_EMBEDDING, ea as AI_CATEGORY_VECTOR_STORES, eb as AI_UNCATEGORIZED_CATEGORY, ec as AI_OTHERS_NODE_CREATOR_VIEW, bu as NodeConnectionTypes, bw as useNodeTypesStore, aP as useTemplatesStore, ed as AI_NODE_CREATOR_VIEW, ee as RSS_READ_NODE_TYPE, ef as EMAIL_SEND_NODE_TYPE, eg as SET_NODE_TYPE, eh as CODE_NODE_TYPE, ei as DATETIME_NODE_TYPE, ej as FILTER_NODE_TYPE, ek as REMOVE_DUPLICATES_NODE_TYPE, el as SPLIT_OUT_NODE_TYPE, em as LIMIT_NODE_TYPE, en as SUMMARIZE_NODE_TYPE, eo as AGGREGATE_NODE_TYPE, ep as MERGE_NODE_TYPE, eq as HTML_NODE_TYPE, er as MARKDOWN_NODE_TYPE, es as XML_NODE_TYPE, et as CRYPTO_NODE_TYPE, eu as EXTRACT_FROM_FILE_NODE_TYPE, ev as CONVERT_TO_FILE_NODE_TYPE, ew as COMPRESSION_NODE_TYPE, ex as EDIT_IMAGE_NODE_TYPE, ey as TRANSFORM_DATA_SUBCATEGORY, ez as IF_NODE_TYPE, eA as SPLIT_IN_BATCHES_NODE_TYPE, eB as FLOWS_CONTROL_SUBCATEGORY, eC as HTTP_REQUEST_NODE_TYPE, eD as WEBHOOK_NODE_TYPE, eE as HELPERS_SUBCATEGORY, eF as HITL_SUBCATEGORY, eG as TRIGGER_NODE_CREATOR_VIEW, eH as REGULAR_NODE_CREATOR_VIEW, eI as MANUAL_TRIGGER_NODE_TYPE, eJ as EMAIL_IMAP_NODE_TYPE, eK as SCHEDULE_TRIGGER_NODE_TYPE, eL as FORM_TRIGGER_NODE_TYPE, dB as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, bv as CHAT_TRIGGER_NODE_TYPE, eM as OTHER_TRIGGER_NODES_SUBCATEGORY, bp as AI_CATEGORY_CHAINS, S as defineStore, r as ref, q as computed, a2 as useCanvasStore, eN as AI_CATEGORY_ROOT_NODES, eO as AI_CATEGORY_MCP_NODES, z as nextTick, eP as getThemedValue, L as useUIStore, bq as AI_CODE_NODE_TYPE, eQ as AI_TRANSFORM_NODE_TYPE$1, eR as isValidCanvasConnectionMode, c2 as CanvasConnectionMode, c1 as isValidNodeConnectionType, U as useWorkflowsStore, au as useNDVStore, aR as useExternalHooks, eS as isVueFlowConnection, br as getNodeInputs, eT as CUSTOM_API_CALL_KEY, Y as STORES, c5 as NODE_CREATOR_OPEN_SOURCES, ai as useTelemetry, a1 as useRootStore, bM as useCredentialsStore, bP as useHistoryStore, E as useTagsStore, av as useExecutionsStore, a4 as useProjectsStore, a as useToast, a7 as useWorkflowHelpers, bx as useNodeHelpers, ba as useClipboard, eU as MCP_TRIGGER_NODE_TYPE, eV as UPDATE_WEBHOOK_ID_NODE_TYPES, dw as generateNodesGraph, eW as getNewNodePosition, eX as AddConnectionCommand, aA as STICKY_NODE_TYPE, bt as getNodeOutputs, eY as RemoveConnectionCommand, ac as EnterpriseEditionFeature, cb as deepCopy, eZ as isPresent, e_ as RemoveNodeCommand, e$ as RenameNodeCommand, bi as usePinnedData, f0 as useDataSchema, f1 as MoveNodeCommand, f2 as DEFAULT_NODE_SIZE, f3 as CONFIGURATION_NODE_SIZE, bs as getConnectionTypes, f4 as generateOffsets, f5 as CONFIGURABLE_NODE_SIZE, f6 as PUSH_NODES_OFFSET, f7 as AddNodeCommand, f8 as NODE_SIZE, f9 as GRID_SIZE, fa as getNodeParameters } from "./index-BolKFsR6.js";
1
+ import { dL as baseSlice, dM as toString, dN as createCompounder, dO as SetCache, dP as arrayIncludes, dQ as cacheHas, dR as baseRest, dS as isArrayLikeObject, dT as baseFlatten, dU as CORE_NODES_CATEGORY, dV as DEFAULT_SUBCATEGORY, bj as v4, p as useSettingsStore, dW as AI_TRANSFORM_NODE_TYPE, bn as AI_SUBCATEGORY, dX as HUMAN_IN_THE_LOOP_CATEGORY, bo as AI_CATEGORY_AGENTS, dY as sortBy, dd as i18n, dZ as AI_CATEGORY_OTHER_TOOLS, d_ as SEND_AND_WAIT_OPERATION, d$ as AI_CATEGORY_DOCUMENT_LOADERS, e0 as AI_CATEGORY_LANGUAGE_MODELS, e1 as AI_CATEGORY_MEMORY, e2 as AI_CATEGORY_OUTPUTPARSER, e3 as AI_CATEGORY_RETRIEVERS, e4 as AI_CATEGORY_TEXT_SPLITTERS, e5 as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, e6 as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, c as useI18n, e7 as AI_CATEGORY_TOOLS, e8 as AI_CATEGORY_EMBEDDING, e9 as AI_CATEGORY_VECTOR_STORES, ea as AI_UNCATEGORIZED_CATEGORY, eb as AI_OTHERS_NODE_CREATOR_VIEW, bu as NodeConnectionTypes, bw as useNodeTypesStore, aP as useTemplatesStore, ec as AI_NODE_CREATOR_VIEW, ed as RSS_READ_NODE_TYPE, ee as EMAIL_SEND_NODE_TYPE, ef as SET_NODE_TYPE, eg as CODE_NODE_TYPE, eh as DATETIME_NODE_TYPE, ei as FILTER_NODE_TYPE, ej as REMOVE_DUPLICATES_NODE_TYPE, ek as SPLIT_OUT_NODE_TYPE, el as LIMIT_NODE_TYPE, em as SUMMARIZE_NODE_TYPE, en as AGGREGATE_NODE_TYPE, eo as MERGE_NODE_TYPE, ep as HTML_NODE_TYPE, eq as MARKDOWN_NODE_TYPE, er as XML_NODE_TYPE, es as CRYPTO_NODE_TYPE, et as EXTRACT_FROM_FILE_NODE_TYPE, eu as CONVERT_TO_FILE_NODE_TYPE, ev as COMPRESSION_NODE_TYPE, ew as EDIT_IMAGE_NODE_TYPE, ex as TRANSFORM_DATA_SUBCATEGORY, ey as IF_NODE_TYPE, ez as SPLIT_IN_BATCHES_NODE_TYPE, eA as FLOWS_CONTROL_SUBCATEGORY, eB as HTTP_REQUEST_NODE_TYPE, eC as WEBHOOK_NODE_TYPE, eD as HELPERS_SUBCATEGORY, eE as HITL_SUBCATEGORY, eF as TRIGGER_NODE_CREATOR_VIEW, eG as REGULAR_NODE_CREATOR_VIEW, eH as MANUAL_TRIGGER_NODE_TYPE, eI as EMAIL_IMAP_NODE_TYPE, eJ as SCHEDULE_TRIGGER_NODE_TYPE, eK as FORM_TRIGGER_NODE_TYPE, dA as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, bv as CHAT_TRIGGER_NODE_TYPE, eL as OTHER_TRIGGER_NODES_SUBCATEGORY, bp as AI_CATEGORY_CHAINS, S as defineStore, r as ref, q as computed, a2 as useCanvasStore, eM as AI_CATEGORY_ROOT_NODES, eN as AI_CATEGORY_MCP_NODES, z as nextTick, eO as getThemedValue, L as useUIStore, bq as AI_CODE_NODE_TYPE, eP as AI_TRANSFORM_NODE_TYPE$1, eQ as isValidCanvasConnectionMode, c1 as CanvasConnectionMode, c0 as isValidNodeConnectionType, U as useWorkflowsStore, au as useNDVStore, aR as useExternalHooks, eR as isVueFlowConnection, br as getNodeInputs, eS as CUSTOM_API_CALL_KEY, Y as STORES, c4 as NODE_CREATOR_OPEN_SOURCES, ai as useTelemetry, a1 as useRootStore, bM as useCredentialsStore, bP as useHistoryStore, E as useTagsStore, av as useExecutionsStore, a4 as useProjectsStore, a as useToast, a7 as useWorkflowHelpers, bx as useNodeHelpers, ba as useClipboard, eT as MCP_TRIGGER_NODE_TYPE, eU as UPDATE_WEBHOOK_ID_NODE_TYPES, dv as generateNodesGraph, eV as getNewNodePosition, eW as AddConnectionCommand, aA as STICKY_NODE_TYPE, bt as getNodeOutputs, eX as RemoveConnectionCommand, ac as EnterpriseEditionFeature, ca as deepCopy, eY as isPresent, eZ as RemoveNodeCommand, e_ as RenameNodeCommand, bi as usePinnedData, e$ as useDataSchema, f0 as MoveNodeCommand, f1 as DEFAULT_NODE_SIZE, f2 as CONFIGURATION_NODE_SIZE, bs as getConnectionTypes, f3 as generateOffsets, f4 as CONFIGURABLE_NODE_SIZE, f5 as PUSH_NODES_OFFSET, f6 as AddNodeCommand, f7 as NODE_SIZE, f8 as GRID_SIZE, f9 as getNodeParameters } from "./index-CN4JmOoA.js";
2
2
  function castSlice(array, start, end) {
3
3
  var length = array.length;
4
4
  end = end === void 0 ? length : end;
@@ -450,10 +450,8 @@ const formatTriggerActionName = (actionPropertyName) => {
450
450
  }
451
451
  return noCase(name);
452
452
  };
453
- function getAiNodesBySubcategory(nodes, subcategory) {
454
- return nodes.filter(
455
- (node) => !node.hidden && node.codex?.subcategories?.[AI_SUBCATEGORY]?.includes(subcategory)
456
- ).map((node) => ({
453
+ function getNodeView(node) {
454
+ return {
457
455
  key: node.name,
458
456
  type: "node",
459
457
  properties: {
@@ -466,7 +464,12 @@ function getAiNodesBySubcategory(nodes, subcategory) {
466
464
  icon: node.icon,
467
465
  iconUrl: node.iconUrl
468
466
  }
469
- })).sort((a, b) => a.properties.displayName.localeCompare(b.properties.displayName));
467
+ };
468
+ }
469
+ function getAiNodesBySubcategory(nodes, subcategory) {
470
+ return nodes.filter(
471
+ (node) => !node.hidden && node.codex?.subcategories?.[AI_SUBCATEGORY]?.includes(subcategory)
472
+ ).map(getNodeView).sort((a, b) => a.properties.displayName.localeCompare(b.properties.displayName));
470
473
  }
471
474
  function AIView(_nodes) {
472
475
  const i18n2 = useI18n();
@@ -477,6 +480,8 @@ function AIView(_nodes) {
477
480
  const websiteCategoryURLParams = templatesStore.websiteTemplateRepositoryParameters;
478
481
  websiteCategoryURLParams.append("utm_user_role", "AdvancedAI");
479
482
  const websiteCategoryURL = templatesStore.constructTemplateRepositoryURL(websiteCategoryURLParams);
483
+ const aiTransformNode = nodeTypesStore.getNodeType(AI_TRANSFORM_NODE_TYPE);
484
+ const transformNode = aiTransformNode ? [getNodeView(aiTransformNode)] : [];
480
485
  return {
481
486
  value: AI_NODE_CREATOR_VIEW,
482
487
  title: i18n2.baseText("nodeCreator.aiPanel.aiNodes"),
@@ -499,6 +504,7 @@ function AIView(_nodes) {
499
504
  },
500
505
  ...agentNodes,
501
506
  ...chainNodes,
507
+ ...transformNode,
502
508
  {
503
509
  key: AI_OTHERS_NODE_CREATOR_VIEW,
504
510
  type: "view",
@@ -1,5 +1,5 @@
1
- import { W as useRoute, a3 as useSourceControlStore, U as useWorkflowsStore, q as computed, b as useRouter, bw as useNodeTypesStore, bS as START_NODE_TYPE } from "./index-BolKFsR6.js";
2
- import { b as useCanvasOperations } from "./useCanvasOperations-CZQ6BvKq.js";
1
+ import { W as useRoute, a3 as useSourceControlStore, U as useWorkflowsStore, q as computed, b as useRouter, bw as useNodeTypesStore, bS as START_NODE_TYPE } from "./index-CN4JmOoA.js";
2
+ import { b as useCanvasOperations } from "./useCanvasOperations-BW3qnkOc.js";
3
3
  function useClearExecutionButtonVisible() {
4
4
  const route = useRoute();
5
5
  const sourceControlStore = useSourceControlStore();
@@ -1,4 +1,4 @@
1
- import { b as useRouter, a as useToast, U as useWorkflowsStore, p as useSettingsStore, L as useUIStore, a8 as usePageRedirectionHelper, q as computed, ac as EnterpriseEditionFeature, c as useI18n, ch as DEBUG_PAYWALL_MODAL_KEY, as as h, ci as sanitizeHtml, ak as useMessage, al as MODAL_CONFIRM, V as VIEWS, ai as useTelemetry, a1 as useRootStore, cj as isFullExecutionResponse } from "./index-BolKFsR6.js";
1
+ import { b as useRouter, a as useToast, U as useWorkflowsStore, p as useSettingsStore, L as useUIStore, a8 as usePageRedirectionHelper, q as computed, ac as EnterpriseEditionFeature, c as useI18n, cg as DEBUG_PAYWALL_MODAL_KEY, as as h, ch as sanitizeHtml, ak as useMessage, al as MODAL_CONFIRM, V as VIEWS, ai as useTelemetry, a1 as useRootStore, ci as isFullExecutionResponse } from "./index-CN4JmOoA.js";
2
2
  const useExecutionDebugging = () => {
3
3
  const telemetry = useTelemetry();
4
4
  const router = useRouter();
@@ -1,5 +1,5 @@
1
- import { c as convertToDisplayDate } from "./dateFormatter-BBHn7yLK.js";
2
- import { b as useRouter, V as VIEWS, ai as useTelemetry, c as useI18n } from "./index-BolKFsR6.js";
1
+ import { c as convertToDisplayDate } from "./dateFormatter-DP26ifk_.js";
2
+ import { b as useRouter, V as VIEWS, ai as useTelemetry, c as useI18n } from "./index-CN4JmOoA.js";
3
3
  function useExecutionHelpers() {
4
4
  const i18n = useI18n();
5
5
  const router = useRouter();
@@ -1,6 +1,6 @@
1
- import { gR as require$$0, cl as getDefaultExportFromCjs, a as useToast, m as unref, cM as assert, gS as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, gT as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, gU as get } from "./index-BolKFsR6.js";
1
+ import { gR as require$$0, ck as getDefaultExportFromCjs, a as useToast, m as unref, cL as assert, gS as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, gT as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, gU as get } from "./index-CN4JmOoA.js";
2
2
  import { c as commonjsRequire } from "./_commonjs-dynamic-modules-TGKdzP3c.js";
3
- import { i as importCurlEventBus } from "./import-curl-D3vA_y5V.js";
3
+ import { i as importCurlEventBus } from "./import-curl-DVtpAPDa.js";
4
4
  class CCError extends Error {
5
5
  }
6
6
  const UTF8encoder = new TextEncoder();
@@ -1,6 +1,6 @@
1
- import { dq as makeRestApiRequest, S as defineStore, a1 as useRootStore, d as defineComponent, cc as resolveDirective, i as createElementBlock, g as openBlock, aC as withDirectives, k as createBaseVNode, t as toDisplayString, m as unref, c as useI18n, a7 as useWorkflowHelpers, bx as useNodeHelpers, a as useToast, bM as useCredentialsStore, bw as useNodeTypesStore, T as usePushConnectionStore, p as useSettingsStore, L as useUIStore, U as useWorkflowsStore, dr as useAssistantStore, aw as usePostHog, r as ref, ds as clearPopupWindowState, b$ as AI_CREDITS_EXPERIMENT, ai as useTelemetry, dt as parse, du as hasTrimmedItem, dv as codeNodeEditorEventBus, am as WORKFLOW_SETTINGS_MODAL_KEY, dw as generateNodesGraph, as as h, dx as getTriggerNodeServiceName, dy as hasTrimmedData, aR as useExternalHooks, dz as useSchemaPreviewStore } from "./index-BolKFsR6.js";
2
- import { g as globalLinkActionsEventBus } from "./global-link-actions-197wrnTd.js";
3
- import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-6c9XExXn.js";
1
+ import { dp as makeRestApiRequest, S as defineStore, a1 as useRootStore, d as defineComponent, cb as resolveDirective, i as createElementBlock, g as openBlock, aC as withDirectives, k as createBaseVNode, t as toDisplayString, m as unref, c as useI18n, a7 as useWorkflowHelpers, bx as useNodeHelpers, a as useToast, bM as useCredentialsStore, bw as useNodeTypesStore, T as usePushConnectionStore, p as useSettingsStore, L as useUIStore, U as useWorkflowsStore, dq as useAssistantStore, r as ref, dr as clearPopupWindowState, ai as useTelemetry, ds as parse, dt as hasTrimmedItem, du as codeNodeEditorEventBus, am as WORKFLOW_SETTINGS_MODAL_KEY, dv as generateNodesGraph, as as h, dw as getTriggerNodeServiceName, dx as hasTrimmedData, aR as useExternalHooks, dy as useSchemaPreviewStore } from "./index-CN4JmOoA.js";
2
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-BxV1MUKt.js";
3
+ import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-BC_3x-4F.js";
4
4
  const GET_STATUS_ENDPOINT = "/orchestration/worker/status";
5
5
  const sendGetWorkerStatus = async (context) => {
6
6
  await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
@@ -102,7 +102,6 @@ function usePushConnection({ router }) {
102
102
  const uiStore = useUIStore();
103
103
  const workflowsStore = useWorkflowsStore();
104
104
  const assistantStore = useAssistantStore();
105
- const posthogStore = usePostHog();
106
105
  const retryTimeout = ref(null);
107
106
  const pushMessageQueue = ref([]);
108
107
  const removeEventListener = ref(null);
@@ -203,11 +202,7 @@ function usePushConnection({ router }) {
203
202
  clearPopupWindowState();
204
203
  const workflow2 = workflowsStore.getWorkflowById(receivedData.data.workflowId);
205
204
  if (workflow2?.meta?.templateId) {
206
- const isAiCreditsExperimentEnabled = posthogStore.getVariant(AI_CREDITS_EXPERIMENT.name) === AI_CREDITS_EXPERIMENT.variant;
207
- const easyAiWorkflowJson = getEasyAiWorkflowJson({
208
- isInstanceInAiFreeCreditsExperiment: isAiCreditsExperimentEnabled,
209
- withOpenAiFreeCredits: settingsStore.aiCreditsQuota
210
- });
205
+ const easyAiWorkflowJson = getEasyAiWorkflowJson();
211
206
  const isEasyAIWorkflow = workflow2.meta.templateId === easyAiWorkflowJson.meta.templateId;
212
207
  if (isEasyAIWorkflow) {
213
208
  telemetry.track(
@@ -466,8 +461,7 @@ function usePushConnection({ router }) {
466
461
  void assistantStore.onNodeExecution(pushData);
467
462
  void useSchemaPreviewStore().trackSchemaPreviewExecution(pushData);
468
463
  } else if (receivedData.type === "nodeExecuteBefore") {
469
- const pushData = receivedData.data;
470
- workflowsStore.addExecutingNode(pushData.nodeName);
464
+ workflowsStore.setNodeExecuting(receivedData.data);
471
465
  } else if (receivedData.type === "testWebhookDeleted") {
472
466
  const pushData = receivedData.data;
473
467
  if (pushData.workflowId === workflowsStore.workflowId) {
@@ -1,4 +1,4 @@
1
- import { g7 as useTestDefinitionStore, r as ref, q as computed } from "./index-BolKFsR6.js";
1
+ import { g6 as useTestDefinitionStore, r as ref, q as computed } from "./index-CN4JmOoA.js";
2
2
  function useTestDefinitionForm() {
3
3
  const evaluationsStore = useTestDefinitionStore();
4
4
  const state = ref({
@@ -1,4 +1,4 @@
1
- import { r as ref, b as useRouter, a7 as useWorkflowHelpers, U as useWorkflowsStore, L as useUIStore, a as useToast, a5 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, ai as useTelemetry, aR as useExternalHooks, c as useI18n, aL as useStorage, dE as LOCAL_STORAGE_ACTIVATION_FLAG, dF as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-BolKFsR6.js";
1
+ import { r as ref, b as useRouter, a7 as useWorkflowHelpers, U as useWorkflowsStore, L as useUIStore, a as useToast, a5 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, ai as useTelemetry, aR as useExternalHooks, c as useI18n, aL as useStorage, dD as LOCAL_STORAGE_ACTIVATION_FLAG, dE as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-CN4JmOoA.js";
2
2
  function useWorkflowActivate() {
3
3
  const updatingWorkflowActivation = ref(false);
4
4
  const router = useRouter();
package/dist/index.html CHANGED
@@ -16,8 +16,8 @@
16
16
  <script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag onFeatureFlags reloadFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[])</script>
17
17
 
18
18
  <title>n8n.io - Workflow Automation</title>
19
- <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-BolKFsR6.js"></script>
20
- <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-CZPKmOs3.css">
19
+ <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-CN4JmOoA.js"></script>
20
+ <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-DwKuVkBg.css">
21
21
  </head>
22
22
  <body>
23
23
  <noscript>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-editor-ui",
3
- "version": "1.88.0",
3
+ "version": "1.89.1",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -1,4 +0,0 @@
1
- import { gQ as _sfc_main } from "./index-BolKFsR6.js";
2
- export {
3
- _sfc_main as default
4
- };
@@ -1,150 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/InsightsPaywall-CwgVLWer.js","assets/index-BolKFsR6.js","assets/index-CZPKmOs3.css","assets/InsightsPaywall-OeXh6LeZ.css","assets/InsightsChartTotal-Czf1oMmf.js","assets/index-jhcBWw1X.js","assets/chartjs.utils-Cm2acgkX.js","assets/InsightsSummary-BJagTlqW.js","assets/InsightsSummary-W08OzElS.css","assets/InsightsChartFailed-DSmO3hz7.js","assets/InsightsChartFailureRate-ERj7qNeH.js","assets/InsightsChartTimeSaved-CT3zwXsy.js","assets/InsightsChartAverageRuntime-Cxvz6Yw9.js","assets/InsightsTableWorkflows-8EMt_xLI.js","assets/InsightsTableWorkflows-BnEoVZ3U.css"])))=>i.map(i=>d[i]);
2
- import { d as defineComponent, gs as useInsightsStore, q as computed, bZ as defineAsyncComponent, r as ref, I as watch, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, k as createBaseVNode, w as withCtx, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, n as normalizeClass, F as Fragment, b2 as resolveDynamicComponent, aq as __vitePreload, _ as _export_sfc } from "./index-BolKFsR6.js";
3
- import { I as InsightsSummary } from "./InsightsSummary-BJagTlqW.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-CwgVLWer.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
12
- );
13
- const InsightsChartTotal = defineAsyncComponent(
14
- async () => await __vitePreload(() => import("./InsightsChartTotal-Czf1oMmf.js"), true ? __vite__mapDeps([4,5,1,2,6,7,8]) : void 0)
15
- );
16
- const InsightsChartFailed = defineAsyncComponent(
17
- async () => await __vitePreload(() => import("./InsightsChartFailed-DSmO3hz7.js"), true ? __vite__mapDeps([9,5,1,2,6,7,8]) : void 0)
18
- );
19
- const InsightsChartFailureRate = defineAsyncComponent(
20
- async () => await __vitePreload(() => import("./InsightsChartFailureRate-ERj7qNeH.js"), true ? __vite__mapDeps([10,1,2,6,7,8,5]) : void 0)
21
- );
22
- const InsightsChartTimeSaved = defineAsyncComponent(
23
- async () => await __vitePreload(() => import("./InsightsChartTimeSaved-CT3zwXsy.js"), true ? __vite__mapDeps([11,1,2,6,7,8,5]) : void 0)
24
- );
25
- const InsightsChartAverageRuntime = defineAsyncComponent(
26
- async () => await __vitePreload(() => import("./InsightsChartAverageRuntime-Cxvz6Yw9.js"), true ? __vite__mapDeps([12,1,2,6,7,8,5]) : void 0)
27
- );
28
- const InsightsTableWorkflows = defineAsyncComponent(
29
- async () => await __vitePreload(() => import("./InsightsTableWorkflows-8EMt_xLI.js"), true ? __vite__mapDeps([13,1,2,7,8,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
- createVNode(_component_N8nHeading, {
81
- bold: "",
82
- tag: "h2",
83
- size: "xlarge"
84
- }, {
85
- default: withCtx(() => [
86
- createTextVNode(toDisplayString(unref(i18n).baseText("insights.dashboard.title")), 1)
87
- ]),
88
- _: 1
89
- }),
90
- createBaseVNode("div", null, [
91
- unref(insightsStore).isSummaryEnabled ? (openBlock(), createBlock(InsightsSummary, {
92
- key: 0,
93
- summary: unref(insightsStore).summary.state,
94
- loading: unref(insightsStore).summary.isLoading,
95
- class: normalizeClass(_ctx.$style.insightsBanner)
96
- }, null, 8, ["summary", "loading", "class"])) : createCommentVNode("", true),
97
- unref(insightsStore).isInsightsEnabled ? (openBlock(), createElementBlock("div", {
98
- key: 1,
99
- class: normalizeClass(_ctx.$style.insightsContent)
100
- }, [
101
- createBaseVNode("div", {
102
- class: normalizeClass(_ctx.$style.insightsChartWrapper)
103
- }, [
104
- unref(insightsStore).charts.isLoading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
105
- createTextVNode(" loading ")
106
- ], 64)) : (openBlock(), createBlock(resolveDynamicComponent(chartComponents.value[props.insightType]), {
107
- key: 1,
108
- type: props.insightType,
109
- data: unref(insightsStore).charts.state
110
- }, null, 8, ["type", "data"]))
111
- ], 2),
112
- createBaseVNode("div", {
113
- class: normalizeClass(_ctx.$style.insightsTableWrapper)
114
- }, [
115
- createVNode(unref(InsightsTableWorkflows), {
116
- "sort-by": sortTableBy.value,
117
- "onUpdate:sortBy": _cache[0] || (_cache[0] = ($event) => sortTableBy.value = $event),
118
- data: unref(insightsStore).table.state,
119
- loading: unref(insightsStore).table.isLoading,
120
- "onUpdate:options": fetchPaginatedTableData
121
- }, null, 8, ["sort-by", "data", "loading"])
122
- ], 2)
123
- ], 2)) : (openBlock(), createBlock(unref(InsightsPaywall), {
124
- key: 2,
125
- "data-test-id": "insights-dashboard-unlicensed"
126
- }))
127
- ])
128
- ], 2);
129
- };
130
- }
131
- });
132
- const insightsView = "_insightsView_1upqv_123";
133
- const insightsBanner = "_insightsBanner_1upqv_133";
134
- const insightsContent = "_insightsContent_1upqv_140";
135
- const insightsChartWrapper = "_insightsChartWrapper_1upqv_149";
136
- const insightsTableWrapper = "_insightsTableWrapper_1upqv_154";
137
- const style0 = {
138
- insightsView,
139
- insightsBanner,
140
- insightsContent,
141
- insightsChartWrapper,
142
- insightsTableWrapper
143
- };
144
- const cssModules = {
145
- "$style": style0
146
- };
147
- const InsightsDashboard = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
148
- export {
149
- InsightsDashboard as default
150
- };
@@ -1,58 +0,0 @@
1
- import { _ as _export_sfc, h as resolveComponent, i as createElementBlock, g as openBlock, j as createVNode, w as withCtx, l as createTextVNode, n as normalizeClass } from "./index-BolKFsR6.js";
2
- const callout = "_callout_tsein_123";
3
- const style0 = {
4
- callout
5
- };
6
- const _sfc_main = {};
7
- function _sfc_render(_ctx, _cache) {
8
- const _component_N8nIcon = resolveComponent("N8nIcon");
9
- const _component_N8nText = resolveComponent("N8nText");
10
- const _component_N8nLink = resolveComponent("N8nLink");
11
- const _component_N8nButton = resolveComponent("N8nButton");
12
- return openBlock(), createElementBlock("div", {
13
- class: normalizeClass(_ctx.$style.callout)
14
- }, [
15
- createVNode(_component_N8nIcon, {
16
- icon: "lock",
17
- size: "size"
18
- }),
19
- createVNode(_component_N8nText, {
20
- bold: "",
21
- tag: "h3",
22
- size: "large"
23
- }, {
24
- default: withCtx(() => _cache[0] || (_cache[0] = [
25
- createTextVNode("Upgrade to Pro or Enterprise to see full data")
26
- ])),
27
- _: 1
28
- }),
29
- createVNode(_component_N8nText, null, {
30
- default: withCtx(() => [
31
- _cache[2] || (_cache[2] = createTextVNode("Gain access to detailed execution data with one year data retention. ")),
32
- createVNode(_component_N8nLink, { to: "/" }, {
33
- default: withCtx(() => _cache[1] || (_cache[1] = [
34
- createTextVNode("Learn more")
35
- ])),
36
- _: 1
37
- })
38
- ]),
39
- _: 1
40
- }),
41
- createVNode(_component_N8nButton, {
42
- type: "primary",
43
- size: "large"
44
- }, {
45
- default: withCtx(() => _cache[3] || (_cache[3] = [
46
- createTextVNode("Upgrade")
47
- ])),
48
- _: 1
49
- })
50
- ], 2);
51
- }
52
- const cssModules = {
53
- "$style": style0
54
- };
55
- const InsightsPaywall = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__cssModules", cssModules]]);
56
- export {
57
- InsightsPaywall as default
58
- };