@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,1570 +0,0 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4b8306b7-d6d7-5615-af29-66de3136cea2")}catch(e){}}();
3
- import {
4
- compareTimestampStrings,
5
- isTimestampLiteral
6
- } from "./chunk-FJRKQREY.js";
7
- import {
8
- PmCliError,
9
- orderObject
10
- } from "./chunk-US3T3W5J.js";
11
- import {
12
- CONFIDENCE_TEXT_VALUES,
13
- EXIT_CODE,
14
- FRONT_MATTER_KEY_ORDER,
15
- ISSUE_SEVERITY_VALUES,
16
- PLAN_STEP_STATUS_VALUES,
17
- RECURRENCE_FREQUENCY_VALUES,
18
- RECURRENCE_WEEKDAY_VALUES,
19
- STATUS_VALUES,
20
- TYPE_TO_FOLDER,
21
- normalizeStatusInputWithRegistry,
22
- pathExists,
23
- resolveRuntimeFieldRegistry,
24
- resolveRuntimeStatusRegistry,
25
- runtimeFieldOptionTarget,
26
- weekdayOrderIndex
27
- } from "./chunk-YD5FML7K.js";
28
-
29
- // dist/core/schema/runtime-field-values.js
30
- function toCamelToken(value) {
31
- const segments = value.trim().replaceAll(/[^A-Za-z0-9]+/g, " ").split(/\s+/).filter((segment) => segment.length > 0).map((segment) => segment.toLowerCase());
32
- if (segments.length === 0) {
33
- return value;
34
- }
35
- const [first, ...rest] = segments;
36
- return `${first}${rest.map((segment) => `${segment.slice(0, 1).toUpperCase()}${segment.slice(1)}`).join("")}`;
37
- }
38
- function resolveCandidateOptionKeys(definition) {
39
- return [.../* @__PURE__ */ new Set([
40
- runtimeFieldOptionTarget(definition),
41
- toCamelToken(definition.key),
42
- toCamelToken(definition.cli_flag),
43
- ...definition.cli_aliases.map((alias) => toCamelToken(alias))
44
- ])];
45
- }
46
- function readRuntimeFieldOptionValue(options, definition) {
47
- for (const candidateKey of resolveCandidateOptionKeys(definition)) {
48
- if (!Object.hasOwn(options, candidateKey)) {
49
- continue;
50
- }
51
- const value = options[candidateKey];
52
- if (value !== void 0) {
53
- return value;
54
- }
55
- }
56
- return void 0;
57
- }
58
- function normalizeStringArrayValue(value) {
59
- if (Array.isArray(value)) {
60
- return value.flatMap((entry) => normalizeStringArrayValue(entry)).map((entry) => entry.trim()).filter((entry) => entry.length > 0);
61
- }
62
- if (typeof value === "string") {
63
- return value.split(/[,\n|]/).map((entry) => entry.trim()).filter((entry) => entry.length > 0);
64
- }
65
- if (value === void 0 || value === null) {
66
- return [];
67
- }
68
- return [String(value).trim()].filter((entry) => entry.length > 0);
69
- }
70
- function parseBooleanValue(raw, label) {
71
- if (typeof raw === "boolean") {
72
- return raw;
73
- }
74
- if (typeof raw === "number") {
75
- if (raw === 1) {
76
- return true;
77
- }
78
- if (raw === 0) {
79
- return false;
80
- }
81
- }
82
- if (typeof raw === "string") {
83
- const normalized = raw.trim().toLowerCase();
84
- if (normalized === "true" || normalized === "1" || normalized === "yes") {
85
- return true;
86
- }
87
- if (normalized === "false" || normalized === "0" || normalized === "no") {
88
- return false;
89
- }
90
- }
91
- throw new PmCliError(`${label} must be one of true|false|1|0|yes|no`, EXIT_CODE.USAGE);
92
- }
93
- function parseNumberValue(raw, label) {
94
- if (typeof raw === "number" && Number.isFinite(raw)) {
95
- return raw;
96
- }
97
- const candidate = typeof raw === "string" ? raw.trim() : String(raw);
98
- const parsed = Number(candidate);
99
- if (!Number.isFinite(parsed)) {
100
- throw new PmCliError(`${label} must be a number`, EXIT_CODE.USAGE);
101
- }
102
- return parsed;
103
- }
104
- function coerceRuntimeFieldValue(definition, rawValue, labelOverride) {
105
- const label = labelOverride ?? `--${definition.cli_flag}`;
106
- if (definition.repeatable || definition.type === "string_array") {
107
- const values = normalizeStringArrayValue(rawValue);
108
- if (definition.type === "number") {
109
- return values.map((value) => parseNumberValue(value, label));
110
- }
111
- if (definition.type === "boolean") {
112
- return values.map((value) => parseBooleanValue(value, label));
113
- }
114
- return values;
115
- }
116
- const scalarRaw = Array.isArray(rawValue) ? rawValue[rawValue.length - 1] : rawValue;
117
- if (scalarRaw === void 0) {
118
- return void 0;
119
- }
120
- if (definition.type === "number") {
121
- return parseNumberValue(scalarRaw, label);
122
- }
123
- if (definition.type === "boolean") {
124
- return parseBooleanValue(scalarRaw, label);
125
- }
126
- return typeof scalarRaw === "string" ? scalarRaw : String(scalarRaw);
127
- }
128
- function shouldRequireFieldOnCreate(definition, itemTypeName) {
129
- if (!definition.required && !definition.required_on_create) {
130
- return false;
131
- }
132
- if (definition.required_types.length === 0) {
133
- return true;
134
- }
135
- if (!itemTypeName) {
136
- return false;
137
- }
138
- return definition.required_types.map((value) => value.toLowerCase()).includes(itemTypeName.trim().toLowerCase());
139
- }
140
- function collectRuntimeCreateFieldValues(options, fieldRegistry, itemTypeName) {
141
- const values = {};
142
- const missingRequiredFlags = [];
143
- for (const definition of fieldRegistry.command_to_fields.get("create") ?? []) {
144
- const rawValue = readRuntimeFieldOptionValue(options, definition);
145
- if (rawValue === void 0) {
146
- if (shouldRequireFieldOnCreate(definition, itemTypeName)) {
147
- missingRequiredFlags.push(`--${definition.cli_flag}`);
148
- }
149
- continue;
150
- }
151
- values[definition.metadata_key] = coerceRuntimeFieldValue(definition, rawValue);
152
- }
153
- return {
154
- values,
155
- missing_required_flags: [...new Set(missingRequiredFlags)].sort((left, right) => left.localeCompare(right))
156
- };
157
- }
158
- function collectRuntimeUpdateFieldValues(options, fieldRegistry, commands = ["update"]) {
159
- const values = {};
160
- const definitions = (commands ?? ["update"]).flatMap((command) => fieldRegistry.command_to_fields.get(command) ?? []);
161
- const seen = /* @__PURE__ */ new Set();
162
- for (const definition of definitions) {
163
- const rawValue = readRuntimeFieldOptionValue(options, definition);
164
- if (rawValue === void 0) {
165
- continue;
166
- }
167
- if (seen.has(definition.metadata_key)) {
168
- continue;
169
- }
170
- seen.add(definition.metadata_key);
171
- values[definition.metadata_key] = coerceRuntimeFieldValue(definition, rawValue);
172
- }
173
- return values;
174
- }
175
-
176
- // dist/core/item/item-format-version.js
177
- var BASELINE_ITEM_FORMAT_VERSION = 1;
178
- var CURRENT_ITEM_FORMAT_VERSION = 1;
179
- function effectiveItemFormatVersion(metadata) {
180
- const raw = metadata.pm_format_version;
181
- if (typeof raw === "number" && Number.isInteger(raw) && raw >= BASELINE_ITEM_FORMAT_VERSION) {
182
- return raw;
183
- }
184
- return BASELINE_ITEM_FORMAT_VERSION;
185
- }
186
- function normalizeItemFormatVersion(value) {
187
- if (typeof value !== "number" || !Number.isInteger(value) || value <= BASELINE_ITEM_FORMAT_VERSION) {
188
- return void 0;
189
- }
190
- return value;
191
- }
192
- function classifyItemFormatVersion(version, current = CURRENT_ITEM_FORMAT_VERSION) {
193
- if (version < current) {
194
- return "outdated";
195
- }
196
- if (version > current) {
197
- return "ahead";
198
- }
199
- return "current";
200
- }
201
- function scanItemFormatVersions(entries, current = CURRENT_ITEM_FORMAT_VERSION) {
202
- const outdated = [];
203
- const ahead = [];
204
- for (const entry of entries) {
205
- const status = classifyItemFormatVersion(entry.version, current);
206
- if (status === "outdated") {
207
- outdated.push(entry.ref);
208
- } else if (status === "ahead") {
209
- ahead.push(entry.ref);
210
- }
211
- }
212
- return {
213
- outdated: outdated.sort((left, right) => left.localeCompare(right)),
214
- ahead: ahead.sort((left, right) => left.localeCompare(right))
215
- };
216
- }
217
-
218
- // dist/core/item/status.js
219
- var STATUS_ALIAS_MAP = {
220
- "in-progress": "in_progress",
221
- cancelled: "canceled"
222
- };
223
- function normalizeStatusInput(value, registry) {
224
- if (registry) {
225
- const normalizedFromRegistry = normalizeStatusInputWithRegistry(value, registry);
226
- if (normalizedFromRegistry) {
227
- return normalizedFromRegistry;
228
- }
229
- }
230
- if (typeof value !== "string") {
231
- return void 0;
232
- }
233
- const normalized = value.trim().toLowerCase();
234
- if (!normalized) {
235
- return void 0;
236
- }
237
- const canonical = STATUS_ALIAS_MAP[normalized] ?? normalized;
238
- if (!STATUS_VALUES.includes(canonical)) {
239
- return void 0;
240
- }
241
- return canonical;
242
- }
243
- function normalizeStatusForRegistry(status, registry) {
244
- return normalizeStatusInput(status, registry) ?? status;
245
- }
246
- function isTerminalStatus(status, registry) {
247
- return registry.terminal_statuses.has(normalizeStatusForRegistry(status, registry));
248
- }
249
-
250
- // dist/core/shared/conflict-markers.js
251
- var CONFLICT_MARKER_PATTERN = /^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;
252
- function findMergeConflictMarkers(content) {
253
- if (content.length === 0) {
254
- return [];
255
- }
256
- const lines = content.split(/\r?\n/);
257
- const matches = [];
258
- for (let index = 0; index < lines.length; index += 1) {
259
- const line = lines[index] ?? "";
260
- const markerMatch = line.match(CONFLICT_MARKER_PATTERN);
261
- if (!markerMatch) {
262
- continue;
263
- }
264
- const marker = markerMatch[1];
265
- matches.push({
266
- line: index + 1,
267
- marker,
268
- text: line
269
- });
270
- }
271
- return matches;
272
- }
273
- function findFirstMergeConflictMarker(content) {
274
- const matches = findMergeConflictMarkers(content);
275
- return matches[0];
276
- }
277
-
278
- // dist/core/item/item-format.js
279
- import { encode as encodeToon } from "@toon-format/toon";
280
-
281
- // dist/core/item/toon-decode.js
282
- import { decode as decodeToon } from "@toon-format/toon";
283
- function escapeBracketsInQuotedScalars(content) {
284
- return content.split("\n").map((line) => {
285
- const separatorIndex = line.indexOf(": ");
286
- const bracketIndex = line.indexOf("[");
287
- if (separatorIndex === -1 || bracketIndex === -1 || bracketIndex < separatorIndex) {
288
- return line;
289
- }
290
- const key = line.slice(0, separatorIndex + 2);
291
- const value = line.slice(separatorIndex + 2);
292
- if (!value.startsWith('"')) {
293
- return line;
294
- }
295
- return key + value.replaceAll("[", "\\u005b");
296
- }).join("\n");
297
- }
298
- function decodeToonItemContent(content) {
299
- try {
300
- return { value: decodeToon(content), usedScalarBracketEscape: false };
301
- } catch (strictError) {
302
- const escaped = escapeBracketsInQuotedScalars(content);
303
- if (escaped === content) {
304
- throw strictError;
305
- }
306
- return { value: decodeToon(escaped), usedScalarBracketEscape: true };
307
- }
308
- }
309
-
310
- // dist/core/item/item-format.js
311
- var LINKED_TEST_PM_CONTEXT_MODE_VALUES = /* @__PURE__ */ new Set(["schema", "tracker", "auto"]);
312
- var ITEM_TEST_RUN_STATUS_VALUES = /* @__PURE__ */ new Set(["passed", "failed", "stopped", "canceled"]);
313
- var PLAN_STEP_STATUS_SET = new Set(PLAN_STEP_STATUS_VALUES);
314
- function normalizePathValue(value) {
315
- return value.replaceAll("\\", "/");
316
- }
317
- function firstNonZeroComparison(comparisons) {
318
- for (const comparison of comparisons) {
319
- if (comparison !== 0) {
320
- return comparison;
321
- }
322
- }
323
- return 0;
324
- }
325
- function deleteUndefinedFields(record) {
326
- for (const [key, value] of Object.entries(record)) {
327
- if (value === void 0) {
328
- delete record[key];
329
- }
330
- }
331
- }
332
- var REQUIRED_STRING_FIELDS = [
333
- "id",
334
- "title",
335
- "description",
336
- "created_at",
337
- "updated_at"
338
- ];
339
- var STATIC_FRONT_MATTER_FIELD_SET = new Set(FRONT_MATTER_KEY_ORDER);
340
- function resolveRuntimeSchemaValidationContext(options) {
341
- if (!options?.schema) {
342
- return void 0;
343
- }
344
- return {
345
- statusRegistry: resolveRuntimeStatusRegistry(options.schema),
346
- fieldRegistry: resolveRuntimeFieldRegistry(options.schema),
347
- unknownFieldPolicy: options.schema.unknown_field_policy ?? "allow",
348
- extensionFieldNames: new Set(options.extensionFieldNames ?? []),
349
- onWarning: options.onWarning
350
- };
351
- }
352
- function runtimeFieldRequiredForType(definition, typeName) {
353
- if (!definition.required) {
354
- return false;
355
- }
356
- if (definition.required_types.length === 0) {
357
- return true;
358
- }
359
- return definition.required_types.map((value) => value.toLowerCase()).includes(typeName.trim().toLowerCase());
360
- }
361
- function validationError(message) {
362
- throw new PmCliError(`Invalid item front matter: ${message}`, EXIT_CODE.GENERIC_FAILURE);
363
- }
364
- function buildKnownFrontMatterKeys(runtimeContext) {
365
- const knownKeys = new Set(STATIC_FRONT_MATTER_FIELD_SET);
366
- for (const definition of runtimeContext.fieldRegistry?.definitions ?? []) {
367
- knownKeys.add(definition.metadata_key);
368
- }
369
- for (const fieldName of runtimeContext.extensionFieldNames) {
370
- knownKeys.add(fieldName);
371
- }
372
- return knownKeys;
373
- }
374
- function assertFrontMatterCondition(condition, message) {
375
- if (!condition) {
376
- validationError(message);
377
- }
378
- }
379
- function assertTimestampField(record, fieldName) {
380
- const rawValue = record[fieldName];
381
- assertFrontMatterCondition(typeof rawValue === "string", `${fieldName} must be a string`);
382
- const timestamp = rawValue;
383
- assertFrontMatterCondition(isTimestampLiteral(timestamp), `${fieldName} must be a valid ISO timestamp`);
384
- }
385
- function assertPositiveIntegerField(record, fieldName, messagePrefix) {
386
- const value = record[fieldName];
387
- if (value === void 0) {
388
- return;
389
- }
390
- assertFrontMatterCondition(typeof value === "number" && Number.isInteger(value) && value >= 1, `${messagePrefix} must be an integer >= 1`);
391
- }
392
- function assertOptionalTimestampString(record, fieldName, messagePrefix) {
393
- const value = record[fieldName];
394
- if (value === void 0) {
395
- return;
396
- }
397
- assertFrontMatterCondition(typeof value === "string", `${messagePrefix} must be a string`);
398
- assertFrontMatterCondition(isTimestampLiteral(value), `${messagePrefix} must be a valid ISO timestamp`);
399
- }
400
- function assertRecurrenceWeekdays(value) {
401
- if (value === void 0) {
402
- return;
403
- }
404
- assertFrontMatterCondition(Array.isArray(value), "event.recurrence.by_weekday must be an array");
405
- for (const weekday of value) {
406
- assertFrontMatterCondition(typeof weekday === "string", "event.recurrence.by_weekday entries must be strings");
407
- const normalizedWeekday = weekday.trim().toLowerCase();
408
- assertFrontMatterCondition(RECURRENCE_WEEKDAY_VALUES.includes(normalizedWeekday), `event.recurrence.by_weekday entries must be one of: ${RECURRENCE_WEEKDAY_VALUES.join(", ")}`);
409
- }
410
- }
411
- function assertRecurrenceMonthDays(value) {
412
- if (value === void 0) {
413
- return;
414
- }
415
- assertFrontMatterCondition(Array.isArray(value), "event.recurrence.by_month_day must be an array");
416
- for (const day of value) {
417
- assertFrontMatterCondition(typeof day === "number" && Number.isInteger(day) && day >= 1 && day <= 31, "event.recurrence.by_month_day entries must be integers 1..31");
418
- }
419
- }
420
- function assertRecurrenceExdates(value) {
421
- if (value === void 0) {
422
- return;
423
- }
424
- assertFrontMatterCondition(Array.isArray(value), "event.recurrence.exdates must be an array");
425
- for (const exdate of value) {
426
- assertFrontMatterCondition(typeof exdate === "string", "event.recurrence.exdates entries must be strings");
427
- assertFrontMatterCondition(isTimestampLiteral(exdate), "event.recurrence.exdates entries must be valid ISO timestamps");
428
- }
429
- }
430
- function assertValidRecurrenceRule(recurrence) {
431
- assertFrontMatterCondition(typeof recurrence === "object" && recurrence !== null && !Array.isArray(recurrence), "event.recurrence must be an object");
432
- const recurrenceRecord = recurrence;
433
- assertFrontMatterCondition(typeof recurrenceRecord.freq === "string", "event.recurrence.freq must be a string");
434
- const frequency = recurrenceRecord.freq.trim().toLowerCase();
435
- assertFrontMatterCondition(RECURRENCE_FREQUENCY_VALUES.includes(frequency), `event.recurrence.freq must be one of: ${RECURRENCE_FREQUENCY_VALUES.join(", ")}`);
436
- assertPositiveIntegerField(recurrenceRecord, "interval", "event.recurrence.interval");
437
- assertPositiveIntegerField(recurrenceRecord, "count", "event.recurrence.count");
438
- assertOptionalTimestampString(recurrenceRecord, "until", "event.recurrence.until");
439
- assertRecurrenceWeekdays(recurrenceRecord.by_weekday);
440
- assertRecurrenceMonthDays(recurrenceRecord.by_month_day);
441
- assertRecurrenceExdates(recurrenceRecord.exdates);
442
- }
443
- function assertRequiredFrontMatterFields(record) {
444
- for (const fieldName of REQUIRED_STRING_FIELDS) {
445
- assertFrontMatterCondition(typeof record[fieldName] === "string", `${fieldName} is required and must be a string`);
446
- }
447
- const itemType = record.type;
448
- assertFrontMatterCondition(typeof itemType === "string" && itemType.trim().length > 0, "type must be a non-empty string");
449
- const formatVersion = record.pm_format_version;
450
- if (formatVersion !== void 0) {
451
- assertFrontMatterCondition(typeof formatVersion === "number" && Number.isInteger(formatVersion) && formatVersion >= BASELINE_ITEM_FORMAT_VERSION, `pm_format_version must be an integer >= ${BASELINE_ITEM_FORMAT_VERSION}`);
452
- }
453
- return itemType;
454
- }
455
- function assertStatusFrontMatterField(record, runtimeContext) {
456
- const status = record.status;
457
- assertFrontMatterCondition(typeof status === "string" && status.trim().length > 0, "status must be a non-empty string");
458
- const statusRegistry = runtimeContext?.statusRegistry;
459
- const normalizedStatus = normalizeStatusInput(status, statusRegistry);
460
- const statusDomain = statusRegistry ? statusRegistry.definitions.map((definition) => definition.id) : [...STATUS_VALUES];
461
- assertFrontMatterCondition(normalizedStatus !== void 0, `status must be one of: ${statusDomain.join(", ")}`);
462
- }
463
- function assertPriorityAndTags(record) {
464
- const priority = record.priority;
465
- assertFrontMatterCondition(typeof priority === "number" && Number.isInteger(priority) && [0, 1, 2, 3, 4].includes(priority), "priority must be an integer 0..4");
466
- const tags = record.tags;
467
- assertFrontMatterCondition(Array.isArray(tags), "tags must be an array");
468
- for (const tag of tags) {
469
- assertFrontMatterCondition(typeof tag === "string", "tags entries must be strings");
470
- }
471
- }
472
- function assertConfidenceFrontMatterField(record) {
473
- const confidence = record.confidence;
474
- if (confidence === void 0) {
475
- return;
476
- }
477
- if (typeof confidence === "number") {
478
- assertFrontMatterCondition(Number.isInteger(confidence) && confidence >= 0 && confidence <= 100, "confidence number value must be an integer 0..100");
479
- return;
480
- }
481
- if (typeof confidence === "string") {
482
- const normalizedConfidence = confidence.trim().toLowerCase();
483
- const isKnownTextConfidence = normalizedConfidence === "med" || CONFIDENCE_TEXT_VALUES.includes(normalizedConfidence);
484
- assertFrontMatterCondition(isKnownTextConfidence, `confidence string value must be one of: ${[...CONFIDENCE_TEXT_VALUES, "med"].join(", ")}`);
485
- return;
486
- }
487
- assertFrontMatterCondition(false, "confidence must be a number or string");
488
- }
489
- function assertSeverityFrontMatterField(record) {
490
- const severity = record.severity;
491
- if (severity === void 0) {
492
- return;
493
- }
494
- if (typeof severity !== "string") {
495
- validationError("severity must be a string");
496
- }
497
- const normalizedSeverity = severity.trim().toLowerCase();
498
- const isKnownSeverity = normalizedSeverity === "med" || ISSUE_SEVERITY_VALUES.includes(normalizedSeverity);
499
- assertFrontMatterCondition(isKnownSeverity, `severity value must be one of: ${[...ISSUE_SEVERITY_VALUES, "med"].join(", ")}`);
500
- }
501
- function assertRegressionFrontMatterField(record) {
502
- if (record.regression !== void 0 && typeof record.regression !== "boolean") {
503
- validationError("regression must be a boolean");
504
- }
505
- }
506
- function assertReminderEntries(record) {
507
- const reminders = record.reminders;
508
- if (reminders === void 0) {
509
- return;
510
- }
511
- assertFrontMatterCondition(Array.isArray(reminders), "reminders must be an array");
512
- for (const reminder of reminders) {
513
- assertFrontMatterCondition(typeof reminder === "object" && reminder !== null && !Array.isArray(reminder), "reminders entries must be objects");
514
- const reminderRecord = reminder;
515
- assertFrontMatterCondition(typeof reminderRecord.at === "string", "reminder.at must be a string");
516
- assertFrontMatterCondition(isTimestampLiteral(reminderRecord.at), "reminder.at must be a valid ISO timestamp");
517
- assertFrontMatterCondition(typeof reminderRecord.text === "string", "reminder.text must be a string");
518
- assertFrontMatterCondition(reminderRecord.text.trim().length > 0, "reminder.text must not be empty");
519
- }
520
- }
521
- function assertEventStringFields(eventRecord) {
522
- for (const stringField of ["title", "description", "location", "timezone"]) {
523
- if (eventRecord[stringField] !== void 0) {
524
- assertFrontMatterCondition(typeof eventRecord[stringField] === "string", `event.${stringField} must be a string`);
525
- assertFrontMatterCondition(eventRecord[stringField].trim().length > 0, `event.${stringField} must not be empty`);
526
- }
527
- }
528
- }
529
- function assertEventRecurrence(eventRecord) {
530
- if (eventRecord.recurrence === void 0) {
531
- return;
532
- }
533
- assertValidRecurrenceRule(eventRecord.recurrence);
534
- if (eventRecord.recurrence.until !== void 0) {
535
- assertFrontMatterCondition(compareTimestampStrings(eventRecord.recurrence.until, eventRecord.start_at) >= 0, "event.recurrence.until must be at or after event.start_at");
536
- }
537
- }
538
- function assertCalendarEventEntry(event) {
539
- assertFrontMatterCondition(typeof event === "object" && event !== null && !Array.isArray(event), "events entries must be objects");
540
- const eventRecord = event;
541
- assertFrontMatterCondition(typeof eventRecord.start_at === "string", "event.start_at must be a string");
542
- assertFrontMatterCondition(isTimestampLiteral(eventRecord.start_at), "event.start_at must be a valid ISO timestamp");
543
- if (eventRecord.end_at !== void 0) {
544
- assertFrontMatterCondition(typeof eventRecord.end_at === "string", "event.end_at must be a string");
545
- assertFrontMatterCondition(isTimestampLiteral(eventRecord.end_at), "event.end_at must be a valid ISO timestamp");
546
- assertFrontMatterCondition(compareTimestampStrings(eventRecord.end_at, eventRecord.start_at) > 0, "event.end_at must be after event.start_at");
547
- }
548
- assertEventStringFields(eventRecord);
549
- if (eventRecord.all_day !== void 0) {
550
- assertFrontMatterCondition(typeof eventRecord.all_day === "boolean", "event.all_day must be a boolean");
551
- }
552
- assertEventRecurrence(eventRecord);
553
- }
554
- function assertCalendarEvents(record) {
555
- const events = record.events;
556
- if (events === void 0) {
557
- return;
558
- }
559
- assertFrontMatterCondition(Array.isArray(events), "events must be an array");
560
- for (const event of events) {
561
- assertCalendarEventEntry(event);
562
- }
563
- }
564
- function assertOptionalStringFields(record) {
565
- for (const fieldName of ["source_type", "source_owner", "design", "external_ref"]) {
566
- const value = record[fieldName];
567
- if (value !== void 0) {
568
- assertFrontMatterCondition(typeof value === "string", `${fieldName} must be a string`);
569
- }
570
- }
571
- }
572
- function assertTypeOptionsField(record) {
573
- const typeOptions = record.type_options;
574
- if (typeOptions === void 0) {
575
- return;
576
- }
577
- assertFrontMatterCondition(typeof typeOptions === "object" && typeOptions !== null && !Array.isArray(typeOptions), "type_options must be an object");
578
- for (const [optionKey, optionValue] of Object.entries(typeOptions)) {
579
- assertFrontMatterCondition(optionKey.trim().length > 0, "type_options keys must be non-empty");
580
- assertFrontMatterCondition(typeof optionValue === "string", "type_options values must be strings");
581
- const optionText = optionValue;
582
- assertFrontMatterCondition(optionText.trim().length > 0, "type_options values must be non-empty strings");
583
- }
584
- }
585
- function coerceRuntimeFrontMatterFields(record, itemType, runtimeContext) {
586
- if (!runtimeContext?.fieldRegistry) {
587
- return;
588
- }
589
- for (const definition of runtimeContext.fieldRegistry.definitions) {
590
- const fieldValue = record[definition.metadata_key];
591
- if (fieldValue === void 0) {
592
- if (runtimeFieldRequiredForType(definition, itemType)) {
593
- validationError(`missing required schema field: ${definition.metadata_key}`);
594
- }
595
- continue;
596
- }
597
- try {
598
- record[definition.metadata_key] = coerceRuntimeFieldValue(definition, fieldValue, `metadata field "${definition.metadata_key}"`);
599
- } catch (error) {
600
- validationError(String(error?.message).replace(/^Invalid\s+/u, ""));
601
- }
602
- }
603
- }
604
- function assertRuntimeUnknownFrontMatterFields(record, runtimeContext) {
605
- if (!runtimeContext || runtimeContext.unknownFieldPolicy === "allow") {
606
- return;
607
- }
608
- const knownKeys = buildKnownFrontMatterKeys(runtimeContext);
609
- const unknownKeys = Object.keys(record).filter((key) => !knownKeys.has(key)).sort((left, right) => left.localeCompare(right));
610
- if (unknownKeys.length === 0) {
611
- return;
612
- }
613
- if (runtimeContext.unknownFieldPolicy === "reject") {
614
- validationError(`unknown schema fields are not allowed: ${unknownKeys.join(", ")}`);
615
- } else {
616
- runtimeContext.onWarning?.(`item_unknown_schema_fields:${unknownKeys.join(",")}`);
617
- }
618
- }
619
- function assertValidFrontMatter(frontMatter, runtimeContext) {
620
- assertFrontMatterCondition(typeof frontMatter === "object" && frontMatter !== null && !Array.isArray(frontMatter), "front matter must be an object");
621
- const record = frontMatter;
622
- const itemType = assertRequiredFrontMatterFields(record);
623
- assertStatusFrontMatterField(record, runtimeContext);
624
- assertPriorityAndTags(record);
625
- assertConfidenceFrontMatterField(record);
626
- assertSeverityFrontMatterField(record);
627
- assertRegressionFrontMatterField(record);
628
- assertTimestampField(record, "created_at");
629
- assertTimestampField(record, "updated_at");
630
- if (record.deadline !== void 0) {
631
- assertTimestampField(record, "deadline");
632
- }
633
- assertReminderEntries(record);
634
- assertCalendarEvents(record);
635
- assertOptionalTimestampString(record, "closed_at", "closed_at");
636
- assertOptionalStringFields(record);
637
- assertTypeOptionsField(record);
638
- coerceRuntimeFrontMatterFields(record, itemType, runtimeContext);
639
- assertRuntimeUnknownFrontMatterFields(record, runtimeContext);
640
- }
641
- function sortDependencies(values) {
642
- if (!values || values.length === 0)
643
- return void 0;
644
- return [...values].map((value) => ({
645
- id: value.id.trim().toLowerCase(),
646
- kind: value.kind,
647
- created_at: value.created_at,
648
- author: value.author?.trim() || void 0,
649
- source_kind: value.source_kind?.trim() || void 0
650
- })).sort((a, b) => {
651
- const byCreated = compareTimestampStrings(a.created_at, b.created_at);
652
- if (byCreated !== 0)
653
- return byCreated;
654
- const byId = a.id.localeCompare(b.id);
655
- if (byId !== 0)
656
- return byId;
657
- const byKind = a.kind.localeCompare(b.kind);
658
- if (byKind !== 0)
659
- return byKind;
660
- return (a.source_kind ?? "").localeCompare(b.source_kind ?? "");
661
- });
662
- }
663
- function sortLogValues(values) {
664
- if (!values || values.length === 0)
665
- return void 0;
666
- return [...values].sort((a, b) => {
667
- const byCreated = compareTimestampStrings(a.created_at, b.created_at);
668
- if (byCreated !== 0)
669
- return byCreated;
670
- const byText = a.text.localeCompare(b.text);
671
- if (byText !== 0)
672
- return byText;
673
- return a.author.localeCompare(b.author);
674
- });
675
- }
676
- function sortReminders(values) {
677
- if (!values || values.length === 0)
678
- return void 0;
679
- const normalized = [...values].map((value) => ({
680
- at: value.at,
681
- text: value.text.trim()
682
- })).filter((value) => value.text.length > 0).sort((a, b) => {
683
- const byAt = compareTimestampStrings(a.at, b.at);
684
- if (byAt !== 0)
685
- return byAt;
686
- return a.text.localeCompare(b.text);
687
- });
688
- return normalized.length === 0 ? void 0 : normalized;
689
- }
690
- function normalizeRecurrenceRule(value) {
691
- if (!value) {
692
- return void 0;
693
- }
694
- const normalizedFrequency = value.freq.trim().toLowerCase();
695
- if (!RECURRENCE_FREQUENCY_VALUES.includes(normalizedFrequency)) {
696
- return void 0;
697
- }
698
- const byWeekday = Array.from(new Set((value.by_weekday ?? []).map((weekday) => weekday.trim().toLowerCase()).filter((weekday) => RECURRENCE_WEEKDAY_VALUES.includes(weekday)))).sort((a, b) => weekdayOrderIndex(a) - weekdayOrderIndex(b));
699
- const byMonthDay = Array.from(new Set((value.by_month_day ?? []).filter((day) => Number.isInteger(day) && day >= 1 && day <= 31).map((day) => day))).sort((a, b) => a - b);
700
- const exdates = Array.from(new Set((value.exdates ?? []).map((timestamp) => timestamp.trim()).filter((timestamp) => isTimestampLiteral(timestamp)))).sort((a, b) => compareTimestampStrings(a, b));
701
- const normalized = {
702
- freq: normalizedFrequency,
703
- interval: value.interval !== void 0 && value.interval > 1 ? value.interval : void 0,
704
- count: value.count,
705
- until: value.until?.trim() || void 0,
706
- by_weekday: byWeekday.length > 0 ? byWeekday : void 0,
707
- by_month_day: byMonthDay.length > 0 ? byMonthDay : void 0,
708
- exdates: exdates.length > 0 ? exdates : void 0
709
- };
710
- for (const [key, fieldValue] of Object.entries(normalized)) {
711
- if (fieldValue === void 0) {
712
- delete normalized[key];
713
- }
714
- }
715
- return normalized;
716
- }
717
- function sortEvents(values) {
718
- if (!Array.isArray(values) || values.length === 0) {
719
- return void 0;
720
- }
721
- const normalized = [...values].map(normalizeCalendarEvent).sort(compareCalendarEvents);
722
- return normalized;
723
- }
724
- function normalizeCalendarEvent(value) {
725
- const event = {
726
- start_at: value.start_at,
727
- end_at: value.end_at || void 0,
728
- title: value.title?.trim() || void 0,
729
- description: value.description?.trim() || void 0,
730
- location: value.location?.trim() || void 0,
731
- all_day: value.all_day,
732
- timezone: value.timezone?.trim() || void 0,
733
- recurrence: normalizeRecurrenceRule(value.recurrence)
734
- };
735
- deleteUndefinedFields(event);
736
- return event;
737
- }
738
- function compareCalendarEvents(a, b) {
739
- return firstNonZeroComparison([
740
- compareTimestampStrings(a.start_at, b.start_at),
741
- (a.end_at ?? "").localeCompare(b.end_at ?? ""),
742
- (a.title ?? "").localeCompare(b.title ?? ""),
743
- Number(Boolean(a.all_day)) - Number(Boolean(b.all_day)),
744
- (a.timezone ?? "").localeCompare(b.timezone ?? ""),
745
- (a.location ?? "").localeCompare(b.location ?? ""),
746
- (a.description ?? "").localeCompare(b.description ?? ""),
747
- JSON.stringify(a.recurrence ?? {}).localeCompare(JSON.stringify(b.recurrence ?? {}))
748
- ]);
749
- }
750
- function normalizeFiles(values) {
751
- if (!values || values.length === 0)
752
- return void 0;
753
- return values.map((value) => ({
754
- path: normalizePathValue(value.path),
755
- scope: value.scope,
756
- note: value.note?.trim() || void 0
757
- }));
758
- }
759
- function normalizeTestRunSummaries(values) {
760
- if (!values || values.length === 0)
761
- return void 0;
762
- const normalized = values.map(normalizeTestRunSummary).filter((value) => value.run_id.length > 0 && value.started_at.length > 0 && value.finished_at.length > 0 && value.recorded_at.length > 0).sort((a, b) => firstNonZeroComparison([
763
- compareTimestampStrings(a.recorded_at, b.recorded_at),
764
- a.run_id.localeCompare(b.run_id),
765
- a.kind.localeCompare(b.kind)
766
- ]));
767
- return normalized.length > 0 ? normalized : void 0;
768
- }
769
- function normalizeNonNegativeInteger(value) {
770
- return typeof value === "number" && Number.isFinite(value) && value >= 0 ? Math.floor(value) : void 0;
771
- }
772
- function normalizePositiveInteger(value) {
773
- return typeof value === "number" && Number.isFinite(value) && value >= 1 ? Math.floor(value) : void 0;
774
- }
775
- function stringOrEmpty(value) {
776
- return typeof value === "string" ? value : "";
777
- }
778
- function normalizeTestRunSummary(value) {
779
- const runId = typeof value.run_id === "string" ? value.run_id.trim() : "";
780
- const kind = value.kind === "test" || value.kind === "test-all" ? value.kind : "test";
781
- const status = ITEM_TEST_RUN_STATUS_VALUES.has(value.status) ? value.status : "failed";
782
- const summary = {
783
- run_id: runId,
784
- kind,
785
- status,
786
- started_at: stringOrEmpty(value.started_at),
787
- finished_at: stringOrEmpty(value.finished_at),
788
- recorded_at: stringOrEmpty(value.recorded_at),
789
- attempt: normalizePositiveInteger(value.attempt),
790
- resumed_from: value.resumed_from?.trim() || void 0,
791
- passed: normalizeNonNegativeInteger(value.passed) ?? 0,
792
- failed: normalizeNonNegativeInteger(value.failed) ?? 0,
793
- skipped: normalizeNonNegativeInteger(value.skipped) ?? 0,
794
- items: normalizeNonNegativeInteger(value.items),
795
- linked_tests: normalizeNonNegativeInteger(value.linked_tests),
796
- fail_on_skipped_triggered: value.fail_on_skipped_triggered === true ? true : void 0
797
- };
798
- deleteUndefinedFields(summary);
799
- return summary;
800
- }
801
- function sortTests(values) {
802
- if (!Array.isArray(values) || values.length === 0)
803
- return void 0;
804
- return [...values].map(normalizeLinkedTest).sort(compareLinkedTests);
805
- }
806
- function normalizeTrimmedStringList(value) {
807
- if (!Array.isArray(value)) {
808
- return void 0;
809
- }
810
- const normalized = [
811
- ...new Set(value.filter((entry) => typeof entry === "string").map((entry) => entry.trim()).filter((entry) => entry.length > 0))
812
- ].sort((a, b) => a.localeCompare(b));
813
- return normalized.length > 0 ? normalized : void 0;
814
- }
815
- function isPlainObjectRecord(value) {
816
- if (!value || typeof value !== "object" || Array.isArray(value)) {
817
- return false;
818
- }
819
- const prototype = Object.getPrototypeOf(value);
820
- return prototype === Object.prototype || prototype === null;
821
- }
822
- function isUnsafeObjectKey(key) {
823
- return key === "__proto__" || key === "constructor" || key === "prototype";
824
- }
825
- function normalizeStringRecord(value) {
826
- if (!isPlainObjectRecord(value)) {
827
- return void 0;
828
- }
829
- const entries = Object.entries(value).map(([key, recordValue]) => [key.trim(), String(recordValue).trim()]).filter(([key, recordValue]) => key.length > 0 && !isUnsafeObjectKey(key) && recordValue.length > 0).sort(([left], [right]) => left.localeCompare(right));
830
- return entries.length > 0 ? Object.fromEntries(entries) : void 0;
831
- }
832
- function normalizeNumericRecord(value) {
833
- if (!isPlainObjectRecord(value)) {
834
- return void 0;
835
- }
836
- const entries = Object.entries(value).map(([key, recordValue]) => [key.trim(), Number(recordValue)]).filter(([key, recordValue]) => key.length > 0 && !isUnsafeObjectKey(key) && Number.isFinite(recordValue)).sort(([left], [right]) => left.localeCompare(right));
837
- return entries.length > 0 ? Object.fromEntries(entries) : void 0;
838
- }
839
- function normalizeLinkedTestContextMode(value) {
840
- const normalized = value?.trim().toLowerCase();
841
- if (!normalized || !LINKED_TEST_PM_CONTEXT_MODE_VALUES.has(normalized)) {
842
- return void 0;
843
- }
844
- return normalized;
845
- }
846
- function normalizeLinkedTest(value) {
847
- const test = {
848
- command: value.command?.trim() || void 0,
849
- path: value.path ? normalizePathValue(value.path) : void 0,
850
- scope: value.scope,
851
- timeout_seconds: typeof value.timeout_seconds === "number" && Number.isFinite(value.timeout_seconds) && value.timeout_seconds > 0 ? value.timeout_seconds : void 0,
852
- pm_context_mode: normalizeLinkedTestContextMode(value.pm_context_mode),
853
- env_set: normalizeStringRecord(value.env_set),
854
- env_clear: normalizeTrimmedStringList(value.env_clear),
855
- shared_host_safe: value.shared_host_safe === true ? true : void 0,
856
- assert_stdout_contains: normalizeTrimmedStringList(value.assert_stdout_contains),
857
- assert_stdout_regex: normalizeTrimmedStringList(value.assert_stdout_regex),
858
- assert_stderr_contains: normalizeTrimmedStringList(value.assert_stderr_contains),
859
- assert_stderr_regex: normalizeTrimmedStringList(value.assert_stderr_regex),
860
- assert_stdout_min_lines: normalizeNonNegativeInteger(value.assert_stdout_min_lines),
861
- assert_json_field_equals: normalizeStringRecord(value.assert_json_field_equals),
862
- assert_json_field_gte: normalizeNumericRecord(value.assert_json_field_gte),
863
- note: value.note?.trim() || void 0
864
- };
865
- deleteUndefinedFields(test);
866
- return test;
867
- }
868
- function compareLinkedTests(a, b) {
869
- return firstNonZeroComparison([
870
- a.scope.localeCompare(b.scope),
871
- compareOptionalStrings(a.path, b.path),
872
- compareOptionalStrings(a.command, b.command),
873
- compareOptionalNumbers(a.timeout_seconds, b.timeout_seconds),
874
- compareOptionalStrings(a.pm_context_mode, b.pm_context_mode),
875
- Number(Boolean(a.shared_host_safe)) - Number(Boolean(b.shared_host_safe)),
876
- compareJsonValues(a.env_clear, b.env_clear, []),
877
- compareJsonValues(a.env_set, b.env_set, {}),
878
- compareJsonValues(a.assert_stdout_contains, b.assert_stdout_contains, []),
879
- compareJsonValues(a.assert_stdout_regex, b.assert_stdout_regex, []),
880
- compareJsonValues(a.assert_stderr_contains, b.assert_stderr_contains, []),
881
- compareJsonValues(a.assert_stderr_regex, b.assert_stderr_regex, []),
882
- compareOptionalNumbers(a.assert_stdout_min_lines, b.assert_stdout_min_lines),
883
- compareJsonValues(a.assert_json_field_equals, b.assert_json_field_equals, {}),
884
- compareJsonValues(a.assert_json_field_gte, b.assert_json_field_gte, {}),
885
- compareOptionalStrings(a.note, b.note)
886
- ]);
887
- }
888
- function compareOptionalStrings(left, right) {
889
- return (left ?? "").localeCompare(right ?? "");
890
- }
891
- function compareOptionalNumbers(left, right) {
892
- return (left ?? 0) - (right ?? 0);
893
- }
894
- function compareJsonValues(left, right, fallback) {
895
- return JSON.stringify(left ?? fallback).localeCompare(JSON.stringify(right ?? fallback));
896
- }
897
- function sortDocs(values) {
898
- if (!values || values.length === 0)
899
- return void 0;
900
- return [...values].map((value) => ({
901
- path: normalizePathValue(value.path),
902
- scope: value.scope,
903
- note: value.note?.trim() || void 0
904
- })).sort((a, b) => {
905
- const byScope = a.scope.localeCompare(b.scope);
906
- if (byScope !== 0)
907
- return byScope;
908
- const byPath = a.path.localeCompare(b.path);
909
- if (byPath !== 0)
910
- return byPath;
911
- return (a.note ?? "").localeCompare(b.note ?? "");
912
- });
913
- }
914
- function trimStringOrUndefined(value) {
915
- if (typeof value !== "string")
916
- return void 0;
917
- const trimmed = value.trim();
918
- return trimmed.length > 0 ? trimmed : void 0;
919
- }
920
- function normalizePlanStepLinks(value) {
921
- if (!Array.isArray(value))
922
- return void 0;
923
- const out = [];
924
- for (const entry of value) {
925
- if (entry === null || typeof entry !== "object")
926
- continue;
927
- const record = entry;
928
- const id = trimStringOrUndefined(record.id);
929
- const kind = trimStringOrUndefined(record.kind);
930
- if (!id || !kind)
931
- continue;
932
- const link = { id, kind };
933
- const note = trimStringOrUndefined(record.note);
934
- if (note)
935
- link.note = note;
936
- if (record.required_before_step === true)
937
- link.required_before_step = true;
938
- out.push(link);
939
- }
940
- return out.length > 0 ? out : void 0;
941
- }
942
- function normalizePlanStepFiles(value) {
943
- if (!Array.isArray(value))
944
- return void 0;
945
- const out = [];
946
- for (const entry of value) {
947
- if (entry === null || typeof entry !== "object")
948
- continue;
949
- const record = entry;
950
- const path2 = trimStringOrUndefined(record.path);
951
- if (!path2)
952
- continue;
953
- const file = { path: normalizePathValue(path2) };
954
- if (record.scope === "project" || record.scope === "global")
955
- file.scope = record.scope;
956
- const note = trimStringOrUndefined(record.note);
957
- if (note)
958
- file.note = note;
959
- out.push(file);
960
- }
961
- return out.length > 0 ? out : void 0;
962
- }
963
- function normalizePlanStepTests(value) {
964
- if (!Array.isArray(value))
965
- return void 0;
966
- const out = [];
967
- for (const entry of value) {
968
- if (entry === null || typeof entry !== "object")
969
- continue;
970
- const record = entry;
971
- const command = trimStringOrUndefined(record.command);
972
- const path2 = trimStringOrUndefined(record.path);
973
- if (!command && !path2)
974
- continue;
975
- const test = {};
976
- if (command)
977
- test.command = command;
978
- if (path2)
979
- test.path = normalizePathValue(path2);
980
- const note = trimStringOrUndefined(record.note);
981
- if (note)
982
- test.note = note;
983
- out.push(test);
984
- }
985
- return out.length > 0 ? out : void 0;
986
- }
987
- function normalizePlanStepDocs(value) {
988
- if (!Array.isArray(value))
989
- return void 0;
990
- const out = [];
991
- for (const entry of value) {
992
- if (entry === null || typeof entry !== "object")
993
- continue;
994
- const record = entry;
995
- const path2 = trimStringOrUndefined(record.path);
996
- if (!path2)
997
- continue;
998
- const doc = { path: normalizePathValue(path2) };
999
- if (record.scope === "project" || record.scope === "global")
1000
- doc.scope = record.scope;
1001
- const note = trimStringOrUndefined(record.note);
1002
- if (note)
1003
- doc.note = note;
1004
- out.push(doc);
1005
- }
1006
- return out.length > 0 ? out : void 0;
1007
- }
1008
- function normalizePlanStepEntry(entry) {
1009
- if (entry === null || typeof entry !== "object") {
1010
- return void 0;
1011
- }
1012
- const record = entry;
1013
- const id = trimStringOrUndefined(record.id);
1014
- const title = trimStringOrUndefined(record.title);
1015
- const statusRaw = trimStringOrUndefined(record.status);
1016
- const status = statusRaw && PLAN_STEP_STATUS_SET.has(statusRaw) ? statusRaw : void 0;
1017
- const orderRaw = record.order;
1018
- const order = typeof orderRaw === "number" && Number.isFinite(orderRaw) ? orderRaw : typeof orderRaw === "string" && orderRaw.trim().length > 0 ? Number(orderRaw) : Number.NaN;
1019
- const created_at = typeof record.created_at === "string" ? record.created_at : "";
1020
- const updated_at = typeof record.updated_at === "string" ? record.updated_at : "";
1021
- if (!id || !title || !status || !Number.isFinite(order) || !created_at || !updated_at) {
1022
- return void 0;
1023
- }
1024
- const step = {
1025
- id,
1026
- order,
1027
- title,
1028
- status,
1029
- created_at,
1030
- updated_at
1031
- };
1032
- applyPlanStepOptionalFields(step, record);
1033
- return step;
1034
- }
1035
- function applyPlanStepOptionalFields(step, record) {
1036
- const stringFields = [
1037
- ["body", "body"],
1038
- ["owner", "owner"],
1039
- ["evidence", "evidence"],
1040
- ["blocked_reason", "blocked_reason"],
1041
- ["superseded_by", "superseded_by"]
1042
- ];
1043
- for (const [target, source] of stringFields) {
1044
- const value = trimStringOrUndefined(record[source]);
1045
- if (value) {
1046
- step[target] = value;
1047
- }
1048
- }
1049
- const completedAt = typeof record.completed_at === "string" ? record.completed_at : void 0;
1050
- if (completedAt && completedAt.length > 0) {
1051
- step.completed_at = completedAt;
1052
- }
1053
- const collectionFields = [
1054
- ["linked_items", "linked_items", normalizePlanStepLinks],
1055
- ["files", "files", normalizePlanStepFiles],
1056
- ["tests", "tests", normalizePlanStepTests],
1057
- ["docs", "docs", normalizePlanStepDocs]
1058
- ];
1059
- for (const [target, source, normalize] of collectionFields) {
1060
- const value = normalize(record[source]);
1061
- if (value) {
1062
- step[target] = value;
1063
- }
1064
- }
1065
- }
1066
- function normalizePlanSteps(value) {
1067
- if (!Array.isArray(value))
1068
- return void 0;
1069
- const out = value.flatMap((entry) => {
1070
- const step = normalizePlanStepEntry(entry);
1071
- return step ? [step] : [];
1072
- });
1073
- out.sort((left, right) => left.order - right.order);
1074
- return out.length > 0 ? out : void 0;
1075
- }
1076
- function normalizePlanDecisions(value) {
1077
- if (!Array.isArray(value))
1078
- return void 0;
1079
- const out = [];
1080
- for (const entry of value) {
1081
- if (entry === null || typeof entry !== "object")
1082
- continue;
1083
- const record = entry;
1084
- const ts = typeof record.ts === "string" ? record.ts : "";
1085
- const author = typeof record.author === "string" ? record.author : "";
1086
- const decision = trimStringOrUndefined(record.decision);
1087
- if (!ts || !author || !decision)
1088
- continue;
1089
- const item = { ts, author, decision };
1090
- const rationale = trimStringOrUndefined(record.rationale);
1091
- if (rationale)
1092
- item.rationale = rationale;
1093
- const evidence = trimStringOrUndefined(record.evidence);
1094
- if (evidence)
1095
- item.evidence = evidence;
1096
- const stepId = trimStringOrUndefined(record.step_id);
1097
- if (stepId)
1098
- item.step_id = stepId;
1099
- out.push(item);
1100
- }
1101
- return out.length > 0 ? out : void 0;
1102
- }
1103
- function normalizePlanDiscoveries(value) {
1104
- if (!Array.isArray(value))
1105
- return void 0;
1106
- const out = [];
1107
- for (const entry of value) {
1108
- if (entry === null || typeof entry !== "object")
1109
- continue;
1110
- const record = entry;
1111
- const ts = typeof record.ts === "string" ? record.ts : "";
1112
- const author = typeof record.author === "string" ? record.author : "";
1113
- const text = trimStringOrUndefined(record.text);
1114
- if (!ts || !author || !text)
1115
- continue;
1116
- const item = { ts, author, text };
1117
- const stepId = trimStringOrUndefined(record.step_id);
1118
- if (stepId)
1119
- item.step_id = stepId;
1120
- out.push(item);
1121
- }
1122
- return out.length > 0 ? out : void 0;
1123
- }
1124
- function normalizePlanValidation(value) {
1125
- if (!Array.isArray(value))
1126
- return void 0;
1127
- const out = [];
1128
- for (const entry of value) {
1129
- if (entry === null || typeof entry !== "object")
1130
- continue;
1131
- const record = entry;
1132
- const text = trimStringOrUndefined(record.text);
1133
- if (!text)
1134
- continue;
1135
- const item = { text };
1136
- const command = trimStringOrUndefined(record.command);
1137
- if (command)
1138
- item.command = command;
1139
- const expected = trimStringOrUndefined(record.expected);
1140
- if (expected)
1141
- item.expected = expected;
1142
- out.push(item);
1143
- }
1144
- return out.length > 0 ? out : void 0;
1145
- }
1146
- function normalizeTypeOptions(values) {
1147
- if (!values) {
1148
- return void 0;
1149
- }
1150
- const normalizedEntries = Object.entries(values).map(([key, value]) => [key.trim(), value.trim()]).filter(([key, value]) => key.length > 0 && value.length > 0).sort((left, right) => left[0].localeCompare(right[0]));
1151
- if (normalizedEntries.length === 0) {
1152
- return void 0;
1153
- }
1154
- return Object.fromEntries(normalizedEntries);
1155
- }
1156
- function normalizeBody(body) {
1157
- let start = 0;
1158
- while (start < body.length && body[start] === "\n") {
1159
- start += 1;
1160
- }
1161
- return body.slice(start).trimEnd();
1162
- }
1163
- function normalizeConfidenceValue(value) {
1164
- if (value === void 0) {
1165
- return void 0;
1166
- }
1167
- if (typeof value === "number") {
1168
- return value;
1169
- }
1170
- const normalized = value.trim().toLowerCase();
1171
- if (normalized === "med") {
1172
- return "medium";
1173
- }
1174
- if (CONFIDENCE_TEXT_VALUES.includes(normalized)) {
1175
- return normalized;
1176
- }
1177
- return void 0;
1178
- }
1179
- function normalizeSeverityValue(value) {
1180
- if (value === void 0) {
1181
- return void 0;
1182
- }
1183
- const normalized = value.trim().toLowerCase();
1184
- if (normalized === "med") {
1185
- return "medium";
1186
- }
1187
- if (ISSUE_SEVERITY_VALUES.includes(normalized)) {
1188
- return normalized;
1189
- }
1190
- return void 0;
1191
- }
1192
- function emptyStringToUndefined(value) {
1193
- return value || void 0;
1194
- }
1195
- function copyExtensionFrontMatterFields(normalized, source) {
1196
- const targetRecord = normalized;
1197
- const sourceRecord = source;
1198
- for (const [key, value] of Object.entries(sourceRecord)) {
1199
- if (isUnsafeObjectKey(key) || Object.prototype.hasOwnProperty.call(targetRecord, key) || value === void 0) {
1200
- continue;
1201
- }
1202
- targetRecord[key] = value;
1203
- }
1204
- }
1205
- function coerceNormalizedRuntimeFields(normalized, runtimeContext) {
1206
- if (!runtimeContext?.fieldRegistry) {
1207
- return;
1208
- }
1209
- const record = normalized;
1210
- for (const definition of runtimeContext.fieldRegistry.definitions) {
1211
- const currentValue = record[definition.metadata_key];
1212
- if (currentValue === void 0) {
1213
- continue;
1214
- }
1215
- record[definition.metadata_key] = coerceRuntimeFieldValue(definition, currentValue, `metadata field "${definition.metadata_key}"`);
1216
- }
1217
- }
1218
- function assertNormalizedUnknownFields(normalized, runtimeContext) {
1219
- if (!runtimeContext || runtimeContext.unknownFieldPolicy === "allow") {
1220
- return;
1221
- }
1222
- const knownKeys = buildKnownFrontMatterKeys(runtimeContext);
1223
- const record = normalized;
1224
- const unknownKeys = Object.keys(record).filter((key) => !knownKeys.has(key)).sort((left, right) => left.localeCompare(right));
1225
- if (unknownKeys.length > 0 && runtimeContext.unknownFieldPolicy === "reject") {
1226
- validationError(`unknown schema fields are not allowed: ${unknownKeys.join(", ")}`);
1227
- }
1228
- if (unknownKeys.length > 0) {
1229
- runtimeContext.onWarning?.(`item_unknown_schema_fields:${unknownKeys.join(",")}`);
1230
- }
1231
- }
1232
- function normalizeFrontMatter(frontMatter, options = {}) {
1233
- const runtimeContext = resolveRuntimeSchemaValidationContext(options);
1234
- const normalizedStatus = normalizeStatusInput(frontMatter.status, runtimeContext?.statusRegistry) ?? frontMatter.status;
1235
- const tags = Array.from(new Set(frontMatter.tags.map((tag) => tag.trim().toLowerCase()).filter(Boolean))).sort((a, b) => a.localeCompare(b));
1236
- const normalized = {
1237
- id: frontMatter.id,
1238
- title: frontMatter.title,
1239
- description: frontMatter.description,
1240
- type: frontMatter.type,
1241
- pm_format_version: normalizeItemFormatVersion(frontMatter.pm_format_version),
1242
- source_type: trimStringOrUndefined(frontMatter.source_type),
1243
- type_options: normalizeTypeOptions(frontMatter.type_options),
1244
- status: normalizedStatus,
1245
- priority: frontMatter.priority,
1246
- tags,
1247
- created_at: frontMatter.created_at,
1248
- updated_at: frontMatter.updated_at,
1249
- dependencies: sortDependencies(frontMatter.dependencies),
1250
- comments: sortLogValues(frontMatter.comments),
1251
- notes: sortLogValues(frontMatter.notes),
1252
- learnings: sortLogValues(frontMatter.learnings),
1253
- files: normalizeFiles(frontMatter.files),
1254
- tests: sortTests(frontMatter.tests),
1255
- test_runs: normalizeTestRunSummaries(frontMatter.test_runs),
1256
- docs: sortDocs(frontMatter.docs),
1257
- deadline: emptyStringToUndefined(frontMatter.deadline),
1258
- reminders: sortReminders(frontMatter.reminders),
1259
- events: sortEvents(frontMatter.events),
1260
- closed_at: emptyStringToUndefined(frontMatter.closed_at),
1261
- assignee: trimStringOrUndefined(frontMatter.assignee),
1262
- source_owner: trimStringOrUndefined(frontMatter.source_owner),
1263
- author: emptyStringToUndefined(frontMatter.author),
1264
- estimated_minutes: frontMatter.estimated_minutes,
1265
- acceptance_criteria: frontMatter.acceptance_criteria ?? void 0,
1266
- design: frontMatter.design ?? void 0,
1267
- external_ref: frontMatter.external_ref ?? void 0,
1268
- definition_of_ready: trimStringOrUndefined(frontMatter.definition_of_ready),
1269
- order: frontMatter.order,
1270
- goal: trimStringOrUndefined(frontMatter.goal),
1271
- objective: trimStringOrUndefined(frontMatter.objective),
1272
- value: trimStringOrUndefined(frontMatter.value),
1273
- impact: trimStringOrUndefined(frontMatter.impact),
1274
- outcome: trimStringOrUndefined(frontMatter.outcome),
1275
- why_now: trimStringOrUndefined(frontMatter.why_now),
1276
- parent: trimStringOrUndefined(frontMatter.parent),
1277
- reviewer: trimStringOrUndefined(frontMatter.reviewer),
1278
- risk: frontMatter.risk ?? void 0,
1279
- confidence: normalizeConfidenceValue(frontMatter.confidence),
1280
- sprint: trimStringOrUndefined(frontMatter.sprint),
1281
- release: trimStringOrUndefined(frontMatter.release),
1282
- blocked_by: trimStringOrUndefined(frontMatter.blocked_by),
1283
- blocked_reason: trimStringOrUndefined(frontMatter.blocked_reason),
1284
- unblock_note: trimStringOrUndefined(frontMatter.unblock_note),
1285
- reporter: trimStringOrUndefined(frontMatter.reporter),
1286
- severity: normalizeSeverityValue(frontMatter.severity),
1287
- environment: trimStringOrUndefined(frontMatter.environment),
1288
- repro_steps: trimStringOrUndefined(frontMatter.repro_steps),
1289
- resolution: trimStringOrUndefined(frontMatter.resolution),
1290
- expected_result: trimStringOrUndefined(frontMatter.expected_result),
1291
- actual_result: trimStringOrUndefined(frontMatter.actual_result),
1292
- affected_version: trimStringOrUndefined(frontMatter.affected_version),
1293
- fixed_version: trimStringOrUndefined(frontMatter.fixed_version),
1294
- component: trimStringOrUndefined(frontMatter.component),
1295
- regression: frontMatter.regression,
1296
- customer_impact: trimStringOrUndefined(frontMatter.customer_impact),
1297
- close_reason: emptyStringToUndefined(frontMatter.close_reason),
1298
- plan_mode: trimStringOrUndefined(frontMatter.plan_mode),
1299
- plan_scope: trimStringOrUndefined(frontMatter.plan_scope),
1300
- plan_harness: trimStringOrUndefined(frontMatter.plan_harness),
1301
- plan_resume_context: trimStringOrUndefined(frontMatter.plan_resume_context),
1302
- plan_steps: normalizePlanSteps(frontMatter.plan_steps),
1303
- plan_decisions: normalizePlanDecisions(frontMatter.plan_decisions),
1304
- plan_discoveries: normalizePlanDiscoveries(frontMatter.plan_discoveries),
1305
- plan_validation: normalizePlanValidation(frontMatter.plan_validation)
1306
- };
1307
- copyExtensionFrontMatterFields(normalized, frontMatter);
1308
- coerceNormalizedRuntimeFields(normalized, runtimeContext);
1309
- assertNormalizedUnknownFields(normalized, runtimeContext);
1310
- deleteUndefinedFields(normalized);
1311
- return normalized;
1312
- }
1313
- function orderFrontMatter(frontMatter) {
1314
- return orderObject(frontMatter, FRONT_MATTER_KEY_ORDER);
1315
- }
1316
- function findJsonObjectEnd(content) {
1317
- let depth = 0;
1318
- let inString = false;
1319
- let escaped = false;
1320
- for (let i = 0; i < content.length; i += 1) {
1321
- const char = content[i];
1322
- if (inString) {
1323
- if (escaped) {
1324
- escaped = false;
1325
- continue;
1326
- }
1327
- if (char === "\\") {
1328
- escaped = true;
1329
- continue;
1330
- }
1331
- if (char === '"') {
1332
- inString = false;
1333
- }
1334
- continue;
1335
- }
1336
- if (char === '"') {
1337
- inString = true;
1338
- continue;
1339
- }
1340
- if (char === "{") {
1341
- depth += 1;
1342
- continue;
1343
- }
1344
- if (char === "}") {
1345
- depth -= 1;
1346
- if (depth === 0) {
1347
- return i;
1348
- }
1349
- }
1350
- }
1351
- return -1;
1352
- }
1353
- function splitFrontMatter(content) {
1354
- if (!content.startsWith("{")) {
1355
- return { frontMatter: "", body: content };
1356
- }
1357
- const end = findJsonObjectEnd(content);
1358
- if (end < 0) {
1359
- return { frontMatter: "", body: content };
1360
- }
1361
- const frontMatter = content.slice(0, end + 1);
1362
- const body = content.slice(end + 1).replace(/^\r?\n+/, "");
1363
- return { frontMatter, body };
1364
- }
1365
- function stripLeadingYamlDocument(content) {
1366
- const normalizedContent = content.charCodeAt(0) === 65279 ? content.slice(1) : content;
1367
- const opener = normalizedContent.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);
1368
- if (!opener) {
1369
- return { content: normalizedContent, stripped: false };
1370
- }
1371
- let cursor = opener[0].length;
1372
- while (cursor < normalizedContent.length) {
1373
- const nextNewline = normalizedContent.indexOf("\n", cursor);
1374
- const lineEnd = nextNewline === -1 ? normalizedContent.length : nextNewline;
1375
- const line = normalizedContent.slice(cursor, lineEnd).replace(/\r$/, "");
1376
- const afterLine = nextNewline === -1 ? lineEnd : lineEnd + 1;
1377
- if (line.trim() === "---") {
1378
- return { content: normalizedContent.slice(afterLine).replace(/^\s+/, ""), stripped: true };
1379
- }
1380
- cursor = afterLine;
1381
- }
1382
- return { content: normalizedContent, stripped: false };
1383
- }
1384
- function normalizeParsedFrontMatter(frontMatter, options) {
1385
- return normalizeFrontMatter(frontMatter, { ...options, onWarning: void 0 });
1386
- }
1387
- function parseJsonMarkdownItemDocument(content, runtimeContext, options = {}) {
1388
- const normalized = stripLeadingYamlDocument(content);
1389
- if (normalized.stripped) {
1390
- options.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");
1391
- }
1392
- const { frontMatter, body } = splitFrontMatter(normalized.content);
1393
- if (!frontMatter) {
1394
- const trimmed = content.trimStart();
1395
- if (trimmed.startsWith("{")) {
1396
- validationError("JSON front matter is not valid JSON");
1397
- }
1398
- validationError("missing JSON front matter");
1399
- }
1400
- let parsed;
1401
- try {
1402
- parsed = JSON.parse(frontMatter);
1403
- } catch {
1404
- validationError("JSON front matter is not valid JSON");
1405
- }
1406
- assertValidFrontMatter(parsed, runtimeContext);
1407
- return {
1408
- metadata: normalizeParsedFrontMatter(parsed, options),
1409
- body: normalizeBody(body)
1410
- };
1411
- }
1412
- function parseToonItemDocument(content, runtimeContext, options = {}) {
1413
- let parsed;
1414
- try {
1415
- parsed = decodeToonItemContent(content).value;
1416
- } catch {
1417
- validationError("TOON item document is not valid TOON");
1418
- }
1419
- assertFrontMatterCondition(typeof parsed === "object" && parsed !== null && !Array.isArray(parsed), "TOON item document must be an object");
1420
- const record = parsed;
1421
- if (Object.prototype.hasOwnProperty.call(record, "front_matter")) {
1422
- assertValidFrontMatter(record.front_matter, runtimeContext);
1423
- assertFrontMatterCondition(record.body === void 0 || typeof record.body === "string", "TOON item document body must be a string");
1424
- return {
1425
- metadata: normalizeParsedFrontMatter(record.front_matter, options),
1426
- body: normalizeBody(typeof record.body === "string" ? record.body : "")
1427
- };
1428
- }
1429
- const { body, ...frontMatterRecord } = record;
1430
- assertFrontMatterCondition(body === void 0 || typeof body === "string", "TOON item document body must be a string");
1431
- assertValidFrontMatter(frontMatterRecord, runtimeContext);
1432
- return {
1433
- metadata: normalizeParsedFrontMatter(frontMatterRecord, options),
1434
- body: normalizeBody(typeof body === "string" ? body : "")
1435
- };
1436
- }
1437
- function serializeJsonMarkdownItemDocument(document, options = {}) {
1438
- const normalizedFrontMatter = normalizeFrontMatter(document.metadata, options);
1439
- const orderedFrontMatter = orderFrontMatter(normalizedFrontMatter);
1440
- const serializedFrontMatter = JSON.stringify(orderedFrontMatter, null, 2);
1441
- const normalizedBody = normalizeBody(document.body ?? "");
1442
- if (!normalizedBody) {
1443
- return `${serializedFrontMatter}
1444
- `;
1445
- }
1446
- return `${serializedFrontMatter}
1447
-
1448
- ${normalizedBody}
1449
- `;
1450
- }
1451
- function serializeToonItemDocument(document, options = {}) {
1452
- const normalizedFrontMatter = normalizeFrontMatter(document.metadata, options);
1453
- const orderedFrontMatter = orderFrontMatter(normalizedFrontMatter);
1454
- const normalizedBody = normalizeBody(document.body ?? "");
1455
- return `${encodeToon({ ...orderedFrontMatter, body: normalizedBody })}
1456
- `;
1457
- }
1458
- function parseItemDocument(content, options = {}) {
1459
- const conflictMarker = findFirstMergeConflictMarker(content);
1460
- if (conflictMarker) {
1461
- throw new PmCliError(`Merge conflict markers detected in item document at line ${conflictMarker.line} (${conflictMarker.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`, EXIT_CODE.GENERIC_FAILURE, {
1462
- code: "merge_conflict_markers_detected",
1463
- required: "Resolve merge-conflict markers in the item file before parsing or mutation commands.",
1464
- why: "Partially merged documents can corrupt item metadata and history integrity.",
1465
- examples: ["git status", "git add <resolved-file> && git commit"],
1466
- nextSteps: ["Resolve conflicts, save the file, then rerun the pm command."]
1467
- });
1468
- }
1469
- const format = options.format ?? "toon";
1470
- const runtimeContext = resolveRuntimeSchemaValidationContext(options);
1471
- return format === "toon" ? parseToonItemDocument(content, runtimeContext, options) : parseJsonMarkdownItemDocument(content, runtimeContext, options);
1472
- }
1473
- function serializeItemDocument(document, options = {}) {
1474
- const format = options.format ?? "toon";
1475
- return format === "toon" ? serializeToonItemDocument(document, options) : serializeJsonMarkdownItemDocument(document, options);
1476
- }
1477
- function canonicalDocument(document, options = {}) {
1478
- return {
1479
- metadata: normalizeFrontMatter(document.metadata, options),
1480
- body: normalizeBody(document.body ?? "")
1481
- };
1482
- }
1483
-
1484
- // dist/core/item/id.js
1485
- import crypto from "node:crypto";
1486
- import path from "node:path";
1487
- function normalizePrefix(input) {
1488
- const normalized = (input ?? "").trim().toLowerCase();
1489
- if (!normalized)
1490
- return "pm-";
1491
- return normalized.endsWith("-") ? normalized : `${normalized}-`;
1492
- }
1493
- function normalizeRawItemId(input) {
1494
- let normalized = input.trim().toLowerCase();
1495
- if (normalized.startsWith("#")) {
1496
- normalized = normalized.slice(1);
1497
- }
1498
- return normalized;
1499
- }
1500
- function normalizeItemId(input, prefix) {
1501
- const canonicalPrefix = normalizePrefix(prefix);
1502
- const normalized = normalizeRawItemId(input);
1503
- if (normalized.startsWith(canonicalPrefix)) {
1504
- return normalized;
1505
- }
1506
- return `${canonicalPrefix}${normalized}`;
1507
- }
1508
- function randomToken(length) {
1509
- let token = "";
1510
- for (let index = 0; index < length; index += 1) {
1511
- token += crypto.randomInt(0, 36).toString(36);
1512
- }
1513
- return token;
1514
- }
1515
- async function idExists(pmRoot, id) {
1516
- const checks = Object.values(TYPE_TO_FOLDER).flatMap((folder) => [
1517
- path.join(pmRoot, folder, `${id}.md`),
1518
- path.join(pmRoot, folder, `${id}.toon`)
1519
- ]);
1520
- for (const target of checks) {
1521
- if (await pathExists(target)) {
1522
- return true;
1523
- }
1524
- }
1525
- return false;
1526
- }
1527
- async function generateItemId(pmRoot, prefix) {
1528
- let tokenLength = 4;
1529
- let attempts = 0;
1530
- while (tokenLength <= 10) {
1531
- for (let i = 0; i < 32; i += 1) {
1532
- const id = `${normalizePrefix(prefix)}${randomToken(tokenLength)}`;
1533
- if (!await idExists(pmRoot, id)) {
1534
- return id;
1535
- }
1536
- attempts += 1;
1537
- }
1538
- tokenLength += 1;
1539
- }
1540
- throw new Error(`Unable to generate unique id after ${attempts} attempts`);
1541
- }
1542
-
1543
- export {
1544
- readRuntimeFieldOptionValue,
1545
- coerceRuntimeFieldValue,
1546
- collectRuntimeCreateFieldValues,
1547
- collectRuntimeUpdateFieldValues,
1548
- BASELINE_ITEM_FORMAT_VERSION,
1549
- CURRENT_ITEM_FORMAT_VERSION,
1550
- effectiveItemFormatVersion,
1551
- normalizeItemFormatVersion,
1552
- classifyItemFormatVersion,
1553
- scanItemFormatVersions,
1554
- normalizeStatusInput,
1555
- normalizeStatusForRegistry,
1556
- isTerminalStatus,
1557
- findFirstMergeConflictMarker,
1558
- normalizeFrontMatter,
1559
- splitFrontMatter,
1560
- parseItemDocument,
1561
- serializeItemDocument,
1562
- canonicalDocument,
1563
- normalizePrefix,
1564
- normalizeRawItemId,
1565
- normalizeItemId,
1566
- generateItemId
1567
- };
1568
- //# sourceMappingURL=chunk-HK72NWAD.js.map
1569
-
1570
- //# debugId=4b8306b7-d6d7-5615-af29-66de3136cea2