n8n-editor-ui 1.72.1 → 1.74.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 (208) hide show
  1. package/LICENSE.md +5 -3
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-WpdLQ_Lc.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-PY1VH6GC.js} +1 -1
  3. package/dist/assets/AuthView-D4i2WDPk.css +408 -0
  4. package/dist/assets/{AuthView-xWm2P-0B.js → AuthView-uie-fWiu.js} +15 -41
  5. package/dist/assets/{CanvasChat-CpplEK_c.js → CanvasChat-DYVmFXF3.js} +30 -29
  6. package/dist/assets/CanvasChat-oFfeuF_m.css +2735 -0
  7. package/dist/assets/CanvasControls-DTjEPKS0.css +148 -0
  8. package/dist/assets/{CanvasControls-CNOZvEmR.js → CanvasControls-spvLWv9N.js} +4 -4
  9. package/dist/assets/{ChangePasswordView-Bx4HKBs9.js → ChangePasswordView-6vZq8sxX.js} +3 -2
  10. package/dist/assets/CollectionParameter-3PhAn_bn.js +4 -0
  11. package/dist/assets/{ConcurrentExecutionsHeader-dMskl4He.js → ConcurrentExecutionsHeader-B-QZJnPK.js} +11 -11
  12. package/dist/assets/ConcurrentExecutionsHeader-DETjSHgm.css +438 -0
  13. package/dist/assets/CredentialsView-DRWQyccW.css +294 -0
  14. package/dist/assets/{CredentialsView-DYmrbOcr.js → CredentialsView-DSO7I1Pu.js} +42 -15
  15. package/dist/assets/{ErrorView-DpKWfKAY.js → ErrorView-CqEmaujf.js} +4 -4
  16. package/dist/assets/ErrorView-DPS9icAS.css +144 -0
  17. package/dist/assets/{ExecutionsView-a2Slm2v9.js → ExecutionsView-BrFhmrtj.js} +35 -36
  18. package/dist/assets/ExecutionsView-C0P3HAAt.css +710 -0
  19. package/dist/assets/{FileSaver.min-BiLlhrlQ.js → FileSaver.min-D-tyM0om.js} +1 -1
  20. package/dist/assets/FixedCollectionParameter-DvdC-9QQ.css +192 -0
  21. package/dist/assets/{FixedCollectionParameter-DMiADFki.js → FixedCollectionParameter-piT_JOzg.js} +83 -95
  22. package/dist/assets/{ForgotMyPasswordView-RLODqWeW.js → ForgotMyPasswordView-BxkGrEro.js} +3 -2
  23. package/dist/assets/Logo-1eGohTKw.css +160 -0
  24. package/dist/assets/Logo-CSftxDSz.js +122 -0
  25. package/dist/assets/MainHeader-BIKp2Ncp.css +1449 -0
  26. package/dist/assets/{MainHeader-CZBWRbIF.js → MainHeader-BZymfqIP.js} +47 -27
  27. package/dist/assets/{MainSidebar-Cm-l0HUG.js → MainSidebar-CgMZ_6w4.js} +368 -62
  28. package/dist/assets/MainSidebar-Djaxwdmm.css +985 -0
  29. package/dist/assets/{NodeCreation-Bycww9rf.js → NodeCreation-CgxDWNxA.js} +12 -17
  30. package/dist/assets/NodeCreation-RKvezEeg.css +152 -0
  31. package/dist/assets/NodeCreator-DDiuO5S0.css +2493 -0
  32. package/dist/assets/{NodeCreator-BrgHuvb2.js → NodeCreator-Dht_F_jm.js} +111 -101
  33. package/dist/assets/NodeViewSwitcher-Cqiwo_8T.js +14837 -0
  34. package/dist/assets/NodeViewSwitcher-UPCWvuIo.css +6801 -0
  35. package/dist/assets/{ProjectCardBadge-B6a5Tl_X.js → ProjectCardBadge-13ZU1N6I.js} +9 -6
  36. package/dist/assets/ProjectCardBadge-CKGc0yDi.css +145 -0
  37. package/dist/assets/ProjectHeader-CQjB5wC7.css +285 -0
  38. package/dist/assets/ProjectHeader-DmZJgNYg.js +297 -0
  39. package/dist/assets/ProjectSettings-BgunHp-2.css +286 -0
  40. package/dist/assets/{ProjectSettings-BSOa51jE.js → ProjectSettings-C-9PYDi4.js} +87 -48
  41. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-ouQuoTYp.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CDsd9G3A.js} +1 -1
  42. package/dist/assets/ResourcesListLayout-Dw1dU1aW.css +748 -0
  43. package/dist/assets/{ResourcesListLayout-BKk7DIWo.js → ResourcesListLayout-YaG3OmF5.js} +25 -21
  44. package/dist/assets/RunDataJson-BXTLuo7i.css +323 -0
  45. package/dist/assets/{RunDataJson-D7Whxi5x.js → RunDataJson-m0Pt_pnN.js} +19 -16
  46. package/dist/assets/RunDataJsonActions-DrgwFS0W.css +133 -0
  47. package/dist/assets/{RunDataJsonActions-hLh8-Su6.js → RunDataJsonActions-wvqwMtDM.js} +3 -4
  48. package/dist/assets/{RunDataSearch-Ds3EGLA6.js → RunDataSearch-Ph1eOlmY.js} +4 -4
  49. package/dist/assets/RunDataSearch-R6qtl0Jf.css +150 -0
  50. package/dist/assets/{RunDataTable-atOC6vYW.js → RunDataTable-B6Rwc79a.js} +28 -28
  51. package/dist/assets/RunDataTable-CX7gToH4.css +272 -0
  52. package/dist/assets/{SamlOnboarding-DuDPZUey.js → SamlOnboarding-Dxoo-GfH.js} +3 -2
  53. package/dist/assets/SettingsApiView-DJKJO7zM.css +145 -0
  54. package/dist/assets/{SettingsApiView-CFlbEwnS.js → SettingsApiView-EYzfTeVX.js} +6 -6
  55. package/dist/assets/SettingsCommunityNodesView-CAggjsaT.css +317 -0
  56. package/dist/assets/{SettingsCommunityNodesView-CJrxi3vi.js → SettingsCommunityNodesView-gze1Jvsy.js} +18 -17
  57. package/dist/assets/{SettingsExternalSecrets-BusSlBVI.js → SettingsExternalSecrets-DUqlfVPT.js} +7 -7
  58. package/dist/assets/SettingsExternalSecrets-d1KDgYYp.css +151 -0
  59. package/dist/assets/{SettingsLdapView-BLPKhtjA.js → SettingsLdapView-B5cZEX8X.js} +8 -8
  60. package/dist/assets/SettingsLdapView-Bx1eqk76.css +156 -0
  61. package/dist/assets/{SettingsLogStreamingView-DI9OYnte.js → SettingsLogStreamingView-C9hD8Kw5.js} +8 -8
  62. package/dist/assets/SettingsLogStreamingView-CflEMmu9.css +290 -0
  63. package/dist/assets/{SettingsPersonalView-CwLPEQe5.js → SettingsPersonalView-B__w674E.js} +9 -9
  64. package/dist/assets/SettingsPersonalView-CwV8ImYG.css +175 -0
  65. package/dist/assets/{SettingsSourceControl-BHiwsbh6.js → SettingsSourceControl-D7-NejQI.js} +12 -12
  66. package/dist/assets/SettingsSourceControl-DxshapuD.css +202 -0
  67. package/dist/assets/SettingsSso-BjoJZ2DU.css +163 -0
  68. package/dist/assets/{SettingsSso-BUE-Dg9u.js → SettingsSso-CipAZdaD.js} +7 -7
  69. package/dist/assets/SettingsUsageAndPlan-B5DEUrT3.css +333 -0
  70. package/dist/assets/{SettingsUsageAndPlan-g8SYxLIm.js → SettingsUsageAndPlan-DYszLgjl.js} +12 -12
  71. package/dist/assets/SettingsUsersView-By12E2li.css +143 -0
  72. package/dist/assets/{SettingsUsersView-DsjbsMkp.js → SettingsUsersView-lISm8ja6.js} +6 -6
  73. package/dist/assets/SettingsView-Bawwm19P.css +285 -0
  74. package/dist/assets/{SettingsView-BZqGq_NA.js → SettingsView-BmLKHjQH.js} +7 -7
  75. package/dist/assets/{SetupView-DKcifLmN.js → SetupView-CV1JkF06.js} +3 -2
  76. package/dist/assets/{SetupWorkflowCredentialsButton-1FX7DWWs.js → SetupWorkflowCredentialsButton-CaIbdi-K.js} +1 -1
  77. package/dist/assets/{SetupWorkflowFromTemplateView-BI8db6Bn.js → SetupWorkflowFromTemplateView-CP3UjRro.js} +8 -8
  78. package/dist/assets/SetupWorkflowFromTemplateView-ZPJL_m2F.css +148 -0
  79. package/dist/assets/{SigninView-DRl5Z9dU.js → SigninView-BQh1PPFq.js} +16 -15
  80. package/dist/assets/SigninView-D57wRRHz.css +150 -0
  81. package/dist/assets/{SignoutView-CD6CNCd4.js → SignoutView-BNOIvL04.js} +1 -1
  82. package/dist/assets/{SignupView-BUIFD8_L.js → SignupView-B5YAU3O1.js} +3 -2
  83. package/dist/assets/{TemplateDetails-BZy8nHAa.js → TemplateDetails-CYMlUxoE.js} +9 -9
  84. package/dist/assets/TemplateDetails-DyUqVhf2.css +265 -0
  85. package/dist/assets/TemplateList-DcOqRM10.css +480 -0
  86. package/dist/assets/{TemplateList-DdYIfcdc.js → TemplateList-Dg6kmgOf.js} +24 -24
  87. package/dist/assets/TemplatesCollectionView-2q1rzsOG.css +156 -0
  88. package/dist/assets/{TemplatesCollectionView-a9gOg1oh.js → TemplatesCollectionView-Du_Uh0KR.js} +12 -12
  89. package/dist/assets/{TemplatesSearchView-C_qp2w-Y.js → TemplatesSearchView-CaKdg0MP.js} +18 -18
  90. package/dist/assets/TemplatesSearchView-DETaMpDt.css +953 -0
  91. package/dist/assets/TemplatesView-Cyu28Dlo.css +285 -0
  92. package/dist/assets/{TemplatesView-Srd2qTc6.js → TemplatesView-DYqP0CKx.js} +8 -8
  93. package/dist/assets/{TemplatesWorkflowView-CDkCoN9X.js → TemplatesWorkflowView-CDxeo_E0.js} +13 -13
  94. package/dist/assets/TemplatesWorkflowView-DpIiJjJp.css +168 -0
  95. package/dist/assets/TestDefinitionEditView-DM4tV2LS.css +1267 -0
  96. package/dist/assets/{TestDefinitionEditView-CgQpahO7.js → TestDefinitionEditView-DmM-ldNH.js} +587 -197
  97. package/dist/assets/{TestDefinitionListView-BGJr2Okj.js → TestDefinitionListView-BBdTjle5.js} +96 -65
  98. package/dist/assets/TestDefinitionListView-BD5_O4Fx.css +567 -0
  99. package/dist/assets/{VariablesView-DBlZthPg.js → VariablesView-AVcocuJM.js} +8 -8
  100. package/dist/assets/VariablesView-D4pRzSuY.css +434 -0
  101. package/dist/assets/WorkerView-BrSoYcbf.css +977 -0
  102. package/dist/assets/{WorkerView--FWlY_KA.js → WorkerView-CRRYXfwj.js} +30 -177
  103. package/dist/assets/{WorkflowActivator-BbpMhG1U.js → WorkflowActivator-BFkp6wv-.js} +3 -3
  104. package/dist/assets/WorkflowActivator-DQhm5t0U.css +260 -0
  105. package/dist/assets/WorkflowExecutionsInfoAccordion-BBtwnPZQ.css +155 -0
  106. package/dist/assets/{WorkflowExecutionsInfoAccordion-DOpZ49kK.js → WorkflowExecutionsInfoAccordion-TkQ5A9AI.js} +3 -3
  107. package/dist/assets/{WorkflowExecutionsLandingPage-CAbWLqG8.js → WorkflowExecutionsLandingPage-B0OkjyM5.js} +5 -5
  108. package/dist/assets/WorkflowExecutionsLandingPage-Bm_hJMl4.css +145 -0
  109. package/dist/assets/{WorkflowExecutionsPreview-CfUWIIgy.js → WorkflowExecutionsPreview-2BLGw4QB.js} +37 -37
  110. package/dist/assets/WorkflowExecutionsPreview-CrGxxhLQ.css +537 -0
  111. package/dist/assets/{WorkflowExecutionsView-DrfZ7QK8.js → WorkflowExecutionsView-CYFvctKC.js} +35 -35
  112. package/dist/assets/WorkflowExecutionsView-DEqJNNDZ.css +676 -0
  113. package/dist/assets/WorkflowHistory-7Ad0Va7M.css +669 -0
  114. package/dist/assets/{WorkflowHistory-eqsh1yXn.js → WorkflowHistory-BG7M9CQl.js} +22 -22
  115. package/dist/assets/{WorkflowOnboardingView-Kbe8c2_R.js → WorkflowOnboardingView-srH4_STx.js} +1 -19
  116. package/dist/assets/{WorkflowPreview-DKTyMYfO.js → WorkflowPreview-BRSFWAwN.js} +8 -8
  117. package/dist/assets/WorkflowPreview-CIOAVgxK.css +162 -0
  118. package/dist/assets/{WorkflowsView-ClrcrpKc.js → WorkflowsView-C7_qBwr2.js} +29 -20
  119. package/dist/assets/WorkflowsView-DMIGjzPW.css +323 -0
  120. package/dist/assets/easyAiWorkflowUtils-DC1ZzurN.js +181 -0
  121. package/dist/assets/{index-fCEqBD8K.js → index-DWT5SiDA.js} +67756 -50700
  122. package/dist/assets/{index-Bo70cRA3.css → index-yFn1GhRA.css} +30918 -6705
  123. package/dist/assets/{pushConnection.store-Kmly9nV5.js → pushConnection.store-CVh3T0r7.js} +1 -1
  124. package/dist/assets/{templateActions-xeWyRgrU.js → templateActions-C_4ql9rG.js} +1 -1
  125. package/dist/assets/typescript.worker-H0DmdklC.js +213997 -0
  126. package/dist/assets/{useBugReporting-CbgIVUCL.js → useBugReporting-Bwqu07gb.js} +1 -1
  127. package/dist/assets/useCanvasOperations-BYRj4lO-.js +20950 -0
  128. package/dist/assets/useCanvasOperations-Byu1Z5ea.css +4144 -0
  129. package/dist/assets/{useExecutionDebugging-Cuf88DQE.js → useExecutionDebugging-D0ivUrRc.js} +1 -1
  130. package/dist/assets/{useExecutionHelpers-BIxUwlsh.js → useExecutionHelpers-Byigk2be.js} +1 -1
  131. package/dist/assets/{useNodeViewVersionSwitcher-Eg-dOWbq.js → useNodeViewVersionSwitcher-Btz9Y6kD.js} +1 -1
  132. package/dist/assets/usePinnedData-SqcH7oid.js +274 -0
  133. package/dist/assets/{usePushConnection-D-iAKJiL.js → usePushConnection-BKGZFebW.js} +11 -4
  134. package/dist/assets/{useRunWorkflow-BDl-2MsN.css → useRunWorkflow-DWoFsQdi.css} +406 -40
  135. package/dist/assets/{useRunWorkflow-BXE6bWp2.js → useRunWorkflow-YBTU5QVs.js} +31 -301
  136. package/dist/assets/{useWorkflowActivate-D8cU5eJ_.js → useWorkflowActivate-lML0rpsN.js} +1 -1
  137. package/dist/index.html +2 -2
  138. package/package.json +1 -1
  139. package/tsconfig.json +2 -1
  140. package/vite.config.mts +10 -1
  141. package/dist/assets/AuthView-BP3bsQpK.css +0 -49
  142. package/dist/assets/CanvasChat-DhkdJLy7.css +0 -661
  143. package/dist/assets/CanvasControls-BEOkwFDJ.css +0 -26
  144. package/dist/assets/CollectionParameter-IbNRc-rP.js +0 -4
  145. package/dist/assets/ConcurrentExecutionsHeader-ChCLnjVG.css +0 -72
  146. package/dist/assets/CredentialsView-CzforIh7.css +0 -36
  147. package/dist/assets/ErrorView-DZCz_7-d.css +0 -22
  148. package/dist/assets/ExecutionsView-CLxQdDnP.css +0 -217
  149. package/dist/assets/FixedCollectionParameter-CUxLKPYJ.css +0 -44
  150. package/dist/assets/MainHeader-Bg4Jr0GW.css +0 -224
  151. package/dist/assets/MainSidebar-B_Q71vG8.css +0 -223
  152. package/dist/assets/NodeCreation-DTNNkgVv.css +0 -30
  153. package/dist/assets/NodeCreator-BvqI_pdC.css +0 -522
  154. package/dist/assets/NodeViewSwitcher-D5JjSNB2.js +0 -41429
  155. package/dist/assets/NodeViewSwitcher-DngiUgY8.css +0 -3096
  156. package/dist/assets/ProjectCardBadge-DQvW5T7s.css +0 -20
  157. package/dist/assets/ProjectHeader-CDl0NBcF.css +0 -21
  158. package/dist/assets/ProjectHeader-CUoGk-wO.js +0 -233
  159. package/dist/assets/ProjectSettings-DZws5IzZ.css +0 -34
  160. package/dist/assets/ResourcesListLayout-NZz6R66g.css +0 -96
  161. package/dist/assets/RunDataJson-DW_khHj4.css +0 -79
  162. package/dist/assets/RunDataJsonActions-CoiM0oFP.css +0 -11
  163. package/dist/assets/RunDataSearch-B4q8H9Ex.css +0 -28
  164. package/dist/assets/RunDataTable-BOaG0Pms.css +0 -150
  165. package/dist/assets/SettingsApiView-DX3S-5pa.css +0 -23
  166. package/dist/assets/SettingsCommunityNodesView-kzxtAoLp.css +0 -73
  167. package/dist/assets/SettingsExternalSecrets-BnXyxlJd.css +0 -29
  168. package/dist/assets/SettingsLdapView-BPh_inzE.css +0 -34
  169. package/dist/assets/SettingsLogStreamingView-Uz298HNW.css +0 -46
  170. package/dist/assets/SettingsPersonalView-CqzRUitO.css +0 -53
  171. package/dist/assets/SettingsSourceControl-C7H8sLJN.css +0 -80
  172. package/dist/assets/SettingsSso-Be_ejj46.css +0 -41
  173. package/dist/assets/SettingsUsageAndPlan-C3fKPMTY.css +0 -89
  174. package/dist/assets/SettingsUsersView-C13eCMjh.css +0 -21
  175. package/dist/assets/SettingsView-o6uNYu0t.css +0 -41
  176. package/dist/assets/SetupWorkflowFromTemplateView-DjBcyMCl.css +0 -26
  177. package/dist/assets/SigninView-DzDE1gJb.css +0 -33
  178. package/dist/assets/TemplateDetails-p3M6A7jr.css +0 -21
  179. package/dist/assets/TemplateList-BR3bpDTv.css +0 -114
  180. package/dist/assets/TemplatesCollectionView-DJVlK4Bb.css +0 -34
  181. package/dist/assets/TemplatesSearchView-CFrHWGcY.css +0 -221
  182. package/dist/assets/TemplatesView-CBNZZ_X1.css +0 -41
  183. package/dist/assets/TemplatesWorkflowView-CVC0fbb6.css +0 -46
  184. package/dist/assets/TestDefinitionEditView-CVRXpJ4c.css +0 -220
  185. package/dist/assets/TestDefinitionListView-BJVxwUdb.css +0 -80
  186. package/dist/assets/VariablesView-BnGnRwcl.css +0 -182
  187. package/dist/assets/VirtualSchema-CIfwZj8N.css +0 -136
  188. package/dist/assets/VirtualSchema-DkiHWd9N.js +0 -378
  189. package/dist/assets/WorkerView-CvXMClDD.css +0 -123
  190. package/dist/assets/WorkflowActivator-DSBGQvK0.css +0 -16
  191. package/dist/assets/WorkflowExecutionsInfoAccordion-f5tIRAwu.css +0 -33
  192. package/dist/assets/WorkflowExecutionsLandingPage-BodEQ5Bq.css +0 -23
  193. package/dist/assets/WorkflowExecutionsPreview-C-e7WZrK.css +0 -171
  194. package/dist/assets/WorkflowExecutionsView-CFOgmzpK.css +0 -178
  195. package/dist/assets/WorkflowHistory-D0ufvWsH.css +0 -181
  196. package/dist/assets/WorkflowPreview-DuLM6rtd.css +0 -40
  197. package/dist/assets/WorkflowsView-D5fBzfD4.css +0 -65
  198. package/dist/assets/testDefinition.store.ee-C9BPbACc.js +0 -138
  199. package/dist/assets/useGlobalEntityCreation-DGVSN-Im.js +0 -183
  200. package/dist/static/logo/channel/beta-dark.svg +0 -1
  201. package/dist/static/logo/channel/beta.svg +0 -1
  202. package/dist/static/logo/channel/dev-dark.svg +0 -1
  203. package/dist/static/logo/channel/dev.svg +0 -1
  204. package/dist/static/logo/channel/nightly-dark.svg +0 -1
  205. package/dist/static/logo/channel/nightly.svg +0 -1
  206. package/dist/static/logo/collapsed.svg +0 -1
  207. package/dist/static/logo/expanded-dark.svg +0 -1
  208. package/dist/static/logo/expanded.svg +0 -1
