@unbrained/pm-cli 2026.7.6 → 2026.7.8

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 (688) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/cli/commands/annotation-command.d.ts +1 -0
  3. package/dist/cli/commands/annotation-command.js +29 -2
  4. package/dist/cli/commands/annotation-command.js.map +1 -1
  5. package/dist/cli/commands/comments.js +3 -4
  6. package/dist/cli/commands/comments.js.map +1 -1
  7. package/dist/cli/commands/completion.js +10 -2
  8. package/dist/cli/commands/completion.js.map +1 -1
  9. package/dist/cli/commands/context.d.ts +1 -0
  10. package/dist/cli/commands/context.js +4 -4
  11. package/dist/cli/commands/context.js.map +1 -1
  12. package/dist/cli/commands/extension/bundled-catalog.d.ts +3 -0
  13. package/dist/cli/commands/extension/bundled-catalog.js +38 -28
  14. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  15. package/dist/cli/commands/extension/install-sources.js +81 -18
  16. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  17. package/dist/cli/commands/extension.d.ts +23 -19
  18. package/dist/cli/commands/extension.js +167 -57
  19. package/dist/cli/commands/extension.js.map +1 -1
  20. package/dist/cli/commands/health.js +9 -5
  21. package/dist/cli/commands/health.js.map +1 -1
  22. package/dist/cli/commands/learnings.js +5 -3
  23. package/dist/cli/commands/learnings.js.map +1 -1
  24. package/dist/cli/commands/notes.js +5 -3
  25. package/dist/cli/commands/notes.js.map +1 -1
  26. package/dist/cli/commands/reindex.js +4 -3
  27. package/dist/cli/commands/reindex.js.map +1 -1
  28. package/dist/cli/commands/search.js +4 -4
  29. package/dist/cli/commands/search.js.map +1 -1
  30. package/dist/cli/commands/test.d.ts +9 -0
  31. package/dist/cli/commands/test.js +144 -105
  32. package/dist/cli/commands/test.js.map +1 -1
  33. package/dist/cli/extension-command-help.js +10 -2
  34. package/dist/cli/extension-command-help.js.map +1 -1
  35. package/dist/cli/help-content.js +28 -2
  36. package/dist/cli/help-content.js.map +1 -1
  37. package/dist/cli/register-list-query.d.ts +1 -1
  38. package/dist/cli/register-list-query.js +19 -27
  39. package/dist/cli/register-list-query.js.map +1 -1
  40. package/dist/cli/register-operations.d.ts +0 -8
  41. package/dist/cli/register-operations.js +41 -46
  42. package/dist/cli/register-operations.js.map +1 -1
  43. package/dist/cli/register-setup.js +119 -13
  44. package/dist/cli/register-setup.js.map +1 -1
  45. package/dist/cli/registration-helpers.d.ts +5 -1
  46. package/dist/cli/registration-helpers.js +14 -2
  47. package/dist/cli/registration-helpers.js.map +1 -1
  48. package/dist/cli-bundle/chunks/append-CDPAYYSB.js +11 -0
  49. package/dist/cli-bundle/chunks/{gc-2DNMPXMC.js → append-RSPHC423.js} +8 -9
  50. package/dist/cli-bundle/chunks/{chunk-LK6XLOGP.js → chunk-2BVD4ZD2.js} +288 -233
  51. package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +7 -0
  52. package/dist/cli-bundle/chunks/{chunk-TKD5VCTD.js → chunk-2RADY7IB.js} +517 -195
  53. package/dist/cli-bundle/chunks/chunk-2RADY7IB.js.map +1 -0
  54. package/dist/cli-bundle/chunks/{chunk-COSPOP7H.js → chunk-3FRNNVWY.js} +518 -196
  55. package/dist/cli-bundle/chunks/chunk-3FRNNVWY.js.map +7 -0
  56. package/dist/cli-bundle/chunks/{chunk-24YG75HI.js → chunk-3FUXM574.js} +8 -8
  57. package/dist/cli-bundle/chunks/{chunk-IWVU4C2F.js → chunk-3SHDAKMF.js} +3 -3
  58. package/dist/cli-bundle/chunks/{chunk-O6AWCQRQ.js → chunk-3UXIMY62.js} +4 -6
  59. package/dist/cli-bundle/chunks/{chunk-O6AWCQRQ.js.map → chunk-3UXIMY62.js.map} +1 -1
  60. package/dist/cli-bundle/chunks/{chunk-MUH7A3FD.js → chunk-3V5C7PUH.js} +2 -2
  61. package/dist/cli-bundle/chunks/{chunk-ALFPSEWO.js → chunk-3YJDIJIE.js} +4 -6
  62. package/dist/cli-bundle/chunks/{chunk-ALFPSEWO.js.map → chunk-3YJDIJIE.js.map} +1 -1
  63. package/dist/cli-bundle/chunks/{chunk-EGY6JBQ3.js → chunk-4I7KS5ES.js} +2 -2
  64. package/dist/cli-bundle/chunks/{chunk-CRVYGJUI.js → chunk-4OCWJ2AP.js} +13 -17
  65. package/dist/cli-bundle/chunks/{chunk-CRVYGJUI.js.map → chunk-4OCWJ2AP.js.map} +1 -1
  66. package/dist/cli-bundle/chunks/{chunk-GJ7QC5DJ.js → chunk-5STY7NVM.js} +8 -8
  67. package/dist/cli-bundle/chunks/{chunk-JJP45OEI.js → chunk-5VAZHYVQ.js} +2 -2
  68. package/dist/cli-bundle/chunks/{chunk-CFB33L7W.js → chunk-6FU5BVRB.js} +12 -14
  69. package/dist/cli-bundle/chunks/{chunk-CFB33L7W.js.map → chunk-6FU5BVRB.js.map} +1 -1
  70. package/dist/cli-bundle/chunks/{chunk-22KBU3MW.js → chunk-6RR4XM5H.js} +3 -3
  71. package/dist/cli-bundle/chunks/{chunk-K46RF36U.js → chunk-6TD5QGIB.js} +7 -7
  72. package/dist/cli-bundle/chunks/chunk-6TD5QGIB.js.map +1 -0
  73. package/dist/cli-bundle/chunks/{chunk-IX5BXEMX.js → chunk-6WCXSC5V.js} +12 -16
  74. package/dist/cli-bundle/chunks/{chunk-IX5BXEMX.js.map → chunk-6WCXSC5V.js.map} +1 -1
  75. package/dist/cli-bundle/chunks/{chunk-ZWBEPGD7.js → chunk-6ZKDMEVT.js} +7 -9
  76. package/dist/cli-bundle/chunks/{chunk-ZWBEPGD7.js.map → chunk-6ZKDMEVT.js.map} +1 -1
  77. package/dist/cli-bundle/chunks/{chunk-KUOOJR35.js → chunk-7QKSLAHB.js} +2 -2
  78. package/dist/cli-bundle/chunks/{chunk-MVSP7WGJ.js → chunk-7TBUV7XS.js} +8 -12
  79. package/dist/cli-bundle/chunks/{chunk-MVSP7WGJ.js.map → chunk-7TBUV7XS.js.map} +1 -1
  80. package/dist/cli-bundle/chunks/{chunk-NGXQ3PFT.js → chunk-7UCBLJDF.js} +2 -2
  81. package/dist/cli-bundle/chunks/{chunk-F3K4JGFD.js → chunk-AEOFBBWO.js} +6 -8
  82. package/dist/cli-bundle/chunks/{chunk-F3K4JGFD.js.map → chunk-AEOFBBWO.js.map} +1 -1
  83. package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js +10498 -0
  84. package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js.map +7 -0
  85. package/dist/cli-bundle/chunks/{chunk-7DT4WSH2.js → chunk-BFNFTHWQ.js} +3 -3
  86. package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js +5509 -0
  87. package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js.map +7 -0
  88. package/dist/cli-bundle/chunks/{chunk-Y46GD4IX.js → chunk-C3YU3TXX.js} +2 -2
  89. package/dist/cli-bundle/chunks/{chunk-VPIM42PC.js → chunk-C6XSTACC.js} +11 -7
  90. package/dist/cli-bundle/chunks/chunk-C6XSTACC.js.map +7 -0
  91. package/dist/cli-bundle/chunks/{chunk-AZYGZGGI.js → chunk-CGDUIPJL.js} +3 -3
  92. package/dist/cli-bundle/chunks/{chunk-FT3QTERD.js → chunk-CXH7EMSB.js} +5 -7
  93. package/dist/cli-bundle/chunks/{chunk-FT3QTERD.js.map → chunk-CXH7EMSB.js.map} +1 -1
  94. package/dist/cli-bundle/chunks/{chunk-DMRNBQOI.js → chunk-D63PEJTB.js} +256 -36
  95. package/dist/cli-bundle/chunks/chunk-D63PEJTB.js.map +1 -0
  96. package/dist/cli-bundle/chunks/{chunk-RCQZK2GO.js → chunk-D6J5673C.js} +7 -9
  97. package/dist/cli-bundle/chunks/{chunk-RCQZK2GO.js.map → chunk-D6J5673C.js.map} +1 -1
  98. package/dist/cli-bundle/chunks/{chunk-3UJRFJ5R.js → chunk-DUBC6TI3.js} +28 -34
  99. package/dist/cli-bundle/chunks/{chunk-3UJRFJ5R.js.map → chunk-DUBC6TI3.js.map} +1 -1
  100. package/dist/cli-bundle/chunks/{chunk-NC33K5ZS.js → chunk-EEJKHF7M.js} +7 -6
  101. package/dist/cli-bundle/chunks/{chunk-NC33K5ZS.js.map → chunk-EEJKHF7M.js.map} +2 -2
  102. package/dist/cli-bundle/chunks/{chunk-XG625QP4.js → chunk-EP2CKDS7.js} +2 -2
  103. package/dist/cli-bundle/chunks/{chunk-NZEHECMW.js → chunk-EYPIUFWJ.js} +24 -32
  104. package/dist/cli-bundle/chunks/{chunk-NZEHECMW.js.map → chunk-EYPIUFWJ.js.map} +1 -1
  105. package/dist/cli-bundle/chunks/{chunk-45FYNUFJ.js → chunk-F5DDGY6R.js} +6 -6
  106. package/dist/cli-bundle/chunks/{chunk-45FYNUFJ.js.map → chunk-F5DDGY6R.js.map} +1 -1
  107. package/dist/cli-bundle/chunks/{chunk-4ZBE5GUN.js → chunk-FFB3WITE.js} +10 -16
  108. package/dist/cli-bundle/chunks/{chunk-4ZBE5GUN.js.map → chunk-FFB3WITE.js.map} +1 -1
  109. package/dist/cli-bundle/chunks/{chunk-7D7OOEYG.js → chunk-FJR2S7S4.js} +10 -14
  110. package/dist/cli-bundle/chunks/{chunk-7D7OOEYG.js.map → chunk-FJR2S7S4.js.map} +1 -1
  111. package/dist/cli-bundle/chunks/chunk-FL625JJM.js +6792 -0
  112. package/dist/cli-bundle/chunks/chunk-FL625JJM.js.map +7 -0
  113. package/dist/cli-bundle/chunks/{chunk-LPSSSDJR.js → chunk-FOJEBRDD.js} +16 -20
  114. package/dist/cli-bundle/chunks/{chunk-LPSSSDJR.js.map → chunk-FOJEBRDD.js.map} +1 -1
  115. package/dist/cli-bundle/chunks/{chunk-EOKXK3R3.js → chunk-G4FKP4ID.js} +1220 -398
  116. package/dist/cli-bundle/chunks/chunk-G4FKP4ID.js.map +1 -0
  117. package/dist/cli-bundle/chunks/chunk-GE44TQMC.js +6726 -0
  118. package/dist/cli-bundle/chunks/chunk-GE44TQMC.js.map +1 -0
  119. package/dist/cli-bundle/chunks/{chunk-XUC7PI2H.js → chunk-GLMJLBLR.js} +6 -10
  120. package/dist/cli-bundle/chunks/{chunk-XUC7PI2H.js.map → chunk-GLMJLBLR.js.map} +1 -1
  121. package/dist/cli-bundle/chunks/{chunk-GANUTS7W.js → chunk-GO2X6ZRB.js} +4 -6
  122. package/dist/cli-bundle/chunks/{chunk-GANUTS7W.js.map → chunk-GO2X6ZRB.js.map} +1 -1
  123. package/dist/cli-bundle/chunks/{chunk-CFNGIXZP.js → chunk-GQOKFX2G.js} +22 -26
  124. package/dist/cli-bundle/chunks/{chunk-CFNGIXZP.js.map → chunk-GQOKFX2G.js.map} +1 -1
  125. package/dist/cli-bundle/chunks/{chunk-XHET7YUZ.js → chunk-GSQVQINP.js} +8 -10
  126. package/dist/cli-bundle/chunks/{chunk-XHET7YUZ.js.map → chunk-GSQVQINP.js.map} +1 -1
  127. package/dist/cli-bundle/chunks/chunk-HI27UADG.js +5434 -0
  128. package/dist/cli-bundle/chunks/chunk-HI27UADG.js.map +1 -0
  129. package/dist/cli-bundle/chunks/{chunk-I36Y7PCE.js → chunk-HZZ3AC27.js} +6 -6
  130. package/dist/cli-bundle/chunks/{chunk-I36Y7PCE.js.map → chunk-HZZ3AC27.js.map} +1 -1
  131. package/dist/cli-bundle/chunks/{chunk-OGWQ2IEP.js → chunk-IINCZYM3.js} +8 -12
  132. package/dist/cli-bundle/chunks/{chunk-OGWQ2IEP.js.map → chunk-IINCZYM3.js.map} +1 -1
  133. package/dist/cli-bundle/chunks/{chunk-EKFNL33R.js → chunk-INOWVPUD.js} +37 -16
  134. package/dist/cli-bundle/chunks/chunk-INOWVPUD.js.map +1 -0
  135. package/dist/cli-bundle/chunks/{chunk-4LELACOL.js → chunk-IYRG5AEC.js} +15 -23
  136. package/dist/cli-bundle/chunks/{chunk-4LELACOL.js.map → chunk-IYRG5AEC.js.map} +1 -1
  137. package/dist/cli-bundle/chunks/{chunk-MVYWGY2A.js → chunk-J6AD3GWC.js} +2 -2
  138. package/dist/cli-bundle/chunks/{chunk-D2XRLB55.js → chunk-JH5XDDYS.js} +14 -20
  139. package/dist/cli-bundle/chunks/{chunk-D2XRLB55.js.map → chunk-JH5XDDYS.js.map} +1 -1
  140. package/dist/cli-bundle/chunks/{chunk-HOVCGJSD.js → chunk-JYVPLGOW.js} +9 -11
  141. package/dist/cli-bundle/chunks/{chunk-HOVCGJSD.js.map → chunk-JYVPLGOW.js.map} +1 -1
  142. package/dist/cli-bundle/chunks/{chunk-MA4SM3QZ.js → chunk-K52C6YPA.js} +12 -18
  143. package/dist/cli-bundle/chunks/{chunk-MA4SM3QZ.js.map → chunk-K52C6YPA.js.map} +1 -1
  144. package/dist/cli-bundle/chunks/{chunk-R5BMJX33.js → chunk-KFL3XHMA.js} +2 -2
  145. package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js +10320 -0
  146. package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js.map +1 -0
  147. package/dist/cli-bundle/chunks/{chunk-4CJFCTLM.js → chunk-LD2NBQ5T.js} +6 -8
  148. package/dist/cli-bundle/chunks/{chunk-4CJFCTLM.js.map → chunk-LD2NBQ5T.js.map} +1 -1
  149. package/dist/cli-bundle/chunks/{chunk-6QBJLYBP.js → chunk-LG4N6YOK.js} +8 -7
  150. package/dist/cli-bundle/chunks/{chunk-6QBJLYBP.js.map → chunk-LG4N6YOK.js.map} +1 -1
  151. package/dist/cli-bundle/chunks/{chunk-L5PSPMZ4.js → chunk-LHDHS4Z6.js} +10 -14
  152. package/dist/cli-bundle/chunks/{chunk-L5PSPMZ4.js.map → chunk-LHDHS4Z6.js.map} +1 -1
  153. package/dist/cli-bundle/chunks/{chunk-M7JNBQAD.js → chunk-MCH6IKK7.js} +4 -6
  154. package/dist/cli-bundle/chunks/{chunk-M7JNBQAD.js.map → chunk-MCH6IKK7.js.map} +1 -1
  155. package/dist/cli-bundle/chunks/{chunk-57NWPFF2.js → chunk-MFLLULHU.js} +281 -233
  156. package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{chunk-EGAP5OWD.js → chunk-ML27MHNM.js} +35 -17
  158. package/dist/cli-bundle/chunks/chunk-ML27MHNM.js.map +1 -0
  159. package/dist/cli-bundle/chunks/{chunk-3N6RRO2Q.js → chunk-MYHFZNBO.js} +20 -24
  160. package/dist/cli-bundle/chunks/{chunk-3N6RRO2Q.js.map → chunk-MYHFZNBO.js.map} +1 -1
  161. package/dist/cli-bundle/chunks/{chunk-6LLVNJXT.js → chunk-NGBWEYNY.js} +12 -18
  162. package/dist/cli-bundle/chunks/{chunk-6LLVNJXT.js.map → chunk-NGBWEYNY.js.map} +1 -1
  163. package/dist/cli-bundle/chunks/{chunk-GDDAGPWJ.js → chunk-NRMDT4OV.js} +10 -14
  164. package/dist/cli-bundle/chunks/{chunk-GDDAGPWJ.js.map → chunk-NRMDT4OV.js.map} +1 -1
  165. package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js +5359 -0
  166. package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js.map +1 -0
  167. package/dist/cli-bundle/chunks/{chunk-W6DYWXPQ.js → chunk-P2WE5KCU.js} +261 -34
  168. package/dist/cli-bundle/chunks/{chunk-W6DYWXPQ.js.map → chunk-P2WE5KCU.js.map} +4 -4
  169. package/dist/cli-bundle/chunks/{chunk-YN7Y6DQZ.js → chunk-PAWPLIWW.js} +14 -20
  170. package/dist/cli-bundle/chunks/{chunk-YN7Y6DQZ.js.map → chunk-PAWPLIWW.js.map} +1 -1
  171. package/dist/cli-bundle/chunks/{chunk-MWMVPCIE.js → chunk-PCBZ2VJD.js} +7 -7
  172. package/dist/cli-bundle/chunks/{chunk-ZSUS2OD3.js → chunk-PJPZTE7P.js} +1216 -387
  173. package/dist/cli-bundle/chunks/chunk-PJPZTE7P.js.map +7 -0
  174. package/dist/cli-bundle/chunks/{chunk-B6DUFX6H.js → chunk-Q3CFSOQZ.js} +7 -7
  175. package/dist/cli-bundle/chunks/{chunk-NO442GWJ.js → chunk-QJZM5WO5.js} +5 -5
  176. package/dist/cli-bundle/chunks/{chunk-NO442GWJ.js.map → chunk-QJZM5WO5.js.map} +2 -2
  177. package/dist/cli-bundle/chunks/{chunk-QLMX7SRD.js → chunk-QLEH6FTQ.js} +6 -6
  178. package/dist/cli-bundle/chunks/chunk-QLEH6FTQ.js.map +7 -0
  179. package/dist/cli-bundle/chunks/{chunk-GBAX2ZAQ.js → chunk-QYZMZD4L.js} +10 -12
  180. package/dist/cli-bundle/chunks/{chunk-GBAX2ZAQ.js.map → chunk-QYZMZD4L.js.map} +1 -1
  181. package/dist/cli-bundle/chunks/{chunk-W3DSJQIO.js → chunk-RDJXIAJB.js} +7 -11
  182. package/dist/cli-bundle/chunks/{chunk-W3DSJQIO.js.map → chunk-RDJXIAJB.js.map} +1 -1
  183. package/dist/cli-bundle/chunks/{chunk-7WBAJSS6.js → chunk-RFHLRMLQ.js} +6 -8
  184. package/dist/cli-bundle/chunks/{chunk-7WBAJSS6.js.map → chunk-RFHLRMLQ.js.map} +1 -1
  185. package/dist/cli-bundle/chunks/{chunk-SGMFPXKR.js → chunk-RL24NAUX.js} +10 -12
  186. package/dist/cli-bundle/chunks/{chunk-SGMFPXKR.js.map → chunk-RL24NAUX.js.map} +1 -1
  187. package/dist/cli-bundle/chunks/{chunk-46CUF5L6.js → chunk-RLHQ3G4M.js} +99 -51
  188. package/dist/cli-bundle/chunks/chunk-RLHQ3G4M.js.map +7 -0
  189. package/dist/cli-bundle/chunks/{chunk-UH7T2DAX.js → chunk-SCJPFQQT.js} +12 -18
  190. package/dist/cli-bundle/chunks/{chunk-UH7T2DAX.js.map → chunk-SCJPFQQT.js.map} +1 -1
  191. package/dist/cli-bundle/chunks/{chunk-B6XS3R3O.js → chunk-SIQGG335.js} +12 -16
  192. package/dist/cli-bundle/chunks/{chunk-B6XS3R3O.js.map → chunk-SIQGG335.js.map} +1 -1
  193. package/dist/cli-bundle/chunks/{chunk-E42XTBSP.js → chunk-SN5X5GTU.js} +8 -12
  194. package/dist/cli-bundle/chunks/{chunk-E42XTBSP.js.map → chunk-SN5X5GTU.js.map} +1 -1
  195. package/dist/cli-bundle/chunks/{chunk-CL36D4PC.js → chunk-TKWTJGD6.js} +36 -15
  196. package/dist/cli-bundle/chunks/chunk-TKWTJGD6.js.map +7 -0
  197. package/dist/cli-bundle/chunks/{chunk-VIIUS6N6.js → chunk-TR2C6V5T.js} +37 -19
  198. package/dist/cli-bundle/chunks/chunk-TR2C6V5T.js.map +7 -0
  199. package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js +5514 -0
  200. package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js.map +7 -0
  201. package/dist/cli-bundle/chunks/{chunk-KGFUY7WN.js → chunk-TU5P744I.js} +4 -4
  202. package/dist/cli-bundle/chunks/{chunk-TULGS6X6.js → chunk-TUDAYIO7.js} +529 -46
  203. package/dist/cli-bundle/chunks/chunk-TUDAYIO7.js.map +1 -0
  204. package/dist/cli-bundle/chunks/{chunk-MLIYFOE7.js → chunk-U72GF3I2.js} +12 -8
  205. package/dist/cli-bundle/chunks/chunk-U72GF3I2.js.map +1 -0
  206. package/dist/cli-bundle/chunks/{chunk-ZZD4J5XY.js → chunk-UCRYCT5M.js} +30 -36
  207. package/dist/cli-bundle/chunks/{chunk-ZZD4J5XY.js.map → chunk-UCRYCT5M.js.map} +1 -1
  208. package/dist/cli-bundle/chunks/{chunk-JDDLOQAE.js → chunk-UEATYUZW.js} +2 -2
  209. package/dist/cli-bundle/chunks/{chunk-JVH7QBVV.js → chunk-UFNFHCAC.js} +2 -2
  210. package/dist/cli-bundle/chunks/{chunk-NB7RLQFW.js → chunk-UH6VFRV6.js} +5 -7
  211. package/dist/cli-bundle/chunks/{chunk-NB7RLQFW.js.map → chunk-UH6VFRV6.js.map} +1 -1
  212. package/dist/cli-bundle/chunks/{chunk-SQOIV3OQ.js → chunk-UIHDZS6X.js} +11 -15
  213. package/dist/cli-bundle/chunks/{chunk-SQOIV3OQ.js.map → chunk-UIHDZS6X.js.map} +1 -1
  214. package/dist/cli-bundle/chunks/{chunk-W572BIEB.js → chunk-UURYLDDC.js} +14 -18
  215. package/dist/cli-bundle/chunks/{chunk-W572BIEB.js.map → chunk-UURYLDDC.js.map} +1 -1
  216. package/dist/cli-bundle/chunks/{chunk-G64OCSKU.js → chunk-UVFJSKTF.js} +9 -13
  217. package/dist/cli-bundle/chunks/{chunk-G64OCSKU.js.map → chunk-UVFJSKTF.js.map} +1 -1
  218. package/dist/cli-bundle/chunks/{chunk-SMB7RV23.js → chunk-W2VFNVSJ.js} +6 -8
  219. package/dist/cli-bundle/chunks/{chunk-SMB7RV23.js.map → chunk-W2VFNVSJ.js.map} +1 -1
  220. package/dist/cli-bundle/chunks/{chunk-HIHMT6WS.js → chunk-WVEMZZCR.js} +5 -5
  221. package/dist/cli-bundle/chunks/{chunk-HIHMT6WS.js.map → chunk-WVEMZZCR.js.map} +2 -2
  222. package/dist/cli-bundle/chunks/{chunk-3VHSI5FL.js → chunk-XN5BEN2B.js} +94 -53
  223. package/dist/cli-bundle/chunks/chunk-XN5BEN2B.js.map +1 -0
  224. package/dist/cli-bundle/chunks/{chunk-SCUR7K7N.js → chunk-XPSGJ4IV.js} +541 -44
  225. package/dist/cli-bundle/chunks/chunk-XPSGJ4IV.js.map +7 -0
  226. package/dist/cli-bundle/chunks/{chunk-ZJ262CED.js → chunk-YQEKE4FO.js} +13 -21
  227. package/dist/cli-bundle/chunks/{chunk-ZJ262CED.js.map → chunk-YQEKE4FO.js.map} +1 -1
  228. package/dist/cli-bundle/chunks/{chunk-EBRZZ54H.js → chunk-YR5R4FMQ.js} +26 -34
  229. package/dist/cli-bundle/chunks/{chunk-EBRZZ54H.js.map → chunk-YR5R4FMQ.js.map} +1 -1
  230. package/dist/cli-bundle/chunks/{chunk-XB7KFVFI.js → chunk-YSRXFGNV.js} +7 -9
  231. package/dist/cli-bundle/chunks/{chunk-XB7KFVFI.js.map → chunk-YSRXFGNV.js.map} +1 -1
  232. package/dist/cli-bundle/chunks/{chunk-HFDADVJZ.js → chunk-YUCKM3MD.js} +10 -14
  233. package/dist/cli-bundle/chunks/{chunk-HFDADVJZ.js.map → chunk-YUCKM3MD.js.map} +1 -1
  234. package/dist/cli-bundle/chunks/{chunk-SQYJ4HF2.js → chunk-YUMNZS3X.js} +6 -8
  235. package/dist/cli-bundle/chunks/{chunk-SQYJ4HF2.js.map → chunk-YUMNZS3X.js.map} +1 -1
  236. package/dist/cli-bundle/chunks/{chunk-AGHMOTGM.js → chunk-Z2JQH2MG.js} +2 -2
  237. package/dist/cli-bundle/chunks/{chunk-ZGK4L4JM.js → chunk-Z6RLSNUX.js} +4 -6
  238. package/dist/cli-bundle/chunks/{chunk-ZGK4L4JM.js.map → chunk-Z6RLSNUX.js.map} +1 -1
  239. package/dist/cli-bundle/chunks/{chunk-Y4M7CPQP.js → chunk-ZMOPZFVT.js} +4 -4
  240. package/dist/cli-bundle/chunks/close-E3RLZSP2.js +12 -0
  241. package/dist/cli-bundle/chunks/{close-2SSSHHUZ.js → close-K6BFI3OX.js} +5 -9
  242. package/dist/cli-bundle/chunks/close-many-6NBL3PM4.js +26 -0
  243. package/dist/cli-bundle/chunks/close-many-X4YKS3RO.js +22 -0
  244. package/dist/cli-bundle/chunks/comments-PLFK5ZKK.js +17 -0
  245. package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +13 -0
  246. package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +9 -0
  247. package/dist/cli-bundle/chunks/{copy-32ROBIDL.js → copy-VH3L4MN2.js} +4 -8
  248. package/dist/cli-bundle/chunks/create-AMBMYP6F.js +25 -0
  249. package/dist/cli-bundle/chunks/{create-E77SDCUP.js → create-TRIBYORN.js} +9 -14
  250. package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +10 -0
  251. package/dist/cli-bundle/chunks/{delete-RA5KTCLB.js → delete-ZNXUNCZR.js} +4 -8
  252. package/dist/cli-bundle/chunks/deps-CVDY7FFK.js +13 -0
  253. package/dist/cli-bundle/chunks/{deps-32SU7HO5.js → deps-SZXQHV73.js} +4 -8
  254. package/dist/cli-bundle/chunks/{docs-RRUPT7O2.js → docs-DR74ITCD.js} +6 -10
  255. package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +14 -0
  256. package/dist/cli-bundle/chunks/files-H5YCA74Z.js +18 -0
  257. package/dist/cli-bundle/chunks/{files-PYKR2UUG.js → files-QEFQ2M3H.js} +6 -10
  258. package/dist/cli-bundle/chunks/{contracts-NYPEW2G4.js → focus-55TRYSNA.js} +7 -9
  259. package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +10 -0
  260. package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +21 -0
  261. package/dist/cli-bundle/chunks/{history-compact-3MNXLKAT.js → history-compact-JJZ4EFL3.js} +9 -13
  262. package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +17 -0
  263. package/dist/cli-bundle/chunks/{history-redact-P6DYF55G.js → history-redact-TPPUT3A5.js} +7 -11
  264. package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +19 -0
  265. package/dist/cli-bundle/chunks/{history-repair-ZJQFMWPD.js → history-repair-J7PIZ6ZP.js} +9 -13
  266. package/dist/cli-bundle/chunks/{append-BGML6VLD.js → learnings-KB6BT4NR.js} +9 -11
  267. package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +13 -0
  268. package/dist/cli-bundle/chunks/notes-BGG7VL72.js +13 -0
  269. package/dist/cli-bundle/chunks/notes-ZTHXVOKM.js +17 -0
  270. package/dist/cli-bundle/chunks/{plan-CHVE7PBR.js → plan-CJPKFRBK.js} +10 -15
  271. package/dist/cli-bundle/chunks/plan-MK2QY3GA.js +24 -0
  272. package/dist/cli-bundle/chunks/{profile-ZXGSKBJD.js → profile-AQNHXOYA.js} +9 -13
  273. package/dist/cli-bundle/chunks/{profile-LD23PSI6.js → profile-HTBFINKQ.js} +9 -13
  274. package/dist/cli-bundle/chunks/{register-list-query-B42JCCOI.js → register-list-query-EEF33SUJ.js} +43 -34
  275. package/dist/cli-bundle/chunks/register-list-query-EEF33SUJ.js.map +1 -0
  276. package/dist/cli-bundle/chunks/{register-list-query-OEYQHFXO.js → register-list-query-S4FBWIWN.js} +42 -33
  277. package/dist/cli-bundle/chunks/register-list-query-S4FBWIWN.js.map +7 -0
  278. package/dist/cli-bundle/chunks/{register-mutation-3QXIHCQG.js → register-mutation-L5Q7AUDN.js} +34 -39
  279. package/dist/cli-bundle/chunks/{register-mutation-3QXIHCQG.js.map → register-mutation-L5Q7AUDN.js.map} +1 -1
  280. package/dist/cli-bundle/chunks/{register-mutation-IAEST26S.js → register-mutation-QFLRBCI7.js} +36 -41
  281. package/dist/cli-bundle/chunks/{register-mutation-IAEST26S.js.map → register-mutation-QFLRBCI7.js.map} +1 -1
  282. package/dist/cli-bundle/chunks/{chunk-5BMM6XQY.js → register-operations-HDE4FVW4.js} +79 -46
  283. package/dist/cli-bundle/chunks/register-operations-HDE4FVW4.js.map +1 -0
  284. package/dist/cli-bundle/chunks/{chunk-Z3U3U5KD.js → register-operations-QDU43FCG.js} +78 -45
  285. package/dist/cli-bundle/chunks/register-operations-QDU43FCG.js.map +7 -0
  286. package/dist/cli-bundle/chunks/{register-setup-Q6KFNIOZ.js → register-setup-EGMTAXDC.js} +134 -32
  287. package/dist/cli-bundle/chunks/register-setup-EGMTAXDC.js.map +1 -0
  288. package/dist/cli-bundle/chunks/{register-setup-3ZVVX2VN.js → register-setup-PNIO3L2P.js} +133 -31
  289. package/dist/cli-bundle/chunks/register-setup-PNIO3L2P.js.map +7 -0
  290. package/dist/cli-bundle/chunks/{restore-5RQHAPMA.js → restore-BTBEZ5CK.js} +7 -11
  291. package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +15 -0
  292. package/dist/cli-bundle/chunks/{schema-HBORFC6B.js → schema-DGSTYYQB.js} +6 -10
  293. package/dist/cli-bundle/chunks/{schema-245WW4G2.js → schema-HAIBEE24.js} +6 -10
  294. package/dist/cli-bundle/chunks/update-MP4XLU56.js +25 -0
  295. package/dist/cli-bundle/chunks/update-SDIRJGSY.js +21 -0
  296. package/dist/cli-bundle/chunks/update-many-34AIU6W7.js +31 -0
  297. package/dist/cli-bundle/chunks/update-many-JUPCNOKV.js +35 -0
  298. package/dist/cli-bundle/main.js +56 -32
  299. package/dist/cli-bundle/main.js.map +2 -2
  300. package/dist/cli-bundle/sdk-runtime.js +161 -107
  301. package/dist/cli-bundle/sdk-testing.js +7 -8
  302. package/dist/cli-bundle/sdk.js +154 -117
  303. package/dist/cli-bundle/sdk.js.map +2 -2
  304. package/dist/core/extensions/extension-types.d.ts +1 -0
  305. package/dist/core/extensions/extension-types.js +2 -2
  306. package/dist/core/extensions/extension-types.js.map +1 -1
  307. package/dist/core/extensions/loader.js +268 -231
  308. package/dist/core/extensions/loader.js.map +1 -1
  309. package/dist/core/history/drift-scan.js +3 -8
  310. package/dist/core/history/drift-scan.js.map +1 -1
  311. package/dist/core/output/mutation-projection.js +11 -5
  312. package/dist/core/output/mutation-projection.js.map +1 -1
  313. package/dist/core/search/cache.js +3 -3
  314. package/dist/core/search/cache.js.map +1 -1
  315. package/dist/core/search/semantic-defaults.d.ts +2 -0
  316. package/dist/core/search/semantic-defaults.js +11 -4
  317. package/dist/core/search/semantic-defaults.js.map +1 -1
  318. package/dist/core/search/vector-stores.d.ts +1 -1
  319. package/dist/core/search/vector-stores.js +33 -7
  320. package/dist/core/search/vector-stores.js.map +1 -1
  321. package/dist/mcp/server.d.ts +1 -1
  322. package/dist/sdk/cli-contracts/commander-types.js +3 -3
  323. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  324. package/dist/sdk/cli-contracts/flag-contracts.js +12 -8
  325. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  326. package/dist/sdk/cli-contracts/tool-parameter-tables.js +10 -2
  327. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  328. package/dist/sdk/cli-contracts/tool-schema.js +14 -8
  329. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  330. package/dist/sdk/index.d.ts +1 -1
  331. package/dist/sdk/index.js +3 -3
  332. package/dist/sdk/index.js.map +1 -1
  333. package/dist/sdk/runtime.d.ts +282 -8
  334. package/dist/sdk/runtime.js +453 -14
  335. package/dist/sdk/runtime.js.map +1 -1
  336. package/dist/sdk/start-task-status.d.ts +13 -0
  337. package/dist/sdk/start-task-status.js +19 -0
  338. package/dist/sdk/start-task-status.js.map +1 -0
  339. package/docs/COMMANDS.md +10 -1
  340. package/docs/EXTENSIONS.md +7 -20
  341. package/docs/RELEASING.md +6 -0
  342. package/docs/SDK.md +65 -0
  343. package/docs/TESTING.md +3 -0
  344. package/package.json +2 -1
  345. package/dist/cli-bundle/chunks/activity-WJCGCYPU.js +0 -18
  346. package/dist/cli-bundle/chunks/activity-Z6QUAUSG.js +0 -22
  347. package/dist/cli-bundle/chunks/aggregate-BDM6EIAR.js +0 -25
  348. package/dist/cli-bundle/chunks/aggregate-VQ2DHU3S.js +0 -21
  349. package/dist/cli-bundle/chunks/append-RKJYPU74.js +0 -15
  350. package/dist/cli-bundle/chunks/chunk-2XG4IZON.js +0 -218
  351. package/dist/cli-bundle/chunks/chunk-2XG4IZON.js.map +0 -7
  352. package/dist/cli-bundle/chunks/chunk-37E72CNS.js +0 -217
  353. package/dist/cli-bundle/chunks/chunk-37E72CNS.js.map +0 -1
  354. package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js +0 -228
  355. package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js.map +0 -1
  356. package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js +0 -2330
  357. package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js.map +0 -7
  358. package/dist/cli-bundle/chunks/chunk-3VHSI5FL.js.map +0 -1
  359. package/dist/cli-bundle/chunks/chunk-425E4QL5.js +0 -278
  360. package/dist/cli-bundle/chunks/chunk-425E4QL5.js.map +0 -7
  361. package/dist/cli-bundle/chunks/chunk-46CUF5L6.js.map +0 -7
  362. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +0 -87
  363. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +0 -7
  364. package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js +0 -249
  365. package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js.map +0 -7
  366. package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js +0 -819
  367. package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js.map +0 -1
  368. package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js +0 -279
  369. package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js.map +0 -1
  370. package/dist/cli-bundle/chunks/chunk-57NWPFF2.js.map +0 -1
  371. package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js +0 -268
  372. package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js.map +0 -1
  373. package/dist/cli-bundle/chunks/chunk-5BMM6XQY.js.map +0 -1
  374. package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js +0 -1868
  375. package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js.map +0 -7
  376. package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js +0 -1749
  377. package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js.map +0 -7
  378. package/dist/cli-bundle/chunks/chunk-64YKRTSV.js +0 -1961
  379. package/dist/cli-bundle/chunks/chunk-64YKRTSV.js.map +0 -1
  380. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +0 -23
  381. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +0 -7
  382. package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js +0 -421
  383. package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js.map +0 -1
  384. package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js +0 -1985
  385. package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js.map +0 -7
  386. package/dist/cli-bundle/chunks/chunk-CL36D4PC.js.map +0 -7
  387. package/dist/cli-bundle/chunks/chunk-COSPOP7H.js.map +0 -7
  388. package/dist/cli-bundle/chunks/chunk-COWTDV6B.js +0 -3461
  389. package/dist/cli-bundle/chunks/chunk-COWTDV6B.js.map +0 -7
  390. package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js +0 -1858
  391. package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js.map +0 -1
  392. package/dist/cli-bundle/chunks/chunk-DMRNBQOI.js.map +0 -1
  393. package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js +0 -1932
  394. package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js.map +0 -1
  395. package/dist/cli-bundle/chunks/chunk-EGAP5OWD.js.map +0 -1
  396. package/dist/cli-bundle/chunks/chunk-EKFNL33R.js.map +0 -1
  397. package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js +0 -1704
  398. package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js.map +0 -1
  399. package/dist/cli-bundle/chunks/chunk-EOKXK3R3.js.map +0 -1
  400. package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js +0 -231
  401. package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js.map +0 -7
  402. package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js +0 -2090
  403. package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js.map +0 -1
  404. package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js +0 -1570
  405. package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js.map +0 -1
  406. package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js +0 -239
  407. package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js.map +0 -1
  408. package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js +0 -530
  409. package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js.map +0 -7
  410. package/dist/cli-bundle/chunks/chunk-GZRDYONU.js +0 -1005
  411. package/dist/cli-bundle/chunks/chunk-GZRDYONU.js.map +0 -7
  412. package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js +0 -277
  413. package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js.map +0 -7
  414. package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js +0 -309
  415. package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js.map +0 -7
  416. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js +0 -371
  417. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js.map +0 -7
  418. package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js +0 -2257
  419. package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js.map +0 -7
  420. package/dist/cli-bundle/chunks/chunk-K46RF36U.js.map +0 -1
  421. package/dist/cli-bundle/chunks/chunk-KERMZVY5.js +0 -371
  422. package/dist/cli-bundle/chunks/chunk-KERMZVY5.js.map +0 -7
  423. package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js +0 -76
  424. package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js.map +0 -1
  425. package/dist/cli-bundle/chunks/chunk-LK6XLOGP.js.map +0 -7
  426. package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js +0 -140
  427. package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js.map +0 -1
  428. package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js +0 -1601
  429. package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js.map +0 -1
  430. package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js +0 -1031
  431. package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js.map +0 -1
  432. package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js +0 -995
  433. package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js.map +0 -1
  434. package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js +0 -296
  435. package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js.map +0 -1
  436. package/dist/cli-bundle/chunks/chunk-MLIYFOE7.js.map +0 -1
  437. package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js +0 -2043
  438. package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js.map +0 -7
  439. package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js +0 -2033
  440. package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js.map +0 -1
  441. package/dist/cli-bundle/chunks/chunk-N745W3B3.js +0 -1604
  442. package/dist/cli-bundle/chunks/chunk-N745W3B3.js.map +0 -7
  443. package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js +0 -1615
  444. package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js.map +0 -7
  445. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +0 -20
  446. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +0 -1
  447. package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js +0 -143
  448. package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js.map +0 -7
  449. package/dist/cli-bundle/chunks/chunk-QLMX7SRD.js.map +0 -7
  450. package/dist/cli-bundle/chunks/chunk-QX6HM775.js +0 -398
  451. package/dist/cli-bundle/chunks/chunk-QX6HM775.js.map +0 -7
  452. package/dist/cli-bundle/chunks/chunk-QZ342C63.js +0 -220
  453. package/dist/cli-bundle/chunks/chunk-QZ342C63.js.map +0 -7
  454. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js +0 -368
  455. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js.map +0 -1
  456. package/dist/cli-bundle/chunks/chunk-RFNYTESG.js +0 -520
  457. package/dist/cli-bundle/chunks/chunk-RFNYTESG.js.map +0 -1
  458. package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js +0 -79
  459. package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js.map +0 -7
  460. package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js +0 -282
  461. package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js.map +0 -7
  462. package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js +0 -274
  463. package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js.map +0 -1
  464. package/dist/cli-bundle/chunks/chunk-SCUR7K7N.js.map +0 -7
  465. package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js +0 -1977
  466. package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js.map +0 -7
  467. package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js +0 -1041
  468. package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js.map +0 -7
  469. package/dist/cli-bundle/chunks/chunk-T42JWV3F.js +0 -822
  470. package/dist/cli-bundle/chunks/chunk-T42JWV3F.js.map +0 -7
  471. package/dist/cli-bundle/chunks/chunk-TKD5VCTD.js.map +0 -1
  472. package/dist/cli-bundle/chunks/chunk-TULGS6X6.js.map +0 -1
  473. package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js +0 -2306
  474. package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js.map +0 -1
  475. package/dist/cli-bundle/chunks/chunk-VIIUS6N6.js.map +0 -7
  476. package/dist/cli-bundle/chunks/chunk-VPIM42PC.js.map +0 -7
  477. package/dist/cli-bundle/chunks/chunk-VQRSPVME.js +0 -368
  478. package/dist/cli-bundle/chunks/chunk-VQRSPVME.js.map +0 -1
  479. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +0 -84
  480. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +0 -1
  481. package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js +0 -3423
  482. package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js.map +0 -1
  483. package/dist/cli-bundle/chunks/chunk-WLSM645P.js +0 -2247
  484. package/dist/cli-bundle/chunks/chunk-WLSM645P.js.map +0 -1
  485. package/dist/cli-bundle/chunks/chunk-WRTENIX3.js +0 -215
  486. package/dist/cli-bundle/chunks/chunk-WRTENIX3.js.map +0 -1
  487. package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js +0 -388
  488. package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js.map +0 -1
  489. package/dist/cli-bundle/chunks/chunk-XC5BURG2.js +0 -306
  490. package/dist/cli-bundle/chunks/chunk-XC5BURG2.js.map +0 -1
  491. package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js +0 -424
  492. package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js.map +0 -7
  493. package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js +0 -2128
  494. package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js.map +0 -7
  495. package/dist/cli-bundle/chunks/chunk-Z3U3U5KD.js.map +0 -7
  496. package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js +0 -299
  497. package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js.map +0 -7
  498. package/dist/cli-bundle/chunks/chunk-ZSUS2OD3.js.map +0 -7
  499. package/dist/cli-bundle/chunks/claim-RFS7BROJ.js +0 -19
  500. package/dist/cli-bundle/chunks/claim-XP5AWZ5H.js +0 -23
  501. package/dist/cli-bundle/chunks/close-GEANHQ2J.js +0 -16
  502. package/dist/cli-bundle/chunks/close-many-CMZW7ITN.js +0 -31
  503. package/dist/cli-bundle/chunks/close-many-ZFDIG6M7.js +0 -27
  504. package/dist/cli-bundle/chunks/comments-MFSYVNNU.js +0 -21
  505. package/dist/cli-bundle/chunks/comments-XUBPXDYX.js +0 -17
  506. package/dist/cli-bundle/chunks/config-D7XQMONX.js +0 -18
  507. package/dist/cli-bundle/chunks/config-T4FHBSYN.js +0 -22
  508. package/dist/cli-bundle/chunks/context-DIU275XI.js +0 -48
  509. package/dist/cli-bundle/chunks/context-JCOYB4LZ.js +0 -44
  510. package/dist/cli-bundle/chunks/contracts-BVO7CSLK.js +0 -12
  511. package/dist/cli-bundle/chunks/copy-NAGLGMHZ.js +0 -13
  512. package/dist/cli-bundle/chunks/create-4V7SWNBB.js +0 -30
  513. package/dist/cli-bundle/chunks/delete-NQI5OSKN.js +0 -14
  514. package/dist/cli-bundle/chunks/deps-T7SCWXEX.js +0 -17
  515. package/dist/cli-bundle/chunks/docs-WL2IWGWV.js +0 -18
  516. package/dist/cli-bundle/chunks/eval-NF2J5SHR.js +0 -23
  517. package/dist/cli-bundle/chunks/eval-SKDT3MZU.js +0 -27
  518. package/dist/cli-bundle/chunks/extension-LAXKCAYE.js +0 -42
  519. package/dist/cli-bundle/chunks/extension-ZISPBRBC.js +0 -38
  520. package/dist/cli-bundle/chunks/files-EWRQHGIS.js +0 -22
  521. package/dist/cli-bundle/chunks/focus-4T7TM4MT.js +0 -18
  522. package/dist/cli-bundle/chunks/focus-L3YUASOD.js +0 -14
  523. package/dist/cli-bundle/chunks/gc-2PCTYYRI.js +0 -12
  524. package/dist/cli-bundle/chunks/get-7DMITJ3G.js +0 -23
  525. package/dist/cli-bundle/chunks/get-VKQXCXLL.js +0 -19
  526. package/dist/cli-bundle/chunks/health-CVSTAR2F.js +0 -31
  527. package/dist/cli-bundle/chunks/health-TV3GKTFN.js +0 -35
  528. package/dist/cli-bundle/chunks/history-D4JUX5XV.js +0 -20
  529. package/dist/cli-bundle/chunks/history-D4JUX5XV.js.map +0 -7
  530. package/dist/cli-bundle/chunks/history-LQ2UWZTE.js +0 -24
  531. package/dist/cli-bundle/chunks/history-LQ2UWZTE.js.map +0 -1
  532. package/dist/cli-bundle/chunks/history-compact-3MNXLKAT.js.map +0 -1
  533. package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js +0 -25
  534. package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js.map +0 -7
  535. package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js +0 -21
  536. package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js.map +0 -7
  537. package/dist/cli-bundle/chunks/history-redact-P6DYF55G.js.map +0 -1
  538. package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js +0 -23
  539. package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js.map +0 -7
  540. package/dist/cli-bundle/chunks/history-repair-ZJQFMWPD.js.map +0 -1
  541. package/dist/cli-bundle/chunks/init-C3LJPWQZ.js +0 -30
  542. package/dist/cli-bundle/chunks/init-C3LJPWQZ.js.map +0 -1
  543. package/dist/cli-bundle/chunks/init-J3DPGWQI.js +0 -26
  544. package/dist/cli-bundle/chunks/init-J3DPGWQI.js.map +0 -7
  545. package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js +0 -21
  546. package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js.map +0 -1
  547. package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js +0 -17
  548. package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js.map +0 -7
  549. package/dist/cli-bundle/chunks/list-O5NZVSPN.js +0 -36
  550. package/dist/cli-bundle/chunks/list-O5NZVSPN.js.map +0 -1
  551. package/dist/cli-bundle/chunks/list-Z55YCNTC.js +0 -32
  552. package/dist/cli-bundle/chunks/list-Z55YCNTC.js.map +0 -7
  553. package/dist/cli-bundle/chunks/next-GBNTGXFC.js +0 -28
  554. package/dist/cli-bundle/chunks/next-GBNTGXFC.js.map +0 -7
  555. package/dist/cli-bundle/chunks/next-QKW7PTKE.js +0 -32
  556. package/dist/cli-bundle/chunks/next-QKW7PTKE.js.map +0 -1
  557. package/dist/cli-bundle/chunks/notes-R5FZTKWF.js +0 -17
  558. package/dist/cli-bundle/chunks/notes-R5FZTKWF.js.map +0 -7
  559. package/dist/cli-bundle/chunks/notes-WCGIULVG.js +0 -21
  560. package/dist/cli-bundle/chunks/notes-WCGIULVG.js.map +0 -1
  561. package/dist/cli-bundle/chunks/plan-ADISFYH4.js +0 -29
  562. package/dist/cli-bundle/chunks/plan-ADISFYH4.js.map +0 -7
  563. package/dist/cli-bundle/chunks/plan-CHVE7PBR.js.map +0 -1
  564. package/dist/cli-bundle/chunks/profile-LD23PSI6.js.map +0 -7
  565. package/dist/cli-bundle/chunks/profile-ZXGSKBJD.js.map +0 -1
  566. package/dist/cli-bundle/chunks/register-list-query-B42JCCOI.js.map +0 -1
  567. package/dist/cli-bundle/chunks/register-list-query-OEYQHFXO.js.map +0 -7
  568. package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js +0 -19
  569. package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js.map +0 -7
  570. package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js +0 -23
  571. package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js.map +0 -1
  572. package/dist/cli-bundle/chunks/register-setup-3ZVVX2VN.js.map +0 -7
  573. package/dist/cli-bundle/chunks/register-setup-Q6KFNIOZ.js.map +0 -1
  574. package/dist/cli-bundle/chunks/restore-5RQHAPMA.js.map +0 -1
  575. package/dist/cli-bundle/chunks/restore-PNEIBBLW.js +0 -19
  576. package/dist/cli-bundle/chunks/restore-PNEIBBLW.js.map +0 -7
  577. package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js +0 -29
  578. package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js.map +0 -1
  579. package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js +0 -25
  580. package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js.map +0 -7
  581. package/dist/cli-bundle/chunks/schema-245WW4G2.js.map +0 -1
  582. package/dist/cli-bundle/chunks/schema-HBORFC6B.js.map +0 -7
  583. package/dist/cli-bundle/chunks/search-AOZC5SIK.js +0 -34
  584. package/dist/cli-bundle/chunks/search-AOZC5SIK.js.map +0 -7
  585. package/dist/cli-bundle/chunks/search-DRXPGHD7.js +0 -38
  586. package/dist/cli-bundle/chunks/search-DRXPGHD7.js.map +0 -1
  587. package/dist/cli-bundle/chunks/stats-NJG4NLHG.js +0 -21
  588. package/dist/cli-bundle/chunks/stats-NJG4NLHG.js.map +0 -1
  589. package/dist/cli-bundle/chunks/stats-RG6AG4N2.js +0 -17
  590. package/dist/cli-bundle/chunks/stats-RG6AG4N2.js.map +0 -7
  591. package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js +0 -14
  592. package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js.map +0 -7
  593. package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js +0 -18
  594. package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js.map +0 -1
  595. package/dist/cli-bundle/chunks/test-6CMOCWUC.js +0 -39
  596. package/dist/cli-bundle/chunks/test-6CMOCWUC.js.map +0 -7
  597. package/dist/cli-bundle/chunks/test-RI7XHBZL.js +0 -43
  598. package/dist/cli-bundle/chunks/test-RI7XHBZL.js.map +0 -1
  599. package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js +0 -29
  600. package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js.map +0 -7
  601. package/dist/cli-bundle/chunks/test-all-QEIORFYW.js +0 -33
  602. package/dist/cli-bundle/chunks/test-all-QEIORFYW.js.map +0 -1
  603. package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js +0 -28
  604. package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js.map +0 -1
  605. package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js +0 -24
  606. package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js.map +0 -7
  607. package/dist/cli-bundle/chunks/update-QVJDFEAP.js +0 -30
  608. package/dist/cli-bundle/chunks/update-QVJDFEAP.js.map +0 -1
  609. package/dist/cli-bundle/chunks/update-VQVHAY6X.js +0 -26
  610. package/dist/cli-bundle/chunks/update-VQVHAY6X.js.map +0 -7
  611. package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js +0 -37
  612. package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js.map +0 -7
  613. package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js +0 -41
  614. package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js.map +0 -1
  615. package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js +0 -24
  616. package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js.map +0 -7
  617. package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js +0 -28
  618. package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js.map +0 -1
  619. package/dist/cli-bundle/chunks/validate-4NTXSB62.js +0 -36
  620. package/dist/cli-bundle/chunks/validate-4NTXSB62.js.map +0 -1
  621. package/dist/cli-bundle/chunks/validate-MUFXQZMI.js +0 -32
  622. package/dist/cli-bundle/chunks/validate-MUFXQZMI.js.map +0 -7
  623. /package/dist/cli-bundle/chunks/{activity-WJCGCYPU.js.map → append-CDPAYYSB.js.map} +0 -0
  624. /package/dist/cli-bundle/chunks/{activity-Z6QUAUSG.js.map → append-RSPHC423.js.map} +0 -0
  625. /package/dist/cli-bundle/chunks/{chunk-24YG75HI.js.map → chunk-3FUXM574.js.map} +0 -0
  626. /package/dist/cli-bundle/chunks/{chunk-IWVU4C2F.js.map → chunk-3SHDAKMF.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{chunk-MUH7A3FD.js.map → chunk-3V5C7PUH.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{chunk-EGY6JBQ3.js.map → chunk-4I7KS5ES.js.map} +0 -0
  629. /package/dist/cli-bundle/chunks/{chunk-GJ7QC5DJ.js.map → chunk-5STY7NVM.js.map} +0 -0
  630. /package/dist/cli-bundle/chunks/{chunk-JJP45OEI.js.map → chunk-5VAZHYVQ.js.map} +0 -0
  631. /package/dist/cli-bundle/chunks/{chunk-22KBU3MW.js.map → chunk-6RR4XM5H.js.map} +0 -0
  632. /package/dist/cli-bundle/chunks/{chunk-KUOOJR35.js.map → chunk-7QKSLAHB.js.map} +0 -0
  633. /package/dist/cli-bundle/chunks/{chunk-NGXQ3PFT.js.map → chunk-7UCBLJDF.js.map} +0 -0
  634. /package/dist/cli-bundle/chunks/{chunk-7DT4WSH2.js.map → chunk-BFNFTHWQ.js.map} +0 -0
  635. /package/dist/cli-bundle/chunks/{chunk-Y46GD4IX.js.map → chunk-C3YU3TXX.js.map} +0 -0
  636. /package/dist/cli-bundle/chunks/{chunk-AZYGZGGI.js.map → chunk-CGDUIPJL.js.map} +0 -0
  637. /package/dist/cli-bundle/chunks/{chunk-XG625QP4.js.map → chunk-EP2CKDS7.js.map} +0 -0
  638. /package/dist/cli-bundle/chunks/{chunk-MVYWGY2A.js.map → chunk-J6AD3GWC.js.map} +0 -0
  639. /package/dist/cli-bundle/chunks/{chunk-R5BMJX33.js.map → chunk-KFL3XHMA.js.map} +0 -0
  640. /package/dist/cli-bundle/chunks/{chunk-MWMVPCIE.js.map → chunk-PCBZ2VJD.js.map} +0 -0
  641. /package/dist/cli-bundle/chunks/{chunk-B6DUFX6H.js.map → chunk-Q3CFSOQZ.js.map} +0 -0
  642. /package/dist/cli-bundle/chunks/{chunk-KGFUY7WN.js.map → chunk-TU5P744I.js.map} +0 -0
  643. /package/dist/cli-bundle/chunks/{chunk-JDDLOQAE.js.map → chunk-UEATYUZW.js.map} +0 -0
  644. /package/dist/cli-bundle/chunks/{chunk-JVH7QBVV.js.map → chunk-UFNFHCAC.js.map} +0 -0
  645. /package/dist/cli-bundle/chunks/{chunk-AGHMOTGM.js.map → chunk-Z2JQH2MG.js.map} +0 -0
  646. /package/dist/cli-bundle/chunks/{chunk-Y4M7CPQP.js.map → chunk-ZMOPZFVT.js.map} +0 -0
  647. /package/dist/cli-bundle/chunks/{aggregate-VQ2DHU3S.js.map → close-E3RLZSP2.js.map} +0 -0
  648. /package/dist/cli-bundle/chunks/{aggregate-BDM6EIAR.js.map → close-K6BFI3OX.js.map} +0 -0
  649. /package/dist/cli-bundle/chunks/{append-BGML6VLD.js.map → close-many-6NBL3PM4.js.map} +0 -0
  650. /package/dist/cli-bundle/chunks/{append-RKJYPU74.js.map → close-many-X4YKS3RO.js.map} +0 -0
  651. /package/dist/cli-bundle/chunks/{claim-XP5AWZ5H.js.map → comments-PLFK5ZKK.js.map} +0 -0
  652. /package/dist/cli-bundle/chunks/{claim-RFS7BROJ.js.map → comments-ZNOD5PTV.js.map} +0 -0
  653. /package/dist/cli-bundle/chunks/{close-GEANHQ2J.js.map → copy-F7BUFY4J.js.map} +0 -0
  654. /package/dist/cli-bundle/chunks/{close-2SSSHHUZ.js.map → copy-VH3L4MN2.js.map} +0 -0
  655. /package/dist/cli-bundle/chunks/{close-many-ZFDIG6M7.js.map → create-AMBMYP6F.js.map} +0 -0
  656. /package/dist/cli-bundle/chunks/{close-many-CMZW7ITN.js.map → create-TRIBYORN.js.map} +0 -0
  657. /package/dist/cli-bundle/chunks/{comments-XUBPXDYX.js.map → delete-6KQHZYIP.js.map} +0 -0
  658. /package/dist/cli-bundle/chunks/{comments-MFSYVNNU.js.map → delete-ZNXUNCZR.js.map} +0 -0
  659. /package/dist/cli-bundle/chunks/{config-D7XQMONX.js.map → deps-CVDY7FFK.js.map} +0 -0
  660. /package/dist/cli-bundle/chunks/{config-T4FHBSYN.js.map → deps-SZXQHV73.js.map} +0 -0
  661. /package/dist/cli-bundle/chunks/{context-DIU275XI.js.map → docs-DR74ITCD.js.map} +0 -0
  662. /package/dist/cli-bundle/chunks/{context-JCOYB4LZ.js.map → docs-WCVYY6I7.js.map} +0 -0
  663. /package/dist/cli-bundle/chunks/{contracts-BVO7CSLK.js.map → files-H5YCA74Z.js.map} +0 -0
  664. /package/dist/cli-bundle/chunks/{contracts-NYPEW2G4.js.map → files-QEFQ2M3H.js.map} +0 -0
  665. /package/dist/cli-bundle/chunks/{copy-32ROBIDL.js.map → focus-55TRYSNA.js.map} +0 -0
  666. /package/dist/cli-bundle/chunks/{copy-NAGLGMHZ.js.map → focus-N2QGNS5D.js.map} +0 -0
  667. /package/dist/cli-bundle/chunks/{create-4V7SWNBB.js.map → history-compact-GWQ4UOEI.js.map} +0 -0
  668. /package/dist/cli-bundle/chunks/{create-E77SDCUP.js.map → history-compact-JJZ4EFL3.js.map} +0 -0
  669. /package/dist/cli-bundle/chunks/{delete-NQI5OSKN.js.map → history-redact-4GJOLXCM.js.map} +0 -0
  670. /package/dist/cli-bundle/chunks/{delete-RA5KTCLB.js.map → history-redact-TPPUT3A5.js.map} +0 -0
  671. /package/dist/cli-bundle/chunks/{deps-T7SCWXEX.js.map → history-repair-HVCVCGUF.js.map} +0 -0
  672. /package/dist/cli-bundle/chunks/{deps-32SU7HO5.js.map → history-repair-J7PIZ6ZP.js.map} +0 -0
  673. /package/dist/cli-bundle/chunks/{docs-RRUPT7O2.js.map → learnings-KB6BT4NR.js.map} +0 -0
  674. /package/dist/cli-bundle/chunks/{docs-WL2IWGWV.js.map → learnings-YYY3U2Y7.js.map} +0 -0
  675. /package/dist/cli-bundle/chunks/{eval-NF2J5SHR.js.map → notes-BGG7VL72.js.map} +0 -0
  676. /package/dist/cli-bundle/chunks/{eval-SKDT3MZU.js.map → notes-ZTHXVOKM.js.map} +0 -0
  677. /package/dist/cli-bundle/chunks/{extension-LAXKCAYE.js.map → plan-CJPKFRBK.js.map} +0 -0
  678. /package/dist/cli-bundle/chunks/{extension-ZISPBRBC.js.map → plan-MK2QY3GA.js.map} +0 -0
  679. /package/dist/cli-bundle/chunks/{files-PYKR2UUG.js.map → profile-AQNHXOYA.js.map} +0 -0
  680. /package/dist/cli-bundle/chunks/{files-EWRQHGIS.js.map → profile-HTBFINKQ.js.map} +0 -0
  681. /package/dist/cli-bundle/chunks/{focus-4T7TM4MT.js.map → restore-BTBEZ5CK.js.map} +0 -0
  682. /package/dist/cli-bundle/chunks/{focus-L3YUASOD.js.map → restore-EX4UUZL6.js.map} +0 -0
  683. /package/dist/cli-bundle/chunks/{gc-2PCTYYRI.js.map → schema-DGSTYYQB.js.map} +0 -0
  684. /package/dist/cli-bundle/chunks/{gc-2DNMPXMC.js.map → schema-HAIBEE24.js.map} +0 -0
  685. /package/dist/cli-bundle/chunks/{get-7DMITJ3G.js.map → update-MP4XLU56.js.map} +0 -0
  686. /package/dist/cli-bundle/chunks/{get-VKQXCXLL.js.map → update-SDIRJGSY.js.map} +0 -0
  687. /package/dist/cli-bundle/chunks/{health-CVSTAR2F.js.map → update-many-34AIU6W7.js.map} +0 -0
  688. /package/dist/cli-bundle/chunks/{health-TV3GKTFN.js.map → update-many-JUPCNOKV.js.map} +0 -0
@@ -1,1041 +0,0 @@
1
- import {
2
- parseLimit
3
- } from "./chunk-7DT4WSH2.js";
4
- import {
5
- nowIso
6
- } from "./chunk-FLZSGSQR.js";
7
- import {
8
- PmCliError,
9
- readSettings
10
- } from "./chunk-SHQY2IDC.js";
11
- import {
12
- EXIT_CODE,
13
- ensureDir,
14
- getSettingsPath,
15
- getTestRunRecordPath,
16
- getTestRunResultPath,
17
- getTestRunStderrPath,
18
- getTestRunStdoutPath,
19
- getTestRunsPath,
20
- getTestRunsRecordsPath,
21
- getTestRunsResultsPath,
22
- getTestRunsStderrPath,
23
- getTestRunsStdoutPath,
24
- pathExists,
25
- readFileIfExists,
26
- resolveGlobalPmRoot,
27
- resolvePmRoot,
28
- writeFileAtomic
29
- } from "./chunk-LK6XLOGP.js";
30
-
31
- // dist/cli/commands/test-runs.js
32
- import os from "node:os";
33
-
34
- // dist/core/test/background-runs.js
35
- import fs from "node:fs/promises";
36
- import { spawn } from "node:child_process";
37
- import { createHash, randomBytes } from "node:crypto";
38
- import path from "node:path";
39
- !(function() {
40
- try {
41
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
42
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "aefbe330-eaa9-5b52-a406-b796df6bff8b");
43
- } catch (e2) {
44
- }
45
- })();
46
- var BACKGROUND_RUN_ACTIVE_STATUSES = /* @__PURE__ */ new Set(["queued", "running"]);
47
- var BACKGROUND_RUN_TERMINAL_STATUSES = /* @__PURE__ */ new Set(["passed", "failed", "stopped", "canceled"]);
48
- var DEFAULT_BACKGROUND_RUN_RESOURCE_SNAPSHOT_INTERVAL_MS = 3e3;
49
- var DEFAULT_BACKGROUND_RUN_FORCE_KILL_DELAY_MS = 3e3;
50
- var DEFAULT_BACKGROUND_RUN_HEARTBEAT_STALE_MS = 3e4;
51
- var DEFAULT_BACKGROUND_RUN_LOG_TAIL_LINES = 100;
52
- var PROC_STAT_TICKS_PER_SECOND = 100;
53
- function nowMs() {
54
- return Date.now();
55
- }
56
- function normalizeCommandArgs(args) {
57
- return args.map((entry) => entry.trim()).filter((entry) => entry.length > 0);
58
- }
59
- function summarizeCommandLabel(args) {
60
- const joined = args.join(" ").replaceAll(/\s+/g, " ").trim();
61
- if (joined.length <= 180) {
62
- return joined;
63
- }
64
- return `${joined.slice(0, 177)}...`;
65
- }
66
- function buildRunId() {
67
- const timePart = Date.now().toString(36);
68
- const randomPart = randomBytes(3).toString("hex");
69
- return `tr-${timePart}-${randomPart}`;
70
- }
71
- function buildBackgroundTestRunFingerprint(kind, commandArgs, pmRoot) {
72
- const payload = {
73
- kind,
74
- command: normalizeCommandArgs(commandArgs),
75
- pm_root: path.resolve(pmRoot)
76
- };
77
- return createHash("sha256").update(JSON.stringify(payload)).digest("hex");
78
- }
79
- function isPidRunning(pid) {
80
- if (!Number.isInteger(pid) || !pid || pid <= 0) {
81
- return false;
82
- }
83
- try {
84
- process.kill(pid, 0);
85
- return true;
86
- } catch (error) {
87
- const code = typeof error === "object" && error !== null && "code" in error ? error.code : void 0;
88
- return code === "EPERM";
89
- }
90
- }
91
- async function ensureBackgroundRunStorage(pmRoot) {
92
- await ensureDir(getTestRunsPath(pmRoot));
93
- await ensureDir(getTestRunsRecordsPath(pmRoot));
94
- await ensureDir(getTestRunsStdoutPath(pmRoot));
95
- await ensureDir(getTestRunsStderrPath(pmRoot));
96
- await ensureDir(getTestRunsResultsPath(pmRoot));
97
- }
98
- async function parseBackgroundRunRecord(raw, recordPath) {
99
- try {
100
- const parsed = JSON.parse(raw);
101
- if (!parsed || typeof parsed !== "object" || typeof parsed.id !== "string") {
102
- throw new Error("invalid run record payload");
103
- }
104
- return parsed;
105
- } catch (error) {
106
- throw new PmCliError(`Failed to parse background test run record at ${recordPath}: ${error instanceof Error ? error.message : String(error)}`, EXIT_CODE.GENERIC_FAILURE);
107
- }
108
- }
109
- async function writeBackgroundRunRecord(pmRoot, record) {
110
- const next = {
111
- ...record,
112
- updated_at: nowIso()
113
- };
114
- await writeFileAtomic(getTestRunRecordPath(pmRoot, record.id), `${JSON.stringify(next, null, 2)}
115
- `);
116
- }
117
- async function readBackgroundTestRunRecord(pmRoot, runId) {
118
- const recordPath = getTestRunRecordPath(pmRoot, runId);
119
- const raw = await readFileIfExists(recordPath);
120
- if (!raw) {
121
- return null;
122
- }
123
- return parseBackgroundRunRecord(raw, recordPath);
124
- }
125
- async function listBackgroundRunRecordPaths(pmRoot) {
126
- const recordsRoot = getTestRunsRecordsPath(pmRoot);
127
- if (!await pathExists(recordsRoot)) {
128
- return [];
129
- }
130
- const entries = await fs.readdir(recordsRoot, { withFileTypes: true });
131
- return entries.filter((entry) => entry.isFile() && entry.name.endsWith(".json")).map((entry) => path.join(recordsRoot, entry.name)).sort((left, right) => right.localeCompare(left));
132
- }
133
- function parseLinuxRssStatus(raw) {
134
- const match = raw.match(/^VmRSS:\s+(\d+)\s+kB$/m);
135
- if (!match) {
136
- return void 0;
137
- }
138
- return Number.parseInt(match[1], 10) * 1024;
139
- }
140
- async function readLinuxRssBytes(pid) {
141
- if (process.platform !== "linux") {
142
- return void 0;
143
- }
144
- try {
145
- const raw = await fs.readFile(`/proc/${pid}/status`, "utf8");
146
- return parseLinuxRssStatus(raw);
147
- } catch {
148
- return void 0;
149
- }
150
- }
151
- function parseLinuxCpuStat(raw) {
152
- const closeParenIndex = raw.lastIndexOf(")");
153
- if (closeParenIndex < 0) {
154
- return {};
155
- }
156
- const remainder = raw.slice(closeParenIndex + 2).trim();
157
- const parts = remainder.split(/\s+/);
158
- const utimeTicks = Number.parseInt(parts[11], 10);
159
- const stimeTicks = Number.parseInt(parts[12], 10);
160
- if (!Number.isFinite(utimeTicks) || !Number.isFinite(stimeTicks)) {
161
- return {};
162
- }
163
- return {
164
- cpu_user_seconds: utimeTicks / PROC_STAT_TICKS_PER_SECOND,
165
- cpu_system_seconds: stimeTicks / PROC_STAT_TICKS_PER_SECOND
166
- };
167
- }
168
- async function readLinuxCpuSeconds(pid) {
169
- if (process.platform !== "linux") {
170
- return {};
171
- }
172
- try {
173
- const raw = await fs.readFile(`/proc/${pid}/stat`, "utf8");
174
- return parseLinuxCpuStat(raw);
175
- } catch {
176
- return {};
177
- }
178
- }
179
- async function buildResourceSnapshot(record) {
180
- const pid = record.child_pid ?? record.worker_pid;
181
- if (!isPidRunning(pid)) {
182
- return void 0;
183
- }
184
- const rssBytes = await readLinuxRssBytes(pid);
185
- const cpu = await readLinuxCpuSeconds(pid);
186
- const startedAtMs = record.started_at ? Date.parse(record.started_at) : Number.NaN;
187
- const uptimeSeconds = Number.isFinite(startedAtMs) ? Math.max(0, (nowMs() - startedAtMs) / 1e3) : void 0;
188
- return {
189
- recorded_at: nowIso(),
190
- rss_bytes: rssBytes,
191
- cpu_user_seconds: cpu.cpu_user_seconds,
192
- cpu_system_seconds: cpu.cpu_system_seconds,
193
- uptime_seconds: uptimeSeconds
194
- };
195
- }
196
- function readCount(value) {
197
- return typeof value === "number" && Number.isFinite(value) ? value : 0;
198
- }
199
- function evaluateWorkerResult(kind, payload) {
200
- if (!payload || typeof payload !== "object") {
201
- return {
202
- summary: {
203
- passed: 0,
204
- failed: 1,
205
- skipped: 0
206
- },
207
- parsedResult: null
208
- };
209
- }
210
- const record = payload;
211
- if (kind === "test-all") {
212
- const totals = record.totals ?? {};
213
- return {
214
- summary: {
215
- items: typeof totals.items === "number" ? totals.items : void 0,
216
- linked_tests: typeof totals.linked_tests === "number" ? totals.linked_tests : void 0,
217
- passed: readCount(totals.passed),
218
- failed: readCount(totals.failed),
219
- skipped: readCount(totals.skipped),
220
- fail_on_skipped_triggered: record.fail_on_skipped_triggered === true ? true : void 0
221
- },
222
- parsedResult: payload
223
- };
224
- }
225
- const runResults = Array.isArray(record.run_results) ? record.run_results : [];
226
- let passed = 0;
227
- let failed = 0;
228
- let skipped = 0;
229
- for (const entry of runResults) {
230
- if (!entry || typeof entry !== "object") {
231
- continue;
232
- }
233
- const status = entry.status;
234
- if (status === "passed") {
235
- passed += 1;
236
- continue;
237
- }
238
- if (status === "failed") {
239
- failed += 1;
240
- continue;
241
- }
242
- skipped += 1;
243
- }
244
- return {
245
- summary: {
246
- passed,
247
- failed,
248
- skipped,
249
- fail_on_skipped_triggered: record.fail_on_skipped_triggered === true ? true : void 0
250
- },
251
- parsedResult: payload
252
- };
253
- }
254
- function parseProgressLine(stderrLine) {
255
- const line = stderrLine.trim();
256
- if (line.length === 0) {
257
- return null;
258
- }
259
- const testAllMatch = line.match(/\[pm test-all\]\s+item\s+(\d+)\/(\d+)\s+(start|end)\s+id=([^\s]+)/i);
260
- if (testAllMatch) {
261
- const itemIndex = Number.parseInt(testAllMatch[1], 10);
262
- const itemTotal = Number.parseInt(testAllMatch[2], 10);
263
- return {
264
- item_index: itemIndex,
265
- item_total: itemTotal,
266
- item_id: testAllMatch[4],
267
- linked_test_index: void 0,
268
- linked_test_total: void 0,
269
- current_command: void 0,
270
- elapsed_ms: void 0,
271
- heartbeat_at: nowIso(),
272
- phase: testAllMatch[3]?.toLowerCase() === "end" ? "finished" : "running"
273
- };
274
- }
275
- const linkedTestMatch = line.match(/\[pm test\]\s+linked-test\s+(\d+)\/(\d+)\s+(start|running|end)(?:.*elapsed_ms=(\d+))?/i);
276
- if (!linkedTestMatch) {
277
- return null;
278
- }
279
- const index = Number.parseInt(linkedTestMatch[1], 10);
280
- const total = Number.parseInt(linkedTestMatch[2], 10);
281
- const elapsed = linkedTestMatch[4] ? Number.parseInt(linkedTestMatch[4], 10) : void 0;
282
- const commandMatch = line.match(/\scommand="((?:\\.|[^"\\])*)"/);
283
- const currentCommand = commandMatch ? commandMatch[1].replaceAll('\\"', '"').replaceAll("\\\\", "\\") : void 0;
284
- return {
285
- linked_test_index: index,
286
- linked_test_total: total,
287
- current_command: currentCommand,
288
- elapsed_ms: Number.isFinite(elapsed) ? elapsed : void 0,
289
- heartbeat_at: nowIso(),
290
- phase: linkedTestMatch[3]?.toLowerCase() === "end" ? "finished" : "running"
291
- };
292
- }
293
- function splitLines(value) {
294
- return value.split(/\r?\n/).map((entry) => entry.trimEnd()).filter((entry) => entry.length > 0);
295
- }
296
- function tailLines(value, limit) {
297
- if (limit <= 0) {
298
- return [];
299
- }
300
- const lines = splitLines(value);
301
- if (lines.length <= limit) {
302
- return lines;
303
- }
304
- return lines.slice(lines.length - limit);
305
- }
306
- async function resolveBackgroundCliEntry(cwd) {
307
- const configured = process.env.PM_BACKGROUND_CLI_ENTRY?.trim();
308
- if (configured && configured.length > 0) {
309
- const resolvedConfigured = path.resolve(cwd, configured);
310
- if (await pathExists(resolvedConfigured)) {
311
- return resolvedConfigured;
312
- }
313
- }
314
- const distEntry = path.resolve(cwd, "dist", "cli.js");
315
- if (await pathExists(distEntry)) {
316
- return distEntry;
317
- }
318
- const argvEntry = process.argv[1]?.trim();
319
- if (argvEntry && argvEntry.length > 0) {
320
- const resolvedArgvEntry = path.resolve(cwd, argvEntry);
321
- if (await pathExists(resolvedArgvEntry)) {
322
- return resolvedArgvEntry;
323
- }
324
- }
325
- throw new PmCliError("Unable to resolve a CLI entrypoint for background test runs. Build the project or set PM_BACKGROUND_CLI_ENTRY.", EXIT_CODE.GENERIC_FAILURE);
326
- }
327
- async function refreshRunIfStale(pmRoot, record) {
328
- if (!BACKGROUND_RUN_ACTIVE_STATUSES.has(record.status)) {
329
- return record;
330
- }
331
- const workerAlive = isPidRunning(record.worker_pid);
332
- if (workerAlive) {
333
- return record;
334
- }
335
- if (record.finished_at) {
336
- return record;
337
- }
338
- const next = {
339
- ...record,
340
- status: "failed",
341
- finished_at: nowIso(),
342
- error: record.error ?? "Background test run worker exited before writing terminal status."
343
- };
344
- await writeBackgroundRunRecord(pmRoot, next);
345
- return next;
346
- }
347
- async function startBackgroundTestRun(options) {
348
- await ensureBackgroundRunStorage(options.pmRoot);
349
- const normalizedArgs = normalizeCommandArgs(options.commandArgs);
350
- if (normalizedArgs.length === 0) {
351
- throw new PmCliError("Background test run requires command arguments.", EXIT_CODE.USAGE);
352
- }
353
- const fingerprint = buildBackgroundTestRunFingerprint(options.kind, normalizedArgs, options.pmRoot);
354
- const existingRuns = await listBackgroundTestRuns(options.pmRoot, {});
355
- for (const existing of existingRuns) {
356
- const refreshed = await refreshRunIfStale(options.pmRoot, existing);
357
- if (refreshed.fingerprint !== fingerprint) {
358
- continue;
359
- }
360
- if (!BACKGROUND_RUN_ACTIVE_STATUSES.has(refreshed.status) || !isPidRunning(refreshed.worker_pid)) {
361
- continue;
362
- }
363
- return {
364
- started: false,
365
- run: {
366
- ...refreshed,
367
- duplicate_of: refreshed.id
368
- },
369
- duplicate_of: refreshed.id
370
- };
371
- }
372
- const runId = buildRunId();
373
- const createdAt = nowIso();
374
- const stdoutPath = getTestRunStdoutPath(options.pmRoot, runId);
375
- const stderrPath = getTestRunStderrPath(options.pmRoot, runId);
376
- const resultPath = getTestRunResultPath(options.pmRoot, runId);
377
- await fs.writeFile(stdoutPath, "", "utf8");
378
- await fs.writeFile(stderrPath, "", "utf8");
379
- const record = {
380
- id: runId,
381
- kind: options.kind,
382
- status: "queued",
383
- created_at: createdAt,
384
- updated_at: createdAt,
385
- requested_by: options.requestedBy,
386
- fingerprint,
387
- command_args: normalizedArgs,
388
- command_label: summarizeCommandLabel(normalizedArgs),
389
- pm_root: options.pmRoot,
390
- global_pm_root: options.globalPmRoot,
391
- target_id: options.targetId,
392
- status_filter: options.statusFilter,
393
- attempt: typeof options.attempt === "number" && Number.isFinite(options.attempt) && options.attempt >= 1 ? Math.floor(options.attempt) : 1,
394
- resumed_from: options.resumedFrom,
395
- resumed_by: options.resumedBy,
396
- stdout_path: stdoutPath,
397
- stderr_path: stderrPath,
398
- result_path: resultPath,
399
- progress: {
400
- phase: "queued",
401
- message: "Queued for background execution.",
402
- heartbeat_at: createdAt
403
- }
404
- };
405
- await writeBackgroundRunRecord(options.pmRoot, record);
406
- return {
407
- started: true,
408
- run: record
409
- };
410
- }
411
- async function spawnBackgroundTestRunWorker(options) {
412
- const record = await readBackgroundTestRunRecord(options.pmRoot, options.runId);
413
- if (!record) {
414
- throw new PmCliError(`Background test run ${options.runId} not found`, EXIT_CODE.NOT_FOUND);
415
- }
416
- if (BACKGROUND_RUN_TERMINAL_STATUSES.has(record.status)) {
417
- throw new PmCliError(`Background test run ${record.id} is already terminal (${record.status}).`, EXIT_CODE.CONFLICT);
418
- }
419
- const cliEntry = await resolveBackgroundCliEntry(process.cwd());
420
- const args = [];
421
- if (options.noExtensions === true) {
422
- args.push("--no-extensions");
423
- }
424
- args.push("--path", record.pm_root, "test-runs-worker", record.id);
425
- const env = {
426
- ...process.env,
427
- PM_PATH: record.pm_root,
428
- PM_GLOBAL_PATH: record.global_pm_root,
429
- PM_BACKGROUND_TEST_RUN_ID: record.id,
430
- PM_BACKGROUND_TEST_RUN_ATTEMPT: String(record.attempt),
431
- PM_BACKGROUND_TEST_RUN_RESUMED_FROM: record.resumed_from ?? "",
432
- FORCE_COLOR: "0"
433
- };
434
- const child = spawn(process.execPath, [cliEntry, ...args], {
435
- cwd: process.cwd(),
436
- env,
437
- detached: true,
438
- stdio: "ignore",
439
- windowsHide: true
440
- });
441
- child.unref();
442
- const next = {
443
- ...record,
444
- status: "queued",
445
- worker_pid: child.pid,
446
- progress: {
447
- phase: "queued",
448
- message: "Worker process started.",
449
- heartbeat_at: nowIso()
450
- }
451
- };
452
- await writeBackgroundRunRecord(options.pmRoot, next);
453
- return next;
454
- }
455
- async function appendFileOrdered(queue, filePath, text) {
456
- await queue;
457
- await fs.appendFile(filePath, text, "utf8");
458
- }
459
- function resolvePositiveEnvInteger(name, fallback) {
460
- const parsed = Number.parseInt(process.env[name] ?? "", 10);
461
- return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
462
- }
463
- function buildBackgroundWorkerEnv(record) {
464
- return {
465
- ...process.env,
466
- PM_PATH: record.pm_root,
467
- PM_GLOBAL_PATH: record.global_pm_root,
468
- FORCE_COLOR: "0"
469
- };
470
- }
471
- function buildBackgroundWorkerChildArgs(record, noExtensions) {
472
- return noExtensions ? ["--no-extensions", ...record.command_args] : [...record.command_args];
473
- }
474
- function createBackgroundRunRecordWriteScheduler(pmRoot, record) {
475
- let writeQueue = Promise.resolve();
476
- return {
477
- schedule() {
478
- writeQueue = writeQueue.then(async () => {
479
- try {
480
- await writeBackgroundRunRecord(pmRoot, record);
481
- } catch {
482
- }
483
- });
484
- },
485
- async flush() {
486
- await writeQueue;
487
- }
488
- };
489
- }
490
- function requestChildSignal(child, signal) {
491
- try {
492
- child.kill(signal);
493
- } catch {
494
- }
495
- }
496
- async function requestBackgroundWorkerStop(record, child, state, scheduleRecordWrite) {
497
- if (state.stopRequested) {
498
- return;
499
- }
500
- state.stopRequested = true;
501
- record.stop_requested_at = nowIso();
502
- record.progress = {
503
- ...record.progress,
504
- phase: "stopping",
505
- message: "Stop requested for background run.",
506
- heartbeat_at: nowIso()
507
- };
508
- scheduleRecordWrite();
509
- requestChildSignal(child, "SIGTERM");
510
- const forceTimer = setTimeout(() => requestChildSignal(child, "SIGKILL"), resolvePositiveEnvInteger("PM_BACKGROUND_RUN_FORCE_KILL_DELAY_MS", DEFAULT_BACKGROUND_RUN_FORCE_KILL_DELAY_MS));
511
- forceTimer.unref?.();
512
- }
513
- function buildItemBackgroundProgress(line, progressPatch, phase) {
514
- return {
515
- phase,
516
- message: line,
517
- heartbeat_at: nowIso(),
518
- item_index: progressPatch.item_index,
519
- item_total: progressPatch.item_total,
520
- item_id: progressPatch.item_id,
521
- linked_test_index: void 0,
522
- linked_test_total: void 0,
523
- current_command: void 0,
524
- elapsed_ms: void 0
525
- };
526
- }
527
- function buildLinkedTestBackgroundProgress(line, record, progressPatch, phase) {
528
- return {
529
- phase,
530
- message: line,
531
- heartbeat_at: nowIso(),
532
- item_index: progressPatch.item_index ?? record.progress?.item_index,
533
- item_total: progressPatch.item_total ?? record.progress?.item_total,
534
- item_id: progressPatch.item_id ?? record.progress?.item_id,
535
- linked_test_index: progressPatch.linked_test_index,
536
- linked_test_total: progressPatch.linked_test_total,
537
- current_command: progressPatch.current_command,
538
- elapsed_ms: progressPatch.elapsed_ms
539
- };
540
- }
541
- function applyBackgroundWorkerProgressLine(record, line, stopRequested) {
542
- const progressPatch = parseProgressLine(line);
543
- if (!progressPatch) {
544
- return false;
545
- }
546
- const phase = record.progress?.phase === "stopping" ? "stopping" : "running";
547
- record.progress = progressPatch.item_id ? buildItemBackgroundProgress(line, progressPatch, phase) : buildLinkedTestBackgroundProgress(line, record, progressPatch, phase);
548
- if (progressPatch.phase === "finished" && !stopRequested) {
549
- record.progress.phase = "running";
550
- }
551
- return true;
552
- }
553
- function parseBackgroundWorkerStdout(stdoutBuffer) {
554
- if (stdoutBuffer.trim().length === 0) {
555
- return null;
556
- }
557
- try {
558
- return JSON.parse(stdoutBuffer);
559
- } catch {
560
- return null;
561
- }
562
- }
563
- function resolveBackgroundWorkerFinalStatus(record, stopRequested) {
564
- if (stopRequested) {
565
- return "stopped";
566
- }
567
- const passed = record.exit_code === 0 && (record.summary?.failed ?? 0) === 0 && record.summary?.fail_on_skipped_triggered !== true;
568
- return passed ? "passed" : "failed";
569
- }
570
- function buildFinishedBackgroundProgress(record, stopRequested) {
571
- return {
572
- phase: "finished",
573
- message: stopRequested ? "Background run stopped." : `Background run finished with status=${record.status}.`,
574
- heartbeat_at: nowIso(),
575
- item_index: record.progress?.item_index,
576
- item_total: record.progress?.item_total,
577
- item_id: record.progress?.item_id,
578
- linked_test_index: record.progress?.linked_test_index,
579
- linked_test_total: record.progress?.linked_test_total,
580
- current_command: record.progress?.current_command,
581
- elapsed_ms: record.progress?.elapsed_ms
582
- };
583
- }
584
- async function writeBackgroundWorkerResult(record, parsedResult, stdoutBuffer) {
585
- if (parsedResult !== null) {
586
- await writeFileAtomic(record.result_path, `${JSON.stringify(parsedResult, null, 2)}
587
- `);
588
- return;
589
- }
590
- await writeFileAtomic(record.result_path, `${JSON.stringify({
591
- parse_error: "Background run output was not valid JSON.",
592
- stdout_excerpt: tailLines(stdoutBuffer, DEFAULT_BACKGROUND_RUN_LOG_TAIL_LINES)
593
- }, null, 2)}
594
- `);
595
- }
596
- async function runBackgroundTestRunWorker(pmRoot, runId, noExtensions = false) {
597
- const loaded = await readBackgroundTestRunRecord(pmRoot, runId);
598
- if (!loaded) {
599
- throw new PmCliError(`Background test run ${runId} not found`, EXIT_CODE.NOT_FOUND);
600
- }
601
- const record = {
602
- ...loaded,
603
- status: "running",
604
- started_at: loaded.started_at ?? nowIso(),
605
- worker_pid: process.pid,
606
- progress: {
607
- phase: "running",
608
- message: "Worker started.",
609
- heartbeat_at: nowIso()
610
- }
611
- };
612
- const cliEntry = await resolveBackgroundCliEntry(process.cwd());
613
- const env = buildBackgroundWorkerEnv(record);
614
- await writeBackgroundRunRecord(pmRoot, record);
615
- const childArgs = buildBackgroundWorkerChildArgs(record, noExtensions);
616
- const child = spawn(process.execPath, [cliEntry, ...childArgs], {
617
- cwd: process.cwd(),
618
- env,
619
- detached: false,
620
- stdio: ["ignore", "pipe", "pipe"],
621
- windowsHide: true
622
- });
623
- record.child_pid = child.pid;
624
- const recordWriteScheduler = createBackgroundRunRecordWriteScheduler(pmRoot, record);
625
- const scheduleRecordWrite = recordWriteScheduler.schedule;
626
- let stdoutWriteQueue = Promise.resolve();
627
- let stderrWriteQueue = Promise.resolve();
628
- let stdoutBuffer = "";
629
- let stderrBuffer = "";
630
- const stopState = { stopRequested: false };
631
- const onSignal = () => {
632
- void requestBackgroundWorkerStop(record, child, stopState, scheduleRecordWrite);
633
- };
634
- process.on("SIGTERM", onSignal);
635
- process.on("SIGINT", onSignal);
636
- const resourceTimer = setInterval(() => {
637
- void (async () => {
638
- record.resource = await buildResourceSnapshot(record);
639
- record.progress.heartbeat_at = nowIso();
640
- scheduleRecordWrite();
641
- })();
642
- }, resolvePositiveEnvInteger("PM_BACKGROUND_RUN_RESOURCE_INTERVAL_MS", DEFAULT_BACKGROUND_RUN_RESOURCE_SNAPSHOT_INTERVAL_MS));
643
- resourceTimer.unref?.();
644
- child.stdout?.on("data", (chunk) => {
645
- const text = chunk.toString("utf8");
646
- stdoutBuffer += text;
647
- stdoutWriteQueue = appendFileOrdered(stdoutWriteQueue, record.stdout_path, text);
648
- });
649
- child.stderr?.on("data", (chunk) => {
650
- const text = chunk.toString("utf8");
651
- stderrWriteQueue = appendFileOrdered(stderrWriteQueue, record.stderr_path, text);
652
- stderrBuffer += text;
653
- const parts = stderrBuffer.split(/\r?\n/);
654
- stderrBuffer = parts.pop();
655
- let progressChanged = false;
656
- for (const part of parts) {
657
- const line = part.trimEnd();
658
- if (line.length > 0 && applyBackgroundWorkerProgressLine(record, line, stopState.stopRequested)) {
659
- progressChanged = true;
660
- }
661
- }
662
- if (progressChanged) {
663
- scheduleRecordWrite();
664
- }
665
- });
666
- let exitCode = null;
667
- let signal = null;
668
- try {
669
- ({ code: exitCode, signal } = await new Promise((resolve) => {
670
- child.on("close", (code, closeSignal) => {
671
- resolve({ code, signal: closeSignal });
672
- });
673
- }));
674
- } finally {
675
- clearInterval(resourceTimer);
676
- process.off("SIGTERM", onSignal);
677
- process.off("SIGINT", onSignal);
678
- }
679
- await stdoutWriteQueue;
680
- await stderrWriteQueue;
681
- const trailingStderrLine = stderrBuffer.trimEnd();
682
- if (trailingStderrLine.length > 0 && applyBackgroundWorkerProgressLine(record, trailingStderrLine, stopState.stopRequested)) {
683
- scheduleRecordWrite();
684
- }
685
- stderrBuffer = "";
686
- const parsedResult = parseBackgroundWorkerStdout(stdoutBuffer);
687
- const evaluated = evaluateWorkerResult(record.kind, parsedResult);
688
- record.summary = evaluated.summary;
689
- record.exit_code = typeof exitCode === "number" ? exitCode : void 0;
690
- record.signal = signal ?? void 0;
691
- record.finished_at = nowIso();
692
- record.status = resolveBackgroundWorkerFinalStatus(record, stopState.stopRequested);
693
- record.progress = buildFinishedBackgroundProgress(record, stopState.stopRequested);
694
- record.resource = await buildResourceSnapshot(record);
695
- await writeBackgroundWorkerResult(record, parsedResult, stdoutBuffer);
696
- await writeBackgroundRunRecord(pmRoot, record);
697
- await recordWriteScheduler.flush();
698
- return record;
699
- }
700
- async function listBackgroundTestRuns(pmRoot, options) {
701
- const recordPaths = await listBackgroundRunRecordPaths(pmRoot);
702
- const runs = [];
703
- for (const recordPath of recordPaths) {
704
- const raw = await readFileIfExists(recordPath);
705
- if (!raw) {
706
- continue;
707
- }
708
- const parsed = await parseBackgroundRunRecord(raw, recordPath);
709
- runs.push(parsed);
710
- }
711
- const refreshed = [];
712
- for (const run of runs) {
713
- refreshed.push(await refreshRunIfStale(pmRoot, run));
714
- }
715
- const filtered = options.status ? refreshed.filter((entry) => entry.status === options.status) : refreshed;
716
- const sorted = filtered.sort((left, right) => {
717
- const byUpdated = Date.parse(right.updated_at) - Date.parse(left.updated_at);
718
- if (Number.isFinite(byUpdated) && byUpdated !== 0) {
719
- return byUpdated;
720
- }
721
- return right.id.localeCompare(left.id);
722
- });
723
- const limit = typeof options.limit === "number" && options.limit >= 0 ? options.limit : void 0;
724
- return limit === void 0 ? sorted : sorted.slice(0, limit);
725
- }
726
- async function getBackgroundTestRunStatus(pmRoot, runId) {
727
- const loaded = await readBackgroundTestRunRecord(pmRoot, runId);
728
- if (!loaded) {
729
- throw new PmCliError(`Background test run ${runId} not found`, EXIT_CODE.NOT_FOUND);
730
- }
731
- const refreshed = await refreshRunIfStale(pmRoot, loaded);
732
- const workerAlive = isPidRunning(refreshed.worker_pid);
733
- const childAlive = isPidRunning(refreshed.child_pid);
734
- if (refreshed.status === "running" && !childAlive && !refreshed.finished_at && !workerAlive) {
735
- refreshed.status = "failed";
736
- refreshed.finished_at = nowIso();
737
- refreshed.error = refreshed.error ?? "Background run process exited unexpectedly.";
738
- await writeBackgroundRunRecord(pmRoot, refreshed);
739
- }
740
- if (refreshed.status === "running") {
741
- refreshed.resource = await buildResourceSnapshot(refreshed);
742
- await writeBackgroundRunRecord(pmRoot, refreshed);
743
- }
744
- const heartbeatAt = refreshed.progress?.heartbeat_at;
745
- const heartbeatAtMs = heartbeatAt ? Date.parse(heartbeatAt) : Number.NaN;
746
- const lagMs = Number.isFinite(heartbeatAtMs) ? Math.max(0, nowMs() - heartbeatAtMs) : void 0;
747
- const staleMs = Number.parseInt(process.env.PM_BACKGROUND_RUN_HEARTBEAT_STALE_MS ?? "", 10);
748
- const staleThresholdMs = Number.isFinite(staleMs) && staleMs > 0 ? staleMs : DEFAULT_BACKGROUND_RUN_HEARTBEAT_STALE_MS;
749
- const healthState = refreshed.status === "running" ? lagMs !== void 0 && lagMs > staleThresholdMs ? "stale" : "healthy" : "inactive";
750
- return {
751
- run: refreshed,
752
- health: {
753
- state: healthState,
754
- last_heartbeat_at: heartbeatAt,
755
- heartbeat_lag_ms: lagMs,
756
- worker_alive: workerAlive,
757
- child_alive: childAlive
758
- }
759
- };
760
- }
761
- function sendBackgroundRunStopSignal(record, force) {
762
- const signal = force ? "SIGKILL" : "SIGTERM";
763
- if (!isPidRunning(record.worker_pid) || !record.worker_pid) {
764
- return "none";
765
- }
766
- try {
767
- process.kill(record.worker_pid, signal);
768
- return signal;
769
- } catch {
770
- return "none";
771
- }
772
- }
773
- function buildStoppingBackgroundProgress(record, signalSent) {
774
- return {
775
- phase: "stopping",
776
- message: signalSent === "none" ? "Run marked stopped." : `Stop requested via ${signalSent}.`,
777
- heartbeat_at: nowIso(),
778
- item_index: record.progress?.item_index,
779
- item_total: record.progress?.item_total,
780
- item_id: record.progress?.item_id,
781
- linked_test_index: record.progress?.linked_test_index,
782
- linked_test_total: record.progress?.linked_test_total,
783
- current_command: record.progress?.current_command,
784
- elapsed_ms: record.progress?.elapsed_ms
785
- };
786
- }
787
- async function stopBackgroundTestRun(pmRoot, runId, force = false) {
788
- const loaded = await readBackgroundTestRunRecord(pmRoot, runId);
789
- if (!loaded) {
790
- throw new PmCliError(`Background test run ${runId} not found`, EXIT_CODE.NOT_FOUND);
791
- }
792
- const refreshed = await refreshRunIfStale(pmRoot, loaded);
793
- if (BACKGROUND_RUN_TERMINAL_STATUSES.has(refreshed.status)) {
794
- return {
795
- run: refreshed,
796
- signal_sent: "none"
797
- };
798
- }
799
- const signalSent = sendBackgroundRunStopSignal(refreshed, force);
800
- if (signalSent === "none") {
801
- refreshed.status = "stopped";
802
- refreshed.finished_at = refreshed.finished_at ?? nowIso();
803
- }
804
- refreshed.stop_requested_at = nowIso();
805
- refreshed.progress = buildStoppingBackgroundProgress(refreshed, signalSent);
806
- await writeBackgroundRunRecord(pmRoot, refreshed);
807
- return {
808
- run: refreshed,
809
- signal_sent: signalSent
810
- };
811
- }
812
- async function resumeBackgroundTestRun(pmRoot, runId, requestedBy, noExtensions = false) {
813
- const loaded = await readBackgroundTestRunRecord(pmRoot, runId);
814
- if (!loaded) {
815
- throw new PmCliError(`Background test run ${runId} not found`, EXIT_CODE.NOT_FOUND);
816
- }
817
- const refreshed = await refreshRunIfStale(pmRoot, loaded);
818
- if (!BACKGROUND_RUN_TERMINAL_STATUSES.has(refreshed.status)) {
819
- throw new PmCliError(`Background test run ${runId} is not terminal and cannot be resumed.`, EXIT_CODE.CONFLICT);
820
- }
821
- const started = await startBackgroundTestRun({
822
- pmRoot: refreshed.pm_root,
823
- globalPmRoot: refreshed.global_pm_root,
824
- kind: refreshed.kind,
825
- commandArgs: refreshed.command_args,
826
- requestedBy,
827
- targetId: refreshed.target_id,
828
- statusFilter: refreshed.status_filter,
829
- resumedFrom: refreshed.id,
830
- resumedBy: requestedBy,
831
- attempt: refreshed.attempt + 1
832
- });
833
- if (!started.started) {
834
- return started.run;
835
- }
836
- const spawned = await spawnBackgroundTestRunWorker({
837
- pmRoot,
838
- runId: started.run.id,
839
- noExtensions
840
- });
841
- const prior = {
842
- ...refreshed,
843
- resumed_by: spawned.id
844
- };
845
- await writeBackgroundRunRecord(pmRoot, prior);
846
- return spawned;
847
- }
848
- async function readBackgroundTestRunLogs(pmRoot, runId, stream, tail) {
849
- const loaded = await readBackgroundTestRunRecord(pmRoot, runId);
850
- if (!loaded) {
851
- throw new PmCliError(`Background test run ${runId} not found`, EXIT_CODE.NOT_FOUND);
852
- }
853
- const resolvedTail = typeof tail === "number" && Number.isFinite(tail) && tail >= 0 ? Math.floor(tail) : DEFAULT_BACKGROUND_RUN_LOG_TAIL_LINES;
854
- const stdoutRaw = stream === "stdout" || stream === "both" ? await readFileIfExists(loaded.stdout_path) ?? "" : "";
855
- const stderrRaw = stream === "stderr" || stream === "both" ? await readFileIfExists(loaded.stderr_path) ?? "" : "";
856
- return {
857
- run: loaded,
858
- stream,
859
- tail: resolvedTail,
860
- stdout: stream === "stdout" || stream === "both" ? tailLines(stdoutRaw, resolvedTail) : [],
861
- stderr: stream === "stderr" || stream === "both" ? tailLines(stderrRaw, resolvedTail) : []
862
- };
863
- }
864
-
865
- // dist/cli/commands/test-runs.js
866
- !(function() {
867
- try {
868
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
869
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "6fc484d6-7f46-535e-a938-af333d42bb4f");
870
- } catch (e2) {
871
- }
872
- })();
873
- var BACKGROUND_STATUS_VALUES = ["queued", "running", "passed", "failed", "stopped", "canceled"];
874
- var BACKGROUND_STREAM_VALUES = ["stdout", "stderr", "both"];
875
- function normalizeStatus(value) {
876
- if (value === void 0) {
877
- return void 0;
878
- }
879
- const normalized = value.trim().toLowerCase();
880
- if (BACKGROUND_STATUS_VALUES.includes(normalized)) {
881
- return normalized;
882
- }
883
- throw new PmCliError(`Invalid --status value "${value}"`, EXIT_CODE.USAGE);
884
- }
885
- function normalizeStream(value) {
886
- if (value === void 0 || value.trim().length === 0) {
887
- return "stderr";
888
- }
889
- const normalized = value.trim().toLowerCase();
890
- if (BACKGROUND_STREAM_VALUES.includes(normalized)) {
891
- return normalized;
892
- }
893
- throw new PmCliError(`Invalid --stream value "${value}"`, EXIT_CODE.USAGE);
894
- }
895
- function resolveWhoamiFallback() {
896
- try {
897
- const username = os.userInfo().username.trim();
898
- if (username.length > 0) {
899
- return username;
900
- }
901
- } catch {
902
- }
903
- return void 0;
904
- }
905
- function resolveRequestedBy(author, fallback) {
906
- const candidates = [
907
- author,
908
- process.env.PM_AUTHOR,
909
- fallback,
910
- process.env.USER,
911
- process.env.LOGNAME,
912
- process.env.USERNAME,
913
- resolveWhoamiFallback()
914
- ];
915
- for (const candidate of candidates) {
916
- if (typeof candidate !== "string") {
917
- continue;
918
- }
919
- const trimmed = candidate.trim();
920
- if (trimmed.length > 0) {
921
- return trimmed;
922
- }
923
- }
924
- return "unknown";
925
- }
926
- async function ensureInitialized(pmRoot) {
927
- if (!await pathExists(getSettingsPath(pmRoot))) {
928
- throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);
929
- }
930
- }
931
- async function runStartBackgroundRun(options, global2) {
932
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
933
- const globalPmRoot = resolveGlobalPmRoot(process.cwd());
934
- await ensureInitialized(pmRoot);
935
- const settings = await readSettings(pmRoot);
936
- const requestedBy = resolveRequestedBy(options.author, settings.author_default);
937
- const started = await startBackgroundTestRun({
938
- pmRoot,
939
- globalPmRoot,
940
- kind: options.kind,
941
- commandArgs: options.commandArgs,
942
- requestedBy,
943
- targetId: options.targetId,
944
- statusFilter: options.statusFilter
945
- });
946
- if (!started.started) {
947
- return {
948
- started: false,
949
- duplicate_of: started.duplicate_of,
950
- run: started.run
951
- };
952
- }
953
- const spawned = await spawnBackgroundTestRunWorker({
954
- pmRoot,
955
- runId: started.run.id,
956
- noExtensions: options.noExtensions === true
957
- });
958
- return {
959
- started: true,
960
- run: spawned
961
- };
962
- }
963
- async function runTestRunsList(options, global2) {
964
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
965
- await ensureInitialized(pmRoot);
966
- const status = normalizeStatus(options.status);
967
- const limit = parseLimit(options.limit, "limit");
968
- const runs = await listBackgroundTestRuns(pmRoot, { status, limit });
969
- return {
970
- runs,
971
- count: runs.length,
972
- filters: {
973
- status,
974
- limit
975
- }
976
- };
977
- }
978
- async function runTestRunsStatus(runId, global2) {
979
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
980
- await ensureInitialized(pmRoot);
981
- const status = await getBackgroundTestRunStatus(pmRoot, runId);
982
- return {
983
- run: status.run,
984
- health: status.health
985
- };
986
- }
987
- async function runTestRunsLogs(runId, options, global2) {
988
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
989
- await ensureInitialized(pmRoot);
990
- const stream = normalizeStream(options.stream);
991
- const tail = parseLimit(options.tail, "tail");
992
- const logs = await readBackgroundTestRunLogs(pmRoot, runId, stream, tail);
993
- return {
994
- run: logs.run,
995
- stream: logs.stream,
996
- tail: logs.tail,
997
- stdout: logs.stdout,
998
- stderr: logs.stderr
999
- };
1000
- }
1001
- async function runTestRunsStop(runId, options, global2) {
1002
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1003
- await ensureInitialized(pmRoot);
1004
- const stopped = await stopBackgroundTestRun(pmRoot, runId, options.force === true);
1005
- return {
1006
- run: stopped.run,
1007
- signal_sent: stopped.signal_sent
1008
- };
1009
- }
1010
- async function runTestRunsResume(runId, options, global2) {
1011
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1012
- await ensureInitialized(pmRoot);
1013
- const settings = await readSettings(pmRoot);
1014
- const requestedBy = resolveRequestedBy(options.author, settings.author_default);
1015
- const resumed = await resumeBackgroundTestRun(pmRoot, runId, requestedBy, options.noExtensions === true);
1016
- return {
1017
- resumed_from: runId,
1018
- run: resumed
1019
- };
1020
- }
1021
- async function runTestRunsWorker(runId, global2) {
1022
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1023
- await ensureInitialized(pmRoot);
1024
- const finished = await runBackgroundTestRunWorker(pmRoot, runId, global2.noExtensions === true);
1025
- return {
1026
- id: finished.id,
1027
- status: finished.status,
1028
- exit_code: finished.exit_code
1029
- };
1030
- }
1031
-
1032
- export {
1033
- runStartBackgroundRun,
1034
- runTestRunsList,
1035
- runTestRunsStatus,
1036
- runTestRunsLogs,
1037
- runTestRunsStop,
1038
- runTestRunsResume,
1039
- runTestRunsWorker
1040
- };
1041
- //# sourceMappingURL=chunk-SPZ6DOGY.js.map