n8n-editor-ui 1.112.2 → 1.113.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 (125) hide show
  1. package/.build/cache-marker +1 -0
  2. package/.build/node-popularity.json +3918 -0
  3. package/dist/assets/{AddDataStoreModal-2dpbr3c3.js → AddDataStoreModal-C-20tjW5.js} +1 -1
  4. package/dist/assets/{AnimatedSpinner-CKEReflL.js → AnimatedSpinner-WDiU4lXb.js} +1 -1
  5. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CT20sNM9.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CV4yKdOK.js} +1 -1
  6. package/dist/assets/{AuthView-DmP4BELq.js → AuthView-BfD8L-MR.js} +2 -2
  7. package/dist/assets/{ChangePasswordView-QlnsGQdL.js → ChangePasswordView-BHlNjnju.js} +3 -3
  8. package/dist/assets/CollectionParameter-D7XE8ypc.js +4 -0
  9. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-BCusf_O4.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-Bm1msTtB.js} +1 -1
  10. package/dist/assets/{CredentialsView-Cbt0FWjl.js → CredentialsView-Bpi1QEHU.js} +10 -10
  11. package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-BT2RJUp_.js → DataStoreActions.vue_vue_type_script_setup_true_lang-BCsNv_gY.js} +1 -1
  12. package/dist/assets/{DataStoreDetailsView-C8fMxukz.css → DataStoreDetailsView-Bc-J9ZrW.css} +224 -46
  13. package/dist/assets/{DataStoreDetailsView-ZUgl9wpt.js → DataStoreDetailsView-BwvQ5I7d.js} +8117 -339
  14. package/dist/assets/{DataStoreView-DIjlPDVT.js → DataStoreView-Bctk8RYi.js} +35 -16
  15. package/dist/assets/{DataStoreView-D0R0E_jH.css → DataStoreView-BqQv7QeU.css} +10 -9
  16. package/dist/assets/{DemoFooter-i3qClUse.js → DemoFooter-CxWGBc_7.js} +6 -6
  17. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-buqBjmsh.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DqQrOg_2.js} +1 -1
  18. package/dist/assets/{EntityNotFound-rPIG38L8.js → EntityNotFound-D7CGrbgk.js} +1 -1
  19. package/dist/assets/{EntityUnAuthorised-DeeHPFnT.js → EntityUnAuthorised-BO9xlb2N.js} +1 -1
  20. package/dist/assets/{ErrorView-BJ83qeOt.js → ErrorView-C1PhniXH.js} +1 -1
  21. package/dist/assets/{EvaluationsRootView-C3X9SY6D.js → EvaluationsRootView-C0QRKk3k.js} +1 -1
  22. package/dist/assets/{EvaluationsView-ByR3omEP.js → EvaluationsView-CYpgbXKx.js} +3 -3
  23. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-o8DbTizg.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-Dh8inRTk.js} +2 -2
  24. package/dist/assets/{ExecutionsView-GKNLT5Ec.css → ExecutionsView-B5yiPX6U.css} +1 -1
  25. package/dist/assets/{ExecutionsView-DlkNVCJI.js → ExecutionsView-BCb0Zr7W.js} +26 -20
  26. package/dist/assets/{FixedCollectionParameter-uCgQAYlA.js → FixedCollectionParameter-D4km_FeH.js} +1 -1
  27. package/dist/assets/{ForgotMyPasswordView-DOGaU7ca.js → ForgotMyPasswordView-CdhGWxw4.js} +3 -3
  28. package/dist/assets/{InfoAccordion-CwV71Cpu.js → InfoAccordion-DE2_sS98.js} +1 -1
  29. package/dist/assets/{InsightsChartAverageRuntime-DaZIp4A2.js → InsightsChartAverageRuntime-D5ZE_Nla.js} +4 -4
  30. package/dist/assets/{InsightsChartFailed-C-hZnLlH.js → InsightsChartFailed-BdeF-nyF.js} +4 -4
  31. package/dist/assets/{InsightsChartFailureRate-HaWtuP1e.js → InsightsChartFailureRate-C_YnwTyc.js} +4 -4
  32. package/dist/assets/{InsightsChartTimeSaved-BO34G7g3.js → InsightsChartTimeSaved-cTOv1Iga.js} +4 -4
  33. package/dist/assets/{InsightsChartTotal-C1jwuj7z.js → InsightsChartTotal-BKK9PNU1.js} +4 -4
  34. package/dist/assets/{InsightsDashboard-C27Avzrv.css → InsightsDashboard-Bo0U18-6.css} +18 -12
  35. package/dist/assets/{InsightsDashboard-e-QAUiP9.js → InsightsDashboard-COAZWSu2.js} +68 -35
  36. package/dist/assets/{InsightsPaywall-CFkiRATa.js → InsightsPaywall-BWpRemTn.js} +1 -1
  37. package/dist/assets/{InsightsSummary-CXJTf1Kh.js → InsightsSummary-jcJA88u3.js} +1 -1
  38. package/dist/assets/{InsightsTableWorkflows-C5Uw-HwU.js → InsightsTableWorkflows-Bh_NN7kQ.js} +4 -4
  39. package/dist/assets/{Logo-RKQLvl_m.js → Logo-DZ3J8N5N.js} +1 -1
  40. package/dist/assets/{LogsPanel-Dnye7u5y.js → LogsPanel-DSS_hDBL.js} +34 -26
  41. package/dist/assets/{MainHeader-BAeiRTqV.js → MainHeader-DfMxpY4d.js} +11 -11
  42. package/dist/assets/{MainSidebar-D9ZN6KIV.js → MainSidebar-C7fZf9ti.js} +27 -10
  43. package/dist/assets/{NodeCreation-Bjf-Unru.js → NodeCreation-DndFLn5s.js} +3 -3
  44. package/dist/assets/{NodeCreator-yRvsDJO7.js → NodeCreator-DG0hCOby.js} +1 -1
  45. package/dist/assets/{NodeDetailsView-6dwov5MI.js → NodeDetailsView-G0hcQtkE.js} +13 -13
  46. package/dist/assets/{NodeDetailsViewV2-CuRmAyj-.js → NodeDetailsViewV2-BGHhaOjo.js} +13 -13
  47. package/dist/assets/{NodeView-DPSSSOB1.js → NodeView-D_Lf20Cj.js} +19 -12
  48. package/dist/assets/{PageViewLayout-97zbJOlW.js → PageViewLayout-cxvwso_r.js} +1 -1
  49. package/dist/assets/{PrebuiltAgentTemplatesView-CdberOem.js → PrebuiltAgentTemplatesView--njlASMr.js} +2 -2
  50. package/dist/assets/{ProjectBreadcrumb-DXhrjWOi.js → ProjectBreadcrumb-KIWhTojS.js} +1 -1
  51. package/dist/assets/{ProjectHeader-DWxegcLG.js → ProjectHeader-PFXNU0--.js} +3 -3
  52. package/dist/assets/{ProjectSettings-CCVXNK3G.css → ProjectSettings-B5z1mrGW.css} +155 -9
  53. package/dist/assets/{ProjectSettings-BUXyUrF8.js → ProjectSettings-C1kZ9wA5.js} +490 -121
  54. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-mH_vfhJf.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-Bzf7nqUd.js} +1 -1
  55. package/dist/assets/{ResourcesListLayout-BFJgkaGC.js → ResourcesListLayout-DQODsJpR.js} +4 -4
  56. package/dist/assets/{RunDataJson-DrGPAnUe.js → RunDataJson-BcUo9gnI.js} +3 -3
  57. package/dist/assets/{RunDataJsonActions-C9t_AqA2.js → RunDataJsonActions-BCQ7lOd5.js} +1 -1
  58. package/dist/assets/{RunDataParsedAiContent-HrLA7DKq.js → RunDataParsedAiContent-BnKhGr-k.js} +2 -2
  59. package/dist/assets/{RunDataSearch-Bksytn1f.js → RunDataSearch-CiRa4kQq.js} +1 -1
  60. package/dist/assets/{RunDataTable-BZxhwE6R.js → RunDataTable-Cb01UpR9.js} +1 -1
  61. package/dist/assets/{SamlOnboarding-D8sBVnhq.js → SamlOnboarding-BqIwhbZw.js} +3 -3
  62. package/dist/assets/{SelectedItemsInfo-DUoXTJ3R.js → SelectedItemsInfo-DuFbVGZm.js} +1 -1
  63. package/dist/assets/{SettingsApiView-DB9Y3FwH.js → SettingsApiView-D2j7Vbwi.js} +1 -1
  64. package/dist/assets/{SettingsCommunityNodesView-DFqIBnS6.js → SettingsCommunityNodesView-oZIjk1s_.js} +6 -6
  65. package/dist/assets/{SettingsExternalSecrets-CM1C92Fq.js → SettingsExternalSecrets-Cea9JY7A.js} +1 -1
  66. package/dist/assets/{SettingsLdapView-CkFHMwba.js → SettingsLdapView-Cg2gnd72.js} +1 -1
  67. package/dist/assets/{SettingsLogStreamingView-DBeq0Me1.js → SettingsLogStreamingView-BScR5ZFJ.js} +1 -1
  68. package/dist/assets/{SettingsPersonalView-Cvq_P5Wv.js → SettingsPersonalView-BfEdqrEE.js} +15 -2
  69. package/dist/assets/{SettingsSourceControl-Yuz7SyUp.js → SettingsSourceControl-CQiyVvB3.js} +1 -1
  70. package/dist/assets/{SettingsSso-GhM2_eCj.js → SettingsSso-CAAxAbK6.js} +1 -1
  71. package/dist/assets/{SettingsUsageAndPlan-_VxSs28G.css → SettingsUsageAndPlan-CfFJy6fo.css} +3 -3
  72. package/dist/assets/{SettingsUsageAndPlan-FP4mPRKx.js → SettingsUsageAndPlan-DTV0d49_.js} +3 -7
  73. package/dist/assets/{SettingsUsersView-BRHWdgWG.js → SettingsUsersView-Ceq9-_wv.js} +10 -24
  74. package/dist/assets/{SettingsView-KUwVwJt9.js → SettingsView-sqSuzp6q.js} +1 -1
  75. package/dist/assets/{SetupView-Ca9C2Nvk.js → SetupView-DNxfN7wc.js} +3 -3
  76. package/dist/assets/{SetupWorkflowCredentialsButton-J1WTWaQx.js → SetupWorkflowCredentialsButton-DUCOv6F6.js} +1 -1
  77. package/dist/assets/{SetupWorkflowFromTemplateView-CfWyw8c8.js → SetupWorkflowFromTemplateView-DU4khxPx.js} +3 -3
  78. package/dist/assets/{SigninView-Cu2lZBKz.js → SigninView-BnzCVklk.js} +3 -3
  79. package/dist/assets/{SignoutView-C2YvZoQb.js → SignoutView-CQx1YcpJ.js} +1 -1
  80. package/dist/assets/{SignupView-Lrbc3why.js → SignupView-CVowy7ND.js} +3 -3
  81. package/dist/assets/{TableBase-DhT52fm3.js → TableBase-ChC-0JXo.js} +1 -1
  82. package/dist/assets/{Tags-Dh9-QjW-.js → Tags-BElvlb53.js} +1 -1
  83. package/dist/assets/{TemplateDetails-BBEp0t8b.js → TemplateDetails-DFAU0IXa.js} +2 -2
  84. package/dist/assets/{TemplateList-BYr9iQZL.js → TemplateList-BqOvn2Up.js} +1 -1
  85. package/dist/assets/{TemplatesCollectionView-BUw9g27E.js → TemplatesCollectionView-DUe-c9UK.js} +6 -6
  86. package/dist/assets/{TemplatesSearchView-SiS3ksNm.js → TemplatesSearchView-DqlXEFp4.js} +3 -3
  87. package/dist/assets/{TemplatesView-10xcznRj.js → TemplatesView-e-KwnRmC.js} +1 -1
  88. package/dist/assets/{TemplatesWorkflowView-tq0W6WEh.js → TemplatesWorkflowView-DGdEHxRG.js} +6 -6
  89. package/dist/assets/{TriggerPanel-CW_PeVJO.js → TriggerPanel-BC7r1f-p.js} +5 -5
  90. package/dist/assets/{VariablesView-Vmdp6T58.js → VariablesView-q3KOFXbh.js} +6 -6
  91. package/dist/assets/{WorkerView-BcPniSOt.js → WorkerView-p9Gb5B1L.js} +8 -8
  92. package/dist/assets/{WorkflowActivator-CLeDiSPp.js → WorkflowActivator-3wlzZHDO.js} +3 -3
  93. package/dist/assets/{WorkflowExecutionsInfoAccordion-E5hUH7WK.js → WorkflowExecutionsInfoAccordion-MSQf1wi3.js} +2 -2
  94. package/dist/assets/{WorkflowExecutionsLandingPage-D-4rvyRr.js → WorkflowExecutionsLandingPage-C70_LGAv.js} +3 -3
  95. package/dist/assets/{WorkflowExecutionsPreview-DK0nJMV_.js → WorkflowExecutionsPreview-D_xisYpD.js} +4 -4
  96. package/dist/assets/{WorkflowExecutionsView-C_xuUSa8.css → WorkflowExecutionsView-DqWqyiNg.css} +2 -2
  97. package/dist/assets/{WorkflowExecutionsView-Ibsxu7bz.js → WorkflowExecutionsView-ezc5vRrS.js} +12 -14
  98. package/dist/assets/{WorkflowHistory-BIPui_Br.js → WorkflowHistory-DeSZ98ik.js} +2 -2
  99. package/dist/assets/{WorkflowOnboardingView-jTPlyEfR.js → WorkflowOnboardingView-XDAzh9C1.js} +1 -1
  100. package/dist/assets/{WorkflowPreview-g8CbZoIy.js → WorkflowPreview-R4owDoRV.js} +6 -3
  101. package/dist/assets/{WorkflowsView-Cn3Etruo.js → WorkflowsView-BJ_oKX3h.js} +14 -14
  102. package/dist/assets/{canvas-CkZBMaKR.js → canvas-tCm4ovGg.js} +1 -1
  103. package/dist/assets/{chartjs.utils-GS6DsK5s.js → chartjs.utils-B2U_02-S.js} +2 -2
  104. package/dist/assets/{core-CTe2_eax.js → core-BDQ6uBcD.js} +1 -1
  105. package/dist/assets/{global-link-actions-Dcb1OcMS.js → global-link-actions-Cz-zl4uP.js} +1 -1
  106. package/dist/assets/{index-DtLsVys_.js → index-BDDH_NIA.js} +7453 -3361
  107. package/dist/assets/{index-r4GrUpI_.js → index-CCyQeXiT.js} +1 -1
  108. package/dist/assets/{index-B7wrqKiF.css → index-CpPc1kM8.css} +331 -206
  109. package/dist/assets/{pickBy-B2lxaPsr.js → pickBy-B2RJpRoj.js} +1 -1
  110. package/dist/assets/{readyToRunWorkflows.store-Bn3mG-cb.js → readyToRunWorkflows.store-lmsJGEVO.js} +1 -1
  111. package/dist/assets/{readyToRunWorkflowsV2.store-DTrmjlFA.js → readyToRunWorkflowsV2.store-Bl7jk-i9.js} +2 -2
  112. package/dist/assets/{templateActions-BYekQBby.js → templateActions-Bvze3qDu.js} +1 -1
  113. package/dist/assets/{useBeforeUnload-BIxEztP4.js → useBeforeUnload-C1FPWSkO.js} +1 -1
  114. package/dist/assets/{useExecutionDebugging-CCzUJcn6.js → useExecutionDebugging-Dgg7jmNh.js} +1 -1
  115. package/dist/assets/{useImportCurlCommand-BQ_cHSbc.js → useImportCurlCommand-sjcpA0Ub.js} +1 -1
  116. package/dist/assets/{useProjectPages-hhUkwXvb.js → useProjectPages-B5KBSvIU.js} +1 -1
  117. package/dist/assets/{usePushConnection-B7NEb0JN.js → usePushConnection-BEiaZIUU.js} +12 -7
  118. package/dist/assets/{useWorkflowActivate-ldjlNMSr.js → useWorkflowActivate-DykqGtLA.js} +1 -1
  119. package/dist/index.html +2 -2
  120. package/package.json +1 -1
  121. package/scripts/fetch-node-popularity.mjs +90 -0
  122. package/turbo.json +19 -0
  123. package/vite/vite-plugin-node-popularity.mts +32 -0
  124. package/vite.config.mts +2 -0
  125. package/dist/assets/CollectionParameter-z77BHeNF.js +0 -4