@@ -1,5 +1,4 @@
1
- import { d as defineComponent, m as resolveComponent, c as openBlock, h as createElementBlock, j as createBaseVNode, t as toDisplayString, l as unref, n as normalizeClass, i as createVNode, g as useI18n, _ as _export_sfc, k as createTextVNode, e as createBlock, f as createCommentVNode, F as Fragment, A as renderList, w as withCtx, I as withModifiers, aY as resolveDynamicComponent, cO as _sfc_main$4, aX as mergeProps, b as useRouter, hQ as useAnnotationTagsStore, r as ref, a as useToast, q as computed, o as onMounted, V as VIEWS } from "./index-fCEqBD8K.js";
2
- import { u as useTestDefinitionStore } from "./testDefinition.store.ee-C9BPbACc.js";
1
+ import { d as defineComponent, m as resolveComponent, c as openBlock, h as createElementBlock, j as createBaseVNode, t as toDisplayString, l as unref, n as normalizeClass, i as createVNode, g as useI18n, _ as _export_sfc, w as withCtx, k as createTextVNode, F as Fragment, fy as _sfc_main$4, f as createCommentVNode, A as renderList, e as createBlock, a$ as resolveDynamicComponent, aP as _sfc_main$5, I as withModifiers, a_ as mergeProps, b as useRouter, hA as useAnnotationTagsStore, hI as useTestDefinitionStore, r as ref, a as useToast, q as computed, o as onMounted, V as VIEWS } from "./index-DWT5SiDA.js";
3
2
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
4
3
  __name: "EmptyState",
