@unbrained/pm-cli 2026.6.19 → 2026.6.20

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 (517) hide show
  1. package/CHANGELOG.md +311 -258
  2. package/README.md +1 -1
  3. package/dist/cli/bootstrap-args.d.ts +12 -1
  4. package/dist/cli/bootstrap-args.js +20 -9
  5. package/dist/cli/bootstrap-args.js.map +1 -1
  6. package/dist/cli/commander-usage.js +31 -25
  7. package/dist/cli/commander-usage.js.map +1 -1
  8. package/dist/cli/commands/completion.js +3 -3
  9. package/dist/cli/commands/completion.js.map +1 -1
  10. package/dist/cli/commands/contracts.js +4 -3
  11. package/dist/cli/commands/contracts.js.map +1 -1
  12. package/dist/cli/commands/eval.d.ts +62 -0
  13. package/dist/cli/commands/eval.js +158 -0
  14. package/dist/cli/commands/eval.js.map +1 -0
  15. package/dist/cli/commands/extension/install-sources.d.ts +12 -0
  16. package/dist/cli/commands/extension/install-sources.js +77 -10
  17. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  18. package/dist/cli/commands/gc.d.ts +12 -1
  19. package/dist/cli/commands/gc.js +53 -6
  20. package/dist/cli/commands/gc.js.map +1 -1
  21. package/dist/cli/commands/health.js +14 -8
  22. package/dist/cli/commands/health.js.map +1 -1
  23. package/dist/cli/commands/index.d.ts +1 -0
  24. package/dist/cli/commands/index.js +3 -2
  25. package/dist/cli/commands/index.js.map +1 -1
  26. package/dist/cli/commands/linked-artifacts.js +13 -3
  27. package/dist/cli/commands/linked-artifacts.js.map +1 -1
  28. package/dist/cli/commands/list.js +12 -9
  29. package/dist/cli/commands/list.js.map +1 -1
  30. package/dist/cli/commands/plan.js +2 -2
  31. package/dist/cli/commands/plan.js.map +1 -1
  32. package/dist/cli/commands/restore.js +5 -11
  33. package/dist/cli/commands/restore.js.map +1 -1
  34. package/dist/cli/commands/search.d.ts +39 -1
  35. package/dist/cli/commands/search.js +89 -12
  36. package/dist/cli/commands/search.js.map +1 -1
  37. package/dist/cli/commands/update.js +96 -58
  38. package/dist/cli/commands/update.js.map +1 -1
  39. package/dist/cli/extension-command-help.d.ts +9 -0
  40. package/dist/cli/extension-command-help.js +13 -2
  41. package/dist/cli/extension-command-help.js.map +1 -1
  42. package/dist/cli/extension-command-options.d.ts +8 -0
  43. package/dist/cli/extension-command-options.js +27 -2
  44. package/dist/cli/extension-command-options.js.map +1 -1
  45. package/dist/cli/help-content.js +15 -2
  46. package/dist/cli/help-content.js.map +1 -1
  47. package/dist/cli/main.d.ts +12 -0
  48. package/dist/cli/main.js +49 -9
  49. package/dist/cli/main.js.map +1 -1
  50. package/dist/cli/register-list-query.js +34 -4
  51. package/dist/cli/register-list-query.js.map +1 -1
  52. package/dist/cli/register-operations.js +3 -3
  53. package/dist/cli/register-operations.js.map +1 -1
  54. package/dist/cli-bundle/chunks/activity-7G7NNNZQ.js +18 -0
  55. package/dist/cli-bundle/chunks/{activity-XJ7WRNWS.js → activity-KEEITOTB.js} +11 -11
  56. package/dist/cli-bundle/chunks/{aggregate-OFT4YVB6.js → aggregate-5BTHOHW2.js} +10 -10
  57. package/dist/cli-bundle/chunks/{aggregate-LBCWF6UJ.js → aggregate-GB2LJNTZ.js} +10 -10
  58. package/dist/cli-bundle/chunks/{append-BP2ARHOK.js → append-BBM4MNVD.js} +8 -8
  59. package/dist/cli-bundle/chunks/{append-5U3XR5SD.js → append-BFV5UYWS.js} +8 -8
  60. package/dist/cli-bundle/chunks/{chunk-ZZEM2PH7.js → chunk-26OQTCGH.js} +19 -14
  61. package/dist/cli-bundle/chunks/chunk-26OQTCGH.js.map +1 -0
  62. package/dist/cli-bundle/chunks/{chunk-RVG3WLY3.js → chunk-2LUNPA3U.js} +2 -2
  63. package/dist/cli-bundle/chunks/{chunk-OURX4WVG.js → chunk-2QJLN4KM.js} +7 -7
  64. package/dist/cli-bundle/chunks/{search-2JX776KX.js → chunk-2ZY5SLNR.js} +184 -23
  65. package/dist/cli-bundle/chunks/chunk-2ZY5SLNR.js.map +1 -0
  66. package/dist/cli-bundle/chunks/{chunk-AVMSP2HH.js → chunk-3KVCMB2M.js} +2 -2
  67. package/dist/cli-bundle/chunks/{chunk-FVZSUIN5.js → chunk-3WAKNI2W.js} +3 -3
  68. package/dist/cli-bundle/chunks/{chunk-H3DP6OUM.js → chunk-4KFL5OYK.js} +3 -3
  69. package/dist/cli-bundle/chunks/{chunk-VG3B2CYD.js → chunk-4PW4C3ZB.js} +2 -2
  70. package/dist/cli-bundle/chunks/{chunk-SDUZTZ55.js → chunk-4S4INK3B.js} +7 -7
  71. package/dist/cli-bundle/chunks/{chunk-QCHNPN24.js → chunk-4YMX7XFI.js} +7 -5
  72. package/dist/cli-bundle/chunks/{chunk-QSH34DSQ.js → chunk-5MWA46UN.js} +3 -3
  73. package/dist/cli-bundle/chunks/{chunk-UIMLAFOE.js → chunk-5XK2RYJR.js} +7 -7
  74. package/dist/cli-bundle/chunks/{chunk-B2NEFANY.js → chunk-6DZO5NN7.js} +3 -3
  75. package/dist/cli-bundle/chunks/{chunk-VP4Z36GO.js → chunk-6FSPWUBI.js} +2 -2
  76. package/dist/cli-bundle/chunks/{chunk-MPEWACTG.js → chunk-6KARQMC6.js} +2 -2
  77. package/dist/cli-bundle/chunks/{chunk-N7LDJRB4.js → chunk-6KSFULO6.js} +2 -2
  78. package/dist/cli-bundle/chunks/{chunk-XV6N3QND.js → chunk-6LTSLEHD.js} +2 -2
  79. package/dist/cli-bundle/chunks/{chunk-X26ODPU4.js → chunk-6Y7IQ6XN.js} +14 -18
  80. package/dist/cli-bundle/chunks/chunk-6Y7IQ6XN.js.map +7 -0
  81. package/dist/cli-bundle/chunks/{chunk-USKTNI7P.js → chunk-7MMXBIRZ.js} +2 -2
  82. package/dist/cli-bundle/chunks/{chunk-UCNEPMPY.js → chunk-ACULWT7G.js} +105 -66
  83. package/dist/cli-bundle/chunks/chunk-ACULWT7G.js.map +7 -0
  84. package/dist/cli-bundle/chunks/{chunk-2K56AWDP.js → chunk-AOCYDQLT.js} +5 -5
  85. package/dist/cli-bundle/chunks/{chunk-ZBVYKWT2.js → chunk-ATRXPXAL.js} +15 -15
  86. package/dist/cli-bundle/chunks/{chunk-A5JPMD4Q.js → chunk-AW4PYYNF.js} +2 -2
  87. package/dist/cli-bundle/chunks/{chunk-I2VJM36R.js → chunk-AZ75OVK4.js} +20 -21
  88. package/dist/cli-bundle/chunks/chunk-AZ75OVK4.js.map +1 -0
  89. package/dist/cli-bundle/chunks/{chunk-MTGMNUMJ.js → chunk-B3LROPTV.js} +2 -2
  90. package/dist/cli-bundle/chunks/{chunk-NPNNW5TU.js → chunk-BBSUVIIT.js} +8 -8
  91. package/dist/cli-bundle/chunks/{chunk-47BYN6CA.js → chunk-BYNJWB5F.js} +7 -7
  92. package/dist/cli-bundle/chunks/{chunk-PSWSQHM7.js → chunk-BZWIDTDE.js} +15 -19
  93. package/dist/cli-bundle/chunks/chunk-BZWIDTDE.js.map +1 -0
  94. package/dist/cli-bundle/chunks/{chunk-S673PVHD.js → chunk-CNPWCUDR.js} +3 -3
  95. package/dist/cli-bundle/chunks/{chunk-TYQBGXH2.js → chunk-DKWIPIJY.js} +2 -2
  96. package/dist/cli-bundle/chunks/{search-AZR2JITW.js → chunk-DYOJJTCG.js} +190 -22
  97. package/dist/cli-bundle/chunks/chunk-DYOJJTCG.js.map +7 -0
  98. package/dist/cli-bundle/chunks/{chunk-Y4IBSEQ2.js → chunk-E4E7UQBT.js} +20 -8
  99. package/dist/cli-bundle/chunks/chunk-E4E7UQBT.js.map +1 -0
  100. package/dist/cli-bundle/chunks/{chunk-HMQMRHQJ.js → chunk-EKMHDL6Z.js} +8 -8
  101. package/dist/cli-bundle/chunks/{chunk-LIVRA6VG.js → chunk-EOFROIC5.js} +7 -7
  102. package/dist/cli-bundle/chunks/{chunk-NNMBNN6Q.js → chunk-ETJKPURB.js} +7 -5
  103. package/dist/cli-bundle/chunks/{chunk-2E3KSWFG.js → chunk-F4EYOSNC.js} +2 -2
  104. package/dist/cli-bundle/chunks/{chunk-DJ3YYLHG.js → chunk-FA5O2DEG.js} +5 -5
  105. package/dist/cli-bundle/chunks/{chunk-QTWWHFI3.js → chunk-FBBPCSJM.js} +8 -8
  106. package/dist/cli-bundle/chunks/{chunk-EMFDZ7N3.js → chunk-FSOJCFDS.js} +3 -3
  107. package/dist/cli-bundle/chunks/{chunk-M35R7LFX.js → chunk-FXKPUMIR.js} +5 -5
  108. package/dist/cli-bundle/chunks/{chunk-YOGXK3ON.js → chunk-GF44HVZL.js} +18 -13
  109. package/dist/cli-bundle/chunks/chunk-GF44HVZL.js.map +7 -0
  110. package/dist/cli-bundle/chunks/{chunk-UA4ANRJY.js → chunk-H3ZTSYPA.js} +71 -13
  111. package/dist/cli-bundle/chunks/chunk-H3ZTSYPA.js.map +7 -0
  112. package/dist/cli-bundle/chunks/{chunk-II3WDRCM.js → chunk-HWHZ7EY7.js} +3 -3
  113. package/dist/cli-bundle/chunks/{chunk-7R5YKVKO.js → chunk-ICEWMJYH.js} +7 -7
  114. package/dist/cli-bundle/chunks/{chunk-UMTPQMEG.js → chunk-II4BRHKM.js} +3 -3
  115. package/dist/cli-bundle/chunks/{chunk-GDOTTY2S.js → chunk-IWKD7B33.js} +19 -2
  116. package/dist/cli-bundle/chunks/chunk-IWKD7B33.js.map +7 -0
  117. package/dist/cli-bundle/chunks/{chunk-QG6M6XQE.js → chunk-J7VSEFWB.js} +3 -3
  118. package/dist/cli-bundle/chunks/{chunk-22YA6GCA.js → chunk-K2LBDYDC.js} +2 -2
  119. package/dist/cli-bundle/chunks/{chunk-BQVESTOG.js → chunk-KCJZREBI.js} +2 -2
  120. package/dist/cli-bundle/chunks/{chunk-YWAYOWDQ.js → chunk-LTUB7ARL.js} +72 -14
  121. package/dist/cli-bundle/chunks/chunk-LTUB7ARL.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-DVUU3AHP.js → chunk-MFCFHL27.js} +17 -6
  123. package/dist/cli-bundle/chunks/chunk-MFCFHL27.js.map +1 -0
  124. package/dist/cli-bundle/chunks/{chunk-5P2LQV2F.js → chunk-MTQK5ZSB.js} +2 -2
  125. package/dist/cli-bundle/chunks/{chunk-LEC57E7K.js → chunk-NCGQ27PK.js} +2 -2
  126. package/dist/cli-bundle/chunks/{chunk-2RI3BDFK.js → chunk-NKTUBA2C.js} +10 -9
  127. package/dist/cli-bundle/chunks/chunk-NKTUBA2C.js.map +7 -0
  128. package/dist/cli-bundle/chunks/{chunk-5LZPDRFW.js → chunk-NMQNXH4U.js} +5 -5
  129. package/dist/cli-bundle/chunks/{chunk-COHNQLB2.js → chunk-OLEP5TJH.js} +20 -3
  130. package/dist/cli-bundle/chunks/chunk-OLEP5TJH.js.map +1 -0
  131. package/dist/cli-bundle/chunks/{chunk-PRUB7RI4.js → chunk-OVSFW4KD.js} +3 -3
  132. package/dist/cli-bundle/chunks/{chunk-4L7Q4OVT.js → chunk-PF5GLFPU.js} +9 -9
  133. package/dist/cli-bundle/chunks/{chunk-YVYJQR6S.js → chunk-QUTJOHGK.js} +9 -9
  134. package/dist/cli-bundle/chunks/{chunk-5QLHQK7V.js → chunk-QWAJPGEI.js} +25 -26
  135. package/dist/cli-bundle/chunks/chunk-QWAJPGEI.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-K5TD74VU.js → chunk-RADIHKJ3.js} +19 -7
  137. package/dist/cli-bundle/chunks/chunk-RADIHKJ3.js.map +7 -0
  138. package/dist/cli-bundle/chunks/{chunk-CSRFOIHG.js → chunk-RICT5QYR.js} +3 -3
  139. package/dist/cli-bundle/chunks/{chunk-OUG4CL4H.js → chunk-RNKUCHUQ.js} +8 -8
  140. package/dist/cli-bundle/chunks/{chunk-X7RKOJXL.js → chunk-SL233DQD.js} +6 -6
  141. package/dist/cli-bundle/chunks/{chunk-USVOBLGB.js → chunk-U3WTMYBX.js} +2 -2
  142. package/dist/cli-bundle/chunks/{chunk-DYZKSIVX.js → chunk-VE3BUO3R.js} +3 -3
  143. package/dist/cli-bundle/chunks/{chunk-FPQA4ZMA.js → chunk-VONJSFUW.js} +18 -7
  144. package/dist/cli-bundle/chunks/chunk-VONJSFUW.js.map +7 -0
  145. package/dist/cli-bundle/chunks/{chunk-RNWE2HZR.js → chunk-W2ZESOQE.js} +15 -15
  146. package/dist/cli-bundle/chunks/{chunk-4BFNWAMQ.js → chunk-WFOITX4A.js} +29 -12
  147. package/dist/cli-bundle/chunks/chunk-WFOITX4A.js.map +7 -0
  148. package/dist/cli-bundle/chunks/{chunk-FP7YLQ52.js → chunk-WMQBNVZL.js} +11 -10
  149. package/dist/cli-bundle/chunks/chunk-WMQBNVZL.js.map +1 -0
  150. package/dist/cli-bundle/chunks/{chunk-5SRID7DV.js → chunk-X3CD2VUI.js} +29 -12
  151. package/dist/cli-bundle/chunks/chunk-X3CD2VUI.js.map +1 -0
  152. package/dist/cli-bundle/chunks/{chunk-GL3QKIET.js → chunk-XKJDCJEH.js} +6 -6
  153. package/dist/cli-bundle/chunks/{chunk-SO2IOH37.js → chunk-XNQ3YH6N.js} +2 -2
  154. package/dist/cli-bundle/chunks/{chunk-ZGEWEO7B.js → chunk-XXGAWTH5.js} +2 -2
  155. package/dist/cli-bundle/chunks/{chunk-4EOS35RL.js → chunk-YBQF4CAW.js} +3 -3
  156. package/dist/cli-bundle/chunks/{chunk-MTDEEUGV.js → chunk-YT4Z2OVB.js} +3 -3
  157. package/dist/cli-bundle/chunks/{chunk-5NS6TJ2F.js → chunk-ZHCSGIUX.js} +2 -2
  158. package/dist/cli-bundle/chunks/{chunk-MAKOMXVM.js → chunk-ZYG4TR32.js} +106 -67
  159. package/dist/cli-bundle/chunks/chunk-ZYG4TR32.js.map +1 -0
  160. package/dist/cli-bundle/chunks/{claim-2BSYPJTJ.js → claim-G57ZJLZ4.js} +10 -10
  161. package/dist/cli-bundle/chunks/{claim-EZ6JKY5X.js → claim-TRSDQO6L.js} +10 -10
  162. package/dist/cli-bundle/chunks/{close-3TSX6BYF.js → close-4QMUQMON.js} +8 -8
  163. package/dist/cli-bundle/chunks/close-NNZZTZ5V.js +15 -0
  164. package/dist/cli-bundle/chunks/{close-many-B7DBVA46.js → close-many-3UWKJRQK.js} +15 -15
  165. package/dist/cli-bundle/chunks/{close-many-HB4UFCS3.js → close-many-A7U62CRI.js} +15 -15
  166. package/dist/cli-bundle/chunks/{comments-M7PAINZT.js → comments-4EM7XR74.js} +10 -10
  167. package/dist/cli-bundle/chunks/{comments-X7M7XM6I.js → comments-URWDZP2I.js} +10 -10
  168. package/dist/cli-bundle/chunks/{config-YICACPHA.js → config-GRJYZ2O3.js} +30 -10
  169. package/dist/cli-bundle/chunks/config-GRJYZ2O3.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{config-UWF3KRP5.js → config-PSZ5GWAK.js} +29 -9
  171. package/dist/cli-bundle/chunks/config-PSZ5GWAK.js.map +7 -0
  172. package/dist/cli-bundle/chunks/{context-EGUGU4K7.js → context-A46YAV2F.js} +13 -13
  173. package/dist/cli-bundle/chunks/{context-V32ZAPL6.js → context-BCR34RKM.js} +13 -13
  174. package/dist/cli-bundle/chunks/{contracts-7G553BHP.js → contracts-HPT25X4D.js} +10 -8
  175. package/dist/cli-bundle/chunks/contracts-HPT25X4D.js.map +1 -0
  176. package/dist/cli-bundle/chunks/{contracts-B2YWYUV5.js → contracts-JOPCQNDP.js} +10 -8
  177. package/dist/cli-bundle/chunks/contracts-JOPCQNDP.js.map +7 -0
  178. package/dist/cli-bundle/chunks/{copy-RMLXLZOL.js → copy-KBTIUW7L.js} +7 -7
  179. package/dist/cli-bundle/chunks/{copy-NWFFRYWM.js → copy-X7V6AEDB.js} +7 -7
  180. package/dist/cli-bundle/chunks/create-4KOAQ6ME.js +30 -0
  181. package/dist/cli-bundle/chunks/{create-GK4MX2LJ.js → create-ZPZKJDFQ.js} +14 -14
  182. package/dist/cli-bundle/chunks/{delete-EFQLVEAS.js → delete-2ZI6CJZM.js} +7 -7
  183. package/dist/cli-bundle/chunks/{delete-RMGNIL2S.js → delete-FGKVPUQZ.js} +7 -7
  184. package/dist/cli-bundle/chunks/{deps-WKHUPVD3.js → deps-IUJOBF2H.js} +7 -7
  185. package/dist/cli-bundle/chunks/{deps-K2I7QV4Y.js → deps-SJCEFU3C.js} +7 -7
  186. package/dist/cli-bundle/chunks/{docs-2H2UGIT6.js → docs-2LXF5SVC.js} +12 -11
  187. package/dist/cli-bundle/chunks/{docs-2H2UGIT6.js.map → docs-2LXF5SVC.js.map} +1 -1
  188. package/dist/cli-bundle/chunks/{docs-3FXRDYA7.js → docs-UWJ75CKR.js} +10 -9
  189. package/dist/cli-bundle/chunks/{docs-3FXRDYA7.js.map → docs-UWJ75CKR.js.map} +1 -1
  190. package/dist/cli-bundle/chunks/eval-FRIDCTM2.js +276 -0
  191. package/dist/cli-bundle/chunks/eval-FRIDCTM2.js.map +1 -0
  192. package/dist/cli-bundle/chunks/eval-ZTT3F3SL.js +286 -0
  193. package/dist/cli-bundle/chunks/eval-ZTT3F3SL.js.map +7 -0
  194. package/dist/cli-bundle/chunks/{extension-4LPTFTV4.js → extension-VRYTNNSV.js} +5 -5
  195. package/dist/cli-bundle/chunks/{extension-ASUPTDCC.js → extension-XFQG3BXL.js} +5 -5
  196. package/dist/cli-bundle/chunks/{files-UAZFB3EA.js → files-AJOGTTAN.js} +10 -9
  197. package/dist/cli-bundle/chunks/{files-UAZFB3EA.js.map → files-AJOGTTAN.js.map} +1 -1
  198. package/dist/cli-bundle/chunks/{files-TXEQOA7C.js → files-B2RUCA32.js} +12 -11
  199. package/dist/cli-bundle/chunks/{files-TXEQOA7C.js.map → files-B2RUCA32.js.map} +1 -1
  200. package/dist/cli-bundle/chunks/{focus-UGROAMAX.js → focus-7N36RIMT.js} +8 -8
  201. package/dist/cli-bundle/chunks/{focus-ELOPN2SR.js → focus-CFE33IYC.js} +8 -8
  202. package/dist/cli-bundle/chunks/gc-OYJK4YBY.js +395 -0
  203. package/dist/cli-bundle/chunks/gc-OYJK4YBY.js.map +7 -0
  204. package/dist/cli-bundle/chunks/gc-SBF2FGHK.js +385 -0
  205. package/dist/cli-bundle/chunks/gc-SBF2FGHK.js.map +1 -0
  206. package/dist/cli-bundle/chunks/{get-OTXPLWYW.js → get-577VLZZ7.js} +11 -11
  207. package/dist/cli-bundle/chunks/{get-IWZ7IMPS.js → get-LLFWSPXW.js} +11 -11
  208. package/dist/cli-bundle/chunks/{health-PPTJ7XKW.js → health-C2PUT6JZ.js} +21 -22
  209. package/dist/cli-bundle/chunks/{health-PPTJ7XKW.js.map → health-C2PUT6JZ.js.map} +1 -1
  210. package/dist/cli-bundle/chunks/{health-JEBESKID.js → health-PBJS7W2T.js} +20 -21
  211. package/dist/cli-bundle/chunks/{health-JEBESKID.js.map → health-PBJS7W2T.js.map} +2 -2
  212. package/dist/cli-bundle/chunks/{history-HNWBUDMI.js → history-4FJK6Y3O.js} +10 -10
  213. package/dist/cli-bundle/chunks/history-ZXNWG6H4.js +20 -0
  214. package/dist/cli-bundle/chunks/{history-compact-EQXVPK3V.js → history-compact-AXR6R6GU.js} +12 -12
  215. package/dist/cli-bundle/chunks/{history-compact-MMQC7MCW.js → history-compact-HXF3OT7G.js} +12 -12
  216. package/dist/cli-bundle/chunks/history-redact-GV633Z4H.js +21 -0
  217. package/dist/cli-bundle/chunks/{history-redact-UBDHBEJE.js → history-redact-UMPD4G3K.js} +11 -11
  218. package/dist/cli-bundle/chunks/{history-repair-GMMHFAGH.js → history-repair-WHOK2ICG.js} +12 -12
  219. package/dist/cli-bundle/chunks/{history-repair-7DSDRPMX.js → history-repair-X57HE5EA.js} +12 -12
  220. package/dist/cli-bundle/chunks/init-KQWZSNBX.js +20 -0
  221. package/dist/cli-bundle/chunks/{init-QGK4JFF6.js → init-N7MIIYCU.js} +10 -10
  222. package/dist/cli-bundle/chunks/{learnings-A6DGBMG3.js → learnings-FPG7WAVW.js} +10 -10
  223. package/dist/cli-bundle/chunks/{learnings-DR53TWRA.js → learnings-GZRBIEAN.js} +10 -10
  224. package/dist/cli-bundle/chunks/{list-LJ5DBXC3.js → list-MZBCSKLU.js} +10 -10
  225. package/dist/cli-bundle/chunks/{list-KOJN23UL.js → list-ZDQ2OBSO.js} +10 -10
  226. package/dist/cli-bundle/chunks/{notes-K5I3TAYR.js → notes-LW53PFLH.js} +10 -10
  227. package/dist/cli-bundle/chunks/{notes-7VLTHKPW.js → notes-WQAP67EC.js} +10 -10
  228. package/dist/cli-bundle/chunks/{plan-X3STKLED.js → plan-AVJ4VJQO.js} +15 -15
  229. package/dist/cli-bundle/chunks/plan-AVJ4VJQO.js.map +7 -0
  230. package/dist/cli-bundle/chunks/{plan-BK3OMLGP.js → plan-VZKICKIJ.js} +16 -16
  231. package/dist/cli-bundle/chunks/plan-VZKICKIJ.js.map +1 -0
  232. package/dist/cli-bundle/chunks/{register-list-query-FUMXPWZ4.js → register-list-query-7BD6ZHU5.js} +42 -21
  233. package/dist/cli-bundle/chunks/register-list-query-7BD6ZHU5.js.map +7 -0
  234. package/dist/cli-bundle/chunks/{register-list-query-XDLFESU7.js → register-list-query-CM4SVAQA.js} +43 -22
  235. package/dist/cli-bundle/chunks/register-list-query-CM4SVAQA.js.map +1 -0
  236. package/dist/cli-bundle/chunks/{register-mutation-ZAGVKMBQ.js → register-mutation-ANZIWHUF.js} +33 -33
  237. package/dist/cli-bundle/chunks/{register-mutation-RXRX4P7D.js → register-mutation-PLFHAS4N.js} +33 -33
  238. package/dist/cli-bundle/chunks/{register-operations-DGSHCS75.js → register-operations-KQPQIFF2.js} +35 -35
  239. package/dist/cli-bundle/chunks/register-operations-KQPQIFF2.js.map +1 -0
  240. package/dist/cli-bundle/chunks/{register-operations-6UURPZN5.js → register-operations-VLGCAWIW.js} +34 -34
  241. package/dist/cli-bundle/chunks/{register-operations-6UURPZN5.js.map → register-operations-VLGCAWIW.js.map} +2 -2
  242. package/dist/cli-bundle/chunks/{register-setup-2FEGSFLM.js → register-setup-KPTZ36D4.js} +15 -15
  243. package/dist/cli-bundle/chunks/{register-setup-LTJG52WP.js → register-setup-TMEF6V7O.js} +15 -15
  244. package/dist/cli-bundle/chunks/{restore-SJUWYOCK.js → restore-64JKQV7G.js} +11 -11
  245. package/dist/cli-bundle/chunks/restore-GKM26SAW.js +19 -0
  246. package/dist/cli-bundle/chunks/{scheduling-shortcuts-W4F2LKHW.js → scheduling-shortcuts-4ION7QAX.js} +14 -14
  247. package/dist/cli-bundle/chunks/{scheduling-shortcuts-VWAMP2S2.js → scheduling-shortcuts-X6D6VSZR.js} +14 -14
  248. package/dist/cli-bundle/chunks/{schema-N5ETYD4P.js → schema-OA4RSVMI.js} +9 -9
  249. package/dist/cli-bundle/chunks/{schema-DXQRIEFM.js → schema-TA3NF3RG.js} +9 -9
  250. package/dist/cli-bundle/chunks/search-INCM5I4J.js +33 -0
  251. package/dist/cli-bundle/chunks/search-UAIHEQZL.js +37 -0
  252. package/dist/cli-bundle/chunks/{stats-J563NJBY.js → stats-RHEMG4CE.js} +8 -8
  253. package/dist/cli-bundle/chunks/{stats-ZFESFVQC.js → stats-WQWTIA5Y.js} +8 -8
  254. package/dist/cli-bundle/chunks/{telemetry-BNGLIFEM.js → telemetry-G6UKGKJU.js} +4 -4
  255. package/dist/cli-bundle/chunks/{telemetry-SC7HPRXX.js → telemetry-XA5D2QEO.js} +4 -4
  256. package/dist/cli-bundle/chunks/{test-55RJCGRU.js → test-XF7BYLMZ.js} +15 -15
  257. package/dist/cli-bundle/chunks/{test-47UQGEXE.js → test-ZMQF23P3.js} +15 -15
  258. package/dist/cli-bundle/chunks/{test-all-DN6KG4FX.js → test-all-WUBBJCPU.js} +15 -15
  259. package/dist/cli-bundle/chunks/{test-all-5SFTTRNL.js → test-all-ZNQBMUOI.js} +15 -15
  260. package/dist/cli-bundle/chunks/{test-runs-DZEDJ4GH.js → test-runs-N7LI7HLH.js} +5 -5
  261. package/dist/cli-bundle/chunks/{test-runs-NHRBT7SN.js → test-runs-RFA42EEX.js} +5 -5
  262. package/dist/cli-bundle/chunks/update-CPNOG73P.js +24 -0
  263. package/dist/cli-bundle/chunks/update-CPNOG73P.js.map +7 -0
  264. package/dist/cli-bundle/chunks/update-T5AYT6ZN.js +28 -0
  265. package/dist/cli-bundle/chunks/update-T5AYT6ZN.js.map +1 -0
  266. package/dist/cli-bundle/chunks/{update-many-OKYWFCBO.js → update-many-6XFR7TFG.js} +23 -23
  267. package/dist/cli-bundle/chunks/{update-many-IRNV3OTG.js → update-many-NMRUQZL2.js} +23 -23
  268. package/dist/cli-bundle/chunks/{upgrade-KP4I45V5.js → upgrade-EJTME2YQ.js} +5 -5
  269. package/dist/cli-bundle/chunks/{upgrade-3RIAFQIK.js → upgrade-QMCSONWR.js} +5 -5
  270. package/dist/cli-bundle/chunks/{validate-GVY4VE43.js → validate-3SUCHXXX.js} +21 -21
  271. package/dist/cli-bundle/chunks/{validate-ADKGN37M.js → validate-KIIJY5RC.js} +21 -21
  272. package/dist/cli-bundle/main.js +133 -55
  273. package/dist/cli-bundle/main.js.map +2 -2
  274. package/dist/core/checkpoint/checkpoint-gc.d.ts +69 -0
  275. package/dist/core/checkpoint/checkpoint-gc.js +175 -0
  276. package/dist/core/checkpoint/checkpoint-gc.js.map +1 -0
  277. package/dist/core/config/nested-settings.js +22 -2
  278. package/dist/core/config/nested-settings.js.map +1 -1
  279. package/dist/core/diagnostics/remediation.js +19 -2
  280. package/dist/core/diagnostics/remediation.js.map +1 -1
  281. package/dist/core/extensions/extension-types.d.ts +0 -9
  282. package/dist/core/extensions/extension-types.js +2 -27
  283. package/dist/core/extensions/extension-types.js.map +1 -1
  284. package/dist/core/fs/fs-utils.d.ts +17 -1
  285. package/dist/core/fs/fs-utils.js +19 -3
  286. package/dist/core/fs/fs-utils.js.map +1 -1
  287. package/dist/core/history/drift-scan.d.ts +17 -5
  288. package/dist/core/history/drift-scan.js +22 -14
  289. package/dist/core/history/drift-scan.js.map +1 -1
  290. package/dist/core/history/replay.d.ts +7 -0
  291. package/dist/core/history/replay.js +11 -6
  292. package/dist/core/history/replay.js.map +1 -1
  293. package/dist/core/item/status-filter.d.ts +7 -3
  294. package/dist/core/item/status-filter.js +26 -5
  295. package/dist/core/item/status-filter.js.map +1 -1
  296. package/dist/core/search/bm25.d.ts +113 -0
  297. package/dist/core/search/bm25.js +178 -0
  298. package/dist/core/search/bm25.js.map +1 -0
  299. package/dist/core/search/eval.d.ts +114 -0
  300. package/dist/core/search/eval.js +217 -0
  301. package/dist/core/search/eval.js.map +1 -0
  302. package/dist/core/sentry/instrument.d.ts +14 -0
  303. package/dist/core/sentry/instrument.js +43 -3
  304. package/dist/core/sentry/instrument.js.map +1 -1
  305. package/dist/core/shared/constants.js +5 -2
  306. package/dist/core/shared/constants.js.map +1 -1
  307. package/dist/core/store/paths.js +4 -3
  308. package/dist/core/store/paths.js.map +1 -1
  309. package/dist/core/store/settings-validator.d.ts +7 -0
  310. package/dist/core/store/settings-validator.js +10 -2
  311. package/dist/core/store/settings-validator.js.map +1 -1
  312. package/dist/core/store/settings.js +6 -2
  313. package/dist/core/store/settings.js.map +1 -1
  314. package/dist/mcp/tool-definitions.js +4 -3
  315. package/dist/mcp/tool-definitions.js.map +1 -1
  316. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  317. package/dist/sdk/cli-contracts/enum-contracts.js +3 -2
  318. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  319. package/dist/sdk/cli-contracts/tool-parameter-tables.js +4 -4
  320. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  321. package/dist/sdk/cli-contracts.d.ts +1 -0
  322. package/dist/sdk/cli-contracts.js +11 -2
  323. package/dist/sdk/cli-contracts.js.map +1 -1
  324. package/dist/types.d.ts +19 -0
  325. package/dist/types.js +2 -2
  326. package/dist/types.js.map +1 -1
  327. package/docs/AGENT_GUIDE.md +1 -0
  328. package/docs/ARCHITECTURE.md +124 -11
  329. package/docs/CLAUDE_CODE_PLUGIN.md +5 -13
  330. package/docs/COMMANDS.md +55 -5
  331. package/docs/CONFIGURATION.md +39 -0
  332. package/docs/EXTENSIONS.md +2 -2
  333. package/docs/MIGRATION_CLI_SIMPLIFICATION.md +9 -2
  334. package/docs/QUICKSTART.md +2 -0
  335. package/docs/README.md +2 -0
  336. package/docs/RELEASING.md +2 -1
  337. package/docs/SDK.md +9 -1
  338. package/docs/TESTING.md +18 -0
  339. package/package.json +4 -3
  340. package/packages/pm-todos/extensions/todos/index.js +2 -0
  341. package/packages/pm-todos/extensions/todos/index.ts +2 -0
  342. package/packages/pm-todos/extensions/todos/runtime.js +1 -1
  343. package/packages/pm-todos/extensions/todos/runtime.ts +4 -1
  344. package/dist/cli-bundle/chunks/activity-62I26XZB.js +0 -18
  345. package/dist/cli-bundle/chunks/chunk-2RI3BDFK.js.map +0 -7
  346. package/dist/cli-bundle/chunks/chunk-4BFNWAMQ.js.map +0 -7
  347. package/dist/cli-bundle/chunks/chunk-5QLHQK7V.js.map +0 -7
  348. package/dist/cli-bundle/chunks/chunk-5SRID7DV.js.map +0 -1
  349. package/dist/cli-bundle/chunks/chunk-COHNQLB2.js.map +0 -1
  350. package/dist/cli-bundle/chunks/chunk-DVUU3AHP.js.map +0 -1
  351. package/dist/cli-bundle/chunks/chunk-FP7YLQ52.js.map +0 -1
  352. package/dist/cli-bundle/chunks/chunk-FPQA4ZMA.js.map +0 -7
  353. package/dist/cli-bundle/chunks/chunk-GDOTTY2S.js.map +0 -7
  354. package/dist/cli-bundle/chunks/chunk-I2VJM36R.js.map +0 -1
  355. package/dist/cli-bundle/chunks/chunk-K5TD74VU.js.map +0 -7
  356. package/dist/cli-bundle/chunks/chunk-MAKOMXVM.js.map +0 -1
  357. package/dist/cli-bundle/chunks/chunk-PSWSQHM7.js.map +0 -1
  358. package/dist/cli-bundle/chunks/chunk-UA4ANRJY.js.map +0 -7
  359. package/dist/cli-bundle/chunks/chunk-UCNEPMPY.js.map +0 -7
  360. package/dist/cli-bundle/chunks/chunk-X26ODPU4.js.map +0 -7
  361. package/dist/cli-bundle/chunks/chunk-Y4IBSEQ2.js.map +0 -1
  362. package/dist/cli-bundle/chunks/chunk-YOGXK3ON.js.map +0 -7
  363. package/dist/cli-bundle/chunks/chunk-YWAYOWDQ.js.map +0 -1
  364. package/dist/cli-bundle/chunks/chunk-ZZEM2PH7.js.map +0 -1
  365. package/dist/cli-bundle/chunks/close-TQZK43Z5.js +0 -15
  366. package/dist/cli-bundle/chunks/config-UWF3KRP5.js.map +0 -7
  367. package/dist/cli-bundle/chunks/config-YICACPHA.js.map +0 -1
  368. package/dist/cli-bundle/chunks/contracts-7G553BHP.js.map +0 -1
  369. package/dist/cli-bundle/chunks/contracts-B2YWYUV5.js.map +0 -7
  370. package/dist/cli-bundle/chunks/create-UZLJXHLA.js +0 -30
  371. package/dist/cli-bundle/chunks/gc-5RTYXLQU.js +0 -211
  372. package/dist/cli-bundle/chunks/gc-5RTYXLQU.js.map +0 -7
  373. package/dist/cli-bundle/chunks/gc-FK5732EK.js +0 -208
  374. package/dist/cli-bundle/chunks/gc-FK5732EK.js.map +0 -1
  375. package/dist/cli-bundle/chunks/history-TKTULEVE.js +0 -20
  376. package/dist/cli-bundle/chunks/history-redact-SPIFIXVY.js +0 -21
  377. package/dist/cli-bundle/chunks/init-A6FTZ5UC.js +0 -20
  378. package/dist/cli-bundle/chunks/plan-BK3OMLGP.js.map +0 -1
  379. package/dist/cli-bundle/chunks/plan-X3STKLED.js.map +0 -7
  380. package/dist/cli-bundle/chunks/register-list-query-FUMXPWZ4.js.map +0 -7
  381. package/dist/cli-bundle/chunks/register-list-query-XDLFESU7.js.map +0 -1
  382. package/dist/cli-bundle/chunks/register-operations-DGSHCS75.js.map +0 -1
  383. package/dist/cli-bundle/chunks/restore-PI3WM4GK.js +0 -19
  384. package/dist/cli-bundle/chunks/search-2JX776KX.js.map +0 -1
  385. package/dist/cli-bundle/chunks/search-AZR2JITW.js.map +0 -7
  386. package/dist/cli-bundle/chunks/update-2BZEAI7B.js +0 -24
  387. package/dist/cli-bundle/chunks/update-GCNLER2H.js +0 -28
  388. /package/dist/cli-bundle/chunks/{activity-62I26XZB.js.map → activity-7G7NNNZQ.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{activity-XJ7WRNWS.js.map → activity-KEEITOTB.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{aggregate-OFT4YVB6.js.map → aggregate-5BTHOHW2.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{aggregate-LBCWF6UJ.js.map → aggregate-GB2LJNTZ.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{append-BP2ARHOK.js.map → append-BBM4MNVD.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{append-5U3XR5SD.js.map → append-BFV5UYWS.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{chunk-RVG3WLY3.js.map → chunk-2LUNPA3U.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{chunk-OURX4WVG.js.map → chunk-2QJLN4KM.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{chunk-AVMSP2HH.js.map → chunk-3KVCMB2M.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{chunk-FVZSUIN5.js.map → chunk-3WAKNI2W.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{chunk-H3DP6OUM.js.map → chunk-4KFL5OYK.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{chunk-VG3B2CYD.js.map → chunk-4PW4C3ZB.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{chunk-SDUZTZ55.js.map → chunk-4S4INK3B.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{chunk-QCHNPN24.js.map → chunk-4YMX7XFI.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{chunk-QSH34DSQ.js.map → chunk-5MWA46UN.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{chunk-UIMLAFOE.js.map → chunk-5XK2RYJR.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{chunk-B2NEFANY.js.map → chunk-6DZO5NN7.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{chunk-VP4Z36GO.js.map → chunk-6FSPWUBI.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{chunk-MPEWACTG.js.map → chunk-6KARQMC6.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{chunk-N7LDJRB4.js.map → chunk-6KSFULO6.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{chunk-XV6N3QND.js.map → chunk-6LTSLEHD.js.map} +0 -0
  409. /package/dist/cli-bundle/chunks/{chunk-USKTNI7P.js.map → chunk-7MMXBIRZ.js.map} +0 -0
  410. /package/dist/cli-bundle/chunks/{chunk-2K56AWDP.js.map → chunk-AOCYDQLT.js.map} +0 -0
  411. /package/dist/cli-bundle/chunks/{chunk-ZBVYKWT2.js.map → chunk-ATRXPXAL.js.map} +0 -0
  412. /package/dist/cli-bundle/chunks/{chunk-A5JPMD4Q.js.map → chunk-AW4PYYNF.js.map} +0 -0
  413. /package/dist/cli-bundle/chunks/{chunk-MTGMNUMJ.js.map → chunk-B3LROPTV.js.map} +0 -0
  414. /package/dist/cli-bundle/chunks/{chunk-NPNNW5TU.js.map → chunk-BBSUVIIT.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{chunk-47BYN6CA.js.map → chunk-BYNJWB5F.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{chunk-S673PVHD.js.map → chunk-CNPWCUDR.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{chunk-TYQBGXH2.js.map → chunk-DKWIPIJY.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{chunk-HMQMRHQJ.js.map → chunk-EKMHDL6Z.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{chunk-LIVRA6VG.js.map → chunk-EOFROIC5.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{chunk-NNMBNN6Q.js.map → chunk-ETJKPURB.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{chunk-2E3KSWFG.js.map → chunk-F4EYOSNC.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{chunk-DJ3YYLHG.js.map → chunk-FA5O2DEG.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{chunk-QTWWHFI3.js.map → chunk-FBBPCSJM.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{chunk-EMFDZ7N3.js.map → chunk-FSOJCFDS.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{chunk-M35R7LFX.js.map → chunk-FXKPUMIR.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{chunk-II3WDRCM.js.map → chunk-HWHZ7EY7.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{chunk-7R5YKVKO.js.map → chunk-ICEWMJYH.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{chunk-UMTPQMEG.js.map → chunk-II4BRHKM.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{chunk-QG6M6XQE.js.map → chunk-J7VSEFWB.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{chunk-22YA6GCA.js.map → chunk-K2LBDYDC.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{chunk-BQVESTOG.js.map → chunk-KCJZREBI.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{chunk-5P2LQV2F.js.map → chunk-MTQK5ZSB.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{chunk-LEC57E7K.js.map → chunk-NCGQ27PK.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{chunk-5LZPDRFW.js.map → chunk-NMQNXH4U.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{chunk-PRUB7RI4.js.map → chunk-OVSFW4KD.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{chunk-4L7Q4OVT.js.map → chunk-PF5GLFPU.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{chunk-YVYJQR6S.js.map → chunk-QUTJOHGK.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{chunk-CSRFOIHG.js.map → chunk-RICT5QYR.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{chunk-OUG4CL4H.js.map → chunk-RNKUCHUQ.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{chunk-X7RKOJXL.js.map → chunk-SL233DQD.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{chunk-USVOBLGB.js.map → chunk-U3WTMYBX.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{chunk-DYZKSIVX.js.map → chunk-VE3BUO3R.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{chunk-RNWE2HZR.js.map → chunk-W2ZESOQE.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{chunk-GL3QKIET.js.map → chunk-XKJDCJEH.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{chunk-SO2IOH37.js.map → chunk-XNQ3YH6N.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{chunk-ZGEWEO7B.js.map → chunk-XXGAWTH5.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{chunk-4EOS35RL.js.map → chunk-YBQF4CAW.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{chunk-MTDEEUGV.js.map → chunk-YT4Z2OVB.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{chunk-5NS6TJ2F.js.map → chunk-ZHCSGIUX.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{claim-2BSYPJTJ.js.map → claim-G57ZJLZ4.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{claim-EZ6JKY5X.js.map → claim-TRSDQO6L.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{close-3TSX6BYF.js.map → close-4QMUQMON.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{close-TQZK43Z5.js.map → close-NNZZTZ5V.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{close-many-B7DBVA46.js.map → close-many-3UWKJRQK.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{close-many-HB4UFCS3.js.map → close-many-A7U62CRI.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{comments-M7PAINZT.js.map → comments-4EM7XR74.js.map} +0 -0
  457. /package/dist/cli-bundle/chunks/{comments-X7M7XM6I.js.map → comments-URWDZP2I.js.map} +0 -0
  458. /package/dist/cli-bundle/chunks/{context-EGUGU4K7.js.map → context-A46YAV2F.js.map} +0 -0
  459. /package/dist/cli-bundle/chunks/{context-V32ZAPL6.js.map → context-BCR34RKM.js.map} +0 -0
  460. /package/dist/cli-bundle/chunks/{copy-RMLXLZOL.js.map → copy-KBTIUW7L.js.map} +0 -0
  461. /package/dist/cli-bundle/chunks/{copy-NWFFRYWM.js.map → copy-X7V6AEDB.js.map} +0 -0
  462. /package/dist/cli-bundle/chunks/{create-UZLJXHLA.js.map → create-4KOAQ6ME.js.map} +0 -0
  463. /package/dist/cli-bundle/chunks/{create-GK4MX2LJ.js.map → create-ZPZKJDFQ.js.map} +0 -0
  464. /package/dist/cli-bundle/chunks/{delete-EFQLVEAS.js.map → delete-2ZI6CJZM.js.map} +0 -0
  465. /package/dist/cli-bundle/chunks/{delete-RMGNIL2S.js.map → delete-FGKVPUQZ.js.map} +0 -0
  466. /package/dist/cli-bundle/chunks/{deps-WKHUPVD3.js.map → deps-IUJOBF2H.js.map} +0 -0
  467. /package/dist/cli-bundle/chunks/{deps-K2I7QV4Y.js.map → deps-SJCEFU3C.js.map} +0 -0
  468. /package/dist/cli-bundle/chunks/{extension-4LPTFTV4.js.map → extension-VRYTNNSV.js.map} +0 -0
  469. /package/dist/cli-bundle/chunks/{extension-ASUPTDCC.js.map → extension-XFQG3BXL.js.map} +0 -0
  470. /package/dist/cli-bundle/chunks/{focus-UGROAMAX.js.map → focus-7N36RIMT.js.map} +0 -0
  471. /package/dist/cli-bundle/chunks/{focus-ELOPN2SR.js.map → focus-CFE33IYC.js.map} +0 -0
  472. /package/dist/cli-bundle/chunks/{get-OTXPLWYW.js.map → get-577VLZZ7.js.map} +0 -0
  473. /package/dist/cli-bundle/chunks/{get-IWZ7IMPS.js.map → get-LLFWSPXW.js.map} +0 -0
  474. /package/dist/cli-bundle/chunks/{history-HNWBUDMI.js.map → history-4FJK6Y3O.js.map} +0 -0
  475. /package/dist/cli-bundle/chunks/{history-TKTULEVE.js.map → history-ZXNWG6H4.js.map} +0 -0
  476. /package/dist/cli-bundle/chunks/{history-compact-EQXVPK3V.js.map → history-compact-AXR6R6GU.js.map} +0 -0
  477. /package/dist/cli-bundle/chunks/{history-compact-MMQC7MCW.js.map → history-compact-HXF3OT7G.js.map} +0 -0
  478. /package/dist/cli-bundle/chunks/{history-redact-SPIFIXVY.js.map → history-redact-GV633Z4H.js.map} +0 -0
  479. /package/dist/cli-bundle/chunks/{history-redact-UBDHBEJE.js.map → history-redact-UMPD4G3K.js.map} +0 -0
  480. /package/dist/cli-bundle/chunks/{history-repair-GMMHFAGH.js.map → history-repair-WHOK2ICG.js.map} +0 -0
  481. /package/dist/cli-bundle/chunks/{history-repair-7DSDRPMX.js.map → history-repair-X57HE5EA.js.map} +0 -0
  482. /package/dist/cli-bundle/chunks/{init-A6FTZ5UC.js.map → init-KQWZSNBX.js.map} +0 -0
  483. /package/dist/cli-bundle/chunks/{init-QGK4JFF6.js.map → init-N7MIIYCU.js.map} +0 -0
  484. /package/dist/cli-bundle/chunks/{learnings-A6DGBMG3.js.map → learnings-FPG7WAVW.js.map} +0 -0
  485. /package/dist/cli-bundle/chunks/{learnings-DR53TWRA.js.map → learnings-GZRBIEAN.js.map} +0 -0
  486. /package/dist/cli-bundle/chunks/{list-LJ5DBXC3.js.map → list-MZBCSKLU.js.map} +0 -0
  487. /package/dist/cli-bundle/chunks/{list-KOJN23UL.js.map → list-ZDQ2OBSO.js.map} +0 -0
  488. /package/dist/cli-bundle/chunks/{notes-K5I3TAYR.js.map → notes-LW53PFLH.js.map} +0 -0
  489. /package/dist/cli-bundle/chunks/{notes-7VLTHKPW.js.map → notes-WQAP67EC.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{register-mutation-ZAGVKMBQ.js.map → register-mutation-ANZIWHUF.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{register-mutation-RXRX4P7D.js.map → register-mutation-PLFHAS4N.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{register-setup-2FEGSFLM.js.map → register-setup-KPTZ36D4.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{register-setup-LTJG52WP.js.map → register-setup-TMEF6V7O.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{restore-SJUWYOCK.js.map → restore-64JKQV7G.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{restore-PI3WM4GK.js.map → restore-GKM26SAW.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-W4F2LKHW.js.map → scheduling-shortcuts-4ION7QAX.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-VWAMP2S2.js.map → scheduling-shortcuts-X6D6VSZR.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{schema-N5ETYD4P.js.map → schema-OA4RSVMI.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{schema-DXQRIEFM.js.map → schema-TA3NF3RG.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{test-55RJCGRU.js.map → search-INCM5I4J.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{test-47UQGEXE.js.map → search-UAIHEQZL.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{stats-J563NJBY.js.map → stats-RHEMG4CE.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{stats-ZFESFVQC.js.map → stats-WQWTIA5Y.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{telemetry-BNGLIFEM.js.map → telemetry-G6UKGKJU.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{telemetry-SC7HPRXX.js.map → telemetry-XA5D2QEO.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{update-2BZEAI7B.js.map → test-XF7BYLMZ.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{update-GCNLER2H.js.map → test-ZMQF23P3.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{test-all-DN6KG4FX.js.map → test-all-WUBBJCPU.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{test-all-5SFTTRNL.js.map → test-all-ZNQBMUOI.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{test-runs-DZEDJ4GH.js.map → test-runs-N7LI7HLH.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{test-runs-NHRBT7SN.js.map → test-runs-RFA42EEX.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{update-many-OKYWFCBO.js.map → update-many-6XFR7TFG.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{update-many-IRNV3OTG.js.map → update-many-NMRUQZL2.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{upgrade-KP4I45V5.js.map → upgrade-EJTME2YQ.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{upgrade-3RIAFQIK.js.map → upgrade-QMCSONWR.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{validate-GVY4VE43.js.map → validate-3SUCHXXX.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{validate-ADKGN37M.js.map → validate-KIIJY5RC.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../cli/register-list-query.ts","../../../../../../../../core/output/tabular.ts"],"sourcesContent":["/**\n * @module cli/register-list-query\n *\n * Provides CLI runtime support for Register List Query.\n */\nimport { Option, type Command } from \"commander\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { renderRowsAsCsv, renderRowsAsTable } from \"../core/output/tabular.js\";\nimport type { ItemStatus } from \"../types/index.js\";\nimport {\n getGlobalOptions,\n normalizeAggregateOptions,\n normalizeActivityOptions,\n normalizeContextOptions,\n normalizeListOptions,\n normalizeSearchKeywordsInput,\n normalizeSearchOptions,\n printActivityJsonStream,\n printError,\n printListJsonStream,\n printResult,\n resolveActivityStreamMode,\n writeStdout,\n} from \"./registration-helpers.js\";\n\n\n\n/**\n * Documents the register list query commands options payload exchanged by command, SDK, and package integrations.\n */\nexport interface RegisterListQueryCommandsOptions {\n commandFilter?: Set<string>;\n}\n\nfunction shouldRegisterListQueryCommand(commandName: string, commandFilter?: Set<string>): boolean {\n if (!commandFilter || commandFilter.size === 0) {\n return true;\n }\n if (commandName === \"context\") {\n return commandFilter.has(\"context\") || commandFilter.has(\"ctx\");\n }\n return commandFilter.has(commandName);\n}\n\ntype ReadCommandOutputFormat = \"json\" | \"toon\";\n\ntype ListOutputFormat = \"csv\" | \"table\" | \"json\" | \"toon\";\n\n/**\n * Parses the `pm list --format` value into a supported render mode. csv/table\n * are human export modes; json/toon override the machine output format. Returns\n * undefined when no `--format` was supplied so the global output format applies.\n */\nfunction parseListFormat(rawFormat: unknown): ListOutputFormat | undefined {\n if (rawFormat === undefined) {\n return undefined;\n }\n if (typeof rawFormat !== \"string\") {\n throw new PmCliError(\"List --format must be one of csv|table|json|toon\", EXIT_CODE.USAGE);\n }\n const normalized = rawFormat.trim().toLowerCase();\n if (normalized === \"csv\" || normalized === \"table\" || normalized === \"json\" || normalized === \"toon\") {\n return normalized;\n }\n throw new PmCliError(\"List --format must be one of csv|table|json|toon\", EXIT_CODE.USAGE);\n}\n\nfunction resolveReadCommandOutputFormat(\n commandLabel: string,\n rawFormat: unknown,\n globalOptions: ReturnType<typeof getGlobalOptions>,\n): ReturnType<typeof getGlobalOptions> {\n if (rawFormat === undefined) {\n return globalOptions;\n }\n if (typeof rawFormat !== \"string\") {\n throw new PmCliError(`${commandLabel} --format must be one of json|toon`, EXIT_CODE.USAGE);\n }\n const normalized = rawFormat.trim().toLowerCase() as ReadCommandOutputFormat;\n if (normalized !== \"json\" && normalized !== \"toon\") {\n throw new PmCliError(`${commandLabel} --format must be one of json|toon`, EXIT_CODE.USAGE);\n }\n if (globalOptions.json === true && normalized === \"toon\") {\n throw new PmCliError(`${commandLabel} cannot combine --json with --format toon`, EXIT_CODE.USAGE);\n }\n return {\n ...globalOptions,\n json: normalized === \"json\",\n };\n}\n\n/**\n * Implements register list query commands for the public runtime surface of this module.\n */\nexport function registerListQueryCommands(program: Command, options?: RegisterListQueryCommandsOptions): void {\n const commandFilter = options?.commandFilter;\n const shouldRegister = (commandName: string): boolean => shouldRegisterListQueryCommand(commandName, commandFilter);\n // Register a flag and hide it from --help text while keeping it functional as\n // a parse-time alias. Used for pure snake_case underscore-duplicate aliases\n // (e.g. --assignee_filter for --assignee-filter) so they no longer bloat\n // --help output. The option still appears in command.options, so JSON help\n // and completion are unchanged.\n function addHiddenOption(command: Command, flags: string, description: string): void {\n command.addOption(new Option(flags, description).hideHelp());\n }\n\n // Register the content-field presence/absence filters (GH-242) and the\n // governance-missing filters (GH-236) on a list-family or search command.\n // Presence flags are plain booleans; absence flags use commander negation\n // (`--no-notes` stores notes=false) except `--empty-body` which is its own\n // dest so it composes with a future `--has-body`. linked_command tracks\n // whether a linked test carries a runnable command.\n function registerContentAndGovernanceFilters(command: Command): void {\n command\n .option(\"--has-notes\", \"Show only items that have notes\")\n .option(\"--has-learnings\", \"Show only items that have learnings\")\n .option(\"--has-files\", \"Show only items that have linked files\")\n .option(\"--has-docs\", \"Show only items that have linked docs\")\n .option(\"--has-tests\", \"Show only items that have linked tests\")\n .option(\"--has-comments\", \"Show only items that have comments\")\n .option(\"--has-deps\", \"Show only items that have dependencies\")\n .option(\"--has-body\", \"Show only items that have a non-empty body\")\n .option(\"--has-linked-command\", \"Show only items whose linked tests carry a runnable command\")\n .option(\"--no-notes\", \"Show only items that have no notes\")\n .option(\"--no-learnings\", \"Show only items that have no learnings\")\n .option(\"--no-files\", \"Show only items that have no linked files\")\n .option(\"--no-docs\", \"Show only items that have no linked docs\")\n .option(\"--no-tests\", \"Show only items that have no linked tests\")\n .option(\"--no-comments\", \"Show only items that have no comments\")\n .option(\"--no-deps\", \"Show only items that have no dependencies\")\n .option(\"--empty-body\", \"Show only items with an empty body\")\n .option(\"--no-linked-command\", \"Show only items whose linked tests carry no runnable command\")\n .option(\"--filter-reviewer-missing\", \"Show only items missing reviewer\")\n .option(\"--filter-risk-missing\", \"Show only items missing risk\")\n .option(\"--filter-confidence-missing\", \"Show only items missing confidence\")\n .option(\"--filter-sprint-missing\", \"Show only items missing sprint\")\n .option(\"--filter-release-missing\", \"Show only items missing release\");\n }\n\n function registerListCommand(\n name: string,\n description: string,\n status?: ItemStatus,\n excludeTerminal?: boolean,\n allowStatusFilter?: boolean,\n defaultBrief?: boolean,\n ): void {\n const command = program.command(name).description(description);\n if (allowStatusFilter) {\n command.option(\"--status <value>\", \"Filter by status (use all for no status restriction)\");\n }\n command\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--updated-after <value>\", 'Filter by updated_at lower bound: ISO timestamp or signed relative (e.g. \"-2h\"/\"-7d\" for the past). \"Changed since my last window\" → --updated-after <ISO>')\n .option(\"--updated-before <value>\", \"Filter by updated_at upper bound: ISO timestamp or signed relative (-2h/+1d)\")\n .option(\"--created-after <value>\", \"Filter by created_at lower bound: ISO timestamp or signed relative (-2h/+1d)\")\n .option(\"--created-before <value>\", \"Filter by created_at upper bound: ISO timestamp or signed relative (-2h/+1d)\")\n .option(\"--ids <value>\", \"Filter by explicit item IDs (comma-separated or repeatable)\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--filter-ac-missing\", \"Show only items missing acceptance_criteria\")\n .option(\"--filter-estimates-missing\", \"Show only items missing estimated_minutes\")\n .option(\"--filter-resolution-missing\", \"Show only terminal items missing resolution\")\n .option(\"--filter-metadata-missing\", \"Show only items missing any tracked metadata (AC, estimate, or resolution)\")\n .option(\"--limit <n>\", \"Limit returned item count\")\n .option(\"--offset <n>\", \"Skip the first n matching rows before limit is applied\")\n .option(\"--no-truncate\", \"Return every matched row, overriding any --limit (alias: --all)\")\n .option(\"--include-body\", \"Include item body in each returned list row\")\n .option(\"--compact\", \"Render compact list projection fields (mutually exclusive with --brief/--full/--fields)\")\n .option(\"--brief\", \"Ultra-compact output: id, status, type, title only (agent-optimized, mutually exclusive with --compact/--full/--fields)\")\n .option(\"--full\", \"Render full list projection fields (mutually exclusive with --compact/--brief/--fields)\")\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated list fields (mutually exclusive with --compact/--brief/--full; valid: --fields id,title)\",\n )\n .option(\"--sort <value>\", \"Sort field: priority|deadline|updated_at|created_at|title|parent (aliases: updated, created)\")\n .option(\"--order <value>\", \"Sort order: asc|desc (requires --sort)\")\n .option(\"--tree\", \"Render rows in parent/child tree order\")\n .option(\"--tree-depth <n>\", \"Maximum recursion depth with --tree (0 keeps root rows only)\")\n .option(\"--format <value>\", \"Output render mode: csv|table (human export) or json|toon (machine output override)\")\n .option(\"--stream\", \"Emit line-delimited JSON rows (requires --json)\");\n registerContentAndGovernanceFilters(command);\n command\n .action(async (options: Record<string, unknown>, actionCommand) => {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const listOptions = normalizeListOptions(options);\n if (\n defaultBrief === true &&\n listOptions.includeBody !== true &&\n listOptions.compact !== true &&\n listOptions.brief !== true &&\n listOptions.full !== true &&\n listOptions.fields === undefined\n ) {\n listOptions.brief = true;\n }\n if (excludeTerminal) listOptions.excludeTerminal = true;\n const { runList } = await import(\"./commands/list.js\");\n const result = await runList(status, listOptions, globalOptions);\n const streamMode = options.stream === true;\n const listFormat = parseListFormat(options.format);\n const tabular = listFormat === \"csv\" || listFormat === \"table\";\n // json|toon reuse the shared read-command override (honours the\n // --json + --format toon conflict); csv|table are human render modes.\n const effectiveGlobal =\n listFormat === \"json\" || listFormat === \"toon\"\n ? resolveReadCommandOutputFormat(\"List\", options.format, globalOptions)\n : globalOptions;\n if (streamMode && !effectiveGlobal.json) {\n throw new PmCliError(\"--stream requires --json output mode.\", EXIT_CODE.USAGE);\n }\n if (tabular && streamMode) {\n throw new PmCliError(\"--format csv|table cannot be combined with --stream (line-delimited JSON).\", EXIT_CODE.USAGE);\n }\n if (tabular) {\n const rows = result.items as Array<Record<string, unknown>>;\n const rendered = listFormat === \"csv\" ? renderRowsAsCsv(rows) : renderRowsAsTable(rows);\n if (!effectiveGlobal.quiet && rendered.length > 0) {\n writeStdout(`${rendered}\\n`);\n }\n } else if (streamMode) {\n printListJsonStream(name, result, effectiveGlobal);\n } else {\n printResult(result, effectiveGlobal);\n }\n if (globalOptions.profile) {\n printError(`profile:command=${name} took_ms=${Date.now() - startedAt}`);\n }\n });\n // Positive alias for --no-truncate (Commander stores the negation as truncate=false).\n addHiddenOption(command, \"--all\", \"Alias for --no-truncate\");\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(command, \"--tags <value>\", \"Alias for --tag\");\n addHiddenOption(command, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n addHiddenOption(command, \"--tree_depth <n>\", \"Alias for --tree-depth\");\n // Singular alias so `--filter-estimate-missing` works (matches update-many spelling).\n addHiddenOption(command, \"--filter-estimate-missing\", \"Alias for --filter-estimates-missing\");\n }\n\n if (shouldRegister(\"list\")) {\n registerListCommand(\"list\", \"List active items with optional filters.\", undefined, true, true, true);\n }\n if (shouldRegister(\"list-all\")) {\n registerListCommand(\"list-all\", \"List all items with optional filters.\", undefined, false, true);\n }\n if (shouldRegister(\"list-draft\")) {\n registerListCommand(\"list-draft\", \"List draft items with optional filters.\", \"draft\");\n }\n if (shouldRegister(\"list-open\")) {\n registerListCommand(\"list-open\", \"List open items with optional filters.\", \"open\", false, false, true);\n }\n if (shouldRegister(\"list-in-progress\")) {\n registerListCommand(\"list-in-progress\", \"List in-progress items with optional filters.\", \"in_progress\", false, false, true);\n }\n if (shouldRegister(\"list-blocked\")) {\n registerListCommand(\"list-blocked\", \"List blocked items with optional filters.\", \"blocked\", false, false, true);\n }\n if (shouldRegister(\"list-closed\")) {\n registerListCommand(\"list-closed\", \"List closed items with optional filters.\", \"closed\");\n }\n if (shouldRegister(\"list-canceled\")) {\n registerListCommand(\"list-canceled\", \"List canceled items with optional filters.\", \"canceled\");\n }\n\n if (shouldRegister(\"aggregate\")) {\n const aggregateCommand = program\n .command(\"aggregate\")\n .description(\"Aggregate grouped item counts for governance queries.\")\n .option(\n \"--group-by <value>\",\n \"Comma-separated group-by fields (supported: parent,type,priority,status,assignee,tags,sprint,release)\",\n )\n .option(\"--count\", \"Return grouped counts (default behavior)\")\n .option(\"--completion\", \"Add open/in_progress/closed/other counts and completion_pct per group\")\n .option(\"--sum <field>\", \"Sum a numeric field per group\")\n .option(\"--avg <field>\", \"Average a numeric field per group\")\n .option(\"--include-unparented\", \"Include unparented rows when grouping by parent\")\n .option(\"--status <value>\", \"Filter by item status\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\");\n // Hidden pure snake_case underscore-duplicate aliases (kept parse-functional).\n addHiddenOption(aggregateCommand, \"--include_unparented\", \"Alias for --include-unparented\");\n addHiddenOption(aggregateCommand, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n aggregateCommand\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runAggregate } = await import(\"./commands/aggregate.js\");\n const result = await runAggregate(normalizeAggregateOptions(options), globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=aggregate took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"context\")) {\n const contextCommand = program\n .command(\"context\")\n .alias(\"ctx\")\n .description(\"Show a token-efficient project context snapshot for next-work decisions.\")\n .option(\"--date <value>\", \"Anchor date/time for agenda window calculations (ISO/date string or relative)\")\n .option(\"--from <value>\", \"Agenda lower bound (ISO/date string or relative)\")\n .option(\"--to <value>\", \"Agenda upper bound (ISO/date string or relative)\")\n .option(\"--past\", \"Include past agenda entries in bounded windows\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--parent <id>\", \"Scope the snapshot to one item's subtree (the item plus all descendants)\")\n .option(\"--limit <n>\", \"Limit focus and agenda rows per section\")\n .option(\"--format <value>\", \"Context output format override: markdown|toon|json\")\n .option(\"--depth <value>\", \"Context depth: brief|standard|deep|full (full = every section, no per-section cap)\")\n .option(\"--section <value...>\", \"Include specific sections (repeatable; overrides --depth)\")\n .option(\"--fields <value>\", \"Project focus rows to a comma-separated field subset (e.g. id,title,priority)\")\n .option(\"--activity-limit <n>\", \"Limit recent activity entries (default: settings or 10)\")\n .option(\"--stale-threshold <value>\", \"Staleness cutoff in days (e.g. 7 or 7d; default: settings or 7)\");\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(contextCommand, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n contextCommand\n .action(async (options: Record<string, unknown>, actionCommand) => {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const normalized = normalizeContextOptions(options);\n const commands = await import(\"./commands/context.js\");\n const result = await commands.runContext(normalized, globalOptions);\n const outputFormat = commands.resolveContextOutputFormat(normalized, globalOptions);\n if (outputFormat === \"markdown\") {\n if (!globalOptions.quiet) {\n writeStdout(`${commands.renderContextMarkdown(result)}\\n`);\n }\n } else {\n printResult(result, {\n ...globalOptions,\n json: outputFormat === \"json\",\n });\n }\n if (globalOptions.profile) {\n printError(`profile:command=context took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"search\")) {\n const searchCommand = program\n .command(\"search\")\n .argument(\"<keywords...>\", \"Keyword query tokens\")\n .description(\n \"Search items with keyword, semantic, or hybrid retrieval. Inline field:value tokens \" +\n \"(tag:/status:/type:/priority:) in the query are parsed as filters, e.g. 'auth tag:area:search status:open'.\",\n )\n .option(\"--mode <value>\", \"Search mode: keyword|semantic|hybrid (default: keyword)\")\n .option(\"--semantic\", \"Shorthand for --mode semantic\")\n .option(\"--hybrid\", \"Shorthand for --mode hybrid\")\n .option(\n \"--match-mode <value>\",\n \"Token match mode: and|or|exact (default: or with all-terms ranking bonus; and = hard-require every token; exact = exact phrase)\",\n )\n .option(\n \"--min-score <value>\",\n \"Per-query minimum score threshold (finite number >= 0); overrides settings search.score_threshold for this query only\",\n )\n .option(\"--count\", \"Return only the count of matching items (post-filter/threshold, pre-limit); skips hit rows\")\n .option(\n \"--semantic-weight <value>\",\n \"Override hybrid semantic weight for this query (0..1); invalid values fall back to settings\",\n )\n .option(\"--include-linked\", \"Include linked files, docs, and tests in the searchable corpus\")\n .option(\"--title-exact\", \"Require exact normalized title match for the full query string\")\n .option(\"--phrase-exact\", \"Require exact normalized phrase match in searchable text\")\n .option(\"--highlight\", \"Emit per-field matched-text snippets (wrapped in «…») on each hit; off by default\")\n .option(\"--status <value>\", \"Filter by status before query (all, open/closed/canceled aliases, or configured status id; CSV)\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--updated-after <value>\", 'Filter by updated_at lower bound: ISO timestamp or signed relative (e.g. \"-2h\"/\"-7d\" for the past)')\n .option(\"--updated-before <value>\", \"Filter by updated_at upper bound: ISO timestamp or signed relative (-2h/+1d)\")\n .option(\"--created-after <value>\", \"Filter by created_at lower bound: ISO timestamp or signed relative (-2h/+1d)\")\n .option(\"--created-before <value>\", \"Filter by created_at upper bound: ISO timestamp or signed relative (-2h/+1d)\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--compact\", \"Render compact search hits (default; mutually exclusive with --full/--fields)\")\n .option(\"--full\", \"Render full search hits with nested item payloads (mutually exclusive with --compact/--fields)\")\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated search hit fields (mutually exclusive with --compact/--full; valid: --fields id,title,score; invalid: --full --fields id,title)\",\n )\n .option(\"--format <value>\", \"Search output format override: json|toon\")\n .option(\"--limit <n>\", \"Limit returned item count\");\n registerContentAndGovernanceFilters(searchCommand);\n searchCommand\n .action(async (keywords: string[], options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runSearch } = await import(\"./commands/search.js\");\n const searchOptions = normalizeSearchOptions(options);\n const result = await runSearch(\n normalizeSearchKeywordsInput(keywords),\n {\n ...searchOptions,\n mode:\n typeof searchOptions.mode === \"string\" && searchOptions.mode.trim().length > 0\n ? searchOptions.mode\n : \"keyword\",\n },\n globalOptions,\n );\n printResult(result, resolveReadCommandOutputFormat(\"Search\", options.format, globalOptions));\n if (globalOptions.profile) {\n printError(`profile:command=search took_ms=${Date.now() - startedAt}`);\n }\n });\n addHiddenOption(searchCommand, \"--tags <value>\", \"Alias for --tag\");\n }\n\n if (shouldRegister(\"eval\")) {\n program\n .command(\"eval\")\n .description(\n \"Evaluate search relevance against a curated golden-query set: reports nDCG@k, MRR@k, \" +\n \"precision@k, and recall@k per query plus the macro average. Use --fail-under as a CI gate.\",\n )\n .option(\"--mode <value>\", \"Default retrieval mode for queries without their own: keyword|semantic|hybrid (default: keyword)\")\n .option(\"--k <n>\", \"Metric cutoff @k (positive integer; default: 10)\")\n .option(\"--fail-under <value>\", \"Exit non-zero when aggregate nDCG@k falls below this threshold (0..1); CI gate\")\n .option(\"--queries <path>\", \"Path to the golden-query JSON file (default: <pmRoot>/search/eval-queries.json)\")\n .option(\"--format <value>\", \"Eval output format override: json|toon\")\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runEval } = await import(\"./commands/eval.js\");\n const result = await runEval(\n {\n mode: typeof options.mode === \"string\" ? options.mode : undefined,\n k: typeof options.k === \"string\" ? options.k : undefined,\n failUnder: typeof options.failUnder === \"string\" ? options.failUnder : undefined,\n queries: typeof options.queries === \"string\" ? options.queries : undefined,\n format: typeof options.format === \"string\" ? options.format : undefined,\n },\n globalOptions,\n );\n printResult(result, resolveReadCommandOutputFormat(\"Eval\", options.format, globalOptions));\n if (globalOptions.profile) {\n printError(`profile:command=eval took_ms=${Date.now() - startedAt}`);\n }\n if (!result.passed) {\n throw new PmCliError(\n `Eval gate failed: aggregate nDCG@${result.k} ${result.aggregate.ndcg} is below --fail-under ${result.fail_under}`,\n EXIT_CODE.GENERIC_FAILURE,\n );\n }\n });\n }\n\n if (shouldRegister(\"get\")) {\n const getCommand = program\n .command(\"get\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--depth <value>\", \"Detail depth: brief|standard|deep|full (full aliases deep; default: standard)\")\n .option(\"--full\", \"Explicit full item read; equivalent to --depth deep (mutually exclusive with --depth/--fields)\")\n .option(\"--fields <value>\", \"Render custom comma-separated item metadata fields (for example: --fields id,title,status,parent,type)\")\n .option(\"--tree\", \"Include descendants rooted at the requested item\")\n .option(\"--tree-depth <n>\", \"Maximum subtree depth for --tree descendants\")\n .option(\"--format <value>\", \"Get output format override: json|toon\")\n .description(\"Show item details by ID.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runGet } = await import(\"./commands/get.js\");\n const result = await runGet(\n id,\n globalOptions,\n {\n depth: typeof options.depth === \"string\" ? options.depth : undefined,\n fields: typeof options.fields === \"string\" ? options.fields : undefined,\n full: Boolean(options.full),\n tree: options.tree === true,\n treeDepth:\n typeof options.treeDepth === \"string\"\n ? options.treeDepth\n : typeof options.tree_depth === \"string\"\n ? options.tree_depth\n : undefined,\n },\n );\n printResult(result, resolveReadCommandOutputFormat(\"Get\", options.format, globalOptions));\n if (globalOptions.profile) {\n printError(`profile:command=get took_ms=${Date.now() - startedAt}`);\n }\n });\n addHiddenOption(getCommand, \"--tree_depth <n>\", \"Alias for --tree-depth\");\n }\n\n if (shouldRegister(\"history\")) {\n program\n .command(\"history\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--limit <n>\", \"Return only the latest n history entries\")\n .option(\"--compact\", \"Condensed output: show entry index, timestamp, op, author, patch count, and changed fields\")\n .option(\"--full\", \"Show full history entries with JSON Patch payloads\")\n .option(\"--diff\", \"Include per-entry field-level before/after value diffs computed by replaying the history chain\")\n .option(\"--field <name>\", \"With --diff, show only entries that changed this field (implies --diff)\")\n .option(\"--verify\", \"Verify hash chain and replay integrity for the full history stream\")\n .option(\"--format <value>\", \"History output format override: json|toon\")\n .description(\"Show item history entries.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\"History projection options are mutually exclusive. Use either --compact or --full.\", EXIT_CODE.USAGE);\n }\n const field = typeof options.field === \"string\" ? options.field : undefined;\n const { runHistory } = await import(\"./commands/history.js\");\n const result = await runHistory(\n id,\n {\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n compact: options.full === true ? false : true,\n diff: Boolean(options.diff) || field !== undefined,\n field,\n verify: Boolean(options.verify),\n },\n globalOptions,\n );\n printResult(result, resolveReadCommandOutputFormat(\"History\", options.format, globalOptions));\n if (globalOptions.profile) {\n printError(`profile:command=history took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"activity\")) {\n program\n .command(\"activity\")\n .option(\"--id <value>\", \"Filter by item ID\")\n .option(\"--op <value>\", \"Filter by history operation\")\n .option(\"--author <value>\", \"Filter by history author\")\n .option(\"--from <value>\", \"Lower timestamp bound (ISO/date string or relative)\")\n .option(\"--to <value>\", \"Upper timestamp bound (ISO/date string or relative)\")\n .option(\"--limit <n>\", \"Return only the latest n activity entries\")\n .option(\"--compact\", \"Condensed output: show only id, op, ts, author, msg per entry\")\n .option(\"--full\", \"Show full activity entries with JSON Patch payloads\")\n .option(\"--stream [mode]\", \"Emit line-delimited JSON rows (requires --json). Optional mode: rows|ndjson|jsonl\")\n .description(\"Show recent activity across items.\")\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\"Activity projection options are mutually exclusive. Use either --compact or --full.\", EXIT_CODE.USAGE);\n }\n const normalized = normalizeActivityOptions(options);\n const { runActivity } = await import(\"./commands/activity.js\");\n const result = await runActivity(normalized, globalOptions);\n const streamMode = resolveActivityStreamMode(options.stream);\n if (streamMode && !globalOptions.json) {\n throw new PmCliError(\"--stream requires --json output mode.\", EXIT_CODE.USAGE);\n }\n if (streamMode) {\n printActivityJsonStream(result, normalized, globalOptions);\n } else {\n printResult(result, globalOptions);\n }\n if (globalOptions.profile) {\n printError(`profile:command=activity took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n}\n\nexport const _testOnlyRegisterListQuery = {\n resolveReadCommandOutputFormat,\n parseListFormat,\n};\n","/**\n * @module core/output/tabular\n *\n * Renders projected item rows as CSV or fixed-width text tables for human\n * export. These are presentation-only modes (GH-154): agents continue to read\n * the structured `--json`/TOON output, while humans piping `pm list` into a\n * spreadsheet or terminal get a directly consumable shape.\n */\n\n/** A projected row: a flat map of column name to scalar/collection cell value. */\nexport type TabularRow = Record<string, unknown>;\n\n/**\n * Collects the ordered union of column names across every row, preserving the\n * order in which each key is first encountered so the rendered columns mirror\n * the projection field order rather than an arbitrary object-key order.\n */\nfunction resolveColumns(rows: TabularRow[]): string[] {\n const columns: string[] = [];\n const seen = new Set<string>();\n for (const row of rows) {\n for (const key of Object.keys(row)) {\n if (!seen.has(key)) {\n seen.add(key);\n columns.push(key);\n }\n }\n }\n return columns;\n}\n\n/**\n * Converts a single cell value to its flat string form. Arrays join with `;`\n * (spreadsheet-friendly and unambiguous against the CSV `,` delimiter), objects\n * serialize to compact JSON, and null/undefined render as an empty cell.\n */\nfunction renderCell(value: unknown): string {\n if (value === null || value === undefined) {\n return \"\";\n }\n if (Array.isArray(value)) {\n return value.map((entry) => renderCell(entry)).join(\";\");\n }\n if (typeof value === \"object\") {\n return JSON.stringify(value);\n }\n return String(value);\n}\n\n/**\n * Escapes a CSV field per RFC 4180: values containing the delimiter, a quote,\n * or a line break are wrapped in double quotes with embedded quotes doubled.\n */\nfunction escapeCsvField(value: string): string {\n if (/[\",\\r\\n]/.test(value)) {\n return `\"${value.replace(/\"/g, '\"\"')}\"`;\n }\n return value;\n}\n\n/**\n * Renders rows as RFC 4180 CSV with a header row of column names. Returns an\n * empty string when there are no rows so callers emit nothing rather than a\n * stray blank line.\n */\nexport function renderRowsAsCsv(rows: TabularRow[]): string {\n if (rows.length === 0) {\n return \"\";\n }\n const columns = resolveColumns(rows);\n const lines = [columns.map((column) => escapeCsvField(column)).join(\",\")];\n for (const row of rows) {\n lines.push(columns.map((column) => escapeCsvField(renderCell(row[column]))).join(\",\"));\n }\n return lines.join(\"\\n\");\n}\n\n/**\n * Renders rows as a fixed-width text table: a header row, a dashed separator,\n * and one padded row per item. Columns are widened to fit their widest cell so\n * the output stays aligned in a monospace terminal. Returns an empty string\n * when there are no rows.\n */\nexport function renderRowsAsTable(rows: TabularRow[]): string {\n if (rows.length === 0) {\n return \"\";\n }\n const columns = resolveColumns(rows);\n const cells = rows.map((row) => columns.map((column) => renderCell(row[column])));\n const widths = columns.map((column, index) =>\n Math.max(column.length, ...cells.map((rowCells) => rowCells[index].length)),\n );\n const pad = (value: string, index: number): string => value.padEnd(widths[index]);\n const lines = [columns.map((column, index) => pad(column, index)).join(\" | \")];\n lines.push(widths.map((width) => \"-\".repeat(width)).join(\"-+-\"));\n for (const rowCells of cells) {\n lines.push(rowCells.map((value, index) => pad(value, index)).join(\" | \"));\n }\n return lines.join(\"\\n\");\n}\n"],"names":["options"],"mappings":"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","debugId":"6f41e751-01a6-5b05-b5c1-cf00e0a63cc3"}
@@ -8,30 +8,30 @@ import {
8
8
  invalidateSearchCachesForMutation,
9
9
  normalizeCreateOptions,
10
10
  normalizeUpdateOptions
11
- } from "./chunk-DJ3YYLHG.js";
11
+ } from "./chunk-FA5O2DEG.js";
12
12
  import {
13
13
  CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS,
14
14
  UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS
15
- } from "./chunk-DVUU3AHP.js";
16
- import "./chunk-QCHNPN24.js";
15
+ } from "./chunk-MFCFHL27.js";
16
+ import "./chunk-4YMX7XFI.js";
17
17
  import {
18
18
  printError,
19
19
  printResult,
20
20
  writeStdout
21
- } from "./chunk-2E3KSWFG.js";
21
+ } from "./chunk-F4EYOSNC.js";
22
22
  import {
23
23
  splitCommaList
24
24
  } from "./chunk-P4SESZGT.js";
25
- import "./chunk-GL3QKIET.js";
26
- import "./chunk-22YA6GCA.js";
27
- import "./chunk-EMFDZ7N3.js";
28
- import "./chunk-BQVESTOG.js";
29
- import "./chunk-5P2LQV2F.js";
25
+ import "./chunk-XKJDCJEH.js";
26
+ import "./chunk-K2LBDYDC.js";
27
+ import "./chunk-FSOJCFDS.js";
28
+ import "./chunk-KCJZREBI.js";
29
+ import "./chunk-MTQK5ZSB.js";
30
30
  import {
31
31
  BUILTIN_ITEM_TYPE_VALUES,
32
32
  EXIT_CODE,
33
33
  PmCliError
34
- } from "./chunk-I2VJM36R.js";
34
+ } from "./chunk-AZ75OVK4.js";
35
35
 
36
36
  // dist/cli/register-mutation.js
37
37
  import { Option } from "commander";
@@ -404,7 +404,7 @@ function registerMutationCommands(program) {
404
404
  delete options.bodyFile;
405
405
  }
406
406
  const normalized = normalizeCreateOptions(options, { requireType: false });
407
- const { runCreate } = await import("./create-GK4MX2LJ.js");
407
+ const { runCreate } = await import("./create-ZPZKJDFQ.js");
408
408
  const result = await runCreate(normalized, globalOptions);
409
409
  await invalidateSearchCachesForMutation(globalOptions, result);
410
410
  printResult(result, globalOptions);
@@ -415,7 +415,7 @@ function registerMutationCommands(program) {
415
415
  program.command("copy").argument("<id>", "Source item id").option("--title <value>", "Optional title override for the copied item").option("--author <value>", "Mutation author").option("--message <value>", "History message").description("Copy an item into a new item id while resetting lifecycle fields.").action(async (id, options, command) => {
416
416
  const globalOptions = getGlobalOptions(command);
417
417
  const startedAt = Date.now();
418
- const { runCopy } = await import("./copy-RMLXLZOL.js");
418
+ const { runCopy } = await import("./copy-KBTIUW7L.js");
419
419
  const result = await runCopy(id, {
420
420
  title: typeof options.title === "string" ? options.title : void 0,
421
421
  author: typeof options.author === "string" ? options.author : void 0,
@@ -430,7 +430,7 @@ function registerMutationCommands(program) {
430
430
  program.command("focus").argument("[id]", "Item id to focus (omit to show current focus)").option("--clear", "Clear the focused item").description("Set/clear/show the session focused item that new items default --parent to.").action(async (id, options, command) => {
431
431
  const globalOptions = getGlobalOptions(command);
432
432
  const startedAt = Date.now();
433
- const { runFocus } = await import("./focus-ELOPN2SR.js");
433
+ const { runFocus } = await import("./focus-CFE33IYC.js");
434
434
  const result = await runFocus(id, { clear: options.clear === true }, globalOptions);
435
435
  printResult(result, globalOptions);
436
436
  if (globalOptions.profile) {
@@ -449,7 +449,7 @@ function registerMutationCommands(program) {
449
449
  options.body = await resolveBodyFileContent(options.bodyFile, options.body !== void 0 ? String(options.body) : void 0);
450
450
  delete options.bodyFile;
451
451
  }
452
- const { runUpdate } = await import("./update-GCNLER2H.js");
452
+ const { runUpdate } = await import("./update-T5AYT6ZN.js");
453
453
  const result = await runUpdate(id, normalizeUpdateOptions(options), globalOptions);
454
454
  await invalidateSearchCachesForMutation(globalOptions, result);
455
455
  printResult(result, globalOptions);
@@ -492,7 +492,7 @@ function registerMutationCommands(program) {
492
492
  updateManyCommand.action(async (options, command) => {
493
493
  const globalOptions = getGlobalOptions(command);
494
494
  const startedAt = Date.now();
495
- const { runUpdateMany } = await import("./update-many-OKYWFCBO.js");
495
+ const { runUpdateMany } = await import("./update-many-6XFR7TFG.js");
496
496
  const result = await runUpdateMany({
497
497
  status: typeof options.filterStatus === "string" ? options.filterStatus : void 0,
498
498
  list: buildUpdateManyListOptions(options),
@@ -513,7 +513,7 @@ function registerMutationCommands(program) {
513
513
  closeCommand.action(async (id, text, options, command) => {
514
514
  const globalOptions = getGlobalOptions(command);
515
515
  const startedAt = Date.now();
516
- const { runClose } = await import("./close-3TSX6BYF.js");
516
+ const { runClose } = await import("./close-4QMUQMON.js");
517
517
  const reasonFromOption = typeof options.reason === "string" && options.reason.trim().length > 0 && options.reason || typeof options.closeReason === "string" && options.closeReason.trim().length > 0 && options.closeReason || void 0;
518
518
  const resolvedText = typeof text === "string" && text.length > 0 ? text : reasonFromOption;
519
519
  const pickInlineString = (...candidates) => {
@@ -557,7 +557,7 @@ function registerMutationCommands(program) {
557
557
  }
558
558
  return void 0;
559
559
  };
560
- const { runCloseMany } = await import("./close-many-B7DBVA46.js");
560
+ const { runCloseMany } = await import("./close-many-3UWKJRQK.js");
561
561
  const result = await runCloseMany({
562
562
  status: typeof options.filterStatus === "string" ? options.filterStatus : void 0,
563
563
  list: {
@@ -601,7 +601,7 @@ function registerMutationCommands(program) {
601
601
  program.command("delete").argument("<id>", "Item id").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--force", "Force ownership override").option("--dry-run", "Preview the item file that would be deleted without mutating").description("Delete an item and record the change in history.").action(async (id, options, command) => {
602
602
  const globalOptions = getGlobalOptions(command);
603
603
  const startedAt = Date.now();
604
- const { runDelete } = await import("./delete-RMGNIL2S.js");
604
+ const { runDelete } = await import("./delete-FGKVPUQZ.js");
605
605
  const result = await runDelete(id, {
606
606
  author: typeof options.author === "string" ? options.author : void 0,
607
607
  message: typeof options.message === "string" ? options.message : void 0,
@@ -630,7 +630,7 @@ function registerMutationCommands(program) {
630
630
  if (resolvedBody === void 0) {
631
631
  throw new PmCliError("Missing append text. Provide it as positional [text], --body <value>, or --text <value> (use - for stdin).", EXIT_CODE.USAGE);
632
632
  }
633
- const { runAppend } = await import("./append-BP2ARHOK.js");
633
+ const { runAppend } = await import("./append-BBM4MNVD.js");
634
634
  const result = await runAppend(id, {
635
635
  body: resolvedBody,
636
636
  author: typeof options.author === "string" ? options.author : void 0,
@@ -646,7 +646,7 @@ function registerMutationCommands(program) {
646
646
  program.command("restore").argument("<id>", "Item id").argument("<target>", "Restore target timestamp or version number").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--force", "Force ownership/lock override").description("Restore an item to an earlier timestamp or version.").action(async (id, target, options, command) => {
647
647
  const globalOptions = getGlobalOptions(command);
648
648
  const startedAt = Date.now();
649
- const { runRestore } = await import("./restore-SJUWYOCK.js");
649
+ const { runRestore } = await import("./restore-64JKQV7G.js");
650
650
  const result = await runRestore(id, target, {
651
651
  author: typeof options.author === "string" ? options.author : void 0,
652
652
  message: typeof options.message === "string" ? options.message : void 0,
@@ -695,7 +695,7 @@ function registerMutationCommands(program) {
695
695
  planCommand.action(async (subcommand, id, stepRef, reorderToken, options, command) => {
696
696
  const globalOptions = getGlobalOptions(command);
697
697
  const startedAt = Date.now();
698
- const { runPlan, PLAN_SUBCOMMANDS } = await import("./plan-BK3OMLGP.js");
698
+ const { runPlan, PLAN_SUBCOMMANDS } = await import("./plan-VZKICKIJ.js");
699
699
  const normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
700
700
  if (!normalizedSubcommand) {
701
701
  throw new PmCliError(`pm plan requires a subcommand. Allowed: ${PLAN_SUBCOMMANDS.join(", ")}`, EXIT_CODE.USAGE, {
@@ -779,7 +779,7 @@ function registerMutationCommands(program) {
779
779
  program.command("history-redact").argument("<id>", "Item id").option("--literal <value>", "Literal string to redact (repeatable)", collect).option("--regex <value>", "Regex pattern to redact (repeatable; accepts /pattern/flags or raw pattern)", collect).option("--replacement <value>", 'Replacement string (default: "[redacted]")').option("--dry-run", "Preview redaction impact without writing item/history files").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the redaction marker entry").option("--force", "Force ownership/lock override").description("Redact sensitive literals/patterns from an item history stream and recompute hashes.").action(async (id, options, command) => {
780
780
  const globalOptions = getGlobalOptions(command);
781
781
  const startedAt = Date.now();
782
- const { runHistoryRedact } = await import("./history-redact-UBDHBEJE.js");
782
+ const { runHistoryRedact } = await import("./history-redact-UMPD4G3K.js");
783
783
  const literal = Array.isArray(options.literal) ? options.literal : void 0;
784
784
  const regex = Array.isArray(options.regex) ? options.regex : void 0;
785
785
  const result = await runHistoryRedact(id, {
@@ -802,7 +802,7 @@ function registerMutationCommands(program) {
802
802
  program.command("history-repair").argument("[id]", "Item id (omit with --all)").option("--all", "Scan every stream for drift and repair each drifted stream in one audited pass").option("--dry-run", "Preview the re-anchor impact without writing the history file").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the repair marker entry").option("--force", "Force ownership/lock override").description("Re-anchor a drifted item history chain (recompute hashes, reconcile with the on-disk item) and record an audit marker. Use --all to repair every drifted stream.").action(async (id, options, command) => {
803
803
  const globalOptions = getGlobalOptions(command);
804
804
  const startedAt = Date.now();
805
- const { runHistoryRepair, runHistoryRepairAll, assertHistoryRepairTarget } = await import("./history-repair-GMMHFAGH.js");
805
+ const { runHistoryRepair, runHistoryRepairAll, assertHistoryRepairTarget } = await import("./history-repair-WHOK2ICG.js");
806
806
  const all = options.all === true;
807
807
  assertHistoryRepairTarget(id, all);
808
808
  const repairOptions = {
@@ -828,7 +828,7 @@ function registerMutationCommands(program) {
828
828
  program.command("history-compact").argument("[id]", "Item id (omit when using a bulk selector)").option("--before <value>", "Compact entries strictly before this version number or ISO timestamp (single-id mode only)").option("--ids <value>", "Bulk: compact an explicit comma-separated list of item ids").option("--all-over <n>", "Bulk: compact every stream with more than N entries").option("--closed", "Bulk: compact only closed (terminal) items' streams").option("--all-streams", "Bulk: compact every history stream regardless of lifecycle state").option("--min-entries <n>", "Bulk: skip streams with at most N entries (already compact; default 3)").option("--dry-run", "Preview compaction impact without writing the history file").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the compaction marker entry").option("--force", "Force ownership/lock override").description("Compact item history streams into a synthetic baseline plus retained tail entries. Pass an item id for one stream, or a bulk selector (--ids/--all-over/--closed/--all-streams) to compact many.").action(async (id, options, command) => {
829
829
  const globalOptions = getGlobalOptions(command);
830
830
  const startedAt = Date.now();
831
- const { runHistoryCompact, runHistoryCompactBulk, assertHistoryCompactTarget } = await import("./history-compact-EQXVPK3V.js");
831
+ const { runHistoryCompact, runHistoryCompactBulk, assertHistoryCompactTarget } = await import("./history-compact-AXR6R6GU.js");
832
832
  const parseNonNegativeIntFlag = (raw, flag) => {
833
833
  if (typeof raw !== "string") {
834
834
  return void 0;
@@ -884,7 +884,7 @@ function registerMutationCommands(program) {
884
884
  schemaCommand.action(async (subcommand, name, options, command) => {
885
885
  const globalOptions = getGlobalOptions(command);
886
886
  const startedAt = Date.now();
887
- const schemaModule = await import("./schema-N5ETYD4P.js");
887
+ const schemaModule = await import("./schema-OA4RSVMI.js");
888
888
  const { SCHEMA_SUBCOMMANDS } = schemaModule;
889
889
  let normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
890
890
  let typeName = name;
@@ -977,7 +977,7 @@ function registerMutationCommands(program) {
977
977
  throw new PmCliError("Specify comment text with exactly one source: positional [text], --add, --stdin, or --file", EXIT_CODE.USAGE);
978
978
  }
979
979
  const add = addFromOption ?? addFromPositional;
980
- const { runComments } = await import("./comments-M7PAINZT.js");
980
+ const { runComments } = await import("./comments-4EM7XR74.js");
981
981
  const result = await runComments(id, {
982
982
  add,
983
983
  stdin: readFromStdin,
@@ -1008,7 +1008,7 @@ function registerMutationCommands(program) {
1008
1008
  throw new PmCliError("Specify note text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
1009
1009
  }
1010
1010
  const add = addFromOption ?? addFromPositional;
1011
- const { runNotes } = await import("./notes-K5I3TAYR.js");
1011
+ const { runNotes } = await import("./notes-LW53PFLH.js");
1012
1012
  const result = await runNotes(id, {
1013
1013
  add,
1014
1014
  limit: typeof options.limit === "string" ? options.limit : void 0,
@@ -1034,7 +1034,7 @@ function registerMutationCommands(program) {
1034
1034
  throw new PmCliError("Specify learning text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
1035
1035
  }
1036
1036
  const add = addFromOption ?? addFromPositional;
1037
- const { runLearnings } = await import("./learnings-DR53TWRA.js");
1037
+ const { runLearnings } = await import("./learnings-GZRBIEAN.js");
1038
1038
  const result = await runLearnings(id, {
1039
1039
  add,
1040
1040
  limit: typeof options.limit === "string" ? options.limit : void 0,
@@ -1059,7 +1059,7 @@ function registerMutationCommands(program) {
1059
1059
  const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
1060
1060
  const removeValues = Array.isArray(options.remove) ? options.remove : [];
1061
1061
  const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
1062
- const { runFiles } = await import("./files-TXEQOA7C.js");
1062
+ const { runFiles } = await import("./files-B2RUCA32.js");
1063
1063
  const result = await runFiles(id, {
1064
1064
  add: addValues,
1065
1065
  addGlob: addGlobValues,
@@ -1086,7 +1086,7 @@ function registerMutationCommands(program) {
1086
1086
  const globalOptions = getGlobalOptions(command);
1087
1087
  const startedAt = Date.now();
1088
1088
  const mergedOptions = { ...command.optsWithGlobals(), ...options };
1089
- const { runFilesDiscover } = await import("./files-TXEQOA7C.js");
1089
+ const { runFilesDiscover } = await import("./files-B2RUCA32.js");
1090
1090
  const result = await runFilesDiscover(id, {
1091
1091
  apply: Boolean(mergedOptions.apply),
1092
1092
  note: typeof mergedOptions.note === "string" ? mergedOptions.note : void 0,
@@ -1110,7 +1110,7 @@ function registerMutationCommands(program) {
1110
1110
  const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
1111
1111
  const removeValues = Array.isArray(options.remove) ? options.remove : [];
1112
1112
  const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
1113
- const { runDocs } = await import("./docs-2H2UGIT6.js");
1113
+ const { runDocs } = await import("./docs-2LXF5SVC.js");
1114
1114
  const result = await runDocs(id, {
1115
1115
  add: addValues,
1116
1116
  addGlob: addGlobValues,
@@ -1135,7 +1135,7 @@ function registerMutationCommands(program) {
1135
1135
  program.command("deps").argument("<id>", "Item id").option("--format <value>", "Output format (tree or graph)", "tree").option("--max-depth <value>", "Maximum dependency traversal depth (0 keeps only the root)").option("--collapse <value>", "Collapse mode (none or repeated)", "none").option("--summary", "Return counts only without full tree/graph payload").description("Show dependency relationships for an item.").action(async (id, options, command) => {
1136
1136
  const globalOptions = getGlobalOptions(command);
1137
1137
  const startedAt = Date.now();
1138
- const { runDeps } = await import("./deps-WKHUPVD3.js");
1138
+ const { runDeps } = await import("./deps-IUJOBF2H.js");
1139
1139
  const result = await runDeps(id, {
1140
1140
  format: options.format,
1141
1141
  maxDepth: typeof options.maxDepth === "string" ? options.maxDepth : void 0,
@@ -1155,6 +1155,6 @@ export {
1155
1155
  registerCommanderOptionContracts,
1156
1156
  registerMutationCommands
1157
1157
  };
1158
- //# sourceMappingURL=register-mutation-ZAGVKMBQ.js.map
1158
+ //# sourceMappingURL=register-mutation-ANZIWHUF.js.map
1159
1159
 
1160
1160
  //# debugId=fff386b9-20d9-5c2e-a1ab-ccf94b0683b5
@@ -6,30 +6,30 @@ import {
6
6
  invalidateSearchCachesForMutation,
7
7
  normalizeCreateOptions,
8
8
  normalizeUpdateOptions
9
- } from "./chunk-5LZPDRFW.js";
9
+ } from "./chunk-NMQNXH4U.js";
10
10
  import {
11
11
  CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS,
12
12
  UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS
13
- } from "./chunk-FPQA4ZMA.js";
14
- import "./chunk-NNMBNN6Q.js";
13
+ } from "./chunk-VONJSFUW.js";
14
+ import "./chunk-ETJKPURB.js";
15
15
  import {
16
16
  printError,
17
17
  printResult,
18
18
  writeStdout
19
- } from "./chunk-AVMSP2HH.js";
19
+ } from "./chunk-3KVCMB2M.js";
20
20
  import {
21
21
  splitCommaList
22
22
  } from "./chunk-5HIZDR5A.js";
23
- import "./chunk-X7RKOJXL.js";
24
- import "./chunk-5NS6TJ2F.js";
25
- import "./chunk-QSH34DSQ.js";
26
- import "./chunk-SO2IOH37.js";
27
- import "./chunk-MTGMNUMJ.js";
23
+ import "./chunk-SL233DQD.js";
24
+ import "./chunk-ZHCSGIUX.js";
25
+ import "./chunk-5MWA46UN.js";
26
+ import "./chunk-XNQ3YH6N.js";
27
+ import "./chunk-B3LROPTV.js";
28
28
  import {
29
29
  BUILTIN_ITEM_TYPE_VALUES,
30
30
  EXIT_CODE,
31
31
  PmCliError
32
- } from "./chunk-5QLHQK7V.js";
32
+ } from "./chunk-QWAJPGEI.js";
33
33
 
34
34
  // dist/cli/register-mutation.js
35
35
  import { Option } from "commander";
@@ -423,7 +423,7 @@ function registerMutationCommands(program) {
423
423
  delete options.bodyFile;
424
424
  }
425
425
  const normalized = normalizeCreateOptions(options, { requireType: false });
426
- const { runCreate } = await import("./create-UZLJXHLA.js");
426
+ const { runCreate } = await import("./create-4KOAQ6ME.js");
427
427
  const result = await runCreate(normalized, globalOptions);
428
428
  await invalidateSearchCachesForMutation(globalOptions, result);
429
429
  printResult(result, globalOptions);
@@ -434,7 +434,7 @@ function registerMutationCommands(program) {
434
434
  program.command("copy").argument("<id>", "Source item id").option("--title <value>", "Optional title override for the copied item").option("--author <value>", "Mutation author").option("--message <value>", "History message").description("Copy an item into a new item id while resetting lifecycle fields.").action(async (id, options, command) => {
435
435
  const globalOptions = getGlobalOptions(command);
436
436
  const startedAt = Date.now();
437
- const { runCopy } = await import("./copy-NWFFRYWM.js");
437
+ const { runCopy } = await import("./copy-X7V6AEDB.js");
438
438
  const result = await runCopy(id, {
439
439
  title: typeof options.title === "string" ? options.title : void 0,
440
440
  author: typeof options.author === "string" ? options.author : void 0,
@@ -449,7 +449,7 @@ function registerMutationCommands(program) {
449
449
  program.command("focus").argument("[id]", "Item id to focus (omit to show current focus)").option("--clear", "Clear the focused item").description("Set/clear/show the session focused item that new items default --parent to.").action(async (id, options, command) => {
450
450
  const globalOptions = getGlobalOptions(command);
451
451
  const startedAt = Date.now();
452
- const { runFocus } = await import("./focus-UGROAMAX.js");
452
+ const { runFocus } = await import("./focus-7N36RIMT.js");
453
453
  const result = await runFocus(id, { clear: options.clear === true }, globalOptions);
454
454
  printResult(result, globalOptions);
455
455
  if (globalOptions.profile) {
@@ -468,7 +468,7 @@ function registerMutationCommands(program) {
468
468
  options.body = await resolveBodyFileContent(options.bodyFile, options.body !== void 0 ? String(options.body) : void 0);
469
469
  delete options.bodyFile;
470
470
  }
471
- const { runUpdate } = await import("./update-2BZEAI7B.js");
471
+ const { runUpdate } = await import("./update-CPNOG73P.js");
472
472
  const result = await runUpdate(id, normalizeUpdateOptions(options), globalOptions);
473
473
  await invalidateSearchCachesForMutation(globalOptions, result);
474
474
  printResult(result, globalOptions);
@@ -511,7 +511,7 @@ function registerMutationCommands(program) {
511
511
  updateManyCommand.action(async (options, command) => {
512
512
  const globalOptions = getGlobalOptions(command);
513
513
  const startedAt = Date.now();
514
- const { runUpdateMany } = await import("./update-many-IRNV3OTG.js");
514
+ const { runUpdateMany } = await import("./update-many-NMRUQZL2.js");
515
515
  const result = await runUpdateMany({
516
516
  status: typeof options.filterStatus === "string" ? options.filterStatus : void 0,
517
517
  list: buildUpdateManyListOptions(options),
@@ -532,7 +532,7 @@ function registerMutationCommands(program) {
532
532
  closeCommand.action(async (id, text, options, command) => {
533
533
  const globalOptions = getGlobalOptions(command);
534
534
  const startedAt = Date.now();
535
- const { runClose } = await import("./close-TQZK43Z5.js");
535
+ const { runClose } = await import("./close-NNZZTZ5V.js");
536
536
  const reasonFromOption = typeof options.reason === "string" && options.reason.trim().length > 0 && options.reason || typeof options.closeReason === "string" && options.closeReason.trim().length > 0 && options.closeReason || void 0;
537
537
  const resolvedText = typeof text === "string" && text.length > 0 ? text : reasonFromOption;
538
538
  const pickInlineString = (...candidates) => {
@@ -576,7 +576,7 @@ function registerMutationCommands(program) {
576
576
  }
577
577
  return void 0;
578
578
  };
579
- const { runCloseMany } = await import("./close-many-HB4UFCS3.js");
579
+ const { runCloseMany } = await import("./close-many-A7U62CRI.js");
580
580
  const result = await runCloseMany({
581
581
  status: typeof options.filterStatus === "string" ? options.filterStatus : void 0,
582
582
  list: {
@@ -620,7 +620,7 @@ function registerMutationCommands(program) {
620
620
  program.command("delete").argument("<id>", "Item id").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--force", "Force ownership override").option("--dry-run", "Preview the item file that would be deleted without mutating").description("Delete an item and record the change in history.").action(async (id, options, command) => {
621
621
  const globalOptions = getGlobalOptions(command);
622
622
  const startedAt = Date.now();
623
- const { runDelete } = await import("./delete-EFQLVEAS.js");
623
+ const { runDelete } = await import("./delete-2ZI6CJZM.js");
624
624
  const result = await runDelete(id, {
625
625
  author: typeof options.author === "string" ? options.author : void 0,
626
626
  message: typeof options.message === "string" ? options.message : void 0,
@@ -649,7 +649,7 @@ function registerMutationCommands(program) {
649
649
  if (resolvedBody === void 0) {
650
650
  throw new PmCliError("Missing append text. Provide it as positional [text], --body <value>, or --text <value> (use - for stdin).", EXIT_CODE.USAGE);
651
651
  }
652
- const { runAppend } = await import("./append-5U3XR5SD.js");
652
+ const { runAppend } = await import("./append-BFV5UYWS.js");
653
653
  const result = await runAppend(id, {
654
654
  body: resolvedBody,
655
655
  author: typeof options.author === "string" ? options.author : void 0,
@@ -665,7 +665,7 @@ function registerMutationCommands(program) {
665
665
  program.command("restore").argument("<id>", "Item id").argument("<target>", "Restore target timestamp or version number").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--force", "Force ownership/lock override").description("Restore an item to an earlier timestamp or version.").action(async (id, target, options, command) => {
666
666
  const globalOptions = getGlobalOptions(command);
667
667
  const startedAt = Date.now();
668
- const { runRestore } = await import("./restore-PI3WM4GK.js");
668
+ const { runRestore } = await import("./restore-GKM26SAW.js");
669
669
  const result = await runRestore(id, target, {
670
670
  author: typeof options.author === "string" ? options.author : void 0,
671
671
  message: typeof options.message === "string" ? options.message : void 0,
@@ -714,7 +714,7 @@ function registerMutationCommands(program) {
714
714
  planCommand.action(async (subcommand, id, stepRef, reorderToken, options, command) => {
715
715
  const globalOptions = getGlobalOptions(command);
716
716
  const startedAt = Date.now();
717
- const { runPlan, PLAN_SUBCOMMANDS } = await import("./plan-X3STKLED.js");
717
+ const { runPlan, PLAN_SUBCOMMANDS } = await import("./plan-AVJ4VJQO.js");
718
718
  const normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
719
719
  if (!normalizedSubcommand) {
720
720
  throw new PmCliError(`pm plan requires a subcommand. Allowed: ${PLAN_SUBCOMMANDS.join(", ")}`, EXIT_CODE.USAGE, {
@@ -798,7 +798,7 @@ function registerMutationCommands(program) {
798
798
  program.command("history-redact").argument("<id>", "Item id").option("--literal <value>", "Literal string to redact (repeatable)", collect).option("--regex <value>", "Regex pattern to redact (repeatable; accepts /pattern/flags or raw pattern)", collect).option("--replacement <value>", 'Replacement string (default: "[redacted]")').option("--dry-run", "Preview redaction impact without writing item/history files").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the redaction marker entry").option("--force", "Force ownership/lock override").description("Redact sensitive literals/patterns from an item history stream and recompute hashes.").action(async (id, options, command) => {
799
799
  const globalOptions = getGlobalOptions(command);
800
800
  const startedAt = Date.now();
801
- const { runHistoryRedact } = await import("./history-redact-SPIFIXVY.js");
801
+ const { runHistoryRedact } = await import("./history-redact-GV633Z4H.js");
802
802
  const literal = Array.isArray(options.literal) ? options.literal : void 0;
803
803
  const regex = Array.isArray(options.regex) ? options.regex : void 0;
804
804
  const result = await runHistoryRedact(id, {
@@ -821,7 +821,7 @@ function registerMutationCommands(program) {
821
821
  program.command("history-repair").argument("[id]", "Item id (omit with --all)").option("--all", "Scan every stream for drift and repair each drifted stream in one audited pass").option("--dry-run", "Preview the re-anchor impact without writing the history file").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the repair marker entry").option("--force", "Force ownership/lock override").description("Re-anchor a drifted item history chain (recompute hashes, reconcile with the on-disk item) and record an audit marker. Use --all to repair every drifted stream.").action(async (id, options, command) => {
822
822
  const globalOptions = getGlobalOptions(command);
823
823
  const startedAt = Date.now();
824
- const { runHistoryRepair, runHistoryRepairAll, assertHistoryRepairTarget } = await import("./history-repair-7DSDRPMX.js");
824
+ const { runHistoryRepair, runHistoryRepairAll, assertHistoryRepairTarget } = await import("./history-repair-X57HE5EA.js");
825
825
  const all = options.all === true;
826
826
  assertHistoryRepairTarget(id, all);
827
827
  const repairOptions = {
@@ -847,7 +847,7 @@ function registerMutationCommands(program) {
847
847
  program.command("history-compact").argument("[id]", "Item id (omit when using a bulk selector)").option("--before <value>", "Compact entries strictly before this version number or ISO timestamp (single-id mode only)").option("--ids <value>", "Bulk: compact an explicit comma-separated list of item ids").option("--all-over <n>", "Bulk: compact every stream with more than N entries").option("--closed", "Bulk: compact only closed (terminal) items' streams").option("--all-streams", "Bulk: compact every history stream regardless of lifecycle state").option("--min-entries <n>", "Bulk: skip streams with at most N entries (already compact; default 3)").option("--dry-run", "Preview compaction impact without writing the history file").option("--author <value>", "Mutation author").option("--message <value>", "Audit history message for the compaction marker entry").option("--force", "Force ownership/lock override").description("Compact item history streams into a synthetic baseline plus retained tail entries. Pass an item id for one stream, or a bulk selector (--ids/--all-over/--closed/--all-streams) to compact many.").action(async (id, options, command) => {
848
848
  const globalOptions = getGlobalOptions(command);
849
849
  const startedAt = Date.now();
850
- const { runHistoryCompact, runHistoryCompactBulk, assertHistoryCompactTarget } = await import("./history-compact-MMQC7MCW.js");
850
+ const { runHistoryCompact, runHistoryCompactBulk, assertHistoryCompactTarget } = await import("./history-compact-HXF3OT7G.js");
851
851
  const parseNonNegativeIntFlag = (raw, flag) => {
852
852
  if (typeof raw !== "string") {
853
853
  return void 0;
@@ -903,7 +903,7 @@ function registerMutationCommands(program) {
903
903
  schemaCommand.action(async (subcommand, name, options, command) => {
904
904
  const globalOptions = getGlobalOptions(command);
905
905
  const startedAt = Date.now();
906
- const schemaModule = await import("./schema-DXQRIEFM.js");
906
+ const schemaModule = await import("./schema-TA3NF3RG.js");
907
907
  const { SCHEMA_SUBCOMMANDS } = schemaModule;
908
908
  let normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
909
909
  let typeName = name;
@@ -996,7 +996,7 @@ function registerMutationCommands(program) {
996
996
  throw new PmCliError("Specify comment text with exactly one source: positional [text], --add, --stdin, or --file", EXIT_CODE.USAGE);
997
997
  }
998
998
  const add = addFromOption ?? addFromPositional;
999
- const { runComments } = await import("./comments-X7M7XM6I.js");
999
+ const { runComments } = await import("./comments-URWDZP2I.js");
1000
1000
  const result = await runComments(id, {
1001
1001
  add,
1002
1002
  stdin: readFromStdin,
@@ -1027,7 +1027,7 @@ function registerMutationCommands(program) {
1027
1027
  throw new PmCliError("Specify note text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
1028
1028
  }
1029
1029
  const add = addFromOption ?? addFromPositional;
1030
- const { runNotes } = await import("./notes-7VLTHKPW.js");
1030
+ const { runNotes } = await import("./notes-WQAP67EC.js");
1031
1031
  const result = await runNotes(id, {
1032
1032
  add,
1033
1033
  limit: typeof options.limit === "string" ? options.limit : void 0,
@@ -1053,7 +1053,7 @@ function registerMutationCommands(program) {
1053
1053
  throw new PmCliError("Specify learning text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
1054
1054
  }
1055
1055
  const add = addFromOption ?? addFromPositional;
1056
- const { runLearnings } = await import("./learnings-A6DGBMG3.js");
1056
+ const { runLearnings } = await import("./learnings-FPG7WAVW.js");
1057
1057
  const result = await runLearnings(id, {
1058
1058
  add,
1059
1059
  limit: typeof options.limit === "string" ? options.limit : void 0,
@@ -1078,7 +1078,7 @@ function registerMutationCommands(program) {
1078
1078
  const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
1079
1079
  const removeValues = Array.isArray(options.remove) ? options.remove : [];
1080
1080
  const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
1081
- const { runFiles } = await import("./files-UAZFB3EA.js");
1081
+ const { runFiles } = await import("./files-AJOGTTAN.js");
1082
1082
  const result = await runFiles(id, {
1083
1083
  add: addValues,
1084
1084
  addGlob: addGlobValues,
@@ -1105,7 +1105,7 @@ function registerMutationCommands(program) {
1105
1105
  const globalOptions = getGlobalOptions(command);
1106
1106
  const startedAt = Date.now();
1107
1107
  const mergedOptions = { ...command.optsWithGlobals(), ...options };
1108
- const { runFilesDiscover } = await import("./files-UAZFB3EA.js");
1108
+ const { runFilesDiscover } = await import("./files-AJOGTTAN.js");
1109
1109
  const result = await runFilesDiscover(id, {
1110
1110
  apply: Boolean(mergedOptions.apply),
1111
1111
  note: typeof mergedOptions.note === "string" ? mergedOptions.note : void 0,
@@ -1129,7 +1129,7 @@ function registerMutationCommands(program) {
1129
1129
  const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
1130
1130
  const removeValues = Array.isArray(options.remove) ? options.remove : [];
1131
1131
  const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
1132
- const { runDocs } = await import("./docs-3FXRDYA7.js");
1132
+ const { runDocs } = await import("./docs-UWJ75CKR.js");
1133
1133
  const result = await runDocs(id, {
1134
1134
  add: addValues,
1135
1135
  addGlob: addGlobValues,
@@ -1154,7 +1154,7 @@ function registerMutationCommands(program) {
1154
1154
  program.command("deps").argument("<id>", "Item id").option("--format <value>", "Output format (tree or graph)", "tree").option("--max-depth <value>", "Maximum dependency traversal depth (0 keeps only the root)").option("--collapse <value>", "Collapse mode (none or repeated)", "none").option("--summary", "Return counts only without full tree/graph payload").description("Show dependency relationships for an item.").action(async (id, options, command) => {
1155
1155
  const globalOptions = getGlobalOptions(command);
1156
1156
  const startedAt = Date.now();
1157
- const { runDeps } = await import("./deps-K2I7QV4Y.js");
1157
+ const { runDeps } = await import("./deps-SJCEFU3C.js");
1158
1158
  const result = await runDeps(id, {
1159
1159
  format: options.format,
1160
1160
  maxDepth: typeof options.maxDepth === "string" ? options.maxDepth : void 0,
@@ -1174,4 +1174,4 @@ export {
1174
1174
  registerCommanderOptionContracts,
1175
1175
  registerMutationCommands
1176
1176
  };
1177
- //# sourceMappingURL=register-mutation-RXRX4P7D.js.map
1177
+ //# sourceMappingURL=register-mutation-PLFHAS4N.js.map