@runcofactor/cli 0.54.0 → 0.56.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 (253) hide show
  1. package/README.md +2 -1
  2. package/dist/{account-6YJAU53I.js → account-CZYZD2JS.js} +5 -5
  3. package/dist/{alert-Z7V2ZUEW.js → alert-JQ4SDEB7.js} +8 -8
  4. package/dist/{api-catalog-UEDTRM6E.js → api-catalog-IWQC35P2.js} +5 -5
  5. package/dist/{api-key-V5GEPRRG.js → api-key-GUDXIIEA.js} +5 -5
  6. package/dist/{attachment-M7VZ6GSE.js → attachment-CPZYOBUB.js} +5 -5
  7. package/dist/{auth-DVTMWJKF.js → auth-DS6MBVEI.js} +3 -3
  8. package/dist/{benchmark-KZJZYUTQ.js → benchmark-6HPCIQHD.js} +5 -5
  9. package/dist/{blackcat-QJXYDE66.js → blackcat-V3L63WFE.js} +3 -3
  10. package/dist/{chunk-FLDIN6VX.js → chunk-2E3STBHS.js} +2 -2
  11. package/dist/{chunk-KNWKOKM7.js → chunk-2OHYMT3A.js} +20 -11
  12. package/dist/chunk-2OHYMT3A.js.map +1 -0
  13. package/dist/{chunk-L4Y5PZUE.js → chunk-3LGCHNBC.js} +2 -2
  14. package/dist/{chunk-ZFN5FWN2.js → chunk-4MFMPC5P.js} +46 -2
  15. package/dist/chunk-4MFMPC5P.js.map +1 -0
  16. package/dist/{chunk-2M4PZK6Q.js → chunk-56HFZHQM.js} +8 -8
  17. package/dist/{chunk-AQOHNAEN.js → chunk-5OYWNS6D.js} +20 -9
  18. package/dist/chunk-5OYWNS6D.js.map +1 -0
  19. package/dist/{chunk-RA2NRAWU.js → chunk-62EXS76C.js} +6 -6
  20. package/dist/{chunk-HGEJHS45.js → chunk-6ILWJFKY.js} +368 -6
  21. package/dist/chunk-6ILWJFKY.js.map +1 -0
  22. package/dist/{chunk-4EWSONHO.js → chunk-BDOL622T.js} +4 -4
  23. package/dist/{chunk-T6EQFICG.js → chunk-C3CXVX2B.js} +4 -4
  24. package/dist/{chunk-33U56YGD.js → chunk-CWICLBLU.js} +2 -1
  25. package/dist/{chunk-33U56YGD.js.map → chunk-CWICLBLU.js.map} +1 -1
  26. package/dist/{chunk-MQQCUU5S.js → chunk-DEVD2WD2.js} +2 -2
  27. package/dist/{chunk-TRC63RSK.js → chunk-EWK44F6V.js} +3 -3
  28. package/dist/chunk-EWK44F6V.js.map +1 -0
  29. package/dist/{chunk-Q7UAEFW5.js → chunk-FNHPTTRF.js} +7 -5
  30. package/dist/chunk-FNHPTTRF.js.map +1 -0
  31. package/dist/{chunk-JAIMLQOU.js → chunk-GCD4EHCD.js} +6 -6
  32. package/dist/{chunk-7MRZWPVC.js → chunk-H6ZMKNP7.js} +3 -3
  33. package/dist/{chunk-ZOPVBINJ.js → chunk-IEWAH7W3.js} +5 -5
  34. package/dist/{chunk-74TU6PGO.js → chunk-IV4HRGKX.js} +77 -12
  35. package/dist/chunk-IV4HRGKX.js.map +1 -0
  36. package/dist/{chunk-ZO5MSM4Q.js → chunk-J2ZQULU3.js} +2 -2
  37. package/dist/{chunk-IVWWYKAM.js → chunk-K2IDR6FR.js} +3 -3
  38. package/dist/{chunk-QGP67JOK.js → chunk-KTZRI27M.js} +4 -4
  39. package/dist/{chunk-HESV3F6U.js → chunk-L644NMDI.js} +3 -3
  40. package/dist/{chunk-HESV3F6U.js.map → chunk-L644NMDI.js.map} +1 -1
  41. package/dist/{chunk-LPQTXBJF.js → chunk-LFT7GUWS.js} +63 -17
  42. package/dist/chunk-LFT7GUWS.js.map +1 -0
  43. package/dist/{chunk-O7MBDOMO.js → chunk-O7B2IYCZ.js} +30 -14
  44. package/dist/chunk-O7B2IYCZ.js.map +1 -0
  45. package/dist/{chunk-R2CVV7QT.js → chunk-RHWPZKRV.js} +28 -1
  46. package/dist/chunk-RHWPZKRV.js.map +1 -0
  47. package/dist/{chunk-3YNR6U6Q.js → chunk-UJSW72LG.js} +3 -3
  48. package/dist/{chunk-G2SCV2CY.js → chunk-VACACCD6.js} +3 -3
  49. package/dist/{chunk-CV22445U.js → chunk-VMAR67FF.js} +2 -2
  50. package/dist/{chunk-QYHJUHL7.js → chunk-VMJ7TBVM.js} +2 -2
  51. package/dist/chunk-WRRA4ATV.js +332 -0
  52. package/dist/chunk-WRRA4ATV.js.map +1 -0
  53. package/dist/{chunk-YACDH6MJ.js → chunk-XHEVDABB.js} +2 -2
  54. package/dist/{chunk-7VBX2M4F.js → chunk-XHGF6VC6.js} +4 -4
  55. package/dist/{credential-546ER7WQ.js → credential-GJW7LGYP.js} +5 -5
  56. package/dist/{credential-template-BWMEBGBN.js → credential-template-UWBYKKWD.js} +5 -5
  57. package/dist/dev-PBW7BSOD.js +605 -0
  58. package/dist/dev-PBW7BSOD.js.map +1 -0
  59. package/dist/{digest-NIVBDDI2.js → digest-XEHGCJM4.js} +8 -8
  60. package/dist/{docs-AK4MDP6K.js → docs-KH4BCEQF.js} +5 -5
  61. package/dist/{doctor-NCLA47EL.js → doctor-FOXXE5SK.js} +3 -3
  62. package/dist/{environment-X3PV5IN2.js → environment-EBDPQTIS.js} +7 -7
  63. package/dist/{eval-5FZKYZ6O.js → eval-QZSSEICV.js} +67 -27
  64. package/dist/eval-QZSSEICV.js.map +1 -0
  65. package/dist/{exploration-2RVGIUKT.js → exploration-LCGKRGOQ.js} +5 -5
  66. package/dist/{exploratory-test-SJ5HFI3L.js → exploratory-test-SGECQGIX.js} +13 -5
  67. package/dist/exploratory-test-SGECQGIX.js.map +1 -0
  68. package/dist/{external-run-4NDVAHQB.js → external-run-2AJAI5O7.js} +9 -9
  69. package/dist/{feature-flag-C4IRE724.js → feature-flag-P7N4WQIH.js} +5 -5
  70. package/dist/{feedback-337OZCKC.js → feedback-LAT7TQ2T.js} +6 -6
  71. package/dist/{flow-D7ZLBKCH.js → flow-NH2DC6AP.js} +5 -5
  72. package/dist/{github-LKXYIALH.js → github-FCEKBLXI.js} +6 -6
  73. package/dist/index.js +106 -408
  74. package/dist/index.js.map +1 -1
  75. package/dist/{init-GKEC6LPH.js → init-5U5EZOAW.js} +5 -5
  76. package/dist/{install-K45SAT2V.js → install-X3UNVXKY.js} +5 -5
  77. package/dist/{issues-2HMTQYWR.js → issues-4P6I3YQW.js} +8 -8
  78. package/dist/{knobs-KUCGLO5Z.js → knobs-JKTWJ6ZG.js} +5 -5
  79. package/dist/{landing-KAET2I73.js → landing-6AGLKI66.js} +7 -7
  80. package/dist/{list-GDV4UYWV.js → list-TWP2RP33.js} +5 -5
  81. package/dist/{local-NFOSJLLV.js → local-D75QE5TB.js} +7 -7
  82. package/dist/{login-Y77HWROY.js → login-RBET4TIP.js} +5 -5
  83. package/dist/{mcp-CPCFMU6B.js → mcp-562SUUMK.js} +11 -11
  84. package/dist/{metrics-Y245ST63.js → metrics-4WF2GEPA.js} +5 -5
  85. package/dist/{monitor-BUDWSC3S.js → monitor-WJXH54H2.js} +5 -5
  86. package/dist/{perf-3JOAXPHP.js → perf-C6N6P7YG.js} +12 -361
  87. package/dist/perf-C6N6P7YG.js.map +1 -0
  88. package/dist/{product-CXL3YTMD.js → product-CYEQ7HOB.js} +5 -5
  89. package/dist/{product-map-656BTU74.js → product-map-MSDLIFZY.js} +7 -7
  90. package/dist/{prompts-3SZ7O5E6.js → prompts-ME53WPN4.js} +5 -5
  91. package/dist/{proofs-4CSCCSNL.js → proofs-D3G6ZUFP.js} +11 -9
  92. package/dist/{property-IEKBXRVY.js → property-5GLJNAVB.js} +29 -10
  93. package/dist/property-5GLJNAVB.js.map +1 -0
  94. package/dist/{psql-M4CM6TSI.js → psql-EXAUDU3W.js} +5 -5
  95. package/dist/{record-QP4TYZBS.js → record-EE7NGNKY.js} +6 -6
  96. package/dist/{redis-KG47IGJV.js → redis-M4EYWKOJ.js} +5 -5
  97. package/dist/{release-QHPSQULK.js → release-4KUWVWWC.js} +5 -5
  98. package/dist/{runbook-YVBG2QK3.js → runbook-AHU77ANQ.js} +5 -5
  99. package/dist/{sandbox-ZXDZTCCN.js → sandbox-FBLJEYA2.js} +1917 -1633
  100. package/dist/sandbox-FBLJEYA2.js.map +1 -0
  101. package/dist/{scenarios-2SX2NUCD.js → scenarios-TU656T2B.js} +5 -5
  102. package/dist/{schedule-P6F7MLXX.js → schedule-DXJI6SYO.js} +8 -8
  103. package/dist/{session-SZMCZTPE.js → session-RUFTJHF4.js} +10 -10
  104. package/dist/{skill-D4XFW6QI.js → skill-ZK76GQ47.js} +111 -13
  105. package/dist/skill-ZK76GQ47.js.map +1 -0
  106. package/dist/skills/cofactor-debug-run/SKILL.md +6 -1
  107. package/dist/skills/cofactor-debug-run/history/2.0.10.md +320 -0
  108. package/dist/skills/cofactor-debug-run/history/2.0.9.md +319 -0
  109. package/dist/skills/cofactor-debug-run/version.json +1 -1
  110. package/dist/{slack-UDXTPOSW.js → slack-M3OKDVMY.js} +6 -6
  111. package/dist/{spec-YCBBIV27.js → spec-5MXEBLYR.js} +5 -5
  112. package/dist/{src-DY7GLRO2.js → src-2X5OQRPJ.js} +4 -4
  113. package/dist/{src-NG7DRE5A.js → src-72EFBA2R.js} +3 -3
  114. package/dist/{src-DEGBASCD.js → src-KH6WSBJV.js} +5 -5
  115. package/dist/{src-ZKVNVLXY.js → src-VLV36QYH.js} +127 -20
  116. package/dist/src-VLV36QYH.js.map +1 -0
  117. package/dist/{start-ZYZSORPY.js → start-PDYBRB5T.js} +5 -5
  118. package/dist/{status-ESIG6A7W.js → status-VMVPVCDA.js} +5 -5
  119. package/dist/{tag-3K5Y25AR.js → tag-7KTDLPVU.js} +6 -6
  120. package/dist/{task-JLNX7O3M.js → task-QLFYZNKR.js} +6 -6
  121. package/dist/{teams-F4IU3EXE.js → teams-Y7BXCY6P.js} +7 -7
  122. package/dist/{test-suite-QHDUW5W5.js → test-suite-6U22AYFG.js} +15 -14
  123. package/dist/test-suite-6U22AYFG.js.map +1 -0
  124. package/dist/{tickets-NBL5WACL.js → tickets-CQDJDNPY.js} +5 -5
  125. package/dist/{trace-ZKYAI5JF.js → trace-QDORWXYX.js} +8 -8
  126. package/dist/{triage-5NWCREUM.js → triage-GY7M3UGG.js} +6 -6
  127. package/dist/{trigger-KXYYY5IR.js → trigger-DLFAORX4.js} +9 -9
  128. package/dist/{update-check-Q2URVJLC.js → update-check-ES6XQ7OF.js} +4 -4
  129. package/dist/{upgrade-4XSASC7U.js → upgrade-WKEOW5GS.js} +5 -5
  130. package/dist/{usage-UY7VZYVY.js → usage-E6FDTR3W.js} +7 -7
  131. package/dist/{utilities-53NXNLA7.js → utilities-4Z6YX3L5.js} +6 -6
  132. package/dist/{visual-IJAT7X7D.js → visual-TA6LPVDJ.js} +5 -5
  133. package/dist/{workflow-OQNH2FIS.js → workflow-B5FXS2CJ.js} +92 -36
  134. package/dist/workflow-B5FXS2CJ.js.map +1 -0
  135. package/dist/{workflow-cache-FP6MKLVR.js → workflow-cache-MNLEMRMM.js} +16 -16
  136. package/dist/{workflow-cache-convergence-resolve-HS5KO7US.js → workflow-cache-convergence-resolve-G5HJM6MF.js} +5 -5
  137. package/dist/{workflow-debug-EM55H2QE.js → workflow-debug-TNBUGSBK.js} +11 -11
  138. package/dist/{workflow-feedback-GNWNWVHH.js → workflow-feedback-G2ZXAUGI.js} +5 -5
  139. package/dist/{workflow-fork-M5AQWST7.js → workflow-fork-6HHOMC2D.js} +5 -5
  140. package/dist/{workflow-promotion-HYULZDYL.js → workflow-promotion-RG7L6JZT.js} +5 -5
  141. package/dist/{workflow-proposals-EN327FSE.js → workflow-proposals-ZNF2F3UE.js} +5 -5
  142. package/dist/{workflow-revisions-ZMTVNWRW.js → workflow-revisions-TP64Z6FO.js} +5 -5
  143. package/dist/{workflow-status-FNAJG34W.js → workflow-status-5RG3JX56.js} +5 -5
  144. package/package.json +3 -2
  145. package/dist/chunk-74TU6PGO.js.map +0 -1
  146. package/dist/chunk-AQOHNAEN.js.map +0 -1
  147. package/dist/chunk-HGEJHS45.js.map +0 -1
  148. package/dist/chunk-KNWKOKM7.js.map +0 -1
  149. package/dist/chunk-LPQTXBJF.js.map +0 -1
  150. package/dist/chunk-O7MBDOMO.js.map +0 -1
  151. package/dist/chunk-Q7UAEFW5.js.map +0 -1
  152. package/dist/chunk-R2CVV7QT.js.map +0 -1
  153. package/dist/chunk-TRC63RSK.js.map +0 -1
  154. package/dist/chunk-ZFN5FWN2.js.map +0 -1
  155. package/dist/eval-5FZKYZ6O.js.map +0 -1
  156. package/dist/exploratory-test-SJ5HFI3L.js.map +0 -1
  157. package/dist/perf-3JOAXPHP.js.map +0 -1
  158. package/dist/property-IEKBXRVY.js.map +0 -1
  159. package/dist/sandbox-ZXDZTCCN.js.map +0 -1
  160. package/dist/skill-D4XFW6QI.js.map +0 -1
  161. package/dist/src-ZKVNVLXY.js.map +0 -1
  162. package/dist/test-suite-QHDUW5W5.js.map +0 -1
  163. package/dist/workflow-OQNH2FIS.js.map +0 -1
  164. /package/dist/{account-6YJAU53I.js.map → account-CZYZD2JS.js.map} +0 -0
  165. /package/dist/{alert-Z7V2ZUEW.js.map → alert-JQ4SDEB7.js.map} +0 -0
  166. /package/dist/{api-catalog-UEDTRM6E.js.map → api-catalog-IWQC35P2.js.map} +0 -0
  167. /package/dist/{api-key-V5GEPRRG.js.map → api-key-GUDXIIEA.js.map} +0 -0
  168. /package/dist/{attachment-M7VZ6GSE.js.map → attachment-CPZYOBUB.js.map} +0 -0
  169. /package/dist/{auth-DVTMWJKF.js.map → auth-DS6MBVEI.js.map} +0 -0
  170. /package/dist/{benchmark-KZJZYUTQ.js.map → benchmark-6HPCIQHD.js.map} +0 -0
  171. /package/dist/{blackcat-QJXYDE66.js.map → blackcat-V3L63WFE.js.map} +0 -0
  172. /package/dist/{chunk-FLDIN6VX.js.map → chunk-2E3STBHS.js.map} +0 -0
  173. /package/dist/{chunk-L4Y5PZUE.js.map → chunk-3LGCHNBC.js.map} +0 -0
  174. /package/dist/{chunk-2M4PZK6Q.js.map → chunk-56HFZHQM.js.map} +0 -0
  175. /package/dist/{chunk-RA2NRAWU.js.map → chunk-62EXS76C.js.map} +0 -0
  176. /package/dist/{chunk-4EWSONHO.js.map → chunk-BDOL622T.js.map} +0 -0
  177. /package/dist/{chunk-T6EQFICG.js.map → chunk-C3CXVX2B.js.map} +0 -0
  178. /package/dist/{chunk-MQQCUU5S.js.map → chunk-DEVD2WD2.js.map} +0 -0
  179. /package/dist/{chunk-JAIMLQOU.js.map → chunk-GCD4EHCD.js.map} +0 -0
  180. /package/dist/{chunk-7MRZWPVC.js.map → chunk-H6ZMKNP7.js.map} +0 -0
  181. /package/dist/{chunk-ZOPVBINJ.js.map → chunk-IEWAH7W3.js.map} +0 -0
  182. /package/dist/{chunk-ZO5MSM4Q.js.map → chunk-J2ZQULU3.js.map} +0 -0
  183. /package/dist/{chunk-IVWWYKAM.js.map → chunk-K2IDR6FR.js.map} +0 -0
  184. /package/dist/{chunk-QGP67JOK.js.map → chunk-KTZRI27M.js.map} +0 -0
  185. /package/dist/{chunk-3YNR6U6Q.js.map → chunk-UJSW72LG.js.map} +0 -0
  186. /package/dist/{chunk-G2SCV2CY.js.map → chunk-VACACCD6.js.map} +0 -0
  187. /package/dist/{chunk-CV22445U.js.map → chunk-VMAR67FF.js.map} +0 -0
  188. /package/dist/{chunk-QYHJUHL7.js.map → chunk-VMJ7TBVM.js.map} +0 -0
  189. /package/dist/{chunk-YACDH6MJ.js.map → chunk-XHEVDABB.js.map} +0 -0
  190. /package/dist/{chunk-7VBX2M4F.js.map → chunk-XHGF6VC6.js.map} +0 -0
  191. /package/dist/{credential-546ER7WQ.js.map → credential-GJW7LGYP.js.map} +0 -0
  192. /package/dist/{credential-template-BWMEBGBN.js.map → credential-template-UWBYKKWD.js.map} +0 -0
  193. /package/dist/{digest-NIVBDDI2.js.map → digest-XEHGCJM4.js.map} +0 -0
  194. /package/dist/{docs-AK4MDP6K.js.map → docs-KH4BCEQF.js.map} +0 -0
  195. /package/dist/{doctor-NCLA47EL.js.map → doctor-FOXXE5SK.js.map} +0 -0
  196. /package/dist/{environment-X3PV5IN2.js.map → environment-EBDPQTIS.js.map} +0 -0
  197. /package/dist/{exploration-2RVGIUKT.js.map → exploration-LCGKRGOQ.js.map} +0 -0
  198. /package/dist/{external-run-4NDVAHQB.js.map → external-run-2AJAI5O7.js.map} +0 -0
  199. /package/dist/{feature-flag-C4IRE724.js.map → feature-flag-P7N4WQIH.js.map} +0 -0
  200. /package/dist/{feedback-337OZCKC.js.map → feedback-LAT7TQ2T.js.map} +0 -0
  201. /package/dist/{flow-D7ZLBKCH.js.map → flow-NH2DC6AP.js.map} +0 -0
  202. /package/dist/{github-LKXYIALH.js.map → github-FCEKBLXI.js.map} +0 -0
  203. /package/dist/{init-GKEC6LPH.js.map → init-5U5EZOAW.js.map} +0 -0
  204. /package/dist/{install-K45SAT2V.js.map → install-X3UNVXKY.js.map} +0 -0
  205. /package/dist/{issues-2HMTQYWR.js.map → issues-4P6I3YQW.js.map} +0 -0
  206. /package/dist/{knobs-KUCGLO5Z.js.map → knobs-JKTWJ6ZG.js.map} +0 -0
  207. /package/dist/{landing-KAET2I73.js.map → landing-6AGLKI66.js.map} +0 -0
  208. /package/dist/{list-GDV4UYWV.js.map → list-TWP2RP33.js.map} +0 -0
  209. /package/dist/{local-NFOSJLLV.js.map → local-D75QE5TB.js.map} +0 -0
  210. /package/dist/{login-Y77HWROY.js.map → login-RBET4TIP.js.map} +0 -0
  211. /package/dist/{mcp-CPCFMU6B.js.map → mcp-562SUUMK.js.map} +0 -0
  212. /package/dist/{metrics-Y245ST63.js.map → metrics-4WF2GEPA.js.map} +0 -0
  213. /package/dist/{monitor-BUDWSC3S.js.map → monitor-WJXH54H2.js.map} +0 -0
  214. /package/dist/{product-CXL3YTMD.js.map → product-CYEQ7HOB.js.map} +0 -0
  215. /package/dist/{product-map-656BTU74.js.map → product-map-MSDLIFZY.js.map} +0 -0
  216. /package/dist/{prompts-3SZ7O5E6.js.map → prompts-ME53WPN4.js.map} +0 -0
  217. /package/dist/{proofs-4CSCCSNL.js.map → proofs-D3G6ZUFP.js.map} +0 -0
  218. /package/dist/{psql-M4CM6TSI.js.map → psql-EXAUDU3W.js.map} +0 -0
  219. /package/dist/{record-QP4TYZBS.js.map → record-EE7NGNKY.js.map} +0 -0
  220. /package/dist/{redis-KG47IGJV.js.map → redis-M4EYWKOJ.js.map} +0 -0
  221. /package/dist/{release-QHPSQULK.js.map → release-4KUWVWWC.js.map} +0 -0
  222. /package/dist/{runbook-YVBG2QK3.js.map → runbook-AHU77ANQ.js.map} +0 -0
  223. /package/dist/{scenarios-2SX2NUCD.js.map → scenarios-TU656T2B.js.map} +0 -0
  224. /package/dist/{schedule-P6F7MLXX.js.map → schedule-DXJI6SYO.js.map} +0 -0
  225. /package/dist/{session-SZMCZTPE.js.map → session-RUFTJHF4.js.map} +0 -0
  226. /package/dist/{slack-UDXTPOSW.js.map → slack-M3OKDVMY.js.map} +0 -0
  227. /package/dist/{spec-YCBBIV27.js.map → spec-5MXEBLYR.js.map} +0 -0
  228. /package/dist/{src-DEGBASCD.js.map → src-2X5OQRPJ.js.map} +0 -0
  229. /package/dist/{src-DY7GLRO2.js.map → src-72EFBA2R.js.map} +0 -0
  230. /package/dist/{src-NG7DRE5A.js.map → src-KH6WSBJV.js.map} +0 -0
  231. /package/dist/{start-ZYZSORPY.js.map → start-PDYBRB5T.js.map} +0 -0
  232. /package/dist/{status-ESIG6A7W.js.map → status-VMVPVCDA.js.map} +0 -0
  233. /package/dist/{tag-3K5Y25AR.js.map → tag-7KTDLPVU.js.map} +0 -0
  234. /package/dist/{task-JLNX7O3M.js.map → task-QLFYZNKR.js.map} +0 -0
  235. /package/dist/{teams-F4IU3EXE.js.map → teams-Y7BXCY6P.js.map} +0 -0
  236. /package/dist/{tickets-NBL5WACL.js.map → tickets-CQDJDNPY.js.map} +0 -0
  237. /package/dist/{trace-ZKYAI5JF.js.map → trace-QDORWXYX.js.map} +0 -0
  238. /package/dist/{triage-5NWCREUM.js.map → triage-GY7M3UGG.js.map} +0 -0
  239. /package/dist/{trigger-KXYYY5IR.js.map → trigger-DLFAORX4.js.map} +0 -0
  240. /package/dist/{update-check-Q2URVJLC.js.map → update-check-ES6XQ7OF.js.map} +0 -0
  241. /package/dist/{upgrade-4XSASC7U.js.map → upgrade-WKEOW5GS.js.map} +0 -0
  242. /package/dist/{usage-UY7VZYVY.js.map → usage-E6FDTR3W.js.map} +0 -0
  243. /package/dist/{utilities-53NXNLA7.js.map → utilities-4Z6YX3L5.js.map} +0 -0
  244. /package/dist/{visual-IJAT7X7D.js.map → visual-TA6LPVDJ.js.map} +0 -0
  245. /package/dist/{workflow-cache-FP6MKLVR.js.map → workflow-cache-MNLEMRMM.js.map} +0 -0
  246. /package/dist/{workflow-cache-convergence-resolve-HS5KO7US.js.map → workflow-cache-convergence-resolve-G5HJM6MF.js.map} +0 -0
  247. /package/dist/{workflow-debug-EM55H2QE.js.map → workflow-debug-TNBUGSBK.js.map} +0 -0
  248. /package/dist/{workflow-feedback-GNWNWVHH.js.map → workflow-feedback-G2ZXAUGI.js.map} +0 -0
  249. /package/dist/{workflow-fork-M5AQWST7.js.map → workflow-fork-6HHOMC2D.js.map} +0 -0
  250. /package/dist/{workflow-promotion-HYULZDYL.js.map → workflow-promotion-RG7L6JZT.js.map} +0 -0
  251. /package/dist/{workflow-proposals-EN327FSE.js.map → workflow-proposals-ZNF2F3UE.js.map} +0 -0
  252. /package/dist/{workflow-revisions-ZMTVNWRW.js.map → workflow-revisions-TP64Z6FO.js.map} +0 -0
  253. /package/dist/{workflow-status-FNAJG34W.js.map → workflow-status-5RG3JX56.js.map} +0 -0
