@unbrained/pm-cli 2026.7.5 → 2026.7.6

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 (825) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cli-bundle/chunks/activity-WJCGCYPU.js +18 -0
  3. package/dist/cli-bundle/chunks/activity-Z6QUAUSG.js +22 -0
  4. package/dist/cli-bundle/chunks/aggregate-BDM6EIAR.js +25 -0
  5. package/dist/cli-bundle/chunks/aggregate-VQ2DHU3S.js +21 -0
  6. package/dist/cli-bundle/chunks/append-BGML6VLD.js +19 -0
  7. package/dist/cli-bundle/chunks/append-RKJYPU74.js +15 -0
  8. package/dist/cli-bundle/chunks/chunk-22KBU3MW.js +57 -0
  9. package/dist/cli-bundle/chunks/chunk-24YG75HI.js +634 -0
  10. package/dist/cli-bundle/chunks/chunk-2XG4IZON.js +218 -0
  11. package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js +228 -0
  12. package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js +2330 -0
  13. package/dist/cli-bundle/chunks/chunk-3N6RRO2Q.js +808 -0
  14. package/dist/cli-bundle/chunks/chunk-3N6RRO2Q.js.map +7 -0
  15. package/dist/cli-bundle/chunks/chunk-3UJRFJ5R.js +1573 -0
  16. package/dist/cli-bundle/chunks/chunk-3VHSI5FL.js +1001 -0
  17. package/dist/cli-bundle/chunks/chunk-425E4QL5.js +278 -0
  18. package/dist/cli-bundle/chunks/chunk-425E4QL5.js.map +7 -0
  19. package/dist/cli-bundle/chunks/chunk-45FYNUFJ.js +38 -0
  20. package/dist/cli-bundle/chunks/chunk-45FYNUFJ.js.map +1 -0
  21. package/dist/cli-bundle/chunks/chunk-46CUF5L6.js +1018 -0
  22. package/dist/cli-bundle/chunks/chunk-4CJFCTLM.js +222 -0
  23. package/dist/cli-bundle/chunks/chunk-4CJFCTLM.js.map +1 -0
  24. package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js +249 -0
  25. package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js.map +7 -0
  26. package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js +819 -0
  27. package/dist/cli-bundle/chunks/chunk-4LELACOL.js +391 -0
  28. package/dist/cli-bundle/chunks/chunk-4LELACOL.js.map +1 -0
  29. package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js +279 -0
  30. package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js.map +1 -0
  31. package/dist/cli-bundle/chunks/chunk-4ZBE5GUN.js +184 -0
  32. package/dist/cli-bundle/chunks/chunk-4ZBE5GUN.js.map +7 -0
  33. package/dist/cli-bundle/chunks/chunk-57NWPFF2.js +5640 -0
  34. package/dist/cli-bundle/chunks/chunk-57NWPFF2.js.map +1 -0
  35. package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js +268 -0
  36. package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js.map +1 -0
  37. package/dist/cli-bundle/chunks/chunk-5BMM6XQY.js +508 -0
  38. package/dist/cli-bundle/chunks/chunk-5BMM6XQY.js.map +1 -0
  39. package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js +1868 -0
  40. package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js +1749 -0
  41. package/dist/cli-bundle/chunks/chunk-64YKRTSV.js +1961 -0
  42. package/dist/cli-bundle/chunks/chunk-6LLVNJXT.js +429 -0
  43. package/dist/cli-bundle/chunks/chunk-6QBJLYBP.js +120 -0
  44. package/dist/cli-bundle/chunks/chunk-6QBJLYBP.js.map +1 -0
  45. package/dist/cli-bundle/chunks/chunk-7D7OOEYG.js +278 -0
  46. package/dist/cli-bundle/chunks/chunk-7D7OOEYG.js.map +7 -0
  47. package/dist/cli-bundle/chunks/chunk-7DT4WSH2.js +60 -0
  48. package/dist/cli-bundle/chunks/chunk-7WBAJSS6.js +102 -0
  49. package/dist/cli-bundle/chunks/chunk-AGHMOTGM.js +150 -0
  50. package/dist/cli-bundle/chunks/chunk-ALFPSEWO.js +112 -0
  51. package/dist/cli-bundle/chunks/chunk-AZYGZGGI.js +361 -0
  52. package/dist/cli-bundle/chunks/chunk-B6DUFX6H.js +1413 -0
  53. package/dist/cli-bundle/chunks/chunk-B6XS3R3O.js +275 -0
  54. package/dist/cli-bundle/chunks/chunk-B6XS3R3O.js.map +1 -0
  55. package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js +421 -0
  56. package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js.map +1 -0
  57. package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js +1985 -0
  58. package/dist/cli-bundle/chunks/chunk-CFB33L7W.js +398 -0
  59. package/dist/cli-bundle/chunks/chunk-CFNGIXZP.js +784 -0
  60. package/dist/cli-bundle/chunks/chunk-CFNGIXZP.js.map +1 -0
  61. package/dist/cli-bundle/chunks/chunk-CL36D4PC.js +225 -0
  62. package/dist/cli-bundle/chunks/chunk-COSPOP7H.js +6677 -0
  63. package/dist/cli-bundle/chunks/chunk-COSPOP7H.js.map +7 -0
  64. package/dist/cli-bundle/chunks/chunk-COWTDV6B.js +3461 -0
  65. package/dist/cli-bundle/chunks/chunk-COWTDV6B.js.map +7 -0
  66. package/dist/cli-bundle/chunks/chunk-CRVYGJUI.js +553 -0
  67. package/dist/cli-bundle/chunks/chunk-CRVYGJUI.js.map +1 -0
  68. package/dist/cli-bundle/chunks/chunk-D2XRLB55.js +645 -0
  69. package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js +1858 -0
  70. package/dist/cli-bundle/chunks/chunk-DMRNBQOI.js +1063 -0
  71. package/dist/cli-bundle/chunks/chunk-DMRNBQOI.js.map +1 -0
  72. package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js +1932 -0
  73. package/dist/cli-bundle/chunks/chunk-E42XTBSP.js +1359 -0
  74. package/dist/cli-bundle/chunks/chunk-E42XTBSP.js.map +7 -0
  75. package/dist/cli-bundle/chunks/chunk-EBRZZ54H.js +655 -0
  76. package/dist/cli-bundle/chunks/chunk-EBRZZ54H.js.map +1 -0
  77. package/dist/cli-bundle/chunks/chunk-EGAP5OWD.js +4712 -0
  78. package/dist/cli-bundle/chunks/chunk-EGAP5OWD.js.map +1 -0
  79. package/dist/cli-bundle/chunks/chunk-EGY6JBQ3.js +160 -0
  80. package/dist/cli-bundle/chunks/chunk-EKFNL33R.js +222 -0
  81. package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js +1704 -0
  82. package/dist/cli-bundle/chunks/chunk-EOKXK3R3.js +2046 -0
  83. package/dist/cli-bundle/chunks/chunk-F3K4JGFD.js +121 -0
  84. package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js +231 -0
  85. package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js +2090 -0
  86. package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js.map +1 -0
  87. package/dist/cli-bundle/chunks/chunk-FT3QTERD.js +550 -0
  88. package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js +1570 -0
  89. package/dist/cli-bundle/chunks/chunk-G64OCSKU.js +444 -0
  90. package/dist/cli-bundle/chunks/chunk-GANUTS7W.js +1775 -0
  91. package/dist/cli-bundle/chunks/chunk-GBAX2ZAQ.js +401 -0
  92. package/dist/cli-bundle/chunks/chunk-GDDAGPWJ.js +105 -0
  93. package/dist/cli-bundle/chunks/chunk-GDDAGPWJ.js.map +1 -0
  94. package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js +239 -0
  95. package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js.map +1 -0
  96. package/dist/cli-bundle/chunks/chunk-GJ7QC5DJ.js +624 -0
  97. package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js +530 -0
  98. package/dist/cli-bundle/chunks/chunk-GZRDYONU.js +1005 -0
  99. package/dist/cli-bundle/chunks/chunk-HFDADVJZ.js +1356 -0
  100. package/dist/cli-bundle/chunks/chunk-HFDADVJZ.js.map +1 -0
  101. package/dist/cli-bundle/chunks/chunk-HIHMT6WS.js +41 -0
  102. package/dist/cli-bundle/chunks/chunk-HIHMT6WS.js.map +7 -0
  103. package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js +277 -0
  104. package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js.map +7 -0
  105. package/dist/cli-bundle/chunks/chunk-HOVCGJSD.js +293 -0
  106. package/dist/cli-bundle/chunks/chunk-HOVCGJSD.js.map +1 -0
  107. package/dist/cli-bundle/chunks/chunk-I36Y7PCE.js +38 -0
  108. package/dist/cli-bundle/chunks/chunk-I36Y7PCE.js.map +1 -0
  109. package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js +309 -0
  110. package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js.map +7 -0
  111. package/dist/cli-bundle/chunks/chunk-IWVU4C2F.js +358 -0
  112. package/dist/cli-bundle/chunks/chunk-IX5BXEMX.js +267 -0
  113. package/dist/cli-bundle/chunks/chunk-JDDLOQAE.js +265 -0
  114. package/dist/cli-bundle/chunks/chunk-JJP45OEI.js +119 -0
  115. package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js +2257 -0
  116. package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js.map +7 -0
  117. package/dist/cli-bundle/chunks/chunk-JVH7QBVV.js +24 -0
  118. package/dist/cli-bundle/chunks/chunk-JVH7QBVV.js.map +1 -0
  119. package/dist/cli-bundle/chunks/chunk-K46RF36U.js +207 -0
  120. package/dist/cli-bundle/chunks/chunk-KERMZVY5.js +371 -0
  121. package/dist/cli-bundle/chunks/chunk-KERMZVY5.js.map +7 -0
  122. package/dist/cli-bundle/chunks/chunk-KGFUY7WN.js +814 -0
  123. package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js +76 -0
  124. package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js.map +1 -0
  125. package/dist/cli-bundle/chunks/chunk-KUOOJR35.js +260 -0
  126. package/dist/cli-bundle/chunks/chunk-L5PSPMZ4.js +277 -0
  127. package/dist/cli-bundle/chunks/chunk-LK6XLOGP.js +5799 -0
  128. package/dist/cli-bundle/chunks/chunk-LK6XLOGP.js.map +7 -0
  129. package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js +140 -0
  130. package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js.map +1 -0
  131. package/dist/cli-bundle/chunks/chunk-LPSSSDJR.js +1239 -0
  132. package/dist/cli-bundle/chunks/chunk-M7JNBQAD.js +225 -0
  133. package/dist/cli-bundle/chunks/chunk-M7JNBQAD.js.map +7 -0
  134. package/dist/cli-bundle/chunks/chunk-MA4SM3QZ.js +655 -0
  135. package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js +1601 -0
  136. package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js.map +1 -0
  137. package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js +1031 -0
  138. package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js +995 -0
  139. package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js +296 -0
  140. package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js.map +1 -0
  141. package/dist/cli-bundle/chunks/chunk-MLIYFOE7.js +357 -0
  142. package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js +2043 -0
  143. package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js.map +7 -0
  144. package/dist/cli-bundle/chunks/chunk-MUH7A3FD.js +61 -0
  145. package/dist/cli-bundle/chunks/chunk-MVSP7WGJ.js +108 -0
  146. package/dist/cli-bundle/chunks/chunk-MVSP7WGJ.js.map +7 -0
  147. package/dist/cli-bundle/chunks/chunk-MVYWGY2A.js +262 -0
  148. package/dist/cli-bundle/chunks/chunk-MWMVPCIE.js +1423 -0
  149. package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js +2033 -0
  150. package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js.map +1 -0
  151. package/dist/cli-bundle/chunks/chunk-N745W3B3.js +1604 -0
  152. package/dist/cli-bundle/chunks/chunk-N745W3B3.js.map +7 -0
  153. package/dist/cli-bundle/chunks/chunk-NB7RLQFW.js +57 -0
  154. package/dist/cli-bundle/chunks/chunk-NB7RLQFW.js.map +7 -0
  155. package/dist/cli-bundle/chunks/chunk-NC33K5ZS.js +123 -0
  156. package/dist/cli-bundle/chunks/chunk-NC33K5ZS.js.map +7 -0
  157. package/dist/cli-bundle/chunks/chunk-NGXQ3PFT.js +263 -0
  158. package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js +1615 -0
  159. package/dist/cli-bundle/chunks/chunk-NO442GWJ.js +41 -0
  160. package/dist/cli-bundle/chunks/chunk-NO442GWJ.js.map +7 -0
  161. package/dist/cli-bundle/chunks/chunk-NZEHECMW.js +658 -0
  162. package/dist/cli-bundle/chunks/chunk-NZEHECMW.js.map +7 -0
  163. package/dist/cli-bundle/chunks/chunk-O6AWCQRQ.js +124 -0
  164. package/dist/cli-bundle/chunks/chunk-OGWQ2IEP.js +240 -0
  165. package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js +143 -0
  166. package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js.map +7 -0
  167. package/dist/cli-bundle/chunks/chunk-QLMX7SRD.js +210 -0
  168. package/dist/cli-bundle/chunks/chunk-QX6HM775.js +398 -0
  169. package/dist/cli-bundle/chunks/chunk-QX6HM775.js.map +7 -0
  170. package/dist/cli-bundle/chunks/chunk-R5BMJX33.js +27 -0
  171. package/dist/cli-bundle/chunks/chunk-R5BMJX33.js.map +7 -0
  172. package/dist/cli-bundle/chunks/chunk-RCQZK2GO.js +296 -0
  173. package/dist/cli-bundle/chunks/chunk-RCQZK2GO.js.map +7 -0
  174. package/dist/cli-bundle/chunks/chunk-RFNYTESG.js +520 -0
  175. package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js +79 -0
  176. package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js.map +7 -0
  177. package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js +282 -0
  178. package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js.map +7 -0
  179. package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js +274 -0
  180. package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js.map +1 -0
  181. package/dist/cli-bundle/chunks/chunk-SCUR7K7N.js +2198 -0
  182. package/dist/cli-bundle/chunks/chunk-SGMFPXKR.js +68 -0
  183. package/dist/cli-bundle/chunks/chunk-SGMFPXKR.js.map +1 -0
  184. package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js +1977 -0
  185. package/dist/cli-bundle/chunks/chunk-SMB7RV23.js +130 -0
  186. package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js +1041 -0
  187. package/dist/cli-bundle/chunks/chunk-SQOIV3OQ.js +563 -0
  188. package/dist/cli-bundle/chunks/chunk-SQOIV3OQ.js.map +7 -0
  189. package/dist/cli-bundle/chunks/chunk-SQYJ4HF2.js +1765 -0
  190. package/dist/cli-bundle/chunks/chunk-T42JWV3F.js +822 -0
  191. package/dist/cli-bundle/chunks/chunk-TKD5VCTD.js +6567 -0
  192. package/dist/cli-bundle/chunks/chunk-TKD5VCTD.js.map +1 -0
  193. package/dist/cli-bundle/chunks/chunk-TULGS6X6.js +2132 -0
  194. package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js +2306 -0
  195. package/dist/cli-bundle/chunks/chunk-UH7T2DAX.js +181 -0
  196. package/dist/cli-bundle/chunks/chunk-UH7T2DAX.js.map +1 -0
  197. package/dist/cli-bundle/chunks/chunk-VIIUS6N6.js +4773 -0
  198. package/dist/cli-bundle/chunks/chunk-VIIUS6N6.js.map +7 -0
  199. package/dist/cli-bundle/chunks/chunk-VPIM42PC.js +367 -0
  200. package/dist/cli-bundle/chunks/chunk-VQRSPVME.js +368 -0
  201. package/dist/cli-bundle/chunks/chunk-VQRSPVME.js.map +1 -0
  202. package/dist/cli-bundle/chunks/chunk-W3DSJQIO.js +447 -0
  203. package/dist/cli-bundle/chunks/chunk-W572BIEB.js +1249 -0
  204. package/dist/cli-bundle/chunks/chunk-W6DYWXPQ.js +1073 -0
  205. package/dist/cli-bundle/chunks/chunk-W6DYWXPQ.js.map +7 -0
  206. package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js +3423 -0
  207. package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js.map +1 -0
  208. package/dist/cli-bundle/chunks/chunk-WLSM645P.js +2247 -0
  209. package/dist/cli-bundle/chunks/chunk-WLSM645P.js.map +1 -0
  210. package/dist/cli-bundle/chunks/chunk-WRTENIX3.js +215 -0
  211. package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js +388 -0
  212. package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js.map +1 -0
  213. package/dist/cli-bundle/chunks/chunk-XB7KFVFI.js +533 -0
  214. package/dist/cli-bundle/chunks/chunk-XC5BURG2.js +306 -0
  215. package/dist/cli-bundle/chunks/chunk-XC5BURG2.js.map +1 -0
  216. package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js +424 -0
  217. package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js.map +7 -0
  218. package/dist/cli-bundle/chunks/chunk-XG625QP4.js +58 -0
  219. package/dist/cli-bundle/chunks/chunk-XHET7YUZ.js +71 -0
  220. package/dist/cli-bundle/chunks/chunk-XHET7YUZ.js.map +7 -0
  221. package/dist/cli-bundle/chunks/chunk-XUC7PI2H.js +243 -0
  222. package/dist/cli-bundle/chunks/chunk-Y46GD4IX.js +116 -0
  223. package/dist/cli-bundle/chunks/chunk-Y4M7CPQP.js +804 -0
  224. package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js +2128 -0
  225. package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js.map +7 -0
  226. package/dist/cli-bundle/chunks/chunk-YN7Y6DQZ.js +426 -0
  227. package/dist/cli-bundle/chunks/chunk-Z3U3U5KD.js +511 -0
  228. package/dist/cli-bundle/chunks/chunk-Z3U3U5KD.js.map +7 -0
  229. package/dist/cli-bundle/chunks/chunk-ZGK4L4JM.js +133 -0
  230. package/dist/cli-bundle/chunks/chunk-ZJ262CED.js +394 -0
  231. package/dist/cli-bundle/chunks/chunk-ZJ262CED.js.map +7 -0
  232. package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js +299 -0
  233. package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js.map +7 -0
  234. package/dist/cli-bundle/chunks/chunk-ZSUS2OD3.js +2105 -0
  235. package/dist/cli-bundle/chunks/chunk-ZWBEPGD7.js +54 -0
  236. package/dist/cli-bundle/chunks/chunk-ZWBEPGD7.js.map +1 -0
  237. package/dist/cli-bundle/chunks/chunk-ZZD4J5XY.js +1570 -0
  238. package/dist/cli-bundle/chunks/claim-RFS7BROJ.js +19 -0
  239. package/dist/cli-bundle/chunks/claim-XP5AWZ5H.js +23 -0
  240. package/dist/cli-bundle/chunks/close-2SSSHHUZ.js +20 -0
  241. package/dist/cli-bundle/chunks/close-GEANHQ2J.js +16 -0
  242. package/dist/cli-bundle/chunks/close-many-CMZW7ITN.js +31 -0
  243. package/dist/cli-bundle/chunks/close-many-ZFDIG6M7.js +27 -0
  244. package/dist/cli-bundle/chunks/comments-MFSYVNNU.js +21 -0
  245. package/dist/cli-bundle/chunks/comments-XUBPXDYX.js +17 -0
  246. package/dist/cli-bundle/chunks/config-D7XQMONX.js +18 -0
  247. package/dist/cli-bundle/chunks/config-T4FHBSYN.js +22 -0
  248. package/dist/cli-bundle/chunks/context-DIU275XI.js +48 -0
  249. package/dist/cli-bundle/chunks/context-JCOYB4LZ.js +44 -0
  250. package/dist/cli-bundle/chunks/contracts-BVO7CSLK.js +12 -0
  251. package/dist/cli-bundle/chunks/contracts-NYPEW2G4.js +16 -0
  252. package/dist/cli-bundle/chunks/copy-32ROBIDL.js +17 -0
  253. package/dist/cli-bundle/chunks/copy-NAGLGMHZ.js +13 -0
  254. package/dist/cli-bundle/chunks/create-4V7SWNBB.js +30 -0
  255. package/dist/cli-bundle/chunks/create-E77SDCUP.js +34 -0
  256. package/dist/cli-bundle/chunks/delete-NQI5OSKN.js +14 -0
  257. package/dist/cli-bundle/chunks/delete-RA5KTCLB.js +18 -0
  258. package/dist/cli-bundle/chunks/deps-32SU7HO5.js +21 -0
  259. package/dist/cli-bundle/chunks/deps-T7SCWXEX.js +17 -0
  260. package/dist/cli-bundle/chunks/docs-RRUPT7O2.js +22 -0
  261. package/dist/cli-bundle/chunks/docs-WL2IWGWV.js +18 -0
  262. package/dist/cli-bundle/chunks/eval-NF2J5SHR.js +23 -0
  263. package/dist/cli-bundle/chunks/eval-SKDT3MZU.js +27 -0
  264. package/dist/cli-bundle/chunks/extension-LAXKCAYE.js +42 -0
  265. package/dist/cli-bundle/chunks/extension-LAXKCAYE.js.map +1 -0
  266. package/dist/cli-bundle/chunks/extension-ZISPBRBC.js +38 -0
  267. package/dist/cli-bundle/chunks/extension-ZISPBRBC.js.map +7 -0
  268. package/dist/cli-bundle/chunks/files-EWRQHGIS.js +22 -0
  269. package/dist/cli-bundle/chunks/files-EWRQHGIS.js.map +7 -0
  270. package/dist/cli-bundle/chunks/files-PYKR2UUG.js +26 -0
  271. package/dist/cli-bundle/chunks/files-PYKR2UUG.js.map +1 -0
  272. package/dist/cli-bundle/chunks/focus-4T7TM4MT.js +18 -0
  273. package/dist/cli-bundle/chunks/focus-4T7TM4MT.js.map +1 -0
  274. package/dist/cli-bundle/chunks/focus-L3YUASOD.js +14 -0
  275. package/dist/cli-bundle/chunks/focus-L3YUASOD.js.map +7 -0
  276. package/dist/cli-bundle/chunks/gc-2DNMPXMC.js +16 -0
  277. package/dist/cli-bundle/chunks/gc-2DNMPXMC.js.map +1 -0
  278. package/dist/cli-bundle/chunks/gc-2PCTYYRI.js +12 -0
  279. package/dist/cli-bundle/chunks/gc-2PCTYYRI.js.map +7 -0
  280. package/dist/cli-bundle/chunks/get-7DMITJ3G.js +23 -0
  281. package/dist/cli-bundle/chunks/get-7DMITJ3G.js.map +1 -0
  282. package/dist/cli-bundle/chunks/get-VKQXCXLL.js +19 -0
  283. package/dist/cli-bundle/chunks/get-VKQXCXLL.js.map +7 -0
  284. package/dist/cli-bundle/chunks/health-CVSTAR2F.js +31 -0
  285. package/dist/cli-bundle/chunks/health-CVSTAR2F.js.map +7 -0
  286. package/dist/cli-bundle/chunks/health-TV3GKTFN.js +35 -0
  287. package/dist/cli-bundle/chunks/health-TV3GKTFN.js.map +1 -0
  288. package/dist/cli-bundle/chunks/history-D4JUX5XV.js +20 -0
  289. package/dist/cli-bundle/chunks/history-D4JUX5XV.js.map +7 -0
  290. package/dist/cli-bundle/chunks/history-LQ2UWZTE.js +24 -0
  291. package/dist/cli-bundle/chunks/history-LQ2UWZTE.js.map +1 -0
  292. package/dist/cli-bundle/chunks/history-compact-3MNXLKAT.js +29 -0
  293. package/dist/cli-bundle/chunks/history-compact-3MNXLKAT.js.map +1 -0
  294. package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js +25 -0
  295. package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js.map +7 -0
  296. package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js +21 -0
  297. package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js.map +7 -0
  298. package/dist/cli-bundle/chunks/history-redact-P6DYF55G.js +25 -0
  299. package/dist/cli-bundle/chunks/history-redact-P6DYF55G.js.map +1 -0
  300. package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js +23 -0
  301. package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js.map +7 -0
  302. package/dist/cli-bundle/chunks/history-repair-ZJQFMWPD.js +27 -0
  303. package/dist/cli-bundle/chunks/history-repair-ZJQFMWPD.js.map +1 -0
  304. package/dist/cli-bundle/chunks/init-C3LJPWQZ.js +30 -0
  305. package/dist/cli-bundle/chunks/init-C3LJPWQZ.js.map +1 -0
  306. package/dist/cli-bundle/chunks/init-J3DPGWQI.js +26 -0
  307. package/dist/cli-bundle/chunks/init-J3DPGWQI.js.map +7 -0
  308. package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js +21 -0
  309. package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js.map +1 -0
  310. package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js +17 -0
  311. package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js.map +7 -0
  312. package/dist/cli-bundle/chunks/list-O5NZVSPN.js +36 -0
  313. package/dist/cli-bundle/chunks/list-O5NZVSPN.js.map +1 -0
  314. package/dist/cli-bundle/chunks/list-Z55YCNTC.js +32 -0
  315. package/dist/cli-bundle/chunks/list-Z55YCNTC.js.map +7 -0
  316. package/dist/cli-bundle/chunks/next-GBNTGXFC.js +28 -0
  317. package/dist/cli-bundle/chunks/next-GBNTGXFC.js.map +7 -0
  318. package/dist/cli-bundle/chunks/next-QKW7PTKE.js +32 -0
  319. package/dist/cli-bundle/chunks/next-QKW7PTKE.js.map +1 -0
  320. package/dist/cli-bundle/chunks/notes-R5FZTKWF.js +17 -0
  321. package/dist/cli-bundle/chunks/notes-R5FZTKWF.js.map +7 -0
  322. package/dist/cli-bundle/chunks/notes-WCGIULVG.js +21 -0
  323. package/dist/cli-bundle/chunks/notes-WCGIULVG.js.map +1 -0
  324. package/dist/cli-bundle/chunks/plan-ADISFYH4.js +29 -0
  325. package/dist/cli-bundle/chunks/plan-ADISFYH4.js.map +7 -0
  326. package/dist/cli-bundle/chunks/plan-CHVE7PBR.js +33 -0
  327. package/dist/cli-bundle/chunks/plan-CHVE7PBR.js.map +1 -0
  328. package/dist/cli-bundle/chunks/profile-LD23PSI6.js +37 -0
  329. package/dist/cli-bundle/chunks/profile-LD23PSI6.js.map +7 -0
  330. package/dist/cli-bundle/chunks/profile-ZXGSKBJD.js +41 -0
  331. package/dist/cli-bundle/chunks/profile-ZXGSKBJD.js.map +1 -0
  332. package/dist/cli-bundle/chunks/register-list-query-B42JCCOI.js +409 -0
  333. package/dist/cli-bundle/chunks/register-list-query-OEYQHFXO.js +419 -0
  334. package/dist/cli-bundle/chunks/register-mutation-3QXIHCQG.js +1273 -0
  335. package/dist/cli-bundle/chunks/register-mutation-IAEST26S.js +1256 -0
  336. package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js +19 -0
  337. package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js.map +7 -0
  338. package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js +23 -0
  339. package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js.map +1 -0
  340. package/dist/cli-bundle/chunks/register-setup-3ZVVX2VN.js +324 -0
  341. package/dist/cli-bundle/chunks/register-setup-3ZVVX2VN.js.map +7 -0
  342. package/dist/cli-bundle/chunks/register-setup-Q6KFNIOZ.js +321 -0
  343. package/dist/cli-bundle/chunks/register-setup-Q6KFNIOZ.js.map +1 -0
  344. package/dist/cli-bundle/chunks/restore-5RQHAPMA.js +23 -0
  345. package/dist/cli-bundle/chunks/restore-5RQHAPMA.js.map +1 -0
  346. package/dist/cli-bundle/chunks/restore-PNEIBBLW.js +19 -0
  347. package/dist/cli-bundle/chunks/restore-PNEIBBLW.js.map +7 -0
  348. package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js +29 -0
  349. package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js.map +1 -0
  350. package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js +25 -0
  351. package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js.map +7 -0
  352. package/dist/cli-bundle/chunks/schema-245WW4G2.js +78 -0
  353. package/dist/cli-bundle/chunks/schema-245WW4G2.js.map +1 -0
  354. package/dist/cli-bundle/chunks/schema-HBORFC6B.js +74 -0
  355. package/dist/cli-bundle/chunks/schema-HBORFC6B.js.map +7 -0
  356. package/dist/cli-bundle/chunks/search-AOZC5SIK.js +34 -0
  357. package/dist/cli-bundle/chunks/search-AOZC5SIK.js.map +7 -0
  358. package/dist/cli-bundle/chunks/search-DRXPGHD7.js +38 -0
  359. package/dist/cli-bundle/chunks/search-DRXPGHD7.js.map +1 -0
  360. package/dist/cli-bundle/chunks/stats-NJG4NLHG.js +21 -0
  361. package/dist/cli-bundle/chunks/stats-NJG4NLHG.js.map +1 -0
  362. package/dist/cli-bundle/chunks/stats-RG6AG4N2.js +17 -0
  363. package/dist/cli-bundle/chunks/stats-RG6AG4N2.js.map +7 -0
  364. package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js +14 -0
  365. package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js.map +7 -0
  366. package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js +18 -0
  367. package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js.map +1 -0
  368. package/dist/cli-bundle/chunks/test-6CMOCWUC.js +39 -0
  369. package/dist/cli-bundle/chunks/test-6CMOCWUC.js.map +7 -0
  370. package/dist/cli-bundle/chunks/test-RI7XHBZL.js +43 -0
  371. package/dist/cli-bundle/chunks/test-RI7XHBZL.js.map +1 -0
  372. package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js +29 -0
  373. package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js.map +7 -0
  374. package/dist/cli-bundle/chunks/test-all-QEIORFYW.js +33 -0
  375. package/dist/cli-bundle/chunks/test-all-QEIORFYW.js.map +1 -0
  376. package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js +28 -0
  377. package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js.map +1 -0
  378. package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js +24 -0
  379. package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js.map +7 -0
  380. package/dist/cli-bundle/chunks/update-QVJDFEAP.js +30 -0
  381. package/dist/cli-bundle/chunks/update-QVJDFEAP.js.map +1 -0
  382. package/dist/cli-bundle/chunks/update-VQVHAY6X.js +26 -0
  383. package/dist/cli-bundle/chunks/update-VQVHAY6X.js.map +7 -0
  384. package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js +37 -0
  385. package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js.map +7 -0
  386. package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js +41 -0
  387. package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js.map +1 -0
  388. package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js +24 -0
  389. package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js.map +7 -0
  390. package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js +28 -0
  391. package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js.map +1 -0
  392. package/dist/cli-bundle/chunks/validate-4NTXSB62.js +36 -0
  393. package/dist/cli-bundle/chunks/validate-4NTXSB62.js.map +1 -0
  394. package/dist/cli-bundle/chunks/validate-MUFXQZMI.js +32 -0
  395. package/dist/cli-bundle/chunks/validate-MUFXQZMI.js.map +7 -0
  396. package/dist/cli-bundle/main.js +16 -16
  397. package/dist/cli-bundle/sdk-runtime.js +88 -28
  398. package/dist/cli-bundle/sdk-testing.js +6 -6
  399. package/dist/cli-bundle/sdk.js +92 -49
  400. package/dist/cli-bundle/sdk.js.map +2 -2
  401. package/dist/mcp/server.d.ts +22 -50
  402. package/dist/mcp/server.js +62 -916
  403. package/dist/mcp/server.js.map +1 -1
  404. package/dist/sdk/index.d.ts +4 -2
  405. package/dist/sdk/index.js +4 -4
  406. package/dist/sdk/index.js.map +1 -1
  407. package/dist/sdk/runtime.d.ts +168 -4
  408. package/dist/sdk/runtime.js +1149 -25
  409. package/dist/sdk/runtime.js.map +1 -1
  410. package/dist/sdk/workspace-contracts-cache.d.ts +17 -0
  411. package/dist/sdk/workspace-contracts-cache.js +36 -0
  412. package/dist/sdk/workspace-contracts-cache.js.map +1 -0
  413. package/docs/RELEASING.md +3 -1
  414. package/docs/SDK.md +46 -0
  415. package/docs/examples/sdk-app-embedding/run-embedded-pm.mjs +16 -2
  416. package/docs/examples/sdk-contract-consumer/inspect-contracts.mjs +16 -1
  417. package/package.json +1 -1
  418. package/dist/cli-bundle/chunks/activity-4XQIDNM5.js +0 -18
  419. package/dist/cli-bundle/chunks/activity-YKAKZTZ4.js +0 -22
  420. package/dist/cli-bundle/chunks/aggregate-EQX2RGB7.js +0 -375
  421. package/dist/cli-bundle/chunks/aggregate-EQX2RGB7.js.map +0 -7
  422. package/dist/cli-bundle/chunks/aggregate-PEGZGJXD.js +0 -372
  423. package/dist/cli-bundle/chunks/aggregate-PEGZGJXD.js.map +0 -1
  424. package/dist/cli-bundle/chunks/append-CZGUZ45Q.js +0 -73
  425. package/dist/cli-bundle/chunks/append-CZGUZ45Q.js.map +0 -7
  426. package/dist/cli-bundle/chunks/append-NSQBCXZJ.js +0 -70
  427. package/dist/cli-bundle/chunks/append-NSQBCXZJ.js.map +0 -1
  428. package/dist/cli-bundle/chunks/chunk-3JZNEQBA.js +0 -1413
  429. package/dist/cli-bundle/chunks/chunk-3PL6LEKP.js +0 -1961
  430. package/dist/cli-bundle/chunks/chunk-3U3VEWK6.js +0 -1749
  431. package/dist/cli-bundle/chunks/chunk-3Y4OESPP.js +0 -277
  432. package/dist/cli-bundle/chunks/chunk-4LRVSBO6.js +0 -822
  433. package/dist/cli-bundle/chunks/chunk-4OFLJHX6.js +0 -356
  434. package/dist/cli-bundle/chunks/chunk-4QQ6PM7M.js +0 -1249
  435. package/dist/cli-bundle/chunks/chunk-53BTLLAF.js +0 -2181
  436. package/dist/cli-bundle/chunks/chunk-53BTLLAF.js.map +0 -1
  437. package/dist/cli-bundle/chunks/chunk-57C2RLW5.js +0 -1704
  438. package/dist/cli-bundle/chunks/chunk-5B3X4Y22.js +0 -2330
  439. package/dist/cli-bundle/chunks/chunk-5J2XPTAD.js +0 -225
  440. package/dist/cli-bundle/chunks/chunk-5JE6SMYS.js +0 -262
  441. package/dist/cli-bundle/chunks/chunk-5JZ7APJU.js +0 -995
  442. package/dist/cli-bundle/chunks/chunk-5VVUKE3U.js +0 -5789
  443. package/dist/cli-bundle/chunks/chunk-5VVUKE3U.js.map +0 -7
  444. package/dist/cli-bundle/chunks/chunk-75U6M5ZD.js +0 -819
  445. package/dist/cli-bundle/chunks/chunk-7EQNAZX2.js +0 -1018
  446. package/dist/cli-bundle/chunks/chunk-7MDXZAZS.js +0 -102
  447. package/dist/cli-bundle/chunks/chunk-7QH7DHUB.js +0 -2046
  448. package/dist/cli-bundle/chunks/chunk-7WYXBPYQ.js +0 -358
  449. package/dist/cli-bundle/chunks/chunk-AAEQMOC6.js +0 -150
  450. package/dist/cli-bundle/chunks/chunk-ABRA3BHY.js +0 -429
  451. package/dist/cli-bundle/chunks/chunk-BFVHCAOO.js +0 -240
  452. package/dist/cli-bundle/chunks/chunk-BVEUCSH2.js +0 -530
  453. package/dist/cli-bundle/chunks/chunk-C3PMDWGX.js +0 -160
  454. package/dist/cli-bundle/chunks/chunk-D3UCE7RW.js +0 -243
  455. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js +0 -275
  456. package/dist/cli-bundle/chunks/chunk-DC3QJQWI.js.map +0 -7
  457. package/dist/cli-bundle/chunks/chunk-DLQ4ZTCU.js +0 -634
  458. package/dist/cli-bundle/chunks/chunk-DRBV5UC2.js +0 -231
  459. package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js +0 -2184
  460. package/dist/cli-bundle/chunks/chunk-E2FUG6GD.js.map +0 -7
  461. package/dist/cli-bundle/chunks/chunk-EEY54JMF.js +0 -60
  462. package/dist/cli-bundle/chunks/chunk-EZFKWSC7.js +0 -1615
  463. package/dist/cli-bundle/chunks/chunk-FDBARR33.js +0 -655
  464. package/dist/cli-bundle/chunks/chunk-FGQKEDE4.js +0 -447
  465. package/dist/cli-bundle/chunks/chunk-FJRKQREY.js +0 -228
  466. package/dist/cli-bundle/chunks/chunk-FUM6UMY4.js +0 -804
  467. package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js +0 -3237
  468. package/dist/cli-bundle/chunks/chunk-GIWXVMZ3.js.map +0 -7
  469. package/dist/cli-bundle/chunks/chunk-HBYZDSK5.js +0 -426
  470. package/dist/cli-bundle/chunks/chunk-HJE4JTKQ.js +0 -124
  471. package/dist/cli-bundle/chunks/chunk-HK72NWAD.js +0 -1570
  472. package/dist/cli-bundle/chunks/chunk-IJ6CO3JV.js +0 -645
  473. package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js +0 -3206
  474. package/dist/cli-bundle/chunks/chunk-JFCVQXZX.js.map +0 -1
  475. package/dist/cli-bundle/chunks/chunk-JLA7EVYV.js +0 -222
  476. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js +0 -76
  477. package/dist/cli-bundle/chunks/chunk-K32L7HZO.js.map +0 -1
  478. package/dist/cli-bundle/chunks/chunk-K3AGVXSF.js +0 -444
  479. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js +0 -79
  480. package/dist/cli-bundle/chunks/chunk-KDZ6K25I.js.map +0 -7
  481. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js +0 -915
  482. package/dist/cli-bundle/chunks/chunk-KL22PY6L.js.map +0 -1
  483. package/dist/cli-bundle/chunks/chunk-KLG4ZULO.js +0 -218
  484. package/dist/cli-bundle/chunks/chunk-LEKT4K7I.js +0 -2105
  485. package/dist/cli-bundle/chunks/chunk-MNZ7DRNC.js +0 -1858
  486. package/dist/cli-bundle/chunks/chunk-MTTXDAK4.js +0 -2198
  487. package/dist/cli-bundle/chunks/chunk-MZ7VNEVY.js +0 -520
  488. package/dist/cli-bundle/chunks/chunk-N6DNM2FA.js +0 -116
  489. package/dist/cli-bundle/chunks/chunk-N7X4WP6L.js +0 -1041
  490. package/dist/cli-bundle/chunks/chunk-NBFCNJ7Q.js +0 -2132
  491. package/dist/cli-bundle/chunks/chunk-NER3KUUS.js +0 -260
  492. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js +0 -918
  493. package/dist/cli-bundle/chunks/chunk-OBA2WH65.js.map +0 -7
  494. package/dist/cli-bundle/chunks/chunk-OESSOFJ4.js +0 -1985
  495. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js +0 -238
  496. package/dist/cli-bundle/chunks/chunk-OK5NXCZB.js.map +0 -1
  497. package/dist/cli-bundle/chunks/chunk-OWTIRHX4.js +0 -112
  498. package/dist/cli-bundle/chunks/chunk-P3VRG72Q.js +0 -1765
  499. package/dist/cli-bundle/chunks/chunk-P5TFTLWW.js +0 -1423
  500. package/dist/cli-bundle/chunks/chunk-P5YORJRH.js +0 -1977
  501. package/dist/cli-bundle/chunks/chunk-PDXT6Q55.js +0 -58
  502. package/dist/cli-bundle/chunks/chunk-PJ3A56YF.js +0 -1239
  503. package/dist/cli-bundle/chunks/chunk-PPAJG4GB.js +0 -1031
  504. package/dist/cli-bundle/chunks/chunk-PPE4YUQM.js +0 -4725
  505. package/dist/cli-bundle/chunks/chunk-PPE4YUQM.js.map +0 -1
  506. package/dist/cli-bundle/chunks/chunk-QHZO65XW.js +0 -1775
  507. package/dist/cli-bundle/chunks/chunk-R3ZBLGTC.js +0 -814
  508. package/dist/cli-bundle/chunks/chunk-RCT3YJOK.js +0 -624
  509. package/dist/cli-bundle/chunks/chunk-RX3HQSYG.js +0 -265
  510. package/dist/cli-bundle/chunks/chunk-S4APD35C.js +0 -210
  511. package/dist/cli-bundle/chunks/chunk-S5AYOUT5.js +0 -130
  512. package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js +0 -1149
  513. package/dist/cli-bundle/chunks/chunk-STPSZ2XY.js.map +0 -1
  514. package/dist/cli-bundle/chunks/chunk-T35XLYZF.js +0 -263
  515. package/dist/cli-bundle/chunks/chunk-T3ABIMGW.js +0 -361
  516. package/dist/cli-bundle/chunks/chunk-T3F4DF23.js +0 -267
  517. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js +0 -272
  518. package/dist/cli-bundle/chunks/chunk-T4MX77AK.js.map +0 -1
  519. package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js +0 -5354
  520. package/dist/cli-bundle/chunks/chunk-T5Y3QSNF.js.map +0 -1
  521. package/dist/cli-bundle/chunks/chunk-TSPKZRRW.js +0 -1570
  522. package/dist/cli-bundle/chunks/chunk-TT42JUMF.js +0 -207
  523. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js +0 -165
  524. package/dist/cli-bundle/chunks/chunk-UHKX7I75.js.map +0 -1
  525. package/dist/cli-bundle/chunks/chunk-UI5BJ6DO.js +0 -4786
  526. package/dist/cli-bundle/chunks/chunk-UI5BJ6DO.js.map +0 -7
  527. package/dist/cli-bundle/chunks/chunk-US3T3W5J.js +0 -1932
  528. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js +0 -175
  529. package/dist/cli-bundle/chunks/chunk-UZRDBL6W.js.map +0 -7
  530. package/dist/cli-bundle/chunks/chunk-VZIYHZDX.js +0 -1868
  531. package/dist/cli-bundle/chunks/chunk-WISPVC2E.js +0 -401
  532. package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js +0 -5434
  533. package/dist/cli-bundle/chunks/chunk-WVSGSZ6J.js.map +0 -7
  534. package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js +0 -1152
  535. package/dist/cli-bundle/chunks/chunk-XQCG2JGW.js.map +0 -7
  536. package/dist/cli-bundle/chunks/chunk-Y76TWC45.js +0 -550
  537. package/dist/cli-bundle/chunks/chunk-YD5FML7K.js +0 -5630
  538. package/dist/cli-bundle/chunks/chunk-YD5FML7K.js.map +0 -1
  539. package/dist/cli-bundle/chunks/chunk-YFIE7YK6.js +0 -57
  540. package/dist/cli-bundle/chunks/chunk-YMABYTNG.js +0 -1573
  541. package/dist/cli-bundle/chunks/chunk-YOF5VPKM.js +0 -119
  542. package/dist/cli-bundle/chunks/chunk-YPPVU5GX.js +0 -398
  543. package/dist/cli-bundle/chunks/chunk-YQMMMONE.js +0 -133
  544. package/dist/cli-bundle/chunks/chunk-YSAH5FY5.js +0 -1001
  545. package/dist/cli-bundle/chunks/chunk-YZIR4R3U.js +0 -1005
  546. package/dist/cli-bundle/chunks/chunk-Z2CRRZYF.js +0 -215
  547. package/dist/cli-bundle/chunks/chunk-ZAHXPXVY.js +0 -533
  548. package/dist/cli-bundle/chunks/chunk-ZCJAA3JK.js +0 -121
  549. package/dist/cli-bundle/chunks/chunk-ZD34OFFQ.js +0 -366
  550. package/dist/cli-bundle/chunks/chunk-ZJB3UV5U.js +0 -2306
  551. package/dist/cli-bundle/chunks/chunk-ZMD35NYG.js +0 -61
  552. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js +0 -241
  553. package/dist/cli-bundle/chunks/chunk-ZVDL32GJ.js.map +0 -7
  554. package/dist/cli-bundle/chunks/claim-4DROPSIS.js +0 -144
  555. package/dist/cli-bundle/chunks/claim-4DROPSIS.js.map +0 -1
  556. package/dist/cli-bundle/chunks/claim-VX54TV5U.js +0 -147
  557. package/dist/cli-bundle/chunks/claim-VX54TV5U.js.map +0 -7
  558. package/dist/cli-bundle/chunks/close-3YRR3XY6.js +0 -20
  559. package/dist/cli-bundle/chunks/close-OB2Y4QP5.js +0 -16
  560. package/dist/cli-bundle/chunks/close-many-AP4MWU36.js +0 -397
  561. package/dist/cli-bundle/chunks/close-many-AP4MWU36.js.map +0 -1
  562. package/dist/cli-bundle/chunks/close-many-OMZIGZB4.js +0 -400
  563. package/dist/cli-bundle/chunks/close-many-OMZIGZB4.js.map +0 -7
  564. package/dist/cli-bundle/chunks/comments-MIW5MZOX.js +0 -128
  565. package/dist/cli-bundle/chunks/comments-MIW5MZOX.js.map +0 -7
  566. package/dist/cli-bundle/chunks/comments-SAG5LSKL.js +0 -125
  567. package/dist/cli-bundle/chunks/comments-SAG5LSKL.js.map +0 -1
  568. package/dist/cli-bundle/chunks/config-DJJKZB5R.js +0 -1075
  569. package/dist/cli-bundle/chunks/config-DJJKZB5R.js.map +0 -7
  570. package/dist/cli-bundle/chunks/config-V57QD47V.js +0 -1065
  571. package/dist/cli-bundle/chunks/config-V57QD47V.js.map +0 -1
  572. package/dist/cli-bundle/chunks/context-4OQGIPSO.js +0 -45
  573. package/dist/cli-bundle/chunks/context-WLA6IAWE.js +0 -49
  574. package/dist/cli-bundle/chunks/contracts-HXJLKCRI.js +0 -12
  575. package/dist/cli-bundle/chunks/contracts-OJEXMKVW.js +0 -16
  576. package/dist/cli-bundle/chunks/copy-LEE6P6EM.js +0 -184
  577. package/dist/cli-bundle/chunks/copy-LEE6P6EM.js.map +0 -7
  578. package/dist/cli-bundle/chunks/copy-OTJOWFL6.js +0 -181
  579. package/dist/cli-bundle/chunks/copy-OTJOWFL6.js.map +0 -1
  580. package/dist/cli-bundle/chunks/create-WKOZKPQR.js +0 -30
  581. package/dist/cli-bundle/chunks/create-XWWQFQ6S.js +0 -34
  582. package/dist/cli-bundle/chunks/delete-62JQTYT4.js +0 -59
  583. package/dist/cli-bundle/chunks/delete-62JQTYT4.js.map +0 -7
  584. package/dist/cli-bundle/chunks/delete-HQKGRNRZ.js +0 -56
  585. package/dist/cli-bundle/chunks/delete-HQKGRNRZ.js.map +0 -1
  586. package/dist/cli-bundle/chunks/deps-55FTG6Z5.js +0 -224
  587. package/dist/cli-bundle/chunks/deps-55FTG6Z5.js.map +0 -1
  588. package/dist/cli-bundle/chunks/deps-L2FPIAD3.js +0 -227
  589. package/dist/cli-bundle/chunks/deps-L2FPIAD3.js.map +0 -7
  590. package/dist/cli-bundle/chunks/docs-6CRCSVKK.js +0 -33
  591. package/dist/cli-bundle/chunks/docs-6CRCSVKK.js.map +0 -1
  592. package/dist/cli-bundle/chunks/docs-S6UTOTO5.js +0 -36
  593. package/dist/cli-bundle/chunks/docs-S6UTOTO5.js.map +0 -7
  594. package/dist/cli-bundle/chunks/eval-N6UHFWVO.js +0 -288
  595. package/dist/cli-bundle/chunks/eval-N6UHFWVO.js.map +0 -7
  596. package/dist/cli-bundle/chunks/eval-PHOTWYHI.js +0 -278
  597. package/dist/cli-bundle/chunks/eval-PHOTWYHI.js.map +0 -1
  598. package/dist/cli-bundle/chunks/extension-NBAH62ML.js +0 -40
  599. package/dist/cli-bundle/chunks/extension-ZF6ZZPOU.js +0 -44
  600. package/dist/cli-bundle/chunks/files-6P57MRKL.js +0 -301
  601. package/dist/cli-bundle/chunks/files-6P57MRKL.js.map +0 -7
  602. package/dist/cli-bundle/chunks/files-JPU3FNJ7.js +0 -298
  603. package/dist/cli-bundle/chunks/files-JPU3FNJ7.js.map +0 -1
  604. package/dist/cli-bundle/chunks/focus-LFZ6IDBR.js +0 -106
  605. package/dist/cli-bundle/chunks/focus-LFZ6IDBR.js.map +0 -1
  606. package/dist/cli-bundle/chunks/focus-WNMYCVYA.js +0 -109
  607. package/dist/cli-bundle/chunks/focus-WNMYCVYA.js.map +0 -7
  608. package/dist/cli-bundle/chunks/gc-AETFKZ44.js +0 -398
  609. package/dist/cli-bundle/chunks/gc-AETFKZ44.js.map +0 -7
  610. package/dist/cli-bundle/chunks/gc-RLBP4QVN.js +0 -388
  611. package/dist/cli-bundle/chunks/gc-RLBP4QVN.js.map +0 -1
  612. package/dist/cli-bundle/chunks/get-NH2MPBCI.js +0 -283
  613. package/dist/cli-bundle/chunks/get-NH2MPBCI.js.map +0 -1
  614. package/dist/cli-bundle/chunks/get-P4ZQXCPZ.js +0 -286
  615. package/dist/cli-bundle/chunks/get-P4ZQXCPZ.js.map +0 -7
  616. package/dist/cli-bundle/chunks/health-3GVPMQBL.js +0 -1612
  617. package/dist/cli-bundle/chunks/health-3GVPMQBL.js.map +0 -1
  618. package/dist/cli-bundle/chunks/health-DNTM72GJ.js +0 -1615
  619. package/dist/cli-bundle/chunks/health-DNTM72GJ.js.map +0 -7
  620. package/dist/cli-bundle/chunks/history-RYKLC72X.js +0 -20
  621. package/dist/cli-bundle/chunks/history-SGPYRAFT.js +0 -24
  622. package/dist/cli-bundle/chunks/history-compact-3F6VELO7.js +0 -565
  623. package/dist/cli-bundle/chunks/history-compact-3F6VELO7.js.map +0 -7
  624. package/dist/cli-bundle/chunks/history-compact-656Y2TN4.js +0 -555
  625. package/dist/cli-bundle/chunks/history-compact-656Y2TN4.js.map +0 -1
  626. package/dist/cli-bundle/chunks/history-redact-4H3FCKF3.js +0 -21
  627. package/dist/cli-bundle/chunks/history-redact-54ICFKXM.js +0 -25
  628. package/dist/cli-bundle/chunks/history-repair-4N6SDVHK.js +0 -281
  629. package/dist/cli-bundle/chunks/history-repair-4N6SDVHK.js.map +0 -7
  630. package/dist/cli-bundle/chunks/history-repair-EVTO6LIH.js +0 -278
  631. package/dist/cli-bundle/chunks/history-repair-EVTO6LIH.js.map +0 -1
  632. package/dist/cli-bundle/chunks/init-RPIPQUNV.js +0 -32
  633. package/dist/cli-bundle/chunks/init-SKQAESQS.js +0 -28
  634. package/dist/cli-bundle/chunks/learnings-2HTPZNGZ.js +0 -48
  635. package/dist/cli-bundle/chunks/learnings-2HTPZNGZ.js.map +0 -7
  636. package/dist/cli-bundle/chunks/learnings-YBIHY3D6.js +0 -45
  637. package/dist/cli-bundle/chunks/learnings-YBIHY3D6.js.map +0 -1
  638. package/dist/cli-bundle/chunks/list-64LHZ3HM.js +0 -32
  639. package/dist/cli-bundle/chunks/list-7LXBTEKI.js +0 -36
  640. package/dist/cli-bundle/chunks/next-7ODPAQ4U.js +0 -306
  641. package/dist/cli-bundle/chunks/next-7ODPAQ4U.js.map +0 -7
  642. package/dist/cli-bundle/chunks/next-ODJUM4ZM.js +0 -303
  643. package/dist/cli-bundle/chunks/next-ODJUM4ZM.js.map +0 -1
  644. package/dist/cli-bundle/chunks/notes-72YXN5JX.js +0 -48
  645. package/dist/cli-bundle/chunks/notes-72YXN5JX.js.map +0 -7
  646. package/dist/cli-bundle/chunks/notes-NJ7IQJX4.js +0 -45
  647. package/dist/cli-bundle/chunks/notes-NJ7IQJX4.js.map +0 -1
  648. package/dist/cli-bundle/chunks/plan-R4NDQ27E.js +0 -1366
  649. package/dist/cli-bundle/chunks/plan-R4NDQ27E.js.map +0 -7
  650. package/dist/cli-bundle/chunks/plan-XWY5T67S.js +0 -1363
  651. package/dist/cli-bundle/chunks/plan-XWY5T67S.js.map +0 -1
  652. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js +0 -397
  653. package/dist/cli-bundle/chunks/profile-XQWEQKS3.js.map +0 -1
  654. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js +0 -400
  655. package/dist/cli-bundle/chunks/profile-YRDHLMRO.js.map +0 -7
  656. package/dist/cli-bundle/chunks/register-list-query-5H66WFYF.js +0 -419
  657. package/dist/cli-bundle/chunks/register-list-query-FB3FNDLZ.js +0 -409
  658. package/dist/cli-bundle/chunks/register-mutation-UJO23C7R.js +0 -1256
  659. package/dist/cli-bundle/chunks/register-mutation-Z2ETYHKS.js +0 -1273
  660. package/dist/cli-bundle/chunks/register-operations-A3XAM5J7.js +0 -513
  661. package/dist/cli-bundle/chunks/register-operations-A3XAM5J7.js.map +0 -1
  662. package/dist/cli-bundle/chunks/register-operations-SG7HBSUP.js +0 -516
  663. package/dist/cli-bundle/chunks/register-operations-SG7HBSUP.js.map +0 -7
  664. package/dist/cli-bundle/chunks/register-setup-I45OGJUV.js +0 -323
  665. package/dist/cli-bundle/chunks/register-setup-I45OGJUV.js.map +0 -1
  666. package/dist/cli-bundle/chunks/register-setup-K6U3NVY5.js +0 -326
  667. package/dist/cli-bundle/chunks/register-setup-K6U3NVY5.js.map +0 -7
  668. package/dist/cli-bundle/chunks/restore-PXOFL6AM.js +0 -19
  669. package/dist/cli-bundle/chunks/restore-YJ2ET6AT.js +0 -23
  670. package/dist/cli-bundle/chunks/scheduling-shortcuts-SSC4MYWQ.js +0 -91
  671. package/dist/cli-bundle/chunks/scheduling-shortcuts-SSC4MYWQ.js.map +0 -7
  672. package/dist/cli-bundle/chunks/scheduling-shortcuts-ULRG7MNP.js +0 -88
  673. package/dist/cli-bundle/chunks/scheduling-shortcuts-ULRG7MNP.js.map +0 -1
  674. package/dist/cli-bundle/chunks/schema-2PUXCZ25.js +0 -74
  675. package/dist/cli-bundle/chunks/schema-Y6DXXK2F.js +0 -78
  676. package/dist/cli-bundle/chunks/search-3S72CTD6.js +0 -38
  677. package/dist/cli-bundle/chunks/search-WNUNBQXO.js +0 -34
  678. package/dist/cli-bundle/chunks/stats-IJYTRQGV.js +0 -250
  679. package/dist/cli-bundle/chunks/stats-IJYTRQGV.js.map +0 -7
  680. package/dist/cli-bundle/chunks/stats-L2D5Y2O5.js +0 -240
  681. package/dist/cli-bundle/chunks/stats-L2D5Y2O5.js.map +0 -1
  682. package/dist/cli-bundle/chunks/telemetry-L2CVOKVN.js +0 -309
  683. package/dist/cli-bundle/chunks/telemetry-L2CVOKVN.js.map +0 -7
  684. package/dist/cli-bundle/chunks/telemetry-QBYWQA76.js +0 -306
  685. package/dist/cli-bundle/chunks/telemetry-QBYWQA76.js.map +0 -1
  686. package/dist/cli-bundle/chunks/test-DQ2QFJ7W.js +0 -45
  687. package/dist/cli-bundle/chunks/test-W7QBLVJS.js +0 -41
  688. package/dist/cli-bundle/chunks/test-all-636NTRTT.js +0 -434
  689. package/dist/cli-bundle/chunks/test-all-636NTRTT.js.map +0 -1
  690. package/dist/cli-bundle/chunks/test-all-DWYK3RG6.js +0 -437
  691. package/dist/cli-bundle/chunks/test-all-DWYK3RG6.js.map +0 -7
  692. package/dist/cli-bundle/chunks/test-runs-245OINZR.js +0 -28
  693. package/dist/cli-bundle/chunks/test-runs-ZRD4GCTT.js +0 -24
  694. package/dist/cli-bundle/chunks/update-SFLZPJXX.js +0 -30
  695. package/dist/cli-bundle/chunks/update-SJZ6S77U.js +0 -26
  696. package/dist/cli-bundle/chunks/update-many-DC7X3EWM.js +0 -671
  697. package/dist/cli-bundle/chunks/update-many-DC7X3EWM.js.map +0 -7
  698. package/dist/cli-bundle/chunks/update-many-SLLAMHT7.js +0 -668
  699. package/dist/cli-bundle/chunks/update-many-SLLAMHT7.js.map +0 -1
  700. package/dist/cli-bundle/chunks/upgrade-HFFXLZJA.js +0 -290
  701. package/dist/cli-bundle/chunks/upgrade-HFFXLZJA.js.map +0 -7
  702. package/dist/cli-bundle/chunks/upgrade-UYQKM7RF.js +0 -287
  703. package/dist/cli-bundle/chunks/upgrade-UYQKM7RF.js.map +0 -1
  704. package/dist/cli-bundle/chunks/validate-PA4FDTOV.js +0 -2143
  705. package/dist/cli-bundle/chunks/validate-PA4FDTOV.js.map +0 -7
  706. package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js +0 -2105
  707. package/dist/cli-bundle/chunks/validate-Z7L75YEJ.js.map +0 -1
  708. /package/dist/cli-bundle/chunks/{activity-4XQIDNM5.js.map → activity-WJCGCYPU.js.map} +0 -0
  709. /package/dist/cli-bundle/chunks/{activity-YKAKZTZ4.js.map → activity-Z6QUAUSG.js.map} +0 -0
  710. /package/dist/cli-bundle/chunks/{close-3YRR3XY6.js.map → aggregate-BDM6EIAR.js.map} +0 -0
  711. /package/dist/cli-bundle/chunks/{close-OB2Y4QP5.js.map → aggregate-VQ2DHU3S.js.map} +0 -0
  712. /package/dist/cli-bundle/chunks/{context-WLA6IAWE.js.map → append-BGML6VLD.js.map} +0 -0
  713. /package/dist/cli-bundle/chunks/{context-4OQGIPSO.js.map → append-RKJYPU74.js.map} +0 -0
  714. /package/dist/cli-bundle/chunks/{chunk-YFIE7YK6.js.map → chunk-22KBU3MW.js.map} +0 -0
  715. /package/dist/cli-bundle/chunks/{chunk-DLQ4ZTCU.js.map → chunk-24YG75HI.js.map} +0 -0
  716. /package/dist/cli-bundle/chunks/{chunk-KLG4ZULO.js.map → chunk-2XG4IZON.js.map} +0 -0
  717. /package/dist/cli-bundle/chunks/{chunk-FJRKQREY.js.map → chunk-3GCS5SKL.js.map} +0 -0
  718. /package/dist/cli-bundle/chunks/{chunk-5B3X4Y22.js.map → chunk-3KTN6IBA.js.map} +0 -0
  719. /package/dist/cli-bundle/chunks/{chunk-YMABYTNG.js.map → chunk-3UJRFJ5R.js.map} +0 -0
  720. /package/dist/cli-bundle/chunks/{chunk-YSAH5FY5.js.map → chunk-3VHSI5FL.js.map} +0 -0
  721. /package/dist/cli-bundle/chunks/{chunk-7EQNAZX2.js.map → chunk-46CUF5L6.js.map} +0 -0
  722. /package/dist/cli-bundle/chunks/{chunk-75U6M5ZD.js.map → chunk-4IWYTWGF.js.map} +0 -0
  723. /package/dist/cli-bundle/chunks/{chunk-VZIYHZDX.js.map → chunk-5GZ7TDD6.js.map} +0 -0
  724. /package/dist/cli-bundle/chunks/{chunk-3U3VEWK6.js.map → chunk-5VAA4YHR.js.map} +0 -0
  725. /package/dist/cli-bundle/chunks/{chunk-3PL6LEKP.js.map → chunk-64YKRTSV.js.map} +0 -0
  726. /package/dist/cli-bundle/chunks/{chunk-ABRA3BHY.js.map → chunk-6LLVNJXT.js.map} +0 -0
  727. /package/dist/cli-bundle/chunks/{chunk-EEY54JMF.js.map → chunk-7DT4WSH2.js.map} +0 -0
  728. /package/dist/cli-bundle/chunks/{chunk-7MDXZAZS.js.map → chunk-7WBAJSS6.js.map} +0 -0
  729. /package/dist/cli-bundle/chunks/{chunk-AAEQMOC6.js.map → chunk-AGHMOTGM.js.map} +0 -0
  730. /package/dist/cli-bundle/chunks/{chunk-OWTIRHX4.js.map → chunk-ALFPSEWO.js.map} +0 -0
  731. /package/dist/cli-bundle/chunks/{chunk-T3ABIMGW.js.map → chunk-AZYGZGGI.js.map} +0 -0
  732. /package/dist/cli-bundle/chunks/{chunk-3JZNEQBA.js.map → chunk-B6DUFX6H.js.map} +0 -0
  733. /package/dist/cli-bundle/chunks/{chunk-OESSOFJ4.js.map → chunk-C5JBZRPU.js.map} +0 -0
  734. /package/dist/cli-bundle/chunks/{chunk-YPPVU5GX.js.map → chunk-CFB33L7W.js.map} +0 -0
  735. /package/dist/cli-bundle/chunks/{chunk-5J2XPTAD.js.map → chunk-CL36D4PC.js.map} +0 -0
  736. /package/dist/cli-bundle/chunks/{chunk-IJ6CO3JV.js.map → chunk-D2XRLB55.js.map} +0 -0
  737. /package/dist/cli-bundle/chunks/{chunk-MNZ7DRNC.js.map → chunk-DEWEK6AN.js.map} +0 -0
  738. /package/dist/cli-bundle/chunks/{chunk-US3T3W5J.js.map → chunk-E3SZTQ4K.js.map} +0 -0
  739. /package/dist/cli-bundle/chunks/{chunk-C3PMDWGX.js.map → chunk-EGY6JBQ3.js.map} +0 -0
  740. /package/dist/cli-bundle/chunks/{chunk-JLA7EVYV.js.map → chunk-EKFNL33R.js.map} +0 -0
  741. /package/dist/cli-bundle/chunks/{chunk-57C2RLW5.js.map → chunk-ENGQOEUY.js.map} +0 -0
  742. /package/dist/cli-bundle/chunks/{chunk-7QH7DHUB.js.map → chunk-EOKXK3R3.js.map} +0 -0
  743. /package/dist/cli-bundle/chunks/{chunk-ZCJAA3JK.js.map → chunk-F3K4JGFD.js.map} +0 -0
  744. /package/dist/cli-bundle/chunks/{chunk-DRBV5UC2.js.map → chunk-FLZSGSQR.js.map} +0 -0
  745. /package/dist/cli-bundle/chunks/{chunk-Y76TWC45.js.map → chunk-FT3QTERD.js.map} +0 -0
  746. /package/dist/cli-bundle/chunks/{chunk-HK72NWAD.js.map → chunk-G24G7ZAV.js.map} +0 -0
  747. /package/dist/cli-bundle/chunks/{chunk-K3AGVXSF.js.map → chunk-G64OCSKU.js.map} +0 -0
  748. /package/dist/cli-bundle/chunks/{chunk-QHZO65XW.js.map → chunk-GANUTS7W.js.map} +0 -0
  749. /package/dist/cli-bundle/chunks/{chunk-WISPVC2E.js.map → chunk-GBAX2ZAQ.js.map} +0 -0
  750. /package/dist/cli-bundle/chunks/{chunk-RCT3YJOK.js.map → chunk-GJ7QC5DJ.js.map} +0 -0
  751. /package/dist/cli-bundle/chunks/{chunk-BVEUCSH2.js.map → chunk-GPLPTGOV.js.map} +0 -0
  752. /package/dist/cli-bundle/chunks/{chunk-YZIR4R3U.js.map → chunk-GZRDYONU.js.map} +0 -0
  753. /package/dist/cli-bundle/chunks/{chunk-7WYXBPYQ.js.map → chunk-IWVU4C2F.js.map} +0 -0
  754. /package/dist/cli-bundle/chunks/{chunk-T3F4DF23.js.map → chunk-IX5BXEMX.js.map} +0 -0
  755. /package/dist/cli-bundle/chunks/{chunk-RX3HQSYG.js.map → chunk-JDDLOQAE.js.map} +0 -0
  756. /package/dist/cli-bundle/chunks/{chunk-YOF5VPKM.js.map → chunk-JJP45OEI.js.map} +0 -0
  757. /package/dist/cli-bundle/chunks/{chunk-TT42JUMF.js.map → chunk-K46RF36U.js.map} +0 -0
  758. /package/dist/cli-bundle/chunks/{chunk-R3ZBLGTC.js.map → chunk-KGFUY7WN.js.map} +0 -0
  759. /package/dist/cli-bundle/chunks/{chunk-NER3KUUS.js.map → chunk-KUOOJR35.js.map} +0 -0
  760. /package/dist/cli-bundle/chunks/{chunk-3Y4OESPP.js.map → chunk-L5PSPMZ4.js.map} +0 -0
  761. /package/dist/cli-bundle/chunks/{chunk-PJ3A56YF.js.map → chunk-LPSSSDJR.js.map} +0 -0
  762. /package/dist/cli-bundle/chunks/{chunk-FDBARR33.js.map → chunk-MA4SM3QZ.js.map} +0 -0
  763. /package/dist/cli-bundle/chunks/{chunk-PPAJG4GB.js.map → chunk-MFAZSEM5.js.map} +0 -0
  764. /package/dist/cli-bundle/chunks/{chunk-5JZ7APJU.js.map → chunk-MFSCBT5Q.js.map} +0 -0
  765. /package/dist/cli-bundle/chunks/{chunk-4OFLJHX6.js.map → chunk-MLIYFOE7.js.map} +0 -0
  766. /package/dist/cli-bundle/chunks/{chunk-ZMD35NYG.js.map → chunk-MUH7A3FD.js.map} +0 -0
  767. /package/dist/cli-bundle/chunks/{chunk-5JE6SMYS.js.map → chunk-MVYWGY2A.js.map} +0 -0
  768. /package/dist/cli-bundle/chunks/{chunk-P5TFTLWW.js.map → chunk-MWMVPCIE.js.map} +0 -0
  769. /package/dist/cli-bundle/chunks/{chunk-T35XLYZF.js.map → chunk-NGXQ3PFT.js.map} +0 -0
  770. /package/dist/cli-bundle/chunks/{chunk-EZFKWSC7.js.map → chunk-NMP5I3I5.js.map} +0 -0
  771. /package/dist/cli-bundle/chunks/{chunk-HJE4JTKQ.js.map → chunk-O6AWCQRQ.js.map} +0 -0
  772. /package/dist/cli-bundle/chunks/{chunk-BFVHCAOO.js.map → chunk-OGWQ2IEP.js.map} +0 -0
  773. /package/dist/cli-bundle/chunks/{chunk-S4APD35C.js.map → chunk-QLMX7SRD.js.map} +0 -0
  774. /package/dist/cli-bundle/chunks/{chunk-MZ7VNEVY.js.map → chunk-RFNYTESG.js.map} +0 -0
  775. /package/dist/cli-bundle/chunks/{chunk-MTTXDAK4.js.map → chunk-SCUR7K7N.js.map} +0 -0
  776. /package/dist/cli-bundle/chunks/{chunk-P5YORJRH.js.map → chunk-SHQY2IDC.js.map} +0 -0
  777. /package/dist/cli-bundle/chunks/{chunk-S5AYOUT5.js.map → chunk-SMB7RV23.js.map} +0 -0
  778. /package/dist/cli-bundle/chunks/{chunk-N7X4WP6L.js.map → chunk-SPZ6DOGY.js.map} +0 -0
  779. /package/dist/cli-bundle/chunks/{chunk-P3VRG72Q.js.map → chunk-SQYJ4HF2.js.map} +0 -0
  780. /package/dist/cli-bundle/chunks/{chunk-4LRVSBO6.js.map → chunk-T42JWV3F.js.map} +0 -0
  781. /package/dist/cli-bundle/chunks/{chunk-NBFCNJ7Q.js.map → chunk-TULGS6X6.js.map} +0 -0
  782. /package/dist/cli-bundle/chunks/{chunk-ZJB3UV5U.js.map → chunk-TZXRBVAM.js.map} +0 -0
  783. /package/dist/cli-bundle/chunks/{chunk-ZD34OFFQ.js.map → chunk-VPIM42PC.js.map} +0 -0
  784. /package/dist/cli-bundle/chunks/{chunk-FGQKEDE4.js.map → chunk-W3DSJQIO.js.map} +0 -0
  785. /package/dist/cli-bundle/chunks/{chunk-4QQ6PM7M.js.map → chunk-W572BIEB.js.map} +0 -0
  786. /package/dist/cli-bundle/chunks/{chunk-Z2CRRZYF.js.map → chunk-WRTENIX3.js.map} +0 -0
  787. /package/dist/cli-bundle/chunks/{chunk-ZAHXPXVY.js.map → chunk-XB7KFVFI.js.map} +0 -0
  788. /package/dist/cli-bundle/chunks/{chunk-PDXT6Q55.js.map → chunk-XG625QP4.js.map} +0 -0
  789. /package/dist/cli-bundle/chunks/{chunk-D3UCE7RW.js.map → chunk-XUC7PI2H.js.map} +0 -0
  790. /package/dist/cli-bundle/chunks/{chunk-N6DNM2FA.js.map → chunk-Y46GD4IX.js.map} +0 -0
  791. /package/dist/cli-bundle/chunks/{chunk-FUM6UMY4.js.map → chunk-Y4M7CPQP.js.map} +0 -0
  792. /package/dist/cli-bundle/chunks/{chunk-HBYZDSK5.js.map → chunk-YN7Y6DQZ.js.map} +0 -0
  793. /package/dist/cli-bundle/chunks/{chunk-YQMMMONE.js.map → chunk-ZGK4L4JM.js.map} +0 -0
  794. /package/dist/cli-bundle/chunks/{chunk-LEKT4K7I.js.map → chunk-ZSUS2OD3.js.map} +0 -0
  795. /package/dist/cli-bundle/chunks/{chunk-TSPKZRRW.js.map → chunk-ZZD4J5XY.js.map} +0 -0
  796. /package/dist/cli-bundle/chunks/{contracts-HXJLKCRI.js.map → claim-RFS7BROJ.js.map} +0 -0
  797. /package/dist/cli-bundle/chunks/{contracts-OJEXMKVW.js.map → claim-XP5AWZ5H.js.map} +0 -0
  798. /package/dist/cli-bundle/chunks/{create-XWWQFQ6S.js.map → close-2SSSHHUZ.js.map} +0 -0
  799. /package/dist/cli-bundle/chunks/{create-WKOZKPQR.js.map → close-GEANHQ2J.js.map} +0 -0
  800. /package/dist/cli-bundle/chunks/{extension-ZF6ZZPOU.js.map → close-many-CMZW7ITN.js.map} +0 -0
  801. /package/dist/cli-bundle/chunks/{extension-NBAH62ML.js.map → close-many-ZFDIG6M7.js.map} +0 -0
  802. /package/dist/cli-bundle/chunks/{history-SGPYRAFT.js.map → comments-MFSYVNNU.js.map} +0 -0
  803. /package/dist/cli-bundle/chunks/{history-RYKLC72X.js.map → comments-XUBPXDYX.js.map} +0 -0
  804. /package/dist/cli-bundle/chunks/{history-redact-4H3FCKF3.js.map → config-D7XQMONX.js.map} +0 -0
  805. /package/dist/cli-bundle/chunks/{history-redact-54ICFKXM.js.map → config-T4FHBSYN.js.map} +0 -0
  806. /package/dist/cli-bundle/chunks/{init-RPIPQUNV.js.map → context-DIU275XI.js.map} +0 -0
  807. /package/dist/cli-bundle/chunks/{init-SKQAESQS.js.map → context-JCOYB4LZ.js.map} +0 -0
  808. /package/dist/cli-bundle/chunks/{list-64LHZ3HM.js.map → contracts-BVO7CSLK.js.map} +0 -0
  809. /package/dist/cli-bundle/chunks/{list-7LXBTEKI.js.map → contracts-NYPEW2G4.js.map} +0 -0
  810. /package/dist/cli-bundle/chunks/{restore-YJ2ET6AT.js.map → copy-32ROBIDL.js.map} +0 -0
  811. /package/dist/cli-bundle/chunks/{restore-PXOFL6AM.js.map → copy-NAGLGMHZ.js.map} +0 -0
  812. /package/dist/cli-bundle/chunks/{schema-2PUXCZ25.js.map → create-4V7SWNBB.js.map} +0 -0
  813. /package/dist/cli-bundle/chunks/{schema-Y6DXXK2F.js.map → create-E77SDCUP.js.map} +0 -0
  814. /package/dist/cli-bundle/chunks/{search-WNUNBQXO.js.map → delete-NQI5OSKN.js.map} +0 -0
  815. /package/dist/cli-bundle/chunks/{search-3S72CTD6.js.map → delete-RA5KTCLB.js.map} +0 -0
  816. /package/dist/cli-bundle/chunks/{test-DQ2QFJ7W.js.map → deps-32SU7HO5.js.map} +0 -0
  817. /package/dist/cli-bundle/chunks/{test-W7QBLVJS.js.map → deps-T7SCWXEX.js.map} +0 -0
  818. /package/dist/cli-bundle/chunks/{test-runs-245OINZR.js.map → docs-RRUPT7O2.js.map} +0 -0
  819. /package/dist/cli-bundle/chunks/{test-runs-ZRD4GCTT.js.map → docs-WL2IWGWV.js.map} +0 -0
  820. /package/dist/cli-bundle/chunks/{update-SJZ6S77U.js.map → eval-NF2J5SHR.js.map} +0 -0
  821. /package/dist/cli-bundle/chunks/{update-SFLZPJXX.js.map → eval-SKDT3MZU.js.map} +0 -0
  822. /package/dist/cli-bundle/chunks/{register-list-query-FB3FNDLZ.js.map → register-list-query-B42JCCOI.js.map} +0 -0
  823. /package/dist/cli-bundle/chunks/{register-list-query-5H66WFYF.js.map → register-list-query-OEYQHFXO.js.map} +0 -0
  824. /package/dist/cli-bundle/chunks/{register-mutation-Z2ETYHKS.js.map → register-mutation-3QXIHCQG.js.map} +0 -0
  825. /package/dist/cli-bundle/chunks/{register-mutation-UJO23C7R.js.map → register-mutation-IAEST26S.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../../cli/commands/context.ts"],"sourcesContent":["/**\n * @module cli/commands/context\n *\n * Implements the pm context command surface and its agent-facing runtime behavior.\n */\nimport { SETTINGS_DEFAULTS, EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { compareTimestampStrings, nowIso } from \"../../core/shared/time.js\";\nimport { isTerminalStatus, normalizeStatusForRegistry, normalizeStatusInput } from \"../../core/item/status.js\";\nimport { resolveRuntimeStatusRegistry, type RuntimeStatusRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport type {\n ContextDepth,\n ContextSectionName,\n ContextSettings,\n ItemFrontMatter,\n ItemStatus,\n PmSettings,\n} from \"../../types/index.js\";\nimport { CONTEXT_DEPTH_VALUES, CONTEXT_SECTION_VALUES } from \"../../types/index.js\";\nimport { parseIntegerLimit } from \"../shared-parsers.js\";\nimport { runCalendar, type CalendarOptions, type CalendarRow } from \"./calendar.js\";\nimport { runList, type ListOptions } from \"./list.js\";\nimport { runActivity, type CompactActivityEntry } from \"./activity.js\";\n\n// ---------------------------------------------------------------------------\n// Output format\n// ---------------------------------------------------------------------------\n\nexport const CONTEXT_OUTPUT_VALUES = [\"markdown\", \"toon\", \"json\"] as const;\n/**\n * Restricts context output format values accepted by command, SDK, and storage contracts.\n */\nexport type ContextOutputFormat = (typeof CONTEXT_OUTPUT_VALUES)[number];\n\n// ---------------------------------------------------------------------------\n// Options\n// ---------------------------------------------------------------------------\n\n/**\n * Documents the context options payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContextOptions {\n date?: string;\n from?: string;\n to?: string;\n past?: boolean;\n type?: string;\n tag?: string;\n priority?: string;\n assignee?: string;\n assigneeFilter?: string;\n sprint?: string;\n release?: string;\n limit?: string;\n format?: string;\n depth?: string;\n fields?: string;\n section?: string[];\n activityLimit?: string;\n staleThreshold?: string;\n parent?: string;\n [key: string]: unknown;\n}\n\n// ---------------------------------------------------------------------------\n// Focus item (unchanged from original)\n// ---------------------------------------------------------------------------\n\n/**\n * Documents the context focus item payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContextFocusItem {\n id: string;\n title: string;\n type: string;\n status: ItemStatus;\n priority: number;\n order: number | null;\n deadline: string | null;\n assignee: string | null;\n tags: string[];\n updated_at: string;\n parent: string | null;\n children_total?: number;\n children_closed?: number;\n completion_pct?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Section data types\n// ---------------------------------------------------------------------------\n\n/**\n * Documents the hierarchy child payload exchanged by command, SDK, and package integrations.\n */\nexport interface HierarchyChild {\n id: string;\n title: string;\n type: string;\n status: ItemStatus;\n children_total: number;\n children_closed: number;\n}\n\n/**\n * Documents the hierarchy node payload exchanged by command, SDK, and package integrations.\n */\nexport interface HierarchyNode {\n id: string;\n title: string;\n type: string;\n status: ItemStatus;\n children_total: number;\n children_closed: number;\n children_open: number;\n children_in_progress: number;\n children_blocked: number;\n children: HierarchyChild[];\n}\n\n/**\n * Documents the progress entry payload exchanged by command, SDK, and package integrations.\n */\nexport interface ProgressEntry {\n id: string;\n title: string;\n type: string;\n total: number;\n closed: number;\n open: number;\n in_progress: number;\n blocked: number;\n completion_pct: number;\n}\n\n/**\n * Documents the blocker entry payload exchanged by command, SDK, and package integrations.\n */\nexport interface BlockerEntry {\n id: string;\n title: string;\n blocked_by: string | null;\n blocked_by_title: string | null;\n blocked_by_status: ItemStatus | null;\n blocked_reason: string | null;\n unblock_note: string | null;\n}\n\n/**\n * Documents the hot file payload exchanged by command, SDK, and package integrations.\n */\nexport interface HotFile {\n path: string;\n references: number;\n items: string[];\n}\n\n/**\n * Documents the workload entry payload exchanged by command, SDK, and package integrations.\n */\nexport interface WorkloadEntry {\n assignee: string | null;\n active: number;\n in_progress: number;\n items: string[];\n}\n\n/**\n * Documents the stale entry payload exchanged by command, SDK, and package integrations.\n */\nexport interface StaleEntry {\n id: string;\n title: string;\n status: ItemStatus;\n updated_at: string;\n stale_days: number;\n}\n\n/**\n * Documents the recent context item payload exchanged by command, SDK, and package integrations.\n */\nexport interface RecentContextItem extends ContextFocusItem {\n created_at?: string;\n}\n\n/**\n * Documents the test health summary payload exchanged by command, SDK, and package integrations.\n */\nexport interface TestHealthSummary {\n items_with_tests: number;\n items_with_recent_runs: number;\n recent_runs: {\n passed: number;\n failed: number;\n skipped: number;\n };\n items_failing: string[];\n}\n\n// ---------------------------------------------------------------------------\n// Agenda / summary (unchanged)\n// ---------------------------------------------------------------------------\n\ninterface ContextAgendaSummary {\n events: number;\n items: number;\n deadlines: number;\n reminders: number;\n scheduled: number;\n}\n\ninterface ContextSummary {\n active_items: number;\n in_progress: number;\n open: number;\n blocked: number;\n blocked_fallback_used: boolean;\n high_level: number;\n low_level: number;\n agenda_events: number;\n total_items?: number;\n closed?: number;\n canceled?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Result\n// ---------------------------------------------------------------------------\n\n/**\n * Documents the context result payload exchanged by command, SDK, and package integrations.\n */\nexport interface ContextResult {\n output_default: \"toon\";\n now: string;\n depth: ContextDepth;\n sections_included: ContextSectionName[];\n window: {\n anchor: string;\n start: string | null;\n end: string | null;\n past: boolean;\n from: string | null;\n to: string | null;\n };\n filters: {\n type: string | null;\n tag: string | null;\n priority: string | null;\n assignee: string | null;\n assignee_filter: string | null;\n sprint: string | null;\n release: string | null;\n limit: string | null;\n parent: string | null;\n runtime_filters?: Record<string, unknown>;\n };\n summary: ContextSummary;\n high_level: ContextFocusItem[];\n low_level: ContextFocusItem[];\n blocked_fallback: ContextFocusItem[];\n agenda: {\n summary: ContextAgendaSummary;\n events: CalendarRow[];\n };\n hierarchy?: HierarchyNode[];\n activity?: CompactActivityEntry[];\n progress?: ProgressEntry[];\n blockers?: BlockerEntry[];\n recently_created?: RecentContextItem[];\n unparented?: ContextFocusItem[];\n files?: HotFile[];\n workload?: WorkloadEntry[];\n staleness?: StaleEntry[];\n tests?: TestHealthSummary;\n suggestions?: string[];\n /** Focus-row field subset requested via --fields; null/omitted means full rows. */\n focus_fields?: string[];\n warnings?: string[];\n}\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\nconst HIGH_LEVEL_TYPES = new Set<string>([\"Epic\", \"Feature\"]);\nconst DEFAULT_CONTEXT_LIMIT = 10;\n\nconst STANDARD_SECTIONS: ContextSectionName[] = [\"hierarchy\", \"activity\", \"progress\", \"recently_created\", \"unparented\", \"workload\"];\nconst DEEP_SECTIONS: ContextSectionName[] = [\n ...STANDARD_SECTIONS,\n \"blockers\",\n \"files\",\n \"staleness\",\n \"tests\",\n];\nconst LEADING_HYPHEN_DATE = /^(\\d{4})-(\\d{2})-(\\d{2})/;\nconst LEADING_COMPACT_DATE = /^(\\d{4})(\\d{2})(\\d{2})(?:[T ]?\\d{2}|$)/;\nconst COMPACT_DATE = /^(\\d{4})(\\d{2})(\\d{2})$/;\nconst COMPACT_DATETIME = /^(\\d{4})(\\d{2})(\\d{2})(?:[T\\s]?)(\\d{2})(\\d{2})(\\d{2})?(Z|[+-]\\d{2}:?\\d{2})?$/i;\n\n// ---------------------------------------------------------------------------\n// Parsers\n// ---------------------------------------------------------------------------\n\nfunction parseOutputFormat(raw: string | undefined): ContextOutputFormat | undefined {\n if (!raw) return undefined;\n const normalized = raw.trim().toLowerCase();\n if (!CONTEXT_OUTPUT_VALUES.includes(normalized as ContextOutputFormat)) {\n throw new PmCliError(\"Context format must be one of markdown|toon|json\", EXIT_CODE.USAGE);\n }\n return normalized as ContextOutputFormat;\n}\n\n// Fields selectable by `pm context --fields` for focus-row projection. Every\n// ContextFocusItem scalar plus `created_at` (carried by recently-created rows)\n// is addressable; unknown names are rejected with a usage hint.\nconst FOCUS_PROJECTION_FIELDS = new Set<string>([\n \"id\",\n \"title\",\n \"type\",\n \"status\",\n \"priority\",\n \"order\",\n \"deadline\",\n \"assignee\",\n \"tags\",\n \"updated_at\",\n \"parent\",\n \"children_total\",\n \"children_closed\",\n \"completion_pct\",\n \"created_at\",\n]);\n\n/**\n * Parses the comma-separated `--fields` value into a validated, de-duplicated\n * focus-row projection list. Returns undefined when no projection was requested.\n */\nexport function parseContextFocusFields(raw: string | undefined): string[] | undefined {\n if (raw === undefined) return undefined;\n const fields: string[] = [];\n for (const token of raw.split(\",\")) {\n const normalized = token.trim().toLowerCase();\n if (normalized.length === 0) continue;\n if (!FOCUS_PROJECTION_FIELDS.has(normalized)) {\n throw new PmCliError(\n `Context --fields value not projectable: ${normalized} (valid: ${[...FOCUS_PROJECTION_FIELDS].join(\", \")})`,\n EXIT_CODE.USAGE,\n );\n }\n if (!fields.includes(normalized)) fields.push(normalized);\n }\n if (fields.length === 0) {\n throw new PmCliError(\"Context --fields requires at least one field name\", EXIT_CODE.USAGE);\n }\n return fields;\n}\n\n/**\n * Projects focus rows onto the requested field subset, preserving field order so\n * the rendered/serialized output mirrors the `--fields` argument.\n */\nexport function projectContextFocusRows<T extends ContextFocusItem>(rows: T[], fields: string[]): ContextFocusItem[] {\n return rows.map((row) => {\n const projected: Record<string, unknown> = {};\n const source = row as Record<string, unknown>;\n for (const field of fields) {\n projected[field] = source[field] ?? null;\n }\n return projected as unknown as ContextFocusItem;\n });\n}\n\n/**\n * Implements resolve context output format for the public runtime surface of this module.\n */\nexport function resolveContextOutputFormat(options: ContextOptions, global: GlobalOptions): ContextOutputFormat {\n const commandFormat = parseOutputFormat(options.format);\n if (global.json && commandFormat && commandFormat !== \"json\") {\n throw new PmCliError(\"Cannot combine --json with --format markdown|toon\", EXIT_CODE.USAGE);\n }\n if (global.json) {\n return \"json\";\n }\n return commandFormat ?? \"toon\";\n}\n\n// --depth full surfaces the entire backlog: when no explicit --limit is given,\n// every section returns all rows instead of the default top-N sample.\nfunction parseContextLimit(raw: string | undefined, depth: ContextDepth): number {\n return parseIntegerLimit(raw, \"--limit\") ?? (depth === \"full\" ? Number.MAX_SAFE_INTEGER : DEFAULT_CONTEXT_LIMIT);\n}\n\n/**\n * Implements parse context depth for the public runtime surface of this module.\n */\nexport function parseContextDepth(raw: string | undefined, settings: ContextSettings): ContextDepth {\n if (!raw) return settings.default_depth;\n const normalized = raw.trim().toLowerCase();\n if (!CONTEXT_DEPTH_VALUES.includes(normalized as ContextDepth)) {\n throw new PmCliError(`Context --depth must be one of ${CONTEXT_DEPTH_VALUES.join(\"|\")}`, EXIT_CODE.USAGE);\n }\n return normalized as ContextDepth;\n}\n\n/**\n * Implements parse context sections for the public runtime surface of this module.\n */\nexport function parseContextSections(\n raw: string[] | undefined,\n depth: ContextDepth,\n settings: ContextSettings,\n): ContextSectionName[] {\n if (raw && raw.length > 0) {\n const sections: ContextSectionName[] = [];\n for (const value of raw) {\n const normalized = value.trim().toLowerCase();\n if (!CONTEXT_SECTION_VALUES.includes(normalized as ContextSectionName)) {\n throw new PmCliError(\n `Context --section must be one of ${CONTEXT_SECTION_VALUES.join(\"|\")}`,\n EXIT_CODE.USAGE,\n );\n }\n if (!sections.includes(normalized as ContextSectionName)) {\n sections.push(normalized as ContextSectionName);\n }\n }\n return sections;\n }\n if (depth === \"brief\") return [];\n // --depth full is the comprehensive snapshot: every known section, regardless\n // of the per-section settings toggles that brief/standard/deep respect.\n if (depth === \"full\") return [...CONTEXT_SECTION_VALUES];\n const pool = depth === \"deep\" ? DEEP_SECTIONS : STANDARD_SECTIONS;\n return pool.filter((section) => settings.sections[section]);\n}\n\nfunction parseActivityLimit(raw: string | undefined, settings: ContextSettings): number {\n if (!raw) return settings.activity_limit;\n const parsed = parseIntegerLimit(raw, \"--activity-limit\");\n /* c8 ignore start -- parseIntegerLimit either throws or returns a number; fallback is defensive typing guard */\n return parsed ?? settings.activity_limit;\n /* c8 ignore stop */\n}\n\nfunction parseStaleThresholdDays(raw: string | undefined, settings: ContextSettings): number {\n if (!raw) return settings.stale_threshold_days;\n const trimmed = raw.trim().toLowerCase();\n const match = /^(\\d+)d?$/.exec(trimmed);\n if (!match) {\n throw new PmCliError(\"--stale-threshold must be a number of days (e.g. 7 or 7d)\", EXIT_CODE.USAGE);\n }\n const days = parseInt(match[1], 10);\n if (days <= 0) {\n throw new PmCliError(\"--stale-threshold must be positive\", EXIT_CODE.USAGE);\n }\n return days;\n}\n\n// ---------------------------------------------------------------------------\n// Status helpers\n// ---------------------------------------------------------------------------\n\nfunction statusRank(status: ItemStatus, statusRegistry: RuntimeStatusRegistry): number {\n const normalizedStatus = normalizeStatusForRegistry(status, statusRegistry);\n const inProgressStatus = normalizeStatusInput(\"in_progress\", statusRegistry);\n const openStatus = normalizeStatusInput(\"open\", statusRegistry);\n const blockedStatus = normalizeStatusInput(\"blocked\", statusRegistry);\n const draftStatus = normalizeStatusInput(\"draft\", statusRegistry);\n if (inProgressStatus && normalizedStatus === inProgressStatus) return 0;\n if (openStatus && normalizedStatus === openStatus) return 1;\n if (blockedStatus && normalizedStatus === blockedStatus) return 2;\n if (draftStatus && normalizedStatus === draftStatus) return 3;\n if (statusRegistry.active_statuses.has(normalizedStatus)) return 4;\n if (statusRegistry.blocked_statuses.has(normalizedStatus)) return 5;\n if (statusRegistry.terminal_statuses.has(normalizedStatus)) return 7;\n return 6;\n}\n\nfunction isClosedStatus(status: ItemStatus, statusRegistry: RuntimeStatusRegistry): boolean {\n const closeStatus = normalizeStatusInput(\"closed\", statusRegistry);\n return normalizeStatusForRegistry(status, statusRegistry) === closeStatus;\n}\n\nfunction isInProgressStatus(status: ItemStatus, statusRegistry: RuntimeStatusRegistry): boolean {\n const inProgressStatus = normalizeStatusInput(\"in_progress\", statusRegistry);\n return normalizeStatusForRegistry(status, statusRegistry) === inProgressStatus;\n}\n\nfunction isOpenStatus(status: ItemStatus, statusRegistry: RuntimeStatusRegistry): boolean {\n const openStatus = normalizeStatusInput(\"open\", statusRegistry);\n return normalizeStatusForRegistry(status, statusRegistry) === openStatus;\n}\n\nfunction isBlockedStatus(status: ItemStatus, statusRegistry: RuntimeStatusRegistry): boolean {\n return statusRegistry.blocked_statuses.has(normalizeStatusForRegistry(status, statusRegistry));\n}\n\n// Projection flags belong to list/calendar/activity output shaping and must not\n// leak into runContext's downstream calls, which need full ItemFrontMatter rows.\n// --parent is a context-level subtree scope computed here transitively, so it\n// must not reach runList (whose --parent matches direct children only).\nconst LIST_PROJECTION_FLAGS = [\"compact\", \"brief\", \"fields\", \"includeBody\", \"include_body\", \"parent\"] as const;\n\nfunction stripListProjectionFlags(options: ContextOptions): Record<string, unknown> {\n const copy: Record<string, unknown> = { ...(options as Record<string, unknown>) };\n for (const key of LIST_PROJECTION_FLAGS) {\n delete copy[key];\n }\n return copy;\n}\n\n/**\n * Resolves the transitive subtree (the anchor item plus every descendant via\n * parent links) so `--parent` can scope a snapshot to one epic/milestone. Reuses\n * the same {@link buildChildrenByParent}/{@link collectDescendants} helpers the\n * hierarchy section relies on, so subtree membership stays consistent across the\n * snapshot. Ids are normalized to lowercase for case-insensitive membership; the\n * `found` flag is false when the anchor id is absent from the corpus. Exported so\n * sibling read commands (e.g. `pm next`) can apply the same subtree scoping.\n */\nexport function collectSubtreeIds(corpus: ItemFrontMatter[], parentId: string): { ids: Set<string>; found: boolean } {\n const target = parentId.trim().toLowerCase();\n const anchor = corpus.find((item) => item.id.trim().toLowerCase() === target);\n if (!anchor) {\n return { ids: new Set<string>(), found: false };\n }\n const childrenByParent = buildChildrenByParent(corpus);\n const descendants = collectDescendants(anchor.id, childrenByParent);\n // Store normalized ids so membership checks are case-insensitive end-to-end.\n const ids = new Set<string>([anchor.id, ...descendants.map((item) => item.id)].map((id) => id.trim().toLowerCase()));\n return { ids, found: true };\n}\n\nfunction parseContextParent(raw: string | undefined): string | undefined {\n if (raw === undefined) return undefined;\n const trimmed = raw.trim();\n if (trimmed.length === 0) {\n throw new PmCliError(\"Context --parent requires an item id\", EXIT_CODE.USAGE);\n }\n return trimmed;\n}\n\n// ---------------------------------------------------------------------------\n// Sorting / mapping helpers (unchanged from original)\n// ---------------------------------------------------------------------------\n\nfunction compareOptionalOrder(left: number | null | undefined, right: number | null | undefined): number {\n const leftValue = left ?? null;\n const rightValue = right ?? null;\n if (leftValue === null && rightValue === null) return 0;\n if (leftValue === null) return 1;\n if (rightValue === null) return -1;\n return leftValue - rightValue;\n}\n\nfunction compareOptionalDeadline(left: string | null | undefined, right: string | null | undefined): number {\n const leftValue = left ?? null;\n const rightValue = right ?? null;\n if (leftValue === null && rightValue === null) return 0;\n if (leftValue === null) return 1;\n if (rightValue === null) return -1;\n return compareTimestampStrings(leftValue, rightValue);\n}\n\nfunction daysInUtcMonth(year: number, monthIndex: number): number {\n return new Date(Date.UTC(year, monthIndex + 1, 0)).getUTCDate();\n}\n\nfunction hasNoInvalidDatePrefix(value: string): boolean {\n const match = LEADING_HYPHEN_DATE.exec(value) ?? LEADING_COMPACT_DATE.exec(value);\n if (!match) {\n return true;\n }\n const year = Number.parseInt(match[1], 10);\n const month = Number.parseInt(match[2], 10);\n const day = Number.parseInt(match[3], 10);\n return month >= 1 && month <= 12 && day >= 1 && day <= daysInUtcMonth(year, month - 1);\n}\n\nfunction normalizeTimestampCandidate(value: string): string {\n const compactDate = COMPACT_DATE.exec(value);\n if (compactDate) {\n return `${compactDate[1]}-${compactDate[2]}-${compactDate[3]}`;\n }\n const compactDateTime = COMPACT_DATETIME.exec(value);\n if (compactDateTime) {\n const [, year, month, day, hour, minute, secondRaw, offsetRaw] = compactDateTime;\n const second = secondRaw ? `:${secondRaw}` : \"\";\n const offset = offsetRaw && offsetRaw.length === 5 && offsetRaw !== \"Z\" ? `${offsetRaw.slice(0, 3)}:${offsetRaw.slice(3)}` : offsetRaw ?? \"\";\n return `${year}-${month}-${day}T${hour}:${minute}${second}${offset}`;\n }\n return value;\n}\n\nfunction parseContextTimestampMs(value: unknown): number {\n if (typeof value !== \"string\") {\n return Number.NaN;\n }\n const trimmed = value.trim();\n if (trimmed.length === 0 || !hasNoInvalidDatePrefix(trimmed)) {\n return Number.NaN;\n }\n const parsed = Date.parse(normalizeTimestampCandidate(trimmed));\n return Number.isFinite(parsed) ? parsed : Number.NaN;\n}\n\nfunction sortableTimestamp(value: unknown): string {\n const parsed = parseContextTimestampMs(value);\n return Number.isFinite(parsed) ? new Date(parsed).toISOString() : \"\";\n}\n\nfunction dateTokenForTimestamp(value: unknown): string {\n const parsed = parseContextTimestampMs(value);\n return Number.isFinite(parsed) ? new Date(parsed).toISOString().slice(0, 10) : \"unknown\";\n}\n\nfunction normalizedParentId(value: unknown): string | null {\n if (typeof value !== \"string\") {\n return null;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\n/**\n * Ranks two items by work criticality: in-progress before open before blocked\n * before draft (via {@link statusRank}), then ascending priority, explicit order,\n * earliest deadline, most-recently-updated, and finally id for a total order.\n * Exported as the canonical focus ordering so sibling read commands (e.g.\n * `pm next`) recommend work in the exact same sequence as `pm context`.\n */\nexport function compareCriticalItems(left: ItemFrontMatter, right: ItemFrontMatter, statusRegistry: RuntimeStatusRegistry): number {\n const byStatus = statusRank(left.status, statusRegistry) - statusRank(right.status, statusRegistry);\n if (byStatus !== 0) return byStatus;\n const byPriority = left.priority - right.priority;\n if (byPriority !== 0) return byPriority;\n const byOrder = compareOptionalOrder(left.order, right.order);\n if (byOrder !== 0) return byOrder;\n const byDeadline = compareOptionalDeadline(left.deadline, right.deadline);\n if (byDeadline !== 0) return byDeadline;\n const byUpdated = compareTimestampStrings(sortableTimestamp(right.updated_at), sortableTimestamp(left.updated_at));\n const byId = left.id.localeCompare(right.id);\n return byUpdated !== 0 ? byUpdated : byId;\n}\n\nfunction completionPct(closed: number, total: number): number {\n return total > 0 ? Math.round((closed / total) * 100) : 0;\n}\n\n/**\n * Indexes items by their parent id, yielding a parent→direct-children map used by\n * the hierarchy/progress rollups and by focus-row child completion. Items without\n * a parent are skipped. Exported so sibling read commands reuse the same index.\n */\nexport function buildChildrenByParent(allItems: ItemFrontMatter[]): Map<string, ItemFrontMatter[]> {\n const childrenByParent = new Map<string, ItemFrontMatter[]>();\n for (const item of allItems) {\n const parent = normalizedParentId(item.parent);\n if (!parent) continue;\n const children = childrenByParent.get(parent) ?? [];\n children.push(item);\n childrenByParent.set(parent, children);\n }\n return childrenByParent;\n}\n\n/**\n * Projects an item onto the compact {@link ContextFocusItem} focus row. When both\n * a status registry and a parent→children index are supplied, it also folds in the\n * descendant rollup (`children_total`/`children_closed`/`completion_pct`). Exported\n * so sibling read commands (e.g. `pm next`) emit identically-shaped focus rows.\n */\nexport function toContextFocusItem(\n item: ItemFrontMatter,\n statusRegistry?: RuntimeStatusRegistry,\n childrenByParent?: Map<string, ItemFrontMatter[]>,\n): ContextFocusItem {\n const focus: ContextFocusItem = {\n id: item.id,\n title: item.title,\n type: item.type,\n status: item.status,\n priority: item.priority,\n order: item.order ?? null,\n deadline: item.deadline ?? null,\n assignee: item.assignee ?? null,\n tags: Array.isArray(item.tags) ? [...item.tags] : [],\n updated_at: item.updated_at,\n parent: normalizedParentId(item.parent),\n };\n if (statusRegistry && childrenByParent) {\n const descendants = collectDescendants(item.id, childrenByParent);\n const total = descendants.length;\n if (total > 0) {\n const closed = descendants.filter((desc) => isClosedStatus(desc.status, statusRegistry)).length;\n focus.children_total = total;\n focus.children_closed = closed;\n focus.completion_pct = completionPct(closed, total);\n }\n }\n return focus;\n}\n\nfunction summarizeAgenda(events: CalendarRow[]): ContextAgendaSummary {\n let deadlines = 0;\n let reminders = 0;\n let scheduled = 0;\n const itemIds = new Set<string>();\n for (const event of events) {\n itemIds.add(event.item_id);\n if (event.kind === \"deadline\") {\n deadlines += 1;\n continue;\n }\n if (event.kind === \"reminder\") {\n reminders += 1;\n continue;\n }\n scheduled += 1;\n }\n return {\n events: events.length,\n items: itemIds.size,\n deadlines,\n reminders,\n scheduled,\n };\n}\n\nfunction mergeSortedWarnings(...warningGroups: Array<string[] | undefined>): string[] {\n return [...new Set(warningGroups.flatMap((group) => group ?? []))].sort((left, right) => left.localeCompare(right));\n}\n\nfunction filterTerminalCalendarEvents(events: CalendarRow[], statusRegistry: RuntimeStatusRegistry): CalendarRow[] {\n return events.filter((event) => !statusRegistry.terminal_statuses.has(normalizeStatusForRegistry(event.item_status, statusRegistry)));\n}\n\n// ---------------------------------------------------------------------------\n// Section builders\n// ---------------------------------------------------------------------------\n\nfunction buildHierarchy(\n allItems: ItemFrontMatter[],\n activeItems: ItemFrontMatter[],\n statusRegistry: RuntimeStatusRegistry,\n limit: number,\n): HierarchyNode[] {\n const itemMap = new Map<string, ItemFrontMatter>();\n for (const item of allItems) {\n itemMap.set(item.id, item);\n }\n\n const childrenByParent = buildChildrenByParent(allItems);\n\n const activeHighLevelIds = new Set(\n activeItems.filter((item) => HIGH_LEVEL_TYPES.has(item.type)).map((item) => item.id),\n );\n\n const nodes: HierarchyNode[] = [];\n for (const parentId of activeHighLevelIds) {\n const parent = itemMap.get(parentId);\n if (!parent) continue;\n const allDescendants = collectDescendants(parentId, childrenByParent);\n const childItems = childrenByParent.get(parentId) ?? [];\n\n let closedCount = 0;\n let openCount = 0;\n let inProgressCount = 0;\n let blockedCount = 0;\n /* c8 ignore start -- chained status-classification branch accounting is noisy under v8 for mixed descendant sets */\n for (const desc of allDescendants) {\n if (isClosedStatus(desc.status, statusRegistry)) closedCount++;\n else if (isInProgressStatus(desc.status, statusRegistry)) inProgressCount++;\n else if (isBlockedStatus(desc.status, statusRegistry)) blockedCount++;\n else if (isOpenStatus(desc.status, statusRegistry)) openCount++;\n }\n /* c8 ignore stop */\n\n const children: HierarchyChild[] = childItems\n .sort((a, b) => compareCriticalItems(a, b, statusRegistry))\n .slice(0, limit)\n .map((child) => {\n const grandchildren = collectDescendants(child.id, childrenByParent);\n const gcClosed = grandchildren.filter((gc) => isClosedStatus(gc.status, statusRegistry)).length;\n return {\n id: child.id,\n title: child.title,\n type: child.type,\n status: child.status,\n children_total: grandchildren.length,\n children_closed: gcClosed,\n };\n });\n\n nodes.push({\n id: parent.id,\n title: parent.title,\n type: parent.type,\n status: parent.status,\n children_total: allDescendants.length,\n children_closed: closedCount,\n children_open: openCount,\n children_in_progress: inProgressCount,\n children_blocked: blockedCount,\n children,\n });\n }\n\n return nodes\n .sort((a, b) => {\n const aParent = itemMap.get(a.id)!;\n const bParent = itemMap.get(b.id)!;\n return compareCriticalItems(aParent, bParent, statusRegistry);\n })\n .slice(0, limit);\n}\n\nfunction collectDescendants(\n parentId: string,\n childrenByParent: Map<string, ItemFrontMatter[]>,\n): ItemFrontMatter[] {\n const result: ItemFrontMatter[] = [];\n const stack = [parentId];\n const visited = new Set<string>();\n while (stack.length > 0) {\n const current = stack.pop()!;\n if (visited.has(current)) continue;\n visited.add(current);\n const children = childrenByParent.get(current) ?? [];\n for (const child of children) {\n result.push(child);\n stack.push(child.id);\n }\n }\n return result;\n}\n\nexport const _testOnly = {\n buildActivity,\n buildBlockers,\n buildChildrenByParent,\n buildHierarchy,\n buildHotFiles,\n buildProgress,\n buildRecentlyCreated,\n buildStaleness,\n buildTestHealth,\n buildUnparented,\n buildWorkload,\n collectDescendants,\n collectSubtreeIds,\n compareCriticalItems,\n compareOptionalDeadline,\n compareOptionalOrder,\n completionPct,\n dateTokenForTimestamp,\n filterTerminalCalendarEvents,\n isBlockedStatus,\n isClosedStatus,\n isInProgressStatus,\n isOpenStatus,\n mergeSortedWarnings,\n normalizedParentId,\n parseActivityLimit,\n parseContextLimit,\n parseContextParent,\n parseContextTimestampMs,\n parseStaleThresholdDays,\n sortableTimestamp,\n statusRank,\n stripListProjectionFlags,\n summarizeAgenda,\n toContextFocusItem,\n};\n\nasync function buildActivity(\n activityLimit: number,\n global: GlobalOptions,\n): Promise<CompactActivityEntry[]> {\n const result = await runActivity({ compact: true, limit: String(activityLimit) }, global);\n return result.compact_activity ?? [];\n}\n\nfunction buildProgress(\n allItems: ItemFrontMatter[],\n activeItems: ItemFrontMatter[],\n statusRegistry: RuntimeStatusRegistry,\n limit: number,\n): ProgressEntry[] {\n const childrenByParent = new Map<string, ItemFrontMatter[]>();\n for (const item of allItems) {\n if (!item.parent) continue;\n const children = childrenByParent.get(item.parent) ?? [];\n children.push(item);\n childrenByParent.set(item.parent, children);\n }\n\n const activeHighLevel = activeItems.filter((item) => HIGH_LEVEL_TYPES.has(item.type));\n const entries: ProgressEntry[] = [];\n for (const parent of activeHighLevel) {\n const descendants = collectDescendants(parent.id, childrenByParent);\n const total = descendants.length;\n if (total === 0) continue;\n\n let closed = 0;\n let open = 0;\n let inProgress = 0;\n let blocked = 0;\n /* c8 ignore start -- chained status-classification branch accounting is noisy under v8 for mixed descendant sets */\n for (const desc of descendants) {\n if (isClosedStatus(desc.status, statusRegistry)) closed++;\n else if (isInProgressStatus(desc.status, statusRegistry)) inProgress++;\n else if (isBlockedStatus(desc.status, statusRegistry)) blocked++;\n else if (isOpenStatus(desc.status, statusRegistry)) open++;\n }\n /* c8 ignore stop */\n\n entries.push({\n id: parent.id,\n title: parent.title,\n type: parent.type,\n total,\n closed,\n open,\n in_progress: inProgress,\n blocked,\n completion_pct: completionPct(closed, total),\n });\n }\n\n return entries\n .sort((a, b) => a.completion_pct - b.completion_pct)\n .slice(0, limit);\n}\n\nfunction buildBlockers(\n blockedItems: ItemFrontMatter[],\n itemMap: Map<string, ItemFrontMatter>,\n limit: number,\n): BlockerEntry[] {\n return blockedItems.slice(0, limit).map((item) => {\n const blockerItem = item.blocked_by ? itemMap.get(item.blocked_by) : undefined;\n return {\n id: item.id,\n title: item.title,\n blocked_by: item.blocked_by ?? null,\n blocked_by_title: blockerItem?.title ?? null,\n blocked_by_status: blockerItem?.status ?? null,\n blocked_reason: item.blocked_reason ?? null,\n unblock_note: item.unblock_note ?? null,\n };\n });\n}\n\nfunction buildHotFiles(\n activeItems: ItemFrontMatter[],\n limit: number,\n): HotFile[] {\n const fileMap = new Map<string, Set<string>>();\n for (const item of activeItems) {\n for (const file of item.files ?? []) {\n const existing = fileMap.get(file.path) ?? new Set<string>();\n existing.add(item.id);\n fileMap.set(file.path, existing);\n }\n }\n\n return [...fileMap.entries()]\n .map(([filePath, itemIds]) => ({\n path: filePath,\n references: itemIds.size,\n items: [...itemIds].sort(),\n }))\n .sort((a, b) => b.references - a.references)\n .slice(0, limit);\n}\n\nfunction buildWorkload(\n activeItems: ItemFrontMatter[],\n statusRegistry: RuntimeStatusRegistry,\n limit: number,\n): WorkloadEntry[] {\n const groups = new Map<string | null, ItemFrontMatter[]>();\n for (const item of activeItems) {\n const key = item.assignee ?? null;\n const existing = groups.get(key) ?? [];\n existing.push(item);\n groups.set(key, existing);\n }\n\n return [...groups.entries()]\n .map(([assignee, items]) => ({\n assignee,\n active: items.length,\n in_progress: items.filter((item) => isInProgressStatus(item.status, statusRegistry)).length,\n items: items.map((item) => item.id).sort(),\n }))\n .sort((a, b) => b.active - a.active)\n .slice(0, limit);\n}\n\nfunction buildStaleness(\n allNonTerminal: ItemFrontMatter[],\n staleThresholdDays: number,\n now: string,\n limit: number,\n): StaleEntry[] {\n const cutoffMs = new Date(now).getTime() - staleThresholdDays * 24 * 60 * 60 * 1000;\n\n return allNonTerminal\n .filter((item) => new Date(item.updated_at).getTime() < cutoffMs)\n .map((item) => ({\n id: item.id,\n title: item.title,\n status: item.status,\n updated_at: item.updated_at,\n stale_days: Math.floor((new Date(now).getTime() - new Date(item.updated_at).getTime()) / (24 * 60 * 60 * 1000)),\n }))\n .sort((a, b) => b.stale_days - a.stale_days)\n .slice(0, limit);\n}\n\nfunction buildRecentlyCreated(\n allNonTerminal: ItemFrontMatter[],\n statusRegistry: RuntimeStatusRegistry,\n childrenByParent: Map<string, ItemFrontMatter[]>,\n limit: number,\n): RecentContextItem[] {\n return allNonTerminal\n .map((item) => ({ item, sortKey: sortableTimestamp(item.created_at) }))\n .sort((left, right) => {\n const byCreated = compareTimestampStrings(right.sortKey, left.sortKey);\n return byCreated !== 0 ? byCreated : left.item.id.localeCompare(right.item.id);\n })\n .slice(0, limit)\n .map(({ item }) => ({\n ...toContextFocusItem(item, statusRegistry, childrenByParent),\n created_at: item.created_at,\n }));\n}\n\nfunction buildUnparented(\n allNonTerminal: ItemFrontMatter[],\n statusRegistry: RuntimeStatusRegistry,\n childrenByParent: Map<string, ItemFrontMatter[]>,\n limit: number,\n): ContextFocusItem[] {\n return allNonTerminal\n .filter((item) => !normalizedParentId(item.parent) && !HIGH_LEVEL_TYPES.has(item.type))\n .sort((left, right) => compareCriticalItems(left, right, statusRegistry))\n .slice(0, limit)\n .map((item) => toContextFocusItem(item, statusRegistry, childrenByParent));\n}\n\nfunction buildTestHealth(\n activeItems: ItemFrontMatter[],\n): TestHealthSummary {\n let itemsWithTests = 0;\n let itemsWithRecentRuns = 0;\n let passed = 0;\n let failed = 0;\n let skipped = 0;\n const itemsFailing: string[] = [];\n\n for (const item of activeItems) {\n if ((item.tests ?? []).length > 0) {\n itemsWithTests++;\n }\n const runs = item.test_runs ?? [];\n if (runs.length > 0) {\n itemsWithRecentRuns++;\n let itemHasFailure = false;\n for (const run of runs) {\n passed += run.passed ?? 0;\n failed += run.failed ?? 0;\n skipped += run.skipped ?? 0;\n if ((run.failed ?? 0) > 0) {\n itemHasFailure = true;\n }\n }\n if (itemHasFailure) {\n itemsFailing.push(item.id);\n }\n }\n }\n\n return {\n items_with_tests: itemsWithTests,\n items_with_recent_runs: itemsWithRecentRuns,\n recent_runs: { passed, failed, skipped },\n items_failing: itemsFailing.sort(),\n };\n}\n\n// ---------------------------------------------------------------------------\n// Markdown formatting\n// ---------------------------------------------------------------------------\n\nfunction formatClock(timestamp: string): string {\n return `${new Date(timestamp).toISOString().slice(11, 16)}Z`;\n}\n\nfunction formatFocusLine(item: ContextFocusItem): string {\n const orderToken = item.order === null ? \"-\" : String(item.order);\n const deadlineToken = item.deadline ?? \"-\";\n const parentToken = item.parent ? ` parent:${item.parent}` : \"\";\n const progressToken =\n item.children_total !== undefined && item.children_closed !== undefined && item.completion_pct !== undefined\n ? ` children:${item.children_closed}/${item.children_total} done:${item.completion_pct}%`\n : \"\";\n return `${item.id} p${item.priority} ${item.status} ${item.type} order:${orderToken} deadline:${deadlineToken}${parentToken}${progressToken} ${item.title}`;\n}\n\n// Renders a focus row projected to a `--fields` subset as space-separated\n// field:value tokens, mirroring the projection field order. Array values join\n// with commas; missing/null values render as `-`.\nfunction formatProjectedFocusLine(item: ContextFocusItem, fields: string[]): string {\n const source = item as unknown as Record<string, unknown>;\n return fields\n .map((field) => {\n const value = source[field];\n if (Array.isArray(value)) return `${field}:${value.join(\",\")}`;\n return `${field}:${value ?? \"-\"}`;\n })\n .join(\" \");\n}\n\nfunction formatAgendaLine(event: CalendarRow): string {\n const base = `${formatClock(event.at)} [${event.kind}] ${event.item_id} p${event.item_priority} ${event.item_status} ${event.item_title}`;\n if (event.kind === \"reminder\") {\n return `${base} — ${event.reminder_text}`;\n }\n if (event.kind === \"event\") {\n const recurringSuffix = event.event_recurring ? \" (recurring)\" : \"\";\n const title = event.event_title ?? event.item_title;\n return `${base} — ${title}${recurringSuffix}`;\n }\n return base;\n}\n\nfunction pushContextFocusSection(\n lines: string[],\n title: string,\n rows: ContextFocusItem[],\n emptyText: string,\n renderFocus: (item: ContextFocusItem) => string,\n): void {\n lines.push(`## ${title}`);\n if (rows.length === 0) {\n lines.push(emptyText);\n } else {\n for (const item of rows) {\n lines.push(`- ${renderFocus(item)}`);\n }\n }\n lines.push(\"\");\n}\n\nfunction pushBlockedFallbackSection(\n lines: string[],\n result: ContextResult,\n renderFocus: (item: ContextFocusItem) => string,\n): void {\n if (result.blocked_fallback.length === 0) {\n return;\n }\n lines.push(\"## Blocked fallback\");\n for (const item of result.blocked_fallback) {\n lines.push(`- ${renderFocus(item)}`);\n }\n lines.push(\"\");\n}\n\nfunction pushAgendaSection(lines: string[], result: ContextResult): void {\n lines.push(\"## Agenda\");\n lines.push(\n `- events: ${result.agenda.summary.events} (deadlines: ${result.agenda.summary.deadlines}, reminders: ${result.agenda.summary.reminders}, scheduled: ${result.agenda.summary.scheduled})`,\n );\n if (result.agenda.events.length === 0) {\n lines.push(\"No agenda events matched the selected filters.\");\n } else {\n for (const event of result.agenda.events) {\n lines.push(`- ${formatAgendaLine(event)}`);\n }\n }\n lines.push(\"\");\n}\n\nfunction pushHierarchySection(lines: string[], result: ContextResult): void {\n if (!result.hierarchy || result.hierarchy.length === 0) {\n return;\n }\n lines.push(\"## Hierarchy\");\n for (const node of result.hierarchy) {\n const pct = node.children_total > 0 ? Math.round((node.children_closed / node.children_total) * 100) : 0;\n lines.push(`- ${node.id} ${node.type} ${node.status} \"${node.title}\" [${node.children_closed}/${node.children_total} done ${pct}%]`);\n for (const child of node.children) {\n const cpct = child.children_total > 0 ? Math.round((child.children_closed / child.children_total) * 100) : 0;\n lines.push(` - ${child.id} ${child.type} ${child.status} \"${child.title}\" [${child.children_closed}/${child.children_total} done ${cpct}%]`);\n }\n }\n lines.push(\"\");\n}\n\nfunction pushProgressSection(lines: string[], result: ContextResult): void {\n if (!result.progress || result.progress.length === 0) {\n return;\n }\n lines.push(\"## Progress\");\n for (const entry of result.progress) {\n lines.push(`- ${entry.id} \"${entry.title}\" ${entry.completion_pct}% (${entry.closed}/${entry.total} closed, ${entry.in_progress} wip, ${entry.open} open, ${entry.blocked} blocked)`);\n }\n lines.push(\"\");\n}\n\nfunction pushRecentlyCreatedSection(\n lines: string[],\n result: ContextResult,\n focusFields: string[] | undefined,\n renderFocus: (item: ContextFocusItem) => string,\n): void {\n if (!result.recently_created || result.recently_created.length === 0) {\n return;\n }\n lines.push(\"## Recently created\");\n for (const item of result.recently_created) {\n lines.push(focusFields ? `- ${renderFocus(item)}` : `- ${dateTokenForTimestamp(item.created_at)} ${formatFocusLine(item)}`);\n }\n lines.push(\"\");\n}\n\nfunction pushUnparentedSection(\n lines: string[],\n result: ContextResult,\n renderFocus: (item: ContextFocusItem) => string,\n): void {\n if (!result.unparented || result.unparented.length === 0) {\n return;\n }\n lines.push(\"## Unparented\");\n for (const item of result.unparented) {\n lines.push(`- ${renderFocus(item)}`);\n }\n lines.push(\"\");\n}\n\nfunction pushActivitySection(lines: string[], result: ContextResult): void {\n if (!result.activity || result.activity.length === 0) {\n return;\n }\n lines.push(\"## Recent activity\");\n for (const entry of result.activity) {\n const msg = entry.msg ? ` ${entry.msg}` : \"\";\n lines.push(`- ${entry.ts.slice(0, 16)}Z ${entry.id} ${entry.op} by:${entry.author}${msg}`);\n }\n lines.push(\"\");\n}\n\nfunction pushBlockersSection(lines: string[], result: ContextResult): void {\n if (!result.blockers || result.blockers.length === 0) {\n return;\n }\n lines.push(\"## Blockers\");\n for (const entry of result.blockers) {\n const by = entry.blocked_by ? `blocked_by:${entry.blocked_by}(${entry.blocked_by_status ?? \"?\"})` : \"blocked_by:-\";\n const reason = entry.blocked_reason ? ` reason:\"${entry.blocked_reason}\"` : \"\";\n const note = entry.unblock_note ? ` unblock:\"${entry.unblock_note}\"` : \"\";\n lines.push(`- ${entry.id} \"${entry.title}\" ${by}${reason}${note}`);\n }\n lines.push(\"\");\n}\n\nfunction pushFilesSection(lines: string[], result: ContextResult): void {\n if (!result.files || result.files.length === 0) {\n return;\n }\n lines.push(\"## Hot files\");\n for (const file of result.files) {\n lines.push(`- ${file.path} refs:${file.references} items:[${file.items.join(\",\")}]`);\n }\n lines.push(\"\");\n}\n\nfunction pushWorkloadSection(lines: string[], result: ContextResult): void {\n if (!result.workload || result.workload.length === 0) {\n return;\n }\n lines.push(\"## Workload\");\n for (const entry of result.workload) {\n const who = entry.assignee ?? \"(unassigned)\";\n lines.push(`- ${who} active:${entry.active} wip:${entry.in_progress} items:[${entry.items.join(\",\")}]`);\n }\n lines.push(\"\");\n}\n\nfunction pushStalenessSection(lines: string[], result: ContextResult): void {\n if (!result.staleness || result.staleness.length === 0) {\n return;\n }\n lines.push(\"## Stale items\");\n for (const entry of result.staleness) {\n lines.push(`- ${entry.id} ${entry.status} stale:${entry.stale_days}d last:${entry.updated_at.slice(0, 10)} \"${entry.title}\"`);\n }\n lines.push(\"\");\n}\n\nfunction pushTestHealthSection(lines: string[], result: ContextResult): void {\n if (!result.tests) {\n return;\n }\n lines.push(\"## Test health\");\n lines.push(`- items_with_tests: ${result.tests.items_with_tests}`);\n lines.push(`- items_with_recent_runs: ${result.tests.items_with_recent_runs}`);\n lines.push(`- passed: ${result.tests.recent_runs.passed}, failed: ${result.tests.recent_runs.failed}, skipped: ${result.tests.recent_runs.skipped}`);\n if (result.tests.items_failing.length > 0) {\n lines.push(`- items_failing: [${result.tests.items_failing.join(\",\")}]`);\n }\n lines.push(\"\");\n}\n\nfunction pushEmptyContextSuggestions(lines: string[], result: ContextResult): void {\n const isEmpty =\n result.summary.active_items === 0 &&\n result.summary.blocked === 0 &&\n result.agenda.summary.events === 0;\n if (!isEmpty) {\n return;\n }\n lines.push(\"## Suggestions\");\n lines.push(\"No active work items or upcoming events. Consider:\");\n lines.push(\"- `pm create --type Task --title \\\"...\\\"` to add a new work item\");\n lines.push(\"- `pm list --status closed --limit 5` to review recent completions\");\n lines.push(\"- `pm search <keywords>` to find related past work\");\n lines.push(\"- `pm aggregate` for a full project status overview\");\n}\n\n/**\n * Implements render context markdown for the public runtime surface of this module.\n */\nexport function renderContextMarkdown(result: ContextResult): string {\n const lines: string[] = [];\n const focusFields = result.focus_fields;\n const renderFocus = (item: ContextFocusItem): string =>\n focusFields ? formatProjectedFocusLine(item, focusFields) : formatFocusLine(item);\n lines.push(\"# pm context\");\n lines.push(\"\");\n lines.push(`- now: ${result.now}`);\n lines.push(`- depth: ${result.depth}`);\n if (result.filters.parent) {\n lines.push(`- scope: subtree of ${result.filters.parent}`);\n }\n lines.push(`- active_items: ${result.summary.active_items} (in_progress: ${result.summary.in_progress}, open: ${result.summary.open})`);\n if (result.summary.total_items !== undefined) {\n lines.push(`- total_items: ${result.summary.total_items} (closed: ${result.summary.closed ?? 0}, canceled: ${result.summary.canceled ?? 0})`);\n }\n lines.push(`- agenda_events: ${result.summary.agenda_events}`);\n lines.push(`- blocked_fallback_used: ${result.summary.blocked_fallback_used}`);\n const renderedSections = result.sections_included.filter(\n (section) => section !== \"blockers\" || (result.blockers?.length ?? 0) > 0,\n );\n if (renderedSections.length > 0) {\n lines.push(`- sections: ${renderedSections.join(\", \")}`);\n }\n lines.push(\"\");\n\n pushContextFocusSection(lines, \"High-level focus\", result.high_level, \"No high-level active items.\", renderFocus);\n pushContextFocusSection(lines, \"Low-level focus\", result.low_level, \"No low-level active items.\", renderFocus);\n pushBlockedFallbackSection(lines, result, renderFocus);\n pushAgendaSection(lines, result);\n pushHierarchySection(lines, result);\n pushProgressSection(lines, result);\n pushRecentlyCreatedSection(lines, result, focusFields, renderFocus);\n pushUnparentedSection(lines, result, renderFocus);\n pushActivitySection(lines, result);\n pushBlockersSection(lines, result);\n pushFilesSection(lines, result);\n pushWorkloadSection(lines, result);\n pushStalenessSection(lines, result);\n pushTestHealthSection(lines, result);\n pushEmptyContextSuggestions(lines, result);\n\n return lines.join(\"\\n\");\n}\n\n// ---------------------------------------------------------------------------\n// Main runner\n// ---------------------------------------------------------------------------\n\ninterface ContextRuntime {\n settings: PmSettings;\n contextSettings: ContextSettings;\n statusRegistry: RuntimeStatusRegistry;\n depth: ContextDepth;\n limit: number;\n sectionsIncluded: ContextSectionName[];\n activityLimit: number;\n staleThresholdDays: number;\n parentScope: string | undefined;\n focusFields: string[] | undefined;\n baseListOptions: Record<string, unknown>;\n}\n\ninterface ContextCorpus {\n listed: Awaited<ReturnType<typeof runList>>;\n listedFrontMatter: ItemFrontMatter[];\n allItems: ItemFrontMatter[];\n fullCorpus: ItemFrontMatter[];\n subtreeIds: Set<string> | undefined;\n}\n\ninterface ContextFocusGroups {\n activeItems: ItemFrontMatter[];\n blockedItems: ItemFrontMatter[];\n highLevel: ContextFocusItem[];\n lowLevel: ContextFocusItem[];\n blockedFallback: ContextFocusItem[];\n blockedFallbackUsed: boolean;\n}\n\ninterface ContextOptionalSections {\n hierarchy?: HierarchyNode[];\n activity?: CompactActivityEntry[];\n progress?: ProgressEntry[];\n blockersSection?: BlockerEntry[];\n recentlyCreated?: RecentContextItem[];\n unparented?: ContextFocusItem[];\n filesSection?: HotFile[];\n workload?: WorkloadEntry[];\n staleness?: StaleEntry[];\n tests?: TestHealthSummary;\n}\n\nasync function resolveContextRuntime(options: ContextOptions, global: GlobalOptions): Promise<ContextRuntime> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n /* c8 ignore start -- settings persistence currently always materializes context defaults */\n const contextSettings = settings.context ?? SETTINGS_DEFAULTS.context;\n /* c8 ignore stop */\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const depth = parseContextDepth(options.depth, contextSettings);\n return {\n settings,\n contextSettings,\n statusRegistry,\n depth,\n limit: parseContextLimit(options.limit, depth),\n sectionsIncluded: parseContextSections(options.section, depth, contextSettings),\n activityLimit: parseActivityLimit(options.activityLimit, contextSettings),\n staleThresholdDays: parseStaleThresholdDays(options.staleThreshold, contextSettings),\n parentScope: parseContextParent(options.parent),\n focusFields: parseContextFocusFields(options.fields),\n baseListOptions: stripListProjectionFlags(options),\n };\n}\n\nfunction contextNeedsAllItems(sectionsIncluded: ContextSectionName[]): boolean {\n return sectionsIncluded.some((section) =>\n [\"hierarchy\", \"progress\", \"blockers\", \"staleness\", \"recently_created\", \"unparented\"].includes(section),\n );\n}\n\nfunction buildUnpaginatedContextListOptions(baseListOptions: Record<string, unknown>, extra: Partial<ListOptions>): ListOptions {\n return {\n ...baseListOptions,\n ...extra,\n noTruncate: true,\n limit: undefined,\n offset: undefined,\n };\n}\n\nasync function loadContextCorpus(\n options: ContextOptions,\n global: GlobalOptions,\n runtime: ContextRuntime,\n): Promise<ContextCorpus> {\n const needsAllItems = contextNeedsAllItems(runtime.sectionsIncluded);\n const listOptions: ListOptions = runtime.parentScope === undefined\n ? { ...runtime.baseListOptions, excludeTerminal: true }\n : buildUnpaginatedContextListOptions(runtime.baseListOptions, { excludeTerminal: true });\n const listed = await runList(undefined, listOptions, global);\n let listedFrontMatter = listed.items as ItemFrontMatter[];\n let allItems: ItemFrontMatter[] = listedFrontMatter;\n if (needsAllItems || runtime.parentScope !== undefined) {\n const allListed = await runList(\n undefined,\n buildUnpaginatedContextListOptions(runtime.baseListOptions, { excludeTerminal: false }),\n global,\n );\n allItems = allListed.items as ItemFrontMatter[];\n }\n const fullCorpus = allItems;\n const subtreeIds = resolveContextSubtreeIds(runtime.parentScope, fullCorpus);\n if (subtreeIds) {\n listedFrontMatter = listedFrontMatter.filter((item) => subtreeIds.has(item.id.trim().toLowerCase()));\n allItems = allItems.filter((item) => subtreeIds.has(item.id.trim().toLowerCase()));\n }\n return { listed, listedFrontMatter, allItems, fullCorpus, subtreeIds };\n}\n\nfunction resolveContextSubtreeIds(parentScope: string | undefined, fullCorpus: ItemFrontMatter[]): Set<string> | undefined {\n if (parentScope === undefined) {\n return undefined;\n }\n const subtree = collectSubtreeIds(fullCorpus, parentScope);\n if (!subtree.found) {\n throw new PmCliError(`Context --parent item not found: ${parentScope}`, EXIT_CODE.NOT_FOUND);\n }\n return subtree.ids;\n}\n\nfunction resolveContextFocusGroups(\n listedFrontMatter: ItemFrontMatter[],\n allItems: ItemFrontMatter[],\n statusRegistry: RuntimeStatusRegistry,\n sectionsIncluded: ContextSectionName[],\n limit: number,\n): ContextFocusGroups {\n const ranked = [...listedFrontMatter].sort((left, right) => compareCriticalItems(left, right, statusRegistry));\n const activeStatuses = statusRegistry.active_statuses;\n const activeItems = ranked.filter((item) => activeStatuses.has(normalizeStatusForRegistry(item.status, statusRegistry)));\n const blockedItems = ranked.filter((item) =>\n statusRegistry.blocked_statuses.has(normalizeStatusForRegistry(item.status, statusRegistry)),\n );\n const childrenByParent = buildChildrenByParent(allItems);\n const focusChildrenByParent = contextNeedsAllItems(sectionsIncluded) ? childrenByParent : undefined;\n const highLevel = activeItems\n .filter((item) => HIGH_LEVEL_TYPES.has(item.type))\n .slice(0, limit)\n .map((item) => toContextFocusItem(item, statusRegistry, focusChildrenByParent));\n const lowLevel = activeItems\n .filter((item) => !HIGH_LEVEL_TYPES.has(item.type))\n .slice(0, limit)\n .map((item) => toContextFocusItem(item, statusRegistry, focusChildrenByParent));\n const blockedFallbackUsed = activeItems.length === 0;\n return {\n activeItems,\n blockedItems,\n highLevel,\n lowLevel,\n blockedFallback: blockedFallbackUsed\n ? blockedItems.slice(0, limit).map((item) => toContextFocusItem(item, statusRegistry, focusChildrenByParent))\n : [],\n blockedFallbackUsed,\n };\n}\n\nasync function buildContextAgenda(\n options: ContextOptions,\n global: GlobalOptions,\n runtime: ContextRuntime,\n subtreeIds: Set<string> | undefined,\n): Promise<{ agenda: Awaited<ReturnType<typeof runCalendar>>; agendaEvents: CalendarRow[]; agendaSummary: ContextAgendaSummary }> {\n const calendarOptions: CalendarOptions = {\n ...runtime.baseListOptions,\n view: \"agenda\",\n include: \"all\",\n limit: runtime.parentScope === undefined ? String(runtime.limit) : undefined,\n };\n const agenda = await runCalendar(calendarOptions, global);\n const scopedAgenda =\n subtreeIds === undefined\n ? agenda.events\n : agenda.events.filter((event) => subtreeIds.has(event.item_id.trim().toLowerCase()));\n const agendaEvents = filterTerminalCalendarEvents(scopedAgenda, runtime.statusRegistry).slice(0, runtime.limit);\n return { agenda, agendaEvents, agendaSummary: summarizeAgenda(agendaEvents) };\n}\n\nfunction countContextStatus(items: ItemFrontMatter[], status: string | undefined, statusRegistry: RuntimeStatusRegistry): number {\n const targetStatus = String(status);\n return items.filter((item) => normalizeStatusForRegistry(item.status, statusRegistry) === targetStatus).length;\n}\n\nasync function buildOptionalContextSections(params: {\n runtime: ContextRuntime;\n allItems: ItemFrontMatter[];\n fullCorpus: ItemFrontMatter[];\n focusGroups: ContextFocusGroups;\n now: string;\n global: GlobalOptions;\n}): Promise<ContextOptionalSections> {\n const { runtime, allItems, fullCorpus, focusGroups, now, global } = params;\n const childrenByParent = buildChildrenByParent(allItems);\n const itemMap = new Map(fullCorpus.map((item) => [item.id, item]));\n const allNonTerminal = allItems.filter((item) => !isTerminalStatus(item.status, runtime.statusRegistry));\n const has = (section: ContextSectionName) => runtime.sectionsIncluded.includes(section);\n return {\n hierarchy: has(\"hierarchy\") ? buildHierarchy(allItems, focusGroups.activeItems, runtime.statusRegistry, runtime.limit) : undefined,\n activity: has(\"activity\") ? await buildActivity(runtime.activityLimit, global) : undefined,\n progress: has(\"progress\") ? buildProgress(allItems, focusGroups.activeItems, runtime.statusRegistry, runtime.limit) : undefined,\n blockersSection: has(\"blockers\") ? buildBlockers(focusGroups.blockedItems, itemMap, runtime.limit) : undefined,\n recentlyCreated: has(\"recently_created\")\n ? buildRecentlyCreated(allNonTerminal, runtime.statusRegistry, childrenByParent, runtime.limit)\n : undefined,\n unparented: has(\"unparented\") ? buildUnparented(allNonTerminal, runtime.statusRegistry, childrenByParent, runtime.limit) : undefined,\n filesSection: has(\"files\") ? buildHotFiles(focusGroups.activeItems, runtime.limit) : undefined,\n workload: has(\"workload\") ? buildWorkload(focusGroups.activeItems, runtime.statusRegistry, runtime.limit) : undefined,\n staleness: has(\"staleness\") ? buildStaleness(allNonTerminal, runtime.staleThresholdDays, now, runtime.limit) : undefined,\n tests: has(\"tests\") ? buildTestHealth(focusGroups.activeItems) : undefined,\n };\n}\n\nfunction buildContextSummaryExtras(\n needsAllItems: boolean,\n allItems: ItemFrontMatter[],\n statusRegistry: RuntimeStatusRegistry,\n): Pick<ContextSummary, \"total_items\" | \"closed\" | \"canceled\"> {\n if (!needsAllItems) {\n return {};\n }\n const canceledStatus = normalizeStatusInput(\"canceled\", statusRegistry);\n return {\n total_items: allItems.length,\n closed: allItems.filter((item) => isClosedStatus(item.status, statusRegistry)).length,\n canceled: allItems.filter((item) => normalizeStatusForRegistry(item.status, statusRegistry) === canceledStatus).length,\n };\n}\n\nfunction attachOptionalContextSections(result: ContextResult, sections: ContextOptionalSections): void {\n if (sections.hierarchy) result.hierarchy = sections.hierarchy;\n if (sections.activity) result.activity = sections.activity;\n if (sections.progress) result.progress = sections.progress;\n if (sections.blockersSection) result.blockers = sections.blockersSection;\n if (sections.recentlyCreated) result.recently_created = sections.recentlyCreated;\n if (sections.unparented) result.unparented = sections.unparented;\n if (sections.filesSection) result.files = sections.filesSection;\n if (sections.workload) result.workload = sections.workload;\n if (sections.staleness) result.staleness = sections.staleness;\n if (sections.tests) result.tests = sections.tests;\n}\n\nfunction applyContextFocusProjection(result: ContextResult, focusFields: string[] | undefined): void {\n if (!focusFields) {\n return;\n }\n result.focus_fields = focusFields;\n result.high_level = projectContextFocusRows(result.high_level, focusFields);\n result.low_level = projectContextFocusRows(result.low_level, focusFields);\n result.blocked_fallback = projectContextFocusRows(result.blocked_fallback, focusFields);\n if (result.recently_created) {\n result.recently_created = projectContextFocusRows(result.recently_created, focusFields) as RecentContextItem[];\n }\n if (result.unparented) {\n result.unparented = projectContextFocusRows(result.unparented, focusFields);\n }\n}\n\nfunction maybeAttachEmptyContextSuggestions(result: ContextResult, activeItems: ItemFrontMatter[], blockedItems: ItemFrontMatter[]): void {\n if (activeItems.length > 0 || blockedItems.length > 0 || result.agenda.events.length > 0) {\n return;\n }\n result.suggestions = [\n 'pm create --type Task --title \"...\" to add a new work item',\n \"pm list --status closed --limit 5 to review recent completions\",\n \"pm search <keywords> to find related past work\",\n \"pm aggregate for a full project status overview\",\n ];\n}\n\n/**\n * Implements run context for the public runtime surface of this module.\n */\nexport async function runContext(options: ContextOptions, global: GlobalOptions): Promise<ContextResult> {\n const runtime = await resolveContextRuntime(options, global);\n const corpus = await loadContextCorpus(options, global, runtime);\n const focusGroups = resolveContextFocusGroups(\n corpus.listedFrontMatter,\n corpus.allItems,\n runtime.statusRegistry,\n runtime.sectionsIncluded,\n runtime.limit,\n );\n const agendaContext = await buildContextAgenda(options, global, runtime, corpus.subtreeIds);\n const warnings = mergeSortedWarnings(corpus.listed.warnings, agendaContext.agenda.warnings);\n const inProgressCount = countContextStatus(\n focusGroups.activeItems,\n normalizeStatusInput(\"in_progress\", runtime.statusRegistry),\n runtime.statusRegistry,\n );\n const openCount = countContextStatus(\n focusGroups.activeItems,\n normalizeStatusInput(\"open\", runtime.statusRegistry),\n runtime.statusRegistry,\n );\n const sections = await buildOptionalContextSections({\n runtime,\n allItems: corpus.allItems,\n fullCorpus: corpus.fullCorpus,\n focusGroups,\n now: agendaContext.agenda.now,\n global,\n });\n const summaryExtras = buildContextSummaryExtras(\n contextNeedsAllItems(runtime.sectionsIncluded),\n corpus.allItems,\n runtime.statusRegistry,\n );\n\n const result: ContextResult = {\n output_default: \"toon\",\n now: agendaContext.agenda.now,\n depth: runtime.depth,\n sections_included: runtime.sectionsIncluded,\n window: {\n anchor: agendaContext.agenda.anchor,\n start: agendaContext.agenda.range.start,\n end: agendaContext.agenda.range.end,\n past: agendaContext.agenda.range.past,\n from: agendaContext.agenda.range.from,\n to: agendaContext.agenda.range.to,\n },\n filters: {\n type: options.type ?? null,\n tag: options.tag ?? null,\n priority: options.priority ?? null,\n assignee: options.assignee ?? null,\n assignee_filter: options.assigneeFilter ?? null,\n sprint: options.sprint ?? null,\n release: options.release ?? null,\n limit: options.limit ?? null,\n parent: runtime.parentScope ?? null,\n /* c8 ignore next -- listed/calendar runtime filters are always materialized by their command handlers */\n runtime_filters: (corpus.listed.filters.runtime_filters ?? agendaContext.agenda.filters.runtime_filters ?? {}) as Record<string, unknown>,\n },\n summary: {\n active_items: focusGroups.activeItems.length,\n in_progress: inProgressCount,\n open: openCount,\n blocked: focusGroups.blockedItems.length,\n blocked_fallback_used: focusGroups.blockedFallbackUsed,\n high_level: focusGroups.highLevel.length,\n low_level: focusGroups.lowLevel.length,\n agenda_events: agendaContext.agendaSummary.events,\n ...summaryExtras,\n },\n high_level: focusGroups.highLevel,\n low_level: focusGroups.lowLevel,\n blocked_fallback: focusGroups.blockedFallback,\n agenda: {\n summary: agendaContext.agendaSummary,\n events: agendaContext.agendaEvents,\n },\n };\n\n attachOptionalContextSections(result, sections);\n applyContextFocusProjection(result, runtime.focusFields);\n if (warnings.length > 0) result.warnings = warnings;\n maybeAttachEmptyContextSuggestions(result, focusGroups.activeItems, focusGroups.blockedItems);\n\n return result;\n}\n"],"names":[],"mappings":"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","debugId":"034228c0-2ef9-5500-a0de-723ef2544e22"}
