@runcofactor/cli 0.52.0 → 0.53.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 (225) hide show
  1. package/README.md +2 -0
  2. package/dist/{account-3ZG24MOE.js → account-MRZ54P5P.js} +5 -5
  3. package/dist/{alert-5G7PTAX2.js → alert-XBHELHEI.js} +8 -8
  4. package/dist/{api-catalog-IBYAFKKQ.js → api-catalog-GWYRX53L.js} +5 -5
  5. package/dist/{api-key-UXC44BDR.js → api-key-FH6JN447.js} +5 -5
  6. package/dist/{attachment-T6IRFQW3.js → attachment-J7GRVT5F.js} +5 -5
  7. package/dist/{auth-SHOCJE6Z.js → auth-VZZQXRDR.js} +3 -3
  8. package/dist/{benchmark-NJ2U6VTC.js → benchmark-A3SNDARF.js} +5 -5
  9. package/dist/{blackcat-RQJVFGXQ.js → blackcat-UM6TBQBN.js} +3 -3
  10. package/dist/{chunk-DHAGRM2F.js → chunk-33U56YGD.js} +14 -5
  11. package/dist/{chunk-DHAGRM2F.js.map → chunk-33U56YGD.js.map} +1 -1
  12. package/dist/{chunk-M752EUK3.js → chunk-3JU4UYYN.js} +5 -5
  13. package/dist/{chunk-G6BCST3G.js → chunk-3ZOUNCA5.js} +7 -7
  14. package/dist/{chunk-76Z6E7XX.js → chunk-4UZN6TVT.js} +74 -131
  15. package/dist/chunk-4UZN6TVT.js.map +1 -0
  16. package/dist/{chunk-ABT3BLRC.js → chunk-5TKXHS3X.js} +3 -3
  17. package/dist/{chunk-QCYSONXI.js → chunk-CRYHWO4M.js} +2 -2
  18. package/dist/{chunk-QTYUM4ZB.js → chunk-EJ3ZPH5U.js} +23 -187
  19. package/dist/chunk-EJ3ZPH5U.js.map +1 -0
  20. package/dist/{chunk-I5RHTCPY.js → chunk-EL6KJ4PO.js} +4 -4
  21. package/dist/{chunk-ZL4O6C42.js → chunk-HXBK3AGD.js} +2 -2
  22. package/dist/{chunk-PRERH4DN.js → chunk-I2SOHQ2C.js} +3 -3
  23. package/dist/{chunk-CYSPCGO6.js → chunk-JEHHEMUL.js} +5 -5
  24. package/dist/{chunk-LIEADTEF.js → chunk-LJFVRJCA.js} +2 -2
  25. package/dist/{chunk-UEJ2HTKU.js → chunk-MJVUMVLO.js} +19 -1
  26. package/dist/chunk-MJVUMVLO.js.map +1 -0
  27. package/dist/chunk-N55RKCGR.js +24 -0
  28. package/dist/chunk-N55RKCGR.js.map +1 -0
  29. package/dist/{chunk-PHNH3CEU.js → chunk-O4Z44BR7.js} +5 -5
  30. package/dist/{chunk-QA37WVF6.js → chunk-OQFCZERZ.js} +6 -6
  31. package/dist/{chunk-EUVB6Y3C.js → chunk-P7L5KELH.js} +8 -8
  32. package/dist/chunk-P7L5KELH.js.map +1 -0
  33. package/dist/{chunk-Z3MDQSZG.js → chunk-PJFFGQSB.js} +2 -2
  34. package/dist/{chunk-IY3ZK46I.js → chunk-QOVJUSSL.js} +2 -2
  35. package/dist/{chunk-RPJMQBB5.js → chunk-QXU4G4YN.js} +3 -3
  36. package/dist/{chunk-SZSTJIYU.js → chunk-RRSUKARV.js} +4 -4
  37. package/dist/{chunk-775FI436.js → chunk-RVD6J6IZ.js} +2 -2
  38. package/dist/{chunk-5UUIBY6E.js → chunk-TAVBFLCR.js} +3 -3
  39. package/dist/{chunk-ROX7N3RK.js → chunk-V7HB5LAU.js} +10 -7
  40. package/dist/chunk-V7HB5LAU.js.map +1 -0
  41. package/dist/{chunk-LL6TSQWV.js → chunk-VKZOHJCE.js} +3 -3
  42. package/dist/chunk-VKZOHJCE.js.map +1 -0
  43. package/dist/{chunk-3HI6QC4V.js → chunk-WRBU6TX7.js} +2 -2
  44. package/dist/{proofs-TXJGAP5F.js → chunk-X7SUSIY3.js} +118 -20
  45. package/dist/chunk-X7SUSIY3.js.map +1 -0
  46. package/dist/{chunk-BF3IPGMP.js → chunk-XSSZMG65.js} +4 -4
  47. package/dist/{credential-TWSWV64F.js → credential-4RFRU6OH.js} +5 -5
  48. package/dist/{credential-template-XO5D5AI3.js → credential-template-36PFUTBN.js} +5 -5
  49. package/dist/{digest-SLEFOLPV.js → digest-THMKFMP7.js} +8 -8
  50. package/dist/{docs-IDC4V4WQ.js → docs-ZGM53L67.js} +5 -5
  51. package/dist/{doctor-SDAYEA6C.js → doctor-Z2XBGBM3.js} +3 -3
  52. package/dist/{environment-VBUIBQ6O.js → environment-5YVZXBN7.js} +7 -7
  53. package/dist/eval-SO5TPD37.js +1177 -0
  54. package/dist/eval-SO5TPD37.js.map +1 -0
  55. package/dist/{exploration-IREIR5PO.js → exploration-GZ4WUJJH.js} +5 -5
  56. package/dist/{exploratory-test-4Q7BMEFT.js → exploratory-test-Y7P4ZDLD.js} +5 -5
  57. package/dist/{external-run-S7LULKPT.js → external-run-IJGGZOGI.js} +7 -7
  58. package/dist/{feature-flag-IASHTUGU.js → feature-flag-UH6Z7774.js} +5 -5
  59. package/dist/{flow-IBEZFZTU.js → flow-MRWAQYZZ.js} +5 -5
  60. package/dist/{github-HAEZRULP.js → github-VDJU3PU3.js} +6 -6
  61. package/dist/index.js +101 -82
  62. package/dist/index.js.map +1 -1
  63. package/dist/{init-LT2TZMQY.js → init-CROSTPA6.js} +5 -5
  64. package/dist/{install-RTEYH6TK.js → install-ECR7OLAY.js} +5 -5
  65. package/dist/{issues-5GE277R2.js → issues-K5TL2S4Z.js} +7 -7
  66. package/dist/{knobs-AMIWGYUZ.js → knobs-OKQFBQLK.js} +5 -5
  67. package/dist/{landing-3VLVVQL5.js → landing-XANIBPVM.js} +7 -7
  68. package/dist/{list-GDJR6UY6.js → list-64GX47Q4.js} +5 -5
  69. package/dist/{local-4R6GVW7U.js → local-QMQY2ZUX.js} +7 -7
  70. package/dist/{login-IXVAWTLO.js → login-I7UQ3GTM.js} +5 -5
  71. package/dist/{mcp-BM2MJWX4.js → mcp-XZV63DX5.js} +11 -11
  72. package/dist/{mcp-BM2MJWX4.js.map → mcp-XZV63DX5.js.map} +1 -1
  73. package/dist/{metrics-SSIP5CEB.js → metrics-KBTQ3KGZ.js} +5 -5
  74. package/dist/{monitor-ESZYHXT2.js → monitor-UGWY43IU.js} +5 -5
  75. package/dist/perf-CCHWHCSR.js +961 -0
  76. package/dist/perf-CCHWHCSR.js.map +1 -0
  77. package/dist/{product-VCGUV5TH.js → product-KLG2ZTHC.js} +5 -5
  78. package/dist/{product-map-AXKZNQDM.js → product-map-AMEZ76EQ.js} +5 -5
  79. package/dist/{prompts-FVPSON2N.js → prompts-ZVQNGL7X.js} +5 -5
  80. package/dist/proofs-QCNSQAPX.js +20 -0
  81. package/dist/{property-XEPCC7KQ.js → property-PJDQFHAL.js} +6 -6
  82. package/dist/{psql-JKF3OYYJ.js → psql-AURAN27C.js} +5 -5
  83. package/dist/{record-REQ37S54.js → record-SYWBTUOB.js} +6 -6
  84. package/dist/{redis-WGHT2GJB.js → redis-2H752SKO.js} +5 -5
  85. package/dist/{release-SNDIVIA6.js → release-OSIYUXSC.js} +5 -5
  86. package/dist/{runbook-XFJG2LFC.js → runbook-7LVHF6KV.js} +5 -5
  87. package/dist/{sandbox-DYCKLCMY.js → sandbox-TJQPMRGS.js} +18 -30
  88. package/dist/sandbox-TJQPMRGS.js.map +1 -0
  89. package/dist/{scenarios-PVHCKP55.js → scenarios-P2ABU4HK.js} +5 -5
  90. package/dist/{schedule-DGC7CX23.js → schedule-XLS56NP5.js} +8 -8
  91. package/dist/{session-ERGUFDDI.js → session-ACSFC3UB.js} +8 -8
  92. package/dist/{skill-6QO2E3TB.js → skill-F7I5P6AI.js} +43 -28
  93. package/dist/{skill-6QO2E3TB.js.map → skill-F7I5P6AI.js.map} +1 -1
  94. package/dist/{slack-WE7THLLH.js → slack-ZEK4GRND.js} +6 -6
  95. package/dist/{spec-SEOY7N3L.js → spec-XPIRRSV6.js} +5 -5
  96. package/dist/{src-CCK3TKBX.js → src-N7ZCYCXU.js} +4 -4
  97. package/dist/{src-AEWV5HYH.js → src-XSBBMVGW.js} +3 -3
  98. package/dist/{start-EPGLHTND.js → start-DKWLOQI6.js} +5 -5
  99. package/dist/{status-DTE2GXM2.js → status-K7KH5DI3.js} +5 -5
  100. package/dist/{tag-GIFEWGBL.js → tag-2Y3OMQQC.js} +6 -6
  101. package/dist/{task-VLJCHSFB.js → task-4PIOC4QV.js} +6 -6
  102. package/dist/{teams-J2OOJBL4.js → teams-KUM56BE2.js} +83 -47
  103. package/dist/teams-KUM56BE2.js.map +1 -0
  104. package/dist/{test-suite-CTACGIAZ.js → test-suite-SW25YGJV.js} +138 -96
  105. package/dist/test-suite-SW25YGJV.js.map +1 -0
  106. package/dist/{trace-RWQDYL4K.js → trace-QPXHYBLA.js} +7 -7
  107. package/dist/{triage-6UAXLCGU.js → triage-EZABRZZM.js} +6 -6
  108. package/dist/trigger-7C7KX5KH.js +137 -0
  109. package/dist/trigger-7C7KX5KH.js.map +1 -0
  110. package/dist/{update-check-QRREAM3N.js → update-check-E3X7UIY6.js} +3 -3
  111. package/dist/{upgrade-5Y655TQ6.js → upgrade-EJGTMW44.js} +4 -4
  112. package/dist/{usage-KCXFY46V.js → usage-GZCQDULF.js} +7 -7
  113. package/dist/{utilities-SUON2KZK.js → utilities-RIITD53A.js} +6 -6
  114. package/dist/{visual-GJZVJC32.js → visual-FH67OKS2.js} +5 -5
  115. package/dist/{workflow-R5QAXWBX.js → workflow-34YJZ2QQ.js} +38 -86
  116. package/dist/workflow-34YJZ2QQ.js.map +1 -0
  117. package/dist/{workflow-cache-PFBTWLGM.js → workflow-cache-YQ3BGJIG.js} +17 -17
  118. package/dist/{workflow-cache-convergence-resolve-UZGRPC3B.js → workflow-cache-convergence-resolve-SPLBRSNK.js} +5 -5
  119. package/dist/{workflow-debug-RACNWWOL.js → workflow-debug-HZB7TJGK.js} +10 -10
  120. package/dist/workflow-debug-HZB7TJGK.js.map +1 -0
  121. package/dist/{workflow-feedback-RJIQ5R3R.js → workflow-feedback-6UOTIWIQ.js} +5 -5
  122. package/dist/{workflow-fork-LINDCYJ3.js → workflow-fork-IDYHAHCX.js} +5 -5
  123. package/dist/workflow-promotion-U6WYFY5U.js +62 -0
  124. package/dist/workflow-promotion-U6WYFY5U.js.map +1 -0
  125. package/dist/{workflow-proposals-E4EXKAGM.js → workflow-proposals-MMVNIQT3.js} +5 -5
  126. package/dist/{workflow-revisions-5M6APN6R.js → workflow-revisions-BPUOLCZB.js} +5 -5
  127. package/dist/{workflow-status-7KL73WS2.js → workflow-status-RA3IEMEW.js} +5 -5
  128. package/package.json +3 -2
  129. package/dist/chat-target-IZ7YLLU3.js +0 -502
  130. package/dist/chat-target-IZ7YLLU3.js.map +0 -1
  131. package/dist/chunk-76Z6E7XX.js.map +0 -1
  132. package/dist/chunk-EUVB6Y3C.js.map +0 -1
  133. package/dist/chunk-LL6TSQWV.js.map +0 -1
  134. package/dist/chunk-QTYUM4ZB.js.map +0 -1
  135. package/dist/chunk-ROX7N3RK.js.map +0 -1
  136. package/dist/chunk-UEJ2HTKU.js.map +0 -1
  137. package/dist/proofs-TXJGAP5F.js.map +0 -1
  138. package/dist/sandbox-DYCKLCMY.js.map +0 -1
  139. package/dist/teams-J2OOJBL4.js.map +0 -1
  140. package/dist/test-suite-CTACGIAZ.js.map +0 -1
  141. package/dist/workflow-R5QAXWBX.js.map +0 -1
  142. /package/dist/{account-3ZG24MOE.js.map → account-MRZ54P5P.js.map} +0 -0
  143. /package/dist/{alert-5G7PTAX2.js.map → alert-XBHELHEI.js.map} +0 -0
  144. /package/dist/{api-catalog-IBYAFKKQ.js.map → api-catalog-GWYRX53L.js.map} +0 -0
  145. /package/dist/{api-key-UXC44BDR.js.map → api-key-FH6JN447.js.map} +0 -0
  146. /package/dist/{attachment-T6IRFQW3.js.map → attachment-J7GRVT5F.js.map} +0 -0
  147. /package/dist/{auth-SHOCJE6Z.js.map → auth-VZZQXRDR.js.map} +0 -0
  148. /package/dist/{benchmark-NJ2U6VTC.js.map → benchmark-A3SNDARF.js.map} +0 -0
  149. /package/dist/{blackcat-RQJVFGXQ.js.map → blackcat-UM6TBQBN.js.map} +0 -0
  150. /package/dist/{chunk-M752EUK3.js.map → chunk-3JU4UYYN.js.map} +0 -0
  151. /package/dist/{chunk-G6BCST3G.js.map → chunk-3ZOUNCA5.js.map} +0 -0
  152. /package/dist/{chunk-ABT3BLRC.js.map → chunk-5TKXHS3X.js.map} +0 -0
  153. /package/dist/{chunk-QCYSONXI.js.map → chunk-CRYHWO4M.js.map} +0 -0
  154. /package/dist/{chunk-I5RHTCPY.js.map → chunk-EL6KJ4PO.js.map} +0 -0
  155. /package/dist/{chunk-ZL4O6C42.js.map → chunk-HXBK3AGD.js.map} +0 -0
  156. /package/dist/{chunk-PRERH4DN.js.map → chunk-I2SOHQ2C.js.map} +0 -0
  157. /package/dist/{chunk-CYSPCGO6.js.map → chunk-JEHHEMUL.js.map} +0 -0
  158. /package/dist/{chunk-LIEADTEF.js.map → chunk-LJFVRJCA.js.map} +0 -0
  159. /package/dist/{chunk-PHNH3CEU.js.map → chunk-O4Z44BR7.js.map} +0 -0
  160. /package/dist/{chunk-QA37WVF6.js.map → chunk-OQFCZERZ.js.map} +0 -0
  161. /package/dist/{chunk-Z3MDQSZG.js.map → chunk-PJFFGQSB.js.map} +0 -0
  162. /package/dist/{chunk-IY3ZK46I.js.map → chunk-QOVJUSSL.js.map} +0 -0
  163. /package/dist/{chunk-RPJMQBB5.js.map → chunk-QXU4G4YN.js.map} +0 -0
  164. /package/dist/{chunk-SZSTJIYU.js.map → chunk-RRSUKARV.js.map} +0 -0
  165. /package/dist/{chunk-775FI436.js.map → chunk-RVD6J6IZ.js.map} +0 -0
  166. /package/dist/{chunk-5UUIBY6E.js.map → chunk-TAVBFLCR.js.map} +0 -0
  167. /package/dist/{chunk-3HI6QC4V.js.map → chunk-WRBU6TX7.js.map} +0 -0
  168. /package/dist/{chunk-BF3IPGMP.js.map → chunk-XSSZMG65.js.map} +0 -0
  169. /package/dist/{credential-TWSWV64F.js.map → credential-4RFRU6OH.js.map} +0 -0
  170. /package/dist/{credential-template-XO5D5AI3.js.map → credential-template-36PFUTBN.js.map} +0 -0
  171. /package/dist/{digest-SLEFOLPV.js.map → digest-THMKFMP7.js.map} +0 -0
  172. /package/dist/{docs-IDC4V4WQ.js.map → docs-ZGM53L67.js.map} +0 -0
  173. /package/dist/{doctor-SDAYEA6C.js.map → doctor-Z2XBGBM3.js.map} +0 -0
  174. /package/dist/{environment-VBUIBQ6O.js.map → environment-5YVZXBN7.js.map} +0 -0
  175. /package/dist/{exploration-IREIR5PO.js.map → exploration-GZ4WUJJH.js.map} +0 -0
  176. /package/dist/{exploratory-test-4Q7BMEFT.js.map → exploratory-test-Y7P4ZDLD.js.map} +0 -0
  177. /package/dist/{external-run-S7LULKPT.js.map → external-run-IJGGZOGI.js.map} +0 -0
  178. /package/dist/{feature-flag-IASHTUGU.js.map → feature-flag-UH6Z7774.js.map} +0 -0
  179. /package/dist/{flow-IBEZFZTU.js.map → flow-MRWAQYZZ.js.map} +0 -0
  180. /package/dist/{github-HAEZRULP.js.map → github-VDJU3PU3.js.map} +0 -0
  181. /package/dist/{init-LT2TZMQY.js.map → init-CROSTPA6.js.map} +0 -0
  182. /package/dist/{install-RTEYH6TK.js.map → install-ECR7OLAY.js.map} +0 -0
  183. /package/dist/{issues-5GE277R2.js.map → issues-K5TL2S4Z.js.map} +0 -0
  184. /package/dist/{knobs-AMIWGYUZ.js.map → knobs-OKQFBQLK.js.map} +0 -0
  185. /package/dist/{landing-3VLVVQL5.js.map → landing-XANIBPVM.js.map} +0 -0
  186. /package/dist/{list-GDJR6UY6.js.map → list-64GX47Q4.js.map} +0 -0
  187. /package/dist/{local-4R6GVW7U.js.map → local-QMQY2ZUX.js.map} +0 -0
  188. /package/dist/{login-IXVAWTLO.js.map → login-I7UQ3GTM.js.map} +0 -0
  189. /package/dist/{metrics-SSIP5CEB.js.map → metrics-KBTQ3KGZ.js.map} +0 -0
  190. /package/dist/{monitor-ESZYHXT2.js.map → monitor-UGWY43IU.js.map} +0 -0
  191. /package/dist/{product-VCGUV5TH.js.map → product-KLG2ZTHC.js.map} +0 -0
  192. /package/dist/{product-map-AXKZNQDM.js.map → product-map-AMEZ76EQ.js.map} +0 -0
  193. /package/dist/{prompts-FVPSON2N.js.map → prompts-ZVQNGL7X.js.map} +0 -0
  194. /package/dist/{src-AEWV5HYH.js.map → proofs-QCNSQAPX.js.map} +0 -0
  195. /package/dist/{property-XEPCC7KQ.js.map → property-PJDQFHAL.js.map} +0 -0
  196. /package/dist/{psql-JKF3OYYJ.js.map → psql-AURAN27C.js.map} +0 -0
  197. /package/dist/{record-REQ37S54.js.map → record-SYWBTUOB.js.map} +0 -0
  198. /package/dist/{redis-WGHT2GJB.js.map → redis-2H752SKO.js.map} +0 -0
  199. /package/dist/{release-SNDIVIA6.js.map → release-OSIYUXSC.js.map} +0 -0
  200. /package/dist/{runbook-XFJG2LFC.js.map → runbook-7LVHF6KV.js.map} +0 -0
  201. /package/dist/{scenarios-PVHCKP55.js.map → scenarios-P2ABU4HK.js.map} +0 -0
  202. /package/dist/{schedule-DGC7CX23.js.map → schedule-XLS56NP5.js.map} +0 -0
  203. /package/dist/{session-ERGUFDDI.js.map → session-ACSFC3UB.js.map} +0 -0
  204. /package/dist/{slack-WE7THLLH.js.map → slack-ZEK4GRND.js.map} +0 -0
  205. /package/dist/{spec-SEOY7N3L.js.map → spec-XPIRRSV6.js.map} +0 -0
  206. /package/dist/{src-CCK3TKBX.js.map → src-N7ZCYCXU.js.map} +0 -0
  207. /package/dist/{tag-GIFEWGBL.js.map → src-XSBBMVGW.js.map} +0 -0
  208. /package/dist/{start-EPGLHTND.js.map → start-DKWLOQI6.js.map} +0 -0
  209. /package/dist/{status-DTE2GXM2.js.map → status-K7KH5DI3.js.map} +0 -0
  210. /package/dist/{trace-RWQDYL4K.js.map → tag-2Y3OMQQC.js.map} +0 -0
  211. /package/dist/{task-VLJCHSFB.js.map → task-4PIOC4QV.js.map} +0 -0
  212. /package/dist/{triage-6UAXLCGU.js.map → trace-QPXHYBLA.js.map} +0 -0
  213. /package/dist/{update-check-QRREAM3N.js.map → triage-EZABRZZM.js.map} +0 -0
  214. /package/dist/{upgrade-5Y655TQ6.js.map → update-check-E3X7UIY6.js.map} +0 -0
  215. /package/dist/{utilities-SUON2KZK.js.map → upgrade-EJGTMW44.js.map} +0 -0
  216. /package/dist/{usage-KCXFY46V.js.map → usage-GZCQDULF.js.map} +0 -0
  217. /package/dist/{workflow-debug-RACNWWOL.js.map → utilities-RIITD53A.js.map} +0 -0
  218. /package/dist/{visual-GJZVJC32.js.map → visual-FH67OKS2.js.map} +0 -0
  219. /package/dist/{workflow-cache-PFBTWLGM.js.map → workflow-cache-YQ3BGJIG.js.map} +0 -0
  220. /package/dist/{workflow-cache-convergence-resolve-UZGRPC3B.js.map → workflow-cache-convergence-resolve-SPLBRSNK.js.map} +0 -0
  221. /package/dist/{workflow-feedback-RJIQ5R3R.js.map → workflow-feedback-6UOTIWIQ.js.map} +0 -0
  222. /package/dist/{workflow-fork-LINDCYJ3.js.map → workflow-fork-IDYHAHCX.js.map} +0 -0
  223. /package/dist/{workflow-proposals-E4EXKAGM.js.map → workflow-proposals-MMVNIQT3.js.map} +0 -0
  224. /package/dist/{workflow-revisions-5M6APN6R.js.map → workflow-revisions-BPUOLCZB.js.map} +0 -0
  225. /package/dist/{workflow-status-7KL73WS2.js.map → workflow-status-RA3IEMEW.js.map} +0 -0