@@ -1,4 +1,4 @@
1
- import { fM as require_arrayMap, fN as require_baseIteratee, fO as require_basePickBy, fP as require_getAllKeysIn, bT as getDefaultExportFromCjs } from "./index-DtLsVys_.js";
1
+ import { fO as require_arrayMap, fP as require_baseIteratee, fQ as require_basePickBy, fR as require_getAllKeysIn, bT as getDefaultExportFromCjs } from "./index-BDDH_NIA.js";
2
2
  var pickBy_1;
3
3
  var hasRequiredPickBy;
4
4
  function requirePickBy() {
@@ -1,4 +1,4 @@
1
- import { a0 as defineStore, aw as useFoldersStore, a2 as useWorkflowsStore, di as usePostHog, v as useSettingsStore, a$ as useLocalStorage, x as computed, fs as TEMPLATE_ONBOARDING_EXPERIMENT, c as useI18n, am as useTelemetry, a5 as STORES, bc as useCloudPlanStore, ft as BATCH_11AUG_EXPERIMENT } from "./index-DtLsVys_.js";
1
+ import { a0 as defineStore, aw as useFoldersStore, a2 as useWorkflowsStore, di as usePostHog, v as useSettingsStore, a$ as useLocalStorage, x as computed, fu as TEMPLATE_ONBOARDING_EXPERIMENT, c as useI18n, am as useTelemetry, a5 as STORES, bc as useCloudPlanStore, fv as BATCH_11AUG_EXPERIMENT } from "./index-BDDH_NIA.js";
2
2
  const AGENT_WITH_MEMORY = {
3
3
  meta: {
4
4
  templateId: "035_template_onboarding-agent_with_memory"
@@ -1,5 +1,5 @@
1
- import { aw as useFoldersStore, a3 as useRoute, a0 as defineStore, a as useToast, b as useRouter, de as useCredentialsStore, u as useUsersStore, v as useSettingsStore, di as usePostHog, bc as useCloudPlanStore, a2 as useWorkflowsStore, x as computed, fu as READY_TO_RUN_V2_EXPERIMENT, a$ as useLocalStorage, r as ref, fq as OPEN_AI_API_CREDENTIAL_TYPE, am as useTelemetry, c as useI18n, dT as deepCopy, V as VIEWS, a5 as STORES } from "./index-DtLsVys_.js";
2
- import { u as useProjectPages } from "./useProjectPages-hhUkwXvb.js";
1
+ import { aw as useFoldersStore, a3 as useRoute, a0 as defineStore, a as useToast, b as useRouter, de as useCredentialsStore, u as useUsersStore, v as useSettingsStore, di as usePostHog, bc as useCloudPlanStore, a2 as useWorkflowsStore, x as computed, fw as READY_TO_RUN_V2_EXPERIMENT, a$ as useLocalStorage, r as ref, fs as OPEN_AI_API_CREDENTIAL_TYPE, am as useTelemetry, c as useI18n, dT as deepCopy, V as VIEWS, a5 as STORES } from "./index-BDDH_NIA.js";
2
+ import { u as useProjectPages } from "./useProjectPages-B5KBSvIU.js";
3
3
  const READY_TO_RUN_WORKFLOW_V1 = {
4
4
  name: "AI Agent workflow",
5
5
  meta: { templateId: "ready-to-run-ai-workflow-v1" },
@@ -1,4 +1,4 @@
1
- import { eC as assert, eT as doesNodeHaveCredentialsToFill, V as VIEWS, dB as tryToParseNumber, eU as getNewWorkflow, eV as replaceAllTemplateNodeCredentials, dG as getNodesWithNormalizedPosition } from "./index-DtLsVys_.js";
1
+ import { eE as assert, eV as doesNodeHaveCredentialsToFill, V as VIEWS, dB as tryToParseNumber, eW as getNewWorkflow, eX as replaceAllTemplateNodeCredentials, dG as getNodesWithNormalizedPosition } from "./index-BDDH_NIA.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 { Q as useUIStore, cq as useCanvasStore, r as ref, x as computed, V as VIEWS, c as useI18n } from "./index-DtLsVys_.js";
1
+ import { Q as useUIStore, cq as useCanvasStore, r as ref, x as computed, V as VIEWS, c as useI18n } from "./index-BDDH_NIA.js";
2
2
  function useBeforeUnload({ route }) {
3
3
  const uiStore = useUIStore();
4
4
  const canvasStore = useCanvasStore();
@@ -1,4 +1,4 @@
1
- import { b as useRouter, a as useToast, a2 as useWorkflowsStore, v as useSettingsStore, Q as useUIStore, aB as usePageRedirectionHelper, x as computed, aF as EnterpriseEditionFeature, c as useI18n, dV as DEBUG_PAYWALL_MODAL_KEY, aX as h, dW as sanitizeHtml, an as useMessage, ao as MODAL_CONFIRM, V as VIEWS, am as useTelemetry, au as useRootStore, dX as isFullExecutionResponse } from "./index-DtLsVys_.js";
1
+ import { b as useRouter, a as useToast, a2 as useWorkflowsStore, v as useSettingsStore, Q as useUIStore, aB as usePageRedirectionHelper, x as computed, aF as EnterpriseEditionFeature, c as useI18n, dV as DEBUG_PAYWALL_MODAL_KEY, aX as h, dW as sanitizeHtml, an as useMessage, ao as MODAL_CONFIRM, V as VIEWS, am as useTelemetry, au as useRootStore, dX as isFullExecutionResponse } from "./index-BDDH_NIA.js";
2
2
  const useExecutionDebugging = () => {
3
3
  const telemetry = useTelemetry();
4
4
  const router = useRouter();
@@ -1,4 +1,4 @@
1
- import { hb as process$1, hc as requirePathBrowserify, hd as require$$0, bT as getDefaultExportFromCjs, he as Buffer, a as useToast, l as unref, eC as assert, hf as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, hg as importCurlEventBus, hh as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, bF as get } from "./index-DtLsVys_.js";
1
+ import { hf as process$1, hg as requirePathBrowserify, hh as require$$0, bT as getDefaultExportFromCjs, hi as Buffer, a as useToast, l as unref, eE as assert, hj as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, hk as importCurlEventBus, hl as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, bF as get } from "./index-BDDH_NIA.js";
2
2
  import { c as commonjsRequire } from "./_commonjs-dynamic-modules-TGKdzP3c.js";
3
3
  class CCError extends Error {
4
4
  }
@@ -1,4 +1,4 @@
1
- import { a3 as useRoute, x as computed, V as VIEWS, db as reactive } from "./index-DtLsVys_.js";
1
+ import { a3 as useRoute, x as computed, V as VIEWS, db as reactive } from "./index-BDDH_NIA.js";
2
2
  const useProjectPages = () => {
3
3
  const route = useRoute();
4
4
  const isProjectsSubPage = computed(() => route.params?.projectId !== void 0);
@@ -1,7 +1,7 @@
1
- import { fa as makeRestApiRequest, a2 as useWorkflowsStore, Q as useUIStore, fb as clearPopupWindowState, am as useTelemetry, fc as isPrebuiltAgentTemplateId, fd as isTutorialTemplateId, co as parse, v as useSettingsStore, az as useWorkflowSaving, aA as useWorkflowHelpers, al as WORKFLOW_SETTINGS_MODAL_KEY, a as useToast, fe as generateNodesGraph, c as useI18n, ff as getExecutionErrorToastConfiguration, ae as useNodeTypesStore, fg as getTriggerNodeServiceName, bM as useNodeHelpers, bq as useExternalHooks, fh as codeNodeEditorEventBus, fi as SampleTemplates, dr as EVALUATION_TRIGGER_NODE_TYPE, bN as useRunWorkflow, fj as getExecutionErrorMessage, de as useCredentialsStore, fk as useAssistantStore, fl as TRIMMED_TASK_DATA_CONNECTIONS_KEY, fm as useSchemaPreviewStore, fn as isCommunityPackageName, a0 as defineStore, au as useRootStore, a1 as usePushConnectionStore, r as ref } from "./index-DtLsVys_.js";
2
- import { g as globalLinkActionsEventBus } from "./global-link-actions-Dcb1OcMS.js";
3
- import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-Bn3mG-cb.js";
4
- import { u as useReadyToRunWorkflowsV2Store } from "./readyToRunWorkflowsV2.store-DTrmjlFA.js";
1
+ import { fc as makeRestApiRequest, a2 as useWorkflowsStore, Q as useUIStore, fd as clearPopupWindowState, am as useTelemetry, fe as isPrebuiltAgentTemplateId, ff as isTutorialTemplateId, co as parse, v as useSettingsStore, az as useWorkflowSaving, aA as useWorkflowHelpers, al as WORKFLOW_SETTINGS_MODAL_KEY, a as useToast, fg as generateNodesGraph, c as useI18n, fh as getExecutionErrorToastConfiguration, ae as useNodeTypesStore, fi as getTriggerNodeServiceName, bM as useNodeHelpers, bq as useExternalHooks, fj as codeNodeEditorEventBus, fk as SampleTemplates, dr as EVALUATION_TRIGGER_NODE_TYPE, bN as useRunWorkflow, fl as getExecutionErrorMessage, de as useCredentialsStore, fm as useAssistantStore, dE as isValidNodeConnectionType, fn as TRIMMED_TASK_DATA_CONNECTIONS_KEY, fo as useSchemaPreviewStore, fp as isCommunityPackageName, a0 as defineStore, au as useRootStore, a1 as usePushConnectionStore, r as ref } from "./index-BDDH_NIA.js";
2
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-Cz-zl4uP.js";
3
+ import { u as useAITemplatesStarterCollectionStore, a as useReadyToRunWorkflowsStore } from "./readyToRunWorkflows.store-lmsJGEVO.js";
4
+ import { u as useReadyToRunWorkflowsV2Store } from "./readyToRunWorkflowsV2.store-Bl7jk-i9.js";
5
5
  var GET_STATUS_ENDPOINT = "/orchestration/worker/status";
6
6
  var sendGetWorkerStatus = async (context) => {
7
7
  await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
@@ -353,10 +353,15 @@ async function nodeExecuteAfter({ data: pushData }) {
353
353
  const placeholderOutputData = {
354
354
  main: []
355
355
  };
356
- if (typeof pushData.itemCount === "number") {
356
+ if (pushData.itemCountByConnectionType && typeof pushData.itemCountByConnectionType === "object") {
357
357
  const fillObject = { json: { [TRIMMED_TASK_DATA_CONNECTIONS_KEY]: true } };
358
- const fillArray = new Array(pushData.itemCount).fill(fillObject);
359
- placeholderOutputData.main = [fillArray];
358
+ for (const [connectionType, outputs] of Object.entries(pushData.itemCountByConnectionType)) {
359
+ if (isValidNodeConnectionType(connectionType)) {
360
+ placeholderOutputData[connectionType] = outputs.map(
361
+ (count) => Array.from({ length: count }, () => fillObject)
362
+ );
363
+ }
364
+ }
360
365
  }
361
366
  const pushDataWithPlaceholderOutputData = {
362
367
  ...pushData,
@@ -1,4 +1,4 @@
1
- import { r as ref, b as useRouter, aA as useWorkflowHelpers, az as useWorkflowSaving, a2 as useWorkflowsStore, Q as useUIStore, a as useToast, ax as useNpsSurveyStore, a4 as PLACEHOLDER_EMPTY_WORKFLOW_ID, am as useTelemetry, bq as useExternalHooks, c as useI18n, bd as useStorage, fx as LOCAL_STORAGE_ACTIVATION_FLAG, ah as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-DtLsVys_.js";
1
+ import { r as ref, b as useRouter, aA as useWorkflowHelpers, az as useWorkflowSaving, a2 as useWorkflowsStore, Q as useUIStore, a as useToast, ax as useNpsSurveyStore, a4 as PLACEHOLDER_EMPTY_WORKFLOW_ID, am as useTelemetry, bq as useExternalHooks, c as useI18n, bd as useStorage, fz as LOCAL_STORAGE_ACTIVATION_FLAG, ah as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-BDDH_NIA.js";
2
2
  function useWorkflowActivate() {
3
3
  const updatingWorkflowActivation = ref(false);
4
4
  const router = useRouter();
package/dist/index.html CHANGED
@@ -13,8 +13,8 @@
13
13
  <script src="/{{BASE_PATH}}/static/posthog.init.js" type="text/javascript"></script>
14
14
 
15
15
  <title>n8n.io - Workflow Automation</title>
16
- <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-DtLsVys_.js"></script>
17
- <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-B7wrqKiF.css">
16
+ <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-BDDH_NIA.js"></script>
17
+ <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-CpPc1kM8.css">
18
18
  </head>
19
19
  <body>
20
20
  <noscript>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-editor-ui",
3
- "version": "1.112.2",
3
+ "version": "1.113.1",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env node
2
+ import { promises as fs } from 'fs';
3
+ import path from 'path';
4
+ import { fileURLToPath } from 'url';
5
+
6
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
+ const POPULARITY_ENDPOINT =
8
+ process.env.NODE_POPULARITY_ENDPOINT ||
9
+ 'https://internal.users.n8n.cloud/webhook/nodes-popularity-scores';
10
+ const BUILD_DIR = path.join(__dirname, '..', '.build');
11
+ const OUTPUT_FILE = path.join(BUILD_DIR, 'node-popularity.json');
12
+
13
+ async function ensureBuildDir() {
14
+ try {
15
+ await fs.mkdir(BUILD_DIR, { recursive: true });
16
+ } catch (error) {
17
+ // Directory might already exist, that's fine
18
+ }
19
+ }
20
+
21
+ async function fetchPopularityData() {
22
+ try {
23
+ console.log('Fetching node popularity data from:', POPULARITY_ENDPOINT);
24
+ const response = await fetch(POPULARITY_ENDPOINT, {
25
+ signal: AbortSignal.timeout(5000),
26
+ });
27
+
28
+ if (!response.ok) {
29
+ throw new Error(`HTTP error! status: ${response.status}`);
30
+ }
31
+
32
+ const data = await response.json();
33
+ console.log(`Successfully fetched popularity data for ${data.length} nodes`);
34
+ return data;
35
+ } catch (error) {
36
+ console.warn('Failed to fetch node popularity data:', error.message);
37
+ return null;
38
+ }
39
+ }
40
+
41
+ async function getExistingData() {
42
+ try {
43
+ const content = await fs.readFile(OUTPUT_FILE, 'utf-8');
44
+ return JSON.parse(content);
45
+ } catch (error) {
46
+ // File doesn't exist or is invalid
47
+ return null;
48
+ }
49
+ }
50
+
51
+ async function savePopularityData(data) {
52
+ await ensureBuildDir();
53
+ await fs.writeFile(OUTPUT_FILE, JSON.stringify(data, null, 2));
54
+ console.log(`Saved popularity data to ${OUTPUT_FILE} with ${data.length} nodes`);
55
+ }
56
+
57
+ async function fallbackToExistingData() {
58
+ const existingData = await getExistingData();
59
+
60
+ if (existingData) {
61
+ console.log('Using existing cached data - no changes made');
62
+ // Don't regenerate the file, keep the existing one
63
+ } else {
64
+ console.error('No data available - neither from API nor cache');
65
+ console.error('Creating empty placeholder file to avoid build failure');
66
+ await savePopularityData([]);
67
+ }
68
+ }
69
+
70
+ async function main() {
71
+ try {
72
+ // Try to fetch fresh data
73
+ const freshData = await fetchPopularityData();
74
+
75
+ if (freshData && Array.isArray(freshData) && freshData.length > 0) {
76
+ // Save the fresh data
77
+ await savePopularityData(freshData);
78
+ } else {
79
+ // Fetching failed, check if we have existing data
80
+ console.log('API unavailable, checking for existing cached data');
81
+ await fallbackToExistingData();
82
+ }
83
+ } catch (error) {
84
+ console.error('Error in fetch-node-popularity script:', error);
85
+
86
+ await fallbackToExistingData();
87
+ }
88
+ }
89
+
90
+ main();
package/turbo.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "extends": ["//"],
3
+ "tasks": {
4
+ "popularity-cache-marker": {
5
+ "cache": false,
6
+ "outputs": [".build/cache-marker"]
7
+ },
8
+ "fetch-popularity": {
9
+ "dependsOn": ["popularity-cache-marker"],
10
+ "cache": true,
11
+ "outputs": [".build/node-popularity.json"],
12
+ "inputs": ["scripts/fetch-node-popularity.mjs", ".build/cache-marker"]
13
+ },
14
+ "build": {
15
+ "dependsOn": ["^build", "fetch-popularity"],
16
+ "outputs": ["dist/**"]
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,32 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ import type { Plugin } from 'vite';
4
+
5
+ const VIRTUAL_MODULE_ID = 'virtual:node-popularity-data';
6
+ const RESOLVED_VIRTUAL_MODULE_ID = '\0' + VIRTUAL_MODULE_ID;
7
+
8
+ export function nodePopularityPlugin(): Plugin {
9
+ return {
10
+ name: 'node-popularity-plugin',
11
+ resolveId(id) {
12
+ if (id === VIRTUAL_MODULE_ID) {
13
+ return RESOLVED_VIRTUAL_MODULE_ID;
14
+ }
15
+ },
16
+ async load(id) {
17
+ if (id === RESOLVED_VIRTUAL_MODULE_ID) {
18
+ // Try to load the data from the build directory
19
+ const buildDataPath = path.join(process.cwd(), '.build', 'node-popularity.json');
20
+
21
+ try {
22
+ const data = await fs.readFile(buildDataPath, 'utf-8');
23
+ return `export default ${data}`;
24
+ } catch (error) {
25
+ // If file doesn't exist, return empty array
26
+ console.warn('Node popularity data not found at', buildDataPath, '- using empty array');
27
+ return 'export default []';
28
+ }
29
+ }
30
+ },
31
+ };
32
+ }
package/vite.config.mts CHANGED
@@ -13,6 +13,7 @@ import browserslistToEsbuild from 'browserslist-to-esbuild';
13
13
  import legacy from '@vitejs/plugin-legacy';
14
14
  import browserslist from 'browserslist';
15
15
  import { isLocaleFile, sendLocaleUpdate } from './vite/i18n-locales-hmr-helpers';
16
+ import { nodePopularityPlugin } from './vite/vite-plugin-node-popularity.mjs';
16
17
 
17
18
  const publicPath = process.env.VUE_APP_PUBLIC_PATH || '/';
18
19
 
@@ -75,6 +76,7 @@ const alias = [
75
76
  ];
76
77
 
77
78
  const plugins: UserConfig['plugins'] = [
79
+ nodePopularityPlugin(),
78
80
  icons({
79
81
  compiler: 'vue3',
80
82
  autoInstall: true,
@@ -1,4 +0,0 @@
1
- import { gG as _sfc_main } from "./index-DtLsVys_.js";
2
- export {
3
- _sfc_main as default
4
- };