@unbrained/pm-cli 2026.6.30 → 2026.7.2

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 (628) hide show
  1. package/AGENTS.md +2 -0
  2. package/CHANGELOG.md +26 -0
  3. package/dist/cli/bootstrap-args.js +89 -79
  4. package/dist/cli/bootstrap-args.js.map +1 -1
  5. package/dist/cli/commander-usage.d.ts +2 -0
  6. package/dist/cli/commander-usage.js +58 -47
  7. package/dist/cli/commander-usage.js.map +1 -1
  8. package/dist/cli/commands/aggregate.js +102 -79
  9. package/dist/cli/commands/aggregate.js.map +1 -1
  10. package/dist/cli/commands/calendar.js +339 -303
  11. package/dist/cli/commands/calendar.js.map +1 -1
  12. package/dist/cli/commands/close-many.js +89 -68
  13. package/dist/cli/commands/close-many.js.map +1 -1
  14. package/dist/cli/commands/close.js +157 -129
  15. package/dist/cli/commands/close.js.map +1 -1
  16. package/dist/cli/commands/comments-audit.js +50 -42
  17. package/dist/cli/commands/comments-audit.js.map +1 -1
  18. package/dist/cli/commands/config.d.ts +2 -0
  19. package/dist/cli/commands/config.js +443 -879
  20. package/dist/cli/commands/config.js.map +1 -1
  21. package/dist/cli/commands/context.js +365 -287
  22. package/dist/cli/commands/context.js.map +1 -1
  23. package/dist/cli/commands/contracts.js +352 -238
  24. package/dist/cli/commands/contracts.js.map +1 -1
  25. package/dist/cli/commands/create.js +483 -434
  26. package/dist/cli/commands/create.js.map +1 -1
  27. package/dist/cli/commands/dedupe-audit.js +46 -39
  28. package/dist/cli/commands/dedupe-audit.js.map +1 -1
  29. package/dist/cli/commands/dedupe-merge.js +88 -69
  30. package/dist/cli/commands/dedupe-merge.js.map +1 -1
  31. package/dist/cli/commands/extension/bundled-catalog.js +59 -46
  32. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  33. package/dist/cli/commands/extension/doctor.js +129 -78
  34. package/dist/cli/commands/extension/doctor.js.map +1 -1
  35. package/dist/cli/commands/extension/managed-state.js +101 -57
  36. package/dist/cli/commands/extension/managed-state.js.map +1 -1
  37. package/dist/cli/commands/extension/scaffold.d.ts +7 -0
  38. package/dist/cli/commands/extension/scaffold.js +214 -186
  39. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  40. package/dist/cli/commands/extension.d.ts +6 -1
  41. package/dist/cli/commands/extension.js +1034 -902
  42. package/dist/cli/commands/extension.js.map +1 -1
  43. package/dist/cli/commands/get.js +114 -81
  44. package/dist/cli/commands/get.js.map +1 -1
  45. package/dist/cli/commands/health.d.ts +17 -0
  46. package/dist/cli/commands/health.js +446 -307
  47. package/dist/cli/commands/health.js.map +1 -1
  48. package/dist/cli/commands/history-compact.js +209 -140
  49. package/dist/cli/commands/history-compact.js.map +1 -1
  50. package/dist/cli/commands/history-redact.js +162 -119
  51. package/dist/cli/commands/history-redact.js.map +1 -1
  52. package/dist/cli/commands/history-repair.js +120 -85
  53. package/dist/cli/commands/history-repair.js.map +1 -1
  54. package/dist/cli/commands/init.d.ts +8 -2
  55. package/dist/cli/commands/init.js +263 -162
  56. package/dist/cli/commands/init.js.map +1 -1
  57. package/dist/cli/commands/list-filter-shared.js +55 -48
  58. package/dist/cli/commands/list-filter-shared.js.map +1 -1
  59. package/dist/cli/commands/list.js +152 -102
  60. package/dist/cli/commands/list.js.map +1 -1
  61. package/dist/cli/commands/next.js +49 -32
  62. package/dist/cli/commands/next.js.map +1 -1
  63. package/dist/cli/commands/plan.js +373 -298
  64. package/dist/cli/commands/plan.js.map +1 -1
  65. package/dist/cli/commands/recurrence-parsers.js +43 -25
  66. package/dist/cli/commands/recurrence-parsers.js.map +1 -1
  67. package/dist/cli/commands/reindex.d.ts +21 -5
  68. package/dist/cli/commands/reindex.js +345 -205
  69. package/dist/cli/commands/reindex.js.map +1 -1
  70. package/dist/cli/commands/restore.d.ts +8 -7
  71. package/dist/cli/commands/restore.js +105 -69
  72. package/dist/cli/commands/restore.js.map +1 -1
  73. package/dist/cli/commands/schema.js +33 -30
  74. package/dist/cli/commands/schema.js.map +1 -1
  75. package/dist/cli/commands/search.d.ts +10 -2
  76. package/dist/cli/commands/search.js +595 -536
  77. package/dist/cli/commands/search.js.map +1 -1
  78. package/dist/cli/commands/telemetry.js +98 -87
  79. package/dist/cli/commands/telemetry.js.map +1 -1
  80. package/dist/cli/commands/test-all.js +237 -168
  81. package/dist/cli/commands/test-all.js.map +1 -1
  82. package/dist/cli/commands/test.d.ts +6 -5
  83. package/dist/cli/commands/test.js +530 -464
  84. package/dist/cli/commands/test.js.map +1 -1
  85. package/dist/cli/commands/update-many.js +57 -42
  86. package/dist/cli/commands/update-many.js.map +1 -1
  87. package/dist/cli/commands/update.d.ts +1 -1
  88. package/dist/cli/commands/update.js +764 -747
  89. package/dist/cli/commands/update.js.map +1 -1
  90. package/dist/cli/commands/validate.d.ts +18 -1
  91. package/dist/cli/commands/validate.js +466 -343
  92. package/dist/cli/commands/validate.js.map +1 -1
  93. package/dist/cli/error-guidance.js +399 -357
  94. package/dist/cli/error-guidance.js.map +1 -1
  95. package/dist/cli/extension-command-options.js +48 -21
  96. package/dist/cli/extension-command-options.js.map +1 -1
  97. package/dist/cli/main.d.ts +47 -0
  98. package/dist/cli/main.js +428 -341
  99. package/dist/cli/main.js.map +1 -1
  100. package/dist/cli/migration-gates.js +22 -45
  101. package/dist/cli/migration-gates.js.map +1 -1
  102. package/dist/cli/register-list-query.js +94 -105
  103. package/dist/cli/register-list-query.js.map +1 -1
  104. package/dist/cli/register-mutation.js +400 -416
  105. package/dist/cli/register-mutation.js.map +1 -1
  106. package/dist/cli/register-operations.js +86 -66
  107. package/dist/cli/register-operations.js.map +1 -1
  108. package/dist/cli/register-setup.js +120 -101
  109. package/dist/cli/register-setup.js.map +1 -1
  110. package/dist/cli/registration-helpers.js +117 -122
  111. package/dist/cli/registration-helpers.js.map +1 -1
  112. package/dist/cli-bundle/chunks/{activity-MVSEND6D.js → activity-CUC4JY3U.js} +9 -9
  113. package/dist/cli-bundle/chunks/activity-WEIEMM73.js +16 -0
  114. package/dist/cli-bundle/chunks/{aggregate-MOC4TR2G.js → aggregate-DKUTRY6R.js} +109 -85
  115. package/dist/cli-bundle/chunks/aggregate-DKUTRY6R.js.map +1 -0
  116. package/dist/cli-bundle/chunks/{aggregate-XJHLZQ5X.js → aggregate-SW5PNGCS.js} +108 -84
  117. package/dist/cli-bundle/chunks/{aggregate-XJHLZQ5X.js.map → aggregate-SW5PNGCS.js.map} +2 -2
  118. package/dist/cli-bundle/chunks/{append-KDHT4GHI.js → append-H32VOR2Y.js} +6 -6
  119. package/dist/cli-bundle/chunks/{append-LEDBAM3K.js → append-UBM632FK.js} +6 -6
  120. package/dist/cli-bundle/chunks/{chunk-Z55WX4IQ.js → chunk-2227673O.js} +158 -114
  121. package/dist/cli-bundle/chunks/chunk-2227673O.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-SJZTPVFT.js → chunk-2ASNV4DH.js} +4 -4
  123. package/dist/cli-bundle/chunks/{chunk-JVQ7UOYC.js → chunk-2CHRYUXL.js} +2 -2
  124. package/dist/cli-bundle/chunks/{chunk-QE5UFCCO.js → chunk-2KWL5NPW.js} +42 -27
  125. package/dist/cli-bundle/chunks/chunk-2KWL5NPW.js.map +1 -0
  126. package/dist/cli-bundle/chunks/{chunk-ZEATCVAC.js → chunk-36UGKF4O.js} +21 -29
  127. package/dist/cli-bundle/chunks/chunk-36UGKF4O.js.map +7 -0
  128. package/dist/cli-bundle/chunks/{chunk-JZG5ADVE.js → chunk-3AZUFQK6.js} +1103 -963
  129. package/dist/cli-bundle/chunks/chunk-3AZUFQK6.js.map +1 -0
  130. package/dist/cli-bundle/chunks/{chunk-DRPF274X.js → chunk-3LCUASYG.js} +2 -2
  131. package/dist/cli-bundle/chunks/{chunk-JJ4SG243.js → chunk-3Q2HBMTI.js} +2 -2
  132. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +87 -0
  133. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-GF7EAR22.js → chunk-4NUOWFBT.js} +109 -72
  135. package/dist/cli-bundle/chunks/chunk-4NUOWFBT.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-TQ6E76BE.js → chunk-55XRYWEG.js} +6 -6
  137. package/dist/cli-bundle/chunks/{chunk-5IRVSKPS.js → chunk-5GVTFFTC.js} +150 -224
  138. package/dist/cli-bundle/chunks/chunk-5GVTFFTC.js.map +1 -0
  139. package/dist/cli-bundle/chunks/{chunk-CHRNYKNI.js → chunk-5PGBHRY3.js} +41 -26
  140. package/dist/cli-bundle/chunks/chunk-5PGBHRY3.js.map +7 -0
  141. package/dist/cli-bundle/chunks/{chunk-53ARXF2O.js → chunk-66Z3X7ZG.js} +261 -161
  142. package/dist/cli-bundle/chunks/chunk-66Z3X7ZG.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{chunk-A3UNLXNJ.js → chunk-6ITZLD4T.js} +738 -688
  144. package/dist/cli-bundle/chunks/chunk-6ITZLD4T.js.map +7 -0
  145. package/dist/cli-bundle/chunks/{chunk-JTRKME24.js → chunk-6YCYF2AI.js} +262 -162
  146. package/dist/cli-bundle/chunks/chunk-6YCYF2AI.js.map +1 -0
  147. package/dist/cli-bundle/chunks/{chunk-RM6MHL6A.js → chunk-6ZMBJRDJ.js} +580 -467
  148. package/dist/cli-bundle/chunks/chunk-6ZMBJRDJ.js.map +7 -0
  149. package/dist/cli-bundle/chunks/{chunk-RPRW26NG.js → chunk-7MYWF4ZX.js} +110 -73
  150. package/dist/cli-bundle/chunks/chunk-7MYWF4ZX.js.map +1 -0
  151. package/dist/cli-bundle/chunks/{chunk-SNUK7H5J.js → chunk-7NSPKJUS.js} +716 -606
  152. package/dist/cli-bundle/chunks/chunk-7NSPKJUS.js.map +7 -0
  153. package/dist/cli-bundle/chunks/{chunk-KYDYQMNW.js → chunk-7TH5NMVB.js} +95 -53
  154. package/dist/cli-bundle/chunks/chunk-7TH5NMVB.js.map +7 -0
  155. package/dist/cli-bundle/chunks/{chunk-VD3LKZFX.js → chunk-7W4H4K26.js} +739 -689
  156. package/dist/cli-bundle/chunks/chunk-7W4H4K26.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{chunk-IBU2LLWM.js → chunk-A6VOGKBA.js} +6 -6
  158. package/dist/cli-bundle/chunks/{chunk-MLHX6DN5.js → chunk-AIAIXG7I.js} +2 -2
  159. package/dist/cli-bundle/chunks/{chunk-NIBP3I7A.js → chunk-AJEBCRIY.js} +128 -126
  160. package/dist/cli-bundle/chunks/chunk-AJEBCRIY.js.map +1 -0
  161. package/dist/cli-bundle/chunks/{chunk-VZDBVEZR.js → chunk-B4O5S7I3.js} +79 -57
  162. package/dist/cli-bundle/chunks/{chunk-VZDBVEZR.js.map → chunk-B4O5S7I3.js.map} +2 -2
  163. package/dist/cli-bundle/chunks/{chunk-5ABGFWR4.js → chunk-BTX5MIQF.js} +2 -2
  164. package/dist/cli-bundle/chunks/chunk-BVZZN2LH.js +809 -0
  165. package/dist/cli-bundle/chunks/chunk-BVZZN2LH.js.map +7 -0
  166. package/dist/cli-bundle/chunks/{chunk-3JWQCLR5.js → chunk-CYBDUHNO.js} +3 -3
  167. package/dist/cli-bundle/chunks/{chunk-WFJZDUM7.js → chunk-CZPVDLD2.js} +4 -4
  168. package/dist/cli-bundle/chunks/{chunk-FDEVKXC4.js → chunk-EMPGXBUF.js} +22 -30
  169. package/dist/cli-bundle/chunks/chunk-EMPGXBUF.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{chunk-HUYYMTGW.js → chunk-EUKTMRN3.js} +2 -2
  171. package/dist/cli-bundle/chunks/{chunk-EVWYAG46.js → chunk-FFOQHGNH.js} +6 -6
  172. package/dist/cli-bundle/chunks/{chunk-IF4ERU6A.js → chunk-GFMSLORL.js} +6 -6
  173. package/dist/cli-bundle/chunks/{chunk-IZQOJR2B.js → chunk-GRRG3MCT.js} +198 -189
  174. package/dist/cli-bundle/chunks/chunk-GRRG3MCT.js.map +7 -0
  175. package/dist/cli-bundle/chunks/{chunk-IDYCAK35.js → chunk-H4GRLYJS.js} +3 -3
  176. package/dist/cli-bundle/chunks/{chunk-VMY7MZEM.js → chunk-HQTPRV4D.js} +6 -6
  177. package/dist/cli-bundle/chunks/{chunk-CY5IJMUM.js → chunk-I66WE2HE.js} +712 -602
  178. package/dist/cli-bundle/chunks/chunk-I66WE2HE.js.map +1 -0
  179. package/dist/cli-bundle/chunks/{chunk-ZFIEEDTJ.js → chunk-IEEJQCZ4.js} +509 -363
  180. package/dist/cli-bundle/chunks/chunk-IEEJQCZ4.js.map +7 -0
  181. package/dist/cli-bundle/chunks/{chunk-DU66JUGT.js → chunk-IG5JYZGU.js} +488 -420
  182. package/dist/cli-bundle/chunks/chunk-IG5JYZGU.js.map +7 -0
  183. package/dist/cli-bundle/chunks/{chunk-7L6TXOOC.js → chunk-JMK5GCK2.js} +2 -2
  184. package/dist/cli-bundle/chunks/{chunk-LBH7UYKY.js → chunk-JXAUVO6X.js} +258 -169
  185. package/dist/cli-bundle/chunks/{chunk-LBH7UYKY.js.map → chunk-JXAUVO6X.js.map} +2 -2
  186. package/dist/cli-bundle/chunks/{chunk-KRASIL6M.js → chunk-K2VYLVX4.js} +2 -2
  187. package/dist/cli-bundle/chunks/{chunk-4YIMPANT.js → chunk-KCO2EAN5.js} +3 -3
  188. package/dist/cli-bundle/chunks/{chunk-T7ZMQI4J.js → chunk-KIYCOJ63.js} +198 -189
  189. package/dist/cli-bundle/chunks/chunk-KIYCOJ63.js.map +1 -0
  190. package/dist/cli-bundle/chunks/{chunk-D6USKAMA.js → chunk-KLXF7NCC.js} +2 -2
  191. package/dist/cli-bundle/chunks/{chunk-V3KLX7U7.js → chunk-KN3URLKS.js} +510 -364
  192. package/dist/cli-bundle/chunks/chunk-KN3URLKS.js.map +1 -0
  193. package/dist/cli-bundle/chunks/{chunk-OB3RJV5F.js → chunk-LRKMWUUV.js} +2 -2
  194. package/dist/cli-bundle/chunks/{chunk-74PUWBGN.js → chunk-LTRAF2D7.js} +3 -3
  195. package/dist/cli-bundle/chunks/{chunk-5T6WPLRO.js → chunk-MNBPX5JS.js} +394 -354
  196. package/dist/cli-bundle/chunks/chunk-MNBPX5JS.js.map +7 -0
  197. package/dist/cli-bundle/chunks/{chunk-4TXTVZL3.js → chunk-MRD4T5LF.js} +2 -2
  198. package/dist/cli-bundle/chunks/{chunk-E2Q2ULMR.js → chunk-N2JSWVWG.js} +4 -4
  199. package/dist/cli-bundle/chunks/{chunk-7WDETKGP.js → chunk-N3QCJS4M.js} +1105 -965
  200. package/dist/cli-bundle/chunks/chunk-N3QCJS4M.js.map +7 -0
  201. package/dist/cli-bundle/chunks/{chunk-KGQ3W65B.js → chunk-NRZS637N.js} +258 -169
  202. package/dist/cli-bundle/chunks/chunk-NRZS637N.js.map +1 -0
  203. package/dist/cli-bundle/chunks/chunk-OTUJZKGI.js +799 -0
  204. package/dist/cli-bundle/chunks/chunk-OTUJZKGI.js.map +1 -0
  205. package/dist/cli-bundle/chunks/{chunk-ZIE6WXJ2.js → chunk-Q6K2OACU.js} +153 -90
  206. package/dist/cli-bundle/chunks/chunk-Q6K2OACU.js.map +1 -0
  207. package/dist/cli-bundle/chunks/{chunk-K46GQ265.js → chunk-Q6NXOHS6.js} +489 -421
  208. package/dist/cli-bundle/chunks/chunk-Q6NXOHS6.js.map +1 -0
  209. package/dist/cli-bundle/chunks/{chunk-7RIJGN4R.js → chunk-QH3FSKRJ.js} +2 -2
  210. package/dist/cli-bundle/chunks/{chunk-UB3V5WUI.js → chunk-RM37OPYK.js} +394 -354
  211. package/dist/cli-bundle/chunks/chunk-RM37OPYK.js.map +1 -0
  212. package/dist/cli-bundle/chunks/{chunk-OUQ5JEFM.js → chunk-S62UANU7.js} +3 -3
  213. package/dist/cli-bundle/chunks/{chunk-NO6Y6FB2.js → chunk-SPM2XLWI.js} +37 -28
  214. package/dist/cli-bundle/chunks/chunk-SPM2XLWI.js.map +7 -0
  215. package/dist/cli-bundle/chunks/{chunk-DORJSBGJ.js → chunk-SYNKD3ZG.js} +127 -125
  216. package/dist/cli-bundle/chunks/chunk-SYNKD3ZG.js.map +7 -0
  217. package/dist/cli-bundle/chunks/{chunk-6YRAMXRS.js → chunk-SYVUU7EK.js} +581 -468
  218. package/dist/cli-bundle/chunks/chunk-SYVUU7EK.js.map +1 -0
  219. package/dist/cli-bundle/chunks/{chunk-D5LYZVGB.js → chunk-TPOFWBMY.js} +95 -53
  220. package/dist/cli-bundle/chunks/chunk-TPOFWBMY.js.map +1 -0
  221. package/dist/cli-bundle/chunks/{chunk-IHXXUIXS.js → chunk-TTHCEV5Q.js} +92 -77
  222. package/dist/cli-bundle/chunks/chunk-TTHCEV5Q.js.map +1 -0
  223. package/dist/cli-bundle/chunks/{chunk-DLDCPF5X.js → chunk-U2BEEM2X.js} +3 -3
  224. package/dist/cli-bundle/chunks/{chunk-Z5BM2FKQ.js → chunk-UGLU6Q2I.js} +91 -76
  225. package/dist/cli-bundle/chunks/chunk-UGLU6Q2I.js.map +7 -0
  226. package/dist/cli-bundle/chunks/{chunk-73PTKMAE.js → chunk-UT73HUPC.js} +3 -3
  227. package/dist/cli-bundle/chunks/{chunk-F7G53BOA.js → chunk-UTSH5GWX.js} +4 -4
  228. package/dist/cli-bundle/chunks/{chunk-AWN4PPH5.js → chunk-UWKEJMZU.js} +157 -113
  229. package/dist/cli-bundle/chunks/chunk-UWKEJMZU.js.map +7 -0
  230. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +84 -0
  231. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +1 -0
  232. package/dist/cli-bundle/chunks/{chunk-KTMMTOIP.js → chunk-W47SML5B.js} +152 -89
  233. package/dist/cli-bundle/chunks/chunk-W47SML5B.js.map +7 -0
  234. package/dist/cli-bundle/chunks/{chunk-UFKNF23C.js → chunk-WJAMWAHZ.js} +157 -118
  235. package/dist/cli-bundle/chunks/chunk-WJAMWAHZ.js.map +7 -0
  236. package/dist/cli-bundle/chunks/{chunk-HIBK6H4S.js → chunk-XCHUVHKU.js} +685 -544
  237. package/dist/cli-bundle/chunks/chunk-XCHUVHKU.js.map +1 -0
  238. package/dist/cli-bundle/chunks/{chunk-DJDXAU74.js → chunk-XEWQKDYZ.js} +685 -544
  239. package/dist/cli-bundle/chunks/chunk-XEWQKDYZ.js.map +7 -0
  240. package/dist/cli-bundle/chunks/{chunk-BOWQWXLI.js → chunk-XTHQWXVC.js} +158 -119
  241. package/dist/cli-bundle/chunks/chunk-XTHQWXVC.js.map +1 -0
  242. package/dist/cli-bundle/chunks/{chunk-6T5ZIWBS.js → chunk-XWGEMNBR.js} +150 -224
  243. package/dist/cli-bundle/chunks/chunk-XWGEMNBR.js.map +7 -0
  244. package/dist/cli-bundle/chunks/{chunk-JIP67N2K.js → chunk-Y4NRKBFW.js} +3 -3
  245. package/dist/cli-bundle/chunks/{chunk-WTRUDJ3R.js → chunk-YLZZ6T54.js} +38 -29
  246. package/dist/cli-bundle/chunks/chunk-YLZZ6T54.js.map +1 -0
  247. package/dist/cli-bundle/chunks/{chunk-FBZ5XAAF.js → chunk-YPKFV2JR.js} +6 -6
  248. package/dist/cli-bundle/chunks/{chunk-OKQ22KTH.js → chunk-Z4DGFQDH.js} +80 -58
  249. package/dist/cli-bundle/chunks/{chunk-OKQ22KTH.js.map → chunk-Z4DGFQDH.js.map} +1 -1
  250. package/dist/cli-bundle/chunks/{chunk-BN3CWK6G.js → chunk-ZNHEYCDD.js} +2 -2
  251. package/dist/cli-bundle/chunks/{chunk-YEDFE4DC.js → chunk-ZNT7KEWE.js} +2 -2
  252. package/dist/cli-bundle/chunks/{claim-HMCLSLUE.js → claim-SENTPZBN.js} +8 -8
  253. package/dist/cli-bundle/chunks/{claim-6NINZYB3.js → claim-Z7MEQCBT.js} +8 -8
  254. package/dist/cli-bundle/chunks/{close-OP3LK7Z2.js → close-424MX4CU.js} +7 -7
  255. package/dist/cli-bundle/chunks/close-YCWQQPDS.js +14 -0
  256. package/dist/cli-bundle/chunks/{close-many-CXJBOWWY.js → close-many-2IV4J2TR.js} +103 -82
  257. package/dist/cli-bundle/chunks/close-many-2IV4J2TR.js.map +1 -0
  258. package/dist/cli-bundle/chunks/{close-many-BFMP6HHK.js → close-many-SWY34BII.js} +102 -81
  259. package/dist/cli-bundle/chunks/close-many-SWY34BII.js.map +7 -0
  260. package/dist/cli-bundle/chunks/{comments-ETHABIY6.js → comments-4FGNTSNV.js} +8 -8
  261. package/dist/cli-bundle/chunks/{comments-MU2WMBUY.js → comments-7YS5MY5X.js} +8 -8
  262. package/dist/cli-bundle/chunks/config-BZJKK7FZ.js +1062 -0
  263. package/dist/cli-bundle/chunks/config-BZJKK7FZ.js.map +1 -0
  264. package/dist/cli-bundle/chunks/config-G74GISC4.js +1072 -0
  265. package/dist/cli-bundle/chunks/config-G74GISC4.js.map +7 -0
  266. package/dist/cli-bundle/chunks/{context-7ZEZV3BV.js → context-LHVKJSPJ.js} +12 -12
  267. package/dist/cli-bundle/chunks/{context-XDI4DKKT.js → context-ZQY54JNS.js} +12 -12
  268. package/dist/cli-bundle/chunks/{contracts-SMOAN5NF.js → contracts-CP2EZJC7.js} +320 -199
  269. package/dist/cli-bundle/chunks/contracts-CP2EZJC7.js.map +7 -0
  270. package/dist/cli-bundle/chunks/{contracts-KP4QAGVW.js → contracts-FIZLMP7O.js} +321 -200
  271. package/dist/cli-bundle/chunks/contracts-FIZLMP7O.js.map +1 -0
  272. package/dist/cli-bundle/chunks/{copy-JJ3KOQW2.js → copy-GYNQQPW2.js} +5 -5
  273. package/dist/cli-bundle/chunks/{copy-CWM6SBY6.js → copy-TLW7JTQT.js} +5 -5
  274. package/dist/cli-bundle/chunks/{create-J5Q2ELZT.js → create-VSKYSOCD.js} +12 -12
  275. package/dist/cli-bundle/chunks/create-XTMAPS7I.js +28 -0
  276. package/dist/cli-bundle/chunks/{delete-2GZLQEUQ.js → delete-4W5JYCEG.js} +5 -5
  277. package/dist/cli-bundle/chunks/{delete-OOQS4KVD.js → delete-ANTOTI2I.js} +5 -5
  278. package/dist/cli-bundle/chunks/{deps-IF4IGL4R.js → deps-HPPE6MJN.js} +5 -5
  279. package/dist/cli-bundle/chunks/{deps-ZVGGCRR6.js → deps-ZQZN54EZ.js} +5 -5
  280. package/dist/cli-bundle/chunks/{docs-NFTBCQQC.js → docs-RPOVFMP3.js} +7 -7
  281. package/dist/cli-bundle/chunks/{docs-2TIFR62T.js → docs-XJNYBJGE.js} +7 -7
  282. package/dist/cli-bundle/chunks/{eval-2F6EH4XN.js → eval-DM6JBZTS.js} +10 -10
  283. package/dist/cli-bundle/chunks/{eval-PFKXQR3B.js → eval-RFBI5FGS.js} +10 -10
  284. package/dist/cli-bundle/chunks/{extension-GMVOIP4O.js → extension-B3YY4WY5.js} +11 -10
  285. package/dist/cli-bundle/chunks/{extension-3LRYX7SW.js → extension-TTSEFQTS.js} +11 -10
  286. package/dist/cli-bundle/chunks/{files-DF3HO6XK.js → files-5D65CHGE.js} +7 -7
  287. package/dist/cli-bundle/chunks/{files-T5ODMETM.js → files-GPIG77EN.js} +7 -7
  288. package/dist/cli-bundle/chunks/{focus-MY5ARIEK.js → focus-C3PEJV2C.js} +6 -6
  289. package/dist/cli-bundle/chunks/{focus-DLXKK4AH.js → focus-ZHN7WIGX.js} +6 -6
  290. package/dist/cli-bundle/chunks/{gc-MDGRR2SU.js → gc-D4JQ6OWN.js} +3 -3
  291. package/dist/cli-bundle/chunks/{gc-FULIVYR4.js → gc-VZIXDL32.js} +3 -3
  292. package/dist/cli-bundle/chunks/{get-VYPIICPC.js → get-GIBRUUOP.js} +121 -81
  293. package/dist/cli-bundle/chunks/get-GIBRUUOP.js.map +1 -0
  294. package/dist/cli-bundle/chunks/{get-AWK324RS.js → get-IOVAN6RU.js} +120 -80
  295. package/dist/cli-bundle/chunks/get-IOVAN6RU.js.map +7 -0
  296. package/dist/cli-bundle/chunks/{health-Q66C43GN.js → health-L2U3AFKV.js} +437 -264
  297. package/dist/cli-bundle/chunks/health-L2U3AFKV.js.map +1 -0
  298. package/dist/cli-bundle/chunks/{health-FBCVZGSX.js → health-MM7AWXYF.js} +436 -263
  299. package/dist/cli-bundle/chunks/health-MM7AWXYF.js.map +7 -0
  300. package/dist/cli-bundle/chunks/history-DD7L7BNL.js +18 -0
  301. package/dist/cli-bundle/chunks/{history-X4OSES6K.js → history-IL7XCEX2.js} +8 -8
  302. package/dist/cli-bundle/chunks/{history-compact-2GHT32UX.js → history-compact-HALOTOU7.js} +214 -135
  303. package/dist/cli-bundle/chunks/history-compact-HALOTOU7.js.map +1 -0
  304. package/dist/cli-bundle/chunks/{history-compact-WLCQEKXS.js → history-compact-MV25P7DM.js} +213 -134
  305. package/dist/cli-bundle/chunks/history-compact-MV25P7DM.js.map +7 -0
  306. package/dist/cli-bundle/chunks/history-redact-IX4YEWMY.js +19 -0
  307. package/dist/cli-bundle/chunks/{history-redact-45YW65BK.js → history-redact-VYCWQFK7.js} +9 -9
  308. package/dist/cli-bundle/chunks/{history-repair-FY75IC26.js → history-repair-44MODPQF.js} +124 -84
  309. package/dist/cli-bundle/chunks/history-repair-44MODPQF.js.map +1 -0
  310. package/dist/cli-bundle/chunks/{history-repair-GABSDSVD.js → history-repair-CPNAOCNF.js} +123 -83
  311. package/dist/cli-bundle/chunks/history-repair-CPNAOCNF.js.map +7 -0
  312. package/dist/cli-bundle/chunks/{init-KO7CGIRQ.js → init-F27NHENZ.js} +12 -11
  313. package/dist/cli-bundle/chunks/init-HHVQQP6C.js +22 -0
  314. package/dist/cli-bundle/chunks/{learnings-LHZT5BHW.js → learnings-HJVDQIGY.js} +8 -8
  315. package/dist/cli-bundle/chunks/{learnings-3F7YLI45.js → learnings-XSFSUUWK.js} +8 -8
  316. package/dist/cli-bundle/chunks/{list-Y6AU5BJS.js → list-HPMEKCAA.js} +8 -8
  317. package/dist/cli-bundle/chunks/{list-ROT7JF62.js → list-VMPWTURB.js} +8 -8
  318. package/dist/cli-bundle/chunks/{next-66BJB4N2.js → next-ETXF2ZCN.js} +59 -37
  319. package/dist/cli-bundle/chunks/next-ETXF2ZCN.js.map +7 -0
  320. package/dist/cli-bundle/chunks/{next-N5MWJTBY.js → next-QM6YJIIS.js} +60 -38
  321. package/dist/cli-bundle/chunks/next-QM6YJIIS.js.map +1 -0
  322. package/dist/cli-bundle/chunks/{notes-FW6YFLND.js → notes-GDZIKGR6.js} +8 -8
  323. package/dist/cli-bundle/chunks/{notes-EVJZ3VAB.js → notes-WDDBPC4D.js} +8 -8
  324. package/dist/cli-bundle/chunks/{plan-ZHKZ7JVF.js → plan-BGDR73Z6.js} +373 -279
  325. package/dist/cli-bundle/chunks/plan-BGDR73Z6.js.map +1 -0
  326. package/dist/cli-bundle/chunks/{plan-DQ7G4EDC.js → plan-C5IMM335.js} +372 -278
  327. package/dist/cli-bundle/chunks/plan-C5IMM335.js.map +7 -0
  328. package/dist/cli-bundle/chunks/{profile-CHAW6SEA.js → profile-CCOKZ2IQ.js} +9 -9
  329. package/dist/cli-bundle/chunks/{profile-UPZGCDOG.js → profile-HUCENIEQ.js} +9 -9
  330. package/dist/cli-bundle/chunks/{register-list-query-Y2VRHPCL.js → register-list-query-ROSNIL52.js} +80 -83
  331. package/dist/cli-bundle/chunks/register-list-query-ROSNIL52.js.map +1 -0
  332. package/dist/cli-bundle/chunks/{register-list-query-KY6Z6WV7.js → register-list-query-XN4ZRHSV.js} +79 -82
  333. package/dist/cli-bundle/chunks/register-list-query-XN4ZRHSV.js.map +7 -0
  334. package/dist/cli-bundle/chunks/{register-mutation-PCARIGZS.js → register-mutation-CFSB2MS3.js} +406 -385
  335. package/dist/cli-bundle/chunks/register-mutation-CFSB2MS3.js.map +1 -0
  336. package/dist/cli-bundle/chunks/{register-mutation-N6AYSKPM.js → register-mutation-KRLAHEL2.js} +405 -384
  337. package/dist/cli-bundle/chunks/register-mutation-KRLAHEL2.js.map +7 -0
  338. package/dist/cli-bundle/chunks/{register-operations-L6CYTOIH.js → register-operations-4PASGJDB.js} +112 -93
  339. package/dist/cli-bundle/chunks/register-operations-4PASGJDB.js.map +7 -0
  340. package/dist/cli-bundle/chunks/{register-operations-YAT6FUUB.js → register-operations-MBN4KGUM.js} +113 -94
  341. package/dist/cli-bundle/chunks/register-operations-MBN4KGUM.js.map +1 -0
  342. package/dist/cli-bundle/chunks/{register-setup-N7UGXYJC.js → register-setup-VIAWYFP5.js} +129 -104
  343. package/dist/cli-bundle/chunks/register-setup-VIAWYFP5.js.map +1 -0
  344. package/dist/cli-bundle/chunks/{register-setup-MPANILQF.js → register-setup-ZCGKHDKL.js} +128 -103
  345. package/dist/cli-bundle/chunks/register-setup-ZCGKHDKL.js.map +7 -0
  346. package/dist/cli-bundle/chunks/{restore-DKMCLPI5.js → restore-4CBWUMCX.js} +9 -9
  347. package/dist/cli-bundle/chunks/restore-5UEAGG3W.js +17 -0
  348. package/dist/cli-bundle/chunks/{scheduling-shortcuts-3F4QUEDH.js → scheduling-shortcuts-6VFKNKCM.js} +12 -12
  349. package/dist/cli-bundle/chunks/{scheduling-shortcuts-BNZLQK36.js → scheduling-shortcuts-ERHCVTEM.js} +12 -12
  350. package/dist/cli-bundle/chunks/{schema-OLT6LVKH.js → schema-TDGK6N3I.js} +7 -7
  351. package/dist/cli-bundle/chunks/{schema-XJXKJQF5.js → schema-UE5KKAUX.js} +7 -7
  352. package/dist/cli-bundle/chunks/{search-KP6H7COV.js → search-FP7MEU4S.js} +10 -10
  353. package/dist/cli-bundle/chunks/{search-CX5UMV4H.js → search-K4CFLQ5S.js} +10 -10
  354. package/dist/cli-bundle/chunks/{stats-QZUG6MX5.js → stats-NJJCALEZ.js} +6 -6
  355. package/dist/cli-bundle/chunks/{stats-7XW4OEMK.js → stats-XT6QRKQY.js} +6 -6
  356. package/dist/cli-bundle/chunks/{telemetry-DIFPXCAT.js → telemetry-5SQ5UDXC.js} +84 -70
  357. package/dist/cli-bundle/chunks/telemetry-5SQ5UDXC.js.map +7 -0
  358. package/dist/cli-bundle/chunks/{telemetry-WTYFUPRL.js → telemetry-HVXFZA2U.js} +85 -71
  359. package/dist/cli-bundle/chunks/telemetry-HVXFZA2U.js.map +1 -0
  360. package/dist/cli-bundle/chunks/{test-QNDXZQCW.js → test-UFSJ5YIO.js} +15 -14
  361. package/dist/cli-bundle/chunks/{test-HU2BS7EY.js → test-YCDAUBWF.js} +15 -14
  362. package/dist/cli-bundle/chunks/test-all-2BWKY3GQ.js +427 -0
  363. package/dist/cli-bundle/chunks/test-all-2BWKY3GQ.js.map +1 -0
  364. package/dist/cli-bundle/chunks/test-all-PM7UYN42.js +430 -0
  365. package/dist/cli-bundle/chunks/test-all-PM7UYN42.js.map +7 -0
  366. package/dist/cli-bundle/chunks/{test-runs-CA6K32RD.js → test-runs-FK5E75AA.js} +185 -147
  367. package/dist/cli-bundle/chunks/test-runs-FK5E75AA.js.map +1 -0
  368. package/dist/cli-bundle/chunks/{test-runs-LANLLPVO.js → test-runs-H4TGWGRN.js} +184 -146
  369. package/dist/cli-bundle/chunks/test-runs-H4TGWGRN.js.map +7 -0
  370. package/dist/cli-bundle/chunks/update-MTCFES6X.js +24 -0
  371. package/dist/cli-bundle/chunks/{update-DJKWLBWJ.js → update-Y5WQVT5O.js} +15 -15
  372. package/dist/cli-bundle/chunks/{update-many-LU3SCNK5.js → update-many-6YAYYRLE.js} +83 -68
  373. package/dist/cli-bundle/chunks/{update-many-LU3SCNK5.js.map → update-many-6YAYYRLE.js.map} +2 -2
  374. package/dist/cli-bundle/chunks/{update-many-VW5DGF3S.js → update-many-JTKKSA7Y.js} +84 -69
  375. package/dist/cli-bundle/chunks/{update-many-VW5DGF3S.js.map → update-many-JTKKSA7Y.js.map} +1 -1
  376. package/dist/cli-bundle/chunks/{upgrade-ICXY244R.js → upgrade-DTAHZ236.js} +11 -10
  377. package/dist/cli-bundle/chunks/{upgrade-ICXY244R.js.map → upgrade-DTAHZ236.js.map} +1 -1
  378. package/dist/cli-bundle/chunks/{upgrade-77FRUAXN.js → upgrade-JUDU7YL4.js} +13 -12
  379. package/dist/cli-bundle/chunks/{upgrade-77FRUAXN.js.map → upgrade-JUDU7YL4.js.map} +1 -1
  380. package/dist/cli-bundle/chunks/{validate-2G566PKQ.js → validate-732RWS5W.js} +440 -319
  381. package/dist/cli-bundle/chunks/validate-732RWS5W.js.map +7 -0
  382. package/dist/cli-bundle/chunks/{validate-BDPVXHHH.js → validate-W7H5TEDC.js} +441 -320
  383. package/dist/cli-bundle/chunks/validate-W7H5TEDC.js.map +1 -0
  384. package/dist/cli-bundle/main.js +986 -1500
  385. package/dist/cli-bundle/main.js.map +4 -4
  386. package/dist/core/config/nested-settings.js +89 -67
  387. package/dist/core/config/nested-settings.js.map +1 -1
  388. package/dist/core/extensions/activation-summary-markdown.js +23 -12
  389. package/dist/core/extensions/activation-summary-markdown.js.map +1 -1
  390. package/dist/core/extensions/extension-policy.d.ts +18 -3
  391. package/dist/core/extensions/extension-policy.js +116 -106
  392. package/dist/core/extensions/extension-policy.js.map +1 -1
  393. package/dist/core/extensions/loader.js +310 -232
  394. package/dist/core/extensions/loader.js.map +1 -1
  395. package/dist/core/governance/metadata-coverage.js +20 -28
  396. package/dist/core/governance/metadata-coverage.js.map +1 -1
  397. package/dist/core/history/drift-scan.js +93 -81
  398. package/dist/core/history/drift-scan.js.map +1 -1
  399. package/dist/core/item/item-format.js +523 -410
  400. package/dist/core/item/item-format.js.map +1 -1
  401. package/dist/core/item/item-type-definition.js +14 -14
  402. package/dist/core/item/item-type-definition.js.map +1 -1
  403. package/dist/core/item/type-registry.js +87 -82
  404. package/dist/core/item/type-registry.js.map +1 -1
  405. package/dist/core/output/mutation-projection.js +42 -26
  406. package/dist/core/output/mutation-projection.js.map +1 -1
  407. package/dist/core/schema/runtime-schema.js +34 -28
  408. package/dist/core/schema/runtime-schema.js.map +1 -1
  409. package/dist/core/search/semantic-defaults.js +64 -37
  410. package/dist/core/search/semantic-defaults.js.map +1 -1
  411. package/dist/core/search/vector-stores.js +32 -17
  412. package/dist/core/search/vector-stores.js.map +1 -1
  413. package/dist/core/sentry/helpers.js +31 -28
  414. package/dist/core/sentry/helpers.js.map +1 -1
  415. package/dist/core/sentry/instrument.js +54 -43
  416. package/dist/core/sentry/instrument.js.map +1 -1
  417. package/dist/core/store/front-matter-cache.js +239 -153
  418. package/dist/core/store/front-matter-cache.js.map +1 -1
  419. package/dist/core/store/item-store.js +33 -26
  420. package/dist/core/store/item-store.js.map +1 -1
  421. package/dist/core/store/settings.js +247 -203
  422. package/dist/core/store/settings.js.map +1 -1
  423. package/dist/core/test/background-runs.js +189 -160
  424. package/dist/core/test/background-runs.js.map +1 -1
  425. package/dist/mcp/server.js +387 -367
  426. package/dist/mcp/server.js.map +1 -1
  427. package/dist/sdk/cli-contracts/flag-contracts.js +111 -180
  428. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  429. package/dist/sdk/cli-contracts/tool-schema.js +76 -45
  430. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  431. package/dist/sdk/compose.d.ts +4 -1
  432. package/dist/sdk/compose.js +181 -115
  433. package/dist/sdk/compose.js.map +1 -1
  434. package/docs/RELEASING.md +2 -3
  435. package/package.json +2 -2
  436. package/packages/pm-beads/extensions/beads/runtime.ts +240 -167
  437. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +65 -58
  438. package/packages/pm-todos/extensions/todos/runtime.ts +65 -42
  439. package/dist/cli-bundle/chunks/activity-EJBMXUBH.js +0 -16
  440. package/dist/cli-bundle/chunks/aggregate-MOC4TR2G.js.map +0 -1
  441. package/dist/cli-bundle/chunks/chunk-53ARXF2O.js.map +0 -7
  442. package/dist/cli-bundle/chunks/chunk-5IRVSKPS.js.map +0 -1
  443. package/dist/cli-bundle/chunks/chunk-5T6WPLRO.js.map +0 -7
  444. package/dist/cli-bundle/chunks/chunk-6T5ZIWBS.js.map +0 -7
  445. package/dist/cli-bundle/chunks/chunk-6YRAMXRS.js.map +0 -1
  446. package/dist/cli-bundle/chunks/chunk-7WDETKGP.js.map +0 -7
  447. package/dist/cli-bundle/chunks/chunk-A3UNLXNJ.js.map +0 -7
  448. package/dist/cli-bundle/chunks/chunk-AWN4PPH5.js.map +0 -7
  449. package/dist/cli-bundle/chunks/chunk-BOWQWXLI.js.map +0 -1
  450. package/dist/cli-bundle/chunks/chunk-C2KCIZKZ.js +0 -115
  451. package/dist/cli-bundle/chunks/chunk-C2KCIZKZ.js.map +0 -1
  452. package/dist/cli-bundle/chunks/chunk-CHRNYKNI.js.map +0 -7
  453. package/dist/cli-bundle/chunks/chunk-CY5IJMUM.js.map +0 -1
  454. package/dist/cli-bundle/chunks/chunk-D5LYZVGB.js.map +0 -1
  455. package/dist/cli-bundle/chunks/chunk-DJDXAU74.js.map +0 -7
  456. package/dist/cli-bundle/chunks/chunk-DORJSBGJ.js.map +0 -7
  457. package/dist/cli-bundle/chunks/chunk-DU66JUGT.js.map +0 -7
  458. package/dist/cli-bundle/chunks/chunk-F6VH3LFC.js +0 -118
  459. package/dist/cli-bundle/chunks/chunk-F6VH3LFC.js.map +0 -7
  460. package/dist/cli-bundle/chunks/chunk-FDEVKXC4.js.map +0 -1
  461. package/dist/cli-bundle/chunks/chunk-GF7EAR22.js.map +0 -7
  462. package/dist/cli-bundle/chunks/chunk-HIBK6H4S.js.map +0 -1
  463. package/dist/cli-bundle/chunks/chunk-IHXXUIXS.js.map +0 -1
  464. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js +0 -35
  465. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js.map +0 -7
  466. package/dist/cli-bundle/chunks/chunk-IZQOJR2B.js.map +0 -7
  467. package/dist/cli-bundle/chunks/chunk-JTRKME24.js.map +0 -1
  468. package/dist/cli-bundle/chunks/chunk-JZG5ADVE.js.map +0 -1
  469. package/dist/cli-bundle/chunks/chunk-K46GQ265.js.map +0 -1
  470. package/dist/cli-bundle/chunks/chunk-KGQ3W65B.js.map +0 -1
  471. package/dist/cli-bundle/chunks/chunk-KTMMTOIP.js.map +0 -7
  472. package/dist/cli-bundle/chunks/chunk-KYDYQMNW.js.map +0 -7
  473. package/dist/cli-bundle/chunks/chunk-NIBP3I7A.js.map +0 -1
  474. package/dist/cli-bundle/chunks/chunk-NO6Y6FB2.js.map +0 -7
  475. package/dist/cli-bundle/chunks/chunk-QE5UFCCO.js.map +0 -1
  476. package/dist/cli-bundle/chunks/chunk-RM6MHL6A.js.map +0 -7
  477. package/dist/cli-bundle/chunks/chunk-RPRW26NG.js.map +0 -1
  478. package/dist/cli-bundle/chunks/chunk-SNUK7H5J.js.map +0 -7
  479. package/dist/cli-bundle/chunks/chunk-T7ZMQI4J.js.map +0 -1
  480. package/dist/cli-bundle/chunks/chunk-UB3V5WUI.js.map +0 -1
  481. package/dist/cli-bundle/chunks/chunk-UFKNF23C.js.map +0 -7
  482. package/dist/cli-bundle/chunks/chunk-V3KLX7U7.js.map +0 -1
  483. package/dist/cli-bundle/chunks/chunk-VD3LKZFX.js.map +0 -1
  484. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js +0 -32
  485. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js.map +0 -1
  486. package/dist/cli-bundle/chunks/chunk-WTRUDJ3R.js.map +0 -1
  487. package/dist/cli-bundle/chunks/chunk-Z55WX4IQ.js.map +0 -1
  488. package/dist/cli-bundle/chunks/chunk-Z5BM2FKQ.js.map +0 -7
  489. package/dist/cli-bundle/chunks/chunk-ZEATCVAC.js.map +0 -7
  490. package/dist/cli-bundle/chunks/chunk-ZFIEEDTJ.js.map +0 -7
  491. package/dist/cli-bundle/chunks/chunk-ZIE6WXJ2.js.map +0 -1
  492. package/dist/cli-bundle/chunks/close-37KEHLYM.js +0 -14
  493. package/dist/cli-bundle/chunks/close-many-BFMP6HHK.js.map +0 -7
  494. package/dist/cli-bundle/chunks/close-many-CXJBOWWY.js.map +0 -1
  495. package/dist/cli-bundle/chunks/config-FIXJZEQK.js +0 -1541
  496. package/dist/cli-bundle/chunks/config-FIXJZEQK.js.map +0 -7
  497. package/dist/cli-bundle/chunks/config-X3ZVCUUG.js +0 -1531
  498. package/dist/cli-bundle/chunks/config-X3ZVCUUG.js.map +0 -1
  499. package/dist/cli-bundle/chunks/contracts-KP4QAGVW.js.map +0 -1
  500. package/dist/cli-bundle/chunks/contracts-SMOAN5NF.js.map +0 -7
  501. package/dist/cli-bundle/chunks/create-DFMNBKBS.js +0 -28
  502. package/dist/cli-bundle/chunks/get-AWK324RS.js.map +0 -7
  503. package/dist/cli-bundle/chunks/get-VYPIICPC.js.map +0 -1
  504. package/dist/cli-bundle/chunks/health-FBCVZGSX.js.map +0 -7
  505. package/dist/cli-bundle/chunks/health-Q66C43GN.js.map +0 -1
  506. package/dist/cli-bundle/chunks/history-5XUSLAJA.js +0 -18
  507. package/dist/cli-bundle/chunks/history-compact-2GHT32UX.js.map +0 -1
  508. package/dist/cli-bundle/chunks/history-compact-WLCQEKXS.js.map +0 -7
  509. package/dist/cli-bundle/chunks/history-redact-BVHWDXPR.js +0 -19
  510. package/dist/cli-bundle/chunks/history-repair-FY75IC26.js.map +0 -1
  511. package/dist/cli-bundle/chunks/history-repair-GABSDSVD.js.map +0 -7
  512. package/dist/cli-bundle/chunks/init-TRYJELH4.js +0 -21
  513. package/dist/cli-bundle/chunks/next-66BJB4N2.js.map +0 -7
  514. package/dist/cli-bundle/chunks/next-N5MWJTBY.js.map +0 -1
  515. package/dist/cli-bundle/chunks/plan-DQ7G4EDC.js.map +0 -7
  516. package/dist/cli-bundle/chunks/plan-ZHKZ7JVF.js.map +0 -1
  517. package/dist/cli-bundle/chunks/register-list-query-KY6Z6WV7.js.map +0 -7
  518. package/dist/cli-bundle/chunks/register-list-query-Y2VRHPCL.js.map +0 -1
  519. package/dist/cli-bundle/chunks/register-mutation-N6AYSKPM.js.map +0 -7
  520. package/dist/cli-bundle/chunks/register-mutation-PCARIGZS.js.map +0 -1
  521. package/dist/cli-bundle/chunks/register-operations-L6CYTOIH.js.map +0 -7
  522. package/dist/cli-bundle/chunks/register-operations-YAT6FUUB.js.map +0 -1
  523. package/dist/cli-bundle/chunks/register-setup-MPANILQF.js.map +0 -7
  524. package/dist/cli-bundle/chunks/register-setup-N7UGXYJC.js.map +0 -1
  525. package/dist/cli-bundle/chunks/restore-IRAKSWIW.js +0 -17
  526. package/dist/cli-bundle/chunks/telemetry-DIFPXCAT.js.map +0 -7
  527. package/dist/cli-bundle/chunks/telemetry-WTYFUPRL.js.map +0 -1
  528. package/dist/cli-bundle/chunks/test-all-PZTBLLQ6.js +0 -360
  529. package/dist/cli-bundle/chunks/test-all-PZTBLLQ6.js.map +0 -7
  530. package/dist/cli-bundle/chunks/test-all-XLPI4USF.js +0 -357
  531. package/dist/cli-bundle/chunks/test-all-XLPI4USF.js.map +0 -1
  532. package/dist/cli-bundle/chunks/test-runs-CA6K32RD.js.map +0 -1
  533. package/dist/cli-bundle/chunks/test-runs-LANLLPVO.js.map +0 -7
  534. package/dist/cli-bundle/chunks/update-UXDLTEOZ.js +0 -24
  535. package/dist/cli-bundle/chunks/validate-2G566PKQ.js.map +0 -7
  536. package/dist/cli-bundle/chunks/validate-BDPVXHHH.js.map +0 -1
  537. /package/dist/cli-bundle/chunks/{activity-MVSEND6D.js.map → activity-CUC4JY3U.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{activity-EJBMXUBH.js.map → activity-WEIEMM73.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{append-KDHT4GHI.js.map → append-H32VOR2Y.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{append-LEDBAM3K.js.map → append-UBM632FK.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{chunk-SJZTPVFT.js.map → chunk-2ASNV4DH.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{chunk-JVQ7UOYC.js.map → chunk-2CHRYUXL.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{chunk-DRPF274X.js.map → chunk-3LCUASYG.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{chunk-JJ4SG243.js.map → chunk-3Q2HBMTI.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{chunk-TQ6E76BE.js.map → chunk-55XRYWEG.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{chunk-IBU2LLWM.js.map → chunk-A6VOGKBA.js.map} +0 -0
  547. /package/dist/cli-bundle/chunks/{chunk-MLHX6DN5.js.map → chunk-AIAIXG7I.js.map} +0 -0
  548. /package/dist/cli-bundle/chunks/{chunk-5ABGFWR4.js.map → chunk-BTX5MIQF.js.map} +0 -0
  549. /package/dist/cli-bundle/chunks/{chunk-3JWQCLR5.js.map → chunk-CYBDUHNO.js.map} +0 -0
  550. /package/dist/cli-bundle/chunks/{chunk-WFJZDUM7.js.map → chunk-CZPVDLD2.js.map} +0 -0
  551. /package/dist/cli-bundle/chunks/{chunk-HUYYMTGW.js.map → chunk-EUKTMRN3.js.map} +0 -0
  552. /package/dist/cli-bundle/chunks/{chunk-EVWYAG46.js.map → chunk-FFOQHGNH.js.map} +0 -0
  553. /package/dist/cli-bundle/chunks/{chunk-IF4ERU6A.js.map → chunk-GFMSLORL.js.map} +0 -0
  554. /package/dist/cli-bundle/chunks/{chunk-IDYCAK35.js.map → chunk-H4GRLYJS.js.map} +0 -0
  555. /package/dist/cli-bundle/chunks/{chunk-VMY7MZEM.js.map → chunk-HQTPRV4D.js.map} +0 -0
  556. /package/dist/cli-bundle/chunks/{chunk-7L6TXOOC.js.map → chunk-JMK5GCK2.js.map} +0 -0
  557. /package/dist/cli-bundle/chunks/{chunk-KRASIL6M.js.map → chunk-K2VYLVX4.js.map} +0 -0
  558. /package/dist/cli-bundle/chunks/{chunk-4YIMPANT.js.map → chunk-KCO2EAN5.js.map} +0 -0
  559. /package/dist/cli-bundle/chunks/{chunk-D6USKAMA.js.map → chunk-KLXF7NCC.js.map} +0 -0
  560. /package/dist/cli-bundle/chunks/{chunk-OB3RJV5F.js.map → chunk-LRKMWUUV.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{chunk-74PUWBGN.js.map → chunk-LTRAF2D7.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{chunk-4TXTVZL3.js.map → chunk-MRD4T5LF.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{chunk-E2Q2ULMR.js.map → chunk-N2JSWVWG.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{chunk-7RIJGN4R.js.map → chunk-QH3FSKRJ.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{chunk-OUQ5JEFM.js.map → chunk-S62UANU7.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{chunk-DLDCPF5X.js.map → chunk-U2BEEM2X.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{chunk-73PTKMAE.js.map → chunk-UT73HUPC.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{chunk-F7G53BOA.js.map → chunk-UTSH5GWX.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{chunk-JIP67N2K.js.map → chunk-Y4NRKBFW.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{chunk-FBZ5XAAF.js.map → chunk-YPKFV2JR.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{chunk-BN3CWK6G.js.map → chunk-ZNHEYCDD.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{chunk-YEDFE4DC.js.map → chunk-ZNT7KEWE.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{claim-HMCLSLUE.js.map → claim-SENTPZBN.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{claim-6NINZYB3.js.map → claim-Z7MEQCBT.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{close-OP3LK7Z2.js.map → close-424MX4CU.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{close-37KEHLYM.js.map → close-YCWQQPDS.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{comments-ETHABIY6.js.map → comments-4FGNTSNV.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{comments-MU2WMBUY.js.map → comments-7YS5MY5X.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{context-7ZEZV3BV.js.map → context-LHVKJSPJ.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{context-XDI4DKKT.js.map → context-ZQY54JNS.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{copy-JJ3KOQW2.js.map → copy-GYNQQPW2.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{copy-CWM6SBY6.js.map → copy-TLW7JTQT.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{create-J5Q2ELZT.js.map → create-VSKYSOCD.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{create-DFMNBKBS.js.map → create-XTMAPS7I.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{delete-2GZLQEUQ.js.map → delete-4W5JYCEG.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{delete-OOQS4KVD.js.map → delete-ANTOTI2I.js.map} +0 -0
  587. /package/dist/cli-bundle/chunks/{deps-IF4IGL4R.js.map → deps-HPPE6MJN.js.map} +0 -0
  588. /package/dist/cli-bundle/chunks/{deps-ZVGGCRR6.js.map → deps-ZQZN54EZ.js.map} +0 -0
  589. /package/dist/cli-bundle/chunks/{docs-NFTBCQQC.js.map → docs-RPOVFMP3.js.map} +0 -0
  590. /package/dist/cli-bundle/chunks/{docs-2TIFR62T.js.map → docs-XJNYBJGE.js.map} +0 -0
  591. /package/dist/cli-bundle/chunks/{eval-2F6EH4XN.js.map → eval-DM6JBZTS.js.map} +0 -0
  592. /package/dist/cli-bundle/chunks/{eval-PFKXQR3B.js.map → eval-RFBI5FGS.js.map} +0 -0
  593. /package/dist/cli-bundle/chunks/{extension-GMVOIP4O.js.map → extension-B3YY4WY5.js.map} +0 -0
  594. /package/dist/cli-bundle/chunks/{extension-3LRYX7SW.js.map → extension-TTSEFQTS.js.map} +0 -0
  595. /package/dist/cli-bundle/chunks/{files-DF3HO6XK.js.map → files-5D65CHGE.js.map} +0 -0
  596. /package/dist/cli-bundle/chunks/{files-T5ODMETM.js.map → files-GPIG77EN.js.map} +0 -0
  597. /package/dist/cli-bundle/chunks/{focus-MY5ARIEK.js.map → focus-C3PEJV2C.js.map} +0 -0
  598. /package/dist/cli-bundle/chunks/{focus-DLXKK4AH.js.map → focus-ZHN7WIGX.js.map} +0 -0
  599. /package/dist/cli-bundle/chunks/{gc-MDGRR2SU.js.map → gc-D4JQ6OWN.js.map} +0 -0
  600. /package/dist/cli-bundle/chunks/{gc-FULIVYR4.js.map → gc-VZIXDL32.js.map} +0 -0
  601. /package/dist/cli-bundle/chunks/{history-5XUSLAJA.js.map → history-DD7L7BNL.js.map} +0 -0
  602. /package/dist/cli-bundle/chunks/{history-X4OSES6K.js.map → history-IL7XCEX2.js.map} +0 -0
  603. /package/dist/cli-bundle/chunks/{history-redact-BVHWDXPR.js.map → history-redact-IX4YEWMY.js.map} +0 -0
  604. /package/dist/cli-bundle/chunks/{history-redact-45YW65BK.js.map → history-redact-VYCWQFK7.js.map} +0 -0
  605. /package/dist/cli-bundle/chunks/{init-KO7CGIRQ.js.map → init-F27NHENZ.js.map} +0 -0
  606. /package/dist/cli-bundle/chunks/{init-TRYJELH4.js.map → init-HHVQQP6C.js.map} +0 -0
  607. /package/dist/cli-bundle/chunks/{learnings-LHZT5BHW.js.map → learnings-HJVDQIGY.js.map} +0 -0
  608. /package/dist/cli-bundle/chunks/{learnings-3F7YLI45.js.map → learnings-XSFSUUWK.js.map} +0 -0
  609. /package/dist/cli-bundle/chunks/{list-Y6AU5BJS.js.map → list-HPMEKCAA.js.map} +0 -0
  610. /package/dist/cli-bundle/chunks/{list-ROT7JF62.js.map → list-VMPWTURB.js.map} +0 -0
  611. /package/dist/cli-bundle/chunks/{notes-FW6YFLND.js.map → notes-GDZIKGR6.js.map} +0 -0
  612. /package/dist/cli-bundle/chunks/{notes-EVJZ3VAB.js.map → notes-WDDBPC4D.js.map} +0 -0
  613. /package/dist/cli-bundle/chunks/{profile-CHAW6SEA.js.map → profile-CCOKZ2IQ.js.map} +0 -0
  614. /package/dist/cli-bundle/chunks/{profile-UPZGCDOG.js.map → profile-HUCENIEQ.js.map} +0 -0
  615. /package/dist/cli-bundle/chunks/{restore-DKMCLPI5.js.map → restore-4CBWUMCX.js.map} +0 -0
  616. /package/dist/cli-bundle/chunks/{restore-IRAKSWIW.js.map → restore-5UEAGG3W.js.map} +0 -0
  617. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-3F4QUEDH.js.map → scheduling-shortcuts-6VFKNKCM.js.map} +0 -0
  618. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-BNZLQK36.js.map → scheduling-shortcuts-ERHCVTEM.js.map} +0 -0
  619. /package/dist/cli-bundle/chunks/{schema-OLT6LVKH.js.map → schema-TDGK6N3I.js.map} +0 -0
  620. /package/dist/cli-bundle/chunks/{schema-XJXKJQF5.js.map → schema-UE5KKAUX.js.map} +0 -0
  621. /package/dist/cli-bundle/chunks/{search-KP6H7COV.js.map → search-FP7MEU4S.js.map} +0 -0
  622. /package/dist/cli-bundle/chunks/{search-CX5UMV4H.js.map → search-K4CFLQ5S.js.map} +0 -0
  623. /package/dist/cli-bundle/chunks/{stats-QZUG6MX5.js.map → stats-NJJCALEZ.js.map} +0 -0
  624. /package/dist/cli-bundle/chunks/{stats-7XW4OEMK.js.map → stats-XT6QRKQY.js.map} +0 -0
  625. /package/dist/cli-bundle/chunks/{test-QNDXZQCW.js.map → test-UFSJ5YIO.js.map} +0 -0
  626. /package/dist/cli-bundle/chunks/{test-HU2BS7EY.js.map → test-YCDAUBWF.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{update-UXDLTEOZ.js.map → update-MTCFES6X.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{update-DJKWLBWJ.js.map → update-Y5WQVT5O.js.map} +0 -0
@@ -7,20 +7,21 @@ import {
7
7
  runLinkedTests,
8
8
  runTest,
9
9
  summarizeContextPreflight
10
- } from "./chunk-DU66JUGT.js";
11
- import "./chunk-JIP67N2K.js";
12
- import "./chunk-BN3CWK6G.js";
13
- import "./chunk-53ARXF2O.js";
14
- import "./chunk-7WDETKGP.js";
10
+ } from "./chunk-IG5JYZGU.js";
11
+ import "./chunk-Y4NRKBFW.js";
12
+ import "./chunk-ZNHEYCDD.js";
13
+ import "./chunk-66Z3X7ZG.js";
14
+ import "./chunk-N3QCJS4M.js";
15
15
  import "./chunk-5HIZDR5A.js";
16
- import "./chunk-NO6Y6FB2.js";
17
- import "./chunk-DRPF274X.js";
18
- import "./chunk-IZQOJR2B.js";
19
- import "./chunk-F6VH3LFC.js";
20
- import "./chunk-LBH7UYKY.js";
21
- import "./chunk-ZFIEEDTJ.js";
22
- import "./chunk-MLHX6DN5.js";
23
- import "./chunk-SNUK7H5J.js";
16
+ import "./chunk-SPM2XLWI.js";
17
+ import "./chunk-3LCUASYG.js";
18
+ import "./chunk-GRRG3MCT.js";
19
+ import "./chunk-BVZZN2LH.js";
20
+ import "./chunk-XWGEMNBR.js";
21
+ import "./chunk-JXAUVO6X.js";
22
+ import "./chunk-IEEJQCZ4.js";
23
+ import "./chunk-AIAIXG7I.js";
24
+ import "./chunk-7NSPKJUS.js";
24
25
  export {
25
26
  _testOnlyTestCommand,
26
27
  classifyLinkedTestFailure,
@@ -31,4 +32,4 @@ export {
31
32
  runTest,
32
33
  summarizeContextPreflight
33
34
  };
34
- //# sourceMappingURL=test-QNDXZQCW.js.map
35
+ //# sourceMappingURL=test-UFSJ5YIO.js.map
@@ -9,20 +9,21 @@ import {
9
9
  runLinkedTests,
10
10
  runTest,
11
11
  summarizeContextPreflight
12
- } from "./chunk-K46GQ265.js";
13
- import "./chunk-4YIMPANT.js";
14
- import "./chunk-D6USKAMA.js";
15
- import "./chunk-JTRKME24.js";
16
- import "./chunk-JZG5ADVE.js";
12
+ } from "./chunk-Q6NXOHS6.js";
13
+ import "./chunk-KCO2EAN5.js";
14
+ import "./chunk-KLXF7NCC.js";
15
+ import "./chunk-6YCYF2AI.js";
16
+ import "./chunk-3AZUFQK6.js";
17
17
  import "./chunk-P4SESZGT.js";
18
- import "./chunk-WTRUDJ3R.js";
19
- import "./chunk-YEDFE4DC.js";
20
- import "./chunk-T7ZMQI4J.js";
21
- import "./chunk-C2KCIZKZ.js";
22
- import "./chunk-KGQ3W65B.js";
23
- import "./chunk-V3KLX7U7.js";
24
- import "./chunk-KRASIL6M.js";
25
- import "./chunk-CY5IJMUM.js";
18
+ import "./chunk-YLZZ6T54.js";
19
+ import "./chunk-ZNT7KEWE.js";
20
+ import "./chunk-KIYCOJ63.js";
21
+ import "./chunk-OTUJZKGI.js";
22
+ import "./chunk-5GVTFFTC.js";
23
+ import "./chunk-NRZS637N.js";
24
+ import "./chunk-KN3URLKS.js";
25
+ import "./chunk-K2VYLVX4.js";
26
+ import "./chunk-I66WE2HE.js";
26
27
  export {
27
28
  _testOnlyTestCommand,
28
29
  classifyLinkedTestFailure,
@@ -33,6 +34,6 @@ export {
33
34
  runTest,
34
35
  summarizeContextPreflight
35
36
  };
36
- //# sourceMappingURL=test-HU2BS7EY.js.map
37
+ //# sourceMappingURL=test-YCDAUBWF.js.map
37
38
 
38
39
  //# debugId=45eac7fa-f181-5cca-93b7-cfb58909dbb3
@@ -0,0 +1,427 @@
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2eb7993e-489d-5736-bd11-b2a782b74da4")}catch(e){}}();
3
+ import {
4
+ appendTrackedTestRunSummary,
5
+ countFailureCategories,
6
+ runLinkedTests,
7
+ runTest,
8
+ summarizeContextPreflight
9
+ } from "./chunk-Q6NXOHS6.js";
10
+ import "./chunk-KCO2EAN5.js";
11
+ import {
12
+ parseOptionalNumber
13
+ } from "./chunk-KLXF7NCC.js";
14
+ import {
15
+ resolveAuthor
16
+ } from "./chunk-T5RRNDA7.js";
17
+ import "./chunk-6YCYF2AI.js";
18
+ import "./chunk-3AZUFQK6.js";
19
+ import "./chunk-P4SESZGT.js";
20
+ import "./chunk-YLZZ6T54.js";
21
+ import "./chunk-ZNT7KEWE.js";
22
+ import "./chunk-KIYCOJ63.js";
23
+ import "./chunk-OTUJZKGI.js";
24
+ import "./chunk-5GVTFFTC.js";
25
+ import {
26
+ listAllFrontMatterLight
27
+ } from "./chunk-NRZS637N.js";
28
+ import {
29
+ normalizeStatusInput
30
+ } from "./chunk-KN3URLKS.js";
31
+ import {
32
+ nowIso
33
+ } from "./chunk-K2VYLVX4.js";
34
+ import {
35
+ EXIT_CODE,
36
+ PmCliError,
37
+ getActiveExtensionRegistrations,
38
+ getSettingsPath,
39
+ pathExists,
40
+ readSettings,
41
+ resolveGlobalPmRoot,
42
+ resolveItemTypeRegistry,
43
+ resolvePmRoot,
44
+ resolveRuntimeStatusRegistry
45
+ } from "./chunk-I66WE2HE.js";
46
+
47
+ // dist/cli/commands/test-all.js
48
+ function parseStatus(raw, statusRegistry) {
49
+ if (raw === void 0) {
50
+ return void 0;
51
+ }
52
+ const normalized = normalizeStatusInput(raw, statusRegistry);
53
+ if (!normalized) {
54
+ const allowedStatuses = statusRegistry.definitions.map((definition) => definition.id);
55
+ throw new PmCliError(`Invalid --status value "${raw}". Allowed: ${allowedStatuses.join(", ")}`, EXIT_CODE.USAGE);
56
+ }
57
+ return normalized;
58
+ }
59
+ function parseTimeout(raw) {
60
+ if (raw === void 0) {
61
+ return void 0;
62
+ }
63
+ return parseOptionalNumber(raw, "timeout");
64
+ }
65
+ function parseNonNegativeInteger(raw, flag) {
66
+ if (raw === void 0) {
67
+ return void 0;
68
+ }
69
+ const parsed = Number(raw);
70
+ if (!Number.isInteger(parsed) || parsed < 0) {
71
+ throw new PmCliError(`${flag} must be a non-negative integer`, EXIT_CODE.USAGE);
72
+ }
73
+ return parsed;
74
+ }
75
+ function formatTrackingError(error) {
76
+ return error instanceof Error ? error.message : String(error);
77
+ }
78
+ function resolveTrackedRunId() {
79
+ const fromEnv = process.env.PM_BACKGROUND_TEST_RUN_ID?.trim();
80
+ if (fromEnv && fromEnv.length > 0) {
81
+ return fromEnv;
82
+ }
83
+ return `test-all-local-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
84
+ }
85
+ function normalizeCommand(command) {
86
+ return command.trim().replaceAll(/\s+/g, " ");
87
+ }
88
+ function normalizeEnvSetSignature(value) {
89
+ if (!value || Object.keys(value).length === 0) {
90
+ return "{}";
91
+ }
92
+ return JSON.stringify(Object.fromEntries(Object.entries(value).sort(([left], [right]) => left.localeCompare(right))));
93
+ }
94
+ function normalizeEnvClearSignature(value) {
95
+ if (!value || value.length === 0) {
96
+ return "[]";
97
+ }
98
+ return JSON.stringify([...value].sort((left, right) => left.localeCompare(right)));
99
+ }
100
+ function normalizePmContextModeSignature(value) {
101
+ const normalized = value?.trim().toLowerCase();
102
+ return normalized && normalized.length > 0 ? normalized : "none";
103
+ }
104
+ function normalizeAssertionSignature(test) {
105
+ const normalized = {
106
+ assert_stdout_contains: [...new Set(test.assert_stdout_contains ?? [])].sort((left, right) => left.localeCompare(right)),
107
+ assert_stdout_regex: [...new Set(test.assert_stdout_regex ?? [])].sort((left, right) => left.localeCompare(right)),
108
+ assert_stderr_contains: [...new Set(test.assert_stderr_contains ?? [])].sort((left, right) => left.localeCompare(right)),
109
+ assert_stderr_regex: [...new Set(test.assert_stderr_regex ?? [])].sort((left, right) => left.localeCompare(right)),
110
+ assert_stdout_min_lines: typeof test.assert_stdout_min_lines === "number" ? test.assert_stdout_min_lines : void 0,
111
+ assert_json_field_equals: Object.fromEntries(Object.entries(test.assert_json_field_equals ?? {}).sort(([left], [right]) => left.localeCompare(right))),
112
+ assert_json_field_gte: Object.fromEntries(Object.entries(test.assert_json_field_gte ?? {}).sort(([left], [right]) => left.localeCompare(right)))
113
+ };
114
+ return JSON.stringify(normalized);
115
+ }
116
+ function buildLinkedTestKey(test) {
117
+ const command = test.command?.trim();
118
+ if (command && command.length > 0) {
119
+ const envSet = normalizeEnvSetSignature(test.env_set);
120
+ const envClear = normalizeEnvClearSignature(test.env_clear);
121
+ const pmContextMode = normalizePmContextModeSignature(test.pm_context_mode);
122
+ const sharedHostSafe = test.shared_host_safe === true ? "true" : "false";
123
+ const assertions = normalizeAssertionSignature(test);
124
+ return `command:${test.scope}:${normalizeCommand(command)}:${envSet}:${envClear}:${pmContextMode}:${sharedHostSafe}:${assertions}`;
125
+ }
126
+ const linkedPath = test.path?.trim() ?? "";
127
+ return `path:${test.scope}:${linkedPath}`;
128
+ }
129
+ function maxTimeoutSeconds(current, candidate) {
130
+ if (candidate === void 0) {
131
+ return current;
132
+ }
133
+ if (current === void 0 || candidate > current) {
134
+ return candidate;
135
+ }
136
+ return current;
137
+ }
138
+ function countStatuses(runResults) {
139
+ let passed = 0;
140
+ let failed = 0;
141
+ let skipped = 0;
142
+ for (const result of runResults) {
143
+ if (result.status === "passed") {
144
+ passed += 1;
145
+ continue;
146
+ }
147
+ if (result.status === "failed") {
148
+ failed += 1;
149
+ continue;
150
+ }
151
+ skipped += 1;
152
+ }
153
+ return { passed, failed, skipped };
154
+ }
155
+ function mergeFailureCategoryCounts(target, source) {
156
+ for (const [key, value] of Object.entries(source)) {
157
+ target[key] += value;
158
+ }
159
+ }
160
+ function emitTestAllProgress(options, message) {
161
+ if (options.progress !== true) {
162
+ return;
163
+ }
164
+ try {
165
+ process.stderr.write(`[pm test-all] ${message}
166
+ `);
167
+ } catch {
168
+ }
169
+ }
170
+ async function collectTestAllItemTests(filteredItems, global, pmRoot) {
171
+ const itemTests = [];
172
+ let linkedTests = 0;
173
+ for (const item of filteredItems) {
174
+ const readResult = await runTest(item.id, { run: false }, {
175
+ ...global,
176
+ path: pmRoot
177
+ });
178
+ linkedTests += readResult.tests.length;
179
+ itemTests.push({ item, tests: readResult.tests });
180
+ }
181
+ return { itemTests, linkedTests };
182
+ }
183
+ async function selectTestAllItems(params) {
184
+ const statusRegistry = resolveRuntimeStatusRegistry(params.settings.schema);
185
+ const typeRegistry = resolveItemTypeRegistry(params.settings, getActiveExtensionRegistrations());
186
+ const statusFilter = parseStatus(params.options.status, statusRegistry);
187
+ const limitFilter = parseNonNegativeInteger(params.options.limit, "--limit");
188
+ const offsetFilter = parseNonNegativeInteger(params.options.offset, "--offset") ?? 0;
189
+ const allItems = await listAllFrontMatterLight(params.pmRoot, params.settings.item_format, typeRegistry.type_to_folder, void 0, params.settings.schema);
190
+ const statusFilteredItems = allItems.filter((item) => statusFilter ? item.status === statusFilter : true).sort((a, b) => a.id.localeCompare(b.id));
191
+ const filteredItems = limitFilter === void 0 ? statusFilteredItems.slice(offsetFilter) : statusFilteredItems.slice(offsetFilter, offsetFilter + limitFilter);
192
+ return { filteredItems, statusFilter, limitFilter, offsetFilter };
193
+ }
194
+ function buildEffectiveTimeoutByKey(itemTests) {
195
+ const effectiveTimeoutByKey = /* @__PURE__ */ new Map();
196
+ for (const { tests } of itemTests) {
197
+ for (const test of tests) {
198
+ const key = buildLinkedTestKey(test);
199
+ if (!effectiveTimeoutByKey.has(key)) {
200
+ effectiveTimeoutByKey.set(key, test.timeout_seconds);
201
+ continue;
202
+ }
203
+ effectiveTimeoutByKey.set(key, maxTimeoutSeconds(effectiveTimeoutByKey.get(key), test.timeout_seconds));
204
+ }
205
+ }
206
+ return effectiveTimeoutByKey;
207
+ }
208
+ async function runTestAllItem(entry, context) {
209
+ const testsToRun = [];
210
+ const keyedTests = entry.tests.map((test) => {
211
+ const key = buildLinkedTestKey(test);
212
+ const duplicate = context.seenTestKeys.has(key);
213
+ if (!duplicate) {
214
+ context.seenTestKeys.add(key);
215
+ const effectiveTimeoutSeconds = context.effectiveTimeoutByKey.get(key);
216
+ testsToRun.push(effectiveTimeoutSeconds === void 0 ? test : { ...test, timeout_seconds: effectiveTimeoutSeconds });
217
+ }
218
+ return { test, key, duplicate };
219
+ });
220
+ const executedResults = testsToRun.length > 0 ? await runLinkedTests(testsToRun, context.defaultTimeoutSeconds, {
221
+ progress: context.options.progress,
222
+ sourceRoots: context.sourceRoots,
223
+ envSet: context.options.envSet,
224
+ envClear: context.options.envClear,
225
+ sharedHostSafe: context.options.sharedHostSafe,
226
+ pmContext: context.options.pmContext,
227
+ overrideLinkedPmContext: context.options.overrideLinkedPmContext,
228
+ failOnContextMismatch: context.options.failOnContextMismatch,
229
+ failOnEmptyTestRun: context.options.failOnEmptyTestRun,
230
+ requireAssertionsForPm: context.options.requireAssertionsForPm,
231
+ checkContext: context.options.checkContext,
232
+ autoPmContext: context.options.autoPmContext
233
+ }) : [];
234
+ let executedIndex = 0;
235
+ const runResults = keyedTests.map(({ test, key, duplicate }) => {
236
+ if (!duplicate) {
237
+ const executed = executedResults[executedIndex];
238
+ executedIndex += 1;
239
+ return executed;
240
+ }
241
+ return {
242
+ command: test.command,
243
+ path: test.path,
244
+ status: "skipped",
245
+ error: `Duplicate linked test skipped (key=${key}).`
246
+ };
247
+ });
248
+ const summary = countStatuses(runResults);
249
+ const failureCategories = countFailureCategories(runResults);
250
+ const trackingWarnings = await appendTestAllItemTracking(entry, summary, context);
251
+ return {
252
+ passed: summary.passed,
253
+ failed: summary.failed,
254
+ skipped: summary.skipped,
255
+ trackingWarnings,
256
+ failureCategories,
257
+ result: {
258
+ ok: summary.failed === 0 && !(context.options.failOnSkipped === true && summary.skipped > 0),
259
+ id: entry.item.id,
260
+ status: entry.item.status,
261
+ test_count: entry.tests.length,
262
+ passed: summary.passed,
263
+ failed: summary.failed,
264
+ skipped: summary.skipped,
265
+ run_results: runResults,
266
+ failure_categories: failureCategories
267
+ }
268
+ };
269
+ }
270
+ async function appendTestAllItemTracking(entry, summary, context) {
271
+ if (!context.trackingEnabled) {
272
+ return [];
273
+ }
274
+ try {
275
+ await appendTrackedTestRunSummary({
276
+ pmRoot: context.pmRoot,
277
+ settings: context.settings,
278
+ itemId: entry.item.id,
279
+ author: context.trackingAuthor,
280
+ message: `Track test-all run summary (${context.trackingRunId})`,
281
+ entry: {
282
+ run_id: context.trackingRunId,
283
+ kind: "test-all",
284
+ status: summary.failed > 0 || context.options.failOnSkipped === true && summary.skipped > 0 ? "failed" : "passed",
285
+ started_at: context.runStartedAt,
286
+ finished_at: nowIso(),
287
+ recorded_at: nowIso(),
288
+ attempt: context.trackingAttempt,
289
+ resumed_from: context.trackingResumedFrom,
290
+ passed: summary.passed,
291
+ failed: summary.failed,
292
+ skipped: summary.skipped,
293
+ items: 1,
294
+ linked_tests: entry.tests.length,
295
+ fail_on_skipped_triggered: context.options.failOnSkipped === true && summary.skipped > 0 ? true : void 0
296
+ }
297
+ });
298
+ } catch (error) {
299
+ return [`test_result_tracking_failed:${entry.item.id}:${formatTrackingError(error)}`];
300
+ }
301
+ return [];
302
+ }
303
+ function buildTestAllItemRunContext(params) {
304
+ const trackingAttemptRaw = process.env.PM_BACKGROUND_TEST_RUN_ATTEMPT?.trim();
305
+ const trackingParsedAttempt = trackingAttemptRaw ? Number.parseInt(trackingAttemptRaw, 10) : Number.NaN;
306
+ const trackingResumedFrom = process.env.PM_BACKGROUND_TEST_RUN_RESUMED_FROM?.trim();
307
+ return {
308
+ pmRoot: params.pmRoot,
309
+ settings: params.settings,
310
+ options: params.options,
311
+ defaultTimeoutSeconds: params.defaultTimeoutSeconds,
312
+ sourceRoots: {
313
+ projectPmRoot: params.pmRoot,
314
+ globalPmRoot: resolveGlobalPmRoot(process.cwd())
315
+ },
316
+ seenTestKeys: /* @__PURE__ */ new Set(),
317
+ effectiveTimeoutByKey: buildEffectiveTimeoutByKey(params.itemTests),
318
+ trackingEnabled: params.settings.testing.record_results_to_items === true,
319
+ trackingAuthor: resolveAuthor(void 0, params.settings.author_default),
320
+ trackingRunId: resolveTrackedRunId(),
321
+ trackingAttempt: Number.isFinite(trackingParsedAttempt) && trackingParsedAttempt >= 1 ? trackingParsedAttempt : void 0,
322
+ trackingResumedFrom: trackingResumedFrom && trackingResumedFrom.length > 0 ? trackingResumedFrom : void 0,
323
+ runStartedAt: params.runStartedAt
324
+ };
325
+ }
326
+ function initializeTestAllAccumulation(options, linkedTests, filteredItems) {
327
+ const accumulation = {
328
+ results: [],
329
+ passed: 0,
330
+ failed: 0,
331
+ skipped: 0,
332
+ failureCategories: countFailureCategories([]),
333
+ trackingWarnings: []
334
+ };
335
+ const failOnEmptyTestRunTriggered = options.failOnEmptyTestRun === true && linkedTests === 0;
336
+ if (failOnEmptyTestRunTriggered) {
337
+ accumulation.failed += 1;
338
+ accumulation.failureCategories.empty_run += 1;
339
+ accumulation.trackingWarnings.push(`empty_linked_test_selection:items=${filteredItems.length};linked_tests=0;fail_on_empty_test_run=true`);
340
+ }
341
+ return { accumulation, failOnEmptyTestRunTriggered };
342
+ }
343
+ async function runTestAllItems(itemTests, context, accumulation) {
344
+ for (const [itemIndex, entry] of itemTests.entries()) {
345
+ emitTestAllProgress(context.options, `item ${itemIndex + 1}/${itemTests.length} start id=${entry.item.id} linked_tests=${entry.tests.length}`);
346
+ const execution = await runTestAllItem(entry, context);
347
+ mergeFailureCategoryCounts(accumulation.failureCategories, execution.failureCategories);
348
+ accumulation.passed += execution.passed;
349
+ accumulation.failed += execution.failed;
350
+ accumulation.skipped += execution.skipped;
351
+ accumulation.trackingWarnings.push(...execution.trackingWarnings);
352
+ accumulation.results.push(execution.result);
353
+ 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}`);
354
+ }
355
+ }
356
+ function appendContextPreflightWarning(options, accumulation) {
357
+ if (options.checkContext !== true) {
358
+ return;
359
+ }
360
+ const allRunResults = accumulation.results.flatMap((entry) => entry.run_results);
361
+ const preflight = summarizeContextPreflight(allRunResults);
362
+ 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}`);
363
+ }
364
+ function buildTestAllResult(params) {
365
+ return {
366
+ ok: params.ok,
367
+ totals: {
368
+ items: params.filteredItems.length,
369
+ linked_tests: params.linkedTests,
370
+ passed: params.accumulation.passed,
371
+ failed: params.accumulation.failed,
372
+ skipped: params.accumulation.skipped,
373
+ failure_categories: params.accumulation.failureCategories
374
+ },
375
+ failed: params.accumulation.failed,
376
+ passed: params.accumulation.passed,
377
+ skipped: params.accumulation.skipped,
378
+ fail_on_skipped_triggered: params.failOnSkippedTriggered ? true : void 0,
379
+ fail_on_empty_test_run_triggered: params.failOnEmptyTestRunTriggered ? true : void 0,
380
+ warnings: params.accumulation.trackingWarnings.length > 0 ? params.accumulation.trackingWarnings : void 0,
381
+ results: params.accumulation.results
382
+ };
383
+ }
384
+ async function runTestAll(options, global) {
385
+ const pmRoot = resolvePmRoot(process.cwd(), global.path);
386
+ if (!await pathExists(getSettingsPath(pmRoot))) {
387
+ throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);
388
+ }
389
+ const settings = await readSettings(pmRoot);
390
+ const { filteredItems, statusFilter, limitFilter, offsetFilter } = await selectTestAllItems({ pmRoot, settings, options });
391
+ const defaultTimeoutSeconds = parseTimeout(options.timeout);
392
+ const runStartedAt = nowIso();
393
+ const { itemTests, linkedTests } = await collectTestAllItemTests(filteredItems, global, pmRoot);
394
+ emitTestAllProgress(options, `selection items=${filteredItems.length} linked_tests=${linkedTests}${statusFilter ? ` status=${statusFilter}` : ""}${limitFilter === void 0 ? "" : ` limit=${limitFilter}`}${offsetFilter > 0 ? ` offset=${offsetFilter}` : ""}`);
395
+ const { accumulation, failOnEmptyTestRunTriggered } = initializeTestAllAccumulation(options, linkedTests, filteredItems);
396
+ const itemRunContext = buildTestAllItemRunContext({
397
+ pmRoot,
398
+ settings,
399
+ options,
400
+ itemTests,
401
+ defaultTimeoutSeconds,
402
+ runStartedAt
403
+ });
404
+ await runTestAllItems(itemTests, itemRunContext, accumulation);
405
+ const failOnSkippedTriggered = options.failOnSkipped === true && accumulation.skipped > 0;
406
+ appendContextPreflightWarning(options, accumulation);
407
+ const ok = accumulation.failed === 0 && failOnSkippedTriggered !== true && failOnEmptyTestRunTriggered !== true;
408
+ emitTestAllProgress(options, `end status=${ok ? "passed" : "failed"} items=${filteredItems.length} linked_tests=${linkedTests} passed=${accumulation.passed} failed=${accumulation.failed} skipped=${accumulation.skipped}`);
409
+ return buildTestAllResult({
410
+ ok,
411
+ filteredItems,
412
+ linkedTests,
413
+ accumulation,
414
+ failOnSkippedTriggered,
415
+ failOnEmptyTestRunTriggered
416
+ });
417
+ }
418
+ var _testOnlyTestAll = {
419
+ formatTrackingError
420
+ };
421
+ export {
422
+ _testOnlyTestAll,
423
+ runTestAll
424
+ };
425
+ //# sourceMappingURL=test-all-2BWKY3GQ.js.map
426
+
427
+ //# debugId=2eb7993e-489d-5736-bd11-b2a782b74da4
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../cli/commands/test-all.ts"],"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"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyIA,SAAS,YAAY,KAAyB,gBAAqC;AACjF,MAAI,QAAQ,QAAW;AACrB,WAAO;EACT;AACA,QAAM,aAAa,qBAAqB,KAAK,cAAc;AAC3D,MAAI,CAAC,YAAY;AACf,UAAM,kBAAkB,eAAe,YAAY,IAAI,CAAC,eAAe,WAAW,EAAE;AACpF,UAAM,IAAI,WAAW,2BAA2B,GAAG,eAAe,gBAAgB,KAAK,IAAI,CAAC,IAAI,UAAU,KAAK;EACjH;AACA,SAAO;AACT;AAEA,SAAS,aAAa,KAAuB;AAC3C,MAAI,QAAQ,QAAW;AACrB,WAAO;EACT;AACA,SAAO,oBAAoB,KAAK,SAAS;AAC3C;AAEA,SAAS,wBAAwB,KAAyB,MAAY;AACpE,MAAI,QAAQ,QAAW;AACrB,WAAO;EACT;AACA,QAAM,SAAS,OAAO,GAAG;AACzB,MAAI,CAAC,OAAO,UAAU,MAAM,KAAK,SAAS,GAAG;AAC3C,UAAM,IAAI,WAAW,GAAG,IAAI,mCAAmC,UAAU,KAAK;EAChF;AACA,SAAO;AACT;AAEA,SAAS,oBAAoB,OAAc;AACzC,SAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAC9D;AAEA,SAAS,sBAAmB;AAC1B,QAAM,UAAU,QAAQ,IAAI,2BAA2B,KAAI;AAC3D,MAAI,WAAW,QAAQ,SAAS,GAAG;AACjC,WAAO;EACT;AACA,SAAO,kBAAkB,KAAK,IAAG,EAAG,SAAS,EAAE,CAAC,IAAI,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AAC5F;AAEA,SAAS,iBAAiB,SAAe;AACvC,SAAO,QAAQ,KAAI,EAAG,WAAW,QAAQ,GAAG;AAC9C;AAEA,SAAS,yBAAyB,OAA4B;AAC5D,MAAI,CAAC,SAAS,OAAO,KAAK,KAAK,EAAE,WAAW,GAAG;AAC7C,WAAO;EACT;AACA,SAAO,KAAK,UACV,OAAO,YAAY,OAAO,QAAQ,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MAAM,KAAK,cAAc,KAAK,CAAC,CAAC,CAAC;AAElG;AAEA,SAAS,2BAA2B,OAA8B;AAChE,MAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC,WAAO;EACT;AACA,SAAO,KAAK,UAAU,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC,CAAC;AACnF;AAEA,SAAS,gCAAgC,OAAoC;AAC3E,QAAM,aAAa,OAAO,KAAI,EAAG,YAAW;AAC5C,SAAO,cAAc,WAAW,SAAS,IAAI,aAAa;AAC5D;AAEA,SAAS,4BAA4B,MAAgB;AACnD,QAAM,aAAa;IACjB,wBAAwB,CAAC,GAAG,IAAI,IAAI,KAAK,0BAA0B,CAAA,CAAE,CAAC,EAAE,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC;IACvH,qBAAqB,CAAC,GAAG,IAAI,IAAI,KAAK,uBAAuB,CAAA,CAAE,CAAC,EAAE,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC;IACjH,wBAAwB,CAAC,GAAG,IAAI,IAAI,KAAK,0BAA0B,CAAA,CAAE,CAAC,EAAE,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC;IACvH,qBAAqB,CAAC,GAAG,IAAI,IAAI,KAAK,uBAAuB,CAAA,CAAE,CAAC,EAAE,KAAK,CAAC,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC;IACjH,yBAAyB,OAAO,KAAK,4BAA4B,WAAW,KAAK,0BAA0B;IAC3G,0BAA0B,OAAO,YAC/B,OAAO,QAAQ,KAAK,4BAA4B,CAAA,CAAE,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MAAM,KAAK,cAAc,KAAK,CAAC,CAAC;IAE1G,uBAAuB,OAAO,YAC5B,OAAO,QAAQ,KAAK,yBAAyB,CAAA,CAAE,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MAAM,KAAK,cAAc,KAAK,CAAC,CAAC;;AAGzG,SAAO,KAAK,UAAU,UAAU;AAClC;AAEA,SAAS,mBAAmB,MAAgB;AAC1C,QAAM,UAAU,KAAK,SAAS,KAAI;AAClC,MAAI,WAAW,QAAQ,SAAS,GAAG;AACjC,UAAM,SAAS,yBAAyB,KAAK,OAAO;AACpD,UAAM,WAAW,2BAA2B,KAAK,SAAS;AAC1D,UAAM,gBAAgB,gCAAgC,KAAK,eAAe;AAC1E,UAAM,iBAAiB,KAAK,qBAAqB,OAAO,SAAS;AACjE,UAAM,aAAa,4BAA4B,IAAI;AACnD,WAAO,WAAW,KAAK,KAAK,IAAI,iBAAiB,OAAO,CAAC,IAAI,MAAM,IAAI,QAAQ,IAAI,aAAa,IAAI,cAAc,IAAI,UAAU;EAClI;AACA,QAAM,aAAa,KAAK,MAAM,KAAI,KAAM;AACxC,SAAO,QAAQ,KAAK,KAAK,IAAI,UAAU;AACzC;AAEA,SAAS,kBAAkB,SAA6B,WAA6B;AACnF,MAAI,cAAc,QAAW;AAE3B,WAAO;EACT;AACA,MAAI,YAAY,UAAa,YAAY,SAAS;AAChD,WAAO;EACT;AACA,SAAO;AACT;AAEA,SAAS,cAAc,YAA2B;AAChD,MAAI,SAAS;AACb,MAAI,SAAS;AACb,MAAI,UAAU;AACd,aAAW,UAAU,YAAY;AAC/B,QAAI,OAAO,WAAW,UAAU;AAC9B,gBAAU;AACV;IACF;AACA,QAAI,OAAO,WAAW,UAAU;AAC9B,gBAAU;AACV;IACF;AACA,eAAW;EACb;AACA,SAAO,EAAE,QAAQ,QAAQ,QAAO;AAClC;AAEA,SAAS,2BACP,QACA,QAAiD;AAEjD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,WAAO,GAAgC,KAAK;EAC9C;AACF;AAEA,SAAS,oBAAoB,SAAgC,SAAe;AAC1E,MAAI,QAAQ,aAAa,MAAM;AAC7B;EACF;AACA,MAAI;AACF,YAAQ,OAAO,MAAM,iBAAiB,OAAO;CAAI;EACnD,QAAQ;EAER;AACF;AAEA,eAAe,wBACb,eACA,QACA,QAAc;AAEd,QAAM,YAAgC,CAAA;AACtC,MAAI,cAAc;AAClB,aAAW,QAAQ,eAAe;AAChC,UAAM,aAAa,MAAM,QACvB,KAAK,IACL,EAAE,KAAK,MAAK,GACZ;MACE,GAAG;MACH,MAAM;KACP;AAEH,mBAAe,WAAW,MAAM;AAChC,cAAU,KAAK,EAAE,MAAM,OAAO,WAAW,MAAK,CAAE;EAClD;AACA,SAAO,EAAE,WAAW,YAAW;AACjC;AAEA,eAAe,mBAAmB,QAIjC;AACC,QAAM,iBAAiB,6BAA6B,OAAO,SAAS,MAAM;AAC1E,QAAM,eAAe,wBAAwB,OAAO,UAAU,gCAA+B,CAAE;AAC/F,QAAM,eAAe,YAAY,OAAO,QAAQ,QAAQ,cAAc;AACtE,QAAM,cAAc,wBAAwB,OAAO,QAAQ,OAAO,SAAS;AAC3E,QAAM,eAAe,wBAAwB,OAAO,QAAQ,QAAQ,UAAU,KAAK;AACnF,QAAM,WAAW,MAAM,wBACrB,OAAO,QACP,OAAO,SAAS,aAChB,aAAa,gBACb,QACA,OAAO,SAAS,MAAM;AAExB,QAAM,sBAAsB,SACzB,OAAO,CAAC,SAAU,eAAe,KAAK,WAAW,eAAe,IAAK,EACrE,KAAK,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC;AAC1C,QAAM,gBACJ,gBAAgB,SACZ,oBAAoB,MAAM,YAAY,IACtC,oBAAoB,MAAM,cAAc,eAAe,WAAW;AACxE,SAAO,EAAE,eAAe,cAAc,aAAa,aAAY;AACjE;AAEA,SAAS,2BAA2B,WAA6B;AAC/D,QAAM,wBAAwB,oBAAI,IAAG;AACrC,aAAW,EAAE,MAAK,KAAM,WAAW;AACjC,eAAW,QAAQ,OAAO;AACxB,YAAM,MAAM,mBAAmB,IAAI;AACnC,UAAI,CAAC,sBAAsB,IAAI,GAAG,GAAG;AACnC,8BAAsB,IAAI,KAAK,KAAK,eAAe;AACnD;MACF;AACA,4BAAsB,IAAI,KAAK,kBAAkB,sBAAsB,IAAI,GAAG,GAAG,KAAK,eAAe,CAAC;IACxG;EACF;AACA,SAAO;AACT;AAEA,eAAe,eACb,OACA,SAA8B;AAE9B,QAAM,aAA2B,CAAA;AACjC,QAAM,aAAa,MAAM,MAAM,IAAI,CAAC,SAAQ;AAC1C,UAAM,MAAM,mBAAmB,IAAI;AACnC,UAAM,YAAY,QAAQ,aAAa,IAAI,GAAG;AAC9C,QAAI,CAAC,WAAW;AACd,cAAQ,aAAa,IAAI,GAAG;AAC5B,YAAM,0BAA0B,QAAQ,sBAAsB,IAAI,GAAG;AACrE,iBAAW,KAAK,4BAA4B,SAAY,OAAO,EAAE,GAAG,MAAM,iBAAiB,wBAAuB,CAAE;IACtH;AACA,WAAO,EAAE,MAAM,KAAK,UAAS;EAC/B,CAAC;AAED,QAAM,kBACJ,WAAW,SAAS,IAChB,MAAM,eAAe,YAAY,QAAQ,uBAAuB;IAC9D,UAAU,QAAQ,QAAQ;IAC1B,aAAa,QAAQ;IACrB,QAAQ,QAAQ,QAAQ;IACxB,UAAU,QAAQ,QAAQ;IAC1B,gBAAgB,QAAQ,QAAQ;IAChC,WAAW,QAAQ,QAAQ;IAC3B,yBAAyB,QAAQ,QAAQ;IACzC,uBAAuB,QAAQ,QAAQ;IACvC,oBAAoB,QAAQ,QAAQ;IACpC,wBAAwB,QAAQ,QAAQ;IACxC,cAAc,QAAQ,QAAQ;IAC9B,eAAe,QAAQ,QAAQ;GAChC,IACD,CAAA;AACN,MAAI,gBAAgB;AACpB,QAAM,aAAa,WAAW,IAAI,CAAC,EAAE,MAAM,KAAK,UAAS,MAAM;AAC7D,QAAI,CAAC,WAAW;AACd,YAAM,WAAW,gBAAgB,aAAa;AAC9C,uBAAiB;AACjB,aAAO;IACT;AACA,WAAO;MACL,SAAS,KAAK;MACd,MAAM,KAAK;MACX,QAAQ;MACR,OAAO,sCAAsC,GAAG;;EAEpD,CAAC;AACD,QAAM,UAAU,cAAc,UAAU;AACxC,QAAM,oBAAoB,uBAAuB,UAAU;AAC3D,QAAM,mBAAmB,MAAM,0BAA0B,OAAO,SAAS,OAAO;AAChF,SAAO;IACL,QAAQ,QAAQ;IAChB,QAAQ,QAAQ;IAChB,SAAS,QAAQ;IACjB;IACA;IACA,QAAQ;MACN,IAAI,QAAQ,WAAW,KAAK,EAAE,QAAQ,QAAQ,kBAAkB,QAAQ,QAAQ,UAAU;MAC1F,IAAI,MAAM,KAAK;MACf,QAAQ,MAAM,KAAK;MACnB,YAAY,MAAM,MAAM;MACxB,QAAQ,QAAQ;MAChB,QAAQ,QAAQ;MAChB,SAAS,QAAQ;MACjB,aAAa;MACb,oBAAoB;;;AAG1B;AAEA,eAAe,0BACb,OACA,SACA,SAA8B;AAE9B,MAAI,CAAC,QAAQ,iBAAiB;AAC5B,WAAO,CAAA;EACT;AACA,MAAI;AACF,UAAM,4BAA4B;MAChC,QAAQ,QAAQ;MAChB,UAAU,QAAQ;MAClB,QAAQ,MAAM,KAAK;MACnB,QAAQ,QAAQ;MAChB,SAAS,+BAA+B,QAAQ,aAAa;MAC7D,OAAO;QACL,QAAQ,QAAQ;QAChB,MAAM;QACN,QAAQ,QAAQ,SAAS,KAAM,QAAQ,QAAQ,kBAAkB,QAAQ,QAAQ,UAAU,IAAK,WAAW;QAC3G,YAAY,QAAQ;QACpB,aAAa,OAAM;QACnB,aAAa,OAAM;QACnB,SAAS,QAAQ;QACjB,cAAc,QAAQ;QACtB,QAAQ,QAAQ;QAChB,QAAQ,QAAQ;QAChB,SAAS,QAAQ;QACjB,OAAO;QACP,cAAc,MAAM,MAAM;QAC1B,2BAA2B,QAAQ,QAAQ,kBAAkB,QAAQ,QAAQ,UAAU,IAAI,OAAO;;KAErG;EACH,SAAS,OAAgB;AACvB,WAAO,CAAC,+BAA+B,MAAM,KAAK,EAAE,IAAI,oBAAoB,KAAK,CAAC,EAAE;EACtF;AACA,SAAO,CAAA;AACT;AAEA,SAAS,2BAA2B,QAOnC;AACC,QAAM,qBAAqB,QAAQ,IAAI,gCAAgC,KAAI;AAC3E,QAAM,wBAAwB,qBAAqB,OAAO,SAAS,oBAAoB,EAAE,IAAI,OAAO;AACpG,QAAM,sBAAsB,QAAQ,IAAI,qCAAqC,KAAI;AACjF,SAAO;IACL,QAAQ,OAAO;IACf,UAAU,OAAO;IACjB,SAAS,OAAO;IAChB,uBAAuB,OAAO;IAC9B,aAAa;MACX,eAAe,OAAO;MACtB,cAAc,oBAAoB,QAAQ,IAAG,CAAE;;IAEjD,cAAc,oBAAI,IAAG;IACrB,uBAAuB,2BAA2B,OAAO,SAAS;IAClE,iBAAiB,OAAO,SAAS,QAAQ,4BAA4B;IACrE,gBAAgB,cAAc,QAAW,OAAO,SAAS,cAAc;IACvE,eAAe,oBAAmB;IAClC,iBAAiB,OAAO,SAAS,qBAAqB,KAAK,yBAAyB,IAAI,wBAAwB;IAChH,qBAAqB,uBAAuB,oBAAoB,SAAS,IAAI,sBAAsB;IACnG,cAAc,OAAO;;AAEzB;AAEA,SAAS,8BACP,SACA,aACA,eAAoC;AAEpC,QAAM,eAAoC;IACxC,SAAS,CAAA;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,mBAAmB,uBAAuB,CAAA,CAAE;IAC5C,kBAAkB,CAAA;;AAEpB,QAAM,8BAA8B,QAAQ,uBAAuB,QAAQ,gBAAgB;AAC3F,MAAI,6BAA6B;AAC/B,iBAAa,UAAU;AACvB,iBAAa,kBAAkB,aAAa;AAC5C,iBAAa,iBAAiB,KAC5B,qCAAqC,cAAc,MAAM,6CAA6C;EAE1G;AACA,SAAO,EAAE,cAAc,4BAA2B;AACpD;AAEA,eAAe,gBACb,WACA,SACA,cAAiC;AAEjC,aAAW,CAAC,WAAW,KAAK,KAAK,UAAU,QAAO,GAAI;AACpD,wBAAoB,QAAQ,SAAS,QAAQ,YAAY,CAAC,IAAI,UAAU,MAAM,aAAa,MAAM,KAAK,EAAE,iBAAiB,MAAM,MAAM,MAAM,EAAE;AAC7I,UAAM,YAAY,MAAM,eAAe,OAAO,OAAO;AACrD,+BAA2B,aAAa,mBAAmB,UAAU,iBAAiB;AACtF,iBAAa,UAAU,UAAU;AACjC,iBAAa,UAAU,UAAU;AACjC,iBAAa,WAAW,UAAU;AAClC,iBAAa,iBAAiB,KAAK,GAAG,UAAU,gBAAgB;AAChE,iBAAa,QAAQ,KAAK,UAAU,MAAM;AAC1C,wBACE,QAAQ,SACR,QAAQ,YAAY,CAAC,IAAI,UAAU,MAAM,WAAW,MAAM,KAAK,EAAE,WACpD,UAAU,WAAW,IAAI,WAAW,QAAQ,WAC5C,UAAU,MAAM,WAAW,UAAU,MAAM,YAAY,UAAU,OAAO,EAAE;EAE3F;AACF;AAEA,SAAS,8BAA8B,SAAgC,cAAiC;AACtG,MAAI,QAAQ,iBAAiB,MAAM;AACjC;EACF;AACA,QAAM,gBAAgB,aAAa,QAAQ,QAAQ,CAAC,UAAU,MAAM,WAAW;AAC/E,QAAM,YAAY,0BAA0B,aAAa;AACzD,eAAa,iBAAiB,KAC5B,yCAAyC,UAAU,mBAAmB,0BAC3C,UAAU,qBAAqB,eAC1C,UAAU,UAAU,oBACf,UAAU,eAAe,EAAE;AAEpD;AAEA,SAAS,mBAAmB,QAO3B;AACC,SAAO;IACL,IAAI,OAAO;IACX,QAAQ;MACN,OAAO,OAAO,cAAc;MAC5B,cAAc,OAAO;MACrB,QAAQ,OAAO,aAAa;MAC5B,QAAQ,OAAO,aAAa;MAC5B,SAAS,OAAO,aAAa;MAC7B,oBAAoB,OAAO,aAAa;;IAE1C,QAAQ,OAAO,aAAa;IAC5B,QAAQ,OAAO,aAAa;IAC5B,SAAS,OAAO,aAAa;IAC7B,2BAA2B,OAAO,yBAAyB,OAAO;IAClE,kCAAkC,OAAO,8BAA8B,OAAO;IAC9E,UAAU,OAAO,aAAa,iBAAiB,SAAS,IAAI,OAAO,aAAa,mBAAmB;IACnG,SAAS,OAAO,aAAa;;AAEjC;AAKA,eAAsB,WAAW,SAAgC,QAAqB;AACpF,QAAM,SAAS,cAAc,QAAQ,IAAG,GAAI,OAAO,IAAI;AACvD,MAAI,CAAE,MAAM,WAAW,gBAAgB,MAAM,CAAC,GAAI;AAChD,UAAM,IAAI,WAAW,iCAAiC,MAAM,wBAAwB,UAAU,SAAS;EACzG;AAEA,QAAM,WAAW,MAAM,aAAa,MAAM;AAC1C,QAAM,EAAE,eAAe,cAAc,aAAa,aAAY,IAAK,MAAM,mBAAmB,EAAE,QAAQ,UAAU,QAAO,CAAE;AACzH,QAAM,wBAAwB,aAAa,QAAQ,OAAO;AAC1D,QAAM,eAAe,OAAM;AAC3B,QAAM,EAAE,WAAW,YAAW,IAAK,MAAM,wBAAwB,eAAe,QAAQ,MAAM;AAC9F,sBACE,SACA,mBAAmB,cAAc,MAAM,iBAAiB,WAAW,GAC9D,eAAe,WAAW,YAAY,KAAK,EAAE,GAC7C,gBAAgB,SAAY,KAAK,UAAU,WAAW,EAAE,GACxD,eAAe,IAAI,WAAW,YAAY,KAAK,EAAE,EAAE;AAG1D,QAAM,EAAE,cAAc,4BAA2B,IAAK,8BAA8B,SAAS,aAAa,aAAa;AACvH,QAAM,iBAAiB,2BAA2B;IAChD;IACA;IACA;IACA;IACA;IACA;GACD;AACD,QAAM,gBAAgB,WAAW,gBAAgB,YAAY;AAE7D,QAAM,yBAAyB,QAAQ,kBAAkB,QAAQ,aAAa,UAAU;AACxF,gCAA8B,SAAS,YAAY;AAEnD,QAAM,KAAK,aAAa,WAAW,KAAK,2BAA2B,QAAQ,gCAAgC;AAC3G,sBACE,SACA,cAAc,KAAK,WAAW,QAAQ,UAAU,cAAc,MAAM,iBAAiB,WAAW,WACnF,aAAa,MAAM,WAAW,aAAa,MAAM,YAAY,aAAa,OAAO,EAAE;AAGlG,SAAO,mBAAmB;IACxB;IACA;IACA;IACA;IACA;IACA;GACD;AACH;AAEO,IAAM,mBAAmB;EAC9B","debugId":"2eb7993e-489d-5736-bd11-b2a782b74da4"}