@@ -1,22 +1,22 @@
1
1
  import { createRequire as __cr } from "module"; import { fileURLToPath as __fup } from "url"; import { dirname as __dn } from "path"; const require = __cr(import.meta.url); const __filename = __fup(import.meta.url); const __dirname = __dn(__filename);
2
2
  import {
3
3
  formatTeardownLines
4
- } from "./chunk-Z3MDQSZG.js";
5
- import {
6
- fetchEnvironments,
7
- resolveEnvironment
8
- } from "./chunk-CYSPCGO6.js";
9
- import "./chunk-775FI436.js";
4
+ } from "./chunk-PJFFGQSB.js";
10
5
  import {
11
6
  resolveSlackChannelIds,
12
7
  resolveTeamsChannelValues
13
- } from "./chunk-QA37WVF6.js";
14
- import "./chunk-LIEADTEF.js";
15
- import "./chunk-QTYUM4ZB.js";
8
+ } from "./chunk-OQFCZERZ.js";
9
+ import "./chunk-LJFVRJCA.js";
10
+ import {
11
+ fetchEnvironments,
12
+ resolveEnvironment
13
+ } from "./chunk-JEHHEMUL.js";
14
+ import "./chunk-RVD6J6IZ.js";
15
+ import "./chunk-EJ3ZPH5U.js";
16
16
  import "./chunk-DEK6B6LX.js";
