@unbrained/pm-cli 2026.7.6 → 2026.7.7

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 (666) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/cli/commands/annotation-command.d.ts +1 -0
  3. package/dist/cli/commands/annotation-command.js +29 -2
  4. package/dist/cli/commands/annotation-command.js.map +1 -1
  5. package/dist/cli/commands/comments.js +3 -4
  6. package/dist/cli/commands/comments.js.map +1 -1
  7. package/dist/cli/commands/extension/bundled-catalog.d.ts +3 -0
  8. package/dist/cli/commands/extension/bundled-catalog.js +38 -28
  9. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  10. package/dist/cli/commands/extension/install-sources.js +81 -18
  11. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  12. package/dist/cli/commands/health.js +9 -5
  13. package/dist/cli/commands/health.js.map +1 -1
  14. package/dist/cli/commands/learnings.js +5 -3
  15. package/dist/cli/commands/learnings.js.map +1 -1
  16. package/dist/cli/commands/notes.js +5 -3
  17. package/dist/cli/commands/notes.js.map +1 -1
  18. package/dist/cli/commands/reindex.js +4 -3
  19. package/dist/cli/commands/reindex.js.map +1 -1
  20. package/dist/cli/commands/search.js +3 -3
  21. package/dist/cli/commands/search.js.map +1 -1
  22. package/dist/cli/commands/test.d.ts +9 -0
  23. package/dist/cli/commands/test.js +144 -105
  24. package/dist/cli/commands/test.js.map +1 -1
  25. package/dist/cli/extension-command-help.js +10 -2
  26. package/dist/cli/extension-command-help.js.map +1 -1
  27. package/dist/cli/register-list-query.d.ts +1 -1
  28. package/dist/cli/register-list-query.js +18 -27
  29. package/dist/cli/register-list-query.js.map +1 -1
  30. package/dist/cli/register-operations.d.ts +0 -8
  31. package/dist/cli/register-operations.js +41 -46
  32. package/dist/cli/register-operations.js.map +1 -1
  33. package/dist/cli/register-setup.js +113 -13
  34. package/dist/cli/register-setup.js.map +1 -1
  35. package/dist/cli/registration-helpers.d.ts +5 -1
  36. package/dist/cli/registration-helpers.js +14 -2
  37. package/dist/cli/registration-helpers.js.map +1 -1
  38. package/dist/cli-bundle/chunks/append-F7WPGIQL.js +11 -0
  39. package/dist/cli-bundle/chunks/{gc-2DNMPXMC.js → append-PVCTBVJG.js} +8 -9
  40. package/dist/cli-bundle/chunks/{chunk-EGAP5OWD.js → chunk-2APXX4TZ.js} +16 -14
  41. package/dist/cli-bundle/chunks/chunk-2APXX4TZ.js.map +1 -0
  42. package/dist/cli-bundle/chunks/{chunk-R5BMJX33.js → chunk-2LEJGRQ7.js} +2 -2
  43. package/dist/cli-bundle/chunks/{chunk-AZYGZGGI.js → chunk-2TILG6F2.js} +3 -3
  44. package/dist/cli-bundle/chunks/{chunk-SMB7RV23.js → chunk-3G6UMXT3.js} +6 -8
  45. package/dist/cli-bundle/chunks/{chunk-SMB7RV23.js.map → chunk-3G6UMXT3.js.map} +1 -1
  46. package/dist/cli-bundle/chunks/{chunk-GJ7QC5DJ.js → chunk-3TYOW6RR.js} +8 -8
  47. package/dist/cli-bundle/chunks/{chunk-B6DUFX6H.js → chunk-3X542TEY.js} +7 -7
  48. package/dist/cli-bundle/chunks/{chunk-B6XS3R3O.js → chunk-42LXP4VO.js} +12 -16
  49. package/dist/cli-bundle/chunks/{chunk-B6XS3R3O.js.map → chunk-42LXP4VO.js.map} +1 -1
  50. package/dist/cli-bundle/chunks/{chunk-CL36D4PC.js → chunk-43SIHQND.js} +36 -15
  51. package/dist/cli-bundle/chunks/chunk-43SIHQND.js.map +7 -0
  52. package/dist/cli-bundle/chunks/{chunk-7D7OOEYG.js → chunk-43UQN754.js} +10 -14
  53. package/dist/cli-bundle/chunks/{chunk-7D7OOEYG.js.map → chunk-43UQN754.js.map} +1 -1
  54. package/dist/cli-bundle/chunks/{chunk-ALFPSEWO.js → chunk-43YSKY75.js} +4 -6
  55. package/dist/cli-bundle/chunks/{chunk-ALFPSEWO.js.map → chunk-43YSKY75.js.map} +1 -1
  56. package/dist/cli-bundle/chunks/{chunk-NO442GWJ.js → chunk-4BKDAEDF.js} +5 -5
  57. package/dist/cli-bundle/chunks/{chunk-NO442GWJ.js.map → chunk-4BKDAEDF.js.map} +2 -2
  58. package/dist/cli-bundle/chunks/{chunk-4LELACOL.js → chunk-4IQKDKGE.js} +15 -23
  59. package/dist/cli-bundle/chunks/{chunk-4LELACOL.js.map → chunk-4IQKDKGE.js.map} +1 -1
  60. package/dist/cli-bundle/chunks/{chunk-F3K4JGFD.js → chunk-4MZOKTI2.js} +6 -8
  61. package/dist/cli-bundle/chunks/{chunk-F3K4JGFD.js.map → chunk-4MZOKTI2.js.map} +1 -1
  62. package/dist/cli-bundle/chunks/{chunk-D2XRLB55.js → chunk-52NS7JDP.js} +14 -20
  63. package/dist/cli-bundle/chunks/{chunk-D2XRLB55.js.map → chunk-52NS7JDP.js.map} +1 -1
  64. package/dist/cli-bundle/chunks/{chunk-IX5BXEMX.js → chunk-565WYS5W.js} +12 -16
  65. package/dist/cli-bundle/chunks/{chunk-IX5BXEMX.js.map → chunk-565WYS5W.js.map} +1 -1
  66. package/dist/cli-bundle/chunks/{chunk-UH7T2DAX.js → chunk-5FIQ4EX3.js} +12 -18
  67. package/dist/cli-bundle/chunks/{chunk-UH7T2DAX.js.map → chunk-5FIQ4EX3.js.map} +1 -1
  68. package/dist/cli-bundle/chunks/{chunk-DMRNBQOI.js → chunk-6G6O3OPQ.js} +256 -36
  69. package/dist/cli-bundle/chunks/chunk-6G6O3OPQ.js.map +1 -0
  70. package/dist/cli-bundle/chunks/{chunk-G64OCSKU.js → chunk-6LCJRGPD.js} +9 -13
  71. package/dist/cli-bundle/chunks/{chunk-G64OCSKU.js.map → chunk-6LCJRGPD.js.map} +1 -1
  72. package/dist/cli-bundle/chunks/{chunk-7WBAJSS6.js → chunk-6UQCNWFV.js} +6 -8
  73. package/dist/cli-bundle/chunks/{chunk-7WBAJSS6.js.map → chunk-6UQCNWFV.js.map} +1 -1
  74. package/dist/cli-bundle/chunks/{chunk-ZSUS2OD3.js → chunk-6XTSYPPO.js} +1216 -387
  75. package/dist/cli-bundle/chunks/chunk-6XTSYPPO.js.map +7 -0
  76. package/dist/cli-bundle/chunks/chunk-7ML7JONU.js +5434 -0
  77. package/dist/cli-bundle/chunks/chunk-7ML7JONU.js.map +1 -0
  78. package/dist/cli-bundle/chunks/{chunk-ZZD4J5XY.js → chunk-7PNQA24K.js} +30 -36
  79. package/dist/cli-bundle/chunks/{chunk-ZZD4J5XY.js.map → chunk-7PNQA24K.js.map} +1 -1
  80. package/dist/cli-bundle/chunks/{chunk-JJP45OEI.js → chunk-7VQ3JJN5.js} +2 -2
  81. package/dist/cli-bundle/chunks/{chunk-OGWQ2IEP.js → chunk-7Y5N34HX.js} +8 -12
  82. package/dist/cli-bundle/chunks/{chunk-OGWQ2IEP.js.map → chunk-7Y5N34HX.js.map} +1 -1
  83. package/dist/cli-bundle/chunks/{chunk-MWMVPCIE.js → chunk-AGAVEDIE.js} +7 -7
  84. package/dist/cli-bundle/chunks/{chunk-22KBU3MW.js → chunk-AJUON7E6.js} +3 -3
  85. package/dist/cli-bundle/chunks/{chunk-ZJ262CED.js → chunk-ARKHKYYS.js} +13 -21
  86. package/dist/cli-bundle/chunks/{chunk-ZJ262CED.js.map → chunk-ARKHKYYS.js.map} +1 -1
  87. package/dist/cli-bundle/chunks/{chunk-46CUF5L6.js → chunk-C5ACVMOI.js} +99 -51
  88. package/dist/cli-bundle/chunks/chunk-C5ACVMOI.js.map +7 -0
  89. package/dist/cli-bundle/chunks/{chunk-LPSSSDJR.js → chunk-CJQM7O7R.js} +16 -20
  90. package/dist/cli-bundle/chunks/{chunk-LPSSSDJR.js.map → chunk-CJQM7O7R.js.map} +1 -1
  91. package/dist/cli-bundle/chunks/{chunk-GBAX2ZAQ.js → chunk-D2DCTFTL.js} +10 -12
  92. package/dist/cli-bundle/chunks/{chunk-GBAX2ZAQ.js.map → chunk-D2DCTFTL.js.map} +1 -1
  93. package/dist/cli-bundle/chunks/{chunk-XHET7YUZ.js → chunk-DDDWVPID.js} +8 -10
  94. package/dist/cli-bundle/chunks/{chunk-XHET7YUZ.js.map → chunk-DDDWVPID.js.map} +1 -1
  95. package/dist/cli-bundle/chunks/{chunk-HIHMT6WS.js → chunk-DG6BSXZ7.js} +5 -5
  96. package/dist/cli-bundle/chunks/{chunk-HIHMT6WS.js.map → chunk-DG6BSXZ7.js.map} +2 -2
  97. package/dist/cli-bundle/chunks/{chunk-IWVU4C2F.js → chunk-DR2V5OIV.js} +3 -3
  98. package/dist/cli-bundle/chunks/{chunk-ZGK4L4JM.js → chunk-E3LWJUGF.js} +4 -6
  99. package/dist/cli-bundle/chunks/{chunk-ZGK4L4JM.js.map → chunk-E3LWJUGF.js.map} +1 -1
  100. package/dist/cli-bundle/chunks/{chunk-XUC7PI2H.js → chunk-E3YQFSFE.js} +6 -10
  101. package/dist/cli-bundle/chunks/{chunk-XUC7PI2H.js.map → chunk-E3YQFSFE.js.map} +1 -1
  102. package/dist/cli-bundle/chunks/{chunk-XG625QP4.js → chunk-EDO7VXSO.js} +2 -2
  103. package/dist/cli-bundle/chunks/{chunk-MA4SM3QZ.js → chunk-EIUBK2LT.js} +12 -18
  104. package/dist/cli-bundle/chunks/{chunk-MA4SM3QZ.js.map → chunk-EIUBK2LT.js.map} +1 -1
  105. package/dist/cli-bundle/chunks/{chunk-YN7Y6DQZ.js → chunk-EMXPI36L.js} +14 -20
  106. package/dist/cli-bundle/chunks/{chunk-YN7Y6DQZ.js.map → chunk-EMXPI36L.js.map} +1 -1
  107. package/dist/cli-bundle/chunks/{chunk-MLIYFOE7.js → chunk-EOUVR7JN.js} +12 -8
  108. package/dist/cli-bundle/chunks/chunk-EOUVR7JN.js.map +1 -0
  109. package/dist/cli-bundle/chunks/{chunk-Y4M7CPQP.js → chunk-EVEPHNXJ.js} +4 -4
  110. package/dist/cli-bundle/chunks/{chunk-M7JNBQAD.js → chunk-F6MT7KKE.js} +4 -6
  111. package/dist/cli-bundle/chunks/{chunk-M7JNBQAD.js.map → chunk-F6MT7KKE.js.map} +1 -1
  112. package/dist/cli-bundle/chunks/{chunk-W3DSJQIO.js → chunk-F6YC2A6X.js} +7 -11
  113. package/dist/cli-bundle/chunks/{chunk-W3DSJQIO.js.map → chunk-F6YC2A6X.js.map} +1 -1
  114. package/dist/cli-bundle/chunks/chunk-FILL6BB2.js +5514 -0
  115. package/dist/cli-bundle/chunks/chunk-FILL6BB2.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-JDDLOQAE.js → chunk-FN6SB4HU.js} +2 -2
  117. package/dist/cli-bundle/chunks/chunk-GH73UOSJ.js +5359 -0
  118. package/dist/cli-bundle/chunks/chunk-GH73UOSJ.js.map +1 -0
  119. package/dist/cli-bundle/chunks/{chunk-EKFNL33R.js → chunk-GLS6VMWI.js} +37 -16
  120. package/dist/cli-bundle/chunks/chunk-GLS6VMWI.js.map +1 -0
  121. package/dist/cli-bundle/chunks/{chunk-HOVCGJSD.js → chunk-GPIDUMMN.js} +9 -11
  122. package/dist/cli-bundle/chunks/{chunk-HOVCGJSD.js.map → chunk-GPIDUMMN.js.map} +1 -1
  123. package/dist/cli-bundle/chunks/{chunk-SQOIV3OQ.js → chunk-GTM5HQL4.js} +11 -15
  124. package/dist/cli-bundle/chunks/{chunk-SQOIV3OQ.js.map → chunk-GTM5HQL4.js.map} +1 -1
  125. package/dist/cli-bundle/chunks/{chunk-24YG75HI.js → chunk-H2SMKL2N.js} +8 -8
  126. package/dist/cli-bundle/chunks/{chunk-QLMX7SRD.js → chunk-HHEWQXPD.js} +6 -6
  127. package/dist/cli-bundle/chunks/chunk-HHEWQXPD.js.map +7 -0
  128. package/dist/cli-bundle/chunks/{chunk-EGY6JBQ3.js → chunk-HX6QXV5P.js} +2 -2
  129. package/dist/cli-bundle/chunks/{chunk-4ZBE5GUN.js → chunk-I74FMIWA.js} +10 -16
  130. package/dist/cli-bundle/chunks/{chunk-4ZBE5GUN.js.map → chunk-I74FMIWA.js.map} +1 -1
  131. package/dist/cli-bundle/chunks/{chunk-3N6RRO2Q.js → chunk-IDIBF4E2.js} +20 -24
  132. package/dist/cli-bundle/chunks/{chunk-3N6RRO2Q.js.map → chunk-IDIBF4E2.js.map} +1 -1
  133. package/dist/cli-bundle/chunks/{chunk-6QBJLYBP.js → chunk-II7R6KD4.js} +8 -7
  134. package/dist/cli-bundle/chunks/{chunk-6QBJLYBP.js.map → chunk-II7R6KD4.js.map} +1 -1
  135. package/dist/cli-bundle/chunks/chunk-J2VGADNG.js +10320 -0
  136. package/dist/cli-bundle/chunks/chunk-J2VGADNG.js.map +1 -0
  137. package/dist/cli-bundle/chunks/{chunk-FT3QTERD.js → chunk-J7BOLHAV.js} +5 -7
  138. package/dist/cli-bundle/chunks/{chunk-FT3QTERD.js.map → chunk-J7BOLHAV.js.map} +1 -1
  139. package/dist/cli-bundle/chunks/{chunk-GANUTS7W.js → chunk-KTGJ2CBU.js} +4 -6
  140. package/dist/cli-bundle/chunks/{chunk-GANUTS7W.js.map → chunk-KTGJ2CBU.js.map} +1 -1
  141. package/dist/cli-bundle/chunks/{chunk-LK6XLOGP.js → chunk-LCFJ7XAM.js} +22 -2
  142. package/dist/cli-bundle/chunks/{chunk-LK6XLOGP.js.map → chunk-LCFJ7XAM.js.map} +3 -3
  143. package/dist/cli-bundle/chunks/{chunk-3UJRFJ5R.js → chunk-LZQU6XJG.js} +28 -34
  144. package/dist/cli-bundle/chunks/{chunk-3UJRFJ5R.js.map → chunk-LZQU6XJG.js.map} +1 -1
  145. package/dist/cli-bundle/chunks/{chunk-L5PSPMZ4.js → chunk-M62RO3XK.js} +10 -14
  146. package/dist/cli-bundle/chunks/{chunk-L5PSPMZ4.js.map → chunk-M62RO3XK.js.map} +1 -1
  147. package/dist/cli-bundle/chunks/{chunk-CFB33L7W.js → chunk-MCEUKJKW.js} +12 -14
  148. package/dist/cli-bundle/chunks/{chunk-CFB33L7W.js.map → chunk-MCEUKJKW.js.map} +1 -1
  149. package/dist/cli-bundle/chunks/{chunk-TKD5VCTD.js → chunk-MHNMCDWR.js} +343 -195
  150. package/dist/cli-bundle/chunks/chunk-MHNMCDWR.js.map +1 -0
  151. package/dist/cli-bundle/chunks/{chunk-O6AWCQRQ.js → chunk-MRFWUSVA.js} +4 -6
  152. package/dist/cli-bundle/chunks/{chunk-O6AWCQRQ.js.map → chunk-MRFWUSVA.js.map} +1 -1
  153. package/dist/cli-bundle/chunks/{chunk-SQYJ4HF2.js → chunk-N6ZHDLUY.js} +6 -8
  154. package/dist/cli-bundle/chunks/{chunk-SQYJ4HF2.js.map → chunk-N6ZHDLUY.js.map} +1 -1
  155. package/dist/cli-bundle/chunks/{chunk-ZWBEPGD7.js → chunk-NWWL22C7.js} +7 -9
  156. package/dist/cli-bundle/chunks/{chunk-ZWBEPGD7.js.map → chunk-NWWL22C7.js.map} +1 -1
  157. package/dist/cli-bundle/chunks/{chunk-Y46GD4IX.js → chunk-P3MJJW7P.js} +2 -2
  158. package/dist/cli-bundle/chunks/{chunk-MVYWGY2A.js → chunk-PDXJXEZJ.js} +2 -2
  159. package/dist/cli-bundle/chunks/{chunk-SGMFPXKR.js → chunk-Q64AYQYW.js} +10 -12
  160. package/dist/cli-bundle/chunks/{chunk-SGMFPXKR.js.map → chunk-Q64AYQYW.js.map} +1 -1
  161. package/dist/cli-bundle/chunks/{chunk-EBRZZ54H.js → chunk-QDABF2RB.js} +26 -34
  162. package/dist/cli-bundle/chunks/{chunk-EBRZZ54H.js.map → chunk-QDABF2RB.js.map} +1 -1
  163. package/dist/cli-bundle/chunks/{chunk-TULGS6X6.js → chunk-QFBSP3NI.js} +529 -46
  164. package/dist/cli-bundle/chunks/chunk-QFBSP3NI.js.map +1 -0
  165. package/dist/cli-bundle/chunks/{chunk-GDDAGPWJ.js → chunk-RB3KLPAH.js} +10 -14
  166. package/dist/cli-bundle/chunks/{chunk-GDDAGPWJ.js.map → chunk-RB3KLPAH.js.map} +1 -1
  167. package/dist/cli-bundle/chunks/{chunk-3VHSI5FL.js → chunk-RY7PTTUB.js} +94 -53
  168. package/dist/cli-bundle/chunks/chunk-RY7PTTUB.js.map +1 -0
  169. package/dist/cli-bundle/chunks/{chunk-COSPOP7H.js → chunk-S547WBYG.js} +343 -195
  170. package/dist/cli-bundle/chunks/chunk-S547WBYG.js.map +7 -0
  171. package/dist/cli-bundle/chunks/{chunk-NZEHECMW.js → chunk-S5BNGFN5.js} +24 -32
  172. package/dist/cli-bundle/chunks/{chunk-NZEHECMW.js.map → chunk-S5BNGFN5.js.map} +1 -1
  173. package/dist/cli-bundle/chunks/{chunk-MVSP7WGJ.js → chunk-S6VC2A2K.js} +8 -12
  174. package/dist/cli-bundle/chunks/{chunk-MVSP7WGJ.js.map → chunk-S6VC2A2K.js.map} +1 -1
  175. package/dist/cli-bundle/chunks/{chunk-45FYNUFJ.js → chunk-SIM5JDON.js} +6 -6
  176. package/dist/cli-bundle/chunks/{chunk-45FYNUFJ.js.map → chunk-SIM5JDON.js.map} +1 -1
  177. package/dist/cli-bundle/chunks/{chunk-VPIM42PC.js → chunk-SY75LYXR.js} +11 -7
  178. package/dist/cli-bundle/chunks/chunk-SY75LYXR.js.map +7 -0
  179. package/dist/cli-bundle/chunks/{chunk-K46RF36U.js → chunk-TEISGNSH.js} +7 -7
  180. package/dist/cli-bundle/chunks/chunk-TEISGNSH.js.map +1 -0
  181. package/dist/cli-bundle/chunks/{chunk-AGHMOTGM.js → chunk-TEKZOS7M.js} +2 -2
  182. package/dist/cli-bundle/chunks/{chunk-W572BIEB.js → chunk-TGUK6XN6.js} +14 -18
  183. package/dist/cli-bundle/chunks/{chunk-W572BIEB.js.map → chunk-TGUK6XN6.js.map} +1 -1
  184. package/dist/cli-bundle/chunks/{chunk-E42XTBSP.js → chunk-TNC6MZUD.js} +8 -12
  185. package/dist/cli-bundle/chunks/{chunk-E42XTBSP.js.map → chunk-TNC6MZUD.js.map} +1 -1
  186. package/dist/cli-bundle/chunks/chunk-TZLYO4PP.js +10498 -0
  187. package/dist/cli-bundle/chunks/chunk-TZLYO4PP.js.map +7 -0
  188. package/dist/cli-bundle/chunks/{chunk-57NWPFF2.js → chunk-UO7XAZK6.js} +17 -4
  189. package/dist/cli-bundle/chunks/chunk-UO7XAZK6.js.map +1 -0
  190. package/dist/cli-bundle/chunks/{chunk-JVH7QBVV.js → chunk-V5ZWKJNY.js} +2 -2
  191. package/dist/cli-bundle/chunks/{chunk-I36Y7PCE.js → chunk-VGO73OCK.js} +6 -6
  192. package/dist/cli-bundle/chunks/{chunk-I36Y7PCE.js.map → chunk-VGO73OCK.js.map} +1 -1
  193. package/dist/cli-bundle/chunks/{chunk-KUOOJR35.js → chunk-VLEA2UTQ.js} +2 -2
  194. package/dist/cli-bundle/chunks/{chunk-RCQZK2GO.js → chunk-W5HXHC7C.js} +7 -9
  195. package/dist/cli-bundle/chunks/{chunk-RCQZK2GO.js.map → chunk-W5HXHC7C.js.map} +1 -1
  196. package/dist/cli-bundle/chunks/{chunk-MUH7A3FD.js → chunk-WCWVEXGA.js} +2 -2
  197. package/dist/cli-bundle/chunks/chunk-X47MKQXU.js +6690 -0
  198. package/dist/cli-bundle/chunks/chunk-X47MKQXU.js.map +7 -0
  199. package/dist/cli-bundle/chunks/{chunk-NB7RLQFW.js → chunk-XBX5CBRQ.js} +5 -7
  200. package/dist/cli-bundle/chunks/{chunk-NB7RLQFW.js.map → chunk-XBX5CBRQ.js.map} +1 -1
  201. package/dist/cli-bundle/chunks/{chunk-SCUR7K7N.js → chunk-XC3X7BQR.js} +541 -44
  202. package/dist/cli-bundle/chunks/chunk-XC3X7BQR.js.map +7 -0
  203. package/dist/cli-bundle/chunks/{chunk-CRVYGJUI.js → chunk-XHCVAZGM.js} +13 -17
  204. package/dist/cli-bundle/chunks/{chunk-CRVYGJUI.js.map → chunk-XHCVAZGM.js.map} +1 -1
  205. package/dist/cli-bundle/chunks/{chunk-XB7KFVFI.js → chunk-XPMXPR7K.js} +7 -9
  206. package/dist/cli-bundle/chunks/{chunk-XB7KFVFI.js.map → chunk-XPMXPR7K.js.map} +1 -1
  207. package/dist/cli-bundle/chunks/{chunk-4CJFCTLM.js → chunk-XS2TMNXR.js} +6 -8
  208. package/dist/cli-bundle/chunks/{chunk-4CJFCTLM.js.map → chunk-XS2TMNXR.js.map} +1 -1
  209. package/dist/cli-bundle/chunks/{chunk-HFDADVJZ.js → chunk-XXIYUTLK.js} +10 -14
  210. package/dist/cli-bundle/chunks/{chunk-HFDADVJZ.js.map → chunk-XXIYUTLK.js.map} +1 -1
  211. package/dist/cli-bundle/chunks/{chunk-EOKXK3R3.js → chunk-XZWL7VNE.js} +1220 -398
  212. package/dist/cli-bundle/chunks/chunk-XZWL7VNE.js.map +1 -0
  213. package/dist/cli-bundle/chunks/chunk-Y5IKRUEM.js +6624 -0
  214. package/dist/cli-bundle/chunks/chunk-Y5IKRUEM.js.map +1 -0
  215. package/dist/cli-bundle/chunks/{chunk-6LLVNJXT.js → chunk-Y7KYVCZM.js} +12 -18
  216. package/dist/cli-bundle/chunks/{chunk-6LLVNJXT.js.map → chunk-Y7KYVCZM.js.map} +1 -1
  217. package/dist/cli-bundle/chunks/{chunk-VIIUS6N6.js → chunk-YCVWWIKY.js} +16 -14
  218. package/dist/cli-bundle/chunks/chunk-YCVWWIKY.js.map +7 -0
  219. package/dist/cli-bundle/chunks/{chunk-CFNGIXZP.js → chunk-YH5NBDFA.js} +22 -26
  220. package/dist/cli-bundle/chunks/{chunk-CFNGIXZP.js.map → chunk-YH5NBDFA.js.map} +1 -1
  221. package/dist/cli-bundle/chunks/chunk-YNCFP5AR.js +5509 -0
  222. package/dist/cli-bundle/chunks/chunk-YNCFP5AR.js.map +7 -0
  223. package/dist/cli-bundle/chunks/{chunk-NC33K5ZS.js → chunk-YPD7SQ5P.js} +7 -6
  224. package/dist/cli-bundle/chunks/{chunk-NC33K5ZS.js.map → chunk-YPD7SQ5P.js.map} +2 -2
  225. package/dist/cli-bundle/chunks/{chunk-NGXQ3PFT.js → chunk-YPMZMKN7.js} +2 -2
  226. package/dist/cli-bundle/chunks/{chunk-KGFUY7WN.js → chunk-YTD5GICJ.js} +4 -4
  227. package/dist/cli-bundle/chunks/{chunk-W6DYWXPQ.js → chunk-ZNEG2UDO.js} +261 -34
  228. package/dist/cli-bundle/chunks/{chunk-W6DYWXPQ.js.map → chunk-ZNEG2UDO.js.map} +4 -4
  229. package/dist/cli-bundle/chunks/{chunk-7DT4WSH2.js → chunk-ZO7CLOY2.js} +3 -3
  230. package/dist/cli-bundle/chunks/{close-2SSSHHUZ.js → close-3YYQ5OG2.js} +5 -9
  231. package/dist/cli-bundle/chunks/close-Z3Q4U7TS.js +12 -0
  232. package/dist/cli-bundle/chunks/close-many-3L2RXH3M.js +22 -0
  233. package/dist/cli-bundle/chunks/close-many-D366FTIG.js +26 -0
  234. package/dist/cli-bundle/chunks/comments-54XDJNFE.js +17 -0
  235. package/dist/cli-bundle/chunks/comments-HGHC2PN6.js +13 -0
  236. package/dist/cli-bundle/chunks/{copy-32ROBIDL.js → copy-44RT5GDW.js} +4 -8
  237. package/dist/cli-bundle/chunks/copy-UGMUGHZA.js +9 -0
  238. package/dist/cli-bundle/chunks/{create-E77SDCUP.js → create-4GWJWPXG.js} +9 -14
  239. package/dist/cli-bundle/chunks/create-AZXCUYKP.js +25 -0
  240. package/dist/cli-bundle/chunks/delete-Y6SXIQ4X.js +10 -0
  241. package/dist/cli-bundle/chunks/{delete-RA5KTCLB.js → delete-YQ2VPXNF.js} +4 -8
  242. package/dist/cli-bundle/chunks/{deps-32SU7HO5.js → deps-BU5EBJDU.js} +4 -8
  243. package/dist/cli-bundle/chunks/deps-FMANWFRP.js +13 -0
  244. package/dist/cli-bundle/chunks/{docs-RRUPT7O2.js → docs-OQBSJNIA.js} +6 -10
  245. package/dist/cli-bundle/chunks/docs-VNPBZXEL.js +14 -0
  246. package/dist/cli-bundle/chunks/files-72HZEBOE.js +18 -0
  247. package/dist/cli-bundle/chunks/{files-PYKR2UUG.js → files-HTSB2KJG.js} +6 -10
  248. package/dist/cli-bundle/chunks/{contracts-NYPEW2G4.js → focus-FOG4ALC2.js} +7 -9
  249. package/dist/cli-bundle/chunks/focus-SUTMKXGX.js +10 -0
  250. package/dist/cli-bundle/chunks/{history-compact-3MNXLKAT.js → history-compact-M6IFAMBP.js} +9 -13
  251. package/dist/cli-bundle/chunks/history-compact-NEXRPP2O.js +21 -0
  252. package/dist/cli-bundle/chunks/{history-redact-P6DYF55G.js → history-redact-NQX3OGZP.js} +7 -11
  253. package/dist/cli-bundle/chunks/history-redact-WQJBZ3PX.js +17 -0
  254. package/dist/cli-bundle/chunks/history-repair-CBHMHAJO.js +19 -0
  255. package/dist/cli-bundle/chunks/{history-repair-ZJQFMWPD.js → history-repair-NHOJG7WO.js} +9 -13
  256. package/dist/cli-bundle/chunks/learnings-M64NTSOR.js +13 -0
  257. package/dist/cli-bundle/chunks/{append-BGML6VLD.js → learnings-T63JGKKN.js} +9 -11
  258. package/dist/cli-bundle/chunks/notes-73WE2UV2.js +13 -0
  259. package/dist/cli-bundle/chunks/notes-U7L6HQQ2.js +17 -0
  260. package/dist/cli-bundle/chunks/plan-OSCNYFGC.js +24 -0
  261. package/dist/cli-bundle/chunks/{plan-CHVE7PBR.js → plan-TN537L24.js} +10 -15
  262. package/dist/cli-bundle/chunks/{profile-ZXGSKBJD.js → profile-MHAMXMHQ.js} +9 -13
  263. package/dist/cli-bundle/chunks/{profile-LD23PSI6.js → profile-TIGLAKJ7.js} +9 -13
  264. package/dist/cli-bundle/chunks/{register-list-query-OEYQHFXO.js → register-list-query-OHXD7G5N.js} +41 -33
  265. package/dist/cli-bundle/chunks/register-list-query-OHXD7G5N.js.map +7 -0
  266. package/dist/cli-bundle/chunks/{register-list-query-B42JCCOI.js → register-list-query-ZCRABAPN.js} +42 -34
  267. package/dist/cli-bundle/chunks/register-list-query-ZCRABAPN.js.map +1 -0
  268. package/dist/cli-bundle/chunks/{register-mutation-IAEST26S.js → register-mutation-P3G4XP6Q.js} +36 -41
  269. package/dist/cli-bundle/chunks/{register-mutation-IAEST26S.js.map → register-mutation-P3G4XP6Q.js.map} +1 -1
  270. package/dist/cli-bundle/chunks/{register-mutation-3QXIHCQG.js → register-mutation-XX4H56PE.js} +34 -39
  271. package/dist/cli-bundle/chunks/{register-mutation-3QXIHCQG.js.map → register-mutation-XX4H56PE.js.map} +1 -1
  272. package/dist/cli-bundle/chunks/{chunk-5BMM6XQY.js → register-operations-V6PIYEDU.js} +79 -46
  273. package/dist/cli-bundle/chunks/register-operations-V6PIYEDU.js.map +1 -0
  274. package/dist/cli-bundle/chunks/{chunk-Z3U3U5KD.js → register-operations-V6VKTG54.js} +78 -45
  275. package/dist/cli-bundle/chunks/register-operations-V6VKTG54.js.map +7 -0
  276. package/dist/cli-bundle/chunks/{register-setup-3ZVVX2VN.js → register-setup-6RVAWT6W.js} +129 -29
  277. package/dist/cli-bundle/chunks/register-setup-6RVAWT6W.js.map +7 -0
  278. package/dist/cli-bundle/chunks/{register-setup-Q6KFNIOZ.js → register-setup-6YVUSQYD.js} +130 -30
  279. package/dist/cli-bundle/chunks/register-setup-6YVUSQYD.js.map +1 -0
  280. package/dist/cli-bundle/chunks/{restore-5RQHAPMA.js → restore-HC3YSWF7.js} +7 -11
  281. package/dist/cli-bundle/chunks/restore-LFAMMRYZ.js +15 -0
  282. package/dist/cli-bundle/chunks/{schema-HBORFC6B.js → schema-DAGSYO6E.js} +6 -10
  283. package/dist/cli-bundle/chunks/{schema-245WW4G2.js → schema-UBXJCQAC.js} +6 -10
  284. package/dist/cli-bundle/chunks/update-CJGG5WMV.js +21 -0
  285. package/dist/cli-bundle/chunks/update-LKD64AFP.js +25 -0
  286. package/dist/cli-bundle/chunks/update-many-G4SM7BHC.js +31 -0
  287. package/dist/cli-bundle/chunks/update-many-VLIV3D7R.js +35 -0
  288. package/dist/cli-bundle/main.js +29 -31
  289. package/dist/cli-bundle/main.js.map +2 -2
  290. package/dist/cli-bundle/sdk-runtime.js +129 -107
  291. package/dist/cli-bundle/sdk-testing.js +7 -8
  292. package/dist/cli-bundle/sdk.js +122 -117
  293. package/dist/cli-bundle/sdk.js.map +2 -2
  294. package/dist/core/history/drift-scan.js +3 -8
  295. package/dist/core/history/drift-scan.js.map +1 -1
  296. package/dist/core/output/mutation-projection.js +11 -5
  297. package/dist/core/output/mutation-projection.js.map +1 -1
  298. package/dist/core/search/cache.js +3 -3
  299. package/dist/core/search/cache.js.map +1 -1
  300. package/dist/core/search/semantic-defaults.d.ts +2 -0
  301. package/dist/core/search/semantic-defaults.js +11 -4
  302. package/dist/core/search/semantic-defaults.js.map +1 -1
  303. package/dist/core/search/vector-stores.d.ts +1 -1
  304. package/dist/core/search/vector-stores.js +33 -7
  305. package/dist/core/search/vector-stores.js.map +1 -1
  306. package/dist/mcp/server.d.ts +1 -1
  307. package/dist/sdk/cli-contracts/flag-contracts.js +7 -7
  308. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  309. package/dist/sdk/cli-contracts/tool-schema.js +9 -7
  310. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  311. package/dist/sdk/index.d.ts +1 -1
  312. package/dist/sdk/index.js +3 -3
  313. package/dist/sdk/index.js.map +1 -1
  314. package/dist/sdk/runtime.d.ts +151 -8
  315. package/dist/sdk/runtime.js +255 -14
  316. package/dist/sdk/runtime.js.map +1 -1
  317. package/dist/sdk/start-task-status.d.ts +13 -0
  318. package/dist/sdk/start-task-status.js +19 -0
  319. package/dist/sdk/start-task-status.js.map +1 -0
  320. package/docs/COMMANDS.md +10 -1
  321. package/docs/SDK.md +35 -0
  322. package/docs/TESTING.md +3 -0
  323. package/package.json +1 -1
  324. package/dist/cli-bundle/chunks/activity-WJCGCYPU.js +0 -18
  325. package/dist/cli-bundle/chunks/activity-Z6QUAUSG.js +0 -22
  326. package/dist/cli-bundle/chunks/aggregate-BDM6EIAR.js +0 -25
  327. package/dist/cli-bundle/chunks/aggregate-VQ2DHU3S.js +0 -21
  328. package/dist/cli-bundle/chunks/append-RKJYPU74.js +0 -15
  329. package/dist/cli-bundle/chunks/chunk-2XG4IZON.js +0 -218
  330. package/dist/cli-bundle/chunks/chunk-2XG4IZON.js.map +0 -7
  331. package/dist/cli-bundle/chunks/chunk-37E72CNS.js +0 -217
  332. package/dist/cli-bundle/chunks/chunk-37E72CNS.js.map +0 -1
  333. package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js +0 -228
  334. package/dist/cli-bundle/chunks/chunk-3GCS5SKL.js.map +0 -1
  335. package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js +0 -2330
  336. package/dist/cli-bundle/chunks/chunk-3KTN6IBA.js.map +0 -7
  337. package/dist/cli-bundle/chunks/chunk-3VHSI5FL.js.map +0 -1
  338. package/dist/cli-bundle/chunks/chunk-425E4QL5.js +0 -278
  339. package/dist/cli-bundle/chunks/chunk-425E4QL5.js.map +0 -7
  340. package/dist/cli-bundle/chunks/chunk-46CUF5L6.js.map +0 -7
  341. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +0 -87
  342. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +0 -7
  343. package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js +0 -249
  344. package/dist/cli-bundle/chunks/chunk-4HIFVN7N.js.map +0 -7
  345. package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js +0 -819
  346. package/dist/cli-bundle/chunks/chunk-4IWYTWGF.js.map +0 -1
  347. package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js +0 -279
  348. package/dist/cli-bundle/chunks/chunk-4MZVRJOE.js.map +0 -1
  349. package/dist/cli-bundle/chunks/chunk-57NWPFF2.js.map +0 -1
  350. package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js +0 -268
  351. package/dist/cli-bundle/chunks/chunk-5AJXHQM7.js.map +0 -1
  352. package/dist/cli-bundle/chunks/chunk-5BMM6XQY.js.map +0 -1
  353. package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js +0 -1868
  354. package/dist/cli-bundle/chunks/chunk-5GZ7TDD6.js.map +0 -7
  355. package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js +0 -1749
  356. package/dist/cli-bundle/chunks/chunk-5VAA4YHR.js.map +0 -7
  357. package/dist/cli-bundle/chunks/chunk-64YKRTSV.js +0 -1961
  358. package/dist/cli-bundle/chunks/chunk-64YKRTSV.js.map +0 -1
  359. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js +0 -23
  360. package/dist/cli-bundle/chunks/chunk-7C2O74AE.js.map +0 -7
  361. package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js +0 -421
  362. package/dist/cli-bundle/chunks/chunk-B7FRNMYN.js.map +0 -1
  363. package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js +0 -1985
  364. package/dist/cli-bundle/chunks/chunk-C5JBZRPU.js.map +0 -7
  365. package/dist/cli-bundle/chunks/chunk-CL36D4PC.js.map +0 -7
  366. package/dist/cli-bundle/chunks/chunk-COSPOP7H.js.map +0 -7
  367. package/dist/cli-bundle/chunks/chunk-COWTDV6B.js +0 -3461
  368. package/dist/cli-bundle/chunks/chunk-COWTDV6B.js.map +0 -7
  369. package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js +0 -1858
  370. package/dist/cli-bundle/chunks/chunk-DEWEK6AN.js.map +0 -1
  371. package/dist/cli-bundle/chunks/chunk-DMRNBQOI.js.map +0 -1
  372. package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js +0 -1932
  373. package/dist/cli-bundle/chunks/chunk-E3SZTQ4K.js.map +0 -1
  374. package/dist/cli-bundle/chunks/chunk-EGAP5OWD.js.map +0 -1
  375. package/dist/cli-bundle/chunks/chunk-EKFNL33R.js.map +0 -1
  376. package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js +0 -1704
  377. package/dist/cli-bundle/chunks/chunk-ENGQOEUY.js.map +0 -1
  378. package/dist/cli-bundle/chunks/chunk-EOKXK3R3.js.map +0 -1
  379. package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js +0 -231
  380. package/dist/cli-bundle/chunks/chunk-FLZSGSQR.js.map +0 -7
  381. package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js +0 -2090
  382. package/dist/cli-bundle/chunks/chunk-FOUYJE4A.js.map +0 -1
  383. package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js +0 -1570
  384. package/dist/cli-bundle/chunks/chunk-G24G7ZAV.js.map +0 -1
  385. package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js +0 -239
  386. package/dist/cli-bundle/chunks/chunk-GEYZ4G4O.js.map +0 -1
  387. package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js +0 -530
  388. package/dist/cli-bundle/chunks/chunk-GPLPTGOV.js.map +0 -7
  389. package/dist/cli-bundle/chunks/chunk-GZRDYONU.js +0 -1005
  390. package/dist/cli-bundle/chunks/chunk-GZRDYONU.js.map +0 -7
  391. package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js +0 -277
  392. package/dist/cli-bundle/chunks/chunk-HN6NSXNW.js.map +0 -7
  393. package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js +0 -309
  394. package/dist/cli-bundle/chunks/chunk-IQNVQHOP.js.map +0 -7
  395. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js +0 -371
  396. package/dist/cli-bundle/chunks/chunk-JINYH2DB.js.map +0 -7
  397. package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js +0 -2257
  398. package/dist/cli-bundle/chunks/chunk-JQXPY7DN.js.map +0 -7
  399. package/dist/cli-bundle/chunks/chunk-K46RF36U.js.map +0 -1
  400. package/dist/cli-bundle/chunks/chunk-KERMZVY5.js +0 -371
  401. package/dist/cli-bundle/chunks/chunk-KERMZVY5.js.map +0 -7
  402. package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js +0 -76
  403. package/dist/cli-bundle/chunks/chunk-KSRUHV2H.js.map +0 -1
  404. package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js +0 -140
  405. package/dist/cli-bundle/chunks/chunk-LP3HSFZ2.js.map +0 -1
  406. package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js +0 -1601
  407. package/dist/cli-bundle/chunks/chunk-MAWDPCJW.js.map +0 -1
  408. package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js +0 -1031
  409. package/dist/cli-bundle/chunks/chunk-MFAZSEM5.js.map +0 -1
  410. package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js +0 -995
  411. package/dist/cli-bundle/chunks/chunk-MFSCBT5Q.js.map +0 -1
  412. package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js +0 -296
  413. package/dist/cli-bundle/chunks/chunk-ML5X7DP2.js.map +0 -1
  414. package/dist/cli-bundle/chunks/chunk-MLIYFOE7.js.map +0 -1
  415. package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js +0 -2043
  416. package/dist/cli-bundle/chunks/chunk-MR6FJ7LL.js.map +0 -7
  417. package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js +0 -2033
  418. package/dist/cli-bundle/chunks/chunk-MXYA5SAJ.js.map +0 -1
  419. package/dist/cli-bundle/chunks/chunk-N745W3B3.js +0 -1604
  420. package/dist/cli-bundle/chunks/chunk-N745W3B3.js.map +0 -7
  421. package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js +0 -1615
  422. package/dist/cli-bundle/chunks/chunk-NMP5I3I5.js.map +0 -7
  423. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js +0 -20
  424. package/dist/cli-bundle/chunks/chunk-NNHHXJB2.js.map +0 -1
  425. package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js +0 -143
  426. package/dist/cli-bundle/chunks/chunk-PZUGEOPS.js.map +0 -7
  427. package/dist/cli-bundle/chunks/chunk-QLMX7SRD.js.map +0 -7
  428. package/dist/cli-bundle/chunks/chunk-QX6HM775.js +0 -398
  429. package/dist/cli-bundle/chunks/chunk-QX6HM775.js.map +0 -7
  430. package/dist/cli-bundle/chunks/chunk-QZ342C63.js +0 -220
  431. package/dist/cli-bundle/chunks/chunk-QZ342C63.js.map +0 -7
  432. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js +0 -368
  433. package/dist/cli-bundle/chunks/chunk-R2EMWY7Q.js.map +0 -1
  434. package/dist/cli-bundle/chunks/chunk-RFNYTESG.js +0 -520
  435. package/dist/cli-bundle/chunks/chunk-RFNYTESG.js.map +0 -1
  436. package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js +0 -79
  437. package/dist/cli-bundle/chunks/chunk-RKQOO2UM.js.map +0 -7
  438. package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js +0 -282
  439. package/dist/cli-bundle/chunks/chunk-RQLT6ZWB.js.map +0 -7
  440. package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js +0 -274
  441. package/dist/cli-bundle/chunks/chunk-S3JS6YVZ.js.map +0 -1
  442. package/dist/cli-bundle/chunks/chunk-SCUR7K7N.js.map +0 -7
  443. package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js +0 -1977
  444. package/dist/cli-bundle/chunks/chunk-SHQY2IDC.js.map +0 -7
  445. package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js +0 -1041
  446. package/dist/cli-bundle/chunks/chunk-SPZ6DOGY.js.map +0 -7
  447. package/dist/cli-bundle/chunks/chunk-T42JWV3F.js +0 -822
  448. package/dist/cli-bundle/chunks/chunk-T42JWV3F.js.map +0 -7
  449. package/dist/cli-bundle/chunks/chunk-TKD5VCTD.js.map +0 -1
  450. package/dist/cli-bundle/chunks/chunk-TULGS6X6.js.map +0 -1
  451. package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js +0 -2306
  452. package/dist/cli-bundle/chunks/chunk-TZXRBVAM.js.map +0 -1
  453. package/dist/cli-bundle/chunks/chunk-VIIUS6N6.js.map +0 -7
  454. package/dist/cli-bundle/chunks/chunk-VPIM42PC.js.map +0 -7
  455. package/dist/cli-bundle/chunks/chunk-VQRSPVME.js +0 -368
  456. package/dist/cli-bundle/chunks/chunk-VQRSPVME.js.map +0 -1
  457. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +0 -84
  458. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +0 -1
  459. package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js +0 -3423
  460. package/dist/cli-bundle/chunks/chunk-WG34ZNQQ.js.map +0 -1
  461. package/dist/cli-bundle/chunks/chunk-WLSM645P.js +0 -2247
  462. package/dist/cli-bundle/chunks/chunk-WLSM645P.js.map +0 -1
  463. package/dist/cli-bundle/chunks/chunk-WRTENIX3.js +0 -215
  464. package/dist/cli-bundle/chunks/chunk-WRTENIX3.js.map +0 -1
  465. package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js +0 -388
  466. package/dist/cli-bundle/chunks/chunk-WSBLYDWV.js.map +0 -1
  467. package/dist/cli-bundle/chunks/chunk-XC5BURG2.js +0 -306
  468. package/dist/cli-bundle/chunks/chunk-XC5BURG2.js.map +0 -1
  469. package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js +0 -424
  470. package/dist/cli-bundle/chunks/chunk-XDB7RWQT.js.map +0 -7
  471. package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js +0 -2128
  472. package/dist/cli-bundle/chunks/chunk-Y6BK55A3.js.map +0 -7
  473. package/dist/cli-bundle/chunks/chunk-Z3U3U5KD.js.map +0 -7
  474. package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js +0 -299
  475. package/dist/cli-bundle/chunks/chunk-ZO3XKAOP.js.map +0 -7
  476. package/dist/cli-bundle/chunks/chunk-ZSUS2OD3.js.map +0 -7
  477. package/dist/cli-bundle/chunks/claim-RFS7BROJ.js +0 -19
  478. package/dist/cli-bundle/chunks/claim-XP5AWZ5H.js +0 -23
  479. package/dist/cli-bundle/chunks/close-GEANHQ2J.js +0 -16
  480. package/dist/cli-bundle/chunks/close-many-CMZW7ITN.js +0 -31
  481. package/dist/cli-bundle/chunks/close-many-ZFDIG6M7.js +0 -27
  482. package/dist/cli-bundle/chunks/comments-MFSYVNNU.js +0 -21
  483. package/dist/cli-bundle/chunks/comments-XUBPXDYX.js +0 -17
  484. package/dist/cli-bundle/chunks/config-D7XQMONX.js +0 -18
  485. package/dist/cli-bundle/chunks/config-T4FHBSYN.js +0 -22
  486. package/dist/cli-bundle/chunks/context-DIU275XI.js +0 -48
  487. package/dist/cli-bundle/chunks/context-JCOYB4LZ.js +0 -44
  488. package/dist/cli-bundle/chunks/contracts-BVO7CSLK.js +0 -12
  489. package/dist/cli-bundle/chunks/copy-NAGLGMHZ.js +0 -13
  490. package/dist/cli-bundle/chunks/create-4V7SWNBB.js +0 -30
  491. package/dist/cli-bundle/chunks/delete-NQI5OSKN.js +0 -14
  492. package/dist/cli-bundle/chunks/deps-T7SCWXEX.js +0 -17
  493. package/dist/cli-bundle/chunks/docs-WL2IWGWV.js +0 -18
  494. package/dist/cli-bundle/chunks/eval-NF2J5SHR.js +0 -23
  495. package/dist/cli-bundle/chunks/eval-SKDT3MZU.js +0 -27
  496. package/dist/cli-bundle/chunks/extension-LAXKCAYE.js +0 -42
  497. package/dist/cli-bundle/chunks/extension-ZISPBRBC.js +0 -38
  498. package/dist/cli-bundle/chunks/files-EWRQHGIS.js +0 -22
  499. package/dist/cli-bundle/chunks/focus-4T7TM4MT.js +0 -18
  500. package/dist/cli-bundle/chunks/focus-L3YUASOD.js +0 -14
  501. package/dist/cli-bundle/chunks/gc-2PCTYYRI.js +0 -12
  502. package/dist/cli-bundle/chunks/get-7DMITJ3G.js +0 -23
  503. package/dist/cli-bundle/chunks/get-VKQXCXLL.js +0 -19
  504. package/dist/cli-bundle/chunks/health-CVSTAR2F.js +0 -31
  505. package/dist/cli-bundle/chunks/health-TV3GKTFN.js +0 -35
  506. package/dist/cli-bundle/chunks/history-D4JUX5XV.js +0 -20
  507. package/dist/cli-bundle/chunks/history-D4JUX5XV.js.map +0 -7
  508. package/dist/cli-bundle/chunks/history-LQ2UWZTE.js +0 -24
  509. package/dist/cli-bundle/chunks/history-LQ2UWZTE.js.map +0 -1
  510. package/dist/cli-bundle/chunks/history-compact-3MNXLKAT.js.map +0 -1
  511. package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js +0 -25
  512. package/dist/cli-bundle/chunks/history-compact-QWEO32FP.js.map +0 -7
  513. package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js +0 -21
  514. package/dist/cli-bundle/chunks/history-redact-3OIVBVIY.js.map +0 -7
  515. package/dist/cli-bundle/chunks/history-redact-P6DYF55G.js.map +0 -1
  516. package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js +0 -23
  517. package/dist/cli-bundle/chunks/history-repair-I3E73UGQ.js.map +0 -7
  518. package/dist/cli-bundle/chunks/history-repair-ZJQFMWPD.js.map +0 -1
  519. package/dist/cli-bundle/chunks/init-C3LJPWQZ.js +0 -30
  520. package/dist/cli-bundle/chunks/init-C3LJPWQZ.js.map +0 -1
  521. package/dist/cli-bundle/chunks/init-J3DPGWQI.js +0 -26
  522. package/dist/cli-bundle/chunks/init-J3DPGWQI.js.map +0 -7
  523. package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js +0 -21
  524. package/dist/cli-bundle/chunks/learnings-5BO2SNDW.js.map +0 -1
  525. package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js +0 -17
  526. package/dist/cli-bundle/chunks/learnings-OGP4JB4I.js.map +0 -7
  527. package/dist/cli-bundle/chunks/list-O5NZVSPN.js +0 -36
  528. package/dist/cli-bundle/chunks/list-O5NZVSPN.js.map +0 -1
  529. package/dist/cli-bundle/chunks/list-Z55YCNTC.js +0 -32
  530. package/dist/cli-bundle/chunks/list-Z55YCNTC.js.map +0 -7
  531. package/dist/cli-bundle/chunks/next-GBNTGXFC.js +0 -28
  532. package/dist/cli-bundle/chunks/next-GBNTGXFC.js.map +0 -7
  533. package/dist/cli-bundle/chunks/next-QKW7PTKE.js +0 -32
  534. package/dist/cli-bundle/chunks/next-QKW7PTKE.js.map +0 -1
  535. package/dist/cli-bundle/chunks/notes-R5FZTKWF.js +0 -17
  536. package/dist/cli-bundle/chunks/notes-R5FZTKWF.js.map +0 -7
  537. package/dist/cli-bundle/chunks/notes-WCGIULVG.js +0 -21
  538. package/dist/cli-bundle/chunks/notes-WCGIULVG.js.map +0 -1
  539. package/dist/cli-bundle/chunks/plan-ADISFYH4.js +0 -29
  540. package/dist/cli-bundle/chunks/plan-ADISFYH4.js.map +0 -7
  541. package/dist/cli-bundle/chunks/plan-CHVE7PBR.js.map +0 -1
  542. package/dist/cli-bundle/chunks/profile-LD23PSI6.js.map +0 -7
  543. package/dist/cli-bundle/chunks/profile-ZXGSKBJD.js.map +0 -1
  544. package/dist/cli-bundle/chunks/register-list-query-B42JCCOI.js.map +0 -1
  545. package/dist/cli-bundle/chunks/register-list-query-OEYQHFXO.js.map +0 -7
  546. package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js +0 -19
  547. package/dist/cli-bundle/chunks/register-operations-I3M3U7DS.js.map +0 -7
  548. package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js +0 -23
  549. package/dist/cli-bundle/chunks/register-operations-UHKENLZV.js.map +0 -1
  550. package/dist/cli-bundle/chunks/register-setup-3ZVVX2VN.js.map +0 -7
  551. package/dist/cli-bundle/chunks/register-setup-Q6KFNIOZ.js.map +0 -1
  552. package/dist/cli-bundle/chunks/restore-5RQHAPMA.js.map +0 -1
  553. package/dist/cli-bundle/chunks/restore-PNEIBBLW.js +0 -19
  554. package/dist/cli-bundle/chunks/restore-PNEIBBLW.js.map +0 -7
  555. package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js +0 -29
  556. package/dist/cli-bundle/chunks/scheduling-shortcuts-4G56YHVQ.js.map +0 -1
  557. package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js +0 -25
  558. package/dist/cli-bundle/chunks/scheduling-shortcuts-75DULBYP.js.map +0 -7
  559. package/dist/cli-bundle/chunks/schema-245WW4G2.js.map +0 -1
  560. package/dist/cli-bundle/chunks/schema-HBORFC6B.js.map +0 -7
  561. package/dist/cli-bundle/chunks/search-AOZC5SIK.js +0 -34
  562. package/dist/cli-bundle/chunks/search-AOZC5SIK.js.map +0 -7
  563. package/dist/cli-bundle/chunks/search-DRXPGHD7.js +0 -38
  564. package/dist/cli-bundle/chunks/search-DRXPGHD7.js.map +0 -1
  565. package/dist/cli-bundle/chunks/stats-NJG4NLHG.js +0 -21
  566. package/dist/cli-bundle/chunks/stats-NJG4NLHG.js.map +0 -1
  567. package/dist/cli-bundle/chunks/stats-RG6AG4N2.js +0 -17
  568. package/dist/cli-bundle/chunks/stats-RG6AG4N2.js.map +0 -7
  569. package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js +0 -14
  570. package/dist/cli-bundle/chunks/telemetry-HQC2JJIF.js.map +0 -7
  571. package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js +0 -18
  572. package/dist/cli-bundle/chunks/telemetry-MPNL3HHY.js.map +0 -1
  573. package/dist/cli-bundle/chunks/test-6CMOCWUC.js +0 -39
  574. package/dist/cli-bundle/chunks/test-6CMOCWUC.js.map +0 -7
  575. package/dist/cli-bundle/chunks/test-RI7XHBZL.js +0 -43
  576. package/dist/cli-bundle/chunks/test-RI7XHBZL.js.map +0 -1
  577. package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js +0 -29
  578. package/dist/cli-bundle/chunks/test-all-7R7YRZIA.js.map +0 -7
  579. package/dist/cli-bundle/chunks/test-all-QEIORFYW.js +0 -33
  580. package/dist/cli-bundle/chunks/test-all-QEIORFYW.js.map +0 -1
  581. package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js +0 -28
  582. package/dist/cli-bundle/chunks/test-runs-5Y2BOU2S.js.map +0 -1
  583. package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js +0 -24
  584. package/dist/cli-bundle/chunks/test-runs-PVGC3GRZ.js.map +0 -7
  585. package/dist/cli-bundle/chunks/update-QVJDFEAP.js +0 -30
  586. package/dist/cli-bundle/chunks/update-QVJDFEAP.js.map +0 -1
  587. package/dist/cli-bundle/chunks/update-VQVHAY6X.js +0 -26
  588. package/dist/cli-bundle/chunks/update-VQVHAY6X.js.map +0 -7
  589. package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js +0 -37
  590. package/dist/cli-bundle/chunks/update-many-S7XWBSB3.js.map +0 -7
  591. package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js +0 -41
  592. package/dist/cli-bundle/chunks/update-many-YIYW6XQ6.js.map +0 -1
  593. package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js +0 -24
  594. package/dist/cli-bundle/chunks/upgrade-OPRXA56R.js.map +0 -7
  595. package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js +0 -28
  596. package/dist/cli-bundle/chunks/upgrade-WH4BTQLX.js.map +0 -1
  597. package/dist/cli-bundle/chunks/validate-4NTXSB62.js +0 -36
  598. package/dist/cli-bundle/chunks/validate-4NTXSB62.js.map +0 -1
  599. package/dist/cli-bundle/chunks/validate-MUFXQZMI.js +0 -32
  600. package/dist/cli-bundle/chunks/validate-MUFXQZMI.js.map +0 -7
  601. /package/dist/cli-bundle/chunks/{activity-WJCGCYPU.js.map → append-F7WPGIQL.js.map} +0 -0
  602. /package/dist/cli-bundle/chunks/{activity-Z6QUAUSG.js.map → append-PVCTBVJG.js.map} +0 -0
  603. /package/dist/cli-bundle/chunks/{chunk-R5BMJX33.js.map → chunk-2LEJGRQ7.js.map} +0 -0
  604. /package/dist/cli-bundle/chunks/{chunk-AZYGZGGI.js.map → chunk-2TILG6F2.js.map} +0 -0
  605. /package/dist/cli-bundle/chunks/{chunk-GJ7QC5DJ.js.map → chunk-3TYOW6RR.js.map} +0 -0
  606. /package/dist/cli-bundle/chunks/{chunk-B6DUFX6H.js.map → chunk-3X542TEY.js.map} +0 -0
  607. /package/dist/cli-bundle/chunks/{chunk-JJP45OEI.js.map → chunk-7VQ3JJN5.js.map} +0 -0
  608. /package/dist/cli-bundle/chunks/{chunk-MWMVPCIE.js.map → chunk-AGAVEDIE.js.map} +0 -0
  609. /package/dist/cli-bundle/chunks/{chunk-22KBU3MW.js.map → chunk-AJUON7E6.js.map} +0 -0
  610. /package/dist/cli-bundle/chunks/{chunk-IWVU4C2F.js.map → chunk-DR2V5OIV.js.map} +0 -0
  611. /package/dist/cli-bundle/chunks/{chunk-XG625QP4.js.map → chunk-EDO7VXSO.js.map} +0 -0
  612. /package/dist/cli-bundle/chunks/{chunk-Y4M7CPQP.js.map → chunk-EVEPHNXJ.js.map} +0 -0
  613. /package/dist/cli-bundle/chunks/{chunk-JDDLOQAE.js.map → chunk-FN6SB4HU.js.map} +0 -0
  614. /package/dist/cli-bundle/chunks/{chunk-24YG75HI.js.map → chunk-H2SMKL2N.js.map} +0 -0
  615. /package/dist/cli-bundle/chunks/{chunk-EGY6JBQ3.js.map → chunk-HX6QXV5P.js.map} +0 -0
  616. /package/dist/cli-bundle/chunks/{chunk-Y46GD4IX.js.map → chunk-P3MJJW7P.js.map} +0 -0
  617. /package/dist/cli-bundle/chunks/{chunk-MVYWGY2A.js.map → chunk-PDXJXEZJ.js.map} +0 -0
  618. /package/dist/cli-bundle/chunks/{chunk-AGHMOTGM.js.map → chunk-TEKZOS7M.js.map} +0 -0
  619. /package/dist/cli-bundle/chunks/{chunk-JVH7QBVV.js.map → chunk-V5ZWKJNY.js.map} +0 -0
  620. /package/dist/cli-bundle/chunks/{chunk-KUOOJR35.js.map → chunk-VLEA2UTQ.js.map} +0 -0
  621. /package/dist/cli-bundle/chunks/{chunk-MUH7A3FD.js.map → chunk-WCWVEXGA.js.map} +0 -0
  622. /package/dist/cli-bundle/chunks/{chunk-NGXQ3PFT.js.map → chunk-YPMZMKN7.js.map} +0 -0
  623. /package/dist/cli-bundle/chunks/{chunk-KGFUY7WN.js.map → chunk-YTD5GICJ.js.map} +0 -0
  624. /package/dist/cli-bundle/chunks/{chunk-7DT4WSH2.js.map → chunk-ZO7CLOY2.js.map} +0 -0
  625. /package/dist/cli-bundle/chunks/{aggregate-BDM6EIAR.js.map → close-3YYQ5OG2.js.map} +0 -0
  626. /package/dist/cli-bundle/chunks/{aggregate-VQ2DHU3S.js.map → close-Z3Q4U7TS.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{append-RKJYPU74.js.map → close-many-3L2RXH3M.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{append-BGML6VLD.js.map → close-many-D366FTIG.js.map} +0 -0
  629. /package/dist/cli-bundle/chunks/{claim-XP5AWZ5H.js.map → comments-54XDJNFE.js.map} +0 -0
  630. /package/dist/cli-bundle/chunks/{claim-RFS7BROJ.js.map → comments-HGHC2PN6.js.map} +0 -0
  631. /package/dist/cli-bundle/chunks/{close-2SSSHHUZ.js.map → copy-44RT5GDW.js.map} +0 -0
  632. /package/dist/cli-bundle/chunks/{close-GEANHQ2J.js.map → copy-UGMUGHZA.js.map} +0 -0
  633. /package/dist/cli-bundle/chunks/{close-many-CMZW7ITN.js.map → create-4GWJWPXG.js.map} +0 -0
  634. /package/dist/cli-bundle/chunks/{close-many-ZFDIG6M7.js.map → create-AZXCUYKP.js.map} +0 -0
  635. /package/dist/cli-bundle/chunks/{comments-XUBPXDYX.js.map → delete-Y6SXIQ4X.js.map} +0 -0
  636. /package/dist/cli-bundle/chunks/{comments-MFSYVNNU.js.map → delete-YQ2VPXNF.js.map} +0 -0
  637. /package/dist/cli-bundle/chunks/{config-T4FHBSYN.js.map → deps-BU5EBJDU.js.map} +0 -0
  638. /package/dist/cli-bundle/chunks/{config-D7XQMONX.js.map → deps-FMANWFRP.js.map} +0 -0
  639. /package/dist/cli-bundle/chunks/{context-DIU275XI.js.map → docs-OQBSJNIA.js.map} +0 -0
  640. /package/dist/cli-bundle/chunks/{context-JCOYB4LZ.js.map → docs-VNPBZXEL.js.map} +0 -0
  641. /package/dist/cli-bundle/chunks/{contracts-BVO7CSLK.js.map → files-72HZEBOE.js.map} +0 -0
  642. /package/dist/cli-bundle/chunks/{contracts-NYPEW2G4.js.map → files-HTSB2KJG.js.map} +0 -0
  643. /package/dist/cli-bundle/chunks/{copy-32ROBIDL.js.map → focus-FOG4ALC2.js.map} +0 -0
  644. /package/dist/cli-bundle/chunks/{copy-NAGLGMHZ.js.map → focus-SUTMKXGX.js.map} +0 -0
  645. /package/dist/cli-bundle/chunks/{create-E77SDCUP.js.map → history-compact-M6IFAMBP.js.map} +0 -0
  646. /package/dist/cli-bundle/chunks/{create-4V7SWNBB.js.map → history-compact-NEXRPP2O.js.map} +0 -0
  647. /package/dist/cli-bundle/chunks/{delete-RA5KTCLB.js.map → history-redact-NQX3OGZP.js.map} +0 -0
  648. /package/dist/cli-bundle/chunks/{delete-NQI5OSKN.js.map → history-redact-WQJBZ3PX.js.map} +0 -0
  649. /package/dist/cli-bundle/chunks/{deps-T7SCWXEX.js.map → history-repair-CBHMHAJO.js.map} +0 -0
  650. /package/dist/cli-bundle/chunks/{deps-32SU7HO5.js.map → history-repair-NHOJG7WO.js.map} +0 -0
  651. /package/dist/cli-bundle/chunks/{docs-WL2IWGWV.js.map → learnings-M64NTSOR.js.map} +0 -0
  652. /package/dist/cli-bundle/chunks/{docs-RRUPT7O2.js.map → learnings-T63JGKKN.js.map} +0 -0
  653. /package/dist/cli-bundle/chunks/{eval-NF2J5SHR.js.map → notes-73WE2UV2.js.map} +0 -0
  654. /package/dist/cli-bundle/chunks/{eval-SKDT3MZU.js.map → notes-U7L6HQQ2.js.map} +0 -0
  655. /package/dist/cli-bundle/chunks/{extension-ZISPBRBC.js.map → plan-OSCNYFGC.js.map} +0 -0
  656. /package/dist/cli-bundle/chunks/{extension-LAXKCAYE.js.map → plan-TN537L24.js.map} +0 -0
  657. /package/dist/cli-bundle/chunks/{files-PYKR2UUG.js.map → profile-MHAMXMHQ.js.map} +0 -0
  658. /package/dist/cli-bundle/chunks/{files-EWRQHGIS.js.map → profile-TIGLAKJ7.js.map} +0 -0
  659. /package/dist/cli-bundle/chunks/{focus-4T7TM4MT.js.map → restore-HC3YSWF7.js.map} +0 -0
  660. /package/dist/cli-bundle/chunks/{focus-L3YUASOD.js.map → restore-LFAMMRYZ.js.map} +0 -0
  661. /package/dist/cli-bundle/chunks/{gc-2PCTYYRI.js.map → schema-DAGSYO6E.js.map} +0 -0
  662. /package/dist/cli-bundle/chunks/{gc-2DNMPXMC.js.map → schema-UBXJCQAC.js.map} +0 -0
  663. /package/dist/cli-bundle/chunks/{get-VKQXCXLL.js.map → update-CJGG5WMV.js.map} +0 -0
  664. /package/dist/cli-bundle/chunks/{get-7DMITJ3G.js.map → update-LKD64AFP.js.map} +0 -0
  665. /package/dist/cli-bundle/chunks/{health-CVSTAR2F.js.map → update-many-G4SM7BHC.js.map} +0 -0
  666. /package/dist/cli-bundle/chunks/{health-TV3GKTFN.js.map → update-many-VLIV3D7R.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../../cli/register-operations.ts"],
4
- "sourcesContent": ["/**\n * @module cli/register-operations\n *\n * Provides CLI runtime support for Register Operations.\n */\nimport type { Command } from \"commander\";\nimport {\n normalizeStatusInputWithRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeStatusRegistry,\n} from \"../core/schema/runtime-schema.js\";\nimport { setActiveCommandResult } from \"../core/extensions/index.js\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport {\n buildBackgroundTestAllCommandArgs,\n buildBackgroundTestCommandArgs,\n collect,\n getGlobalOptions,\n invalidateSearchCachesForMutation,\n printError,\n printResult,\n readOptionString,\n} from \"./registration-helpers.js\";\n\n/**\n * Resolve the status the `start-task` lifecycle alias should move an item to.\n * Resolves `in_progress` strictly through the workspace registry so a custom\n * workflow that omits in_progress falls back to its open status instead of\n * setting a status the workflow does not define.\n */\nexport function resolveStartTaskInProgressStatus(statusRegistry: RuntimeStatusRegistry): string {\n return normalizeStatusInputWithRegistry(\"in_progress\", statusRegistry) ?? statusRegistry.open_status;\n}\n\nfunction resolveTelemetrySubcommand(namespaceOrSubcommand: string | undefined, subcommand: string | undefined): string | undefined {\n const normalizedNamespace = namespaceOrSubcommand?.trim().toLowerCase();\n const normalizedSubcommand = subcommand?.trim().toLowerCase();\n if (normalizedNamespace === undefined || normalizedNamespace.length === 0) {\n return normalizedSubcommand;\n }\n if (normalizedNamespace === \"local-analytics\") {\n return normalizedSubcommand && normalizedSubcommand.length > 0 ? normalizedSubcommand : \"status\";\n }\n if (normalizedSubcommand !== undefined && normalizedSubcommand.length > 0) {\n throw new PmCliError(\n `Unknown pm telemetry path \"${namespaceOrSubcommand} ${subcommand}\". Use \"pm telemetry ${namespaceOrSubcommand}\" or legacy alias \"pm telemetry local-analytics ${normalizedSubcommand}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_subcommand\",\n examples: [\n \"pm telemetry status\",\n \"pm telemetry flush\",\n \"pm telemetry stats --limit 10\",\n \"pm telemetry clear\",\n \"pm telemetry local-analytics status --json\",\n ],\n },\n );\n }\n return normalizedNamespace;\n}\n\nfunction collectTestMutationValues(options: Record<string, unknown>): {\n addValues: string[];\n addJsonValues: string[];\n removeValues: string[];\n} {\n return {\n addValues: Array.isArray(options.add) ? (options.add as string[]) : [],\n addJsonValues: Array.isArray(options.addJson) ? (options.addJson as string[]) : [],\n removeValues: Array.isArray(options.remove) ? (options.remove as string[]) : [],\n };\n}\n\nfunction validateBackgroundTestOptions(\n options: Record<string, unknown>,\n values: { addValues: string[]; addJsonValues: string[]; removeValues: string[] },\n): void {\n if (options.background !== true) {\n return;\n }\n if (options.run !== true) {\n throw new PmCliError(\"--background requires --run\", EXIT_CODE.USAGE);\n }\n if (values.addValues.length > 0 || values.addJsonValues.length > 0 || values.removeValues.length > 0) {\n throw new PmCliError(\"--background does not support --add/--add-json/--remove; update linked tests first, then run in background\", EXIT_CODE.USAGE);\n }\n}\n\nasync function runBackgroundLinkedTests(\n id: string,\n options: Record<string, unknown>,\n globalOptions: ReturnType<typeof getGlobalOptions>,\n values: { addValues: string[]; addJsonValues: string[]; removeValues: string[] },\n): Promise<void> {\n const { runStartBackgroundRun } = await import(\"./commands/test-runs.js\");\n const result = await runStartBackgroundRun({\n kind: \"test\",\n commandArgs: buildBackgroundTestCommandArgs(id, { ...options, add: values.addValues, addJson: values.addJsonValues, remove: values.removeValues }),\n targetId: id,\n author: typeof options.author === \"string\" ? options.author : undefined,\n noExtensions: globalOptions.noExtensions === true,\n }, globalOptions);\n printResult(result, globalOptions);\n}\n\nfunction buildRunTestOptions(\n options: Record<string, unknown>,\n values: { addValues: string[]; addJsonValues: string[]; removeValues: string[] },\n) {\n return {\n add: values.addValues,\n addJson: values.addJsonValues,\n remove: values.removeValues,\n list: Boolean(options.list),\n run: Boolean(options.run),\n match: typeof options.match === \"string\" ? options.match : undefined,\n onlyIndex: typeof options.onlyIndex === \"string\" || typeof options.onlyIndex === \"number\" ? options.onlyIndex : undefined,\n onlyLast: Boolean(options.onlyLast),\n timeout: typeof options.timeout === \"string\" ? options.timeout : undefined,\n progress: Boolean(options.progress),\n envSet: Array.isArray(options.envSet) ? (options.envSet as string[]) : [],\n envClear: Array.isArray(options.envClear) ? (options.envClear as string[]) : [],\n sharedHostSafe: Boolean(options.sharedHostSafe),\n pmContext: typeof options.pmContext === \"string\" ? options.pmContext : undefined,\n overrideLinkedPmContext: Boolean(options.overrideLinkedPmContext),\n failOnContextMismatch: Boolean(options.failOnContextMismatch),\n failOnSkipped: Boolean(options.failOnSkipped),\n failOnEmptyTestRun: Boolean(options.failOnEmptyTestRun),\n requireAssertionsForPm: Boolean(options.requireAssertionsForPm),\n checkContext: Boolean(options.checkContext),\n autoPmContext: Boolean(options.autoPmContext),\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n };\n}\n\nasync function runForegroundLinkedTests(\n id: string,\n options: Record<string, unknown>,\n globalOptions: ReturnType<typeof getGlobalOptions>,\n values: { addValues: string[]; addJsonValues: string[]; removeValues: string[] },\n): Promise<void> {\n const { runTest } = await import(\"./commands/test.js\");\n const result = await runTest(id, buildRunTestOptions(options, values), globalOptions);\n if (values.addValues.length > 0 || values.addJsonValues.length > 0 || values.removeValues.length > 0 || options.run === true) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (result.run_results.some((entry) => entry.status === \"failed\") || result.fail_on_skipped_triggered === true) {\n process.exitCode = EXIT_CODE.DEPENDENCY_FAILED;\n }\n}\n\nasync function runTestCommandAction(id: string, options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const values = collectTestMutationValues(options);\n validateBackgroundTestOptions(options, values);\n if (options.background === true) {\n await runBackgroundLinkedTests(id, options, globalOptions, values);\n } else {\n await runForegroundLinkedTests(id, options, globalOptions, values);\n }\n if (globalOptions.profile) {\n printError(`profile:command=test took_ms=${Date.now() - startedAt}`);\n }\n}\n\nfunction buildLifecycleMutationOptions(options: Record<string, unknown>): {\n author: string | undefined;\n message: string | undefined;\n} {\n return {\n author: readOptionString(options, \"author\"),\n message: readOptionString(options, \"message\"),\n };\n}\n\nasync function runTestAllAction(options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const runInBackground = options.background === true;\n if (runInBackground) {\n const { runStartBackgroundRun } = await import(\"./commands/test-runs.js\");\n const result = await runStartBackgroundRun({\n kind: \"test-all\",\n commandArgs: buildBackgroundTestAllCommandArgs(options),\n statusFilter: readOptionString(options, \"status\"),\n noExtensions: globalOptions.noExtensions === true,\n }, globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=test-all took_ms=${Date.now() - startedAt}`);\n }\n return;\n }\n const { runTestAll } = await import(\"./commands/test-all.js\");\n const result = await runTestAll({\n status: readOptionString(options, \"status\"),\n limit: readOptionString(options, \"limit\"),\n offset: readOptionString(options, \"offset\"),\n timeout: readOptionString(options, \"timeout\"),\n progress: Boolean(options.progress),\n envSet: Array.isArray(options.envSet) ? (options.envSet as string[]) : [],\n envClear: Array.isArray(options.envClear) ? (options.envClear as string[]) : [],\n sharedHostSafe: Boolean(options.sharedHostSafe),\n pmContext: readOptionString(options, \"pmContext\"),\n overrideLinkedPmContext: Boolean(options.overrideLinkedPmContext),\n failOnContextMismatch: Boolean(options.failOnContextMismatch),\n failOnSkipped: Boolean(options.failOnSkipped),\n failOnEmptyTestRun: Boolean(options.failOnEmptyTestRun),\n requireAssertionsForPm: Boolean(options.requireAssertionsForPm),\n checkContext: Boolean(options.checkContext),\n autoPmContext: Boolean(options.autoPmContext),\n }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, { ids: result.results.map((entry) => entry.id) });\n printResult(result, globalOptions);\n if (result.failed > 0 || result.fail_on_skipped_triggered === true) {\n process.exitCode = EXIT_CODE.DEPENDENCY_FAILED;\n }\n if (globalOptions.profile) {\n printError(`profile:command=test-all took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runTelemetryAction(\n namespaceOrSubcommand: string | undefined,\n subcommand: string | undefined,\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runTelemetry } = await import(\"./commands/telemetry.js\");\n const result = await runTelemetry(\n {\n subcommand: resolveTelemetrySubcommand(namespaceOrSubcommand, subcommand),\n // Commander always parses `--limit <n>` to a string (or leaves it\n // undefined), so a string passthrough covers every CLI-reachable input.\n limit: readOptionString(options, \"limit\"),\n },\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=telemetry took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runStatsAction(options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runStats } = await import(\"./commands/stats.js\");\n const result = await runStats(globalOptions, {\n storage: options.storage === true,\n metadataCoverage: options.metadataCoverage === true,\n byAssignee: options.byAssignee === true,\n byTag: options.byTag === true,\n byPriority: options.byPriority === true,\n tagPrefix: readOptionString(options, \"tagPrefix\"),\n fieldUtilization: options.fieldUtilization === true,\n });\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=stats took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runHealthAction(options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runHealth } = await import(\"./commands/health.js\");\n const result = await runHealth(globalOptions, {\n strictDirectories: Boolean(options.strictDirectories),\n checkOnly: Boolean(options.checkOnly),\n checkTelemetry: Boolean(options.checkTelemetry),\n noRefresh: Boolean(options.noRefresh),\n refreshVectors: Boolean(options.refreshVectors),\n verboseStaleItems: Boolean(options.verboseStaleItems),\n brief: Boolean(options.brief),\n summary: Boolean(options.summary),\n skipVectors: Boolean(options.skipVectors),\n skipIntegrity: Boolean(options.skipIntegrity),\n skipDrift: Boolean(options.skipDrift),\n full: Boolean(options.full),\n });\n printResult(result, globalOptions);\n const strictExit = Boolean(options.strictExit) || Boolean(options.failOnWarn);\n if (strictExit && !result.ok) {\n setActiveCommandResult({\n ...result,\n exit_code: EXIT_CODE.GENERIC_FAILURE,\n error_code: \"health_findings\",\n error_category: \"validation\",\n command_resolution: \"health_findings\",\n resolution_stage: \"execute\",\n });\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n if (globalOptions.profile) {\n printError(`profile:command=health took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runValidateAction(options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runValidate } = await import(\"./commands/validate.js\");\n const result = await runValidate({\n checkMetadata: Boolean(options.checkMetadata),\n metadataProfile: readOptionString(options, \"metadataProfile\"),\n checkResolution: Boolean(options.checkResolution),\n checkLifecycle: Boolean(options.checkLifecycle),\n checkStaleBlockers: Boolean(options.checkStaleBlockers),\n dependencyCycleSeverity: readOptionString(options, \"dependencyCycleSeverity\"),\n parentCycleSeverity: readOptionString(options, \"parentCycleSeverity\"),\n checkFiles: Boolean(options.checkFiles),\n checkCommandReferences: Boolean(options.checkCommandReferences),\n scanMode: readOptionString(options, \"scanMode\"),\n includePmInternals: Boolean(options.includePmInternals),\n verboseFileLists: Boolean(options.verboseFileLists),\n verboseDiagnostics: Boolean(options.verboseDiagnostics),\n allAffectedIds: Boolean(options.allAffectedIds),\n checkHistoryDrift: Boolean(options.checkHistoryDrift),\n fixHints: Boolean(options.fixHints),\n autoFix: Boolean(options.autoFix),\n dryRun: Boolean(options.dryRun),\n fixScope: Array.isArray(options.fixScope) ? (options.fixScope as string[]) : undefined,\n pruneMissing: Boolean(options.pruneMissing),\n }, globalOptions);\n printResult(result, globalOptions);\n const strictExit = Boolean(options.strictExit) || Boolean(options.failOnWarn);\n if (strictExit && (result.has_warnings || !result.ok)) {\n setActiveCommandResult({\n ...result,\n exit_code: EXIT_CODE.GENERIC_FAILURE,\n error_code: \"validation_findings\",\n error_category: \"validation\",\n command_resolution: \"validation_findings\",\n resolution_stage: \"execute\",\n });\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n if (globalOptions.profile) {\n printError(`profile:command=validate took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runGcAction(options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runGc } = await import(\"./commands/gc.js\");\n const result = await runGc(globalOptions, {\n dryRun: options.dryRun === true,\n scope: Array.isArray(options.scope) ? (options.scope as string[]) : [],\n });\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=gc took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runContractsAction(options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runContracts } = await import(\"./commands/contracts.js\");\n const result = await runContracts({\n action: readOptionString(options, \"action\"),\n command: readOptionString(options, \"command\"),\n schemaOnly: Boolean(options.schemaOnly),\n flagsOnly: Boolean(options.flagsOnly),\n availabilityOnly: Boolean(options.availabilityOnly),\n runtimeOnly: Boolean(options.runtimeOnly) || Boolean(options.activeOnly),\n full: Boolean(options.full),\n }, globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=contracts took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runClaimAction(id: string, options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runClaim } = await import(\"./commands/claim.js\");\n const result = await runClaim(id, Boolean(options.force), globalOptions, {\n ...buildLifecycleMutationOptions(options),\n ifAvailable: options.ifAvailable === true,\n });\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=claim took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runReleaseAction(id: string, options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runRelease } = await import(\"./commands/claim.js\");\n const result = await runRelease(id, Boolean(options.force), globalOptions, {\n ...buildLifecycleMutationOptions(options),\n allowAuditRelease: options.allowAuditRelease === true,\n });\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=release took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runStartTaskAction(id: string, options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const inProgressStatus = resolveStartTaskInProgressStatus(statusRegistry);\n const force = Boolean(options.force);\n const mutationOptions = buildLifecycleMutationOptions(options);\n const [{ runClaim }, { runUpdate }] = await Promise.all([\n import(\"./commands/claim.js\"),\n import(\"./commands/update.js\"),\n ]);\n const claimResult = await runClaim(id, force, globalOptions, mutationOptions);\n await invalidateSearchCachesForMutation(globalOptions, claimResult);\n const updateResult = await runUpdate(id, { ...mutationOptions, status: inProgressStatus, force }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, updateResult);\n printResult({ id, action: \"start_task\", claim: claimResult, update: updateResult }, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=start-task took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runPauseTaskAction(id: string, options: Record<string, unknown>, command: Command): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const pmRoot = resolvePmRoot(process.cwd(), globalOptions.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const force = Boolean(options.force);\n const mutationOptions = buildLifecycleMutationOptions(options);\n const [{ runUpdate }, { runRelease }] = await Promise.all([\n import(\"./commands/update.js\"),\n import(\"./commands/claim.js\"),\n ]);\n const updateResult = await runUpdate(id, { ...mutationOptions, status: statusRegistry.open_status, force }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, updateResult);\n const releaseResult = await runRelease(id, force, globalOptions, mutationOptions);\n await invalidateSearchCachesForMutation(globalOptions, releaseResult);\n printResult({ id, action: \"pause_task\", update: updateResult, release: releaseResult }, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=pause-task took_ms=${Date.now() - startedAt}`);\n }\n}\n\nasync function runCloseTaskAction(\n id: string,\n reason: string | undefined,\n options: Record<string, unknown>,\n command: Command,\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const force = Boolean(options.force);\n const mutationOptions = buildLifecycleMutationOptions(options);\n const [{ runClose }, { runRelease }] = await Promise.all([\n import(\"./commands/close.js\"),\n import(\"./commands/claim.js\"),\n ]);\n const closeResult = await runClose(id, reason, {\n ...mutationOptions,\n validateClose: readOptionString(options, \"validateClose\"),\n force,\n }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, closeResult);\n const releaseResult = await runRelease(id, force, globalOptions, mutationOptions);\n await invalidateSearchCachesForMutation(globalOptions, releaseResult);\n printResult({ id, action: \"close_task\", close: closeResult, release: releaseResult }, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=close-task took_ms=${Date.now() - startedAt}`);\n }\n}\n\n\n\n/**\n * Implements register operation commands for the public runtime surface of this module.\n */\nexport function registerOperationCommands(program: Command): void {\n program\n .command(\"test\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--add <value>\", \"Add linked test entry (CSV/markdown pairs or - for stdin)\", collect)\n .option(\"--add-json <value>\", \"Add linked test entry from JSON object/array (or - for stdin)\", collect)\n .option(\"--remove <value>\", \"Remove linked test entry by command/path (command=<value>, path=<value>, markdown pairs, plain value, or - for stdin)\", collect)\n .option(\"--list\", \"List linked tests without mutating\")\n .option(\"--run\", \"Run linked test commands\")\n .option(\"--match <value>\", \"Run only linked tests whose command/path contains this substring\")\n .option(\"--only-index <n>\", \"Run only the 1-based linked-test index from --list order\")\n .option(\"--only-last\", \"Run only the most recently added linked test\")\n .option(\"--background\", \"Run linked tests in managed background mode\")\n .option(\"--timeout <seconds>\", \"Default run timeout in seconds\")\n .option(\"--progress\", \"Emit linked-test progress to stderr (always shown in TTY, opt-in for non-TTY)\")\n .option(\"--env-set <value>\", \"Set environment variable(s) for linked-test runs (KEY=VALUE, repeatable)\", collect)\n .option(\"--env-clear <value>\", \"Clear environment variable(s) for linked-test runs (NAME, repeatable)\", collect)\n .option(\"--shared-host-safe\", \"Apply additive shared-host-safe runtime defaults for linked-test runs\")\n .option(\"--pm-context <mode>\", \"PM linked-test context mode: schema|tracker|auto (default: schema)\")\n .option(\"--override-linked-pm-context\", \"Force run-level --pm-context to override per-linked-test pm_context_mode metadata\")\n .option(\"--fail-on-context-mismatch\", \"Fail linked PM commands when context item counts differ\")\n .option(\"--fail-on-skipped\", \"Treat skipped linked tests as dependency failures\")\n .option(\"--fail-on-empty-test-run\", \"Treat successful linked-test commands that report zero executed tests as failures\")\n .option(\"--require-assertions-for-pm\", \"Require assertion metadata for linked PM command tests\")\n .option(\"--check-context\", \"Preflight linked PM command context diagnostics before executing commands\")\n .option(\"--auto-pm-context\", \"Auto-remediate PM tracker-read context mismatches by routing those linked commands through tracker context\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Manage tests linked to an item and optionally run them.\")\n .action(runTestCommandAction);\n\n program\n .command(\"test-all\")\n .description(\"Run linked tests across matching items.\")\n .option(\"--status <value>\", \"Filter items by status before running tests\")\n .option(\"--limit <n>\", \"Limit matching items before running linked tests\")\n .option(\"--offset <n>\", \"Skip matching items before running linked tests\")\n .option(\"--background\", \"Run linked tests in managed background mode\")\n .option(\"--timeout <seconds>\", \"Default run timeout in seconds\")\n .option(\"--progress\", \"Emit linked-test progress to stderr (always shown in TTY, opt-in for non-TTY)\")\n .option(\"--env-set <value>\", \"Set environment variable(s) for linked-test runs (KEY=VALUE, repeatable)\", collect)\n .option(\"--env-clear <value>\", \"Clear environment variable(s) for linked-test runs (NAME, repeatable)\", collect)\n .option(\"--shared-host-safe\", \"Apply additive shared-host-safe runtime defaults for linked-test runs\")\n .option(\"--pm-context <mode>\", \"PM linked-test context mode: schema|tracker|auto (default: schema)\")\n .option(\"--override-linked-pm-context\", \"Force run-level --pm-context to override per-linked-test pm_context_mode metadata\")\n .option(\"--fail-on-context-mismatch\", \"Fail linked PM commands when context item counts differ\")\n .option(\"--fail-on-skipped\", \"Treat skipped linked tests as dependency failures\")\n .option(\"--fail-on-empty-test-run\", \"Treat successful linked-test commands that report zero executed tests as failures\")\n .option(\"--require-assertions-for-pm\", \"Require assertion metadata for linked PM command tests\")\n .option(\"--check-context\", \"Preflight linked PM command context diagnostics before executing commands\")\n .option(\"--auto-pm-context\", \"Auto-remediate PM tracker-read context mismatches by routing those linked commands through tracker context\")\n .action(runTestAllAction);\n\n program\n .command(\"test-runs-worker\", { hidden: true })\n .argument(\"<runId>\", \"Background run id\")\n .description(\"Internal background worker command.\")\n .action(async (runId: string, _options: Record<string, unknown>, command: Command) => {\n const globalOptions = getGlobalOptions(command);\n const { runTestRunsWorker } = await import(\"./commands/test-runs.js\");\n await runTestRunsWorker(runId, globalOptions);\n });\n\n program\n .command(\"telemetry\")\n .argument(\"[namespaceOrSubcommand]\", \"Telemetry subcommand: status, flush, stats, clear (default: status)\")\n .argument(\"[subcommand]\", \"Compatibility alias target for local-analytics: status, flush, stats, clear\")\n .option(\"--limit <n>\", \"Maximum command groups returned by telemetry stats\")\n .description(\"Inspect and manage local telemetry queue/runtime state.\")\n .action(runTelemetryAction);\n\n program\n .command(\"stats\")\n .description(\"Show project tracker statistics.\")\n .option(\n \"--storage\",\n \"Include aggregate history-stream storage metrics (total streams/lines/bytes, largest + deepest streams, oldest/newest entries)\",\n )\n .option(\n \"--metadata-coverage\",\n \"Include metadata coverage % (acceptance_criteria, estimated_minutes, resolution, tags, parent) overall and by type\",\n )\n .option(\"--by-assignee\", \"Include a lifecycle-bucketed item breakdown grouped by assignee\")\n .option(\"--by-tag\", \"Include a lifecycle-bucketed item breakdown grouped by tag\")\n .option(\"--by-priority\", \"Include a lifecycle-bucketed item breakdown grouped by priority\")\n .option(\"--tag-prefix <value>\", \"With --by-tag: only count tags starting with this prefix (e.g. domain:)\")\n .option(\n \"--field-utilization\",\n \"Report content-field utilization rates (notes/learnings/files/docs/tests/comments/deps/body) for governance audits\",\n )\n .action(runStatsAction);\n\n program\n .command(\"health\")\n .description(\"Show project tracker health checks.\")\n .option(\"--strict-directories\", \"Treat optional item-type directories as required failures\")\n .option(\"--check-only\", \"Run read-only health diagnostics without refreshing vectors\")\n .option(\"--check-telemetry\", \"Probe telemetry endpoint health and include network diagnostics\")\n .option(\"--no-refresh\", \"Disable automatic vector refresh attempts during health checks\")\n .option(\"--refresh-vectors\", \"Explicitly enable vector refresh attempts during health checks\")\n .option(\"--verbose-stale-items\", \"Include full stale vectorization ID lists in health output\")\n .option(\"--brief\", \"Emit compact health details for low-token agent checks\")\n .option(\"--summary\", \"Emit one-line-style health status with check names and warning count\")\n .option(\"--skip-vectors\", \"Skip vectorization check for a faster run\")\n .option(\"--skip-integrity\", \"Skip item/history file integrity check for a faster run\")\n .option(\"--skip-drift\", \"Skip history drift hash check for a faster run\")\n .option(\"--full\", \"Run all checks including slow integrity, drift, and vectorization checks\")\n .option(\n \"--strict-exit\",\n \"Return non-zero exit when health is not ok (advisory telemetry warnings are excluded; see warnings[])\",\n )\n .option(\"--fail-on-warn\", \"Alias for --strict-exit\")\n .action(runHealthAction);\n\n program\n .command(\"validate\")\n .description(\"Run standalone metadata, resolution, lifecycle, files, linked-command reference, and history drift validation checks.\")\n .option(\"--check-metadata\", \"Run metadata completeness checks\")\n .option(\"--metadata-profile <value>\", \"Select metadata validation profile for --check-metadata (core|strict|custom)\")\n .option(\"--check-resolution\", \"Run closed-item resolution metadata checks\")\n .option(\"--check-lifecycle\", \"Run active-item lifecycle governance drift checks\")\n .option(\"--check-stale-blockers\", \"Include stale blocker-pattern diagnostics in lifecycle checks\")\n .option(\"--dependency-cycle-severity <value>\", \"Set dependency-cycle warning policy for lifecycle checks (off|warn|error)\")\n .option(\"--parent-cycle-severity <value>\", \"Set parent-hierarchy cycle warning policy for lifecycle checks (off|warn|error)\")\n .option(\"--check-files\", \"Run linked-file and orphaned-file checks\")\n .option(\"--check-command-references\", \"Run linked-command PM-ID reference checks\")\n .option(\"--scan-mode <value>\", \"Select file candidate scan mode for --check-files (default|tracked-all|tracked-all-strict)\")\n .option(\"--include-pm-internals\", \"Include PM storage internals in tracked-all candidate scans\")\n .option(\"--verbose-file-lists\", \"Include full file-path lists for validate --check-files details\")\n .option(\"--verbose-diagnostics\", \"Include full validate diagnostic ID lists instead of compact summaries\")\n .option(\"--all-affected-ids\", \"Emit complete missing_* affected-ID lists with no truncation (implied by --json)\")\n .option(\"--strict-exit\", \"Return non-zero exit when validation warnings are present\")\n .option(\"--fail-on-warn\", \"Alias for --strict-exit\")\n .option(\"--fix-hints\", \"Add a machine-executable fix_hints[] of pm commands to each failing check's details\")\n .option(\"--auto-fix\", \"Apply the safe, deterministic subset of fix-hint remediations (field backfills) automatically\")\n .option(\"--dry-run\", \"Preview planned --auto-fix/--prune-missing fixes without applying them\")\n .option(\"--fix-scope <scope>\", \"Grant --auto-fix scopes (metadata, resolution, lifecycle; comma-separated or repeatable). Default: metadata, resolution; lifecycle must be named explicitly\", collect)\n .option(\"--prune-missing\", \"Remove stale linked-file/doc LINKS whose paths classified as deleted (never touches real files)\")\n .option(\"--check-history-drift\", \"Run item/history hash drift checks\")\n .action(runValidateAction);\n\n program\n .command(\"gc\")\n .option(\"--dry-run\", \"Preview cleanup targets without deleting files; without this flag, pm gc deletes matched artifacts\")\n .option(\"--scope <value>\", \"Limit cleanup to one or more scopes (comma-separated or repeatable): index, embeddings, runtime, locks, checkpoints\", collect)\n .description(\"Delete optional cache artifacts by default (including expired lock debris) and show a summary.\")\n .action(runGcAction);\n\n program\n .command(\"contracts\")\n .description(\"Show machine-readable command and schema contracts for agents.\")\n .option(\"--action <value>\", \"Filter tool schema branches to a specific action\")\n .option(\"--command <value>\", \"Scope contracts output to one CLI command (narrow-by-default)\")\n .option(\"--schema-only\", \"Return schema-focused output only\")\n .option(\"--flags-only\", \"Return command flag contracts only\")\n .option(\"--availability-only\", \"Return action availability surface only\")\n .option(\"--runtime-only\", \"Include only actions invocable in the current runtime\")\n .option(\"--active-only\", \"Alias for --runtime-only\")\n .option(\n \"--full\",\n \"Include full schema and command-flag surfaces (large; default brief output omits heavy sections for unfiltered queries)\",\n )\n .action(runContractsAction);\n\n program\n .command(\"claim\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force claim override\")\n .option(\"--if-available\", \"Skip silently when the item is already claimed by another author (returns skipped=true)\")\n .description(\"Claim an item for active work.\")\n .action(runClaimAction);\n\n program\n .command(\"release\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--allow-audit-release\", \"Allow non-owner release handoffs without requiring --force\")\n .option(\"--force\", \"Force release override\")\n .description(\"Release an item's active claim.\")\n .action(runReleaseAction);\n\n program\n .command(\"start-task\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership or terminal override when required\")\n .description(\"Lifecycle alias: claim an item and move it to in_progress.\")\n .action(runStartTaskAction);\n\n program\n .command(\"pause-task\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override when required\")\n .description(\"Lifecycle alias: move an item to open and release its claim.\")\n .action(runPauseTaskAction);\n\n program\n .command(\"close-task\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"[reason]\", \"Close reason text\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--validate-close <value>\", \"Close-time validation mode: off|warn|strict\")\n .option(\"--force\", \"Force ownership or terminal override when required\")\n .description(\"Lifecycle alias: close an item and release assignment metadata.\")\n .action(runCloseTaskAction);\n\n registerSchedulingShortcutCommands(program);\n}\n\n/**\n * Optional string accessor for loosely-typed commander option bags.\n */\nfunction optionalString(value: unknown): string | undefined {\n return typeof value === \"string\" ? value : undefined;\n}\n\n/**\n * Common create-passthrough options shared by every scheduling shortcut.\n */\nfunction buildShortcutCommonOptions(options: Record<string, unknown>): {\n parent?: string;\n allowMissingParent?: boolean;\n tags?: string;\n priority?: string;\n body?: string;\n description?: string;\n author?: string;\n message?: string;\n} {\n return {\n parent: optionalString(options.parent),\n allowMissingParent: options.allowMissingParent === true ? true : undefined,\n tags: optionalString(options.tags),\n priority: optionalString(options.priority),\n body: optionalString(options.body),\n description: optionalString(options.description),\n author: optionalString(options.author),\n message: optionalString(options.message),\n };\n}\n\n/**\n * GH-217: register the `pm meet`/`pm event`/`pm remind` scheduling shortcuts.\n * Each is a thin friendly-flag wrapper over `runCreate` for an otherwise-unused\n * scheduling type.\n */\nfunction registerSchedulingShortcutCommands(program: Command): void {\n for (const { name, describe } of [\n { name: \"meet\", describe: \"Shortcut: create a Meeting with a start time and duration.\" },\n { name: \"event\", describe: \"Shortcut: create an Event with a start time and duration.\" },\n ] as const) {\n program\n .command(name)\n .argument(\"<title>\", \"Item title\")\n .option(\"--start <when>\", \"Start time (ISO, 'now', or relative like +1h/+2d); defaults to now\")\n .option(\"--duration <span>\", \"Duration from start (relative like 1h/2d); defaults to 1h when --end is omitted\")\n .option(\"--end <when>\", \"End time (ISO or relative); overrides --duration\")\n .option(\"--location <value>\", \"Location\")\n .option(\"--timezone <value>\", \"IANA timezone (for example America/New_York)\")\n .option(\"--all-day\", \"Mark as an all-day event\")\n .option(\"--parent <id>\", \"Parent item id\")\n .option(\"--allow-missing-parent\", \"Permit a parent id that does not exist yet\")\n .option(\"--tags <list>\", \"Comma-separated tags\")\n .option(\"--priority <value>\", \"Priority\")\n .option(\"--body <text>\", \"Body/markdown content\")\n .option(\"--description <text>\", \"Short description\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .description(describe)\n .action(async (title: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runMeet, runEvent } = await import(\"./commands/scheduling-shortcuts.js\");\n const run = name === \"meet\" ? runMeet : runEvent;\n const result = await run(\n title,\n {\n ...buildShortcutCommonOptions(options),\n start: optionalString(options.start),\n duration: optionalString(options.duration),\n end: optionalString(options.end),\n location: optionalString(options.location),\n timezone: optionalString(options.timezone),\n allDay: options.allDay === true ? true : undefined,\n },\n globalOptions,\n );\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=${name} took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n program\n .command(\"remind\")\n .argument(\"<title>\", \"Item title\")\n .option(\"--at <when>\", \"Reminder time (ISO, 'now', or relative like +2d); defaults to +1d\")\n .option(\"--text <value>\", \"Reminder text; defaults to the title\")\n .option(\"--parent <id>\", \"Parent item id\")\n .option(\"--allow-missing-parent\", \"Permit a parent id that does not exist yet\")\n .option(\"--tags <list>\", \"Comma-separated tags\")\n .option(\"--priority <value>\", \"Priority\")\n .option(\"--body <text>\", \"Body/markdown content\")\n .option(\"--description <text>\", \"Short description\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .description(\"Shortcut: create a Reminder from a single point in time.\")\n .action(async (title: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runRemind } = await import(\"./commands/scheduling-shortcuts.js\");\n const result = await runRemind(\n title,\n {\n ...buildShortcutCommonOptions(options),\n at: optionalString(options.at),\n text: optionalString(options.text),\n },\n globalOptions,\n );\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=remind took_ms=${Date.now() - startedAt}`);\n }\n });\n}\n"],
5
- "mappings": "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",
6
- "names": ["result"]
7
- }
@@ -1,299 +0,0 @@
1
- import {
2
- collectBlockedByIds,
3
- computeActionabilityReport
4
- } from "./chunk-JJP45OEI.js";
5
- import {
6
- buildChildrenByParent,
7
- collectSubtreeIds,
8
- compareCriticalItems,
9
- toContextFocusItem
10
- } from "./chunk-MR6FJ7LL.js";
11
- import {
12
- runList
13
- } from "./chunk-46CUF5L6.js";
14
- import {
15
- parseIntegerLimit
16
- } from "./chunk-7DT4WSH2.js";
17
- import {
18
- normalizeStatusForRegistry,
19
- normalizeStatusInput
20
- } from "./chunk-NMP5I3I5.js";
21
- import {
22
- nowIso
23
- } from "./chunk-FLZSGSQR.js";
24
- import {
25
- PmCliError,
26
- readSettings
27
- } from "./chunk-SHQY2IDC.js";
28
- import {
29
- EXIT_CODE,
30
- resolvePmRoot,
31
- resolveRuntimeStatusRegistry
32
- } from "./chunk-LK6XLOGP.js";
33
-
34
- // dist/cli/commands/next.js
35
- !(function() {
36
- try {
37
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
38
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "d9a631ec-bdfe-5b4d-8b69-60965965f73f");
39
- } catch (e2) {
40
- }
41
- })();
42
- var NEXT_OUTPUT_VALUES = ["markdown", "toon", "json"];
43
- var DEFAULT_NEXT_LIMIT = 5;
44
- var MS_PER_DAY = 24 * 60 * 60 * 1e3;
45
- function parseNextOutputFormat(raw) {
46
- if (!raw)
47
- return void 0;
48
- const normalized = raw.trim().toLowerCase();
49
- if (!NEXT_OUTPUT_VALUES.includes(normalized)) {
50
- throw new PmCliError("Next format must be one of markdown|toon|json", EXIT_CODE.USAGE);
51
- }
52
- return normalized;
53
- }
54
- function resolveNextOutputFormat(options, global2) {
55
- const commandFormat = parseNextOutputFormat(options.format);
56
- if (global2.json && commandFormat && commandFormat !== "json") {
57
- throw new PmCliError("Cannot combine --json with --format markdown|toon", EXIT_CODE.USAGE);
58
- }
59
- if (global2.json) {
60
- return "json";
61
- }
62
- return commandFormat ?? "toon";
63
- }
64
- function parseNextLimit(raw, flag, fallback) {
65
- const parsed = parseIntegerLimit(raw, flag);
66
- if (parsed === void 0 || parsed <= 0)
67
- return fallback;
68
- return parsed;
69
- }
70
- function toNextActionableItem(entry, statusRegistry, childrenByParent) {
71
- return {
72
- ...toContextFocusItem(entry.item, statusRegistry, childrenByParent),
73
- open_blocker_count: entry.open_blockers.length,
74
- blockers: entry.open_blockers.map((blocker) => ({ id: blocker.id, title: blocker.title, status: blocker.status })),
75
- unblocks: entry.unblocks
76
- };
77
- }
78
- function buildRecommendationReasons(entry, statusRegistry, now, completedContainer) {
79
- const item = entry.item;
80
- const reasons = [];
81
- const inProgressStatus = normalizeStatusInput("in_progress", statusRegistry);
82
- reasons.push(normalizeStatusForRegistry(item.status, statusRegistry) === inProgressStatus ? "in progress \u2014 resume to finish" : "open and ready to start");
83
- if (completedContainer) {
84
- reasons.push("completed container \u2014 governance closeout");
85
- }
86
- reasons.push(`priority p${item.priority}${item.priority === 0 ? " (highest)" : ""}`);
87
- if (typeof item.deadline === "string" && item.deadline.trim().length > 0) {
88
- reasons.push(describeDeadline(item.deadline, now));
89
- }
90
- reasons.push(collectBlockedByIds(item).length > 0 ? "all blockers resolved" : "no blockers");
91
- if (typeof item.parent === "string" && item.parent.trim().length > 0) {
92
- reasons.push(`advances ${item.parent.trim()}`);
93
- }
94
- if (entry.unblocks.length > 0) {
95
- reasons.push(`unblocks ${entry.unblocks.length} item(s): ${entry.unblocks.join(", ")}`);
96
- }
97
- return reasons;
98
- }
99
- function describeDeadline(deadline, now) {
100
- const deadlineMs = Date.parse(deadline);
101
- if (!Number.isFinite(deadlineMs)) {
102
- return `deadline ${deadline.trim()}`;
103
- }
104
- const dateToken = new Date(deadlineMs).toISOString().slice(0, 10);
105
- const nowToken = new Date(Date.parse(now)).toISOString().slice(0, 10);
106
- const days = Math.round((Date.parse(dateToken) - Date.parse(nowToken)) / MS_PER_DAY);
107
- if (days < 0)
108
- return `deadline ${dateToken} (overdue ${-days}d)`;
109
- if (days === 0)
110
- return `deadline ${dateToken} (due today)`;
111
- return `deadline ${dateToken} (in ${days}d)`;
112
- }
113
- function inProgressReadyCount(ready, statusRegistry) {
114
- const inProgressStatus = normalizeStatusInput("in_progress", statusRegistry);
115
- return ready.filter((item) => normalizeStatusForRegistry(item.status, statusRegistry) === inProgressStatus).length;
116
- }
117
- function hasCompletedDescendants(item, childrenByParent) {
118
- return (childrenByParent.get(item.id.trim().toLowerCase()) ?? []).length > 0;
119
- }
120
- function nextListOptions(options, extra) {
121
- return {
122
- type: options.type,
123
- tag: options.tag,
124
- priority: options.priority,
125
- assignee: options.assignee,
126
- assigneeFilter: options.assigneeFilter,
127
- sprint: options.sprint,
128
- release: options.release,
129
- noTruncate: true,
130
- ...extra
131
- };
132
- }
133
- function rankNextReadyEntries(ready, childrenByParent, statusRegistry) {
134
- return [...ready].sort((left, right) => {
135
- const leftCompletedContainer = hasCompletedDescendants(left.item, childrenByParent);
136
- const rightCompletedContainer = hasCompletedDescendants(right.item, childrenByParent);
137
- if (leftCompletedContainer !== rightCompletedContainer) {
138
- return Number(leftCompletedContainer) - Number(rightCompletedContainer);
139
- }
140
- return compareCriticalItems(left.item, right.item, statusRegistry);
141
- });
142
- }
143
- function buildNextRecommendation(params) {
144
- if (params.projectedReady.length === 0) {
145
- return null;
146
- }
147
- return {
148
- ...params.readyRows[0],
149
- reasons: buildRecommendationReasons(params.projectedReady[0], params.statusRegistry, params.now, params.completedContainer)
150
- };
151
- }
152
- function buildNextSuggestions(recommended, blockedRows) {
153
- if (recommended !== null) {
154
- return void 0;
155
- }
156
- if (blockedRows.length > 0) {
157
- return [
158
- `${blockedRows.length} item(s) are blocked; unblock the top one by closing ${blockedRows[0].blockers.map((blocker) => blocker.id).join(", ")}`,
159
- "pm next --ready-only after a blocker closes to re-check ready work",
160
- 'pm create --type Task --title "..." to add new ready work'
161
- ];
162
- }
163
- return [
164
- 'pm create --type Task --title "..." to add a new work item',
165
- "pm list --status in_progress to review work already underway",
166
- "pm context --depth deep for the full project snapshot"
167
- ];
168
- }
169
- function filterCandidatesByParentScope(candidates, corpus, parentScope) {
170
- if (!parentScope) {
171
- return candidates;
172
- }
173
- const subtree = collectSubtreeIds(corpus, parentScope);
174
- if (!subtree.found) {
175
- throw new PmCliError(`Next --parent item not found: ${parentScope}`, EXIT_CODE.NOT_FOUND);
176
- }
177
- return candidates.filter((item) => subtree.ids.has(item.id.trim().toLowerCase()));
178
- }
179
- async function runNext(options, global2) {
180
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
181
- const settings = await readSettings(pmRoot);
182
- const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
183
- const now = nowIso();
184
- const limit = parseNextLimit(options.limit, "--limit", DEFAULT_NEXT_LIMIT);
185
- const blockedLimit = parseNextLimit(options.blockedLimit, "--blocked-limit", limit);
186
- const readyOnly = options.readyOnly === true;
187
- const parentScope = typeof options.parent === "string" ? options.parent.trim() : "";
188
- const candidatesList = await runList(void 0, nextListOptions(options, { excludeTerminal: true }), global2);
189
- const corpusList = await runList(void 0, { excludeTerminal: false, noTruncate: true }, global2);
190
- const candidates = filterCandidatesByParentScope(candidatesList.items, corpusList.items, parentScope);
191
- const corpus = corpusList.items;
192
- const report = computeActionabilityReport(candidates, corpus, statusRegistry);
193
- const childrenByParent = buildChildrenByParent(corpus);
194
- const rankedReady = rankNextReadyEntries(report.ready, childrenByParent, statusRegistry);
195
- const rankedBlocked = [...report.blocked].sort((left, right) => compareCriticalItems(left.item, right.item, statusRegistry));
196
- const concreteReady = rankedReady.filter((entry) => !hasCompletedDescendants(entry.item, childrenByParent));
197
- const projectedReady = concreteReady.length > 0 ? concreteReady : rankedReady;
198
- const readyRows = projectedReady.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));
199
- const blockedRows = rankedBlocked.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));
200
- const recommended = buildNextRecommendation({
201
- projectedReady,
202
- readyRows,
203
- statusRegistry,
204
- now,
205
- completedContainer: concreteReady.length === 0
206
- });
207
- const result = {
208
- output_default: "toon",
209
- now,
210
- recommended,
211
- ready: readyRows.slice(0, limit),
212
- blocked: readyOnly ? [] : blockedRows.slice(0, blockedLimit),
213
- summary: {
214
- recommended: recommended !== null,
215
- ready: readyRows.length,
216
- blocked: blockedRows.length,
217
- in_progress: inProgressReadyCount(readyRows, statusRegistry),
218
- candidates: report.active_count,
219
- containers: report.container_count
220
- },
221
- filters: {
222
- type: options.type ?? null,
223
- tag: options.tag ?? null,
224
- priority: options.priority ?? null,
225
- assignee: options.assignee ?? null,
226
- assignee_filter: options.assigneeFilter ?? null,
227
- sprint: options.sprint ?? null,
228
- release: options.release ?? null,
229
- parent: parentScope.length > 0 ? parentScope : null,
230
- limit,
231
- blocked_limit: blockedLimit,
232
- ready_only: readyOnly
233
- }
234
- };
235
- const warnings = [.../* @__PURE__ */ new Set([...candidatesList.warnings ?? [], ...corpusList.warnings ?? []])].sort((a, b) => a.localeCompare(b));
236
- if (warnings.length > 0)
237
- result.warnings = warnings;
238
- result.suggestions = buildNextSuggestions(recommended, blockedRows);
239
- return result;
240
- }
241
- function renderNextMarkdown(result) {
242
- const lines = ["# pm next", ""];
243
- lines.push(`- now: ${result.now}`);
244
- lines.push(`- ready: ${result.summary.ready} (in_progress: ${result.summary.in_progress}), blocked: ${result.summary.blocked}, candidates: ${result.summary.candidates}`);
245
- if (result.filters.parent) {
246
- lines.push(`- scope: subtree of ${result.filters.parent}`);
247
- }
248
- lines.push("");
249
- lines.push("## Recommended");
250
- if (result.recommended) {
251
- lines.push(`- ${formatNextLine(result.recommended)}`);
252
- lines.push(` why: ${result.recommended.reasons.join("; ")}`);
253
- } else {
254
- lines.push("No ready work.");
255
- }
256
- lines.push("");
257
- lines.push("## Ready");
258
- if (result.ready.length === 0) {
259
- lines.push("No ready items.");
260
- } else {
261
- for (const item of result.ready) {
262
- lines.push(`- ${formatNextLine(item)}`);
263
- }
264
- }
265
- lines.push("");
266
- if (!result.filters.ready_only) {
267
- lines.push("## Blocked");
268
- if (result.blocked.length === 0) {
269
- lines.push("No blocked items.");
270
- } else {
271
- for (const item of result.blocked) {
272
- const by = item.blockers.map((blocker) => `${blocker.id}(${blocker.status ?? "?"})`).join(", ");
273
- lines.push(`- ${formatNextLine(item)} blocked_by:${by}`);
274
- }
275
- }
276
- lines.push("");
277
- }
278
- if (result.suggestions && result.suggestions.length > 0) {
279
- lines.push("## Suggestions");
280
- for (const suggestion of result.suggestions) {
281
- lines.push(`- ${suggestion}`);
282
- }
283
- }
284
- return lines.join("\n").trimEnd();
285
- }
286
- function formatNextLine(item) {
287
- const deadlineToken = item.deadline ?? "-";
288
- const parentToken = item.parent ? ` parent:${item.parent}` : "";
289
- const unblocksToken = item.unblocks.length > 0 ? ` unblocks:${item.unblocks.length}` : "";
290
- return `${item.id} p${item.priority} ${item.status} ${item.type} deadline:${deadlineToken}${parentToken}${unblocksToken} ${item.title}`;
291
- }
292
-
293
- export {
294
- NEXT_OUTPUT_VALUES,
295
- resolveNextOutputFormat,
296
- runNext,
297
- renderNextMarkdown
298
- };
299
- //# sourceMappingURL=chunk-ZO3XKAOP.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../../cli/commands/next.ts"],
4
- "sourcesContent": ["/**\n * @module cli/commands/next\n *\n * Implements the `pm next` command: the distilled \"what should I work on now?\"\n * query. It loads the active corpus, computes dependency-aware actionability\n * (ready vs blocked leaf work), and returns a single ranked recommendation with a\n * deterministic rationale plus the ranked ready/blocked queues — so an agent gets\n * the next action and the reason for it in one token-efficient read instead of\n * re-deriving readiness from a full `pm context` snapshot every turn.\n */\nimport {\n collectBlockedByIds,\n computeActionabilityReport,\n type ActionableEntry,\n} from \"../../core/item/actionability.js\";\nimport { resolveRuntimeStatusRegistry, type RuntimeStatusRegistry } from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { nowIso } from \"../../core/shared/time.js\";\nimport { normalizeStatusInput, normalizeStatusForRegistry } from \"../../core/item/status.js\";\nimport { resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport type { ItemFrontMatter, ItemStatus } from \"../../types/index.js\";\nimport { parseIntegerLimit } from \"../shared-parsers.js\";\nimport {\n buildChildrenByParent,\n collectSubtreeIds,\n compareCriticalItems,\n toContextFocusItem,\n type ContextFocusItem,\n} from \"./context.js\";\nimport { runList, type ListOptions } from \"./list.js\";\n\nexport const NEXT_OUTPUT_VALUES = [\"markdown\", \"toon\", \"json\"] as const;\n/**\n * Restricts `pm next` output format values accepted by command, SDK, and storage contracts.\n */\nexport type NextOutputFormat = (typeof NEXT_OUTPUT_VALUES)[number];\n\nconst DEFAULT_NEXT_LIMIT = 5;\nconst MS_PER_DAY = 24 * 60 * 60 * 1000;\n\n/**\n * Documents the `pm next` options payload exchanged by command, SDK, and package integrations.\n */\nexport interface NextOptions {\n type?: string;\n tag?: string;\n priority?: string;\n assignee?: string;\n assigneeFilter?: string;\n sprint?: string;\n release?: string;\n parent?: string;\n limit?: string;\n blockedLimit?: string;\n readyOnly?: boolean;\n format?: string;\n [key: string]: unknown;\n}\n\n/** A blocker reference projected onto the `pm next` output. */\nexport interface NextBlockerRef {\n id: string;\n title: string | null;\n status: ItemStatus | null;\n}\n\n/**\n * A classified actionable item on the `pm next` output: a {@link ContextFocusItem}\n * focus row augmented with its open-blocker references and the downstream items it\n * would unblock.\n */\nexport interface NextActionableItem extends ContextFocusItem {\n open_blocker_count: number;\n blockers: NextBlockerRef[];\n unblocks: string[];\n}\n\n/** The single recommended next item: an actionable row plus its rationale. */\nexport interface NextRecommendation extends NextActionableItem {\n reasons: string[];\n}\n\ninterface NextSummary {\n recommended: boolean;\n ready: number;\n blocked: number;\n in_progress: number;\n candidates: number;\n containers: number;\n}\n\n/**\n * Documents the `pm next` result payload exchanged by command, SDK, and package integrations.\n */\nexport interface NextResult {\n output_default: \"toon\";\n now: string;\n recommended: NextRecommendation | null;\n ready: NextActionableItem[];\n blocked: NextActionableItem[];\n summary: NextSummary;\n filters: {\n type: string | null;\n tag: string | null;\n priority: string | null;\n assignee: string | null;\n assignee_filter: string | null;\n sprint: string | null;\n release: string | null;\n parent: string | null;\n limit: number;\n blocked_limit: number;\n ready_only: boolean;\n };\n suggestions?: string[];\n warnings?: string[];\n}\n\nfunction parseNextOutputFormat(raw: string | undefined): NextOutputFormat | undefined {\n if (!raw) return undefined;\n const normalized = raw.trim().toLowerCase();\n if (!NEXT_OUTPUT_VALUES.includes(normalized as NextOutputFormat)) {\n throw new PmCliError(\"Next format must be one of markdown|toon|json\", EXIT_CODE.USAGE);\n }\n return normalized as NextOutputFormat;\n}\n\n/**\n * Resolves the effective `pm next` output format from the command `--format` flag\n * and the global `--json` switch, rejecting the contradictory `--json --format\n * markdown|toon` combination. Defaults to `toon`.\n */\nexport function resolveNextOutputFormat(options: NextOptions, global: GlobalOptions): NextOutputFormat {\n const commandFormat = parseNextOutputFormat(options.format);\n if (global.json && commandFormat && commandFormat !== \"json\") {\n throw new PmCliError(\"Cannot combine --json with --format markdown|toon\", EXIT_CODE.USAGE);\n }\n if (global.json) {\n return \"json\";\n }\n return commandFormat ?? \"toon\";\n}\n\n// Per-section row cap. A non-positive or absent value falls back to the default;\n// invalid (non-integer) values throw via parseIntegerLimit.\nfunction parseNextLimit(raw: string | undefined, flag: string, fallback: number): number {\n const parsed = parseIntegerLimit(raw, flag);\n if (parsed === undefined || parsed <= 0) return fallback;\n return parsed;\n}\n\n// Projects an actionable entry onto its output row. Ready entries carry no\n// blockers; blocked entries surface their unresolved blockers for the agent.\nfunction toNextActionableItem(\n entry: ActionableEntry,\n statusRegistry: RuntimeStatusRegistry,\n childrenByParent: Map<string, ItemFrontMatter[]>,\n): NextActionableItem {\n return {\n ...toContextFocusItem(entry.item, statusRegistry, childrenByParent),\n open_blocker_count: entry.open_blockers.length,\n blockers: entry.open_blockers.map((blocker) => ({ id: blocker.id, title: blocker.title, status: blocker.status })),\n unblocks: entry.unblocks,\n };\n}\n\n// Builds the human+agent readable rationale for the recommended item, ordering\n// clauses from most to least decisive (status, priority, deadline, blocker\n// clearance, parent advancement, downstream unblocks).\nfunction buildRecommendationReasons(\n entry: ActionableEntry,\n statusRegistry: RuntimeStatusRegistry,\n now: string,\n completedContainer: boolean,\n): string[] {\n const item = entry.item;\n const reasons: string[] = [];\n const inProgressStatus = normalizeStatusInput(\"in_progress\", statusRegistry);\n reasons.push(\n normalizeStatusForRegistry(item.status, statusRegistry) === inProgressStatus\n ? \"in progress — resume to finish\"\n : \"open and ready to start\",\n );\n if (completedContainer) {\n reasons.push(\"completed container — governance closeout\");\n }\n reasons.push(`priority p${item.priority}${item.priority === 0 ? \" (highest)\" : \"\"}`);\n if (typeof item.deadline === \"string\" && item.deadline.trim().length > 0) {\n reasons.push(describeDeadline(item.deadline, now));\n }\n reasons.push(collectBlockedByIds(item).length > 0 ? \"all blockers resolved\" : \"no blockers\");\n if (typeof item.parent === \"string\" && item.parent.trim().length > 0) {\n reasons.push(`advances ${item.parent.trim()}`);\n }\n if (entry.unblocks.length > 0) {\n reasons.push(`unblocks ${entry.unblocks.length} item(s): ${entry.unblocks.join(\", \")}`);\n }\n return reasons;\n}\n\n// Renders a deadline as a date token plus a relative tag (overdue/today/in Nd).\n// The relative delta is computed on UTC calendar dates (both sides normalized to\n// midnight) so a deadline due today never reads as \"overdue 1d\" just because the\n// wall-clock time of `now` has passed midnight. Unparseable deadlines degrade to\n// the raw token (defensive — stored deadlines are always valid ISO).\nfunction describeDeadline(deadline: string, now: string): string {\n const deadlineMs = Date.parse(deadline);\n /* c8 ignore start -- defensive: a stored deadline that fails Date.parse still surfaces its raw token */\n if (!Number.isFinite(deadlineMs)) {\n return `deadline ${deadline.trim()}`;\n }\n /* c8 ignore stop */\n const dateToken = new Date(deadlineMs).toISOString().slice(0, 10);\n const nowToken = new Date(Date.parse(now)).toISOString().slice(0, 10);\n const days = Math.round((Date.parse(dateToken) - Date.parse(nowToken)) / MS_PER_DAY);\n if (days < 0) return `deadline ${dateToken} (overdue ${-days}d)`;\n if (days === 0) return `deadline ${dateToken} (due today)`;\n return `deadline ${dateToken} (in ${days}d)`;\n}\n\nfunction inProgressReadyCount(ready: NextActionableItem[], statusRegistry: RuntimeStatusRegistry): number {\n const inProgressStatus = normalizeStatusInput(\"in_progress\", statusRegistry);\n return ready.filter((item) => normalizeStatusForRegistry(item.status, statusRegistry) === inProgressStatus).length;\n}\n\n// Returns true when an otherwise-ready item still has terminal descendants. Such\n// rows are useful governance closeout context, but concrete leaf work should rank\n// ahead of them in the default agent loop.\nfunction hasCompletedDescendants(item: ItemFrontMatter, childrenByParent: Map<string, ItemFrontMatter[]>): boolean {\n return (childrenByParent.get(item.id.trim().toLowerCase()) ?? []).length > 0;\n}\n\n// Strips projection/pagination flags so the corpus reads stay full: limits are\n// per-section display caps applied after classification, never corpus filters.\nfunction nextListOptions(options: NextOptions, extra: Partial<ListOptions>): ListOptions {\n return {\n type: options.type,\n tag: options.tag,\n priority: options.priority,\n assignee: options.assignee,\n assigneeFilter: options.assigneeFilter,\n sprint: options.sprint,\n release: options.release,\n noTruncate: true,\n ...extra,\n };\n}\n\nfunction rankNextReadyEntries(\n ready: ActionableEntry[],\n childrenByParent: Map<string, ItemFrontMatter[]>,\n statusRegistry: RuntimeStatusRegistry,\n): ActionableEntry[] {\n return [...ready].sort((left, right) => {\n const leftCompletedContainer = hasCompletedDescendants(left.item, childrenByParent);\n const rightCompletedContainer = hasCompletedDescendants(right.item, childrenByParent);\n if (leftCompletedContainer !== rightCompletedContainer) {\n return Number(leftCompletedContainer) - Number(rightCompletedContainer);\n }\n return compareCriticalItems(left.item, right.item, statusRegistry);\n });\n}\n\nfunction buildNextRecommendation(params: {\n projectedReady: ActionableEntry[];\n readyRows: NextActionableItem[];\n statusRegistry: RuntimeStatusRegistry;\n now: string;\n completedContainer: boolean;\n}): NextRecommendation | null {\n if (params.projectedReady.length === 0) {\n return null;\n }\n return {\n ...params.readyRows[0],\n reasons: buildRecommendationReasons(\n params.projectedReady[0],\n params.statusRegistry,\n params.now,\n params.completedContainer,\n ),\n };\n}\n\nfunction buildNextSuggestions(recommended: NextRecommendation | null, blockedRows: NextActionableItem[]): string[] | undefined {\n if (recommended !== null) {\n return undefined;\n }\n if (blockedRows.length > 0) {\n return [\n `${blockedRows.length} item(s) are blocked; unblock the top one by closing ${blockedRows[0].blockers\n .map((blocker) => blocker.id)\n .join(\", \")}`,\n \"pm next --ready-only after a blocker closes to re-check ready work\",\n 'pm create --type Task --title \"...\" to add new ready work',\n ];\n }\n return [\n 'pm create --type Task --title \"...\" to add a new work item',\n \"pm list --status in_progress to review work already underway\",\n \"pm context --depth deep for the full project snapshot\",\n ];\n}\n\nfunction filterCandidatesByParentScope(\n candidates: ItemFrontMatter[],\n corpus: ItemFrontMatter[],\n parentScope: string,\n): ItemFrontMatter[] {\n if (!parentScope) {\n return candidates;\n }\n const subtree = collectSubtreeIds(corpus, parentScope);\n if (!subtree.found) {\n throw new PmCliError(`Next --parent item not found: ${parentScope}`, EXIT_CODE.NOT_FOUND);\n }\n return candidates.filter((item) => subtree.ids.has(item.id.trim().toLowerCase()));\n}\n\n/**\n * Implements `pm next`: computes the ranked ready/blocked actionable queues and a\n * single recommended next item with rationale for the public runtime surface.\n */\nexport async function runNext(options: NextOptions, global: GlobalOptions): Promise<NextResult> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const now = nowIso();\n const limit = parseNextLimit(options.limit, \"--limit\", DEFAULT_NEXT_LIMIT);\n const blockedLimit = parseNextLimit(options.blockedLimit, \"--blocked-limit\", limit);\n const readyOnly = options.readyOnly === true;\n const parentScope = typeof options.parent === \"string\" ? options.parent.trim() : \"\";\n\n // Active (non-terminal) candidates honor the caller's filters; the corpus is the\n // FULL, UNFILTERED set (every status, every item) so blocker and descendant\n // resolution still sees items outside the caller's filters or --parent subtree —\n // otherwise a real blocker assigned to someone else (or a parent of a different\n // type) would be missing and the blocked item misread as ready.\n const candidatesList = await runList(undefined, nextListOptions(options, { excludeTerminal: true }), global);\n const corpusList = await runList(undefined, { excludeTerminal: false, noTruncate: true }, global);\n const candidates = filterCandidatesByParentScope(candidatesList.items as ItemFrontMatter[], corpusList.items as ItemFrontMatter[], parentScope);\n const corpus = corpusList.items as ItemFrontMatter[];\n\n const report = computeActionabilityReport(candidates, corpus, statusRegistry);\n const childrenByParent = buildChildrenByParent(corpus);\n const rankedReady = rankNextReadyEntries(report.ready, childrenByParent, statusRegistry);\n const rankedBlocked = [...report.blocked].sort((left, right) =>\n compareCriticalItems(left.item, right.item, statusRegistry),\n );\n const concreteReady = rankedReady.filter((entry) => !hasCompletedDescendants(entry.item, childrenByParent));\n const projectedReady = concreteReady.length > 0 ? concreteReady : rankedReady;\n\n const readyRows = projectedReady.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));\n const blockedRows = rankedBlocked.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));\n\n const recommended = buildNextRecommendation({\n projectedReady,\n readyRows,\n statusRegistry,\n now,\n completedContainer: concreteReady.length === 0,\n });\n\n const result: NextResult = {\n output_default: \"toon\",\n now,\n recommended,\n ready: readyRows.slice(0, limit),\n blocked: readyOnly ? [] : blockedRows.slice(0, blockedLimit),\n summary: {\n recommended: recommended !== null,\n ready: readyRows.length,\n blocked: blockedRows.length,\n in_progress: inProgressReadyCount(readyRows, statusRegistry),\n candidates: report.active_count,\n containers: report.container_count,\n },\n filters: {\n type: options.type ?? null,\n tag: options.tag ?? null,\n priority: options.priority ?? null,\n assignee: options.assignee ?? null,\n assignee_filter: options.assigneeFilter ?? null,\n sprint: options.sprint ?? null,\n release: options.release ?? null,\n parent: parentScope.length > 0 ? parentScope : null,\n limit,\n blocked_limit: blockedLimit,\n ready_only: readyOnly,\n },\n };\n\n const warnings = [...new Set([...(candidatesList.warnings ?? []), ...(corpusList.warnings ?? [])])].sort((a, b) =>\n a.localeCompare(b),\n );\n if (warnings.length > 0) result.warnings = warnings;\n\n result.suggestions = buildNextSuggestions(recommended, blockedRows);\n\n return result;\n}\n\n/**\n * Renders a {@link NextResult} as compact agent-readable markdown: the\n * recommendation with its rationale, the ranked ready queue, and (unless\n * `--ready-only`) the blocked queue annotated with each item's open blockers.\n */\nexport function renderNextMarkdown(result: NextResult): string {\n const lines: string[] = [\"# pm next\", \"\"];\n lines.push(`- now: ${result.now}`);\n lines.push(\n `- ready: ${result.summary.ready} (in_progress: ${result.summary.in_progress}), blocked: ${result.summary.blocked}, candidates: ${result.summary.candidates}`,\n );\n if (result.filters.parent) {\n lines.push(`- scope: subtree of ${result.filters.parent}`);\n }\n lines.push(\"\");\n\n lines.push(\"## Recommended\");\n if (result.recommended) {\n lines.push(`- ${formatNextLine(result.recommended)}`);\n lines.push(` why: ${result.recommended.reasons.join(\"; \")}`);\n } else {\n lines.push(\"No ready work.\");\n }\n lines.push(\"\");\n\n lines.push(\"## Ready\");\n if (result.ready.length === 0) {\n lines.push(\"No ready items.\");\n } else {\n for (const item of result.ready) {\n lines.push(`- ${formatNextLine(item)}`);\n }\n }\n lines.push(\"\");\n\n if (!result.filters.ready_only) {\n lines.push(\"## Blocked\");\n if (result.blocked.length === 0) {\n lines.push(\"No blocked items.\");\n } else {\n for (const item of result.blocked) {\n const by = item.blockers\n .map((blocker) => `${blocker.id}(${blocker.status ?? \"?\"})`)\n .join(\", \");\n lines.push(`- ${formatNextLine(item)} blocked_by:${by}`);\n }\n }\n lines.push(\"\");\n }\n\n if (result.suggestions && result.suggestions.length > 0) {\n lines.push(\"## Suggestions\");\n for (const suggestion of result.suggestions) {\n lines.push(`- ${suggestion}`);\n }\n }\n\n return lines.join(\"\\n\").trimEnd();\n}\n\n// Formats a single actionable row: id, priority, status, type, deadline, parent,\n// downstream-unblock count, and title. Mirrors the context focus-line shape.\nfunction formatNextLine(item: NextActionableItem): string {\n const deadlineToken = item.deadline ?? \"-\";\n const parentToken = item.parent ? ` parent:${item.parent}` : \"\";\n const unblocksToken = item.unblocks.length > 0 ? ` unblocks:${item.unblocks.length}` : \"\";\n return `${item.id} p${item.priority} ${item.status} ${item.type} deadline:${deadlineToken}${parentToken}${unblocksToken} ${item.title}`;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCO,IAAM,qBAAqB,CAAC,YAAY,QAAQ,MAAM;AAM7D,IAAM,qBAAqB;AAC3B,IAAM,aAAa,KAAK,KAAK,KAAK;AAgFlC,SAAS,sBAAsB,KAAuB;AACpD,MAAI,CAAC;AAAK,WAAO;AACjB,QAAM,aAAa,IAAI,KAAI,EAAG,YAAW;AACzC,MAAI,CAAC,mBAAmB,SAAS,UAA8B,GAAG;AAChE,UAAM,IAAI,WAAW,iDAAiD,UAAU,KAAK;EACvF;AACA,SAAO;AACT;AAOM,SAAU,wBAAwB,SAAsBA,SAAqB;AACjF,QAAM,gBAAgB,sBAAsB,QAAQ,MAAM;AAC1D,MAAIA,QAAO,QAAQ,iBAAiB,kBAAkB,QAAQ;AAC5D,UAAM,IAAI,WAAW,qDAAqD,UAAU,KAAK;EAC3F;AACA,MAAIA,QAAO,MAAM;AACf,WAAO;EACT;AACA,SAAO,iBAAiB;AAC1B;AAIA,SAAS,eAAe,KAAyB,MAAc,UAAgB;AAC7E,QAAM,SAAS,kBAAkB,KAAK,IAAI;AAC1C,MAAI,WAAW,UAAa,UAAU;AAAG,WAAO;AAChD,SAAO;AACT;AAIA,SAAS,qBACP,OACA,gBACA,kBAAgD;AAEhD,SAAO;IACL,GAAG,mBAAmB,MAAM,MAAM,gBAAgB,gBAAgB;IAClE,oBAAoB,MAAM,cAAc;IACxC,UAAU,MAAM,cAAc,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,IAAI,OAAO,QAAQ,OAAO,QAAQ,QAAQ,OAAM,EAAG;IACjH,UAAU,MAAM;;AAEpB;AAKA,SAAS,2BACP,OACA,gBACA,KACA,oBAA2B;AAE3B,QAAM,OAAO,MAAM;AACnB,QAAM,UAAoB,CAAA;AAC1B,QAAM,mBAAmB,qBAAqB,eAAe,cAAc;AAC3E,UAAQ,KACN,2BAA2B,KAAK,QAAQ,cAAc,MAAM,mBACxD,wCACA,yBAAyB;AAE/B,MAAI,oBAAoB;AACtB,YAAQ,KAAK,gDAA2C;EAC1D;AACA,UAAQ,KAAK,aAAa,KAAK,QAAQ,GAAG,KAAK,aAAa,IAAI,eAAe,EAAE,EAAE;AACnF,MAAI,OAAO,KAAK,aAAa,YAAY,KAAK,SAAS,KAAI,EAAG,SAAS,GAAG;AACxE,YAAQ,KAAK,iBAAiB,KAAK,UAAU,GAAG,CAAC;EACnD;AACA,UAAQ,KAAK,oBAAoB,IAAI,EAAE,SAAS,IAAI,0BAA0B,aAAa;AAC3F,MAAI,OAAO,KAAK,WAAW,YAAY,KAAK,OAAO,KAAI,EAAG,SAAS,GAAG;AACpE,YAAQ,KAAK,YAAY,KAAK,OAAO,KAAI,CAAE,EAAE;EAC/C;AACA,MAAI,MAAM,SAAS,SAAS,GAAG;AAC7B,YAAQ,KAAK,YAAY,MAAM,SAAS,MAAM,aAAa,MAAM,SAAS,KAAK,IAAI,CAAC,EAAE;EACxF;AACA,SAAO;AACT;AAOA,SAAS,iBAAiB,UAAkB,KAAW;AACrD,QAAM,aAAa,KAAK,MAAM,QAAQ;AAEtC,MAAI,CAAC,OAAO,SAAS,UAAU,GAAG;AAChC,WAAO,YAAY,SAAS,KAAI,CAAE;EACpC;AAEA,QAAM,YAAY,IAAI,KAAK,UAAU,EAAE,YAAW,EAAG,MAAM,GAAG,EAAE;AAChE,QAAM,WAAW,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE,YAAW,EAAG,MAAM,GAAG,EAAE;AACpE,QAAM,OAAO,KAAK,OAAO,KAAK,MAAM,SAAS,IAAI,KAAK,MAAM,QAAQ,KAAK,UAAU;AACnF,MAAI,OAAO;AAAG,WAAO,YAAY,SAAS,aAAa,CAAC,IAAI;AAC5D,MAAI,SAAS;AAAG,WAAO,YAAY,SAAS;AAC5C,SAAO,YAAY,SAAS,QAAQ,IAAI;AAC1C;AAEA,SAAS,qBAAqB,OAA6B,gBAAqC;AAC9F,QAAM,mBAAmB,qBAAqB,eAAe,cAAc;AAC3E,SAAO,MAAM,OAAO,CAAC,SAAS,2BAA2B,KAAK,QAAQ,cAAc,MAAM,gBAAgB,EAAE;AAC9G;AAKA,SAAS,wBAAwB,MAAuB,kBAAgD;AACtG,UAAQ,iBAAiB,IAAI,KAAK,GAAG,KAAI,EAAG,YAAW,CAAE,KAAK,CAAA,GAAI,SAAS;AAC7E;AAIA,SAAS,gBAAgB,SAAsB,OAA2B;AACxE,SAAO;IACL,MAAM,QAAQ;IACd,KAAK,QAAQ;IACb,UAAU,QAAQ;IAClB,UAAU,QAAQ;IAClB,gBAAgB,QAAQ;IACxB,QAAQ,QAAQ;IAChB,SAAS,QAAQ;IACjB,YAAY;IACZ,GAAG;;AAEP;AAEA,SAAS,qBACP,OACA,kBACA,gBAAqC;AAErC,SAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,UAAS;AACrC,UAAM,yBAAyB,wBAAwB,KAAK,MAAM,gBAAgB;AAClF,UAAM,0BAA0B,wBAAwB,MAAM,MAAM,gBAAgB;AACpF,QAAI,2BAA2B,yBAAyB;AACtD,aAAO,OAAO,sBAAsB,IAAI,OAAO,uBAAuB;IACxE;AACA,WAAO,qBAAqB,KAAK,MAAM,MAAM,MAAM,cAAc;EACnE,CAAC;AACH;AAEA,SAAS,wBAAwB,QAMhC;AACC,MAAI,OAAO,eAAe,WAAW,GAAG;AACtC,WAAO;EACT;AACA,SAAO;IACL,GAAG,OAAO,UAAU,CAAC;IACrB,SAAS,2BACP,OAAO,eAAe,CAAC,GACvB,OAAO,gBACP,OAAO,KACP,OAAO,kBAAkB;;AAG/B;AAEA,SAAS,qBAAqB,aAAwC,aAAiC;AACrG,MAAI,gBAAgB,MAAM;AACxB,WAAO;EACT;AACA,MAAI,YAAY,SAAS,GAAG;AAC1B,WAAO;MACL,GAAG,YAAY,MAAM,wDAAwD,YAAY,CAAC,EAAE,SACzF,IAAI,CAAC,YAAY,QAAQ,EAAE,EAC3B,KAAK,IAAI,CAAC;MACb;MACA;;EAEJ;AACA,SAAO;IACL;IACA;IACA;;AAEJ;AAEA,SAAS,8BACP,YACA,QACA,aAAmB;AAEnB,MAAI,CAAC,aAAa;AAChB,WAAO;EACT;AACA,QAAM,UAAU,kBAAkB,QAAQ,WAAW;AACrD,MAAI,CAAC,QAAQ,OAAO;AAClB,UAAM,IAAI,WAAW,iCAAiC,WAAW,IAAI,UAAU,SAAS;EAC1F;AACA,SAAO,WAAW,OAAO,CAAC,SAAS,QAAQ,IAAI,IAAI,KAAK,GAAG,KAAI,EAAG,YAAW,CAAE,CAAC;AAClF;AAMA,eAAsB,QAAQ,SAAsBA,SAAqB;AACvE,QAAM,SAAS,cAAc,QAAQ,IAAG,GAAIA,QAAO,IAAI;AACvD,QAAM,WAAW,MAAM,aAAa,MAAM;AAC1C,QAAM,iBAAiB,6BAA6B,SAAS,MAAM;AACnE,QAAM,MAAM,OAAM;AAClB,QAAM,QAAQ,eAAe,QAAQ,OAAO,WAAW,kBAAkB;AACzE,QAAM,eAAe,eAAe,QAAQ,cAAc,mBAAmB,KAAK;AAClF,QAAM,YAAY,QAAQ,cAAc;AACxC,QAAM,cAAc,OAAO,QAAQ,WAAW,WAAW,QAAQ,OAAO,KAAI,IAAK;AAOjF,QAAM,iBAAiB,MAAM,QAAQ,QAAW,gBAAgB,SAAS,EAAE,iBAAiB,KAAI,CAAE,GAAGA,OAAM;AAC3G,QAAM,aAAa,MAAM,QAAQ,QAAW,EAAE,iBAAiB,OAAO,YAAY,KAAI,GAAIA,OAAM;AAChG,QAAM,aAAa,8BAA8B,eAAe,OAA4B,WAAW,OAA4B,WAAW;AAC9I,QAAM,SAAS,WAAW;AAE1B,QAAM,SAAS,2BAA2B,YAAY,QAAQ,cAAc;AAC5E,QAAM,mBAAmB,sBAAsB,MAAM;AACrD,QAAM,cAAc,qBAAqB,OAAO,OAAO,kBAAkB,cAAc;AACvF,QAAM,gBAAgB,CAAC,GAAG,OAAO,OAAO,EAAE,KAAK,CAAC,MAAM,UACpD,qBAAqB,KAAK,MAAM,MAAM,MAAM,cAAc,CAAC;AAE7D,QAAM,gBAAgB,YAAY,OAAO,CAAC,UAAU,CAAC,wBAAwB,MAAM,MAAM,gBAAgB,CAAC;AAC1G,QAAM,iBAAiB,cAAc,SAAS,IAAI,gBAAgB;AAElE,QAAM,YAAY,eAAe,IAAI,CAAC,UAAU,qBAAqB,OAAO,gBAAgB,gBAAgB,CAAC;AAC7G,QAAM,cAAc,cAAc,IAAI,CAAC,UAAU,qBAAqB,OAAO,gBAAgB,gBAAgB,CAAC;AAE9G,QAAM,cAAc,wBAAwB;IAC1C;IACA;IACA;IACA;IACA,oBAAoB,cAAc,WAAW;GAC9C;AAED,QAAM,SAAqB;IACzB,gBAAgB;IAChB;IACA;IACA,OAAO,UAAU,MAAM,GAAG,KAAK;IAC/B,SAAS,YAAY,CAAA,IAAK,YAAY,MAAM,GAAG,YAAY;IAC3D,SAAS;MACP,aAAa,gBAAgB;MAC7B,OAAO,UAAU;MACjB,SAAS,YAAY;MACrB,aAAa,qBAAqB,WAAW,cAAc;MAC3D,YAAY,OAAO;MACnB,YAAY,OAAO;;IAErB,SAAS;MACP,MAAM,QAAQ,QAAQ;MACtB,KAAK,QAAQ,OAAO;MACpB,UAAU,QAAQ,YAAY;MAC9B,UAAU,QAAQ,YAAY;MAC9B,iBAAiB,QAAQ,kBAAkB;MAC3C,QAAQ,QAAQ,UAAU;MAC1B,SAAS,QAAQ,WAAW;MAC5B,QAAQ,YAAY,SAAS,IAAI,cAAc;MAC/C;MACA,eAAe;MACf,YAAY;;;AAIhB,QAAM,WAAW,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAI,eAAe,YAAY,CAAA,GAAK,GAAI,WAAW,YAAY,CAAA,CAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAC3G,EAAE,cAAc,CAAC,CAAC;AAEpB,MAAI,SAAS,SAAS;AAAG,WAAO,WAAW;AAE3C,SAAO,cAAc,qBAAqB,aAAa,WAAW;AAElE,SAAO;AACT;AAOM,SAAU,mBAAmB,QAAkB;AACnD,QAAM,QAAkB,CAAC,aAAa,EAAE;AACxC,QAAM,KAAK,UAAU,OAAO,GAAG,EAAE;AACjC,QAAM,KACJ,YAAY,OAAO,QAAQ,KAAK,kBAAkB,OAAO,QAAQ,WAAW,eAAe,OAAO,QAAQ,OAAO,iBAAiB,OAAO,QAAQ,UAAU,EAAE;AAE/J,MAAI,OAAO,QAAQ,QAAQ;AACzB,UAAM,KAAK,uBAAuB,OAAO,QAAQ,MAAM,EAAE;EAC3D;AACA,QAAM,KAAK,EAAE;AAEb,QAAM,KAAK,gBAAgB;AAC3B,MAAI,OAAO,aAAa;AACtB,UAAM,KAAK,KAAK,eAAe,OAAO,WAAW,CAAC,EAAE;AACpD,UAAM,KAAK,UAAU,OAAO,YAAY,QAAQ,KAAK,IAAI,CAAC,EAAE;EAC9D,OAAO;AACL,UAAM,KAAK,gBAAgB;EAC7B;AACA,QAAM,KAAK,EAAE;AAEb,QAAM,KAAK,UAAU;AACrB,MAAI,OAAO,MAAM,WAAW,GAAG;AAC7B,UAAM,KAAK,iBAAiB;EAC9B,OAAO;AACL,eAAW,QAAQ,OAAO,OAAO;AAC/B,YAAM,KAAK,KAAK,eAAe,IAAI,CAAC,EAAE;IACxC;EACF;AACA,QAAM,KAAK,EAAE;AAEb,MAAI,CAAC,OAAO,QAAQ,YAAY;AAC9B,UAAM,KAAK,YAAY;AACvB,QAAI,OAAO,QAAQ,WAAW,GAAG;AAC/B,YAAM,KAAK,mBAAmB;IAChC,OAAO;AACL,iBAAW,QAAQ,OAAO,SAAS;AACjC,cAAM,KAAK,KAAK,SACb,IAAI,CAAC,YAAY,GAAG,QAAQ,EAAE,IAAI,QAAQ,UAAU,GAAG,GAAG,EAC1D,KAAK,IAAI;AACZ,cAAM,KAAK,KAAK,eAAe,IAAI,CAAC,eAAe,EAAE,EAAE;MACzD;IACF;AACA,UAAM,KAAK,EAAE;EACf;AAEA,MAAI,OAAO,eAAe,OAAO,YAAY,SAAS,GAAG;AACvD,UAAM,KAAK,gBAAgB;AAC3B,eAAW,cAAc,OAAO,aAAa;AAC3C,YAAM,KAAK,KAAK,UAAU,EAAE;IAC9B;EACF;AAEA,SAAO,MAAM,KAAK,IAAI,EAAE,QAAO;AACjC;AAIA,SAAS,eAAe,MAAwB;AAC9C,QAAM,gBAAgB,KAAK,YAAY;AACvC,QAAM,cAAc,KAAK,SAAS,WAAW,KAAK,MAAM,KAAK;AAC7D,QAAM,gBAAgB,KAAK,SAAS,SAAS,IAAI,aAAa,KAAK,SAAS,MAAM,KAAK;AACvF,SAAO,GAAG,KAAK,EAAE,KAAK,KAAK,QAAQ,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,aAAa,aAAa,GAAG,WAAW,GAAG,aAAa,IAAI,KAAK,KAAK;AACvI;",
6
- "names": ["global"]
7
- }