@runcofactor/cli 0.57.0 → 0.58.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 (248) hide show
  1. package/README.md +40 -0
  2. package/dist/{account-S7VHLHYX.js → account-CWSADXJD.js} +5 -5
  3. package/dist/{alert-DZUI3JEU.js → alert-VEZZJPIH.js} +8 -8
  4. package/dist/{api-catalog-WP6AQYUG.js → api-catalog-OBE6ITCJ.js} +5 -5
  5. package/dist/{api-key-U57EC2YF.js → api-key-265DBPSR.js} +5 -5
  6. package/dist/{attachment-MICVVXUW.js → attachment-QE65VNDG.js} +5 -5
  7. package/dist/{auth-UDD77PG6.js → auth-DG6RD4UA.js} +3 -3
  8. package/dist/{benchmark-Q5BVGQ3I.js → benchmark-3R75GENH.js} +5 -5
  9. package/dist/billing-AGY6VUCA.js +64 -0
  10. package/dist/billing-AGY6VUCA.js.map +1 -0
  11. package/dist/{blackcat-TZNSDQAC.js → blackcat-EKZS3TBD.js} +3 -3
  12. package/dist/{chunk-AHS2HMEH.js → chunk-4KFJQPJF.js} +3 -3
  13. package/dist/{chunk-LP4X7TWI.js → chunk-56WV7CFM.js} +2 -2
  14. package/dist/{chunk-3EKIGWMN.js → chunk-A6VDLUMH.js} +3 -3
  15. package/dist/{chunk-XQZJWDM4.js → chunk-B7G4TOYC.js} +5 -5
  16. package/dist/{chunk-U3MXJTTD.js → chunk-BDPNJKUZ.js} +10 -10
  17. package/dist/{chunk-IIDQM4MY.js → chunk-BMFD4OPC.js} +2 -2
  18. package/dist/{chunk-EYHJ5FIA.js → chunk-C6SNLHVE.js} +10 -1
  19. package/dist/chunk-C6SNLHVE.js.map +1 -0
  20. package/dist/{chunk-T5MU76RA.js → chunk-C77XIO2W.js} +4 -4
  21. package/dist/{chunk-FBEQNW2P.js → chunk-DFN2NH37.js} +2 -2
  22. package/dist/{chunk-4SQKKD3R.js → chunk-EDX47DXT.js} +2 -2
  23. package/dist/{chunk-BSCEOIYX.js → chunk-FQ6P522C.js} +2 -2
  24. package/dist/{chunk-6IMNRYC3.js → chunk-GQSW6ZY3.js} +5 -5
  25. package/dist/{chunk-4GDEKB5S.js → chunk-GVNSCSIC.js} +4 -4
  26. package/dist/{chunk-W4P6BGJ7.js → chunk-IN3AF6LI.js} +4 -4
  27. package/dist/{chunk-CZOYFKTY.js → chunk-IVJU3LP6.js} +3 -3
  28. package/dist/{chunk-H2K3ABPO.js → chunk-K54XL64A.js} +6 -6
  29. package/dist/{chunk-T6ZNIMI4.js → chunk-LRIP5IQD.js} +3 -3
  30. package/dist/chunk-LRIP5IQD.js.map +1 -0
  31. package/dist/{chunk-T6KTBHWD.js → chunk-LZLSRN5Q.js} +6 -6
  32. package/dist/{chunk-YILSW5ZY.js → chunk-MCJOF3JX.js} +4 -4
  33. package/dist/{chunk-SBQLD7X6.js → chunk-PN5IK7CJ.js} +2 -2
  34. package/dist/{chunk-K3MG2ZMH.js → chunk-RIBSXEAM.js} +2 -2
  35. package/dist/{chunk-DTB5HUD2.js → chunk-SPTLZJOF.js} +5 -4
  36. package/dist/chunk-SPTLZJOF.js.map +1 -0
  37. package/dist/{chunk-K2USFSTX.js → chunk-T7NZHHC5.js} +3 -3
  38. package/dist/{chunk-5MFHNT56.js → chunk-TWPCN4DV.js} +2 -2
  39. package/dist/chunk-UPP4F2BE.js +519 -0
  40. package/dist/chunk-UPP4F2BE.js.map +1 -0
  41. package/dist/{chunk-KD7VGZX7.js → chunk-UZZ5OHXT.js} +7 -7
  42. package/dist/{chunk-N55RKCGR.js → chunk-V22CGGHO.js} +6 -1
  43. package/dist/chunk-V22CGGHO.js.map +1 -0
  44. package/dist/{chunk-YFXTMFYB.js → chunk-V6OC2WQL.js} +5 -5
  45. package/dist/{chunk-YV4RASGX.js → chunk-W43YGZOP.js} +18 -6
  46. package/dist/chunk-W43YGZOP.js.map +1 -0
  47. package/dist/{chunk-TG32WC4J.js → chunk-W6TPKE5S.js} +2 -2
  48. package/dist/{chunk-72Y65NWI.js → chunk-WY4R4IL5.js} +3 -3
  49. package/dist/{chunk-XGGHOHZS.js → chunk-XD3PSGFG.js} +3 -3
  50. package/dist/chunk-XD3PSGFG.js.map +1 -0
  51. package/dist/{chunk-ETXIGTS7.js → chunk-XKR275VJ.js} +3 -3
  52. package/dist/{credential-HM4THJOS.js → credential-DPUCDGYC.js} +5 -5
  53. package/dist/{credential-template-JBV3FZBY.js → credential-template-67RQWMH2.js} +5 -5
  54. package/dist/{dev-D2HS5XXN.js → dev-MU45HWAN.js} +456 -170
  55. package/dist/dev-MU45HWAN.js.map +1 -0
  56. package/dist/{digest-54VJ7KTF.js → digest-4PABSK2F.js} +8 -8
  57. package/dist/{docs-PPQSNRP6.js → docs-ZL5QOHCB.js} +5 -5
  58. package/dist/{doctor-CXFGSPWH.js → doctor-J5X2HSLJ.js} +3 -3
  59. package/dist/{environment-6MXRQV5L.js → environment-7Q6WDKMM.js} +7 -7
  60. package/dist/{eval-HCDXL4QT.js → eval-37P36M53.js} +51 -358
  61. package/dist/eval-37P36M53.js.map +1 -0
  62. package/dist/{exploration-U2WMYBZ3.js → exploration-7PHVC753.js} +5 -5
  63. package/dist/{exploratory-test-FD7VGUKE.js → exploratory-test-NE7ECFWS.js} +6 -6
  64. package/dist/{external-run-THSD26B7.js → external-run-KZGHVSHY.js} +134 -11
  65. package/dist/external-run-KZGHVSHY.js.map +1 -0
  66. package/dist/{feature-flag-D5IZ6OEG.js → feature-flag-YFWCPWIR.js} +5 -5
  67. package/dist/{feedback-6YCQMQQ3.js → feedback-HVR7LMFL.js} +6 -6
  68. package/dist/{flow-OVEA7273.js → flow-M6QBA4WR.js} +5 -5
  69. package/dist/{github-L2AFIEVN.js → github-HUBAWWFS.js} +6 -6
  70. package/dist/index.js +87 -80
  71. package/dist/index.js.map +1 -1
  72. package/dist/{init-ADOE2D6R.js → init-5A7VDZU4.js} +5 -5
  73. package/dist/{install-SB6NLXDQ.js → install-HM3USHVU.js} +5 -5
  74. package/dist/{issues-V2DSZXAN.js → issues-W6WIQ4RX.js} +8 -8
  75. package/dist/{knobs-MR4H55EB.js → knobs-NR52HEAL.js} +5 -5
  76. package/dist/{landing-KTYDL7QJ.js → landing-FHE7RWCR.js} +7 -7
  77. package/dist/{list-DFBHWU77.js → list-6J6BCU2L.js} +5 -5
  78. package/dist/{local-QXSTGDFN.js → local-DNRUTJBN.js} +7 -7
  79. package/dist/{login-KGIZAZCR.js → login-K7CNO4QS.js} +5 -5
  80. package/dist/{mcp-EDYHUOFI.js → mcp-G72SEYO5.js} +10 -10
  81. package/dist/mcp-eval-X4AGPFWW.js +450 -0
  82. package/dist/mcp-eval-X4AGPFWW.js.map +1 -0
  83. package/dist/{metrics-JUONV7EL.js → metrics-WXQPVDQY.js} +5 -5
  84. package/dist/{monitor-F7F7EJAL.js → monitor-URPOJOER.js} +5 -5
  85. package/dist/{perf-L2YL4Z2L.js → perf-WG6DAZBT.js} +11 -11
  86. package/dist/{product-UBLNRF5Y.js → product-TGOCFPCC.js} +5 -5
  87. package/dist/{product-map-7K5I5TVU.js → product-map-PKDPF2FB.js} +7 -7
  88. package/dist/{prompts-3JNN4M46.js → prompts-63KKMXLZ.js} +5 -5
  89. package/dist/{proofs-MJ7MGBCW.js → proofs-XRQ3BMM2.js} +9 -9
  90. package/dist/{property-TCDBREZL.js → property-O3PMHQLJ.js} +6 -6
  91. package/dist/{psql-YD54GQMP.js → psql-SUE2TORV.js} +5 -5
  92. package/dist/{record-OWBURAZ4.js → record-C245ESQA.js} +6 -6
  93. package/dist/{redis-3SIKQULP.js → redis-CAOX2ODS.js} +5 -5
  94. package/dist/{release-DMCBRVA5.js → release-ALUGJZTN.js} +5 -5
  95. package/dist/{runbook-ZRKWCLZE.js → runbook-63HBD7WH.js} +5 -5
  96. package/dist/{sandbox-HMZR6SKM.js → sandbox-IC5E53CC.js} +9 -9
  97. package/dist/{scenarios-2QHT5A4F.js → scenarios-JR2H7SZC.js} +5 -5
  98. package/dist/{schedule-4L7LOUDB.js → schedule-FHMCSKPL.js} +8 -8
  99. package/dist/{session-JHLYECKM.js → session-BKHVVZS3.js} +9 -9
  100. package/dist/{skill-ARJSVWCZ.js → skill-TZE27TIN.js} +3 -3
  101. package/dist/{slack-T7CR4SAU.js → slack-3BQ2T3ZS.js} +6 -6
  102. package/dist/{spec-RDNTNUE2.js → spec-PCAK2BX5.js} +5 -5
  103. package/dist/{src-DJETLMXP.js → src-BCJZMHSQ.js} +3 -3
  104. package/dist/{src-H7IBLPDW.js → src-BPKBSXKX.js} +4 -4
  105. package/dist/{src-DPJGVNYG.js → src-PNV4HGUY.js} +3 -3
  106. package/dist/{src-UKPMEXXT.js → src-ZJGBNWYB.js} +5 -5
  107. package/dist/{start-NR7W2LIP.js → start-BA5UEI3W.js} +5 -5
  108. package/dist/{status-UDNXR5GK.js → status-TUXK57H4.js} +5 -5
  109. package/dist/{tag-ADP2MZ3V.js → tag-IBDEJZM7.js} +6 -6
  110. package/dist/{task-KQOUTIJU.js → task-WXZQM4BW.js} +6 -6
  111. package/dist/{teams-D4QXSVDA.js → teams-656T2IHZ.js} +7 -7
  112. package/dist/{test-suite-DYMY4YAG.js → test-suite-ETXWE5HB.js} +12 -12
  113. package/dist/{tickets-BX3LFWUS.js → tickets-LWP3XIHG.js} +5 -5
  114. package/dist/{trace-MBRU6DLE.js → trace-RNEY6XCJ.js} +8 -8
  115. package/dist/{triage-IXAU73VL.js → triage-VZIIN7KB.js} +6 -6
  116. package/dist/{trigger-CHSWCUV3.js → trigger-KTTSNSRU.js} +10 -10
  117. package/dist/{update-check-LLETICM4.js → update-check-SLGKNOUC.js} +4 -4
  118. package/dist/{upgrade-35WVNUEG.js → upgrade-2KSYA4GE.js} +5 -5
  119. package/dist/{usage-YUYXUNF2.js → usage-SC4NWQ5A.js} +99 -14
  120. package/dist/usage-SC4NWQ5A.js.map +1 -0
  121. package/dist/{utilities-MOHIKBBF.js → utilities-O4VVADHM.js} +6 -6
  122. package/dist/{visual-RNYERKX4.js → visual-ZWQTVXTM.js} +5 -5
  123. package/dist/{workflow-NM5IC7ZQ.js → workflow-7HKA2WKO.js} +30 -30
  124. package/dist/{workflow-cache-JNN7BS2K.js → workflow-cache-FDN2N5HH.js} +18 -18
  125. package/dist/{workflow-cache-convergence-resolve-4SO2MP7T.js → workflow-cache-convergence-resolve-BGEUM7WV.js} +5 -5
  126. package/dist/{workflow-debug-E7BXSSOG.js → workflow-debug-KNE7SVXQ.js} +11 -11
  127. package/dist/{workflow-feedback-EWAK45AB.js → workflow-feedback-YY2FZTV4.js} +5 -5
  128. package/dist/{workflow-fork-NO5IFBD4.js → workflow-fork-FH5KBVWP.js} +5 -5
  129. package/dist/{workflow-promotion-NWIZNAR4.js → workflow-promotion-RRI53FB6.js} +5 -5
  130. package/dist/{workflow-proposals-XMAZJT3X.js → workflow-proposals-5XGCOTEU.js} +5 -5
  131. package/dist/{workflow-revisions-4EQMLZGY.js → workflow-revisions-M6WPGXAT.js} +5 -5
  132. package/dist/{workflow-status-AZMXQZLC.js → workflow-status-I5BSSWHY.js} +5 -5
  133. package/package.json +2 -2
  134. package/dist/chunk-DTB5HUD2.js.map +0 -1
  135. package/dist/chunk-EYHJ5FIA.js.map +0 -1
  136. package/dist/chunk-N55RKCGR.js.map +0 -1
  137. package/dist/chunk-T6ZNIMI4.js.map +0 -1
  138. package/dist/chunk-XGGHOHZS.js.map +0 -1
  139. package/dist/chunk-YV4RASGX.js.map +0 -1
  140. package/dist/dev-D2HS5XXN.js.map +0 -1
  141. package/dist/eval-HCDXL4QT.js.map +0 -1
  142. package/dist/external-run-THSD26B7.js.map +0 -1
  143. package/dist/mcp-eval-YT2RFIC5.js +0 -196
  144. package/dist/mcp-eval-YT2RFIC5.js.map +0 -1
  145. package/dist/usage-YUYXUNF2.js.map +0 -1
  146. /package/dist/{account-S7VHLHYX.js.map → account-CWSADXJD.js.map} +0 -0
  147. /package/dist/{alert-DZUI3JEU.js.map → alert-VEZZJPIH.js.map} +0 -0
  148. /package/dist/{api-catalog-WP6AQYUG.js.map → api-catalog-OBE6ITCJ.js.map} +0 -0
  149. /package/dist/{api-key-U57EC2YF.js.map → api-key-265DBPSR.js.map} +0 -0
  150. /package/dist/{attachment-MICVVXUW.js.map → attachment-QE65VNDG.js.map} +0 -0
  151. /package/dist/{auth-UDD77PG6.js.map → auth-DG6RD4UA.js.map} +0 -0
  152. /package/dist/{benchmark-Q5BVGQ3I.js.map → benchmark-3R75GENH.js.map} +0 -0
  153. /package/dist/{blackcat-TZNSDQAC.js.map → blackcat-EKZS3TBD.js.map} +0 -0
  154. /package/dist/{chunk-AHS2HMEH.js.map → chunk-4KFJQPJF.js.map} +0 -0
  155. /package/dist/{chunk-LP4X7TWI.js.map → chunk-56WV7CFM.js.map} +0 -0
  156. /package/dist/{chunk-3EKIGWMN.js.map → chunk-A6VDLUMH.js.map} +0 -0
  157. /package/dist/{chunk-XQZJWDM4.js.map → chunk-B7G4TOYC.js.map} +0 -0
  158. /package/dist/{chunk-U3MXJTTD.js.map → chunk-BDPNJKUZ.js.map} +0 -0
  159. /package/dist/{chunk-IIDQM4MY.js.map → chunk-BMFD4OPC.js.map} +0 -0
  160. /package/dist/{chunk-T5MU76RA.js.map → chunk-C77XIO2W.js.map} +0 -0
  161. /package/dist/{chunk-FBEQNW2P.js.map → chunk-DFN2NH37.js.map} +0 -0
  162. /package/dist/{chunk-4SQKKD3R.js.map → chunk-EDX47DXT.js.map} +0 -0
  163. /package/dist/{chunk-BSCEOIYX.js.map → chunk-FQ6P522C.js.map} +0 -0
  164. /package/dist/{chunk-6IMNRYC3.js.map → chunk-GQSW6ZY3.js.map} +0 -0
  165. /package/dist/{chunk-4GDEKB5S.js.map → chunk-GVNSCSIC.js.map} +0 -0
  166. /package/dist/{chunk-W4P6BGJ7.js.map → chunk-IN3AF6LI.js.map} +0 -0
  167. /package/dist/{chunk-CZOYFKTY.js.map → chunk-IVJU3LP6.js.map} +0 -0
  168. /package/dist/{chunk-H2K3ABPO.js.map → chunk-K54XL64A.js.map} +0 -0
  169. /package/dist/{chunk-T6KTBHWD.js.map → chunk-LZLSRN5Q.js.map} +0 -0
  170. /package/dist/{chunk-YILSW5ZY.js.map → chunk-MCJOF3JX.js.map} +0 -0
  171. /package/dist/{chunk-SBQLD7X6.js.map → chunk-PN5IK7CJ.js.map} +0 -0
  172. /package/dist/{chunk-K3MG2ZMH.js.map → chunk-RIBSXEAM.js.map} +0 -0
  173. /package/dist/{chunk-K2USFSTX.js.map → chunk-T7NZHHC5.js.map} +0 -0
  174. /package/dist/{chunk-5MFHNT56.js.map → chunk-TWPCN4DV.js.map} +0 -0
  175. /package/dist/{chunk-KD7VGZX7.js.map → chunk-UZZ5OHXT.js.map} +0 -0
  176. /package/dist/{chunk-YFXTMFYB.js.map → chunk-V6OC2WQL.js.map} +0 -0
  177. /package/dist/{chunk-TG32WC4J.js.map → chunk-W6TPKE5S.js.map} +0 -0
  178. /package/dist/{chunk-72Y65NWI.js.map → chunk-WY4R4IL5.js.map} +0 -0
  179. /package/dist/{chunk-ETXIGTS7.js.map → chunk-XKR275VJ.js.map} +0 -0
  180. /package/dist/{credential-HM4THJOS.js.map → credential-DPUCDGYC.js.map} +0 -0
  181. /package/dist/{credential-template-JBV3FZBY.js.map → credential-template-67RQWMH2.js.map} +0 -0
  182. /package/dist/{digest-54VJ7KTF.js.map → digest-4PABSK2F.js.map} +0 -0
  183. /package/dist/{docs-PPQSNRP6.js.map → docs-ZL5QOHCB.js.map} +0 -0
  184. /package/dist/{doctor-CXFGSPWH.js.map → doctor-J5X2HSLJ.js.map} +0 -0
  185. /package/dist/{environment-6MXRQV5L.js.map → environment-7Q6WDKMM.js.map} +0 -0
  186. /package/dist/{exploration-U2WMYBZ3.js.map → exploration-7PHVC753.js.map} +0 -0
  187. /package/dist/{exploratory-test-FD7VGUKE.js.map → exploratory-test-NE7ECFWS.js.map} +0 -0
  188. /package/dist/{feature-flag-D5IZ6OEG.js.map → feature-flag-YFWCPWIR.js.map} +0 -0
  189. /package/dist/{feedback-6YCQMQQ3.js.map → feedback-HVR7LMFL.js.map} +0 -0
  190. /package/dist/{flow-OVEA7273.js.map → flow-M6QBA4WR.js.map} +0 -0
  191. /package/dist/{github-L2AFIEVN.js.map → github-HUBAWWFS.js.map} +0 -0
  192. /package/dist/{init-ADOE2D6R.js.map → init-5A7VDZU4.js.map} +0 -0
  193. /package/dist/{install-SB6NLXDQ.js.map → install-HM3USHVU.js.map} +0 -0
  194. /package/dist/{issues-V2DSZXAN.js.map → issues-W6WIQ4RX.js.map} +0 -0
  195. /package/dist/{knobs-MR4H55EB.js.map → knobs-NR52HEAL.js.map} +0 -0
  196. /package/dist/{landing-KTYDL7QJ.js.map → landing-FHE7RWCR.js.map} +0 -0
  197. /package/dist/{list-DFBHWU77.js.map → list-6J6BCU2L.js.map} +0 -0
  198. /package/dist/{local-QXSTGDFN.js.map → local-DNRUTJBN.js.map} +0 -0
  199. /package/dist/{login-KGIZAZCR.js.map → login-K7CNO4QS.js.map} +0 -0
  200. /package/dist/{mcp-EDYHUOFI.js.map → mcp-G72SEYO5.js.map} +0 -0
  201. /package/dist/{metrics-JUONV7EL.js.map → metrics-WXQPVDQY.js.map} +0 -0
  202. /package/dist/{monitor-F7F7EJAL.js.map → monitor-URPOJOER.js.map} +0 -0
  203. /package/dist/{perf-L2YL4Z2L.js.map → perf-WG6DAZBT.js.map} +0 -0
  204. /package/dist/{product-UBLNRF5Y.js.map → product-TGOCFPCC.js.map} +0 -0
  205. /package/dist/{product-map-7K5I5TVU.js.map → product-map-PKDPF2FB.js.map} +0 -0
  206. /package/dist/{prompts-3JNN4M46.js.map → prompts-63KKMXLZ.js.map} +0 -0
  207. /package/dist/{proofs-MJ7MGBCW.js.map → proofs-XRQ3BMM2.js.map} +0 -0
  208. /package/dist/{property-TCDBREZL.js.map → property-O3PMHQLJ.js.map} +0 -0
  209. /package/dist/{psql-YD54GQMP.js.map → psql-SUE2TORV.js.map} +0 -0
  210. /package/dist/{record-OWBURAZ4.js.map → record-C245ESQA.js.map} +0 -0
  211. /package/dist/{redis-3SIKQULP.js.map → redis-CAOX2ODS.js.map} +0 -0
  212. /package/dist/{release-DMCBRVA5.js.map → release-ALUGJZTN.js.map} +0 -0
  213. /package/dist/{runbook-ZRKWCLZE.js.map → runbook-63HBD7WH.js.map} +0 -0
  214. /package/dist/{sandbox-HMZR6SKM.js.map → sandbox-IC5E53CC.js.map} +0 -0
  215. /package/dist/{scenarios-2QHT5A4F.js.map → scenarios-JR2H7SZC.js.map} +0 -0
  216. /package/dist/{schedule-4L7LOUDB.js.map → schedule-FHMCSKPL.js.map} +0 -0
  217. /package/dist/{session-JHLYECKM.js.map → session-BKHVVZS3.js.map} +0 -0
  218. /package/dist/{skill-ARJSVWCZ.js.map → skill-TZE27TIN.js.map} +0 -0
  219. /package/dist/{slack-T7CR4SAU.js.map → slack-3BQ2T3ZS.js.map} +0 -0
  220. /package/dist/{spec-RDNTNUE2.js.map → spec-PCAK2BX5.js.map} +0 -0
  221. /package/dist/{src-DJETLMXP.js.map → src-BCJZMHSQ.js.map} +0 -0
  222. /package/dist/{src-H7IBLPDW.js.map → src-BPKBSXKX.js.map} +0 -0
  223. /package/dist/{src-DPJGVNYG.js.map → src-PNV4HGUY.js.map} +0 -0
  224. /package/dist/{src-UKPMEXXT.js.map → src-ZJGBNWYB.js.map} +0 -0
  225. /package/dist/{start-NR7W2LIP.js.map → start-BA5UEI3W.js.map} +0 -0
  226. /package/dist/{status-UDNXR5GK.js.map → status-TUXK57H4.js.map} +0 -0
  227. /package/dist/{tag-ADP2MZ3V.js.map → tag-IBDEJZM7.js.map} +0 -0
  228. /package/dist/{task-KQOUTIJU.js.map → task-WXZQM4BW.js.map} +0 -0
  229. /package/dist/{teams-D4QXSVDA.js.map → teams-656T2IHZ.js.map} +0 -0
  230. /package/dist/{test-suite-DYMY4YAG.js.map → test-suite-ETXWE5HB.js.map} +0 -0
  231. /package/dist/{tickets-BX3LFWUS.js.map → tickets-LWP3XIHG.js.map} +0 -0
  232. /package/dist/{trace-MBRU6DLE.js.map → trace-RNEY6XCJ.js.map} +0 -0
  233. /package/dist/{triage-IXAU73VL.js.map → triage-VZIIN7KB.js.map} +0 -0
  234. /package/dist/{trigger-CHSWCUV3.js.map → trigger-KTTSNSRU.js.map} +0 -0
  235. /package/dist/{update-check-LLETICM4.js.map → update-check-SLGKNOUC.js.map} +0 -0
  236. /package/dist/{upgrade-35WVNUEG.js.map → upgrade-2KSYA4GE.js.map} +0 -0
  237. /package/dist/{utilities-MOHIKBBF.js.map → utilities-O4VVADHM.js.map} +0 -0
  238. /package/dist/{visual-RNYERKX4.js.map → visual-ZWQTVXTM.js.map} +0 -0
  239. /package/dist/{workflow-NM5IC7ZQ.js.map → workflow-7HKA2WKO.js.map} +0 -0
  240. /package/dist/{workflow-cache-JNN7BS2K.js.map → workflow-cache-FDN2N5HH.js.map} +0 -0
  241. /package/dist/{workflow-cache-convergence-resolve-4SO2MP7T.js.map → workflow-cache-convergence-resolve-BGEUM7WV.js.map} +0 -0
  242. /package/dist/{workflow-debug-E7BXSSOG.js.map → workflow-debug-KNE7SVXQ.js.map} +0 -0
  243. /package/dist/{workflow-feedback-EWAK45AB.js.map → workflow-feedback-YY2FZTV4.js.map} +0 -0
  244. /package/dist/{workflow-fork-NO5IFBD4.js.map → workflow-fork-FH5KBVWP.js.map} +0 -0
  245. /package/dist/{workflow-promotion-NWIZNAR4.js.map → workflow-promotion-RRI53FB6.js.map} +0 -0
  246. /package/dist/{workflow-proposals-XMAZJT3X.js.map → workflow-proposals-5XGCOTEU.js.map} +0 -0
  247. /package/dist/{workflow-revisions-4EQMLZGY.js.map → workflow-revisions-M6WPGXAT.js.map} +0 -0
  248. /package/dist/{workflow-status-AZMXQZLC.js.map → workflow-status-I5BSSWHY.js.map} +0 -0