@@ -1,263 +0,0 @@
1
- import {
2
- BUILTIN_ITEM_TYPE_VALUES,
3
- toDefaultFolder
4
- } from "./chunk-5VVUKE3U.js";
5
-
6
- // dist/core/schema/item-types-file.js
7
- !(function() {
8
- try {
9
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
10
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "602e57ae-7f46-5ac5-9da2-e0b740201deb");
11
- } catch (e2) {
12
- }
13
- })();
14
- var BUILTIN_NAME_LOOKUP = new Map(BUILTIN_ITEM_TYPE_VALUES.map((name) => [name.toLowerCase(), name]));
15
- var TYPE_NAME_TOKEN_PATTERN = /^[A-Za-z][A-Za-z0-9_-]*$/;
16
- function assertValidTypeToken(value, label) {
17
- if (!TYPE_NAME_TOKEN_PATTERN.test(value)) {
18
- throw new Error(`${label} "${value}" is not a valid identifier. Use a single letter-led token of letters, digits, hyphen, or underscore with no spaces or punctuation (e.g. "Spike" or "code-review").`);
19
- }
20
- }
21
- function matchBuiltinTypeName(name) {
22
- return BUILTIN_NAME_LOOKUP.get(name.trim().toLowerCase());
23
- }
24
- function coerceAliasArray(value) {
25
- return Array.isArray(value) ? value.filter((entry) => typeof entry === "string") : [];
26
- }
27
- function escapeForDoubleQuotes(value) {
28
- return value.replace(/[\\"`$]/g, (char) => `\\${char}`);
29
- }
30
- function dedupeAliases(values) {
31
- const seen = /* @__PURE__ */ new Map();
32
- for (const value of values) {
33
- const trimmed = value.trim();
34
- if (trimmed.length === 0) {
35
- continue;
36
- }
37
- const key = trimmed.toLowerCase();
38
- if (!seen.has(key)) {
39
- seen.set(key, trimmed);
40
- }
41
- }
42
- return [...seen.values()].sort((left, right) => left.localeCompare(right));
43
- }
44
- function normalizeAddTypeInput(raw) {
45
- const name = (raw.name ?? "").trim();
46
- if (name.length === 0) {
47
- throw new Error("Type name must not be empty.");
48
- }
49
- assertValidTypeToken(name, "Type name");
50
- const builtinMatch = matchBuiltinTypeName(name);
51
- if (builtinMatch) {
52
- throw new Error(`Cannot redefine built-in item type "${builtinMatch}". Built-in types are reserved: ${BUILTIN_ITEM_TYPE_VALUES.join(", ")}.`);
53
- }
54
- const description = raw.description?.trim();
55
- const defaultStatus = raw.defaultStatus?.trim();
56
- const folder = raw.folder?.trim();
57
- const aliases = dedupeAliases(raw.aliases ?? []);
58
- for (const alias of aliases) {
59
- assertValidTypeToken(alias, "Alias");
60
- const aliasBuiltin = matchBuiltinTypeName(alias);
61
- if (aliasBuiltin) {
62
- throw new Error(`Alias "${alias}" collides with built-in item type "${aliasBuiltin}". Built-in types are reserved: ${BUILTIN_ITEM_TYPE_VALUES.join(", ")}.`);
63
- }
64
- }
65
- return {
66
- name,
67
- description: description && description.length > 0 ? description : void 0,
68
- defaultStatus: defaultStatus && defaultStatus.length > 0 ? defaultStatus : void 0,
69
- folder: folder && folder.length > 0 ? folder : void 0,
70
- aliases
71
- };
72
- }
73
- function assertAliasesAvailable(input, existing) {
74
- const selfLower = input.name.toLowerCase();
75
- const taken = /* @__PURE__ */ new Map();
76
- for (const definition of existing.definitions) {
77
- if (typeof definition.name !== "string") {
78
- continue;
79
- }
80
- const definitionName = definition.name.trim();
81
- if (definitionName.length === 0 || definitionName.toLowerCase() === selfLower) {
82
- continue;
83
- }
84
- taken.set(definitionName.toLowerCase(), definitionName);
85
- for (const alias of coerceAliasArray(definition.aliases)) {
86
- if (alias.trim().length > 0) {
87
- taken.set(alias.trim().toLowerCase(), definitionName);
88
- }
89
- }
90
- }
91
- const nameOwner = taken.get(selfLower);
92
- if (nameOwner) {
93
- throw new Error(`Type name "${input.name}" collides with an alias of existing item type "${nameOwner}".`);
94
- }
95
- for (const alias of input.aliases) {
96
- const owner = taken.get(alias.toLowerCase());
97
- if (owner) {
98
- throw new Error(`Alias "${alias}" already maps to existing item type "${owner}".`);
99
- }
100
- }
101
- }
102
- function resolveDefinitionFolder(name, folder) {
103
- if (typeof folder === "string" && folder.trim().length > 0) {
104
- return folder.trim().toLowerCase();
105
- }
106
- return toDefaultFolder(name).toLowerCase();
107
- }
108
- function assertTypeFolderAvailable(input, existing, reservedFolders) {
109
- const selfLower = input.name.toLowerCase();
110
- const inputFolder = resolveDefinitionFolder(input.name, input.folder);
111
- const fail = (ownerName) => {
112
- throw new Error(`Item type "${input.name}" would store items in folder "${inputFolder}", which already belongs to existing item type "${ownerName}". Pass a distinct --folder to keep their storage separate.`);
113
- };
114
- for (const definition of existing.definitions) {
115
- if (typeof definition.name !== "string") {
116
- continue;
117
- }
118
- const definitionName = definition.name.trim();
119
- if (definitionName.length === 0 || definitionName.toLowerCase() === selfLower) {
120
- continue;
121
- }
122
- if (resolveDefinitionFolder(definitionName, definition.folder) === inputFolder) {
123
- fail(definitionName);
124
- }
125
- }
126
- const reservedOwner = reservedFolders?.get(inputFolder);
127
- if (reservedOwner !== void 0 && reservedOwner.toLowerCase() !== selfLower) {
128
- fail(reservedOwner);
129
- }
130
- }
131
- function parseItemTypesFile(raw) {
132
- if (raw === null || raw === void 0 || raw.trim().length === 0) {
133
- return { definitions: [] };
134
- }
135
- let parsed;
136
- try {
137
- parsed = JSON.parse(raw);
138
- } catch {
139
- throw new Error("schema/types.json contains invalid JSON.");
140
- }
141
- return { definitions: extractDefinitions(parsed) };
142
- }
143
- function extractDefinitions(parsed) {
144
- const candidate = selectDefinitionsArray(parsed);
145
- if (!candidate) {
146
- return [];
147
- }
148
- const definitions = [];
149
- for (const entry of candidate) {
150
- if (typeof entry !== "object" || entry === null || Array.isArray(entry)) {
151
- continue;
152
- }
153
- const record = entry;
154
- if (typeof record.name !== "string" || record.name.trim().length === 0) {
155
- continue;
156
- }
157
- definitions.push(record);
158
- }
159
- return definitions;
160
- }
161
- function selectDefinitionsArray(parsed) {
162
- if (Array.isArray(parsed)) {
163
- return parsed;
164
- }
165
- if (typeof parsed !== "object" || parsed === null) {
166
- return void 0;
167
- }
168
- const record = parsed;
169
- if (Array.isArray(record.definitions)) {
170
- return record.definitions;
171
- }
172
- if (typeof record.item_types === "object" && record.item_types !== null) {
173
- const nested = record.item_types;
174
- if (Array.isArray(nested.definitions)) {
175
- return nested.definitions;
176
- }
177
- }
178
- return void 0;
179
- }
180
- function upsertItemType(file, input) {
181
- const lowerName = input.name.toLowerCase();
182
- const definitions = file.definitions.slice();
183
- const existingIndex = definitions.findIndex((definition) => typeof definition.name === "string" && definition.name.trim().toLowerCase() === lowerName);
184
- const existing = existingIndex >= 0 ? definitions[existingIndex] : void 0;
185
- const mergedAliases = dedupeAliases([...coerceAliasArray(existing?.aliases), ...input.aliases]);
186
- const next = {
187
- ...existing,
188
- name: input.name
189
- };
190
- if (input.folder !== void 0) {
191
- next.folder = input.folder;
192
- }
193
- if (mergedAliases.length > 0) {
194
- next.aliases = mergedAliases;
195
- } else if (next.aliases !== void 0) {
196
- delete next.aliases;
197
- }
198
- applyAttribute(next, "description", input.description);
199
- applyAttribute(next, "default_status", input.defaultStatus);
200
- if (existingIndex >= 0) {
201
- definitions[existingIndex] = next;
202
- } else {
203
- definitions.push(next);
204
- }
205
- definitions.sort((left, right) => left.name.localeCompare(right.name));
206
- return {
207
- file: { definitions },
208
- definition: next,
209
- replaced: existingIndex >= 0,
210
- ...existing && typeof existing.name === "string" ? { previousName: existing.name } : {}
211
- };
212
- }
213
- function removeItemType(file, name) {
214
- const trimmed = (name ?? "").trim();
215
- if (trimmed.length === 0) {
216
- throw new Error("Type name must not be empty.");
217
- }
218
- const builtinMatch = matchBuiltinTypeName(trimmed);
219
- if (builtinMatch) {
220
- throw new Error(`Cannot remove built-in item type "${builtinMatch}". Built-in types are reserved: ${BUILTIN_ITEM_TYPE_VALUES.join(", ")}.`);
221
- }
222
- const lowerName = trimmed.toLowerCase();
223
- const definitions = file.definitions.slice();
224
- const existingIndex = definitions.findIndex((definition2) => typeof definition2.name === "string" && definition2.name.trim().toLowerCase() === lowerName);
225
- if (existingIndex < 0) {
226
- return { file: { definitions }, removed: false };
227
- }
228
- const [definition] = definitions.splice(existingIndex, 1);
229
- return { file: { definitions }, removed: true, definition };
230
- }
231
- function applyAttribute(definition, key, value) {
232
- const record = definition;
233
- if (value !== void 0) {
234
- record[key] = value;
235
- }
236
- }
237
- function serializeItemTypesFile(file) {
238
- return `${JSON.stringify({ definitions: file.definitions }, null, 2)}
239
- `;
240
- }
241
- function buildInvalidTypeHint(name, typesFilePath) {
242
- const safeName = name.trim().length > 0 ? name.trim() : name;
243
- const target = typesFilePath?.trim() || ".agents/pm/schema/types.json";
244
- return `To register a custom type, run: pm schema add-type "${escapeForDoubleQuotes(safeName)}" (writes ${target}).`;
245
- }
246
- function buildInvalidTypeError(name, allowedTypes, typesFilePath) {
247
- return `Invalid type value "${name}". Allowed: ${allowedTypes.join(", ")}. ${buildInvalidTypeHint(name, typesFilePath)}`;
248
- }
249
-
250
- export {
251
- matchBuiltinTypeName,
252
- escapeForDoubleQuotes,
253
- normalizeAddTypeInput,
254
- assertAliasesAvailable,
255
- assertTypeFolderAvailable,
256
- parseItemTypesFile,
257
- upsertItemType,
258
- removeItemType,
259
- serializeItemTypesFile,
260
- buildInvalidTypeHint,
261
- buildInvalidTypeError
262
- };
263
- //# sourceMappingURL=chunk-T35XLYZF.js.map