17
17
  import {
18
18
  runRemoteTest
19
- } from "./chunk-EUVB6Y3C.js";
19
+ } from "./chunk-P7L5KELH.js";
20
20
  import {
21
21
  UUID_RE,
22
22
  apiRequest,
@@ -27,25 +27,25 @@ import {
27
27
  getScalarArgValue,
28
28
  resolveCredentialId,
29
29
  resolveTestSuite
30
- } from "./chunk-LL6TSQWV.js";
30
+ } from "./chunk-VKZOHJCE.js";
31
31
  import "./chunk-S3Q7MDCS.js";
32
32
  import {
33
33
  WORKFLOW_FLOW_TYPES
34
- } from "./chunk-76Z6E7XX.js";
34
+ } from "./chunk-4UZN6TVT.js";
35
35
  import {
36
36
  getArgValue,
37
37
  hasFlag,
38
38
  isSuperadminToken,
39
39
  resolveConfig
40
- } from "./chunk-3HI6QC4V.js";
40
+ } from "./chunk-WRBU6TX7.js";
41
41
  import {
42
42
  writeRawOutput,
43
43
  writeUntrustedText
44
- } from "./chunk-UEJ2HTKU.js";
44
+ } from "./chunk-MJVUMVLO.js";
45
45
  import "./chunk-TOWZAG3I.js";
