@unbrained/pm-cli 2026.7.1 → 2026.7.3

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 (625) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/CHANGELOG.md +25 -0
  3. package/CONTRIBUTING.md +2 -2
  4. package/README.md +1 -1
  5. package/dist/cli/commander-usage.d.ts +2 -0
  6. package/dist/cli/commander-usage.js +110 -86
  7. package/dist/cli/commander-usage.js.map +1 -1
  8. package/dist/cli/commands/activity.js +79 -57
  9. package/dist/cli/commands/activity.js.map +1 -1
  10. package/dist/cli/commands/aggregate.js +102 -79
  11. package/dist/cli/commands/aggregate.js.map +1 -1
  12. package/dist/cli/commands/calendar.js +278 -243
  13. package/dist/cli/commands/calendar.js.map +1 -1
  14. package/dist/cli/commands/close-many.js +176 -114
  15. package/dist/cli/commands/close-many.js.map +1 -1
  16. package/dist/cli/commands/close.js +157 -129
  17. package/dist/cli/commands/close.js.map +1 -1
  18. package/dist/cli/commands/comments-audit.js +50 -42
  19. package/dist/cli/commands/comments-audit.js.map +1 -1
  20. package/dist/cli/commands/config.d.ts +2 -0
  21. package/dist/cli/commands/config.js +443 -879
  22. package/dist/cli/commands/config.js.map +1 -1
  23. package/dist/cli/commands/context.js +365 -287
  24. package/dist/cli/commands/context.js.map +1 -1
  25. package/dist/cli/commands/contracts.js +352 -238
  26. package/dist/cli/commands/contracts.js.map +1 -1
  27. package/dist/cli/commands/create.js +32 -17
  28. package/dist/cli/commands/create.js.map +1 -1
  29. package/dist/cli/commands/dedupe-audit.js +46 -39
  30. package/dist/cli/commands/dedupe-audit.js.map +1 -1
  31. package/dist/cli/commands/dedupe-merge.js +88 -69
  32. package/dist/cli/commands/dedupe-merge.js.map +1 -1
  33. package/dist/cli/commands/extension/doctor.js +56 -67
  34. package/dist/cli/commands/extension/doctor.js.map +1 -1
  35. package/dist/cli/commands/extension/shared.js +21 -15
  36. package/dist/cli/commands/extension/shared.js.map +1 -1
  37. package/dist/cli/commands/get.js +114 -81
  38. package/dist/cli/commands/get.js.map +1 -1
  39. package/dist/cli/commands/health.d.ts +17 -0
  40. package/dist/cli/commands/health.js +545 -417
  41. package/dist/cli/commands/health.js.map +1 -1
  42. package/dist/cli/commands/history-compact.js +209 -140
  43. package/dist/cli/commands/history-compact.js.map +1 -1
  44. package/dist/cli/commands/history-redact.js +162 -119
  45. package/dist/cli/commands/history-redact.js.map +1 -1
  46. package/dist/cli/commands/history-repair.js +120 -85
  47. package/dist/cli/commands/history-repair.js.map +1 -1
  48. package/dist/cli/commands/init-agent-guidance.js +32 -19
  49. package/dist/cli/commands/init-agent-guidance.js.map +1 -1
  50. package/dist/cli/commands/init.d.ts +8 -2
  51. package/dist/cli/commands/init.js +263 -162
  52. package/dist/cli/commands/init.js.map +1 -1
  53. package/dist/cli/commands/list.js +152 -102
  54. package/dist/cli/commands/list.js.map +1 -1
  55. package/dist/cli/commands/next.js +60 -40
  56. package/dist/cli/commands/next.js.map +1 -1
  57. package/dist/cli/commands/plan.js +373 -298
  58. package/dist/cli/commands/plan.js.map +1 -1
  59. package/dist/cli/commands/profile.js +23 -15
  60. package/dist/cli/commands/profile.js.map +1 -1
  61. package/dist/cli/commands/recurrence-parsers.js +43 -25
  62. package/dist/cli/commands/recurrence-parsers.js.map +1 -1
  63. package/dist/cli/commands/reindex.d.ts +21 -5
  64. package/dist/cli/commands/reindex.js +345 -205
  65. package/dist/cli/commands/reindex.js.map +1 -1
  66. package/dist/cli/commands/restore.d.ts +8 -7
  67. package/dist/cli/commands/restore.js +105 -69
  68. package/dist/cli/commands/restore.js.map +1 -1
  69. package/dist/cli/commands/schema.js +33 -30
  70. package/dist/cli/commands/schema.js.map +1 -1
  71. package/dist/cli/commands/search.d.ts +10 -2
  72. package/dist/cli/commands/search.js +503 -470
  73. package/dist/cli/commands/search.js.map +1 -1
  74. package/dist/cli/commands/telemetry.js +98 -87
  75. package/dist/cli/commands/telemetry.js.map +1 -1
  76. package/dist/cli/commands/test-all.js +237 -168
  77. package/dist/cli/commands/test-all.js.map +1 -1
  78. package/dist/cli/commands/test.d.ts +6 -5
  79. package/dist/cli/commands/test.js +424 -344
  80. package/dist/cli/commands/test.js.map +1 -1
  81. package/dist/cli/commands/update-many.js +57 -42
  82. package/dist/cli/commands/update-many.js.map +1 -1
  83. package/dist/cli/commands/update.d.ts +1 -1
  84. package/dist/cli/commands/update.js +738 -671
  85. package/dist/cli/commands/update.js.map +1 -1
  86. package/dist/cli/commands/validate.d.ts +20 -1
  87. package/dist/cli/commands/validate.js +478 -343
  88. package/dist/cli/commands/validate.js.map +1 -1
  89. package/dist/cli/error-guidance.js +406 -361
  90. package/dist/cli/error-guidance.js.map +1 -1
  91. package/dist/cli/extension-command-help.js +27 -19
  92. package/dist/cli/extension-command-help.js.map +1 -1
  93. package/dist/cli/help-json-payload.js +57 -49
  94. package/dist/cli/help-json-payload.js.map +1 -1
  95. package/dist/cli/main.d.ts +47 -0
  96. package/dist/cli/main.js +474 -371
  97. package/dist/cli/main.js.map +1 -1
  98. package/dist/cli/migration-gates.js +22 -45
  99. package/dist/cli/migration-gates.js.map +1 -1
  100. package/dist/cli/register-list-query.js +299 -310
  101. package/dist/cli/register-list-query.js.map +1 -1
  102. package/dist/cli/register-mutation.js +763 -779
  103. package/dist/cli/register-mutation.js.map +1 -1
  104. package/dist/cli/register-operations.js +386 -362
  105. package/dist/cli/register-operations.js.map +1 -1
  106. package/dist/cli/register-setup.js +120 -101
  107. package/dist/cli/register-setup.js.map +1 -1
  108. package/dist/cli/registration-helpers.d.ts +4 -0
  109. package/dist/cli/registration-helpers.js +45 -56
  110. package/dist/cli/registration-helpers.js.map +1 -1
  111. package/dist/cli-bundle/chunks/{activity-DBLQVIP6.js → activity-5YWLSPGE.js} +9 -9
  112. package/dist/cli-bundle/chunks/activity-BIML7K2D.js +16 -0
  113. package/dist/cli-bundle/chunks/{aggregate-SDF7DUOD.js → aggregate-2V2M3JZU.js} +107 -83
  114. package/dist/cli-bundle/chunks/{aggregate-SDF7DUOD.js.map → aggregate-2V2M3JZU.js.map} +2 -2
  115. package/dist/cli-bundle/chunks/{aggregate-JTEF4BP7.js → aggregate-EK7DXML7.js} +108 -84
  116. package/dist/cli-bundle/chunks/aggregate-EK7DXML7.js.map +1 -0
  117. package/dist/cli-bundle/chunks/{append-LOVPGVPT.js → append-EZESUVJT.js} +8 -8
  118. package/dist/cli-bundle/chunks/{append-QCFJSDFL.js → append-JFG4WQMG.js} +8 -8
  119. package/dist/cli-bundle/chunks/{chunk-TP5Q5ZD3.js → chunk-32IUNTG4.js} +158 -119
  120. package/dist/cli-bundle/chunks/chunk-32IUNTG4.js.map +1 -0
  121. package/dist/cli-bundle/chunks/{chunk-BHO33VBQ.js → chunk-3W2HJKJX.js} +3 -3
  122. package/dist/cli-bundle/chunks/{chunk-VARHOHYV.js → chunk-4EXFFP7T.js} +86 -52
  123. package/dist/cli-bundle/chunks/chunk-4EXFFP7T.js.map +7 -0
  124. package/dist/cli-bundle/chunks/{chunk-4DUVCVLZ.js → chunk-4PFVUUYV.js} +2 -2
  125. package/dist/cli-bundle/chunks/{chunk-JSU5P7VS.js → chunk-4WB6S4YX.js} +308 -184
  126. package/dist/cli-bundle/chunks/chunk-4WB6S4YX.js.map +1 -0
  127. package/dist/cli-bundle/chunks/{chunk-HXTQJXWT.js → chunk-572FKBRL.js} +61 -102
  128. package/dist/cli-bundle/chunks/chunk-572FKBRL.js.map +1 -0
  129. package/dist/cli-bundle/chunks/{chunk-IJYK2T43.js → chunk-5E7N4T2Z.js} +2 -2
  130. package/dist/cli-bundle/chunks/{chunk-NKZAN7BD.js → chunk-5IZUBZBR.js} +3 -3
  131. package/dist/cli-bundle/chunks/{chunk-NOLPZMSV.js → chunk-5JIWFWOZ.js} +2 -2
  132. package/dist/cli-bundle/chunks/{chunk-FFMQB7WR.js → chunk-67LARBDL.js} +493 -404
  133. package/dist/cli-bundle/chunks/chunk-67LARBDL.js.map +1 -0
  134. package/dist/cli-bundle/chunks/{chunk-6AQZPVHQ.js → chunk-6CDCWKSX.js} +4 -4
  135. package/dist/cli-bundle/chunks/{chunk-3K2M5OYU.js → chunk-6KRFL33E.js} +308 -184
  136. package/dist/cli-bundle/chunks/chunk-6KRFL33E.js.map +7 -0
  137. package/dist/cli-bundle/chunks/{chunk-LB6TP6MC.js → chunk-6NYJGMTY.js} +2 -2
  138. package/dist/cli-bundle/chunks/{chunk-SLMUGTK3.js → chunk-7CLLC75T.js} +4 -4
  139. package/dist/cli-bundle/chunks/{chunk-2466X6E4.js → chunk-7LYO6S5A.js} +8 -8
  140. package/dist/cli-bundle/chunks/{chunk-W4ULYO7Z.js → chunk-A3OQ7TFW.js} +8 -8
  141. package/dist/cli-bundle/chunks/{chunk-5CGRF3L5.js → chunk-AIKU3IIL.js} +153 -90
  142. package/dist/cli-bundle/chunks/chunk-AIKU3IIL.js.map +1 -0
  143. package/dist/cli-bundle/chunks/{chunk-WYDHYJPO.js → chunk-AJHYQCBJ.js} +39 -5
  144. package/dist/cli-bundle/chunks/chunk-AJHYQCBJ.js.map +7 -0
  145. package/dist/cli-bundle/chunks/{chunk-VZDBVEZR.js → chunk-B4O5S7I3.js} +79 -57
  146. package/dist/cli-bundle/chunks/{chunk-VZDBVEZR.js.map → chunk-B4O5S7I3.js.map} +2 -2
  147. package/dist/cli-bundle/chunks/{chunk-OTUHB4HS.js → chunk-BE2SR6QL.js} +92 -77
  148. package/dist/cli-bundle/chunks/chunk-BE2SR6QL.js.map +1 -0
  149. package/dist/cli-bundle/chunks/{chunk-JLM7BHI7.js → chunk-BI4R7HI2.js} +75 -53
  150. package/dist/cli-bundle/chunks/chunk-BI4R7HI2.js.map +7 -0
  151. package/dist/cli-bundle/chunks/{chunk-AXIDKKAT.js → chunk-CXR3CMBQ.js} +33 -6
  152. package/dist/cli-bundle/chunks/chunk-CXR3CMBQ.js.map +1 -0
  153. package/dist/cli-bundle/chunks/{chunk-ZETXE4SE.js → chunk-ECU6MMTQ.js} +713 -613
  154. package/dist/cli-bundle/chunks/chunk-ECU6MMTQ.js.map +1 -0
  155. package/dist/cli-bundle/chunks/{chunk-2D4HATP2.js → chunk-EJ2OCBHF.js} +54 -30
  156. package/dist/cli-bundle/chunks/chunk-EJ2OCBHF.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{chunk-BDTISOSD.js → chunk-EQURFOMH.js} +41 -26
  158. package/dist/cli-bundle/chunks/chunk-EQURFOMH.js.map +7 -0
  159. package/dist/cli-bundle/chunks/{chunk-GJ326ZKX.js → chunk-ER4ME5U2.js} +3 -3
  160. package/dist/cli-bundle/chunks/{chunk-HZZEHPRG.js → chunk-ERG65A2L.js} +2 -2
  161. package/dist/cli-bundle/chunks/{chunk-IZBR4NRW.js → chunk-F6WNBITZ.js} +157 -113
  162. package/dist/cli-bundle/chunks/chunk-F6WNBITZ.js.map +7 -0
  163. package/dist/cli-bundle/chunks/{chunk-L5OEFZQG.js → chunk-FH2H3CBD.js} +3 -3
  164. package/dist/cli-bundle/chunks/{chunk-JPECA746.js → chunk-FUFFPIYA.js} +2 -2
  165. package/dist/cli-bundle/chunks/{chunk-CF7RL6FR.js → chunk-FZJM2TXF.js} +110 -73
  166. package/dist/cli-bundle/chunks/chunk-FZJM2TXF.js.map +1 -0
  167. package/dist/cli-bundle/chunks/{chunk-27BXPBAY.js → chunk-GUYNUXQT.js} +3 -3
  168. package/dist/cli-bundle/chunks/{chunk-MAUKX7JC.js → chunk-GVJE5T7Q.js} +2 -2
  169. package/dist/cli-bundle/chunks/{chunk-3J6JRJ3I.js → chunk-HB4FAT3O.js} +42 -60
  170. package/dist/cli-bundle/chunks/chunk-HB4FAT3O.js.map +7 -0
  171. package/dist/cli-bundle/chunks/{chunk-55SNVXRQ.js → chunk-HQAF23Q2.js} +626 -484
  172. package/dist/cli-bundle/chunks/chunk-HQAF23Q2.js.map +7 -0
  173. package/dist/cli-bundle/chunks/{chunk-ZRP4VG5U.js → chunk-JBZ2NTKX.js} +2 -2
  174. package/dist/cli-bundle/chunks/{chunk-RMMQ74TG.js → chunk-JPATY4SE.js} +54 -30
  175. package/dist/cli-bundle/chunks/chunk-JPATY4SE.js.map +7 -0
  176. package/dist/cli-bundle/chunks/{chunk-IPYBJWTE.js → chunk-K5DT2YKM.js} +109 -72
  177. package/dist/cli-bundle/chunks/chunk-K5DT2YKM.js.map +7 -0
  178. package/dist/cli-bundle/chunks/{chunk-EJUDVUYZ.js → chunk-KEZOIPCR.js} +3 -3
  179. package/dist/cli-bundle/chunks/{chunk-RVUALSJF.js → chunk-KHVGM5CS.js} +466 -365
  180. package/dist/cli-bundle/chunks/chunk-KHVGM5CS.js.map +7 -0
  181. package/dist/cli-bundle/chunks/{chunk-YITK2PJ6.js → chunk-KS6ATO47.js} +288 -175
  182. package/dist/cli-bundle/chunks/chunk-KS6ATO47.js.map +7 -0
  183. package/dist/cli-bundle/chunks/{chunk-7R4QEMZZ.js → chunk-L4SLHV6G.js} +463 -362
  184. package/dist/cli-bundle/chunks/chunk-L4SLHV6G.js.map +1 -0
  185. package/dist/cli-bundle/chunks/{chunk-RLDHZHQS.js → chunk-LBE5QFMZ.js} +158 -114
  186. package/dist/cli-bundle/chunks/chunk-LBE5QFMZ.js.map +1 -0
  187. package/dist/cli-bundle/chunks/{chunk-22WKIL3H.js → chunk-LCWQP6NM.js} +76 -54
  188. package/dist/cli-bundle/chunks/chunk-LCWQP6NM.js.map +1 -0
  189. package/dist/cli-bundle/chunks/{chunk-KNPEF7QG.js → chunk-LOWVNZBZ.js} +91 -76
  190. package/dist/cli-bundle/chunks/chunk-LOWVNZBZ.js.map +7 -0
  191. package/dist/cli-bundle/chunks/{chunk-HYTGA6GI.js → chunk-MDHWWBNZ.js} +3 -3
  192. package/dist/cli-bundle/chunks/{chunk-N74UMG5H.js → chunk-MEZZZBYX.js} +2 -2
  193. package/dist/cli-bundle/chunks/{chunk-V3NOKJF2.js → chunk-MHRS5FUX.js} +288 -175
  194. package/dist/cli-bundle/chunks/chunk-MHRS5FUX.js.map +1 -0
  195. package/dist/cli-bundle/chunks/{chunk-3XZCOZ5J.js → chunk-NOIEVOK5.js} +391 -313
  196. package/dist/cli-bundle/chunks/chunk-NOIEVOK5.js.map +1 -0
  197. package/dist/cli-bundle/chunks/{chunk-SDR5J34Q.js → chunk-NZ7QIUP5.js} +4 -4
  198. package/dist/cli-bundle/chunks/{chunk-UYUYDGIB.js → chunk-OGLGI22K.js} +115 -67
  199. package/dist/cli-bundle/chunks/{chunk-UYUYDGIB.js.map → chunk-OGLGI22K.js.map} +1 -1
  200. package/dist/cli-bundle/chunks/{chunk-DDPTYJIM.js → chunk-P5L7Z2O6.js} +2 -2
  201. package/dist/cli-bundle/chunks/{chunk-BZCEN4JA.js → chunk-PULUSQAV.js} +492 -403
  202. package/dist/cli-bundle/chunks/chunk-PULUSQAV.js.map +7 -0
  203. package/dist/cli-bundle/chunks/{chunk-3VGN2UWE.js → chunk-QCDTQCMW.js} +22 -30
  204. package/dist/cli-bundle/chunks/chunk-QCDTQCMW.js.map +1 -0
  205. package/dist/cli-bundle/chunks/{chunk-4A3BJ675.js → chunk-QNNQAAZ5.js} +24 -18
  206. package/dist/cli-bundle/chunks/{chunk-4A3BJ675.js.map → chunk-QNNQAAZ5.js.map} +1 -1
  207. package/dist/cli-bundle/chunks/{chunk-MDPEOIGN.js → chunk-RAHINBVP.js} +60 -101
  208. package/dist/cli-bundle/chunks/chunk-RAHINBVP.js.map +7 -0
  209. package/dist/cli-bundle/chunks/{chunk-CWFNTKQJ.js → chunk-RJH5VQHW.js} +43 -61
  210. package/dist/cli-bundle/chunks/chunk-RJH5VQHW.js.map +1 -0
  211. package/dist/cli-bundle/chunks/{chunk-OGXLACHC.js → chunk-SU2E4AWU.js} +6 -6
  212. package/dist/cli-bundle/chunks/{chunk-HPPFYYOV.js → chunk-SU3TB4NS.js} +2 -2
  213. package/dist/cli-bundle/chunks/{chunk-JWXRETDF.js → chunk-SYE6WMV6.js} +626 -484
  214. package/dist/cli-bundle/chunks/chunk-SYE6WMV6.js.map +1 -0
  215. package/dist/cli-bundle/chunks/{chunk-NWMZWYYB.js → chunk-T3P7PMZP.js} +42 -27
  216. package/dist/cli-bundle/chunks/chunk-T3P7PMZP.js.map +1 -0
  217. package/dist/cli-bundle/chunks/{chunk-G7I7DEZA.js → chunk-T4XBKJ3F.js} +4 -4
  218. package/dist/cli-bundle/chunks/{chunk-RH5ZBYFD.js → chunk-T6AXEBOP.js} +23 -17
  219. package/dist/cli-bundle/chunks/{chunk-RH5ZBYFD.js.map → chunk-T6AXEBOP.js.map} +2 -2
  220. package/dist/cli-bundle/chunks/{chunk-5QFDBI4F.js → chunk-TQ6AX5SQ.js} +58 -69
  221. package/dist/cli-bundle/chunks/{chunk-5QFDBI4F.js.map → chunk-TQ6AX5SQ.js.map} +2 -2
  222. package/dist/cli-bundle/chunks/{chunk-4XOIEKSD.js → chunk-U3S2B7TA.js} +86 -52
  223. package/dist/cli-bundle/chunks/chunk-U3S2B7TA.js.map +1 -0
  224. package/dist/cli-bundle/chunks/{chunk-VICZWYGZ.js → chunk-U5TR4N7J.js} +7 -7
  225. package/dist/cli-bundle/chunks/{chunk-EVMTBV6V.js → chunk-UMNQZS4H.js} +3 -3
  226. package/dist/cli-bundle/chunks/{chunk-A7FPBAQS.js → chunk-WJA3PXW7.js} +7 -7
  227. package/dist/cli-bundle/chunks/{chunk-RGEMWD6Q.js → chunk-WRYERRZX.js} +157 -118
  228. package/dist/cli-bundle/chunks/chunk-WRYERRZX.js.map +7 -0
  229. package/dist/cli-bundle/chunks/{chunk-NUHHPVVS.js → chunk-WYOIIFSE.js} +712 -612
  230. package/dist/cli-bundle/chunks/chunk-WYOIIFSE.js.map +7 -0
  231. package/dist/cli-bundle/chunks/{chunk-4DSGXSBL.js → chunk-XRYSCRZR.js} +116 -68
  232. package/dist/cli-bundle/chunks/{chunk-4DSGXSBL.js.map → chunk-XRYSCRZR.js.map} +3 -3
  233. package/dist/cli-bundle/chunks/{chunk-NU2UEROZ.js → chunk-YF746GTH.js} +59 -70
  234. package/dist/cli-bundle/chunks/{chunk-NU2UEROZ.js.map → chunk-YF746GTH.js.map} +1 -1
  235. package/dist/cli-bundle/chunks/{chunk-JMP4E6D7.js → chunk-YPWUSH72.js} +390 -312
  236. package/dist/cli-bundle/chunks/{chunk-JMP4E6D7.js.map → chunk-YPWUSH72.js.map} +2 -2
  237. package/dist/cli-bundle/chunks/{chunk-QCWF6IYD.js → chunk-YSDFIY7N.js} +3 -3
  238. package/dist/cli-bundle/chunks/{chunk-UZIWVBE6.js → chunk-YSGTMDWC.js} +2 -2
  239. package/dist/cli-bundle/chunks/{chunk-NFDPYAIP.js → chunk-YVKZ3ANP.js} +21 -29
  240. package/dist/cli-bundle/chunks/chunk-YVKZ3ANP.js.map +7 -0
  241. package/dist/cli-bundle/chunks/{chunk-OKQ22KTH.js → chunk-Z4DGFQDH.js} +80 -58
  242. package/dist/cli-bundle/chunks/{chunk-OKQ22KTH.js.map → chunk-Z4DGFQDH.js.map} +1 -1
  243. package/dist/cli-bundle/chunks/{chunk-64HNBBFQ.js → chunk-Z5F6XZXE.js} +6 -6
  244. package/dist/cli-bundle/chunks/{chunk-AVEE5EHK.js → chunk-Z7RPDF2Y.js} +3 -3
  245. package/dist/cli-bundle/chunks/{chunk-3S2KT7NG.js → chunk-ZFTKYWIF.js} +152 -89
  246. package/dist/cli-bundle/chunks/chunk-ZFTKYWIF.js.map +7 -0
  247. package/dist/cli-bundle/chunks/{claim-T3GCKV7C.js → claim-2BGBGSVI.js} +8 -8
  248. package/dist/cli-bundle/chunks/{claim-EMQLYPRW.js → claim-5GU7OE67.js} +8 -8
  249. package/dist/cli-bundle/chunks/close-6YODBUIV.js +14 -0
  250. package/dist/cli-bundle/chunks/{close-TQYAAFJP.js → close-AFVKPR57.js} +7 -7
  251. package/dist/cli-bundle/chunks/{close-many-BG5QQIDQ.js → close-many-7KLOSYLP.js} +186 -122
  252. package/dist/cli-bundle/chunks/close-many-7KLOSYLP.js.map +7 -0
  253. package/dist/cli-bundle/chunks/{close-many-LDRVEQY2.js → close-many-JKUJMHLG.js} +187 -123
  254. package/dist/cli-bundle/chunks/close-many-JKUJMHLG.js.map +1 -0
  255. package/dist/cli-bundle/chunks/{comments-YUXJRZPQ.js → comments-DNWHEBOS.js} +9 -9
  256. package/dist/cli-bundle/chunks/{comments-QCKR2YY2.js → comments-RW23R3VE.js} +9 -9
  257. package/dist/cli-bundle/chunks/config-AUM5WBYA.js +1072 -0
  258. package/dist/cli-bundle/chunks/config-AUM5WBYA.js.map +7 -0
  259. package/dist/cli-bundle/chunks/config-OZWSA2NP.js +1062 -0
  260. package/dist/cli-bundle/chunks/config-OZWSA2NP.js.map +1 -0
  261. package/dist/cli-bundle/chunks/{context-B6275WPX.js → context-OYXRGY7S.js} +12 -12
  262. package/dist/cli-bundle/chunks/{context-OCZ3FJ4Z.js → context-PKCEHQY3.js} +12 -12
  263. package/dist/cli-bundle/chunks/{contracts-HN7ABKLP.js → contracts-L6ODXNUM.js} +320 -199
  264. package/dist/cli-bundle/chunks/contracts-L6ODXNUM.js.map +7 -0
  265. package/dist/cli-bundle/chunks/{contracts-W4FZVVD6.js → contracts-X74F2GSM.js} +321 -200
  266. package/dist/cli-bundle/chunks/contracts-X74F2GSM.js.map +1 -0
  267. package/dist/cli-bundle/chunks/{copy-DEM4DATS.js → copy-6XOR3HKN.js} +5 -5
  268. package/dist/cli-bundle/chunks/{copy-BTJOSKKT.js → copy-I4NCLBR4.js} +5 -5
  269. package/dist/cli-bundle/chunks/{create-RLRJMRTM.js → create-PM45M6PE.js} +12 -12
  270. package/dist/cli-bundle/chunks/create-Z7YCH3BE.js +28 -0
  271. package/dist/cli-bundle/chunks/{delete-BHK7VB2Z.js → delete-7YXHYG67.js} +5 -5
  272. package/dist/cli-bundle/chunks/{delete-LSVHAB4Y.js → delete-LPISP43T.js} +5 -5
  273. package/dist/cli-bundle/chunks/{deps-XHYXWEPT.js → deps-N2T26FME.js} +5 -5
  274. package/dist/cli-bundle/chunks/{deps-4UDFJRUA.js → deps-WATKQDE3.js} +5 -5
  275. package/dist/cli-bundle/chunks/{docs-GYZNVS26.js → docs-6LQ3GLM7.js} +7 -7
  276. package/dist/cli-bundle/chunks/{docs-26S44RXU.js → docs-Z3X6JZLT.js} +7 -7
  277. package/dist/cli-bundle/chunks/{eval-UYF3ZPVO.js → eval-6DCLG52D.js} +10 -10
  278. package/dist/cli-bundle/chunks/{eval-PGRVIJQU.js → eval-Y3ZCUTHK.js} +10 -10
  279. package/dist/cli-bundle/chunks/{extension-CPSLJQVE.js → extension-BNINIMT7.js} +11 -11
  280. package/dist/cli-bundle/chunks/{extension-CXJ6RELI.js → extension-QWE4YYK5.js} +11 -11
  281. package/dist/cli-bundle/chunks/{files-NQHEXUZD.js → files-6SGKHS6O.js} +7 -7
  282. package/dist/cli-bundle/chunks/{files-MBNICQFM.js → files-FUYPSOFJ.js} +7 -7
  283. package/dist/cli-bundle/chunks/{focus-DWYIG7GU.js → focus-2Q3K76G2.js} +6 -6
  284. package/dist/cli-bundle/chunks/{focus-XZW5423D.js → focus-ATLBWXXD.js} +6 -6
  285. package/dist/cli-bundle/chunks/{gc-LPVMKJQJ.js → gc-RUYEMNRF.js} +3 -3
  286. package/dist/cli-bundle/chunks/{gc-7GQYOS2G.js → gc-TDWSDR66.js} +3 -3
  287. package/dist/cli-bundle/chunks/{get-A7MAOHCU.js → get-2WGLX74N.js} +120 -80
  288. package/dist/cli-bundle/chunks/get-2WGLX74N.js.map +7 -0
  289. package/dist/cli-bundle/chunks/{get-DSDEKJ3L.js → get-LY6M2JIM.js} +121 -81
  290. package/dist/cli-bundle/chunks/get-LY6M2JIM.js.map +1 -0
  291. package/dist/cli-bundle/chunks/{health-3IPFLKXB.js → health-4RKHYS3T.js} +535 -371
  292. package/dist/cli-bundle/chunks/health-4RKHYS3T.js.map +1 -0
  293. package/dist/cli-bundle/chunks/{health-GZXGBZ36.js → health-TMFVNYRA.js} +534 -370
  294. package/dist/cli-bundle/chunks/health-TMFVNYRA.js.map +7 -0
  295. package/dist/cli-bundle/chunks/history-CGNQJXFE.js +18 -0
  296. package/dist/cli-bundle/chunks/{history-NERDJNUB.js → history-SGRRS72R.js} +8 -8
  297. package/dist/cli-bundle/chunks/{history-compact-2WRZ2WK4.js → history-compact-LOED43R3.js} +213 -134
  298. package/dist/cli-bundle/chunks/history-compact-LOED43R3.js.map +7 -0
  299. package/dist/cli-bundle/chunks/{history-compact-HR7BB4LR.js → history-compact-V5DNAQHH.js} +214 -135
  300. package/dist/cli-bundle/chunks/history-compact-V5DNAQHH.js.map +1 -0
  301. package/dist/cli-bundle/chunks/{history-redact-O3NBCNWC.js → history-redact-IRL7WJ3E.js} +9 -9
  302. package/dist/cli-bundle/chunks/history-redact-N3JK7VBW.js +19 -0
  303. package/dist/cli-bundle/chunks/{history-repair-XA3LC4GA.js → history-repair-4WVBVHFR.js} +124 -84
  304. package/dist/cli-bundle/chunks/history-repair-4WVBVHFR.js.map +1 -0
  305. package/dist/cli-bundle/chunks/{history-repair-LCMOS45X.js → history-repair-PGYQJMGD.js} +123 -83
  306. package/dist/cli-bundle/chunks/history-repair-PGYQJMGD.js.map +7 -0
  307. package/dist/cli-bundle/chunks/{init-64XDLQJB.js → init-4GESW7RM.js} +12 -12
  308. package/dist/cli-bundle/chunks/init-XIDPABA4.js +22 -0
  309. package/dist/cli-bundle/chunks/{learnings-LPKCSJX7.js → learnings-4BHWFFUV.js} +9 -9
  310. package/dist/cli-bundle/chunks/{learnings-JR6MA5TI.js → learnings-4FJY7WIW.js} +9 -9
  311. package/dist/cli-bundle/chunks/{list-G5Y65VF6.js → list-472TIOVK.js} +8 -8
  312. package/dist/cli-bundle/chunks/{list-DNBJVO3E.js → list-D7BF5CL2.js} +8 -8
  313. package/dist/cli-bundle/chunks/{next-FYTQF6HG.js → next-D5STGWI2.js} +71 -46
  314. package/dist/cli-bundle/chunks/next-D5STGWI2.js.map +1 -0
  315. package/dist/cli-bundle/chunks/{next-BCERKDUR.js → next-SFQZVX2B.js} +70 -45
  316. package/dist/cli-bundle/chunks/next-SFQZVX2B.js.map +7 -0
  317. package/dist/cli-bundle/chunks/{notes-2BMU3VVQ.js → notes-6KNOSLIT.js} +9 -9
  318. package/dist/cli-bundle/chunks/{notes-6KTGO2OJ.js → notes-W4UEICGF.js} +9 -9
  319. package/dist/cli-bundle/chunks/{plan-RKZHQVXR.js → plan-JO6V7BXO.js} +373 -279
  320. package/dist/cli-bundle/chunks/plan-JO6V7BXO.js.map +1 -0
  321. package/dist/cli-bundle/chunks/{plan-4WXEQCTN.js → plan-MJQW5XK3.js} +372 -278
  322. package/dist/cli-bundle/chunks/plan-MJQW5XK3.js.map +7 -0
  323. package/dist/cli-bundle/chunks/{profile-4OMM32CD.js → profile-3TOTMUR4.js} +27 -19
  324. package/dist/cli-bundle/chunks/profile-3TOTMUR4.js.map +7 -0
  325. package/dist/cli-bundle/chunks/{profile-QLER5ENE.js → profile-WIQY2KCV.js} +28 -20
  326. package/dist/cli-bundle/chunks/profile-WIQY2KCV.js.map +1 -0
  327. package/dist/cli-bundle/chunks/register-list-query-ELBHCCFI.js +416 -0
  328. package/dist/cli-bundle/chunks/register-list-query-ELBHCCFI.js.map +7 -0
  329. package/dist/cli-bundle/chunks/register-list-query-GAPQ6DM3.js +406 -0
  330. package/dist/cli-bundle/chunks/register-list-query-GAPQ6DM3.js.map +1 -0
  331. package/dist/cli-bundle/chunks/{register-mutation-KK7PHYYU.js → register-mutation-ROFE2YPC.js} +729 -702
  332. package/dist/cli-bundle/chunks/register-mutation-ROFE2YPC.js.map +7 -0
  333. package/dist/cli-bundle/chunks/{register-mutation-ENNDUAZG.js → register-mutation-SJWMVIJ2.js} +730 -703
  334. package/dist/cli-bundle/chunks/register-mutation-SJWMVIJ2.js.map +1 -0
  335. package/dist/cli-bundle/chunks/{register-operations-HZ6XERQG.js → register-operations-IADFVH53.js} +389 -365
  336. package/dist/cli-bundle/chunks/register-operations-IADFVH53.js.map +7 -0
  337. package/dist/cli-bundle/chunks/register-operations-MEKU3AKC.js +510 -0
  338. package/dist/cli-bundle/chunks/register-operations-MEKU3AKC.js.map +1 -0
  339. package/dist/cli-bundle/chunks/{register-setup-ZKJ53RS7.js → register-setup-3QJY43CY.js} +128 -103
  340. package/dist/cli-bundle/chunks/register-setup-3QJY43CY.js.map +7 -0
  341. package/dist/cli-bundle/chunks/{register-setup-P67EMBDJ.js → register-setup-AJWUSSQX.js} +129 -104
  342. package/dist/cli-bundle/chunks/register-setup-AJWUSSQX.js.map +1 -0
  343. package/dist/cli-bundle/chunks/{restore-4MHZFJ2E.js → restore-44IHMMZZ.js} +9 -9
  344. package/dist/cli-bundle/chunks/restore-EXHU34EU.js +17 -0
  345. package/dist/cli-bundle/chunks/{scheduling-shortcuts-LB6DOLRL.js → scheduling-shortcuts-OLHNLAZY.js} +12 -12
  346. package/dist/cli-bundle/chunks/{scheduling-shortcuts-UTOYKLXQ.js → scheduling-shortcuts-TSBK4AY5.js} +12 -12
  347. package/dist/cli-bundle/chunks/{schema-73HR2OJW.js → schema-IB2NZZWD.js} +7 -7
  348. package/dist/cli-bundle/chunks/{schema-U6LJKSIR.js → schema-VBCELP5G.js} +7 -7
  349. package/dist/cli-bundle/chunks/{search-AXPXKZER.js → search-7UBETML4.js} +10 -10
  350. package/dist/cli-bundle/chunks/{search-KILGT37L.js → search-R227JOL6.js} +10 -10
  351. package/dist/cli-bundle/chunks/{stats-W5KNVJWQ.js → stats-FAG7COEH.js} +6 -6
  352. package/dist/cli-bundle/chunks/{stats-PSYVVTNZ.js → stats-MCK7PLYS.js} +6 -6
  353. package/dist/cli-bundle/chunks/{telemetry-GAHHQTOS.js → telemetry-DRPDZMAO.js} +84 -70
  354. package/dist/cli-bundle/chunks/telemetry-DRPDZMAO.js.map +7 -0
  355. package/dist/cli-bundle/chunks/{telemetry-BZUF6H7G.js → telemetry-GVVUQSJQ.js} +85 -71
  356. package/dist/cli-bundle/chunks/telemetry-GVVUQSJQ.js.map +1 -0
  357. package/dist/cli-bundle/chunks/{test-PWDIZ255.js → test-QY44WAMR.js} +15 -15
  358. package/dist/cli-bundle/chunks/{test-ACD52Z3S.js → test-SY76DZTO.js} +15 -15
  359. package/dist/cli-bundle/chunks/test-all-QD6QAEG7.js +430 -0
  360. package/dist/cli-bundle/chunks/test-all-QD6QAEG7.js.map +7 -0
  361. package/dist/cli-bundle/chunks/test-all-USPJHXFR.js +427 -0
  362. package/dist/cli-bundle/chunks/test-all-USPJHXFR.js.map +1 -0
  363. package/dist/cli-bundle/chunks/{test-runs-UXIXPDKU.js → test-runs-MG5VIGSK.js} +185 -147
  364. package/dist/cli-bundle/chunks/test-runs-MG5VIGSK.js.map +1 -0
  365. package/dist/cli-bundle/chunks/{test-runs-PLRAZEFW.js → test-runs-QIR5MJPL.js} +184 -146
  366. package/dist/cli-bundle/chunks/test-runs-QIR5MJPL.js.map +7 -0
  367. package/dist/cli-bundle/chunks/update-A7EICML6.js +24 -0
  368. package/dist/cli-bundle/chunks/{update-KFX2SIAC.js → update-IKJZWLQC.js} +15 -15
  369. package/dist/cli-bundle/chunks/{update-many-RNSBX2TA.js → update-many-BEMTDA2X.js} +84 -69
  370. package/dist/cli-bundle/chunks/{update-many-RNSBX2TA.js.map → update-many-BEMTDA2X.js.map} +1 -1
  371. package/dist/cli-bundle/chunks/{update-many-Z5GJS5LC.js → update-many-RATAARHU.js} +83 -68
  372. package/dist/cli-bundle/chunks/{update-many-Z5GJS5LC.js.map → update-many-RATAARHU.js.map} +2 -2
  373. package/dist/cli-bundle/chunks/{upgrade-BRL6KCOJ.js → upgrade-NWMR3VQL.js} +11 -11
  374. package/dist/cli-bundle/chunks/{upgrade-HAK6JG2O.js → upgrade-VU46BLJZ.js} +11 -11
  375. package/dist/cli-bundle/chunks/{validate-X5W76YJL.js → validate-GAJ6FUSI.js} +451 -321
  376. package/dist/cli-bundle/chunks/validate-GAJ6FUSI.js.map +1 -0
  377. package/dist/cli-bundle/chunks/{validate-MTUVL5VC.js → validate-NRY6MFXN.js} +450 -320
  378. package/dist/cli-bundle/chunks/validate-NRY6MFXN.js.map +7 -0
  379. package/dist/cli-bundle/main.js +1107 -916
  380. package/dist/cli-bundle/main.js.map +3 -3
  381. package/dist/core/config/nested-settings.js +89 -67
  382. package/dist/core/config/nested-settings.js.map +1 -1
  383. package/dist/core/governance/metadata-coverage.js +20 -28
  384. package/dist/core/governance/metadata-coverage.js.map +1 -1
  385. package/dist/core/history/drift-scan.js +93 -81
  386. package/dist/core/history/drift-scan.js.map +1 -1
  387. package/dist/core/item/item-type-definition.js +14 -14
  388. package/dist/core/item/item-type-definition.js.map +1 -1
  389. package/dist/core/item/type-registry.js +114 -99
  390. package/dist/core/item/type-registry.js.map +1 -1
  391. package/dist/core/output/mutation-projection.js +42 -26
  392. package/dist/core/output/mutation-projection.js.map +1 -1
  393. package/dist/core/schema/runtime-schema.js +97 -80
  394. package/dist/core/schema/runtime-schema.js.map +1 -1
  395. package/dist/core/schema/status-defs-file.js +26 -3
  396. package/dist/core/schema/status-defs-file.js.map +1 -1
  397. package/dist/core/search/corpus.js +25 -19
  398. package/dist/core/search/corpus.js.map +1 -1
  399. package/dist/core/search/semantic-defaults.js +64 -37
  400. package/dist/core/search/semantic-defaults.js.map +1 -1
  401. package/dist/core/search/vector-stores.js +32 -17
  402. package/dist/core/search/vector-stores.js.map +1 -1
  403. package/dist/core/sentry/helpers.js +31 -28
  404. package/dist/core/sentry/helpers.js.map +1 -1
  405. package/dist/core/sentry/instrument.js +54 -43
  406. package/dist/core/sentry/instrument.js.map +1 -1
  407. package/dist/core/shared/memo.d.ts +12 -0
  408. package/dist/core/shared/memo.js +25 -0
  409. package/dist/core/shared/memo.js.map +1 -0
  410. package/dist/core/shared/serialization.js +24 -14
  411. package/dist/core/shared/serialization.js.map +1 -1
  412. package/dist/core/shared/time.js +26 -4
  413. package/dist/core/shared/time.js.map +1 -1
  414. package/dist/core/store/front-matter-cache.d.ts +5 -0
  415. package/dist/core/store/front-matter-cache.js +316 -171
  416. package/dist/core/store/front-matter-cache.js.map +1 -1
  417. package/dist/core/store/item-store.js +33 -26
  418. package/dist/core/store/item-store.js.map +1 -1
  419. package/dist/core/store/settings.js +247 -203
  420. package/dist/core/store/settings.js.map +1 -1
  421. package/dist/core/test/background-runs.js +189 -160
  422. package/dist/core/test/background-runs.js.map +1 -1
  423. package/dist/sdk/cli-contracts/flag-contracts.js +71 -99
  424. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  425. package/dist/sdk/compose.js +51 -42
  426. package/dist/sdk/compose.js.map +1 -1
  427. package/docs/AGENT_GUIDE.md +2 -2
  428. package/docs/ARCHITECTURE.md +2 -2
  429. package/docs/COMMANDS.md +8 -4
  430. package/docs/CONFIGURATION.md +1 -1
  431. package/docs/EXTENSIONS.md +12 -12
  432. package/docs/ONBOARDING.md +4 -2
  433. package/docs/README.md +2 -0
  434. package/docs/examples/starter-extension/README.md +11 -10
  435. package/marketplace.json +3 -3
  436. package/package.json +2 -2
  437. package/packages/pm-beads/extensions/beads/runtime.ts +240 -167
  438. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +65 -58
  439. package/packages/pm-todos/extensions/todos/runtime.ts +65 -42
  440. package/plugins/pm-claude/.claude-plugin/plugin.json +2 -2
  441. package/plugins/pm-claude/README.md +6 -3
  442. package/plugins/pm-claude/commands/pm-init.md +1 -1
  443. package/dist/cli-bundle/chunks/activity-AW6XVFH6.js +0 -16
  444. package/dist/cli-bundle/chunks/aggregate-JTEF4BP7.js.map +0 -1
  445. package/dist/cli-bundle/chunks/chunk-22WKIL3H.js.map +0 -1
  446. package/dist/cli-bundle/chunks/chunk-2D4HATP2.js.map +0 -1
  447. package/dist/cli-bundle/chunks/chunk-3J6JRJ3I.js.map +0 -7
  448. package/dist/cli-bundle/chunks/chunk-3K2M5OYU.js.map +0 -7
  449. package/dist/cli-bundle/chunks/chunk-3S2KT7NG.js.map +0 -7
  450. package/dist/cli-bundle/chunks/chunk-3VGN2UWE.js.map +0 -1
  451. package/dist/cli-bundle/chunks/chunk-3XZCOZ5J.js.map +0 -1
  452. package/dist/cli-bundle/chunks/chunk-4XOIEKSD.js.map +0 -1
  453. package/dist/cli-bundle/chunks/chunk-55SNVXRQ.js.map +0 -7
  454. package/dist/cli-bundle/chunks/chunk-5CGRF3L5.js.map +0 -1
  455. package/dist/cli-bundle/chunks/chunk-7R4QEMZZ.js.map +0 -1
  456. package/dist/cli-bundle/chunks/chunk-AXIDKKAT.js.map +0 -1
  457. package/dist/cli-bundle/chunks/chunk-BDTISOSD.js.map +0 -7
  458. package/dist/cli-bundle/chunks/chunk-BZCEN4JA.js.map +0 -7
  459. package/dist/cli-bundle/chunks/chunk-CF7RL6FR.js.map +0 -1
  460. package/dist/cli-bundle/chunks/chunk-CWFNTKQJ.js.map +0 -1
  461. package/dist/cli-bundle/chunks/chunk-FFMQB7WR.js.map +0 -1
  462. package/dist/cli-bundle/chunks/chunk-HXTQJXWT.js.map +0 -1
  463. package/dist/cli-bundle/chunks/chunk-IPYBJWTE.js.map +0 -7
  464. package/dist/cli-bundle/chunks/chunk-IZBR4NRW.js.map +0 -7
  465. package/dist/cli-bundle/chunks/chunk-JLM7BHI7.js.map +0 -7
  466. package/dist/cli-bundle/chunks/chunk-JSU5P7VS.js.map +0 -1
  467. package/dist/cli-bundle/chunks/chunk-JWXRETDF.js.map +0 -1
  468. package/dist/cli-bundle/chunks/chunk-KNPEF7QG.js.map +0 -7
  469. package/dist/cli-bundle/chunks/chunk-MDPEOIGN.js.map +0 -7
  470. package/dist/cli-bundle/chunks/chunk-NFDPYAIP.js.map +0 -7
  471. package/dist/cli-bundle/chunks/chunk-NUHHPVVS.js.map +0 -7
  472. package/dist/cli-bundle/chunks/chunk-NWMZWYYB.js.map +0 -1
  473. package/dist/cli-bundle/chunks/chunk-OTUHB4HS.js.map +0 -1
  474. package/dist/cli-bundle/chunks/chunk-RGEMWD6Q.js.map +0 -7
  475. package/dist/cli-bundle/chunks/chunk-RLDHZHQS.js.map +0 -1
  476. package/dist/cli-bundle/chunks/chunk-RMMQ74TG.js.map +0 -7
  477. package/dist/cli-bundle/chunks/chunk-RVUALSJF.js.map +0 -7
  478. package/dist/cli-bundle/chunks/chunk-TP5Q5ZD3.js.map +0 -1
  479. package/dist/cli-bundle/chunks/chunk-V3NOKJF2.js.map +0 -1
  480. package/dist/cli-bundle/chunks/chunk-VARHOHYV.js.map +0 -7
  481. package/dist/cli-bundle/chunks/chunk-WYDHYJPO.js.map +0 -7
  482. package/dist/cli-bundle/chunks/chunk-YITK2PJ6.js.map +0 -7
  483. package/dist/cli-bundle/chunks/chunk-ZETXE4SE.js.map +0 -1
  484. package/dist/cli-bundle/chunks/close-E6ZZGCJY.js +0 -14
  485. package/dist/cli-bundle/chunks/close-many-BG5QQIDQ.js.map +0 -7
  486. package/dist/cli-bundle/chunks/close-many-LDRVEQY2.js.map +0 -1
  487. package/dist/cli-bundle/chunks/config-DMSU64QO.js +0 -1541
  488. package/dist/cli-bundle/chunks/config-DMSU64QO.js.map +0 -7
  489. package/dist/cli-bundle/chunks/config-QH2DICD6.js +0 -1531
  490. package/dist/cli-bundle/chunks/config-QH2DICD6.js.map +0 -1
  491. package/dist/cli-bundle/chunks/contracts-HN7ABKLP.js.map +0 -7
  492. package/dist/cli-bundle/chunks/contracts-W4FZVVD6.js.map +0 -1
  493. package/dist/cli-bundle/chunks/create-OH3BDGBB.js +0 -28
  494. package/dist/cli-bundle/chunks/get-A7MAOHCU.js.map +0 -7
  495. package/dist/cli-bundle/chunks/get-DSDEKJ3L.js.map +0 -1
  496. package/dist/cli-bundle/chunks/health-3IPFLKXB.js.map +0 -1
  497. package/dist/cli-bundle/chunks/health-GZXGBZ36.js.map +0 -7
  498. package/dist/cli-bundle/chunks/history-WSZHY3PN.js +0 -18
  499. package/dist/cli-bundle/chunks/history-compact-2WRZ2WK4.js.map +0 -7
  500. package/dist/cli-bundle/chunks/history-compact-HR7BB4LR.js.map +0 -1
  501. package/dist/cli-bundle/chunks/history-redact-MP6CH7U5.js +0 -19
  502. package/dist/cli-bundle/chunks/history-repair-LCMOS45X.js.map +0 -7
  503. package/dist/cli-bundle/chunks/history-repair-XA3LC4GA.js.map +0 -1
  504. package/dist/cli-bundle/chunks/init-PAX32BJA.js +0 -22
  505. package/dist/cli-bundle/chunks/next-BCERKDUR.js.map +0 -7
  506. package/dist/cli-bundle/chunks/next-FYTQF6HG.js.map +0 -1
  507. package/dist/cli-bundle/chunks/plan-4WXEQCTN.js.map +0 -7
  508. package/dist/cli-bundle/chunks/plan-RKZHQVXR.js.map +0 -1
  509. package/dist/cli-bundle/chunks/profile-4OMM32CD.js.map +0 -7
  510. package/dist/cli-bundle/chunks/profile-QLER5ENE.js.map +0 -1
  511. package/dist/cli-bundle/chunks/register-list-query-7LV46VAU.js +0 -400
  512. package/dist/cli-bundle/chunks/register-list-query-7LV46VAU.js.map +0 -1
  513. package/dist/cli-bundle/chunks/register-list-query-SNG5PGA4.js +0 -410
  514. package/dist/cli-bundle/chunks/register-list-query-SNG5PGA4.js.map +0 -7
  515. package/dist/cli-bundle/chunks/register-mutation-ENNDUAZG.js.map +0 -1
  516. package/dist/cli-bundle/chunks/register-mutation-KK7PHYYU.js.map +0 -7
  517. package/dist/cli-bundle/chunks/register-operations-C6OWLDSH.js +0 -486
  518. package/dist/cli-bundle/chunks/register-operations-C6OWLDSH.js.map +0 -1
  519. package/dist/cli-bundle/chunks/register-operations-HZ6XERQG.js.map +0 -7
  520. package/dist/cli-bundle/chunks/register-setup-P67EMBDJ.js.map +0 -1
  521. package/dist/cli-bundle/chunks/register-setup-ZKJ53RS7.js.map +0 -7
  522. package/dist/cli-bundle/chunks/restore-YALDGTQR.js +0 -17
  523. package/dist/cli-bundle/chunks/telemetry-BZUF6H7G.js.map +0 -1
  524. package/dist/cli-bundle/chunks/telemetry-GAHHQTOS.js.map +0 -7
  525. package/dist/cli-bundle/chunks/test-all-L2MDDUCA.js +0 -358
  526. package/dist/cli-bundle/chunks/test-all-L2MDDUCA.js.map +0 -1
  527. package/dist/cli-bundle/chunks/test-all-RBZ6DLU2.js +0 -361
  528. package/dist/cli-bundle/chunks/test-all-RBZ6DLU2.js.map +0 -7
  529. package/dist/cli-bundle/chunks/test-runs-PLRAZEFW.js.map +0 -7
  530. package/dist/cli-bundle/chunks/test-runs-UXIXPDKU.js.map +0 -1
  531. package/dist/cli-bundle/chunks/update-AMRSOIWP.js +0 -24
  532. package/dist/cli-bundle/chunks/validate-MTUVL5VC.js.map +0 -7
  533. package/dist/cli-bundle/chunks/validate-X5W76YJL.js.map +0 -1
  534. /package/dist/cli-bundle/chunks/{activity-DBLQVIP6.js.map → activity-5YWLSPGE.js.map} +0 -0
  535. /package/dist/cli-bundle/chunks/{activity-AW6XVFH6.js.map → activity-BIML7K2D.js.map} +0 -0
  536. /package/dist/cli-bundle/chunks/{append-LOVPGVPT.js.map → append-EZESUVJT.js.map} +0 -0
  537. /package/dist/cli-bundle/chunks/{append-QCFJSDFL.js.map → append-JFG4WQMG.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{chunk-BHO33VBQ.js.map → chunk-3W2HJKJX.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{chunk-4DUVCVLZ.js.map → chunk-4PFVUUYV.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{chunk-IJYK2T43.js.map → chunk-5E7N4T2Z.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{chunk-NKZAN7BD.js.map → chunk-5IZUBZBR.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{chunk-NOLPZMSV.js.map → chunk-5JIWFWOZ.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{chunk-6AQZPVHQ.js.map → chunk-6CDCWKSX.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{chunk-LB6TP6MC.js.map → chunk-6NYJGMTY.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{chunk-SLMUGTK3.js.map → chunk-7CLLC75T.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{chunk-2466X6E4.js.map → chunk-7LYO6S5A.js.map} +0 -0
  547. /package/dist/cli-bundle/chunks/{chunk-W4ULYO7Z.js.map → chunk-A3OQ7TFW.js.map} +0 -0
  548. /package/dist/cli-bundle/chunks/{chunk-GJ326ZKX.js.map → chunk-ER4ME5U2.js.map} +0 -0
  549. /package/dist/cli-bundle/chunks/{chunk-HZZEHPRG.js.map → chunk-ERG65A2L.js.map} +0 -0
  550. /package/dist/cli-bundle/chunks/{chunk-L5OEFZQG.js.map → chunk-FH2H3CBD.js.map} +0 -0
  551. /package/dist/cli-bundle/chunks/{chunk-JPECA746.js.map → chunk-FUFFPIYA.js.map} +0 -0
  552. /package/dist/cli-bundle/chunks/{chunk-27BXPBAY.js.map → chunk-GUYNUXQT.js.map} +0 -0
  553. /package/dist/cli-bundle/chunks/{chunk-MAUKX7JC.js.map → chunk-GVJE5T7Q.js.map} +0 -0
  554. /package/dist/cli-bundle/chunks/{chunk-ZRP4VG5U.js.map → chunk-JBZ2NTKX.js.map} +0 -0
  555. /package/dist/cli-bundle/chunks/{chunk-EJUDVUYZ.js.map → chunk-KEZOIPCR.js.map} +0 -0
  556. /package/dist/cli-bundle/chunks/{chunk-HYTGA6GI.js.map → chunk-MDHWWBNZ.js.map} +0 -0
  557. /package/dist/cli-bundle/chunks/{chunk-N74UMG5H.js.map → chunk-MEZZZBYX.js.map} +0 -0
  558. /package/dist/cli-bundle/chunks/{chunk-SDR5J34Q.js.map → chunk-NZ7QIUP5.js.map} +0 -0
  559. /package/dist/cli-bundle/chunks/{chunk-DDPTYJIM.js.map → chunk-P5L7Z2O6.js.map} +0 -0
  560. /package/dist/cli-bundle/chunks/{chunk-OGXLACHC.js.map → chunk-SU2E4AWU.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{chunk-HPPFYYOV.js.map → chunk-SU3TB4NS.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{chunk-G7I7DEZA.js.map → chunk-T4XBKJ3F.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{chunk-VICZWYGZ.js.map → chunk-U5TR4N7J.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{chunk-EVMTBV6V.js.map → chunk-UMNQZS4H.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{chunk-A7FPBAQS.js.map → chunk-WJA3PXW7.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{chunk-QCWF6IYD.js.map → chunk-YSDFIY7N.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{chunk-UZIWVBE6.js.map → chunk-YSGTMDWC.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{chunk-64HNBBFQ.js.map → chunk-Z5F6XZXE.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{chunk-AVEE5EHK.js.map → chunk-Z7RPDF2Y.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{claim-T3GCKV7C.js.map → claim-2BGBGSVI.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{claim-EMQLYPRW.js.map → claim-5GU7OE67.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{close-E6ZZGCJY.js.map → close-6YODBUIV.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{close-TQYAAFJP.js.map → close-AFVKPR57.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{comments-YUXJRZPQ.js.map → comments-DNWHEBOS.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{comments-QCKR2YY2.js.map → comments-RW23R3VE.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{context-B6275WPX.js.map → context-OYXRGY7S.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{context-OCZ3FJ4Z.js.map → context-PKCEHQY3.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{copy-DEM4DATS.js.map → copy-6XOR3HKN.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{copy-BTJOSKKT.js.map → copy-I4NCLBR4.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{create-RLRJMRTM.js.map → create-PM45M6PE.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{create-OH3BDGBB.js.map → create-Z7YCH3BE.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{delete-BHK7VB2Z.js.map → delete-7YXHYG67.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{delete-LSVHAB4Y.js.map → delete-LPISP43T.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{deps-XHYXWEPT.js.map → deps-N2T26FME.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{deps-4UDFJRUA.js.map → deps-WATKQDE3.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{docs-GYZNVS26.js.map → docs-6LQ3GLM7.js.map} +0 -0
  587. /package/dist/cli-bundle/chunks/{docs-26S44RXU.js.map → docs-Z3X6JZLT.js.map} +0 -0
  588. /package/dist/cli-bundle/chunks/{eval-UYF3ZPVO.js.map → eval-6DCLG52D.js.map} +0 -0
  589. /package/dist/cli-bundle/chunks/{eval-PGRVIJQU.js.map → eval-Y3ZCUTHK.js.map} +0 -0
  590. /package/dist/cli-bundle/chunks/{extension-CPSLJQVE.js.map → extension-BNINIMT7.js.map} +0 -0
  591. /package/dist/cli-bundle/chunks/{extension-CXJ6RELI.js.map → extension-QWE4YYK5.js.map} +0 -0
  592. /package/dist/cli-bundle/chunks/{files-NQHEXUZD.js.map → files-6SGKHS6O.js.map} +0 -0
  593. /package/dist/cli-bundle/chunks/{files-MBNICQFM.js.map → files-FUYPSOFJ.js.map} +0 -0
  594. /package/dist/cli-bundle/chunks/{focus-DWYIG7GU.js.map → focus-2Q3K76G2.js.map} +0 -0
  595. /package/dist/cli-bundle/chunks/{focus-XZW5423D.js.map → focus-ATLBWXXD.js.map} +0 -0
  596. /package/dist/cli-bundle/chunks/{gc-LPVMKJQJ.js.map → gc-RUYEMNRF.js.map} +0 -0
  597. /package/dist/cli-bundle/chunks/{gc-7GQYOS2G.js.map → gc-TDWSDR66.js.map} +0 -0
  598. /package/dist/cli-bundle/chunks/{history-WSZHY3PN.js.map → history-CGNQJXFE.js.map} +0 -0
  599. /package/dist/cli-bundle/chunks/{history-NERDJNUB.js.map → history-SGRRS72R.js.map} +0 -0
  600. /package/dist/cli-bundle/chunks/{history-redact-O3NBCNWC.js.map → history-redact-IRL7WJ3E.js.map} +0 -0
  601. /package/dist/cli-bundle/chunks/{history-redact-MP6CH7U5.js.map → history-redact-N3JK7VBW.js.map} +0 -0
  602. /package/dist/cli-bundle/chunks/{init-64XDLQJB.js.map → init-4GESW7RM.js.map} +0 -0
  603. /package/dist/cli-bundle/chunks/{init-PAX32BJA.js.map → init-XIDPABA4.js.map} +0 -0
  604. /package/dist/cli-bundle/chunks/{learnings-LPKCSJX7.js.map → learnings-4BHWFFUV.js.map} +0 -0
  605. /package/dist/cli-bundle/chunks/{learnings-JR6MA5TI.js.map → learnings-4FJY7WIW.js.map} +0 -0
  606. /package/dist/cli-bundle/chunks/{list-G5Y65VF6.js.map → list-472TIOVK.js.map} +0 -0
  607. /package/dist/cli-bundle/chunks/{list-DNBJVO3E.js.map → list-D7BF5CL2.js.map} +0 -0
  608. /package/dist/cli-bundle/chunks/{notes-2BMU3VVQ.js.map → notes-6KNOSLIT.js.map} +0 -0
  609. /package/dist/cli-bundle/chunks/{notes-6KTGO2OJ.js.map → notes-W4UEICGF.js.map} +0 -0
  610. /package/dist/cli-bundle/chunks/{restore-4MHZFJ2E.js.map → restore-44IHMMZZ.js.map} +0 -0
  611. /package/dist/cli-bundle/chunks/{restore-YALDGTQR.js.map → restore-EXHU34EU.js.map} +0 -0
  612. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-LB6DOLRL.js.map → scheduling-shortcuts-OLHNLAZY.js.map} +0 -0
  613. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-UTOYKLXQ.js.map → scheduling-shortcuts-TSBK4AY5.js.map} +0 -0
  614. /package/dist/cli-bundle/chunks/{schema-73HR2OJW.js.map → schema-IB2NZZWD.js.map} +0 -0
  615. /package/dist/cli-bundle/chunks/{schema-U6LJKSIR.js.map → schema-VBCELP5G.js.map} +0 -0
  616. /package/dist/cli-bundle/chunks/{search-AXPXKZER.js.map → search-7UBETML4.js.map} +0 -0
  617. /package/dist/cli-bundle/chunks/{search-KILGT37L.js.map → search-R227JOL6.js.map} +0 -0
  618. /package/dist/cli-bundle/chunks/{stats-W5KNVJWQ.js.map → stats-FAG7COEH.js.map} +0 -0
  619. /package/dist/cli-bundle/chunks/{stats-PSYVVTNZ.js.map → stats-MCK7PLYS.js.map} +0 -0
  620. /package/dist/cli-bundle/chunks/{test-PWDIZ255.js.map → test-QY44WAMR.js.map} +0 -0
  621. /package/dist/cli-bundle/chunks/{test-ACD52Z3S.js.map → test-SY76DZTO.js.map} +0 -0
  622. /package/dist/cli-bundle/chunks/{update-AMRSOIWP.js.map → update-A7EICML6.js.map} +0 -0
  623. /package/dist/cli-bundle/chunks/{update-KFX2SIAC.js.map → update-IKJZWLQC.js.map} +0 -0
  624. /package/dist/cli-bundle/chunks/{upgrade-BRL6KCOJ.js.map → upgrade-NWMR3VQL.js.map} +0 -0
  625. /package/dist/cli-bundle/chunks/{upgrade-HAK6JG2O.js.map → upgrade-VU46BLJZ.js.map} +0 -0
@@ -9,21 +9,21 @@ import {
9
9
  runLinkedTests,
10
10
  runTest,
11
11
  summarizeContextPreflight
12
- } from "./chunk-3XZCOZ5J.js";
13
- import "./chunk-EJUDVUYZ.js";
14
- import "./chunk-ZRP4VG5U.js";
15
- import "./chunk-V3NOKJF2.js";
16
- import "./chunk-NU2UEROZ.js";
12
+ } from "./chunk-NOIEVOK5.js";
13
+ import "./chunk-KEZOIPCR.js";
14
+ import "./chunk-JBZ2NTKX.js";
15
+ import "./chunk-MHRS5FUX.js";
16
+ import "./chunk-YF746GTH.js";
17
17
  import "./chunk-P4SESZGT.js";
18
- import "./chunk-2D4HATP2.js";
19
- import "./chunk-MAUKX7JC.js";
20
- import "./chunk-6AQZPVHQ.js";
21
- import "./chunk-4A3BJ675.js";
22
- import "./chunk-HXTQJXWT.js";
23
- import "./chunk-JSU5P7VS.js";
24
- import "./chunk-QCWF6IYD.js";
25
- import "./chunk-AXIDKKAT.js";
26
- import "./chunk-7R4QEMZZ.js";
18
+ import "./chunk-EJ2OCBHF.js";
19
+ import "./chunk-GVJE5T7Q.js";
20
+ import "./chunk-6CDCWKSX.js";
21
+ import "./chunk-QNNQAAZ5.js";
22
+ import "./chunk-572FKBRL.js";
23
+ import "./chunk-4WB6S4YX.js";
24
+ import "./chunk-YSDFIY7N.js";
25
+ import "./chunk-CXR3CMBQ.js";
26
+ import "./chunk-L4SLHV6G.js";
27
27
  export {
28
28
  _testOnlyTestCommand,
29
29
  classifyLinkedTestFailure,
@@ -34,6 +34,6 @@ export {
34
34
  runTest,
35
35
  summarizeContextPreflight
36
36
  };
37
- //# sourceMappingURL=test-PWDIZ255.js.map
37
+ //# sourceMappingURL=test-QY44WAMR.js.map
38
38
 
39
39
  //# debugId=45eac7fa-f181-5cca-93b7-cfb58909dbb3
@@ -7,21 +7,21 @@ import {
7
7
  runLinkedTests,
8
8
  runTest,
9
9
  summarizeContextPreflight
10
- } from "./chunk-JMP4E6D7.js";
11
- import "./chunk-HYTGA6GI.js";
12
- import "./chunk-DDPTYJIM.js";
13
- import "./chunk-YITK2PJ6.js";
14
- import "./chunk-5QFDBI4F.js";
10
+ } from "./chunk-YPWUSH72.js";
11
+ import "./chunk-MDHWWBNZ.js";
12
+ import "./chunk-P5L7Z2O6.js";
13
+ import "./chunk-KS6ATO47.js";
14
+ import "./chunk-TQ6AX5SQ.js";
15
15
  import "./chunk-5HIZDR5A.js";
16
- import "./chunk-RMMQ74TG.js";
17
- import "./chunk-LB6TP6MC.js";
18
- import "./chunk-SDR5J34Q.js";
19
- import "./chunk-RH5ZBYFD.js";
20
- import "./chunk-MDPEOIGN.js";
21
- import "./chunk-3K2M5OYU.js";
22
- import "./chunk-BHO33VBQ.js";
23
- import "./chunk-WYDHYJPO.js";
24
- import "./chunk-RVUALSJF.js";
16
+ import "./chunk-JPATY4SE.js";
17
+ import "./chunk-6NYJGMTY.js";
18
+ import "./chunk-NZ7QIUP5.js";
19
+ import "./chunk-T6AXEBOP.js";
20
+ import "./chunk-RAHINBVP.js";
21
+ import "./chunk-6KRFL33E.js";
22
+ import "./chunk-3W2HJKJX.js";
23
+ import "./chunk-AJHYQCBJ.js";
24
+ import "./chunk-KHVGM5CS.js";
25
25
  export {
26
26
  _testOnlyTestCommand,
27
27
  classifyLinkedTestFailure,
@@ -32,4 +32,4 @@ export {
32
32
  runTest,
33
33
  summarizeContextPreflight
34
34
  };
35
- //# sourceMappingURL=test-ACD52Z3S.js.map
35
+ //# sourceMappingURL=test-SY76DZTO.js.map
@@ -0,0 +1,430 @@
1
+ import {
2
+ appendTrackedTestRunSummary,
3
+ countFailureCategories,
4
+ runLinkedTests,
5
+ runTest,
6
+ summarizeContextPreflight
7
+ } from "./chunk-YPWUSH72.js";
8
+ import {
9
+ resolveAuthor
10
+ } from "./chunk-WW4E2DC3.js";
11
+ import "./chunk-MDHWWBNZ.js";
12
+ import {
13
+ parseOptionalNumber
14
+ } from "./chunk-P5L7Z2O6.js";
15
+ import "./chunk-KS6ATO47.js";
16
+ import "./chunk-TQ6AX5SQ.js";
17
+ import "./chunk-5HIZDR5A.js";
18
+ import "./chunk-JPATY4SE.js";
19
+ import "./chunk-6NYJGMTY.js";
20
+ import "./chunk-NZ7QIUP5.js";
21
+ import "./chunk-T6AXEBOP.js";
22
+ import "./chunk-RAHINBVP.js";
23
+ import {
24
+ listAllFrontMatterLight
25
+ } from "./chunk-6KRFL33E.js";
26
+ import {
27
+ normalizeStatusInput
28
+ } from "./chunk-3W2HJKJX.js";
29
+ import {
30
+ nowIso
31
+ } from "./chunk-AJHYQCBJ.js";
32
+ import {
33
+ EXIT_CODE,
34
+ PmCliError,
35
+ getActiveExtensionRegistrations,
36
+ getSettingsPath,
37
+ pathExists,
38
+ readSettings,
39
+ resolveGlobalPmRoot,
40
+ resolveItemTypeRegistry,
41
+ resolvePmRoot,
42
+ resolveRuntimeStatusRegistry
43
+ } from "./chunk-KHVGM5CS.js";
44
+
45
+ // dist/cli/commands/test-all.js
46
+ !(function() {
47
+ try {
48
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
49
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "1262db4d-0528-5697-9089-54eac807996c");
50
+ } catch (e2) {
51
+ }
52
+ })();
53
+ function parseStatus(raw, statusRegistry) {
54
+ if (raw === void 0) {
55
+ return void 0;
56
+ }
57
+ const normalized = normalizeStatusInput(raw, statusRegistry);
58
+ if (!normalized) {
59
+ const allowedStatuses = statusRegistry.definitions.map((definition) => definition.id);
60
+ throw new PmCliError(`Invalid --status value "${raw}". Allowed: ${allowedStatuses.join(", ")}`, EXIT_CODE.USAGE);
61
+ }
62
+ return normalized;
63
+ }
64
+ function parseTimeout(raw) {
65
+ if (raw === void 0) {
66
+ return void 0;
67
+ }
68
+ return parseOptionalNumber(raw, "timeout");
69
+ }
70
+ function parseNonNegativeInteger(raw, flag) {
71
+ if (raw === void 0) {
72
+ return void 0;
73
+ }
74
+ const parsed = Number(raw);
75
+ if (!Number.isInteger(parsed) || parsed < 0) {
76
+ throw new PmCliError(`${flag} must be a non-negative integer`, EXIT_CODE.USAGE);
77
+ }
78
+ return parsed;
79
+ }
80
+ function formatTrackingError(error) {
81
+ return error instanceof Error ? error.message : String(error);
82
+ }
83
+ function resolveTrackedRunId() {
84
+ const fromEnv = process.env.PM_BACKGROUND_TEST_RUN_ID?.trim();
85
+ if (fromEnv && fromEnv.length > 0) {
86
+ return fromEnv;
87
+ }
88
+ return `test-all-local-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
89
+ }
90
+ function normalizeCommand(command) {
91
+ return command.trim().replaceAll(/\s+/g, " ");
92
+ }
93
+ function normalizeEnvSetSignature(value) {
94
+ if (!value || Object.keys(value).length === 0) {
95
+ return "{}";
96
+ }
97
+ return JSON.stringify(Object.fromEntries(Object.entries(value).sort(([left], [right]) => left.localeCompare(right))));
98
+ }
99
+ function normalizeEnvClearSignature(value) {
100
+ if (!value || value.length === 0) {
101
+ return "[]";
102
+ }
103
+ return JSON.stringify([...value].sort((left, right) => left.localeCompare(right)));
104
+ }
105
+ function normalizePmContextModeSignature(value) {
106
+ const normalized = value?.trim().toLowerCase();
107
+ return normalized && normalized.length > 0 ? normalized : "none";
108
+ }
109
+ function normalizeAssertionSignature(test) {
110
+ const normalized = {
111
+ assert_stdout_contains: [...new Set(test.assert_stdout_contains ?? [])].sort((left, right) => left.localeCompare(right)),
112
+ assert_stdout_regex: [...new Set(test.assert_stdout_regex ?? [])].sort((left, right) => left.localeCompare(right)),
113
+ assert_stderr_contains: [...new Set(test.assert_stderr_contains ?? [])].sort((left, right) => left.localeCompare(right)),
114
+ assert_stderr_regex: [...new Set(test.assert_stderr_regex ?? [])].sort((left, right) => left.localeCompare(right)),
115
+ assert_stdout_min_lines: typeof test.assert_stdout_min_lines === "number" ? test.assert_stdout_min_lines : void 0,
116
+ assert_json_field_equals: Object.fromEntries(Object.entries(test.assert_json_field_equals ?? {}).sort(([left], [right]) => left.localeCompare(right))),
117
+ assert_json_field_gte: Object.fromEntries(Object.entries(test.assert_json_field_gte ?? {}).sort(([left], [right]) => left.localeCompare(right)))
118
+ };
119
+ return JSON.stringify(normalized);
120
+ }
121
+ function buildLinkedTestKey(test) {
122
+ const command = test.command?.trim();
123
+ if (command && command.length > 0) {
124
+ const envSet = normalizeEnvSetSignature(test.env_set);
125
+ const envClear = normalizeEnvClearSignature(test.env_clear);
126
+ const pmContextMode = normalizePmContextModeSignature(test.pm_context_mode);
127
+ const sharedHostSafe = test.shared_host_safe === true ? "true" : "false";
128
+ const assertions = normalizeAssertionSignature(test);
129
+ return `command:${test.scope}:${normalizeCommand(command)}:${envSet}:${envClear}:${pmContextMode}:${sharedHostSafe}:${assertions}`;
130
+ }
131
+ const linkedPath = test.path?.trim() ?? "";
132
+ return `path:${test.scope}:${linkedPath}`;
133
+ }
134
+ function maxTimeoutSeconds(current, candidate) {
135
+ if (candidate === void 0) {
136
+ return current;
137
+ }
138
+ if (current === void 0 || candidate > current) {
139
+ return candidate;
140
+ }
141
+ return current;
142
+ }
143
+ function countStatuses(runResults) {
144
+ let passed = 0;
145
+ let failed = 0;
146
+ let skipped = 0;
147
+ for (const result of runResults) {
148
+ if (result.status === "passed") {
149
+ passed += 1;
150
+ continue;
151
+ }
152
+ if (result.status === "failed") {
153
+ failed += 1;
154
+ continue;
155
+ }
156
+ skipped += 1;
157
+ }
158
+ return { passed, failed, skipped };
159
+ }
160
+ function mergeFailureCategoryCounts(target, source) {
161
+ for (const [key, value] of Object.entries(source)) {
162
+ target[key] += value;
163
+ }
164
+ }
165
+ function emitTestAllProgress(options, message) {
166
+ if (options.progress !== true) {
167
+ return;
168
+ }
169
+ try {
170
+ process.stderr.write(`[pm test-all] ${message}
171
+ `);
172
+ } catch {
173
+ }
174
+ }
175
+ async function collectTestAllItemTests(filteredItems, global2, pmRoot) {
176
+ const itemTests = [];
177
+ let linkedTests = 0;
178
+ for (const item of filteredItems) {
179
+ const readResult = await runTest(item.id, { run: false }, {
180
+ ...global2,
181
+ path: pmRoot
182
+ });
183
+ linkedTests += readResult.tests.length;
184
+ itemTests.push({ item, tests: readResult.tests });
185
+ }
186
+ return { itemTests, linkedTests };
187
+ }
188
+ async function selectTestAllItems(params) {
189
+ const statusRegistry = resolveRuntimeStatusRegistry(params.settings.schema);
190
+ const typeRegistry = resolveItemTypeRegistry(params.settings, getActiveExtensionRegistrations());
191
+ const statusFilter = parseStatus(params.options.status, statusRegistry);
192
+ const limitFilter = parseNonNegativeInteger(params.options.limit, "--limit");
193
+ const offsetFilter = parseNonNegativeInteger(params.options.offset, "--offset") ?? 0;
194
+ const allItems = await listAllFrontMatterLight(params.pmRoot, params.settings.item_format, typeRegistry.type_to_folder, void 0, params.settings.schema);
195
+ const statusFilteredItems = allItems.filter((item) => statusFilter ? item.status === statusFilter : true).sort((a, b) => a.id.localeCompare(b.id));
196
+ const filteredItems = limitFilter === void 0 ? statusFilteredItems.slice(offsetFilter) : statusFilteredItems.slice(offsetFilter, offsetFilter + limitFilter);
197
+ return { filteredItems, statusFilter, limitFilter, offsetFilter };
198
+ }
199
+ function buildEffectiveTimeoutByKey(itemTests) {
200
+ const effectiveTimeoutByKey = /* @__PURE__ */ new Map();
201
+ for (const { tests } of itemTests) {
202
+ for (const test of tests) {
203
+ const key = buildLinkedTestKey(test);
204
+ if (!effectiveTimeoutByKey.has(key)) {
205
+ effectiveTimeoutByKey.set(key, test.timeout_seconds);
206
+ continue;
207
+ }
208
+ effectiveTimeoutByKey.set(key, maxTimeoutSeconds(effectiveTimeoutByKey.get(key), test.timeout_seconds));
209
+ }
210
+ }
211
+ return effectiveTimeoutByKey;
212
+ }
213
+ async function runTestAllItem(entry, context) {
214
+ const testsToRun = [];
215
+ const keyedTests = entry.tests.map((test) => {
216
+ const key = buildLinkedTestKey(test);
217
+ const duplicate = context.seenTestKeys.has(key);
218
+ if (!duplicate) {
219
+ context.seenTestKeys.add(key);
220
+ const effectiveTimeoutSeconds = context.effectiveTimeoutByKey.get(key);
221
+ testsToRun.push(effectiveTimeoutSeconds === void 0 ? test : { ...test, timeout_seconds: effectiveTimeoutSeconds });
222
+ }
223
+ return { test, key, duplicate };
224
+ });
225
+ const executedResults = testsToRun.length > 0 ? await runLinkedTests(testsToRun, context.defaultTimeoutSeconds, {
226
+ progress: context.options.progress,
227
+ sourceRoots: context.sourceRoots,
228
+ envSet: context.options.envSet,
229
+ envClear: context.options.envClear,
230
+ sharedHostSafe: context.options.sharedHostSafe,
231
+ pmContext: context.options.pmContext,
232
+ overrideLinkedPmContext: context.options.overrideLinkedPmContext,
233
+ failOnContextMismatch: context.options.failOnContextMismatch,
234
+ failOnEmptyTestRun: context.options.failOnEmptyTestRun,
235
+ requireAssertionsForPm: context.options.requireAssertionsForPm,
236
+ checkContext: context.options.checkContext,
237
+ autoPmContext: context.options.autoPmContext
238
+ }) : [];
239
+ let executedIndex = 0;
240
+ const runResults = keyedTests.map(({ test, key, duplicate }) => {
241
+ if (!duplicate) {
242
+ const executed = executedResults[executedIndex];
243
+ executedIndex += 1;
244
+ return executed;
245
+ }
246
+ return {
247
+ command: test.command,
248
+ path: test.path,
249
+ status: "skipped",
250
+ error: `Duplicate linked test skipped (key=${key}).`
251
+ };
252
+ });
253
+ const summary = countStatuses(runResults);
254
+ const failureCategories = countFailureCategories(runResults);
255
+ const trackingWarnings = await appendTestAllItemTracking(entry, summary, context);
256
+ return {
257
+ passed: summary.passed,
258
+ failed: summary.failed,
259
+ skipped: summary.skipped,
260
+ trackingWarnings,
261
+ failureCategories,
262
+ result: {
263
+ ok: summary.failed === 0 && !(context.options.failOnSkipped === true && summary.skipped > 0),
264
+ id: entry.item.id,
265
+ status: entry.item.status,
266
+ test_count: entry.tests.length,
267
+ passed: summary.passed,
268
+ failed: summary.failed,
269
+ skipped: summary.skipped,
270
+ run_results: runResults,
271
+ failure_categories: failureCategories
272
+ }
273
+ };
274
+ }
275
+ async function appendTestAllItemTracking(entry, summary, context) {
276
+ if (!context.trackingEnabled) {
277
+ return [];
278
+ }
279
+ try {
280
+ await appendTrackedTestRunSummary({
281
+ pmRoot: context.pmRoot,
282
+ settings: context.settings,
283
+ itemId: entry.item.id,
284
+ author: context.trackingAuthor,
285
+ message: `Track test-all run summary (${context.trackingRunId})`,
286
+ entry: {
287
+ run_id: context.trackingRunId,
288
+ kind: "test-all",
289
+ status: summary.failed > 0 || context.options.failOnSkipped === true && summary.skipped > 0 ? "failed" : "passed",
290
+ started_at: context.runStartedAt,
291
+ finished_at: nowIso(),
292
+ recorded_at: nowIso(),
293
+ attempt: context.trackingAttempt,
294
+ resumed_from: context.trackingResumedFrom,
295
+ passed: summary.passed,
296
+ failed: summary.failed,
297
+ skipped: summary.skipped,
298
+ items: 1,
299
+ linked_tests: entry.tests.length,
300
+ fail_on_skipped_triggered: context.options.failOnSkipped === true && summary.skipped > 0 ? true : void 0
301
+ }
302
+ });
303
+ } catch (error) {
304
+ return [`test_result_tracking_failed:${entry.item.id}:${formatTrackingError(error)}`];
305
+ }
306
+ return [];
307
+ }
308
+ function buildTestAllItemRunContext(params) {
309
+ const trackingAttemptRaw = process.env.PM_BACKGROUND_TEST_RUN_ATTEMPT?.trim();
310
+ const trackingParsedAttempt = trackingAttemptRaw ? Number.parseInt(trackingAttemptRaw, 10) : Number.NaN;
311
+ const trackingResumedFrom = process.env.PM_BACKGROUND_TEST_RUN_RESUMED_FROM?.trim();
312
+ return {
313
+ pmRoot: params.pmRoot,
314
+ settings: params.settings,
315
+ options: params.options,
316
+ defaultTimeoutSeconds: params.defaultTimeoutSeconds,
317
+ sourceRoots: {
318
+ projectPmRoot: params.pmRoot,
319
+ globalPmRoot: resolveGlobalPmRoot(process.cwd())
320
+ },
321
+ seenTestKeys: /* @__PURE__ */ new Set(),
322
+ effectiveTimeoutByKey: buildEffectiveTimeoutByKey(params.itemTests),
323
+ trackingEnabled: params.settings.testing.record_results_to_items === true,
324
+ trackingAuthor: resolveAuthor(void 0, params.settings.author_default),
325
+ trackingRunId: resolveTrackedRunId(),
326
+ trackingAttempt: Number.isFinite(trackingParsedAttempt) && trackingParsedAttempt >= 1 ? trackingParsedAttempt : void 0,
327
+ trackingResumedFrom: trackingResumedFrom && trackingResumedFrom.length > 0 ? trackingResumedFrom : void 0,
328
+ runStartedAt: params.runStartedAt
329
+ };
330
+ }
331
+ function initializeTestAllAccumulation(options, linkedTests, filteredItems) {
332
+ const accumulation = {
333
+ results: [],
334
+ passed: 0,
335
+ failed: 0,
336
+ skipped: 0,
337
+ failureCategories: countFailureCategories([]),
338
+ trackingWarnings: []
339
+ };
340
+ const failOnEmptyTestRunTriggered = options.failOnEmptyTestRun === true && linkedTests === 0;
341
+ if (failOnEmptyTestRunTriggered) {
342
+ accumulation.failed += 1;
343
+ accumulation.failureCategories.empty_run += 1;
344
+ accumulation.trackingWarnings.push(`empty_linked_test_selection:items=${filteredItems.length};linked_tests=0;fail_on_empty_test_run=true`);
345
+ }
346
+ return { accumulation, failOnEmptyTestRunTriggered };
347
+ }
348
+ async function runTestAllItems(itemTests, context, accumulation) {
349
+ for (const [itemIndex, entry] of itemTests.entries()) {
350
+ emitTestAllProgress(context.options, `item ${itemIndex + 1}/${itemTests.length} start id=${entry.item.id} linked_tests=${entry.tests.length}`);
351
+ const execution = await runTestAllItem(entry, context);
352
+ mergeFailureCategoryCounts(accumulation.failureCategories, execution.failureCategories);
353
+ accumulation.passed += execution.passed;
354
+ accumulation.failed += execution.failed;
355
+ accumulation.skipped += execution.skipped;
356
+ accumulation.trackingWarnings.push(...execution.trackingWarnings);
357
+ accumulation.results.push(execution.result);
358
+ emitTestAllProgress(context.options, `item ${itemIndex + 1}/${itemTests.length} end id=${entry.item.id} status=${execution.failed === 0 ? "passed" : "failed"} passed=${execution.passed} failed=${execution.failed} skipped=${execution.skipped}`);
359
+ }
360
+ }
361
+ function appendContextPreflightWarning(options, accumulation) {
362
+ if (options.checkContext !== true) {
363
+ return;
364
+ }
365
+ const allRunResults = accumulation.results.flatMap((entry) => entry.run_results);
366
+ const preflight = summarizeContextPreflight(allRunResults);
367
+ accumulation.trackingWarnings.push(`context_preflight:checked_pm_commands=${preflight.checked_pm_commands};tracker_read_commands=${preflight.tracker_read_commands};mismatches=${preflight.mismatches};auto_remediated=${preflight.auto_remediated}`);
368
+ }
369
+ function buildTestAllResult(params) {
370
+ return {
371
+ ok: params.ok,
372
+ totals: {
373
+ items: params.filteredItems.length,
374
+ linked_tests: params.linkedTests,
375
+ passed: params.accumulation.passed,
376
+ failed: params.accumulation.failed,
377
+ skipped: params.accumulation.skipped,
378
+ failure_categories: params.accumulation.failureCategories
379
+ },
380
+ failed: params.accumulation.failed,
381
+ passed: params.accumulation.passed,
382
+ skipped: params.accumulation.skipped,
383
+ fail_on_skipped_triggered: params.failOnSkippedTriggered ? true : void 0,
384
+ fail_on_empty_test_run_triggered: params.failOnEmptyTestRunTriggered ? true : void 0,
385
+ warnings: params.accumulation.trackingWarnings.length > 0 ? params.accumulation.trackingWarnings : void 0,
386
+ results: params.accumulation.results
387
+ };
388
+ }
389
+ async function runTestAll(options, global2) {
390
+ const pmRoot = resolvePmRoot(process.cwd(), global2.path);
391
+ if (!await pathExists(getSettingsPath(pmRoot))) {
392
+ throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);
393
+ }
394
+ const settings = await readSettings(pmRoot);
395
+ const { filteredItems, statusFilter, limitFilter, offsetFilter } = await selectTestAllItems({ pmRoot, settings, options });
396
+ const defaultTimeoutSeconds = parseTimeout(options.timeout);
397
+ const runStartedAt = nowIso();
398
+ const { itemTests, linkedTests } = await collectTestAllItemTests(filteredItems, global2, pmRoot);
399
+ emitTestAllProgress(options, `selection items=${filteredItems.length} linked_tests=${linkedTests}${statusFilter ? ` status=${statusFilter}` : ""}${limitFilter === void 0 ? "" : ` limit=${limitFilter}`}${offsetFilter > 0 ? ` offset=${offsetFilter}` : ""}`);
400
+ const { accumulation, failOnEmptyTestRunTriggered } = initializeTestAllAccumulation(options, linkedTests, filteredItems);
401
+ const itemRunContext = buildTestAllItemRunContext({
402
+ pmRoot,
403
+ settings,
404
+ options,
405
+ itemTests,
406
+ defaultTimeoutSeconds,
407
+ runStartedAt
408
+ });
409
+ await runTestAllItems(itemTests, itemRunContext, accumulation);
410
+ const failOnSkippedTriggered = options.failOnSkipped === true && accumulation.skipped > 0;
411
+ appendContextPreflightWarning(options, accumulation);
412
+ const ok = accumulation.failed === 0 && failOnSkippedTriggered !== true && failOnEmptyTestRunTriggered !== true;
413
+ emitTestAllProgress(options, `end status=${ok ? "passed" : "failed"} items=${filteredItems.length} linked_tests=${linkedTests} passed=${accumulation.passed} failed=${accumulation.failed} skipped=${accumulation.skipped}`);
414
+ return buildTestAllResult({
415
+ ok,
416
+ filteredItems,
417
+ linkedTests,
418
+ accumulation,
419
+ failOnSkippedTriggered,
420
+ failOnEmptyTestRunTriggered
421
+ });
422
+ }
423
+ var _testOnlyTestAll = {
424
+ formatTrackingError
425
+ };
426
+ export {
427
+ _testOnlyTestAll,
428
+ runTestAll
429
+ };
430
+ //# sourceMappingURL=test-all-QD6QAEG7.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../cli/commands/test-all.ts"],
4
+ "sourcesContent": ["/**\n * @module cli/commands/test-all\n *\n * Implements the pm test all command surface and its agent-facing runtime behavior.\n */\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { parseOptionalNumber } from \"../../core/item/parse.js\";\nimport { normalizeStatusInput } from \"../../core/item/status.js\";\nimport { resolveRuntimeStatusRegistry, type RuntimeStatusRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { nowIso } from \"../../core/shared/time.js\";\nimport { listAllFrontMatterLight } from \"../../core/store/item-store.js\";\nimport { getSettingsPath, resolveGlobalPmRoot, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { appendTrackedTestRunSummary } from \"../../core/test/item-test-run-tracking.js\";\nimport { resolveAuthor } from \"../../core/shared/author.js\";\nimport type { ItemStatus, LinkedTest } from \"../../types/index.js\";\nimport {\n countFailureCategories,\n runLinkedTests,\n runTest,\n summarizeContextPreflight,\n type LinkedTestFailureCategory,\n type TestRunResult,\n} from \"./test.js\";\n\n/**\n * Documents the test all command options payload exchanged by command, SDK, and package integrations.\n */\nexport interface TestAllCommandOptions {\n status?: string;\n limit?: string;\n offset?: string;\n timeout?: string;\n progress?: boolean;\n envSet?: string[];\n envClear?: string[];\n sharedHostSafe?: boolean;\n pmContext?: string;\n overrideLinkedPmContext?: boolean;\n failOnContextMismatch?: boolean;\n failOnSkipped?: boolean;\n failOnEmptyTestRun?: boolean;\n requireAssertionsForPm?: boolean;\n checkContext?: boolean;\n autoPmContext?: boolean;\n}\n\n/**\n * Documents the test all item result payload exchanged by command, SDK, and package integrations.\n */\nexport interface TestAllItemResult {\n ok: boolean;\n id: string;\n status: ItemStatus;\n test_count: number;\n passed: number;\n failed: number;\n skipped: number;\n run_results: TestRunResult[];\n failure_categories: Record<LinkedTestFailureCategory, number>;\n}\n\n/**\n * Documents the test all result payload exchanged by command, SDK, and package integrations.\n */\nexport interface TestAllResult {\n ok: boolean;\n totals: {\n items: number;\n linked_tests: number;\n passed: number;\n failed: number;\n skipped: number;\n failure_categories: Record<LinkedTestFailureCategory, number>;\n };\n failed: number;\n passed: number;\n skipped: number;\n fail_on_skipped_triggered?: boolean;\n fail_on_empty_test_run_triggered?: boolean;\n warnings?: string[];\n results: TestAllItemResult[];\n}\n\ntype TestAllSelectedItem = Awaited<ReturnType<typeof listAllFrontMatterLight>>[number];\n\ninterface TestAllItemTests {\n item: TestAllSelectedItem;\n tests: LinkedTest[];\n}\n\ninterface TestAllItemRunContext {\n pmRoot: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n options: TestAllCommandOptions;\n defaultTimeoutSeconds: number | undefined;\n sourceRoots: { projectPmRoot: string; globalPmRoot: string };\n seenTestKeys: Set<string>;\n effectiveTimeoutByKey: Map<string, number | undefined>;\n trackingEnabled: boolean;\n trackingAuthor: string;\n trackingRunId: string;\n trackingAttempt: number | undefined;\n trackingResumedFrom: string | undefined;\n runStartedAt: string;\n}\n\ninterface TestAllItemExecution {\n result: TestAllItemResult;\n passed: number;\n failed: number;\n skipped: number;\n trackingWarnings: string[];\n failureCategories: Record<LinkedTestFailureCategory, number>;\n}\n\ninterface TestAllSelection {\n filteredItems: TestAllSelectedItem[];\n statusFilter: ItemStatus | undefined;\n limitFilter: number | undefined;\n offsetFilter: number;\n}\n\ninterface TestAllAccumulation {\n results: TestAllItemResult[];\n passed: number;\n failed: number;\n skipped: number;\n failureCategories: Record<LinkedTestFailureCategory, number>;\n trackingWarnings: string[];\n}\n\nfunction parseStatus(raw: string | undefined, statusRegistry: RuntimeStatusRegistry): ItemStatus | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const normalized = normalizeStatusInput(raw, statusRegistry);\n if (!normalized) {\n const allowedStatuses = statusRegistry.definitions.map((definition) => definition.id);\n throw new PmCliError(`Invalid --status value \"${raw}\". Allowed: ${allowedStatuses.join(\", \")}`, EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\nfunction parseTimeout(raw: string | undefined): number | undefined {\n if (raw === undefined) {\n return undefined;\n }\n return parseOptionalNumber(raw, \"timeout\");\n}\n\nfunction parseNonNegativeInteger(raw: string | undefined, flag: string): number | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const parsed = Number(raw);\n if (!Number.isInteger(parsed) || parsed < 0) {\n throw new PmCliError(`${flag} must be a non-negative integer`, EXIT_CODE.USAGE);\n }\n return parsed;\n}\n\nfunction formatTrackingError(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\nfunction resolveTrackedRunId(): string {\n const fromEnv = process.env.PM_BACKGROUND_TEST_RUN_ID?.trim();\n if (fromEnv && fromEnv.length > 0) {\n return fromEnv;\n }\n return `test-all-local-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;\n}\n\nfunction normalizeCommand(command: string): string {\n return command.trim().replaceAll(/\\s+/g, \" \");\n}\n\nfunction normalizeEnvSetSignature(value: LinkedTest[\"env_set\"]): string {\n if (!value || Object.keys(value).length === 0) {\n return \"{}\";\n }\n return JSON.stringify(\n Object.fromEntries(Object.entries(value).sort(([left], [right]) => left.localeCompare(right))),\n );\n}\n\nfunction normalizeEnvClearSignature(value: LinkedTest[\"env_clear\"]): string {\n if (!value || value.length === 0) {\n return \"[]\";\n }\n return JSON.stringify([...value].sort((left, right) => left.localeCompare(right)));\n}\n\nfunction normalizePmContextModeSignature(value: LinkedTest[\"pm_context_mode\"]): string {\n const normalized = value?.trim().toLowerCase();\n return normalized && normalized.length > 0 ? normalized : \"none\";\n}\n\nfunction normalizeAssertionSignature(test: LinkedTest): string {\n const normalized = {\n assert_stdout_contains: [...new Set(test.assert_stdout_contains ?? [])].sort((left, right) => left.localeCompare(right)),\n assert_stdout_regex: [...new Set(test.assert_stdout_regex ?? [])].sort((left, right) => left.localeCompare(right)),\n assert_stderr_contains: [...new Set(test.assert_stderr_contains ?? [])].sort((left, right) => left.localeCompare(right)),\n assert_stderr_regex: [...new Set(test.assert_stderr_regex ?? [])].sort((left, right) => left.localeCompare(right)),\n assert_stdout_min_lines: typeof test.assert_stdout_min_lines === \"number\" ? test.assert_stdout_min_lines : undefined,\n assert_json_field_equals: Object.fromEntries(\n Object.entries(test.assert_json_field_equals ?? {}).sort(([left], [right]) => left.localeCompare(right)),\n ),\n assert_json_field_gte: Object.fromEntries(\n Object.entries(test.assert_json_field_gte ?? {}).sort(([left], [right]) => left.localeCompare(right)),\n ),\n };\n return JSON.stringify(normalized);\n}\n\nfunction buildLinkedTestKey(test: LinkedTest): string {\n const command = test.command?.trim();\n if (command && command.length > 0) {\n const envSet = normalizeEnvSetSignature(test.env_set);\n const envClear = normalizeEnvClearSignature(test.env_clear);\n const pmContextMode = normalizePmContextModeSignature(test.pm_context_mode);\n const sharedHostSafe = test.shared_host_safe === true ? \"true\" : \"false\";\n const assertions = normalizeAssertionSignature(test);\n return `command:${test.scope}:${normalizeCommand(command)}:${envSet}:${envClear}:${pmContextMode}:${sharedHostSafe}:${assertions}`;\n }\n const linkedPath = test.path?.trim() ?? \"\";\n return `path:${test.scope}:${linkedPath}`;\n}\n\nfunction maxTimeoutSeconds(current: number | undefined, candidate: number | undefined): number | undefined {\n if (candidate === undefined) {\n /* c8 ignore next - exercised implicitly by duplicate timeout normalization */\n return current;\n }\n if (current === undefined || candidate > current) {\n return candidate;\n }\n return current;\n}\n\nfunction countStatuses(runResults: TestRunResult[]): { passed: number; failed: number; skipped: number } {\n let passed = 0;\n let failed = 0;\n let skipped = 0;\n for (const result of runResults) {\n if (result.status === \"passed\") {\n passed += 1;\n continue;\n }\n if (result.status === \"failed\") {\n failed += 1;\n continue;\n }\n skipped += 1;\n }\n return { passed, failed, skipped };\n}\n\nfunction mergeFailureCategoryCounts(\n target: Record<LinkedTestFailureCategory, number>,\n source: Record<LinkedTestFailureCategory, number>,\n): void {\n for (const [key, value] of Object.entries(source)) {\n target[key as LinkedTestFailureCategory] += value;\n }\n}\n\nfunction emitTestAllProgress(options: TestAllCommandOptions, message: string): void {\n if (options.progress !== true) {\n return;\n }\n try {\n process.stderr.write(`[pm test-all] ${message}\\n`);\n } catch {\n // Ignore transient stderr write failures.\n }\n}\n\nasync function collectTestAllItemTests(\n filteredItems: TestAllSelectedItem[],\n global: GlobalOptions,\n pmRoot: string,\n): Promise<{ itemTests: TestAllItemTests[]; linkedTests: number }> {\n const itemTests: TestAllItemTests[] = [];\n let linkedTests = 0;\n for (const item of filteredItems) {\n const readResult = await runTest(\n item.id,\n { run: false },\n {\n ...global,\n path: pmRoot,\n },\n );\n linkedTests += readResult.tests.length;\n itemTests.push({ item, tests: readResult.tests });\n }\n return { itemTests, linkedTests };\n}\n\nasync function selectTestAllItems(params: {\n pmRoot: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n options: TestAllCommandOptions;\n}): Promise<TestAllSelection> {\n const statusRegistry = resolveRuntimeStatusRegistry(params.settings.schema);\n const typeRegistry = resolveItemTypeRegistry(params.settings, getActiveExtensionRegistrations());\n const statusFilter = parseStatus(params.options.status, statusRegistry);\n const limitFilter = parseNonNegativeInteger(params.options.limit, \"--limit\");\n const offsetFilter = parseNonNegativeInteger(params.options.offset, \"--offset\") ?? 0;\n const allItems = await listAllFrontMatterLight(\n params.pmRoot,\n params.settings.item_format,\n typeRegistry.type_to_folder,\n undefined,\n params.settings.schema,\n );\n const statusFilteredItems = allItems\n .filter((item) => (statusFilter ? item.status === statusFilter : true))\n .sort((a, b) => a.id.localeCompare(b.id));\n const filteredItems =\n limitFilter === undefined\n ? statusFilteredItems.slice(offsetFilter)\n : statusFilteredItems.slice(offsetFilter, offsetFilter + limitFilter);\n return { filteredItems, statusFilter, limitFilter, offsetFilter };\n}\n\nfunction buildEffectiveTimeoutByKey(itemTests: TestAllItemTests[]): Map<string, number | undefined> {\n const effectiveTimeoutByKey = new Map<string, number | undefined>();\n for (const { tests } of itemTests) {\n for (const test of tests) {\n const key = buildLinkedTestKey(test);\n if (!effectiveTimeoutByKey.has(key)) {\n effectiveTimeoutByKey.set(key, test.timeout_seconds);\n continue;\n }\n effectiveTimeoutByKey.set(key, maxTimeoutSeconds(effectiveTimeoutByKey.get(key), test.timeout_seconds));\n }\n }\n return effectiveTimeoutByKey;\n}\n\nasync function runTestAllItem(\n entry: TestAllItemTests,\n context: TestAllItemRunContext,\n): Promise<TestAllItemExecution> {\n const testsToRun: LinkedTest[] = [];\n const keyedTests = entry.tests.map((test) => {\n const key = buildLinkedTestKey(test);\n const duplicate = context.seenTestKeys.has(key);\n if (!duplicate) {\n context.seenTestKeys.add(key);\n const effectiveTimeoutSeconds = context.effectiveTimeoutByKey.get(key);\n testsToRun.push(effectiveTimeoutSeconds === undefined ? test : { ...test, timeout_seconds: effectiveTimeoutSeconds });\n }\n return { test, key, duplicate };\n });\n\n const executedResults =\n testsToRun.length > 0\n ? await runLinkedTests(testsToRun, context.defaultTimeoutSeconds, {\n progress: context.options.progress,\n sourceRoots: context.sourceRoots,\n envSet: context.options.envSet,\n envClear: context.options.envClear,\n sharedHostSafe: context.options.sharedHostSafe,\n pmContext: context.options.pmContext,\n overrideLinkedPmContext: context.options.overrideLinkedPmContext,\n failOnContextMismatch: context.options.failOnContextMismatch,\n failOnEmptyTestRun: context.options.failOnEmptyTestRun,\n requireAssertionsForPm: context.options.requireAssertionsForPm,\n checkContext: context.options.checkContext,\n autoPmContext: context.options.autoPmContext,\n })\n : [];\n let executedIndex = 0;\n const runResults = keyedTests.map(({ test, key, duplicate }) => {\n if (!duplicate) {\n const executed = executedResults[executedIndex];\n executedIndex += 1;\n return executed;\n }\n return {\n command: test.command,\n path: test.path,\n status: \"skipped\" as const,\n error: `Duplicate linked test skipped (key=${key}).`,\n };\n });\n const summary = countStatuses(runResults);\n const failureCategories = countFailureCategories(runResults);\n const trackingWarnings = await appendTestAllItemTracking(entry, summary, context);\n return {\n passed: summary.passed,\n failed: summary.failed,\n skipped: summary.skipped,\n trackingWarnings,\n failureCategories,\n result: {\n ok: summary.failed === 0 && !(context.options.failOnSkipped === true && summary.skipped > 0),\n id: entry.item.id,\n status: entry.item.status,\n test_count: entry.tests.length,\n passed: summary.passed,\n failed: summary.failed,\n skipped: summary.skipped,\n run_results: runResults,\n failure_categories: failureCategories,\n },\n };\n}\n\nasync function appendTestAllItemTracking(\n entry: TestAllItemTests,\n summary: { passed: number; failed: number; skipped: number },\n context: TestAllItemRunContext,\n): Promise<string[]> {\n if (!context.trackingEnabled) {\n return [];\n }\n try {\n await appendTrackedTestRunSummary({\n pmRoot: context.pmRoot,\n settings: context.settings,\n itemId: entry.item.id,\n author: context.trackingAuthor,\n message: `Track test-all run summary (${context.trackingRunId})`,\n entry: {\n run_id: context.trackingRunId,\n kind: \"test-all\",\n status: summary.failed > 0 || (context.options.failOnSkipped === true && summary.skipped > 0) ? \"failed\" : \"passed\",\n started_at: context.runStartedAt,\n finished_at: nowIso(),\n recorded_at: nowIso(),\n attempt: context.trackingAttempt,\n resumed_from: context.trackingResumedFrom,\n passed: summary.passed,\n failed: summary.failed,\n skipped: summary.skipped,\n items: 1,\n linked_tests: entry.tests.length,\n fail_on_skipped_triggered: context.options.failOnSkipped === true && summary.skipped > 0 ? true : undefined,\n },\n });\n } catch (error: unknown) {\n return [`test_result_tracking_failed:${entry.item.id}:${formatTrackingError(error)}`];\n }\n return [];\n}\n\nfunction buildTestAllItemRunContext(params: {\n pmRoot: string;\n settings: Awaited<ReturnType<typeof readSettings>>;\n options: TestAllCommandOptions;\n itemTests: TestAllItemTests[];\n defaultTimeoutSeconds: number | undefined;\n runStartedAt: string;\n}): TestAllItemRunContext {\n const trackingAttemptRaw = process.env.PM_BACKGROUND_TEST_RUN_ATTEMPT?.trim();\n const trackingParsedAttempt = trackingAttemptRaw ? Number.parseInt(trackingAttemptRaw, 10) : Number.NaN;\n const trackingResumedFrom = process.env.PM_BACKGROUND_TEST_RUN_RESUMED_FROM?.trim();\n return {\n pmRoot: params.pmRoot,\n settings: params.settings,\n options: params.options,\n defaultTimeoutSeconds: params.defaultTimeoutSeconds,\n sourceRoots: {\n projectPmRoot: params.pmRoot,\n globalPmRoot: resolveGlobalPmRoot(process.cwd()),\n },\n seenTestKeys: new Set<string>(),\n effectiveTimeoutByKey: buildEffectiveTimeoutByKey(params.itemTests),\n trackingEnabled: params.settings.testing.record_results_to_items === true,\n trackingAuthor: resolveAuthor(undefined, params.settings.author_default),\n trackingRunId: resolveTrackedRunId(),\n trackingAttempt: Number.isFinite(trackingParsedAttempt) && trackingParsedAttempt >= 1 ? trackingParsedAttempt : undefined,\n trackingResumedFrom: trackingResumedFrom && trackingResumedFrom.length > 0 ? trackingResumedFrom : undefined,\n runStartedAt: params.runStartedAt,\n };\n}\n\nfunction initializeTestAllAccumulation(\n options: TestAllCommandOptions,\n linkedTests: number,\n filteredItems: TestAllSelectedItem[],\n): { accumulation: TestAllAccumulation; failOnEmptyTestRunTriggered: boolean } {\n const accumulation: TestAllAccumulation = {\n results: [],\n passed: 0,\n failed: 0,\n skipped: 0,\n failureCategories: countFailureCategories([]),\n trackingWarnings: [],\n };\n const failOnEmptyTestRunTriggered = options.failOnEmptyTestRun === true && linkedTests === 0;\n if (failOnEmptyTestRunTriggered) {\n accumulation.failed += 1;\n accumulation.failureCategories.empty_run += 1;\n accumulation.trackingWarnings.push(\n `empty_linked_test_selection:items=${filteredItems.length};linked_tests=0;fail_on_empty_test_run=true`,\n );\n }\n return { accumulation, failOnEmptyTestRunTriggered };\n}\n\nasync function runTestAllItems(\n itemTests: TestAllItemTests[],\n context: TestAllItemRunContext,\n accumulation: TestAllAccumulation,\n): Promise<void> {\n for (const [itemIndex, entry] of itemTests.entries()) {\n emitTestAllProgress(context.options, `item ${itemIndex + 1}/${itemTests.length} start id=${entry.item.id} linked_tests=${entry.tests.length}`);\n const execution = await runTestAllItem(entry, context);\n mergeFailureCategoryCounts(accumulation.failureCategories, execution.failureCategories);\n accumulation.passed += execution.passed;\n accumulation.failed += execution.failed;\n accumulation.skipped += execution.skipped;\n accumulation.trackingWarnings.push(...execution.trackingWarnings);\n accumulation.results.push(execution.result);\n emitTestAllProgress(\n context.options,\n `item ${itemIndex + 1}/${itemTests.length} end id=${entry.item.id}` +\n ` status=${execution.failed === 0 ? \"passed\" : \"failed\"}` +\n ` passed=${execution.passed} failed=${execution.failed} skipped=${execution.skipped}`,\n );\n }\n}\n\nfunction appendContextPreflightWarning(options: TestAllCommandOptions, accumulation: TestAllAccumulation): void {\n if (options.checkContext !== true) {\n return;\n }\n const allRunResults = accumulation.results.flatMap((entry) => entry.run_results);\n const preflight = summarizeContextPreflight(allRunResults);\n accumulation.trackingWarnings.push(\n `context_preflight:checked_pm_commands=${preflight.checked_pm_commands};` +\n `tracker_read_commands=${preflight.tracker_read_commands};` +\n `mismatches=${preflight.mismatches};` +\n `auto_remediated=${preflight.auto_remediated}`,\n );\n}\n\nfunction buildTestAllResult(params: {\n ok: boolean;\n filteredItems: TestAllSelectedItem[];\n linkedTests: number;\n accumulation: TestAllAccumulation;\n failOnSkippedTriggered: boolean;\n failOnEmptyTestRunTriggered: boolean;\n}): TestAllResult {\n return {\n ok: params.ok,\n totals: {\n items: params.filteredItems.length,\n linked_tests: params.linkedTests,\n passed: params.accumulation.passed,\n failed: params.accumulation.failed,\n skipped: params.accumulation.skipped,\n failure_categories: params.accumulation.failureCategories,\n },\n failed: params.accumulation.failed,\n passed: params.accumulation.passed,\n skipped: params.accumulation.skipped,\n fail_on_skipped_triggered: params.failOnSkippedTriggered ? true : undefined,\n fail_on_empty_test_run_triggered: params.failOnEmptyTestRunTriggered ? true : undefined,\n warnings: params.accumulation.trackingWarnings.length > 0 ? params.accumulation.trackingWarnings : undefined,\n results: params.accumulation.results,\n };\n}\n\n/**\n * Implements run test all for the public runtime surface of this module.\n */\nexport async function runTestAll(options: TestAllCommandOptions, global: GlobalOptions): Promise<TestAllResult> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n\n const settings = await readSettings(pmRoot);\n const { filteredItems, statusFilter, limitFilter, offsetFilter } = await selectTestAllItems({ pmRoot, settings, options });\n const defaultTimeoutSeconds = parseTimeout(options.timeout);\n const runStartedAt = nowIso();\n const { itemTests, linkedTests } = await collectTestAllItemTests(filteredItems, global, pmRoot);\n emitTestAllProgress(\n options,\n `selection items=${filteredItems.length} linked_tests=${linkedTests}` +\n `${statusFilter ? ` status=${statusFilter}` : \"\"}` +\n `${limitFilter === undefined ? \"\" : ` limit=${limitFilter}`}` +\n `${offsetFilter > 0 ? ` offset=${offsetFilter}` : \"\"}`,\n );\n\n const { accumulation, failOnEmptyTestRunTriggered } = initializeTestAllAccumulation(options, linkedTests, filteredItems);\n const itemRunContext = buildTestAllItemRunContext({\n pmRoot,\n settings,\n options,\n itemTests,\n defaultTimeoutSeconds,\n runStartedAt,\n });\n await runTestAllItems(itemTests, itemRunContext, accumulation);\n\n const failOnSkippedTriggered = options.failOnSkipped === true && accumulation.skipped > 0;\n appendContextPreflightWarning(options, accumulation);\n\n const ok = accumulation.failed === 0 && failOnSkippedTriggered !== true && failOnEmptyTestRunTriggered !== true;\n emitTestAllProgress(\n options,\n `end status=${ok ? \"passed\" : \"failed\"} items=${filteredItems.length} linked_tests=${linkedTests}` +\n ` passed=${accumulation.passed} failed=${accumulation.failed} skipped=${accumulation.skipped}`,\n );\n\n return buildTestAllResult({\n ok,\n filteredItems,\n linkedTests,\n accumulation,\n failOnSkippedTriggered,\n failOnEmptyTestRunTriggered,\n });\n}\n\nexport const _testOnlyTestAll = {\n formatTrackingError,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["global"]
7
+ }