@@ -1,11 +1,11 @@
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
  activeConfigDir
4
- } from "./chunk-ZFN5FWN2.js";
4
+ } from "./chunk-4MFMPC5P.js";
5
5
  import {
6
6
  command,
7
7
  packageName
8
- } from "./chunk-KNWKOKM7.js";
8
+ } from "./chunk-2OHYMT3A.js";
9
9
 
10
10
  // src/update-check.ts
11
11
  import fs from "fs/promises";
@@ -96,4 +96,4 @@ export {
96
96
  checkForUpdate,
97
97
  clearUpdateCache
98
98
  };
99
- //# sourceMappingURL=chunk-3YNR6U6Q.js.map
99
+ //# sourceMappingURL=chunk-UJSW72LG.js.map
@@ -1,11 +1,11 @@
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
  clearUpdateCache
4
- } from "./chunk-3YNR6U6Q.js";
4
+ } from "./chunk-UJSW72LG.js";
5
5
  import {
6
6
  command,
7
7
  packageName
8
- } from "./chunk-KNWKOKM7.js";
8
+ } from "./chunk-2OHYMT3A.js";
9
9
 
10
10
  // src/upgrade.ts
11
11
  import fs from "fs";
@@ -70,4 +70,4 @@ export {
70
70
  installCommandLine,
71
71
  runUpgrade
72
72
  };