5
4
  emits: ["create-test"],
@@ -24,8 +23,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
24
23
  };
25
24
  }
26
25
  });
27
- const container$1 = "_container_18phz_1";
28
- const header = "_header_18phz_7";
26
+ const container$1 = "_container_84f9f_123";
27
+ const header = "_header_84f9f_129";
29
28
  const style0$3 = {
30
29
  container: container$1,
31
30
  header
@@ -34,7 +33,8 @@ const cssModules$3 = {
34
33
  "$style": style0$3
35
34
  };
36
35
  const EmptyState = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$3]]);
37
- const _hoisted_1 = { key: 1 };
36
+ const _hoisted_1 = ["data-test-id"];
37
+ const _hoisted_2 = { key: 1 };
38
38
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
39
39
  __name: "TestItem",
40
40
  props: {
@@ -48,31 +48,36 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
48
48
  const actions2 = [
49
49
  {
50
50
  icon: "play",
51
+ id: "run",
51
52
  event: () => emit("run-test", props.test.id),
52
53
  tooltip: locale.baseText("testDefinition.runTest")
53
54
  },
54
55
  {
55
56
  icon: "list",
57
+ id: "view",
56
58
  event: () => emit("view-details", props.test.id),
57
59
  tooltip: locale.baseText("testDefinition.viewDetails")
58
60
  },
59
61
  {
60
62
  icon: "pen",
63
+ id: "edit",
61
64
  event: () => emit("edit-test", props.test.id),
62
65
  tooltip: locale.baseText("testDefinition.editTest")
63
66
  },
64
67
  {
65
68
  icon: "trash",
69
+ id: "delete",
66
70
  event: () => emit("delete-test", props.test.id),
67
71
  tooltip: locale.baseText("testDefinition.deleteTest")
68
72
  }
69
73
  ];
70
74
  return (_ctx, _cache) => {
71
- const _component_n8n_tag = resolveComponent("n8n-tag");
72
- const _component_n8n_loading = resolveComponent("n8n-loading");
75
+ const _component_n8n_text = resolveComponent("n8n-text");
76
+ const _component_n8n_spinner = resolveComponent("n8n-spinner");
73
77
  const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
74
78
  return openBlock(), createElementBlock("div", {
75
79
  class: normalizeClass(_ctx.$style.testItem),
80
+ "data-test-id": `test-item-${_ctx.test.id}`,
76
81
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("view-details", _ctx.test.id))
77
82
  }, [
78
83
  createBaseVNode("div", {
@@ -80,24 +85,25 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
80
85
  }, [
81
86
  createBaseVNode("div", {
82
87
  class: normalizeClass(_ctx.$style.testName)
83
- }, [
84
- createTextVNode(toDisplayString(_ctx.test.name) + " ", 1),
85
- _ctx.test.tagName ? (openBlock(), createBlock(_component_n8n_tag, {
86
- key: 0,
87
- text: _ctx.test.tagName
88
- }, null, 8, ["text"])) : createCommentVNode("", true)
89
- ], 2),
88
+ }, toDisplayString(_ctx.test.name), 3),
90
89
  createBaseVNode("div", {
91
90
  class: normalizeClass(_ctx.$style.testCases)
92
91
  }, [
93
- createTextVNode(toDisplayString(unref(locale).baseText("testDefinition.list.testCases", { adjustToNumber: _ctx.test.testCases })) + " ", 1),
94
- !_ctx.test.execution.lastRun ? (openBlock(), createBlock(_component_n8n_loading, {
95
- key: 0,
96
- loading: true,
97
- rows: 1
98
- })) : (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(unref(locale).baseText("testDefinition.list.lastRun", {
99
- interpolate: { lastRun: _ctx.test.execution.lastRun }
100
- })), 1))
92
+ createVNode(_component_n8n_text, { size: "small" }, {
93
+ default: withCtx(() => [
94
+ createTextVNode(toDisplayString(unref(locale).baseText("testDefinition.list.testRuns", { adjustToNumber: _ctx.test.testCases })), 1)
95
+ ]),
96
+ _: 1
97
+ }),
98
+ _ctx.test.execution.status === "running" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
99
+ createTextVNode(toDisplayString(unref(locale).baseText("testDefinition.list.running")) + " ", 1),
100
+ createVNode(_component_n8n_spinner)
101
+ ], 64)) : _ctx.test.execution.lastRun ? (openBlock(), createElementBlock("span", _hoisted_2, [
102
+ createTextVNode(toDisplayString(unref(locale).baseText("testDefinition.list.lastRun")) + " ", 1),
103
+ createVNode(_sfc_main$4, {
104
+ date: _ctx.test.execution.lastRun
105
+ }, null, 8, ["date"])
106
+ ])) : createCommentVNode("", true)
101
107
  ], 2)