46
46
 
47
47
  // src/test-suite.ts
48
- import process3 from "process";
48
+ import process4 from "process";
49
49
 
50
50
  // src/test-suite-external.ts
51
51
  import process from "process";
@@ -762,6 +762,74 @@ function fail2(message) {
762
762
  process2.exit(1);
763
763
  }
764
764
 
765
+ // src/test-suite-catalog.ts
766
+ import process3 from "process";
767
+ async function handleSuitesList(argv, apiUrl, token) {
768
+ const jsonOutput = hasFlag(argv, "--json");
769
+ const res = await apiRequest(apiUrl, token, "GET", "/test-suites");
770
+ if (!res.ok) {
771
+ console.error(`Error: ${res.error ?? "Failed to list test suites"}`);
772
+ process3.exit(1);
773
+ }
774
+ const suites = res.data ?? [];
775
+ if (jsonOutput) {
776
+ writeRawOutput(JSON.stringify(suites, null, 2));
777
+ return;
778
+ }
779
+ if (suites.length === 0) {
780
+ console.log("No test suites found.");
781
+ return;
782
+ }
783
+ writeRawOutput(formatSuitesTable(suites));
784
+ }
785
+ async function handleSuiteCatalogGet(argv, apiUrl, token) {
786
+ const suiteRef = getPositionalArg(argv, ["--api-url", "--token", "--org", "--env"]);
787
+ if (!suiteRef) {
788
+ console.error("Usage: cofactor test-suite suites get <suite-id|name> [--json]");
789
+ process3.exit(1);
790
+ }
791
+ const suite = await resolveTestSuite(suiteRef, apiUrl, token);
792
+ const response = await apiRequest(
793
+ apiUrl,
794
+ token,
795
+ "GET",
796
+ `/test-suites/${encodeURIComponent(suite.id)}`
797
+ );
798
+ if (!response.ok || !response.data) {
799
+ console.error(`Error: ${response.error ?? "Failed to read test suite"}`);
800
+ process3.exit(1);
801
+ }
802
+ const detail = response.data;
803
+ if (hasFlag(argv, "--json")) {
804
+ writeRawOutput(JSON.stringify(detail, null, 2));
805
+ return;
806
+ }
807
+ writeRawOutput(
808
+ [
809
+ `Suite: ${detail.name}`,
810
+ `ID: ${detail.id}`,
811
+ `Default: ${detail.isDefault ? "yes" : "no"}`,
812
+ `Kind: ${detail.kind}`,
813
+ `Failure mode: ${detail.failureMode}`,
814
+ `Members: ${detail.members.length}`
815
+ ].join("\n")
816
+ );
817
+ }
818
+ function formatSuitesTable(suites) {
819
+ const lines = [
820
+ `Named suites (${suites.length}):`,
821
+ "",
822
+ " NAME KIND DEFAULT MEMBERS LAYERS FAILURE MODE ID"
823
+ ];
824
+ for (const suite of suites) {
825
+ lines.push(
826
+ ` ${suite.name.padEnd(30)} ${suite.kind.padEnd(9)} ${String(suite.isDefault ? "yes" : "no").padEnd(7)} ${String(suite.workflowCount).padEnd(8)} ${String(suite.layerCount).padEnd(7)} ${suite.failureMode.padEnd(22)} ${suite.id}`
827
+ );
828
+ }
829
+ lines.push("");
830
+ return lines.join("\n");
831
+ }
832
+
765
833
  // src/test-suite.ts