73
- //# sourceMappingURL=chunk-G2SCV2CY.js.map
73
+ //# sourceMappingURL=chunk-VACACCD6.js.map
@@ -1,7 +1,7 @@
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
  command
4
- } from "./chunk-KNWKOKM7.js";
4
+ } from "./chunk-2OHYMT3A.js";
5
5
 
6
6
  // src/skill-install-helpers.ts
7
7
  import { existsSync } from "fs";
@@ -98,4 +98,4 @@ export {
98
98
  formatInstallWriteFailure,
99
99
  isValidInstallName
100
100
  };
101
- //# sourceMappingURL=chunk-CV22445U.js.map
101
+ //# sourceMappingURL=chunk-VMAR67FF.js.map
@@ -1,7 +1,7 @@
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
  apiRequest
4
- } from "./chunk-TRC63RSK.js";
4
+ } from "./chunk-EWK44F6V.js";
5
5
 
6
6
  // src/env-var-definitions.ts
7
7
  import process from "process";
@@ -66,4 +66,4 @@ export {
66
66
  parseEnvVarDefinitions,
67
67
  updateEnvVarDefinitions
68
68
  };
69
- //# sourceMappingURL=chunk-QYHJUHL7.js.map
69
+ //# sourceMappingURL=chunk-VMJ7TBVM.js.map
@@ -0,0 +1,332 @@
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
+ getCliDiagnosticMetadata
4
+ } from "./chunk-W7CFLOEI.js";
5
+ import {
6
+ debug,
7
+ resolveOptionalConfig
8
+ } from "./chunk-4MFMPC5P.js";
9
+
10
+ // src/user-event-tracking.ts
11
+ import process from "process";
12
+
13
+ // ../sdk/src/errors.ts
14
+ var SdkError = class extends Error {
15
+ status;
16
+ body;
17
+ constructor(message, status, body) {
18
+ super(message);
19
+ this.name = "SdkError";
20
+ this.status = status;
21
+ this.body = body;
22
+ }
23
+ };
24
+ var AuthError = class extends SdkError {
25
+ constructor(message, status, body) {
26
+ super(message, status, body);
27
+ this.name = "AuthError";
28
+ }
29
+ };
30
+ var ValidationError = class extends SdkError {
31
+ constructor(message, status, body) {
32
+ super(message, status, body);
33
+ this.name = "ValidationError";
34
+ }
35
+ };
36
+ function errorFromResponse(status, body) {
37
+ const message = body?.error ?? `Request failed with status ${status}`;
38
+ if (status === 401 || status === 403) return new AuthError(message, status, body);
39
+ if (status === 400 || status === 422) return new ValidationError(message, status, body);
40
+ return new SdkError(message, status, body);
41
+ }
42
+
43
+ // ../sdk/src/client.ts
44
+ function interpolate(path, params) {
45
+ if (!params) return path;
46
+ return path.replace(/:([A-Za-z0-9_]+)/g, (_, k) => {
47
+ const v = params[k];
48
+ if (v === void 0) throw new Error(`Missing path param :${k} for ${path}`);
49
+ return encodeURIComponent(String(v));
50
+ });
51
+ }
52
+ function buildQuery(q) {
53
+ if (!q) return "";
54
+ const usp = new URLSearchParams();
55
+ for (const [k, v] of Object.entries(q)) {
56
+ if (v === void 0 || v === null) continue;
57
+ usp.set(k, String(v));
58
+ }
59
+ const s = usp.toString();
60
+ return s ? `?${s}` : "";
61
+ }
62
+ function createClient(cfg) {
63
+ let token = cfg.token;
64
+ const fetchImpl = cfg.fetch ?? fetch;
65
+ async function resolveToken() {
66
+ if (typeof token === "function") return token();
67
+ return token;
68
+ }
69
+ async function request(method, path, opts = {}) {
70
+ const url = cfg.baseUrl.replace(/\/$/, "") + interpolate(path, opts.params) + buildQuery(opts.query);
71
+ const headers = {
72
+ accept: "application/json",
73
+ ...cfg.headers,
74
+ ...opts.headers
75
+ };
76
+ const resolvedToken = await resolveToken();
77
+ if (resolvedToken && !headers.authorization) {
78
+ headers.authorization = `Bearer ${resolvedToken}`;
79
+ }
80
+ if (opts.body !== void 0 && !headers["content-type"]) {
81
+ headers["content-type"] = "application/json";
82
+ }
83
+ const res = await fetchImpl(url, {
84
+ method,
85
+ headers,
86
+ body: opts.body === void 0 ? void 0 : JSON.stringify(opts.body),
87
+ signal: opts.signal
88
+ });
89
+ const text = await res.text();
90
+ let parsed;
91
+ if (text.length > 0) {
92
+ try {
93
+ parsed = JSON.parse(text);
94
+ } catch {
95
+ parsed = text;
96
+ }
97
+ }
98
+ if (!res.ok) {
99
+ const body = parsed && typeof parsed === "object" ? parsed : void 0;
100
+ throw errorFromResponse(res.status, body);
101
+ }
102
+ return parsed;
103
+ }
104
+ return {
105
+ get baseUrl() {
106
+ return cfg.baseUrl;
107
+ },
108
+ request,
109
+ setToken(next) {
110
+ token = next;
111
+ }
112
+ };
113
+ }
114
+
115
+ // ../sdk/src/user-events.ts
116
+ async function recordUserEvent(client, input) {
117
+ await client.request("POST", "/events", {
118
+ body: input
119
+ });
120
+ }
121
+
122
+ // ../user-events/src/recorder.ts
123
+ function createUserEventRecorder(opts) {
124
+ const safeRecord = async (eventType, metadata) => {
125
+ try {
126
+ await recordUserEvent(opts.client, {
127
+ eventType,
128
+ origin: opts.origin,
129
+ metadata
130
+ });
131
+ } catch (error) {
132
+ opts.onError?.(error);
133
+ }
134
+ };
135
+ return {
136
+ record: safeRecord,
137
+ recordCommandStarted(metadata) {
138
+ return safeRecord("command.started", metadata);
139
+ },
140
+ recordCommandCompleted(metadata) {
141
+ return safeRecord("command.completed", metadata);
142
+ },
143
+ recordCommandFailed(metadata) {
144
+ return safeRecord("command.failed", metadata);
145
+ },
146
+ recordCommandInstrumentationFailed(metadata) {
147
+ return safeRecord("command.instrumentation-failed", metadata);
148
+ }
149
+ };
150
+ }
151
+
152
+ // src/user-event-tracking.ts
153
+ var SUBCOMMAND_COMMANDS = /* @__PURE__ */ new Set([
154
+ "api-catalog",
155
+ "attachment",
156
+ "attachments",
157
+ "auth",
158
+ "credential",
159
+ "credential-template",
160
+ "credential-templates",
161
+ "docs",
162
+ "feature-flag",
163
+ "issues",
164
+ "knobs",
165
+ "local",
166
+ "property",
167
+ "release",
168
+ "sandbox",
169
+ "session",
170
+ "tag",
171
+ "tags",
172
+ "task",
173
+ "test-suite",
174
+ "workflow"
175
+ ]);
176
+ var UNTRACKED_COMMANDS = /* @__PURE__ */ new Set(["help", "upgrade", "version"]);
177
+ var ProcessExitSignal = class extends Error {
178
+ exitCode;
179
+ constructor(exitCode) {
180
+ super(`Process exited with code ${exitCode}`);
181
+ this.name = "ProcessExitSignal";
182
+ this.exitCode = exitCode;
183
+ }
184
+ };
185
+ function shouldTrack(argv) {
186
+ const command = argv[0];
187
+ if (!command || UNTRACKED_COMMANDS.has(command)) return false;
188
+ if (argv.includes("--help") || argv.includes("-h")) return false;
189
+ return true;
190
+ }
191
+ function getSubcommand(argv) {
192
+ const command = argv[0];
193
+ if (!command || !SUBCOMMAND_COMMANDS.has(command)) return void 0;
194
+ const candidate = argv[1];
195
+ if (!candidate || candidate.startsWith("-")) return void 0;
196
+ return candidate;
197
+ }
198
+ function getApiHost(apiUrl) {
199
+ try {
200
+ return new URL(apiUrl).host;
201
+ } catch {
202
+ return void 0;
203
+ }
204
+ }
205
+ function getArgNames(argv) {
206
+ return argv.filter((arg) => arg.startsWith("-"));
207
+ }
208
+ function looksLikeWorkflowRunId(value) {
209
+ return value.length >= 8 && !/^[a-z-]+$/i.test(value.slice(0, 8));
210
+ }
211
+ function getWorkflowDebugMetadata(argv) {
212
+ if (argv[0] !== "workflow" || argv[1] !== "debug") return {};
213
+ const [maybeSubcommand, ...rest] = argv.slice(2);
214
+ if (!maybeSubcommand || maybeSubcommand === "help" || maybeSubcommand.startsWith("-")) {
215
+ return {};
216
+ }
217
+ if (looksLikeWorkflowRunId(maybeSubcommand)) {
218
+ return {
219
+ workflowDebugSubcommand: "overview",
220
+ workflowDebugTarget: maybeSubcommand,
221
+ workflowDebugTargetSource: "bare-run"
222
+ };
223
+ }
224
+ const target = rest.find((arg) => !arg.startsWith("-"));
225
+ return {
226
+ workflowDebugSubcommand: maybeSubcommand,
227
+ workflowDebugTarget: target,
228
+ workflowDebugTargetSource: target ? "subcommand-run" : void 0
229
+ };
230
+ }
231
+ function buildBaseMetadata(argv, cliVersion, apiUrl) {
232
+ const topLevelCommand = argv[0] ?? "unknown";
233
+ const subcommand = getSubcommand(argv);
234
+ return {
235
+ commandPath: subcommand ? `${topLevelCommand} ${subcommand}` : topLevelCommand,
236
+ topLevelCommand,
237
+ subcommand,
238
+ cliVersion,
239
+ apiHost: getApiHost(apiUrl),
240
+ isInteractive: Boolean(process.stdin.isTTY && process.stdout.isTTY),
241
+ args: getArgNames(argv),
242
+ ...getWorkflowDebugMetadata(argv)
243
+ };
244
+ }
245
+ function errorMetadata(error) {
246
+ const cause = error instanceof Error && error.cause instanceof Error ? error.cause : null;
247
+ const causeCode = cause && cause.code;
248
+ const errorName = error instanceof Error ? error.name : void 0;
249
+ const errorMessage = error instanceof Error ? error.message : String(error);
250
+ const terminationKind = errorName === "TimeoutError" || /timed out|aborted due to timeout/i.test(errorMessage) ? "timeout" : errorName === "TypeError" && errorMessage.trim().toLowerCase() === "terminated" ? "terminated" : null;
251
+ return {
252
+ errorKind: error instanceof Error ? error.name : typeof error,
253
+ errorName,
254
+ errorMessage,
255
+ cliErrorCauseName: cause?.name ?? null,
256
+ cliErrorCauseMessage: cause?.message ?? null,
257
+ cliErrorCauseCode: typeof causeCode === "string" ? causeCode : null,
258
+ cliTerminationKind: terminationKind,
259
+ cliTerminationExpected: terminationKind ? false : null,
260
+ ...getCliDiagnosticMetadata(error)
261
+ };
262
+ }
263
+ var PLAYWRIGHT_LOCAL_SETUP_ERROR_PATTERNS = [
264
+ /browserType\.launch: Executable doesn't exist at .*ms-playwright/i,
265
+ /Looks like Playwright was just installed or updated\.[\s\S]*playwright install/i,
266
+ /Could not load Playwright trace viewer\. Make sure playwright is installed\./i
267
+ ];
268
+ var WORKFLOW_CACHE_EXPECTED_INPUT_ERROR_PATTERNS = [
269
+ /^No (?:before|input|after)-snapshot HTML reconstructable for trace action \d+ — the action may predate page load or the trace omitted its snapshot$/,
270
+ /^Invalid JSON in --recipe file: /,
271
+ /^Invalid --recipe file: expected a JSON object$/,
272
+ /^Could not read --recipe file: /,
273
+ /^Trace file not found: /
274
+ ];
275
+ var BLACKCAT_EXPECTED_INPUT_ERROR_PATTERNS = [
276
+ /^Blackcat commands require the explicit flag --env dev /
277
+ ];
278
+ function isExpectedCliInputError(error) {
279
+ if (!(error instanceof Error)) return false;
280
+ return /^Action index \d+ out of range \(0-\d+\)$/.test(error.message) || WORKFLOW_CACHE_EXPECTED_INPUT_ERROR_PATTERNS.some((pattern) => pattern.test(error.message)) || BLACKCAT_EXPECTED_INPUT_ERROR_PATTERNS.some((pattern) => pattern.test(error.message)) || PLAYWRIGHT_LOCAL_SETUP_ERROR_PATTERNS.some((pattern) => pattern.test(error.message));
281
+ }
282
+ async function createCliUserEventRecorder(argv, cliVersion) {
283
+ if (!shouldTrack(argv)) return null;
284
+ const config = await resolveOptionalConfig(argv);
285
+ if (!config) return null;
286
+ const client = createClient({
287
+ baseUrl: config.apiUrl,
288
+ token: config.token
289
+ });
290
+ return {
291
+ recorder: createUserEventRecorder({
292
+ client,
293
+ origin: "cli",
294
+ onError: (error) => {
295
+ const message = error instanceof Error ? error.message : String(error);
296
+ debug(`user event tracking skipped: ${message}`);
297
+ }
298
+ }),
299
+ metadata: buildBaseMetadata(argv, cliVersion, config.apiUrl)
300
+ };
301
+ }
302
+ async function recordCliInstrumentationFailure(argv, cliVersion, stage, error) {
303
+ if (!shouldTrack(argv)) return;
304
+ try {
305
+ const config = await resolveOptionalConfig(argv);
306
+ if (!config) return;
307
+ const client = createClient({
308
+ baseUrl: config.apiUrl,
309
+ token: config.token
310
+ });
311
+ const recorder = createUserEventRecorder({
312
+ client,
313
+ origin: "cli"
314
+ });
315
+ await recorder.recordCommandInstrumentationFailed({
316
+ ...buildBaseMetadata(argv, cliVersion, config.apiUrl),
317
+ stage,
318
+ ...errorMetadata(error),
319
+ reportToSentry: true,
320
+ sentryFingerprint: ["canary-cli", "instrumentation-failed", stage]
321
+ });
322
+ } catch {
323
+ }
324
+ }
325
+
326
+ export {
327
+ ProcessExitSignal,
328
+ isExpectedCliInputError,
329
+ createCliUserEventRecorder,
330
+ recordCliInstrumentationFailure
331
+ };
332
+ //# sourceMappingURL=chunk-WRRA4ATV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/user-event-tracking.ts","../../sdk/src/errors.ts","../../sdk/src/client.ts","../../sdk/src/user-events.ts","../../user-events/src/recorder.ts"],"sourcesContent":["import process from 'node:process';\nimport { createClient } from '@chatsdet/sdk';\nimport {\n createUserEventRecorder,\n type CliCommandBaseMetadata,\n type UserEventRecorder,\n} from '@chatsdet/user-events';\nimport { resolveOptionalConfig } from './auth.js';\nimport { getCliDiagnosticMetadata } from './cli-diagnostics.js';\nimport { debug } from './debug.js';\n\nconst SUBCOMMAND_COMMANDS = new Set([\n 'api-catalog',\n 'attachment',\n 'attachments',\n 'auth',\n 'credential',\n 'credential-template',\n 'credential-templates',\n 'docs',\n 'feature-flag',\n 'issues',\n 'knobs',\n 'local',\n 'property',\n 'release',\n 'sandbox',\n 'session',\n 'tag',\n 'tags',\n 'task',\n 'test-suite',\n 'workflow',\n]);\n\nconst UNTRACKED_COMMANDS = new Set(['help', 'upgrade', 'version']);\n\nexport class ProcessExitSignal extends Error {\n readonly exitCode: number;\n\n constructor(exitCode: number) {\n super(`Process exited with code ${exitCode}`);\n this.name = 'ProcessExitSignal';\n this.exitCode = exitCode;\n }\n}\n\nfunction shouldTrack(argv: string[]): boolean {\n const command = argv[0];\n if (!command || UNTRACKED_COMMANDS.has(command)) return false;\n if (argv.includes('--help') || argv.includes('-h')) return false;\n return true;\n}\n\nfunction getSubcommand(argv: string[]): string | undefined {\n const command = argv[0];\n if (!command || !SUBCOMMAND_COMMANDS.has(command)) return undefined;\n const candidate = argv[1];\n if (!candidate || candidate.startsWith('-')) return undefined;\n return candidate;\n}\n\nfunction getApiHost(apiUrl: string): string | undefined {\n try {\n return new URL(apiUrl).host;\n } catch {\n return undefined;\n }\n}\n\nfunction getArgNames(argv: string[]): string[] {\n return argv.filter((arg) => arg.startsWith('-'));\n}\n\nfunction looksLikeWorkflowRunId(value: string): boolean {\n return value.length >= 8 && !/^[a-z-]+$/i.test(value.slice(0, 8));\n}\n\nfunction getWorkflowDebugMetadata(argv: string[]): {\n workflowDebugSubcommand?: string;\n workflowDebugTarget?: string;\n workflowDebugTargetSource?: string;\n} {\n if (argv[0] !== 'workflow' || argv[1] !== 'debug') return {};\n const [maybeSubcommand, ...rest] = argv.slice(2);\n if (!maybeSubcommand || maybeSubcommand === 'help' || maybeSubcommand.startsWith('-')) {\n return {};\n }\n if (looksLikeWorkflowRunId(maybeSubcommand)) {\n return {\n workflowDebugSubcommand: 'overview',\n workflowDebugTarget: maybeSubcommand,\n workflowDebugTargetSource: 'bare-run',\n };\n }\n\n const target = rest.find((arg) => !arg.startsWith('-'));\n return {\n workflowDebugSubcommand: maybeSubcommand,\n workflowDebugTarget: target,\n workflowDebugTargetSource: target ? 'subcommand-run' : undefined,\n };\n}\n\nfunction buildBaseMetadata(\n argv: string[],\n cliVersion: string,\n apiUrl: string\n): CliCommandBaseMetadata {\n const topLevelCommand = argv[0] ?? 'unknown';\n const subcommand = getSubcommand(argv);\n return {\n commandPath: subcommand ? `${topLevelCommand} ${subcommand}` : topLevelCommand,\n topLevelCommand,\n subcommand,\n cliVersion,\n apiHost: getApiHost(apiUrl),\n isInteractive: Boolean(process.stdin.isTTY && process.stdout.isTTY),\n args: getArgNames(argv),\n ...getWorkflowDebugMetadata(argv),\n };\n}\n\nfunction errorMetadata(error: unknown): {\n errorKind: string;\n errorName?: string;\n errorMessage: string;\n} & Record<string, string | number | boolean | null | undefined> {\n const cause = error instanceof Error && error.cause instanceof Error ? error.cause : null;\n const causeCode = cause && (cause as Error & { code?: unknown }).code;\n const errorName = error instanceof Error ? error.name : undefined;\n const errorMessage = error instanceof Error ? error.message : String(error);\n const terminationKind =\n errorName === 'TimeoutError' || /timed out|aborted due to timeout/i.test(errorMessage)\n ? 'timeout'\n : errorName === 'TypeError' && errorMessage.trim().toLowerCase() === 'terminated'\n ? 'terminated'\n : null;\n return {\n errorKind: error instanceof Error ? error.name : typeof error,\n errorName,\n errorMessage,\n cliErrorCauseName: cause?.name ?? null,\n cliErrorCauseMessage: cause?.message ?? null,\n cliErrorCauseCode: typeof causeCode === 'string' ? causeCode : null,\n cliTerminationKind: terminationKind,\n cliTerminationExpected: terminationKind ? false : null,\n ...getCliDiagnosticMetadata(error),\n };\n}\n\nconst PLAYWRIGHT_LOCAL_SETUP_ERROR_PATTERNS = [\n /browserType\\.launch: Executable doesn't exist at .*ms-playwright/i,\n /Looks like Playwright was just installed or updated\\.[\\s\\S]*playwright install/i,\n /Could not load Playwright trace viewer\\. Make sure playwright is installed\\./i,\n];\n\nconst WORKFLOW_CACHE_EXPECTED_INPUT_ERROR_PATTERNS = [\n /^No (?:before|input|after)-snapshot HTML reconstructable for trace action \\d+ — the action may predate page load or the trace omitted its snapshot$/,\n /^Invalid JSON in --recipe file: /,\n /^Invalid --recipe file: expected a JSON object$/,\n /^Could not read --recipe file: /,\n /^Trace file not found: /,\n];\n\nconst BLACKCAT_EXPECTED_INPUT_ERROR_PATTERNS = [\n /^Blackcat commands require the explicit flag --env dev /,\n];\n\nexport function isExpectedCliInputError(error: unknown): boolean {\n if (!(error instanceof Error)) return false;\n return (\n /^Action index \\d+ out of range \\(0-\\d+\\)$/.test(error.message) ||\n WORKFLOW_CACHE_EXPECTED_INPUT_ERROR_PATTERNS.some((pattern) => pattern.test(error.message)) ||\n BLACKCAT_EXPECTED_INPUT_ERROR_PATTERNS.some((pattern) => pattern.test(error.message)) ||\n PLAYWRIGHT_LOCAL_SETUP_ERROR_PATTERNS.some((pattern) => pattern.test(error.message))\n );\n}\n\nexport async function createCliUserEventRecorder(\n argv: string[],\n cliVersion: string\n): Promise<{ recorder: UserEventRecorder; metadata: CliCommandBaseMetadata } | null> {\n if (!shouldTrack(argv)) return null;\n\n // Not every command uses resolveConfig() yet. Until CLI config resolution is\n // centralized, tracking can target a different backend than the command body.\n const config = await resolveOptionalConfig(argv);\n if (!config) return null;\n\n const client = createClient({\n baseUrl: config.apiUrl,\n token: config.token,\n });\n\n return {\n recorder: createUserEventRecorder({\n client,\n origin: 'cli',\n onError: (error: unknown) => {\n // Tracking is best-effort diagnostics and must never affect command\n // execution or pollute output (e.g. wrap `--json` payloads). Stay silent\n // unless the user opted into debug logging.\n const message = error instanceof Error ? error.message : String(error);\n debug(`user event tracking skipped: ${message}`);\n },\n }),\n metadata: buildBaseMetadata(argv, cliVersion, config.apiUrl),\n };\n}\n\nexport async function recordCliInstrumentationFailure(\n argv: string[],\n cliVersion: string,\n stage: 'recorder-init' | 'record-started' | 'record-completed' | 'record-failed',\n error: unknown\n): Promise<void> {\n if (!shouldTrack(argv)) return;\n\n try {\n const config = await resolveOptionalConfig(argv);\n if (!config) return;\n\n const client = createClient({\n baseUrl: config.apiUrl,\n token: config.token,\n });\n const recorder = createUserEventRecorder({\n client,\n origin: 'cli',\n });\n await recorder.recordCommandInstrumentationFailed({\n ...buildBaseMetadata(argv, cliVersion, config.apiUrl),\n stage,\n ...errorMetadata(error),\n reportToSentry: true,\n sentryFingerprint: ['canary-cli', 'instrumentation-failed', stage],\n });\n } catch {\n // Diagnostics must never affect command execution.\n }\n}\n\nexport const __internals = {\n errorMetadata,\n getArgNames,\n getSubcommand,\n getWorkflowDebugMetadata,\n isExpectedCliInputError,\n shouldTrack,\n};\n","/**\n * Error classes thrown by the SDK. Callers match on these rather than\n * parsing raw HTTP responses.\n */\n\nexport interface ApiErrorBody {\n ok?: false;\n error?: string;\n userError?: boolean;\n code?: string;\n details?: unknown;\n}\n\nexport class SdkError extends Error {\n readonly status: number;\n readonly body: ApiErrorBody | undefined;\n constructor(message: string, status: number, body?: ApiErrorBody) {\n super(message);\n this.name = 'SdkError';\n this.status = status;\n this.body = body;\n }\n}\n\nexport class AuthError extends SdkError {\n constructor(message: string, status: number, body?: ApiErrorBody) {\n super(message, status, body);\n this.name = 'AuthError';\n }\n}\n\nexport class ValidationError extends SdkError {\n constructor(message: string, status: number, body?: ApiErrorBody) {\n super(message, status, body);\n this.name = 'ValidationError';\n }\n}\n\n/** Build the right error subtype for an HTTP status. */\nexport function errorFromResponse(\n status: number,\n body: ApiErrorBody | undefined\n): SdkError {\n const message = body?.error ?? `Request failed with status ${status}`;\n if (status === 401 || status === 403) return new AuthError(message, status, body);\n if (status === 400 || status === 422) return new ValidationError(message, status, body);\n return new SdkError(message, status, body);\n}\n","/**\n * Minimal, typed `fetch` wrapper that all SDK resource modules go through.\n *\n * Design:\n * - Exactly one HTTP call site. Auth header + content-type + error\n * shaping live here; resource modules are thin method wrappers.\n * - No dependency on a generated OpenAPI types file yet — the typed\n * `paths` map will plug in via `client.GET<'/some/path'>(...)` once\n * `scripts/generate-types.ts` is wired up.\n */\nimport { errorFromResponse, type ApiErrorBody } from './errors.js';\n\nexport interface ClientConfig {\n /** API base URL, e.g. `https://api.runcofactor.com` — no trailing slash. */\n baseUrl: string;\n /**\n * Bearer token (JWT) or API key. A function is accepted so callers\n * can refresh on 401 without reconstructing the client.\n */\n token?: string | (() => string | Promise<string>);\n /** Custom fetch implementation (tests, proxies). Defaults to global. */\n fetch?: typeof fetch;\n /** Additional default headers merged into every request. */\n headers?: Record<string, string>;\n}\n\nexport interface RequestOptions {\n /** Path params substituted into `:name` placeholders in the URL. */\n params?: Record<string, string | number>;\n /** Query params appended to the URL. */\n query?: Record<string, string | number | boolean | undefined | null>;\n /** JSON body (stringified automatically). */\n body?: unknown;\n /** Per-request header overrides. */\n headers?: Record<string, string>;\n /** AbortSignal forwarded to fetch. */\n signal?: AbortSignal;\n}\n\nexport interface Client {\n readonly baseUrl: string;\n request<T = unknown>(\n method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE',\n path: string,\n opts?: RequestOptions\n ): Promise<T>;\n /** Replace the stored token (e.g. after org switch). */\n setToken(token: string | (() => string | Promise<string>) | undefined): void;\n}\n\nfunction interpolate(path: string, params: Record<string, string | number> | undefined): string {\n if (!params) return path;\n return path.replace(/:([A-Za-z0-9_]+)/g, (_, k: string) => {\n const v = params[k];\n if (v === undefined) throw new Error(`Missing path param :${k} for ${path}`);\n return encodeURIComponent(String(v));\n });\n}\n\nfunction buildQuery(q: RequestOptions['query']): string {\n if (!q) return '';\n const usp = new URLSearchParams();\n for (const [k, v] of Object.entries(q)) {\n if (v === undefined || v === null) continue;\n usp.set(k, String(v));\n }\n const s = usp.toString();\n return s ? `?${s}` : '';\n}\n\nexport function createClient(cfg: ClientConfig): Client {\n let token = cfg.token;\n const fetchImpl = cfg.fetch ?? fetch;\n\n async function resolveToken(): Promise<string | undefined> {\n if (typeof token === 'function') return token();\n return token;\n }\n\n async function request<T>(\n method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE',\n path: string,\n opts: RequestOptions = {}\n ): Promise<T> {\n const url =\n cfg.baseUrl.replace(/\\/$/, '') +\n interpolate(path, opts.params) +\n buildQuery(opts.query);\n\n const headers: Record<string, string> = {\n accept: 'application/json',\n ...cfg.headers,\n ...opts.headers,\n };\n const resolvedToken = await resolveToken();\n if (resolvedToken && !headers.authorization) {\n headers.authorization = `Bearer ${resolvedToken}`;\n }\n if (opts.body !== undefined && !headers['content-type']) {\n headers['content-type'] = 'application/json';\n }\n\n const res = await fetchImpl(url, {\n method,\n headers,\n body: opts.body === undefined ? undefined : JSON.stringify(opts.body),\n signal: opts.signal,\n });\n\n const text = await res.text();\n let parsed: unknown;\n if (text.length > 0) {\n try {\n parsed = JSON.parse(text);\n } catch {\n parsed = text;\n }\n }\n\n if (!res.ok) {\n const body = (parsed && typeof parsed === 'object' ? parsed : undefined) as\n | ApiErrorBody\n | undefined;\n throw errorFromResponse(res.status, body);\n }\n return parsed as T;\n }\n\n return {\n get baseUrl() {\n return cfg.baseUrl;\n },\n request,\n setToken(next) {\n token = next;\n },\n };\n}\n","import type { Client } from './client.js';\n\nexport interface RecordUserEventInput<\n Origin extends string = string,\n Metadata = Record<string, unknown>,\n> {\n eventType: string;\n origin: Origin;\n metadata: Metadata;\n}\n\nexport async function recordUserEvent<\n Origin extends string = string,\n Metadata = Record<string, unknown>,\n>(\n client: Client,\n input: RecordUserEventInput<Origin, Metadata>\n): Promise<void> {\n await client.request('POST', '/events', {\n body: input,\n });\n}\n","import { recordUserEvent, type Client } from '@chatsdet/sdk';\nimport type {\n CliCommandCompletedMetadata,\n CliCommandFailedMetadata,\n CliCommandInstrumentationFailedMetadata,\n CliCommandStartedMetadata,\n UserEventOrigin,\n UserEventPayloads,\n UserEventType,\n} from './types.js';\n\nexport interface UserEventRecorder {\n record<T extends UserEventType>(eventType: T, metadata: UserEventPayloads[T]): Promise<void>;\n recordCommandStarted(metadata: CliCommandStartedMetadata): Promise<void>;\n recordCommandCompleted(metadata: CliCommandCompletedMetadata): Promise<void>;\n recordCommandFailed(metadata: CliCommandFailedMetadata): Promise<void>;\n recordCommandInstrumentationFailed(\n metadata: CliCommandInstrumentationFailedMetadata\n ): Promise<void>;\n}\n\nexport function createUserEventRecorder(opts: {\n client: Client;\n origin: UserEventOrigin;\n onError?: (error: unknown) => void;\n}): UserEventRecorder {\n const safeRecord = async <T extends UserEventType>(\n eventType: T,\n metadata: UserEventPayloads[T]\n ): Promise<void> => {\n try {\n await recordUserEvent(opts.client, {\n eventType,\n origin: opts.origin,\n metadata,\n });\n } catch (error) {\n opts.onError?.(error);\n }\n };\n\n return {\n record: safeRecord,\n recordCommandStarted(metadata) {\n return safeRecord('command.started', metadata);\n },\n recordCommandCompleted(metadata) {\n return safeRecord('command.completed', metadata);\n },\n recordCommandFailed(metadata) {\n return safeRecord('command.failed', metadata);\n },\n recordCommandInstrumentationFailed(metadata) {\n return safeRecord('command.instrumentation-failed', metadata);\n },\n };\n}\n"],"mappings":"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","names":[]}
@@ -9,7 +9,7 @@ import {
9
9
  PRODUCT_MAP_STATUSES,
10
10
  WORKFLOW_FLOW_TYPES,
11
11
  WORKFLOW_MANAGEMENT_STATUSES
12
- } from "./chunk-R2CVV7QT.js";
12
+ } from "./chunk-RHWPZKRV.js";
13
13
 