102
108
  ], 2),
103
109
  createBaseVNode("div", {
@@ -112,7 +118,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
112
118
  return openBlock(), createElementBlock("div", {
113
119
  key,
114
120
  class: normalizeClass(_ctx.$style.metric)
115
- }, toDisplayString(key) + ": " + toDisplayString(value ?? "-"), 3);
121
+ }, toDisplayString(key) + ": " + toDisplayString(value.toFixed(2) ?? "-"), 3);
116
122
  }), 128))
117
123
  ], 2),
118
124
  createBaseVNode("div", {
@@ -128,28 +134,29 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
128
134
  createTextVNode(toDisplayString(action.tooltip), 1)
129
135
  ]),
130
136
  default: withCtx(() => [
131
- (openBlock(), createBlock(resolveDynamicComponent(unref(_sfc_main$4)), {
137
+ (openBlock(), createBlock(resolveDynamicComponent(unref(_sfc_main$5)), {
132
138
  icon: action.icon,
139
+ "data-test-id": `${action.id}-test-button-${_ctx.test.id}`,
133
140
  type: "tertiary",
134
141
  size: "mini",
135
142
  onClick: withModifiers(action.event, ["stop"])
136
- }, null, 8, ["icon", "onClick"]))
143
+ }, null, 8, ["icon", "data-test-id", "onClick"]))
137
144
  ]),