@@ -1,196 +0,0 @@
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
- import {
3
- apiRequest,
4
- getPositionalArgs,
5
- getScalarArgValue
6
- } from "./chunk-72Y65NWI.js";
7
- import "./chunk-S3Q7MDCS.js";
8
- import {
9
- GLOBAL_VALUE_FLAGS,
10
- hasFlag,
11
- resolveConfig
12
- } from "./chunk-IIDQM4MY.js";
13
- import {
14
- writeRawOutput
15
- } from "./chunk-T6ZNIMI4.js";
16
- import "./chunk-EYHJ5FIA.js";
17
- import "./chunk-TOWZAG3I.js";
18
-
19
- // src/client-env.ts
20
- import process from "process";
21
- var COLLECTION = "/client-environments";
22
- var VALUE_FLAGS = [...GLOBAL_VALUE_FLAGS, "--app-url", "--name", "--repo", "--commit", "--setup"];
23
- function printHelp() {
24
- console.log(
25
- [
26
- "Usage: cofactor mcp-eval client-env <list|get|create|delete> [options]",
27
- "",
28
- " list [--json] List catalog and org client environments",
29
- " get <id|catalog/key> [--json] Show one environment",
30
- " create --org <org> --name <name> [--repo <url> --commit <sha>] [--setup <script>]",
31
- " delete <id> --org <org> [--json] Delete an org-owned environment",
32
- "",
33
- "An empty environment omits --repo and --commit. Catalog environments are read-only.",
34
- "Common options: --env <prod|dev|local> --api-url <url> --token <key> --json"
35
- ].join("\n")
36
- );
37
- }
38
- function required(argv, flag) {
39
- const value = getScalarArgValue(argv, flag);
40
- if (!value) throw new Error(`${flag} is required.`);
41
- return value;
42
- }
43
- function target(argv, command) {
44
- const value = getPositionalArgs(argv, VALUE_FLAGS)[0];
45
- if (!value) throw new Error(`Usage: cofactor mcp-eval client-env ${command} <id>`);
46
- return value;
47
- }
48
- function environmentPath(id) {
49
- if (id.startsWith("catalog/")) {
50
- const key = id.slice("catalog/".length);
51
- if (!key || key.includes("/")) throw new Error("Catalog environment IDs use catalog/<key>.");
52
- return `${COLLECTION}/catalog/${encodeURIComponent(key)}`;
53
- }
54
- return `${COLLECTION}/${encodeURIComponent(id)}`;
55
- }
56
- function emit(argv, data, text) {
57
- writeRawOutput(hasFlag(argv, "--json") ? JSON.stringify(data, null, 2) : text);
58
- }
59
- function describeEnvironment(environment) {
60
- return [
61
- `Client environment: ${environment.name}`,
62
- `ID: ${environment.id}`,
63
- `Repository: ${environment.repoUrl ?? "empty workspace"}`,
64
- `Commit: ${environment.commit ?? "\u2014"}`,
65
- `Setup: ${environment.setup ?? "none"}`,
66
- `Catalog: ${environment.catalog ? "yes" : "no"}`
67
- ].join("\n");
68
- }
69
- async function request(apiUrl, token, method, path, body) {
70
- const response = await apiRequest(apiUrl, token, method, path, body);
71
- if (!response.ok || response.data === void 0)
72
- throw new Error(response.error ?? `${method} ${path} failed.`);
73
- return response.data;
74
- }
75
- async function listEnvironments(apiUrl, token) {
76
- const environments = [];
77
- for (let page = 1; ; page++) {
78
- const response = await apiRequest(
79
- apiUrl,
80
- token,
81
- "GET",
82
- `${COLLECTION}?page=${page}&pageSize=100`
83
- );
84
- if (!response.ok || response.data === void 0)
85
- throw new Error(response.error ?? `GET ${COLLECTION} failed.`);
86
- environments.push(...response.data);
87
- if (page >= response.pagination.totalPages) return environments;
88
- }
89
- }
90
- async function runClientEnvCommand(argv) {
91
- const [command, ...rest] = argv;
92
- if (!command || command === "help" || hasFlag(argv, "--help", "-h")) {
93
- printHelp();
94
- return;
95
- }
96
- if (!["list", "get", "create", "delete"].includes(command))
97
- throw new Error(`Unknown client environment command: ${command}`);
98
- const cmd = command;
99
- if (cmd === "create" || cmd === "delete") required(rest, "--org");
100
- for (const flag of VALUE_FLAGS) {
101
- if (rest.includes(flag) && getScalarArgValue(rest, flag) === void 0)
102
- throw new Error(`${flag} requires a value.`);
103
- }
104
- if ((cmd === "get" || cmd === "delete") && !getPositionalArgs(rest, VALUE_FLAGS).length)
105
- throw new Error(`Usage: cofactor mcp-eval client-env ${cmd} <id>`);
106
- if (cmd === "create" && !getScalarArgValue(rest, "--name"))
107
- throw new Error("--name is required.");
108
- const repo = getScalarArgValue(rest, "--repo");
109
- const commit = getScalarArgValue(rest, "--commit");
110
- if (Boolean(repo) !== Boolean(commit))
111
- throw new Error("--repo requires --commit, and --commit requires --repo.");
112
- if (cmd === "delete" && target(rest, cmd).startsWith("catalog/"))
113
- throw new Error("Catalog client environments are read-only.");
114
- try {
115
- const { apiUrl, token } = await resolveConfig(rest);
116
- if (cmd === "list") {
117
- const environments = await listEnvironments(apiUrl, token);
118
- const text = environments.length ? environments.map(
119
- (environment) => `${environment.id} ${environment.name}${environment.catalog ? " (catalog)" : ""}`
120
- ).join("\n") : "No client environments.";
121
- emit(rest, environments, text);
122
- return;
123
- }
124
- if (cmd === "get") {
125
- const id2 = target(rest, cmd);
126
- const environment = await request(
127
- apiUrl,
128
- token,
129
- "GET",
130
- environmentPath(id2)
131
- );
132
- emit(rest, environment, describeEnvironment(environment));
133
- return;
134
- }
135
- if (cmd === "create") {
136
- const environment = await request(apiUrl, token, "POST", COLLECTION, {
137
- name: required(rest, "--name"),
138
- repoUrl: repo ?? null,
139
- commit: commit ?? null,
140
- setup: getScalarArgValue(rest, "--setup") ?? null
141
- });
142
- emit(rest, environment, `Created ${environment.name} (${environment.id}).`);
143
- return;
144
- }
145
- const id = target(rest, cmd);
146
- await request(apiUrl, token, "DELETE", environmentPath(id));
147
- emit(rest, { deleted: true, id }, `Deleted ${id}.`);
148
- } catch (error) {
149
- console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);
150
- process.exit(1);
151
- }
152
- }
153
-
154
- // src/mcp-eval.ts
155
- var USAGE = [
156
- "client-env <list|get|create|delete> [options]",
157
- "guide"
158
- ];
159
- var MCP_EVAL_GUIDE = [
160
- "MCP evals measure how off-the-shelf agents use an organization\u2019s MCP server, CLI, skills and docs.",
161
- "Evals score your own agent; MCP evals score off-the-shelf agents using that tooling.",
162
- "Client environments provide the agent workspace. Manage them with:",
163
- " cofactor mcp-eval client-env <list|get|create|delete>"
164
- ].join("\n");
165
- function printHelp2() {
166
- console.log(
167
- [
168
- "Usage: cofactor mcp-eval <sub-command> [options]",
169
- "",
170
- ...USAGE.map((line) => ` cofactor mcp-eval ${line}`),
171
- "",
172
- "guide: prints the MCP eval introduction without authentication.",
173
- "Client environments are managed inside this namespace."
174
- ].join("\n")
175
- );
176
- }
177
- async function runMcpEvalCommand(argv) {
178
- const [command, ...rest] = argv;
179
- if (command === "client-env") {
180
- await runClientEnvCommand(rest);
181
- return;
182
- }
183
- if (!command || command === "help" || hasFlag(argv, "--help", "-h")) {
184
- printHelp2();
185
- return;
186
- }
187
- if (command === "guide") {
188
- writeRawOutput(MCP_EVAL_GUIDE);
189
- return;
190
- }
191
- throw new Error(`Unknown MCP eval command: ${command}`);
192
- }
193
- export {
194
- runMcpEvalCommand
195
- };
196
- //# sourceMappingURL=mcp-eval-YT2RFIC5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/client-env.ts","../src/mcp-eval.ts"],"sourcesContent":["/** `cofactor mcp-eval client-env`: list, inspect, create, and delete org-scoped client environments. */\nimport process from 'node:process';\nimport { GLOBAL_VALUE_FLAGS, hasFlag, resolveConfig } from './auth.js';\nimport { writeRawOutput } from './brand.js';\nimport { apiRequest, getPositionalArgs, getScalarArgValue } from './cli-helpers.js';\n\nconst COLLECTION = '/client-environments';\nconst VALUE_FLAGS = [...GLOBAL_VALUE_FLAGS, '--app-url', '--name', '--repo', '--commit', '--setup'];\ntype Command = 'list' | 'get' | 'create' | 'delete';\n\ntype ClientEnvironment = {\n id: string;\n name: string;\n repoUrl: string | null;\n commit: string | null;\n setup: string | null;\n catalog: boolean;\n};\ntype ClientEnvironmentListItem = Omit<ClientEnvironment, 'setup'>;\n\ntype ApiResponse<T> = { ok: boolean; error?: string; data?: T };\ntype ClientEnvironmentPage = ApiResponse<ClientEnvironmentListItem[]> & {\n pagination: { page: number; pageSize: number; totalItems: number; totalPages: number };\n};\n\nfunction printHelp(): void {\n console.log(\n [\n 'Usage: cofactor mcp-eval client-env <list|get|create|delete> [options]',\n '',\n ' list [--json] List catalog and org client environments',\n ' get <id|catalog/key> [--json] Show one environment',\n ' create --org <org> --name <name> [--repo <url> --commit <sha>] [--setup <script>]',\n ' delete <id> --org <org> [--json] Delete an org-owned environment',\n '',\n 'An empty environment omits --repo and --commit. Catalog environments are read-only.',\n 'Common options: --env <prod|dev|local> --api-url <url> --token <key> --json',\n ].join('\\n')\n );\n}\n\nfunction required(argv: string[], flag: string): string {\n const value = getScalarArgValue(argv, flag);\n if (!value) throw new Error(`${flag} is required.`);\n return value;\n}\n\nfunction target(argv: string[], command: Command): string {\n const value = getPositionalArgs(argv, VALUE_FLAGS)[0];\n if (!value) throw new Error(`Usage: cofactor mcp-eval client-env ${command} <id>`);\n return value;\n}\n\nfunction environmentPath(id: string): string {\n if (id.startsWith('catalog/')) {\n const key = id.slice('catalog/'.length);\n if (!key || key.includes('/')) throw new Error('Catalog environment IDs use catalog/<key>.');\n return `${COLLECTION}/catalog/${encodeURIComponent(key)}`;\n }\n return `${COLLECTION}/${encodeURIComponent(id)}`;\n}\n\nfunction emit(argv: string[], data: unknown, text: string): void {\n writeRawOutput(hasFlag(argv, '--json') ? JSON.stringify(data, null, 2) : text);\n}\n\nfunction describeEnvironment(environment: ClientEnvironment): string {\n return [\n `Client environment: ${environment.name}`,\n `ID: ${environment.id}`,\n `Repository: ${environment.repoUrl ?? 'empty workspace'}`,\n `Commit: ${environment.commit ?? '—'}`,\n `Setup: ${environment.setup ?? 'none'}`,\n `Catalog: ${environment.catalog ? 'yes' : 'no'}`,\n ].join('\\n');\n}\n\nasync function request<T>(\n apiUrl: string,\n token: string,\n method: string,\n path: string,\n body?: Record<string, unknown>\n): Promise<T> {\n const response = await apiRequest<ApiResponse<T>>(apiUrl, token, method, path, body);\n if (!response.ok || response.data === undefined)\n throw new Error(response.error ?? `${method} ${path} failed.`);\n return response.data;\n}\n\nasync function listEnvironments(\n apiUrl: string,\n token: string\n): Promise<ClientEnvironmentListItem[]> {\n const environments: ClientEnvironmentListItem[] = [];\n for (let page = 1; ; page++) {\n const response = await apiRequest<ClientEnvironmentPage>(\n apiUrl,\n token,\n 'GET',\n `${COLLECTION}?page=${page}&pageSize=100`\n );\n if (!response.ok || response.data === undefined)\n throw new Error(response.error ?? `GET ${COLLECTION} failed.`);\n environments.push(...response.data);\n if (page >= response.pagination.totalPages) return environments;\n }\n}\n\nexport async function runClientEnvCommand(argv: string[]): Promise<void> {\n const [command, ...rest] = argv;\n if (!command || command === 'help' || hasFlag(argv, '--help', '-h')) {\n printHelp();\n return;\n }\n if (!['list', 'get', 'create', 'delete'].includes(command))\n throw new Error(`Unknown client environment command: ${command}`);\n const cmd = command as Command;\n if (cmd === 'create' || cmd === 'delete') required(rest, '--org');\n for (const flag of VALUE_FLAGS) {\n if (rest.includes(flag) && getScalarArgValue(rest, flag) === undefined)\n throw new Error(`${flag} requires a value.`);\n }\n if ((cmd === 'get' || cmd === 'delete') && !getPositionalArgs(rest, VALUE_FLAGS).length)\n throw new Error(`Usage: cofactor mcp-eval client-env ${cmd} <id>`);\n if (cmd === 'create' && !getScalarArgValue(rest, '--name'))\n throw new Error('--name is required.');\n const repo = getScalarArgValue(rest, '--repo');\n const commit = getScalarArgValue(rest, '--commit');\n if (Boolean(repo) !== Boolean(commit))\n throw new Error('--repo requires --commit, and --commit requires --repo.');\n if (cmd === 'delete' && target(rest, cmd).startsWith('catalog/'))\n throw new Error('Catalog client environments are read-only.');\n\n try {\n const { apiUrl, token } = await resolveConfig(rest);\n if (cmd === 'list') {\n const environments = await listEnvironments(apiUrl, token);\n const text = environments.length\n ? environments\n .map(\n (environment) =>\n `${environment.id} ${environment.name}${environment.catalog ? ' (catalog)' : ''}`\n )\n .join('\\n')\n : 'No client environments.';\n emit(rest, environments, text);\n return;\n }\n if (cmd === 'get') {\n const id = target(rest, cmd);\n const environment = await request<ClientEnvironment>(\n apiUrl,\n token,\n 'GET',\n environmentPath(id)\n );\n emit(rest, environment, describeEnvironment(environment));\n return;\n }\n if (cmd === 'create') {\n const environment = await request<ClientEnvironment>(apiUrl, token, 'POST', COLLECTION, {\n name: required(rest, '--name'),\n repoUrl: repo ?? null,\n commit: commit ?? null,\n setup: getScalarArgValue(rest, '--setup') ?? null,\n });\n emit(rest, environment, `Created ${environment.name} (${environment.id}).`);\n return;\n }\n const id = target(rest, cmd);\n await request<{ deleted: boolean }>(apiUrl, token, 'DELETE', environmentPath(id));\n emit(rest, { deleted: true, id }, `Deleted ${id}.`);\n } catch (error) {\n console.error(`Error: ${error instanceof Error ? error.message : String(error)}`);\n process.exit(1);\n }\n}\n","/** `cofactor mcp-eval`: MCP eval guidance and client-environment commands. */\nimport { hasFlag } from './auth.js';\nimport { writeRawOutput } from './brand.js';\nimport { runClientEnvCommand } from './client-env.js';\n\nconst USAGE = [\n 'client-env <list|get|create|delete> [options]',\n 'guide',\n];\n\nconst MCP_EVAL_GUIDE = [\n 'MCP evals measure how off-the-shelf agents use an organization’s MCP server, CLI, skills and docs.',\n 'Evals score your own agent; MCP evals score off-the-shelf agents using that tooling.',\n 'Client environments provide the agent workspace. Manage them with:',\n ' cofactor mcp-eval client-env <list|get|create|delete>',\n].join('\\n');\n\nfunction printHelp(): void {\n console.log(\n [\n 'Usage: cofactor mcp-eval <sub-command> [options]',\n '',\n ...USAGE.map((line) => ` cofactor mcp-eval ${line}`),\n '',\n 'guide: prints the MCP eval introduction without authentication.',\n 'Client environments are managed inside this namespace.',\n ].join('\\n')\n );\n}\n\nexport async function runMcpEvalCommand(argv: string[]): Promise<void> {\n const [command, ...rest] = argv;\n if (command === 'client-env') {\n await runClientEnvCommand(rest);\n return;\n }\n if (!command || command === 'help' || hasFlag(argv, '--help', '-h')) {\n printHelp();\n return;\n }\n if (command === 'guide') {\n writeRawOutput(MCP_EVAL_GUIDE);\n return;\n }\n throw new Error(`Unknown MCP eval command: ${command}`);\n}\n"],"mappings":"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","names":["id","printHelp"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/usage.ts"],"sourcesContent":["/**\n * `cofactor usage` — the org's plan, period and both billing meters\n * (executions and agent hours), from `GET /usage/billing`; and\n * `cofactor usage agent-time`, what used the agent hours, from\n * `GET /usage/billing/agent-time` (self-serve billing spec, D10).\n *\n * Until the PLG launch knob is on, the API answers only superadmins; everyone\n * else gets `BILLING_UNAVAILABLE`.\n */\n\nimport process from 'node:process';\nimport { getArgValue, hasFlag, resolveConfig } from './auth.js';\nimport { apiRequest } from './cli-helpers.js';\nimport { writeRawOutput } from './brand.js';\nimport { parseSinceFlag } from './landing.js';\n\n/** `GET /usage/billing` data (apps/api/src/billing/usage.ts). */\nexport type BillingSummary = {\n billingMode: 'contract' | 'self_serve';\n plan: 'trial' | 'starter' | null;\n access: 'full' | 'lapsed';\n period: { start: string; end: string };\n trialEndsAt: string | null;\n executions: {\n used: number;\n queued: number;\n included: number | null;\n byCategory: { flow: number; playwright: number };\n };\n agentHours: {\n used: number;\n inFlight: number;\n included: number | null;\n byCategory: { healing: number; agent_testing: number; diagnosis: number };\n };\n subscription: { status: string | null; cancelAtPeriodEnd: boolean } | null;\n};\n\n/** One `GET /usage/billing/agent-time` row. */\nexport type AgentTimeRow = {\n subjectType: string | null;\n subjectId: string | null;\n label: string;\n category: string;\n seconds: number;\n};\n\nexport type Pagination = { page: number; pageSize: number; totalItems: number; totalPages: number };\n\nconst fmt = (n: number) => n.toLocaleString('en-US', { maximumFractionDigits: 2 });\nconst day = (iso: string) => iso.slice(0, 10);\n\n/** `used / included (pct%)`, or `used (no limit)`; the warning for 80% and 100%. */\nfunction meter(name: string, used: number, included: number | null) {\n if (included === null) return { line: `${name}: ${fmt(used)} (no limit)`, warning: null };\n const pct = included === 0 ? 100 : Math.floor((used / included) * 100);\n const threshold = pct >= 100 ? 100 : pct >= 80 ? 80 : null;\n return {\n line: `${name}: ${fmt(used)} / ${fmt(included)} (${pct}%)`,\n warning: threshold ? `${threshold}%` : null,\n };\n}\n\n/** The human `cofactor usage` output. Usage counts queued runs and running agent work. */\nexport function formatUsageSummary(summary: BillingSummary): string {\n const { executions, agentHours } = summary;\n const plan = summary.plan ?? 'contract';\n const lines = [`Plan: ${plan} (${summary.access} access)`];\n lines.push(`Period: ${day(summary.period.start)} → ${day(summary.period.end)}`);\n if (summary.subscription) {\n const cancel = summary.subscription.cancelAtPeriodEnd ? ', cancels at period end' : '';\n lines.push(`Subscription: ${summary.subscription.status ?? 'none'}${cancel}`);\n }\n\n const exec = meter('Executions', executions.used + executions.queued, executions.included);\n const agent = meter('Agent hours', agentHours.used + agentHours.inFlight, agentHours.included);\n lines.push(\n '',\n exec.line,\n ` flow ${fmt(executions.byCategory.flow)} · playwright ${fmt(executions.byCategory.playwright)} · queued ${fmt(executions.queued)}`,\n agent.line,\n ` healing ${fmt(agentHours.byCategory.healing)} · agent_testing ${fmt(agentHours.byCategory.agent_testing)} · diagnosis ${fmt(agentHours.byCategory.diagnosis)} · in flight ${fmt(agentHours.inFlight)}`\n );\n\n const warnings = [\n exec.warning && `Warning: executions are at ${exec.warning} of the allowance.`,\n agent.warning && `Warning: agent hours are at ${agent.warning} of the allowance.`,\n ].filter((w): w is string => Boolean(w));\n if (warnings.length > 0) lines.push('', ...warnings);\n return lines.join('\\n');\n}\n\n/** The human `cofactor usage agent-time` table, largest first (the API's order). */\nexport function formatAgentTime(rows: AgentTimeRow[], pagination: Pagination): string {\n const header = `${'MINUTES'.padStart(9)} ${'CATEGORY'.padEnd(14)}${'LABEL'.padEnd(32)}SUBJECT`;\n const body = rows.map((row) => {\n const minutes = (row.seconds / 60).toFixed(1).padStart(9);\n const subject = row.subjectType ? `${row.subjectType} ${row.subjectId}` : '—';\n return `${minutes} ${row.category.padEnd(14)}${row.label.padEnd(32)}${subject}`;\n });\n const footer = `Page ${pagination.page} of ${Math.max(1, pagination.totalPages)} · ${pagination.totalItems} rows`;\n return [header, ...body, '', footer].join('\\n');\n}\n\nfunction printUsageHelp(): void {\n console.log(\n [\n 'Usage: cofactor usage [agent-time] [options]',\n '',\n 'Commands:',\n ' (none) Plan, period and both meters (executions, agent hours) with warnings',\n ' agent-time What used agent hours, largest first',\n '',\n 'Options:',\n ' --since <dur> agent-time window, e.g. 24h, 7d, 30d (default 7d)',\n ' --page <n> agent-time page (50 rows per page)',\n ' --json Output as JSON',\n ' --env <env> Target environment (prod, dev, local)',\n ].join('\\n')\n );\n}\n\ntype ApiResult<T> = { ok: boolean; error?: string; data?: T; pagination?: Pagination };\n\nfunction fail(result: { error?: string }): never {\n console.error(`Error: ${result.error ?? 'Request failed'}`);\n process.exit(1);\n}\n\nexport async function runUsage(argv: string[]): Promise<void> {\n if (hasFlag(argv, '--help', '-h') || argv[0] === 'help') {\n printUsageHelp();\n return;\n }\n const subCommand = argv[0] && !argv[0].startsWith('--') ? argv[0] : null;\n if (subCommand !== null && subCommand !== 'agent-time') {\n console.error(`Unknown sub-command: ${subCommand}`);\n printUsageHelp();\n process.exit(1);\n }\n const { apiUrl, token } = await resolveConfig(argv);\n const json = hasFlag(argv, '--json');\n\n if (subCommand === 'agent-time') {\n const end = new Date().toISOString();\n const start = parseSinceFlag(getArgValue(argv, '--since') ?? '7d') ?? end;\n const page = getArgValue(argv, '--page') ?? '1';\n const query = new URLSearchParams({ start, end, page });\n const result = await apiRequest<ApiResult<AgentTimeRow[]>>(\n apiUrl,\n token,\n 'GET',\n `/usage/billing/agent-time?${query.toString()}`\n );\n if (!result.ok || !result.data || !result.pagination) fail(result);\n if (json) writeRawOutput(JSON.stringify({ data: result.data, pagination: result.pagination }, null, 2));\n else console.log(formatAgentTime(result.data, result.pagination));\n return;\n }\n\n const result = await apiRequest<ApiResult<BillingSummary>>(apiUrl, token, 'GET', '/usage/billing');\n if (!result.ok || !result.data) fail(result);\n if (json) writeRawOutput(JSON.stringify(result.data, null, 2));\n else console.log(formatUsageSummary(result.data));\n}\n"],"mappings":"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","names":["result"]}