14
14
  // ../mcp-tools/src/issue-evidence.ts
15
15
  var MEDIA_FIELDS = {
@@ -5500,4 +5500,4 @@ export {
5500
5500
  resolveTeamsChannelRefs,
5501
5501
  sharedGroups
5502
5502
  };
5503
- //# sourceMappingURL=chunk-YACDH6MJ.js.map
5503
+ //# sourceMappingURL=chunk-XHEVDABB.js.map
@@ -3,13 +3,13 @@ import {
3
3
  OIDC_GATE_ROUTE_KEY,
4
4
  googleOAuthBrowserRoutes,
5
5
  oidcGateBrowserRoutes
6
- } from "./chunk-33U56YGD.js";
6
+ } from "./chunk-CWICLBLU.js";
7
7
  import {
8
8
  PlaywrightClient
9
- } from "./chunk-7MRZWPVC.js";
9
+ } from "./chunk-H6ZMKNP7.js";
10
10
  import {
11
11
  mergeTraceArchives
12
- } from "./chunk-FLDIN6VX.js";
12
+ } from "./chunk-2E3STBHS.js";
13
13
 
14
14
  // src/local-browser/executor.ts
15
15
  import { mkdtemp, writeFile } from "fs/promises";
@@ -669,4 +669,4 @@ export {
669
669
  LocalBrowserHost,
670
670
  USER_PAUSED_ERROR
671
671
  };