138
145
  _: 2
139
146
  }, 1024);
140
147
  }), 64))
141
148
  ], 2)
142
- ], 2);
149
+ ], 10, _hoisted_1);
143
150
  };
144
151
  }
145
152
  });
146
- const testItem = "_testItem_1lysx_1";
147
- const testInfo = "_testInfo_1lysx_14";
148
- const testName = "_testName_1lysx_20";
149
- const testCases = "_testCases_1lysx_29";
150
- const metrics = "_metrics_1lysx_37";
151
- const metric = "_metric_1lysx_37";
152
- const actions = "_actions_1lysx_49";
153
+ const testItem = "_testItem_ahqp7_123";
154
+ const testInfo = "_testInfo_ahqp7_136";
155
+ const testName = "_testName_ahqp7_142";
156
+ const testCases = "_testCases_ahqp7_150";
157
+ const metrics = "_metrics_ahqp7_158";
158
+ const metric = "_metric_ahqp7_158";
159
+ const actions = "_actions_ahqp7_170";
153
160
  const style0$2 = {
154
161
  testItem,
155
162
  testInfo,
@@ -174,7 +181,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
174
181
  return (_ctx, _cache) => {
175
182
  const _component_n8n_button = resolveComponent("n8n-button");
176
183
  return openBlock(), createElementBlock("div", {
177
- class: normalizeClass(_ctx.$style.testsList)
184
+ class: normalizeClass(_ctx.$style.testsList),
185
+ "data-test-id": "test-definition-list"
178
186
  }, [
179
187
  createBaseVNode("div", {
180
188
  class: normalizeClass(_ctx.$style.testsHeader)
@@ -195,8 +203,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
195
203
  };
196
204
  }
197
205
  });
198
- const testsList = "_testsList_1aleg_1";
199
- const testsHeader = "_testsHeader_1aleg_7";
206
+ const testsList = "_testsList_128kj_123";
207
+ const testsHeader = "_testsHeader_128kj_129";
200
208
  const style0$1 = {
201
209
  testsList,
202
210
  testsHeader
@@ -215,12 +223,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
215
223
  const toast = useToast();
216
224
  const locale = useI18n();
217
225
  const tests = computed(() => {
218
- return testDefinitionStore.allTestDefinitions.filter((test) => test.id !== void 0).sort((a, b) => new Date(b?.updatedAt ?? "").getTime() - new Date(a?.updatedAt ?? "").getTime()).map((test) => ({
226
+ return (testDefinitionStore.allTestDefinitionsByWorkflowId[router.currentRoute.value.params.name] ?? []).filter((test) => test.id !== void 0).sort((a, b) => new Date(b?.updatedAt ?? "").getTime() - new Date(a?.updatedAt ?? "").getTime()).map((test) => ({
219
227
  id: test.id,
220
228
  name: test.name ?? "",
221
229
  tagName: test.annotationTagId ? getTagName(test.annotationTagId) : "",
222
- testCases: 0,
223
- // TODO: This should come from the API
230
+ testCases: testDefinitionStore.testRunsByTestId[test.id]?.length ?? 0,
224
231
  execution: getTestExecution(test.id)
225
232
  }));
226
233
  });
@@ -230,32 +237,45 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
230
237
  const matchingTag = allTags.value.find((t) => t.id === tagId);
231
238
  return matchingTag?.name ?? "";
232
239
  }
233
- function getTestExecution(_testId) {
240
+ function getTestExecution(testId) {
241
+ const lastRun = testDefinitionStore.lastRunByTestId[testId];
242
+ if (!lastRun) {
243
+ return {
244
+ lastRun: null,
245
+ errorRate: 0,
246
+ metrics: {},
247
+ status: "new"
248
+ };
249
+ }
234
250
  const mockExecutions = {
235
- lastRun: "an hour ago",
251
+ lastRun: lastRun.updatedAt ?? "",
236
252
  errorRate: 0,
237
- metrics: { metric1: 0.12, metric2: 0.99, metric3: 0.87 }
238
- };
239
- return mockExecutions || {
240
- lastRun: null,
241
- errorRate: null,
242
- metrics: { metric1: null, metric2: null, metric3: null }
253
+ metrics: lastRun.metrics ?? {},
254
+ status: lastRun.status ?? "running"
243
255
  };
256
+ return mockExecutions;
244
257
  }
245
258
  function onCreateTest() {
246
259
  void router.push({ name: VIEWS.NEW_TEST_DEFINITION });
247
260
  }
248
- function onRunTest(_testId) {
249
- toast.showMessage({
250
- title: locale.baseText("testDefinition.notImplemented"),
251
- type: "warning"
252
- });
261
+ async function onRunTest(testId) {
262
+ try {
263
+ const result = await testDefinitionStore.startTestRun(testId);
264
+ if (result.success) {
265
+ toast.showMessage({
266
+ title: locale.baseText("testDefinition.list.testStarted"),
267
+ type: "success"
268
+ });
269
+ await testDefinitionStore.fetchTestRuns(testId);
270
+ } else {
271
+ throw new Error("Test run failed to start");
272
+ }
273
+ } catch (error) {
274
+ toast.showError(error, locale.baseText("testDefinition.list.testStartError"));
275
+ }
253
276
  }
254
- function onViewDetails(_testId) {
255
- toast.showMessage({
256
- title: locale.baseText("testDefinition.notImplemented"),
257
- type: "warning"
258
- });
277
+ async function onViewDetails(testId) {
278
+ void router.push({ name: VIEWS.TEST_DEFINITION_RUNS, params: { testId } });
259
279
  }
260
280
  function onEditTest(testId) {
261
281
  void router.push({ name: VIEWS.TEST_DEFINITION_EDIT, params: { testId } });
@@ -268,12 +288,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
268
288
  });
269
289
  }
270
290
  async function loadInitialData() {
271
- isLoading.value = true;
272
- try {
273
- await tagsStore.fetchAll();
274
- await testDefinitionStore.fetchAll();
275
- } finally {
276
- isLoading.value = false;
291
+ if (!isLoading.value) {
292
+ isLoading.value = true;
293
+ try {
294
+ await Promise.all([
295
+ tagsStore.fetchAll(),
296
+ testDefinitionStore.fetchAll({
297
+ workflowId: router.currentRoute.value.params.name
298
+ })
299
+ ]);
300
+ isLoading.value = false;
301
+ } catch (error) {
302
+ toast.showError(error, locale.baseText("testDefinition.list.loadError"));
303
+ } finally {
304
+ isLoading.value = false;
305
+ }
277
306
  }
278
307
  }
279
308
  onMounted(() => {
@@ -286,6 +315,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
286
315
  name: VIEWS.WORKFLOW,
287
316
  params: { name: router.currentRoute.value.params.name }
288
317
  });
318
+ return;
289
319
  }
290
320
  void loadInitialData();
291
321
  });
@@ -305,6 +335,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
305
335
  ], 2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
306
336
  !hasTests.value ? (openBlock(), createBlock(EmptyState, {
307
337
  key: 0,
338
+ "data-test-id": "test-definition-empty-state",
308
339
  onCreateTest
309
340
  })) : (openBlock(), createBlock(TestsList, {
310
341
  key: 1,
@@ -320,8 +351,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
320
351
  };
321
352
  }
322
353
  });
323
- const container = "_container_an92i_1";
324
- const loading = "_loading_an92i_8";
354
+ const container = "_container_1c8ch_123";
355
+ const loading = "_loading_1c8ch_130";
325
356
  const style0 = {
326
357
  container,
327
358
  loading