766
834
  var STATUS_ICONS = {
767
835
  completed: "\u2705",
@@ -825,7 +893,7 @@ async function handleList(argv, apiUrl, token) {
825
893
  );
826
894
  if (!result.ok) {
827
895
  console.error(`Error: ${result.error ?? "Unknown error"}`);
828
- process3.exit(1);
896
+ process4.exit(1);
829
897
  }
830
898
  if (jsonOutput) {
831
899
  writeRawOutput(JSON.stringify(result, null, 2));
@@ -856,7 +924,7 @@ async function handleGet(argv, apiUrl, token) {
856
924
  const id = argv.find((a) => !a.startsWith("-"));
857
925
  if (!id) {
858
926
  console.error("Error: Missing execution ID. Usage: canary test-suite get <executionId>");
859
- process3.exit(1);
927
+ process4.exit(1);
860
928
  }
861
929
  const jsonOutput = hasFlag(argv, "--json");
862
930
  const failuresOnly = hasFlag(argv, "--failures-only");
@@ -868,7 +936,7 @@ async function handleGet(argv, apiUrl, token) {
868
936
  );
869
937
  if (!result.ok) {
870
938
  console.error(`Error: ${result.error ?? "Unknown error"}`);
871
- process3.exit(1);
939
+ process4.exit(1);
872
940
  }
873
941
  if (jsonOutput) {
874
942
  const output = failuresOnly ? { ...result, testRuns: result.testRuns.filter((r) => r.status === "failed") } : result;
@@ -926,7 +994,7 @@ async function handleDiagnostics(argv, apiUrl, token) {
926
994
  console.error(
927
995
  "Error: Missing arguments. Usage: canary test-suite diagnostics <workflowId> <runId>"
928
996
  );
929
- process3.exit(1);
997
+ process4.exit(1);
930
998
  }
931
999
  const [workflowId, runId] = positional;
932
1000
  const jsonOutput = hasFlag(argv, "--json");
@@ -939,7 +1007,7 @@ async function handleDiagnostics(argv, apiUrl, token) {
939
1007
  );
940
1008
  if (!result.ok) {
941
1009
  console.error(`Error: ${result.error ?? "Unknown error"}`);
942
- process3.exit(1);
1010
+ process4.exit(1);
943
1011
  }
944
1012
  if (jsonOutput) {
945
1013
  writeRawOutput(JSON.stringify(result, null, 2));
@@ -1010,7 +1078,7 @@ async function handleSteps(argv, apiUrl, token) {
1010
1078
  const positional = argv.filter((a) => !a.startsWith("-"));
1011
1079
  if (positional.length < 2) {
1012
1080
  console.error("Error: Missing arguments. Usage: canary test-suite steps <workflowId> <runId>");
1013
- process3.exit(1);
1081
+ process4.exit(1);
1014
1082
  }
1015
1083
  const [workflowId, runId] = positional;
1016
1084
  const jsonOutput = hasFlag(argv, "--json");
@@ -1022,7 +1090,7 @@ async function handleSteps(argv, apiUrl, token) {
1022
1090
  );
1023
1091
  if (!result.ok) {
1024
1092
  console.error(`Error: ${result.error ?? "Unknown error"}`);
1025
- process3.exit(1);
1093
+ process4.exit(1);
1026
1094
  }
1027
1095
  if (jsonOutput) {
1028
1096
  writeRawOutput(JSON.stringify(result, null, 2));
@@ -1075,31 +1143,31 @@ async function resolveFlowRef(ref, apiUrl, token) {
1075
1143
  });
1076
1144
  const result = await apiRequest(apiUrl, token, "GET", `/workflows?${params}`);
1077
1145
  if (!result.ok) {
1078
- process3.stderr.write(`Error: Failed to look up flow "${ref}": ${result.error ?? "Unknown error"}
1146
+ process4.stderr.write(`Error: Failed to look up flow "${ref}": ${result.error ?? "Unknown error"}
1079
1147
  `);
1080
- process3.exit(1);
1148
+ process4.exit(1);
1081
1149
  }
1082
1150
  const data = result.data;
1083
1151
  const totalItems = result.pagination.totalItems;
1084
1152
  if (totalItems > data.length) {
1085
- process3.stderr.write(
1153
+ process4.stderr.write(
1086
1154
  `Error: "${ref}" matches more than the first ${data.length} of ${totalItems} flows returned by search \u2014 can't confirm the name isn't ambiguous. Pass the flow id instead, or use a more specific name.
1087
1155
  `
1088
1156
  );
1089
- process3.exit(1);
1157
+ process4.exit(1);
1090
1158
  }
1091
1159
  const matches = data.filter((w) => w.name.toLowerCase() === ref.toLowerCase());
1092
1160
  if (matches.length === 0) {
1093
- process3.stderr.write(`Error: No flow named "${ref}" found. Pass the flow id instead of the name.
1161
+ process4.stderr.write(`Error: No flow named "${ref}" found. Pass the flow id instead of the name.
1094
1162
  `);
1095
- process3.exit(1);
1163
+ process4.exit(1);
1096
1164
  }
1097
1165
  if (matches.length > 1) {
1098
- process3.stderr.write(`Error: Multiple flows are named "${ref}":
1166
+ process4.stderr.write(`Error: Multiple flows are named "${ref}":
1099
1167
  `);
1100
1168
  for (const m of matches) console.error(` - ${m.id}`);
1101
1169
  console.error("Pass the flow id instead to disambiguate.");
1102
- process3.exit(1);
1170
+ process4.exit(1);
1103
1171
  }
1104
1172
  return matches[0].id;
1105
1173
  }
@@ -1128,68 +1196,36 @@ function buildSuiteWriteBody(argv) {
1128
1196
  console.error(
1129
1197
  `Error: --failure-mode must be "continue" or "stop_on_layer_failure" (got "${failureMode}").`
1130
1198
  );
1131
- process3.exit(1);
1199
+ process4.exit(1);
1132
1200
  }
1133
1201
  body.failureMode = failureMode;
1134
1202
  }
1135
1203
  return body;
1136
1204
  }
1137
- async function handleSuitesList(argv, apiUrl, token) {
1138
- const jsonOutput = hasFlag(argv, "--json");
1139
- const res = await apiRequest(apiUrl, token, "GET", "/test-suites");
1140
- if (!res.ok) {
1141
- console.error(`Error: ${res.error ?? "Failed to list test suites"}`);
1142
- process3.exit(1);
1143
- }
1144
- const suites = res.data ?? [];
1145
- if (jsonOutput) {
1146
- writeRawOutput(JSON.stringify(suites, null, 2));
1147
- return;
1148
- }
1149
- if (suites.length === 0) {
1150
- console.log("No test suites found.");
1151
- return;
1152
- }
1153
- writeRawOutput(formatSuitesTable(suites));
1154
- }
1155
- function formatSuitesTable(suites) {
1156
- const lines = [
1157
- `Named suites (${suites.length}):`,
1158
- "",
1159
- ` ${pad("NAME", 30)} ${pad("KIND", 9)} ${pad("MEMBERS", 8)} ${pad("LAYERS", 7)} ${pad("FAILURE MODE", 22)} ID`
1160
- ];
1161
- for (const s of suites) {
1162
- lines.push(
1163
- ` ${pad(s.name, 30)} ${pad(s.kind, 9)} ${pad(String(s.workflowCount), 8)} ${pad(String(s.layerCount), 7)} ${pad(s.failureMode, 22)} ${s.id}`
1164
- );
1165
- }
1166
- lines.push("");
1167
- return lines.join("\n");
1168
- }
1169
1205
  async function handleSuiteCreate(argv, apiUrl, token) {
1170
1206
  const jsonOutput = hasFlag(argv, "--json");
1171
1207
  const body = buildSuiteWriteBody(argv);
1172
1208
  if (typeof body.name !== "string" || !body.name.trim()) {
1173
1209
  console.error("Error: --name is required.");
1174
1210
  console.error("Usage: canary test-suite create --name <name> [options]");
1175
- process3.exit(1);
1211
+ process4.exit(1);
1176
1212
  }
1177
1213
  const kind = getScalarArgValue(argv, "--kind");
1178
1214
  if (kind !== void 0 && kind !== "native" && kind !== "external") {
1179
1215
  console.error(`Error: --kind must be "native" or "external" (got "${kind}").`);
1180
- process3.exit(1);
1216
+ process4.exit(1);
1181
1217
  }
1182
1218
  if (hasAnyFlag(argv, UPDATE_ONLY_RUNNER_FLAGS)) {
1183
1219
  console.error(
1184
1220
  'Error: runner flags are set with "test-suite update <suite> \u2026" after the suite exists.'
1185
1221
  );
1186
- process3.exit(1);
1222
+ process4.exit(1);
1187
1223
  }
1188
1224
  if (kind !== "external" && hasAnyFlag(argv, EXTERNAL_SUITE_FLAGS.filter((f) => f !== "--kind"))) {
1189
1225
  console.error(
1190
1226
  "Error: --provider/--source/--repo/--ref/--property/--environment/--credential/--application require --kind external."
1191
1227
  );
1192
- process3.exit(1);
1228
+ process4.exit(1);
1193
1229
  }
1194
1230
  let repoLabel;
1195
1231
  if (kind === "external") {
@@ -1201,7 +1237,7 @@ async function handleSuiteCreate(argv, apiUrl, token) {
1201
1237
  const res = await apiRequest(apiUrl, token, "POST", "/test-suites", body);
1202
1238
  if (!res.ok || !res.data) {
1203
1239
  console.error(`Error: ${res.error ?? "Failed to create test suite"}`);
1204
- process3.exit(1);
1240
+ process4.exit(1);
1205
1241
  }
1206
1242
  if (jsonOutput) {
1207
1243
  writeRawOutput(JSON.stringify(res.data, null, 2));
@@ -1224,11 +1260,11 @@ async function handleSuiteUpdate(argv, apiUrl, token) {
1224
1260
  const arg = getPositionalArg(argv, SUITE_WRITE_FLAGS);
1225
1261
  if (!arg) {
1226
1262
  console.error("Usage: canary test-suite update <id|name> [options]");
1227
- process3.exit(1);
1263
+ process4.exit(1);
1228
1264
  }
1229
1265
  if (hasAnyFlag(argv, EXTERNAL_CREATE_FLAGS)) {
1230
1266
  console.error("Error: --kind and --provider are create-only; a suite's engine cannot change.");
1231
- process3.exit(1);
1267
+ process4.exit(1);
1232
1268
  }
1233
1269
  const suite = await resolveTestSuite(arg, apiUrl, token);
1234
1270
  const jsonOutput = hasFlag(argv, "--json");
@@ -1237,11 +1273,11 @@ async function handleSuiteUpdate(argv, apiUrl, token) {
1237
1273
  if (hasAnyFlag(argv, EXTERNAL_RUNNER_FLAGS)) {
1238
1274
  const detail = await fetchSuiteDetail(suite.id, apiUrl, token);
1239
1275
  if (detail.kind !== "external" || !detail.externalRunner) {
1240
- process3.stderr.write(
1276
+ process4.stderr.write(
1241
1277
  `Error: "${detail.name}" is a native suite; runner flags (${EXTERNAL_RUNNER_FLAGS.join(", ")}) apply to external suites only.
1242
1278
  `
1243
1279
  );
1244
- process3.exit(1);
1280
+ process4.exit(1);
1245
1281
  }
1246
1282
  runnerBodies = await buildExternalRunnerBodies(argv, detail.externalRunner, apiUrl, token);
1247
1283
  }
@@ -1249,7 +1285,7 @@ async function handleSuiteUpdate(argv, apiUrl, token) {
1249
1285
  console.error(
1250
1286
  `Error: No fields to update. Provide at least one of: --name, --description, --failure-mode, or a runner flag (${EXTERNAL_RUNNER_FLAGS.join(", ")})`
1251
1287
  );
1252
- process3.exit(1);
1288
+ process4.exit(1);
1253
1289
  }
1254
1290
  const { runner, applied } = await applyExternalRunnerUpdate(suite.id, runnerBodies, apiUrl, token);
1255
1291
  let updated;
@@ -1257,11 +1293,11 @@ async function handleSuiteUpdate(argv, apiUrl, token) {
1257
1293
  const res = await apiRequest(apiUrl, token, "PATCH", `/test-suites/${suite.id}`, body);
1258
1294
  if (!res.ok || !res.data) {
1259
1295
  if (applied.length > 0) {
1260
- process3.stderr.write(`Already applied before this failure: ${applied.join(", ")}.
1296
+ process4.stderr.write(`Already applied before this failure: ${applied.join(", ")}.
1261
1297
  `);
1262
1298
  }
1263
1299
  console.error(`Error: ${res.error ?? "Failed to update test suite"}`);
1264
- process3.exit(1);
1300
+ process4.exit(1);
1265
1301
  }
1266
1302
  updated = res.data;
1267
1303
  }
@@ -1283,20 +1319,20 @@ async function handleSuiteDelete(argv, apiUrl, token) {
1283
1319
  const arg = getPositionalArg(argv, SUITE_WRITE_FLAGS);
1284
1320
  if (!arg) {
1285
1321
  console.error("Usage: canary test-suite delete <id|name> [--yes]");
1286
- process3.exit(1);
1322
+ process4.exit(1);
1287
1323
  }
1288
1324
  const jsonOutput = hasFlag(argv, "--json");
1289
1325
  const suite = await resolveTestSuite(arg, apiUrl, token);
1290
1326
  if (!hasFlag(argv, "--yes")) {
1291
- process3.stderr.write(`Refusing to delete "${suite.name}" (${suite.id}) without --yes.
1327
+ process4.stderr.write(`Refusing to delete "${suite.name}" (${suite.id}) without --yes.
1292
1328
  `);
1293
1329
  console.error("Automations and CLI runs pointing at this suite will fail once it is deleted.");
1294
- process3.exit(1);
1330
+ process4.exit(1);
1295
1331
  }
1296
1332
  const res = await apiRequest(apiUrl, token, "DELETE", `/test-suites/${suite.id}`);
1297
1333
  if (!res.ok || !res.data) {
1298
1334
  console.error(`Error: ${res.error ?? "Failed to delete test suite"}`);
1299
- process3.exit(1);
1335
+ process4.exit(1);
1300
1336
  }
1301
1337
  if (jsonOutput) {
1302
1338
  writeRawOutput(JSON.stringify(res.data, null, 2));
@@ -1308,7 +1344,7 @@ async function fetchSuiteDetail(id, apiUrl, token) {
1308
1344
  const res = await apiRequest(apiUrl, token, "GET", `/test-suites/${id}`);
1309
1345
  if (!res.ok || !res.data) {
1310
1346
  console.error(`Error: ${res.error ?? "Failed to load test suite"}`);
1311
- process3.exit(1);
1347
+ process4.exit(1);
1312
1348
  }
1313
1349
  return res.data;
1314
1350
  }
@@ -1316,7 +1352,7 @@ async function handleSuiteMembers(argv, apiUrl, token) {
1316
1352
  const arg = getPositionalArg(argv, SUITE_WRITE_FLAGS);
1317
1353
  if (!arg) {
1318
1354
  console.error("Usage: canary test-suite members <id|name> [--json]");
1319
- process3.exit(1);
1355
+ process4.exit(1);
1320
1356
  }
1321
1357
  const suite = await resolveTestSuite(arg, apiUrl, token);
1322
1358
  const detail = await fetchSuiteDetail(suite.id, apiUrl, token);
@@ -1354,7 +1390,7 @@ async function handleSuiteSetMembers(argv, apiUrl, token) {
1354
1390
  const arg = getPositionalArg(argv, SUITE_WRITE_FLAGS);
1355
1391
  if (!arg) {
1356
1392
  console.error("Usage: canary test-suite set-members <id|name> --layer <flow[,flow...]> [options]");
1357
- process3.exit(1);
1393
+ process4.exit(1);
1358
1394
  }
1359
1395
  const layerArgs = getArgValues(argv, "--layer");
1360
1396
  const stagingArgs = getArgValues(argv, "--staging");
@@ -1362,7 +1398,7 @@ async function handleSuiteSetMembers(argv, apiUrl, token) {
1362
1398
  console.error(
1363
1399
  "Error: Nothing to set. Provide at least one --layer <flow[,flow...]> (repeatable) and/or --staging <flow[,flow...]>."
1364
1400
  );
1365
- process3.exit(1);
1401
+ process4.exit(1);
1366
1402
  }
1367
1403
  const suite = await resolveTestSuite(arg, apiUrl, token);
1368
1404
  const jsonOutput = hasFlag(argv, "--json");
@@ -1370,12 +1406,12 @@ async function handleSuiteSetMembers(argv, apiUrl, token) {
1370
1406
  if (!confirmed) {
1371
1407
  const existing = await fetchSuiteDetail(suite.id, apiUrl, token);
1372
1408
  if (existing.members.length > 0) {
1373
- process3.stderr.write(
1409
+ process4.stderr.write(
1374
1410
  `Refusing to replace ${existing.members.length} existing member(s) of "${suite.name}" (${suite.id}) without --yes.
1375
1411
  `
1376
1412
  );
1377
1413
  console.error("set-members is a FULL REPLACE \u2014 anything not listed is removed from the suite.");
1378
- process3.exit(1);
1414
+ process4.exit(1);
1379
1415
  }
1380
1416
  }
1381
1417
  const cache = /* @__PURE__ */ new Map();
@@ -1401,7 +1437,7 @@ async function handleSuiteSetMembers(argv, apiUrl, token) {
1401
1437
  );
1402
1438
  if (!res.ok || !res.data) {
1403
1439
  console.error(`Error: ${res.error ?? "Failed to set suite members"}`);
1404
- process3.exit(1);
1440
+ process4.exit(1);
1405
1441
  }
1406
1442
  if (jsonOutput) {
1407
1443
  writeRawOutput(JSON.stringify(res.data, null, 2));
@@ -1417,6 +1453,7 @@ function printTestSuiteHelp() {
1417
1453
  "Sub-commands:",
1418
1454
  " run [options] Trigger a test suite and stream results",
1419
1455
  " suites [--json] List named suite definitions",
1456
+ " suites get <id|name> [--json] Inspect a named suite",
1420
1457
  " executions [options] List recent test suite executions",
1421
1458
  " list [options] (deprecated \u2014 will list suite definitions in future; use executions/suites)",
1422
1459
  " get <executionId> [options] Show one execution's runs",
@@ -1447,9 +1484,10 @@ function printTestSuiteHelp() {
1447
1484
  " --application <name|id> Target a specific application (alias: --property)",
1448
1485
  " --environment <name|id> Target a specific environment (required with --env-mode force)",
1449
1486
  " --env-mode <mode> mixed (default \u2014 each flow on its preferred env) | force (pin to --environment)",
1450
- " --at <sha> With --suite: run its Sandboxes v2 environments at this full 40-character",
1451
- " commit sha instead of the default branch head (the sha must exist in the",
1452
- " application's linked GitHub repository). The result shows the pinned commit.",
1487
+ " --at <sha|pushId|tag> With --suite: pin its Sandboxes v2 environments to a commit SHA (GitHub)",
1488
+ " or a push id or case-sensitive tag (pushed applications).",
1489
+ " Mixed GitHub and pushed suites cannot be pinned with one --at.",
1490
+ " The result shows Pinned at.",
1453
1491
  " A pinned run never feeds visual baselines.",
1454
1492
  " --tag <tag> Filter workflows by tag",
1455
1493
  " --name-pattern <pat> Filter workflows by name pattern",
@@ -1570,7 +1608,7 @@ async function runTestSuite(argv) {
1570
1608
  if (knownValueFlags.has(arg)) {
1571
1609
  if (!rest[index + 1] || rest[index + 1].startsWith("-")) {
1572
1610
  console.error(`Error: ${arg} requires a value.`);
1573
- process3.exit(1);
1611
+ process4.exit(1);
1574
1612
  }
1575
1613
  index += 1;
1576
1614
  continue;
@@ -1578,17 +1616,17 @@ async function runTestSuite(argv) {
1578
1616
  if (/^--(?:api-url|env|org|token)=/.test(arg)) continue;
1579
1617
  if (arg.startsWith("-")) {
1580
1618
  console.error(`Error: Unknown validate option: ${arg}`);
1581
- process3.exit(1);
1619
+ process4.exit(1);
1582
1620
  }
1583
1621
  }
1584
1622
  const [directory] = testSuitePositionals(rest);
1585
1623
  if (!directory) {
1586
1624
  console.error("Usage: cofactor test-suite validate <directory>");
1587
- process3.exit(1);
1625
+ process4.exit(1);
1588
1626
  }
1589
1627
  if (testSuitePositionals(rest).length !== 1) {
1590
1628
  console.error("Error: validate accepts exactly one directory.");
1591
- process3.exit(1);
1629
+ process4.exit(1);
1592
1630
  }
1593
1631
  await validateTestSuiteDirectory(directory, { json: hasFlag(rest, "--json") });
1594
1632
  return;
@@ -1605,7 +1643,11 @@ async function runTestSuite(argv) {
1605
1643
  await handleList(rest, apiUrl, token);
1606
1644
  break;
1607
1645
  case "suites":
1608
- await handleSuitesList(rest, apiUrl, token);
1646
+ if (rest[0] === "get") {
1647
+ await handleSuiteCatalogGet(rest.slice(1), apiUrl, token);
1648
+ } else {
1649
+ await handleSuitesList(rest, apiUrl, token);
1650
+ }
1609
1651
  break;
1610
1652
  case "get":
1611
1653
  await handleGet(rest, apiUrl, token);
@@ -1640,7 +1682,7 @@ async function runTestSuite(argv) {
1640
1682
  default:
1641
1683
  console.error(`Unknown sub-command: ${subCommand}`);
1642
1684
  printTestSuiteHelp();
1643
- process3.exit(1);
1685
+ process4.exit(1);
1644
1686
  }
1645
1687
  }
1646
1688
  export {
@@ -1650,4 +1692,4 @@ export {
1650
1692
  handleSuitesList,
1651
1693
  runTestSuite
1652
1694
  };
1653
- //# sourceMappingURL=test-suite-CTACGIAZ.js.map
1695
+ //# sourceMappingURL=test-suite-SW25YGJV.js.map