672
- //# sourceMappingURL=chunk-7VBX2M4F.js.map
672
+ //# sourceMappingURL=chunk-XHGF6VC6.js.map
@@ -6,7 +6,7 @@ import {
6
6
  fetchProperties,
7
7
  findCredential,
8
8
  getApplicationArg
9
- } from "./chunk-TRC63RSK.js";
9
+ } from "./chunk-EWK44F6V.js";
10
10
  import "./chunk-S3Q7MDCS.js";
11
11
  import {
12
12
  apiFetch,
@@ -14,11 +14,11 @@ import {
14
14
  getArgValue,
15
15
  hasFlag,
16
16
  resolveConfig
17
- } from "./chunk-ZFN5FWN2.js";
17
+ } from "./chunk-4MFMPC5P.js";
18
18
  import {
19
19
  writeRawOutput
20
- } from "./chunk-KNWKOKM7.js";
21
- import "./chunk-R2CVV7QT.js";
20
+ } from "./chunk-2OHYMT3A.js";
21
+ import "./chunk-RHWPZKRV.js";
22
22
  import "./chunk-TOWZAG3I.js";
23
23
 
24
24
  // src/credential.ts
@@ -490,4 +490,4 @@ async function runCredential(argv) {
490
490
  export {
491
491
  runCredential
492
492
  };
493
- //# sourceMappingURL=credential-546ER7WQ.js.map
493
+ //# sourceMappingURL=credential-GJW7LGYP.js.map
@@ -4,17 +4,17 @@ import {
4
4
  fetchProperties,
5
5
  getApplicationArg,
6
6
  getPositionalArg
7
- } from "./chunk-TRC63RSK.js";
7
+ } from "./chunk-EWK44F6V.js";
8
8
  import "./chunk-S3Q7MDCS.js";
9
9
  import {
10
10
  getArgValue,
11
11
  hasFlag,
12
12
  resolveConfig
13
- } from "./chunk-ZFN5FWN2.js";
13
+ } from "./chunk-4MFMPC5P.js";
14
14
  import {
15
15
  writeRawOutput
16
- } from "./chunk-KNWKOKM7.js";
17
- import "./chunk-R2CVV7QT.js";
16
+ } from "./chunk-2OHYMT3A.js";
17
+ import "./chunk-RHWPZKRV.js";
18
18
  import "./chunk-TOWZAG3I.js";
19
19
 
20
20
  // src/credential-template.ts
@@ -418,4 +418,4 @@ async function runCredentialTemplate(argv) {
418
418
  export {
419
419
  runCredentialTemplate
420
420
  };
421
- //# sourceMappingURL=credential-template-BWMEBGBN.js.map
421
+ //# sourceMappingURL=credential-template-UWBYKKWD.js.map