@unbrained/pm-cli 2026.6.9 → 2026.6.11

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 (529) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +59 -0
  3. package/README.md +1 -1
  4. package/dist/cli/bootstrap-args.d.ts +11 -0
  5. package/dist/cli/bootstrap-args.js +90 -4
  6. package/dist/cli/bootstrap-args.js.map +1 -1
  7. package/dist/cli/commands/aggregate.d.ts +7 -0
  8. package/dist/cli/commands/aggregate.js +53 -12
  9. package/dist/cli/commands/aggregate.js.map +1 -1
  10. package/dist/cli/commands/close.d.ts +1 -0
  11. package/dist/cli/commands/close.js +106 -3
  12. package/dist/cli/commands/close.js.map +1 -1
  13. package/dist/cli/commands/completion.js +20 -7
  14. package/dist/cli/commands/completion.js.map +1 -1
  15. package/dist/cli/commands/context.d.ts +9 -0
  16. package/dist/cli/commands/context.js +149 -20
  17. package/dist/cli/commands/context.js.map +1 -1
  18. package/dist/cli/commands/contracts.d.ts +2 -0
  19. package/dist/cli/commands/contracts.js +9 -2
  20. package/dist/cli/commands/contracts.js.map +1 -1
  21. package/dist/cli/commands/create.d.ts +1 -0
  22. package/dist/cli/commands/create.js +5 -3
  23. package/dist/cli/commands/create.js.map +1 -1
  24. package/dist/cli/commands/extension.js +4 -2
  25. package/dist/cli/commands/extension.js.map +1 -1
  26. package/dist/cli/commands/health.js +44 -6
  27. package/dist/cli/commands/health.js.map +1 -1
  28. package/dist/cli/commands/history.js +6 -5
  29. package/dist/cli/commands/history.js.map +1 -1
  30. package/dist/cli/commands/linked-test-parsers.d.ts +1 -0
  31. package/dist/cli/commands/linked-test-parsers.js +289 -2
  32. package/dist/cli/commands/linked-test-parsers.js.map +1 -1
  33. package/dist/cli/commands/reindex.d.ts +1 -0
  34. package/dist/cli/commands/reindex.js +33 -4
  35. package/dist/cli/commands/reindex.js.map +1 -1
  36. package/dist/cli/commands/test.d.ts +6 -0
  37. package/dist/cli/commands/test.js +46 -5
  38. package/dist/cli/commands/test.js.map +1 -1
  39. package/dist/cli/error-guidance.d.ts +8 -0
  40. package/dist/cli/error-guidance.js +102 -2
  41. package/dist/cli/error-guidance.js.map +1 -1
  42. package/dist/cli/extension-command-help.d.ts +1 -0
  43. package/dist/cli/extension-command-help.js +42 -2
  44. package/dist/cli/extension-command-help.js.map +1 -1
  45. package/dist/cli/extension-command-options.d.ts +2 -0
  46. package/dist/cli/extension-command-options.js +51 -2
  47. package/dist/cli/extension-command-options.js.map +1 -1
  48. package/dist/cli/main.js +26 -26
  49. package/dist/cli/main.js.map +1 -1
  50. package/dist/cli/register-list-query.js +3 -2
  51. package/dist/cli/register-list-query.js.map +1 -1
  52. package/dist/cli/register-mutation.js +4 -2
  53. package/dist/cli/register-mutation.js.map +1 -1
  54. package/dist/cli/register-operations.js +15 -6
  55. package/dist/cli/register-operations.js.map +1 -1
  56. package/dist/cli/registration-helpers.js +9 -2
  57. package/dist/cli/registration-helpers.js.map +1 -1
  58. package/dist/cli-bundle/chunks/{activity-RUJATACW.js → activity-XADJOG6G.js} +11 -11
  59. package/dist/cli-bundle/chunks/activity-XZIUPGZH.js +16 -0
  60. package/dist/cli-bundle/chunks/{aggregate-TT7OCHHT.js → aggregate-6OTS3AOO.js} +65 -24
  61. package/dist/cli-bundle/chunks/aggregate-6OTS3AOO.js.map +1 -0
  62. package/dist/cli-bundle/chunks/{aggregate-IQ27NFBI.js → aggregate-OD36DJU5.js} +64 -23
  63. package/dist/cli-bundle/chunks/aggregate-OD36DJU5.js.map +7 -0
  64. package/dist/cli-bundle/chunks/{append-E7AJ5RTR.js → append-JYWO4P7W.js} +8 -8
  65. package/dist/cli-bundle/chunks/{append-CWQZBUWV.js → append-KG55G7S3.js} +8 -8
  66. package/dist/cli-bundle/chunks/{chunk-LF2VNLEZ.js → chunk-3KLPFWZ4.js} +8 -8
  67. package/dist/cli-bundle/chunks/{chunk-LF2VNLEZ.js.map → chunk-3KLPFWZ4.js.map} +2 -2
  68. package/dist/cli-bundle/chunks/{chunk-ENCVPOID.js → chunk-3SLOMKCJ.js} +12 -12
  69. package/dist/cli-bundle/chunks/chunk-4HFU4UO2.js +518 -0
  70. package/dist/cli-bundle/chunks/chunk-4HFU4UO2.js.map +1 -0
  71. package/dist/cli-bundle/chunks/{chunk-F2REA7VW.js → chunk-4JCSYR6F.js} +3 -3
  72. package/dist/cli-bundle/chunks/{chunk-CAXUGAAF.js → chunk-4YFAGDRH.js} +8 -8
  73. package/dist/cli-bundle/chunks/{chunk-U3Z4OCZC.js → chunk-5SCT2JCT.js} +2 -2
  74. package/dist/cli-bundle/chunks/{chunk-NHRZSYAA.js → chunk-73ZPG2I3.js} +3 -3
  75. package/dist/cli-bundle/chunks/{chunk-D5D7VKIC.js → chunk-7IYFN5R7.js} +6 -5
  76. package/dist/cli-bundle/chunks/chunk-7IYFN5R7.js.map +1 -0
  77. package/dist/cli-bundle/chunks/{chunk-A5342JVL.js → chunk-7RIT3OCD.js} +12 -12
  78. package/dist/cli-bundle/chunks/{chunk-LU54Z4QI.js → chunk-7UGSRQCL.js} +76 -74
  79. package/dist/cli-bundle/chunks/{chunk-LU54Z4QI.js.map → chunk-7UGSRQCL.js.map} +3 -3
  80. package/dist/cli-bundle/chunks/{chunk-5JF76OJF.js → chunk-A6LXQFO7.js} +290 -25
  81. package/dist/cli-bundle/chunks/chunk-A6LXQFO7.js.map +1 -0
  82. package/dist/cli-bundle/chunks/{chunk-7CR4GAYN.js → chunk-ATEES5SX.js} +2 -2
  83. package/dist/cli-bundle/chunks/{chunk-FHUI7AXS.js → chunk-AVGHVVF7.js} +3 -3
  84. package/dist/cli-bundle/chunks/{chunk-T7B5VAKD.js → chunk-B65UUCGQ.js} +13 -6
  85. package/dist/cli-bundle/chunks/chunk-B65UUCGQ.js.map +7 -0
  86. package/dist/cli-bundle/chunks/{chunk-42IULX44.js → chunk-CCX4RSYZ.js} +2 -2
  87. package/dist/cli-bundle/chunks/{chunk-EFRHTZO4.js → chunk-CW6E4NAT.js} +8 -8
  88. package/dist/cli-bundle/chunks/{chunk-JN3BT7UY.js → chunk-DY6C42S6.js} +9 -9
  89. package/dist/cli-bundle/chunks/{chunk-PUSOAQCR.js → chunk-E5DUIJA4.js} +5 -5
  90. package/dist/cli-bundle/chunks/{chunk-E7LOIIFP.js → chunk-ESANVZF4.js} +3 -3
  91. package/dist/cli-bundle/chunks/{chunk-WQZCEEQN.js → chunk-EWFY7SLA.js} +157 -12
  92. package/dist/cli-bundle/chunks/chunk-EWFY7SLA.js.map +1 -0
  93. package/dist/cli-bundle/chunks/{chunk-YI6W2DBN.js → chunk-F75JSIOZ.js} +6 -6
  94. package/dist/cli-bundle/chunks/{chunk-6IGTNFE3.js → chunk-FDH2X65L.js} +2 -2
  95. package/dist/cli-bundle/chunks/{chunk-GPOSGWCN.js → chunk-FXRU333M.js} +68 -7
  96. package/dist/cli-bundle/chunks/chunk-FXRU333M.js.map +1 -0
  97. package/dist/cli-bundle/chunks/{chunk-C72IQIBT.js → chunk-FY4SPXSC.js} +302 -30
  98. package/dist/cli-bundle/chunks/chunk-FY4SPXSC.js.map +7 -0
  99. package/dist/cli-bundle/chunks/{chunk-TLD3UYGY.js → chunk-GKIZW7SM.js} +5 -4
  100. package/dist/cli-bundle/chunks/chunk-GKIZW7SM.js.map +7 -0
  101. package/dist/cli-bundle/chunks/{chunk-YSANBZAE.js → chunk-GWZSYR6X.js} +12 -5
  102. package/dist/cli-bundle/chunks/chunk-GWZSYR6X.js.map +7 -0
  103. package/dist/cli-bundle/chunks/{chunk-FJNJEWU4.js → chunk-HGLC63AU.js} +14 -12
  104. package/dist/cli-bundle/chunks/chunk-HGLC63AU.js.map +1 -0
  105. package/dist/cli-bundle/chunks/{chunk-RLVI7KDW.js → chunk-HHHJ2GI3.js} +163 -11
  106. package/dist/cli-bundle/chunks/chunk-HHHJ2GI3.js.map +7 -0
  107. package/dist/cli-bundle/chunks/{chunk-AVGOVJGV.js → chunk-HI7STVF2.js} +9 -9
  108. package/dist/cli-bundle/chunks/{chunk-AVGOVJGV.js.map → chunk-HI7STVF2.js.map} +1 -1
  109. package/dist/cli-bundle/chunks/{chunk-ANKG2JKL.js → chunk-I2IJY2NL.js} +12 -5
  110. package/dist/cli-bundle/chunks/chunk-I2IJY2NL.js.map +1 -0
  111. package/dist/cli-bundle/chunks/{chunk-ZPXDD6RQ.js → chunk-I53JBTJW.js} +6 -6
  112. package/dist/cli-bundle/chunks/{chunk-23WNCJBA.js → chunk-I7NYDZDV.js} +2 -2
  113. package/dist/cli-bundle/chunks/{chunk-EQ6N6IDR.js → chunk-IGVJRZ6H.js} +13 -11
  114. package/dist/cli-bundle/chunks/chunk-IGVJRZ6H.js.map +7 -0
  115. package/dist/cli-bundle/chunks/{chunk-JVMAOD54.js → chunk-IH4MBKK7.js} +14 -7
  116. package/dist/cli-bundle/chunks/chunk-IH4MBKK7.js.map +1 -0
  117. package/dist/cli-bundle/chunks/{chunk-BIRVSIM2.js → chunk-IKOH24GZ.js} +14 -14
  118. package/dist/cli-bundle/chunks/chunk-IKOH24GZ.js.map +7 -0
  119. package/dist/cli-bundle/chunks/{chunk-SAUXUI6U.js → chunk-IUKD4W6Z.js} +2 -2
  120. package/dist/cli-bundle/chunks/{chunk-3RHE76G6.js → chunk-J3GD64J2.js} +15 -15
  121. package/dist/cli-bundle/chunks/chunk-J3GD64J2.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-OT6XAMO5.js → chunk-KWAXVAXX.js} +7 -5
  123. package/dist/cli-bundle/chunks/{chunk-OT6XAMO5.js.map → chunk-KWAXVAXX.js.map} +2 -2
  124. package/dist/cli-bundle/chunks/{chunk-SD6H3RLA.js → chunk-LCSCXBGT.js} +15 -5
  125. package/dist/cli-bundle/chunks/{chunk-SD6H3RLA.js.map → chunk-LCSCXBGT.js.map} +2 -2
  126. package/dist/cli-bundle/chunks/{chunk-RKCJ2JMA.js → chunk-OASDW5UI.js} +7 -7
  127. package/dist/cli-bundle/chunks/{chunk-JEGFLKSI.js → chunk-OLKBSY4N.js} +2 -2
  128. package/dist/cli-bundle/chunks/{chunk-4LRVXVJK.js → chunk-P2PSODAQ.js} +70 -9
  129. package/dist/cli-bundle/chunks/chunk-P2PSODAQ.js.map +7 -0
  130. package/dist/cli-bundle/chunks/{chunk-XEOO6K5J.js → chunk-P5BJOMBB.js} +9 -9
  131. package/dist/cli-bundle/chunks/{chunk-P2NVFE4L.js → chunk-P5U5EOMA.js} +3 -3
  132. package/dist/cli-bundle/chunks/{chunk-AM2AXVFS.js → chunk-PSD7F7DX.js} +5 -5
  133. package/dist/cli-bundle/chunks/{chunk-VDVVOLR6.js → chunk-QJMGRZO2.js} +3 -3
  134. package/dist/cli-bundle/chunks/{chunk-7YTWXGE3.js → chunk-QKW5D45B.js} +112 -7
  135. package/dist/cli-bundle/chunks/chunk-QKW5D45B.js.map +1 -0
  136. package/dist/cli-bundle/chunks/{chunk-T7NWFVOA.js → chunk-QNJSITCX.js} +7 -7
  137. package/dist/cli-bundle/chunks/{chunk-MNXJ6YDO.js → chunk-RXAP6JL5.js} +9 -9
  138. package/dist/cli-bundle/chunks/{chunk-5MMLINZB.js → chunk-S26FESD4.js} +3 -3
  139. package/dist/cli-bundle/chunks/{chunk-I26E6XA7.js → chunk-S2ZLDYGS.js} +8 -6
  140. package/dist/cli-bundle/chunks/chunk-S2ZLDYGS.js.map +1 -0
  141. package/dist/cli-bundle/chunks/chunk-SXKNJPQ7.js +528 -0
  142. package/dist/cli-bundle/chunks/chunk-SXKNJPQ7.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{chunk-OPYA2HIU.js → chunk-TK5VZFHY.js} +7 -7
  144. package/dist/cli-bundle/chunks/{chunk-4TJWRPIH.js → chunk-TNAP7EJX.js} +2 -2
  145. package/dist/cli-bundle/chunks/{chunk-I4FGL3K2.js → chunk-UOO6BYIA.js} +16 -6
  146. package/dist/cli-bundle/chunks/chunk-UOO6BYIA.js.map +1 -0
  147. package/dist/cli-bundle/chunks/{chunk-5ATRWEZO.js → chunk-UUWGCWBU.js} +3 -3
  148. package/dist/cli-bundle/chunks/{chunk-YX5LAKFJ.js → chunk-VAOUX6TK.js} +2 -2
  149. package/dist/cli-bundle/chunks/{chunk-RMTI5R76.js → chunk-VFUZV5EB.js} +111 -6
  150. package/dist/cli-bundle/chunks/chunk-VFUZV5EB.js.map +7 -0
  151. package/dist/cli-bundle/chunks/{chunk-WCWIDJII.js → chunk-VPEAS7PS.js} +2 -2
  152. package/dist/cli-bundle/chunks/{chunk-RE2JQJZJ.js → chunk-VSRZRLG3.js} +3 -3
  153. package/dist/cli-bundle/chunks/{chunk-PW7C262O.js → chunk-WUNFKP7M.js} +2 -2
  154. package/dist/cli-bundle/chunks/{chunk-BACSNVWE.js → chunk-XJDGS74Y.js} +71 -69
  155. package/dist/cli-bundle/chunks/{chunk-BACSNVWE.js.map → chunk-XJDGS74Y.js.map} +1 -1
  156. package/dist/cli-bundle/chunks/{chunk-H37YPWLM.js → chunk-XMBI6TNW.js} +13 -7
  157. package/dist/cli-bundle/chunks/chunk-XMBI6TNW.js.map +7 -0
  158. package/dist/cli-bundle/chunks/{chunk-NUGAWYEN.js → chunk-XTKJSVWH.js} +2 -2
  159. package/dist/cli-bundle/chunks/{chunk-KDX6VC3P.js → chunk-XUC4C4PT.js} +3 -3
  160. package/dist/cli-bundle/chunks/{chunk-44JP4PYY.js → chunk-Y3YKK7CY.js} +2 -2
  161. package/dist/cli-bundle/chunks/{chunk-KTVXLI54.js → chunk-YW6Q3RYZ.js} +7 -7
  162. package/dist/cli-bundle/chunks/{chunk-I3UILOUU.js → chunk-ZLMIWZUG.js} +2 -2
  163. package/dist/cli-bundle/chunks/{chunk-FKH7K6YP.js → chunk-ZMW77VWV.js} +9 -9
  164. package/dist/cli-bundle/chunks/{chunk-NJRZIJ4N.js → chunk-ZYNJNPYD.js} +14 -8
  165. package/dist/cli-bundle/chunks/chunk-ZYNJNPYD.js.map +1 -0
  166. package/dist/cli-bundle/chunks/{claim-UXFGCF3P.js → claim-2RDYMCTP.js} +10 -10
  167. package/dist/cli-bundle/chunks/{claim-RV6WYUF7.js → claim-MJ7DZFC3.js} +10 -10
  168. package/dist/cli-bundle/chunks/close-4FMAPEMY.js +13 -0
  169. package/dist/cli-bundle/chunks/{close-O4JK2JKD.js → close-XLEKIQSW.js} +8 -8
  170. package/dist/cli-bundle/chunks/{close-many-EQO4TPIE.js → close-many-AOD4HSAZ.js} +15 -15
  171. package/dist/cli-bundle/chunks/{close-many-SRDBV3SI.js → close-many-XKAQY5CQ.js} +15 -15
  172. package/dist/cli-bundle/chunks/{comments-TTZUIB2O.js → comments-B4RWWDJT.js} +10 -10
  173. package/dist/cli-bundle/chunks/{comments-OMB7YE27.js → comments-RN5TG4ZN.js} +10 -10
  174. package/dist/cli-bundle/chunks/{config-5VPR42A6.js → config-3JXJ3XZ7.js} +8 -8
  175. package/dist/cli-bundle/chunks/{config-NNLXVGVC.js → config-FZ4UDC4B.js} +8 -8
  176. package/dist/cli-bundle/chunks/{context-4QK6GRXO.js → context-L36PIN35.js} +146 -33
  177. package/dist/cli-bundle/chunks/{context-4QK6GRXO.js.map → context-L36PIN35.js.map} +2 -2
  178. package/dist/cli-bundle/chunks/{context-4N7GYTVQ.js → context-QBPO3BFM.js} +147 -34
  179. package/dist/cli-bundle/chunks/context-QBPO3BFM.js.map +1 -0
  180. package/dist/cli-bundle/chunks/{contracts-DXCWXOSP.js → contracts-3NKWYKKU.js} +309 -6
  181. package/dist/cli-bundle/chunks/contracts-3NKWYKKU.js.map +1 -0
  182. package/dist/cli-bundle/chunks/{contracts-AOBNEBVT.js → contracts-MIXBWJIB.js} +315 -5
  183. package/dist/cli-bundle/chunks/contracts-MIXBWJIB.js.map +7 -0
  184. package/dist/cli-bundle/chunks/{copy-5NM3SVJA.js → copy-ALU5WMHA.js} +7 -7
  185. package/dist/cli-bundle/chunks/{copy-XSYEQTLA.js → copy-FWIVTLBO.js} +7 -7
  186. package/dist/cli-bundle/chunks/{create-FCCAATQV.js → create-IFA26O2I.js} +13 -13
  187. package/dist/cli-bundle/chunks/create-JVXYHYH4.js +27 -0
  188. package/dist/cli-bundle/chunks/{delete-5JFP6OG7.js → delete-IYTIYAJS.js} +7 -7
  189. package/dist/cli-bundle/chunks/{delete-PQXJQXQ7.js → delete-Y2SGJBGY.js} +7 -7
  190. package/dist/cli-bundle/chunks/{deps-S5322EOQ.js → deps-6TSPOSGU.js} +7 -7
  191. package/dist/cli-bundle/chunks/{deps-XXKBOQUA.js → deps-CZ4PTVXU.js} +7 -7
  192. package/dist/cli-bundle/chunks/{docs-C7CCVWAJ.js → docs-5WMBVQT2.js} +9 -9
  193. package/dist/cli-bundle/chunks/{docs-DZRPAW5S.js → docs-MB53UJAJ.js} +9 -9
  194. package/dist/cli-bundle/chunks/{extension-CSHP6FZX.js → extension-Q34OEWO5.js} +5 -5
  195. package/dist/cli-bundle/chunks/{extension-XNNVUVAY.js → extension-WH2FOIOZ.js} +5 -5
  196. package/dist/cli-bundle/chunks/{files-UPCNKEIZ.js → files-DLB5LJEP.js} +9 -9
  197. package/dist/cli-bundle/chunks/{files-OBWYYPKM.js → files-GVMNVLCB.js} +9 -9
  198. package/dist/cli-bundle/chunks/{gc-FA2ONELT.js → gc-2WEPW6D6.js} +3 -3
  199. package/dist/cli-bundle/chunks/{gc-KXK6KBRN.js → gc-4Z3IKHAZ.js} +3 -3
  200. package/dist/cli-bundle/chunks/{get-PNTSONGB.js → get-PCHS7RA6.js} +11 -11
  201. package/dist/cli-bundle/chunks/{get-FLHYTOBA.js → get-QARTE6BL.js} +11 -11
  202. package/dist/cli-bundle/chunks/{health-CS5RNTJX.js → health-4ZYB3IYQ.js} +47 -19
  203. package/dist/cli-bundle/chunks/health-4ZYB3IYQ.js.map +1 -0
  204. package/dist/cli-bundle/chunks/{health-KCRVYIYY.js → health-YO5LRWN4.js} +46 -18
  205. package/dist/cli-bundle/chunks/health-YO5LRWN4.js.map +7 -0
  206. package/dist/cli-bundle/chunks/{history-COQTPBEU.js → history-7WUAEWHW.js} +10 -10
  207. package/dist/cli-bundle/chunks/history-L2FQFRTU.js +20 -0
  208. package/dist/cli-bundle/chunks/{history-compact-PVS2A3FS.js → history-compact-3EJ3L2O7.js} +11 -11
  209. package/dist/cli-bundle/chunks/{history-compact-66PSRYL3.js → history-compact-LW27IPFK.js} +11 -11
  210. package/dist/cli-bundle/chunks/{history-redact-DCXAWGTF.js → history-redact-G72A4EJ4.js} +11 -11
  211. package/dist/cli-bundle/chunks/history-redact-QWQCX5DZ.js +19 -0
  212. package/dist/cli-bundle/chunks/{history-repair-SEQDFTGW.js → history-repair-KVPFJKOS.js} +11 -11
  213. package/dist/cli-bundle/chunks/{history-repair-TA3NRIFO.js → history-repair-RUGKD3YR.js} +11 -11
  214. package/dist/cli-bundle/chunks/init-4BKRHGWW.js +17 -0
  215. package/dist/cli-bundle/chunks/{init-IQJE3EKJ.js → init-S5WEGUJY.js} +9 -9
  216. package/dist/cli-bundle/chunks/{learnings-XC6EMW5E.js → learnings-HQXSSKZ5.js} +10 -10
  217. package/dist/cli-bundle/chunks/{learnings-RJPGH2ME.js → learnings-XK3P4ZDR.js} +10 -10
  218. package/dist/cli-bundle/chunks/{list-NJV6WBT4.js → list-6CL3XFT6.js} +10 -10
  219. package/dist/cli-bundle/chunks/list-BYNN4ZEO.js +19 -0
  220. package/dist/cli-bundle/chunks/{notes-2KWHADK3.js → notes-5T6P7C5V.js} +10 -10
  221. package/dist/cli-bundle/chunks/{notes-FNCDMZW2.js → notes-U5FZCSBT.js} +10 -10
  222. package/dist/cli-bundle/chunks/{plan-CYK2P5PD.js → plan-FQLMJRLZ.js} +13 -13
  223. package/dist/cli-bundle/chunks/{plan-MQO5JTSV.js → plan-VNUG3WZZ.js} +13 -13
  224. package/dist/cli-bundle/chunks/{register-list-query-6RA24SIZ.js → register-list-query-NPE3ECJQ.js} +21 -21
  225. package/dist/cli-bundle/chunks/register-list-query-NPE3ECJQ.js.map +1 -0
  226. package/dist/cli-bundle/chunks/{register-list-query-IO3RR5K6.js → register-list-query-VHDXWEPP.js} +20 -20
  227. package/dist/cli-bundle/chunks/register-list-query-VHDXWEPP.js.map +7 -0
  228. package/dist/cli-bundle/chunks/{register-mutation-VV2SC2KL.js → register-mutation-DG53FCBV.js} +36 -35
  229. package/dist/cli-bundle/chunks/register-mutation-DG53FCBV.js.map +1 -0
  230. package/dist/cli-bundle/chunks/{register-mutation-KVFUXCAZ.js → register-mutation-EAYNLGOS.js} +35 -34
  231. package/dist/cli-bundle/chunks/register-mutation-EAYNLGOS.js.map +7 -0
  232. package/dist/cli-bundle/chunks/{register-operations-DFNVRSJ5.js → register-operations-AM6KTWB6.js} +42 -37
  233. package/dist/cli-bundle/chunks/register-operations-AM6KTWB6.js.map +1 -0
  234. package/dist/cli-bundle/chunks/{register-operations-TAUUTRJ4.js → register-operations-FWFE64JG.js} +41 -36
  235. package/dist/cli-bundle/chunks/register-operations-FWFE64JG.js.map +7 -0
  236. package/dist/cli-bundle/chunks/{register-setup-X2R5CFDV.js → register-setup-G4QYI3RX.js} +15 -15
  237. package/dist/cli-bundle/chunks/{register-setup-GAQZZRUA.js → register-setup-IKX5524L.js} +15 -15
  238. package/dist/cli-bundle/chunks/restore-CHIOQAQL.js +17 -0
  239. package/dist/cli-bundle/chunks/{restore-E3GZKRRK.js → restore-M6AFHMV4.js} +11 -11
  240. package/dist/cli-bundle/chunks/{schema-3CPFLDAY.js → schema-76HDZJCC.js} +8 -8
  241. package/dist/cli-bundle/chunks/{schema-7EHBPNXM.js → schema-AINZ2IMM.js} +8 -8
  242. package/dist/cli-bundle/chunks/{search-OBZVYJJ2.js → search-JMLFQEPJ.js} +10 -10
  243. package/dist/cli-bundle/chunks/{search-2T3NCCUR.js → search-NL3TSCYB.js} +10 -10
  244. package/dist/cli-bundle/chunks/{stats-6LVK4JER.js → stats-BKXCBIGT.js} +7 -7
  245. package/dist/cli-bundle/chunks/{stats-ULGQACF7.js → stats-UBD56TGK.js} +7 -7
  246. package/dist/cli-bundle/chunks/{telemetry-HHKRTMZA.js → telemetry-N454RHG5.js} +4 -4
  247. package/dist/cli-bundle/chunks/{telemetry-6G27FLCP.js → telemetry-ZJXK3H7X.js} +4 -4
  248. package/dist/cli-bundle/chunks/{test-2PP4YBV6.js → test-BQAKIXAT.js} +14 -14
  249. package/dist/cli-bundle/chunks/test-O74JFUH5.js +32 -0
  250. package/dist/cli-bundle/chunks/{test-all-6Z272JRI.js → test-all-7LV3I6S5.js} +14 -14
  251. package/dist/cli-bundle/chunks/{test-all-NETGVNM6.js → test-all-TDYCCBA4.js} +14 -14
  252. package/dist/cli-bundle/chunks/{test-runs-M24WA6TI.js → test-runs-E64M6XS3.js} +5 -5
  253. package/dist/cli-bundle/chunks/{test-runs-CRPQVMMG.js → test-runs-LXZLULCI.js} +5 -5
  254. package/dist/cli-bundle/chunks/update-2EVXOC7V.js +21 -0
  255. package/dist/cli-bundle/chunks/update-5A2B6QYB.js +25 -0
  256. package/dist/cli-bundle/chunks/{update-many-JSRF5EH5.js → update-many-TUGU5YXQ.js} +22 -22
  257. package/dist/cli-bundle/chunks/{update-many-Y3HOL7WA.js → update-many-V4LA3C4H.js} +22 -22
  258. package/dist/cli-bundle/chunks/{upgrade-5RTQVKKE.js → upgrade-37F7JKES.js} +5 -5
  259. package/dist/cli-bundle/chunks/{upgrade-ECB6GH3M.js → upgrade-L32JA4TZ.js} +5 -5
  260. package/dist/cli-bundle/chunks/{validate-MCNMAXVA.js → validate-EQTT6WVX.js} +16 -16
  261. package/dist/cli-bundle/chunks/{validate-J6Q444SD.js → validate-XN4I4DPL.js} +16 -16
  262. package/dist/cli-bundle/main.js +276 -47
  263. package/dist/cli-bundle/main.js.map +2 -2
  264. package/dist/core/diagnostics/remediation.js +12 -2
  265. package/dist/core/diagnostics/remediation.js.map +1 -1
  266. package/dist/core/extensions/extension-policy.d.ts +14 -1
  267. package/dist/core/extensions/extension-policy.js +38 -3
  268. package/dist/core/extensions/extension-policy.js.map +1 -1
  269. package/dist/core/extensions/extension-types.d.ts +40 -1
  270. package/dist/core/extensions/extension-types.js +28 -2
  271. package/dist/core/extensions/extension-types.js.map +1 -1
  272. package/dist/core/extensions/loader.d.ts +6 -4
  273. package/dist/core/extensions/loader.js +67 -14
  274. package/dist/core/extensions/loader.js.map +1 -1
  275. package/dist/core/history/replay.d.ts +1 -1
  276. package/dist/core/history/replay.js +13 -4
  277. package/dist/core/history/replay.js.map +1 -1
  278. package/dist/core/output/mutation-projection.d.ts +2 -0
  279. package/dist/core/output/mutation-projection.js +9 -2
  280. package/dist/core/output/mutation-projection.js.map +1 -1
  281. package/dist/core/output/output.d.ts +2 -0
  282. package/dist/core/output/output.js +7 -3
  283. package/dist/core/output/output.js.map +1 -1
  284. package/dist/core/output/query-summary.d.ts +31 -0
  285. package/dist/core/output/query-summary.js +62 -0
  286. package/dist/core/output/query-summary.js.map +1 -0
  287. package/dist/core/shared/command-types.d.ts +1 -0
  288. package/dist/core/shared/command-types.js +2 -2
  289. package/dist/core/shared/command-types.js.map +1 -1
  290. package/dist/core/shared/constants.js +8 -4
  291. package/dist/core/shared/constants.js.map +1 -1
  292. package/dist/core/store/item-store.d.ts +1 -1
  293. package/dist/core/store/item-store.js +3 -3
  294. package/dist/core/store/item-store.js.map +1 -1
  295. package/dist/core/store/settings-read-cache.d.ts +15 -0
  296. package/dist/core/store/settings-read-cache.js +72 -0
  297. package/dist/core/store/settings-read-cache.js.map +1 -0
  298. package/dist/core/store/settings-validator.d.ts +4 -1
  299. package/dist/core/store/settings-validator.js +14 -2
  300. package/dist/core/store/settings-validator.js.map +1 -1
  301. package/dist/core/store/settings.js +166 -16
  302. package/dist/core/store/settings.js.map +1 -1
  303. package/dist/core/telemetry/runtime.d.ts +1 -0
  304. package/dist/core/telemetry/runtime.js +3 -3
  305. package/dist/core/telemetry/runtime.js.map +1 -1
  306. package/dist/core/test/run-selectors.d.ts +27 -0
  307. package/dist/core/test/run-selectors.js +110 -0
  308. package/dist/core/test/run-selectors.js.map +1 -0
  309. package/dist/mcp/server.js +76 -262
  310. package/dist/mcp/server.js.map +1 -1
  311. package/dist/mcp/tool-definitions.d.ts +27 -0
  312. package/dist/mcp/tool-definitions.js +330 -0
  313. package/dist/mcp/tool-definitions.js.map +1 -0
  314. package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -2
  315. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  316. package/dist/sdk/cli-contracts/tool-option-contracts.js +3 -2
  317. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  318. package/dist/sdk/cli-contracts/tool-parameter-tables.js +29 -2
  319. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  320. package/dist/sdk/cli-contracts.js +37 -5
  321. package/dist/sdk/cli-contracts.js.map +1 -1
  322. package/dist/sdk/index.d.ts +1 -1
  323. package/dist/sdk/index.js +2 -2
  324. package/dist/sdk/index.js.map +1 -1
  325. package/dist/sdk/runtime.d.ts +6 -0
  326. package/dist/sdk/runtime.js +51 -3
  327. package/dist/sdk/runtime.js.map +1 -1
  328. package/dist/types.d.ts +4 -1
  329. package/dist/types.js +4 -2
  330. package/dist/types.js.map +1 -1
  331. package/docs/AGENT_GUIDE.md +7 -1
  332. package/docs/ARCHITECTURE.md +7 -0
  333. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  334. package/docs/COMMANDS.md +38 -3
  335. package/docs/CONFIGURATION.md +1 -1
  336. package/docs/EXTENSIONS.md +55 -53
  337. package/docs/SDK.md +8 -2
  338. package/docs/TESTING.md +60 -0
  339. package/docs/schemas/extension-manifest.schema.json +120 -0
  340. package/marketplace.json +1 -1
  341. package/package.json +2 -2
  342. package/packages/pm-beads/extensions/beads/manifest.json +10 -0
  343. package/packages/pm-calendar/extensions/calendar/manifest.json +10 -0
  344. package/packages/pm-command-kit/README.md +72 -0
  345. package/packages/pm-command-kit/extensions/command-kit/index.js +181 -0
  346. package/packages/pm-command-kit/extensions/command-kit/index.ts +176 -0
  347. package/packages/pm-command-kit/extensions/command-kit/manifest.json +22 -0
  348. package/packages/pm-command-kit/package.json +53 -0
  349. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +10 -0
  350. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +10 -0
  351. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +10 -0
  352. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +10 -0
  353. package/packages/pm-search-advanced/extensions/search-advanced/index.js +6 -0
  354. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +6 -0
  355. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +10 -0
  356. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +1 -0
  357. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -0
  358. package/packages/pm-templates/extensions/templates/manifest.json +10 -0
  359. package/packages/pm-todos/extensions/todos/manifest.json +10 -0
  360. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  361. package/plugins/pm-claude/README.md +7 -3
  362. package/plugins/pm-claude/commands/pm-init.md +1 -1
  363. package/plugins/pm-codex/README.md +2 -2
  364. package/dist/cli-bundle/chunks/activity-HF3VJYKH.js +0 -16
  365. package/dist/cli-bundle/chunks/aggregate-IQ27NFBI.js.map +0 -7
  366. package/dist/cli-bundle/chunks/aggregate-TT7OCHHT.js.map +0 -1
  367. package/dist/cli-bundle/chunks/chunk-3RHE76G6.js.map +0 -1
  368. package/dist/cli-bundle/chunks/chunk-4LRVXVJK.js.map +0 -7
  369. package/dist/cli-bundle/chunks/chunk-5JF76OJF.js.map +0 -1
  370. package/dist/cli-bundle/chunks/chunk-7YTWXGE3.js.map +0 -1
  371. package/dist/cli-bundle/chunks/chunk-ANKG2JKL.js.map +0 -1
  372. package/dist/cli-bundle/chunks/chunk-BIRVSIM2.js.map +0 -7
  373. package/dist/cli-bundle/chunks/chunk-C72IQIBT.js.map +0 -7
  374. package/dist/cli-bundle/chunks/chunk-D5D7VKIC.js.map +0 -1
  375. package/dist/cli-bundle/chunks/chunk-EQ6N6IDR.js.map +0 -7
  376. package/dist/cli-bundle/chunks/chunk-FJNJEWU4.js.map +0 -1
  377. package/dist/cli-bundle/chunks/chunk-GPOSGWCN.js.map +0 -1
  378. package/dist/cli-bundle/chunks/chunk-H37YPWLM.js.map +0 -7
  379. package/dist/cli-bundle/chunks/chunk-I26E6XA7.js.map +0 -1
  380. package/dist/cli-bundle/chunks/chunk-I4FGL3K2.js.map +0 -1
  381. package/dist/cli-bundle/chunks/chunk-JVMAOD54.js.map +0 -1
  382. package/dist/cli-bundle/chunks/chunk-LU2HE272.js +0 -242
  383. package/dist/cli-bundle/chunks/chunk-LU2HE272.js.map +0 -1
  384. package/dist/cli-bundle/chunks/chunk-NJRZIJ4N.js.map +0 -1
  385. package/dist/cli-bundle/chunks/chunk-O4L7Z6LB.js +0 -252
  386. package/dist/cli-bundle/chunks/chunk-O4L7Z6LB.js.map +0 -7
  387. package/dist/cli-bundle/chunks/chunk-RLVI7KDW.js.map +0 -7
  388. package/dist/cli-bundle/chunks/chunk-RMTI5R76.js.map +0 -7
  389. package/dist/cli-bundle/chunks/chunk-T7B5VAKD.js.map +0 -7
  390. package/dist/cli-bundle/chunks/chunk-TLD3UYGY.js.map +0 -7
  391. package/dist/cli-bundle/chunks/chunk-WQZCEEQN.js.map +0 -1
  392. package/dist/cli-bundle/chunks/chunk-YSANBZAE.js.map +0 -7
  393. package/dist/cli-bundle/chunks/close-JTTGW7TS.js +0 -13
  394. package/dist/cli-bundle/chunks/context-4N7GYTVQ.js.map +0 -1
  395. package/dist/cli-bundle/chunks/contracts-AOBNEBVT.js.map +0 -7
  396. package/dist/cli-bundle/chunks/contracts-DXCWXOSP.js.map +0 -1
  397. package/dist/cli-bundle/chunks/create-JAPLFDGJ.js +0 -27
  398. package/dist/cli-bundle/chunks/health-CS5RNTJX.js.map +0 -1
  399. package/dist/cli-bundle/chunks/health-KCRVYIYY.js.map +0 -7
  400. package/dist/cli-bundle/chunks/history-6624XISO.js +0 -20
  401. package/dist/cli-bundle/chunks/history-redact-ZRQTI7NB.js +0 -19
  402. package/dist/cli-bundle/chunks/init-ZVE2HMKK.js +0 -17
  403. package/dist/cli-bundle/chunks/list-OO5P472O.js +0 -19
  404. package/dist/cli-bundle/chunks/register-list-query-6RA24SIZ.js.map +0 -1
  405. package/dist/cli-bundle/chunks/register-list-query-IO3RR5K6.js.map +0 -7
  406. package/dist/cli-bundle/chunks/register-mutation-KVFUXCAZ.js.map +0 -7
  407. package/dist/cli-bundle/chunks/register-mutation-VV2SC2KL.js.map +0 -1
  408. package/dist/cli-bundle/chunks/register-operations-DFNVRSJ5.js.map +0 -1
  409. package/dist/cli-bundle/chunks/register-operations-TAUUTRJ4.js.map +0 -7
  410. package/dist/cli-bundle/chunks/restore-F4ALFV4D.js +0 -17
  411. package/dist/cli-bundle/chunks/test-PPOLRIBA.js +0 -32
  412. package/dist/cli-bundle/chunks/update-MCPCPMHV.js +0 -25
  413. package/dist/cli-bundle/chunks/update-O7TBOUVQ.js +0 -21
  414. /package/dist/cli-bundle/chunks/{activity-RUJATACW.js.map → activity-XADJOG6G.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{activity-HF3VJYKH.js.map → activity-XZIUPGZH.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{append-E7AJ5RTR.js.map → append-JYWO4P7W.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{append-CWQZBUWV.js.map → append-KG55G7S3.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{chunk-ENCVPOID.js.map → chunk-3SLOMKCJ.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{chunk-F2REA7VW.js.map → chunk-4JCSYR6F.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{chunk-CAXUGAAF.js.map → chunk-4YFAGDRH.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{chunk-U3Z4OCZC.js.map → chunk-5SCT2JCT.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{chunk-NHRZSYAA.js.map → chunk-73ZPG2I3.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{chunk-A5342JVL.js.map → chunk-7RIT3OCD.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{chunk-7CR4GAYN.js.map → chunk-ATEES5SX.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{chunk-FHUI7AXS.js.map → chunk-AVGHVVF7.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{chunk-42IULX44.js.map → chunk-CCX4RSYZ.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{chunk-EFRHTZO4.js.map → chunk-CW6E4NAT.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{chunk-JN3BT7UY.js.map → chunk-DY6C42S6.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{chunk-PUSOAQCR.js.map → chunk-E5DUIJA4.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{chunk-E7LOIIFP.js.map → chunk-ESANVZF4.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{chunk-YI6W2DBN.js.map → chunk-F75JSIOZ.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{chunk-6IGTNFE3.js.map → chunk-FDH2X65L.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{chunk-ZPXDD6RQ.js.map → chunk-I53JBTJW.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{chunk-23WNCJBA.js.map → chunk-I7NYDZDV.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{chunk-SAUXUI6U.js.map → chunk-IUKD4W6Z.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{chunk-RKCJ2JMA.js.map → chunk-OASDW5UI.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{chunk-JEGFLKSI.js.map → chunk-OLKBSY4N.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{chunk-XEOO6K5J.js.map → chunk-P5BJOMBB.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{chunk-P2NVFE4L.js.map → chunk-P5U5EOMA.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{chunk-AM2AXVFS.js.map → chunk-PSD7F7DX.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{chunk-VDVVOLR6.js.map → chunk-QJMGRZO2.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{chunk-T7NWFVOA.js.map → chunk-QNJSITCX.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{chunk-MNXJ6YDO.js.map → chunk-RXAP6JL5.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{chunk-5MMLINZB.js.map → chunk-S26FESD4.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{chunk-OPYA2HIU.js.map → chunk-TK5VZFHY.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{chunk-4TJWRPIH.js.map → chunk-TNAP7EJX.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{chunk-5ATRWEZO.js.map → chunk-UUWGCWBU.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{chunk-YX5LAKFJ.js.map → chunk-VAOUX6TK.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{chunk-WCWIDJII.js.map → chunk-VPEAS7PS.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{chunk-RE2JQJZJ.js.map → chunk-VSRZRLG3.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{chunk-PW7C262O.js.map → chunk-WUNFKP7M.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{chunk-NUGAWYEN.js.map → chunk-XTKJSVWH.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{chunk-KDX6VC3P.js.map → chunk-XUC4C4PT.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{chunk-44JP4PYY.js.map → chunk-Y3YKK7CY.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{chunk-KTVXLI54.js.map → chunk-YW6Q3RYZ.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{chunk-I3UILOUU.js.map → chunk-ZLMIWZUG.js.map} +0 -0
  457. /package/dist/cli-bundle/chunks/{chunk-FKH7K6YP.js.map → chunk-ZMW77VWV.js.map} +0 -0
  458. /package/dist/cli-bundle/chunks/{claim-UXFGCF3P.js.map → claim-2RDYMCTP.js.map} +0 -0
  459. /package/dist/cli-bundle/chunks/{claim-RV6WYUF7.js.map → claim-MJ7DZFC3.js.map} +0 -0
  460. /package/dist/cli-bundle/chunks/{close-JTTGW7TS.js.map → close-4FMAPEMY.js.map} +0 -0
  461. /package/dist/cli-bundle/chunks/{close-O4JK2JKD.js.map → close-XLEKIQSW.js.map} +0 -0
  462. /package/dist/cli-bundle/chunks/{close-many-EQO4TPIE.js.map → close-many-AOD4HSAZ.js.map} +0 -0
  463. /package/dist/cli-bundle/chunks/{close-many-SRDBV3SI.js.map → close-many-XKAQY5CQ.js.map} +0 -0
  464. /package/dist/cli-bundle/chunks/{comments-TTZUIB2O.js.map → comments-B4RWWDJT.js.map} +0 -0
  465. /package/dist/cli-bundle/chunks/{comments-OMB7YE27.js.map → comments-RN5TG4ZN.js.map} +0 -0
  466. /package/dist/cli-bundle/chunks/{config-5VPR42A6.js.map → config-3JXJ3XZ7.js.map} +0 -0
  467. /package/dist/cli-bundle/chunks/{config-NNLXVGVC.js.map → config-FZ4UDC4B.js.map} +0 -0
  468. /package/dist/cli-bundle/chunks/{copy-5NM3SVJA.js.map → copy-ALU5WMHA.js.map} +0 -0
  469. /package/dist/cli-bundle/chunks/{copy-XSYEQTLA.js.map → copy-FWIVTLBO.js.map} +0 -0
  470. /package/dist/cli-bundle/chunks/{create-FCCAATQV.js.map → create-IFA26O2I.js.map} +0 -0
  471. /package/dist/cli-bundle/chunks/{create-JAPLFDGJ.js.map → create-JVXYHYH4.js.map} +0 -0
  472. /package/dist/cli-bundle/chunks/{delete-5JFP6OG7.js.map → delete-IYTIYAJS.js.map} +0 -0
  473. /package/dist/cli-bundle/chunks/{delete-PQXJQXQ7.js.map → delete-Y2SGJBGY.js.map} +0 -0
  474. /package/dist/cli-bundle/chunks/{deps-S5322EOQ.js.map → deps-6TSPOSGU.js.map} +0 -0
  475. /package/dist/cli-bundle/chunks/{deps-XXKBOQUA.js.map → deps-CZ4PTVXU.js.map} +0 -0
  476. /package/dist/cli-bundle/chunks/{docs-C7CCVWAJ.js.map → docs-5WMBVQT2.js.map} +0 -0
  477. /package/dist/cli-bundle/chunks/{docs-DZRPAW5S.js.map → docs-MB53UJAJ.js.map} +0 -0
  478. /package/dist/cli-bundle/chunks/{extension-CSHP6FZX.js.map → extension-Q34OEWO5.js.map} +0 -0
  479. /package/dist/cli-bundle/chunks/{extension-XNNVUVAY.js.map → extension-WH2FOIOZ.js.map} +0 -0
  480. /package/dist/cli-bundle/chunks/{files-UPCNKEIZ.js.map → files-DLB5LJEP.js.map} +0 -0
  481. /package/dist/cli-bundle/chunks/{files-OBWYYPKM.js.map → files-GVMNVLCB.js.map} +0 -0
  482. /package/dist/cli-bundle/chunks/{gc-FA2ONELT.js.map → gc-2WEPW6D6.js.map} +0 -0
  483. /package/dist/cli-bundle/chunks/{gc-KXK6KBRN.js.map → gc-4Z3IKHAZ.js.map} +0 -0
  484. /package/dist/cli-bundle/chunks/{get-PNTSONGB.js.map → get-PCHS7RA6.js.map} +0 -0
  485. /package/dist/cli-bundle/chunks/{get-FLHYTOBA.js.map → get-QARTE6BL.js.map} +0 -0
  486. /package/dist/cli-bundle/chunks/{history-COQTPBEU.js.map → history-7WUAEWHW.js.map} +0 -0
  487. /package/dist/cli-bundle/chunks/{history-6624XISO.js.map → history-L2FQFRTU.js.map} +0 -0
  488. /package/dist/cli-bundle/chunks/{history-compact-PVS2A3FS.js.map → history-compact-3EJ3L2O7.js.map} +0 -0
  489. /package/dist/cli-bundle/chunks/{history-compact-66PSRYL3.js.map → history-compact-LW27IPFK.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{history-redact-DCXAWGTF.js.map → history-redact-G72A4EJ4.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{history-redact-ZRQTI7NB.js.map → history-redact-QWQCX5DZ.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{history-repair-SEQDFTGW.js.map → history-repair-KVPFJKOS.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{history-repair-TA3NRIFO.js.map → history-repair-RUGKD3YR.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{init-ZVE2HMKK.js.map → init-4BKRHGWW.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{init-IQJE3EKJ.js.map → init-S5WEGUJY.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{learnings-XC6EMW5E.js.map → learnings-HQXSSKZ5.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{learnings-RJPGH2ME.js.map → learnings-XK3P4ZDR.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{list-NJV6WBT4.js.map → list-6CL3XFT6.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{list-OO5P472O.js.map → list-BYNN4ZEO.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{notes-2KWHADK3.js.map → notes-5T6P7C5V.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{notes-FNCDMZW2.js.map → notes-U5FZCSBT.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{plan-CYK2P5PD.js.map → plan-FQLMJRLZ.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{plan-MQO5JTSV.js.map → plan-VNUG3WZZ.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{register-setup-X2R5CFDV.js.map → register-setup-G4QYI3RX.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{register-setup-GAQZZRUA.js.map → register-setup-IKX5524L.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{restore-F4ALFV4D.js.map → restore-CHIOQAQL.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{restore-E3GZKRRK.js.map → restore-M6AFHMV4.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{schema-3CPFLDAY.js.map → schema-76HDZJCC.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{schema-7EHBPNXM.js.map → schema-AINZ2IMM.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{search-OBZVYJJ2.js.map → search-JMLFQEPJ.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{search-2T3NCCUR.js.map → search-NL3TSCYB.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{stats-6LVK4JER.js.map → stats-BKXCBIGT.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{stats-ULGQACF7.js.map → stats-UBD56TGK.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{telemetry-HHKRTMZA.js.map → telemetry-N454RHG5.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{telemetry-6G27FLCP.js.map → telemetry-ZJXK3H7X.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{test-2PP4YBV6.js.map → test-BQAKIXAT.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{test-PPOLRIBA.js.map → test-O74JFUH5.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{test-all-6Z272JRI.js.map → test-all-7LV3I6S5.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{test-all-NETGVNM6.js.map → test-all-TDYCCBA4.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{test-runs-M24WA6TI.js.map → test-runs-E64M6XS3.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{test-runs-CRPQVMMG.js.map → test-runs-LXZLULCI.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{update-O7TBOUVQ.js.map → update-2EVXOC7V.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{update-MCPCPMHV.js.map → update-5A2B6QYB.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{update-many-JSRF5EH5.js.map → update-many-TUGU5YXQ.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{update-many-Y3HOL7WA.js.map → update-many-V4LA3C4H.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{upgrade-5RTQVKKE.js.map → upgrade-37F7JKES.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{upgrade-ECB6GH3M.js.map → upgrade-L32JA4TZ.js.map} +0 -0
  528. /package/dist/cli-bundle/chunks/{validate-MCNMAXVA.js.map → validate-EQTT6WVX.js.map} +0 -0
  529. /package/dist/cli-bundle/chunks/{validate-J6Q444SD.js.map → validate-XN4I4DPL.js.map} +0 -0
@@ -9,30 +9,30 @@ import {
9
9
  printActivityJsonStream,
10
10
  printListJsonStream,
11
11
  resolveActivityStreamMode
12
- } from "./chunk-T7B5VAKD.js";
13
- import "./chunk-4LRVXVJK.js";
14
- import "./chunk-LU54Z4QI.js";
12
+ } from "./chunk-B65UUCGQ.js";
13
+ import "./chunk-P2PSODAQ.js";
14
+ import "./chunk-7UGSRQCL.js";
15
15
  import {
16
16
  printError,
17
17
  printResult,
18
18
  writeStdout
19
- } from "./chunk-YSANBZAE.js";
20
- import "./chunk-LF2VNLEZ.js";
21
- import "./chunk-WCWIDJII.js";
22
- import "./chunk-NHRZSYAA.js";
23
- import "./chunk-U3Z4OCZC.js";
24
- import "./chunk-SAUXUI6U.js";
19
+ } from "./chunk-GWZSYR6X.js";
20
+ import "./chunk-3KLPFWZ4.js";
21
+ import "./chunk-VPEAS7PS.js";
22
+ import "./chunk-73ZPG2I3.js";
23
+ import "./chunk-5SCT2JCT.js";
24
+ import "./chunk-IUKD4W6Z.js";
25
25
  import {
26
26
  EXIT_CODE,
27
27
  PmCliError
28
- } from "./chunk-C72IQIBT.js";
28
+ } from "./chunk-FY4SPXSC.js";
29
29
 
30
30
  // dist/cli/register-list-query.js
31
31
  import { Option } from "commander";
32
32
  !(function() {
33
33
  try {
34
34
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
35
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "22e9ffa3-f42b-5e27-b24d-0fdd76bf1374");
35
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "1a7da6d3-7d1d-5d95-8092-58cac79fd747");
36
36
  } catch (e2) {
37
37
  }
38
38
  })();
@@ -65,7 +65,7 @@ function registerListQueryCommands(program, options) {
65
65
  }
66
66
  if (excludeTerminal)
67
67
  listOptions.excludeTerminal = true;
68
- const { runList } = await import("./list-OO5P472O.js");
68
+ const { runList } = await import("./list-BYNN4ZEO.js");
69
69
  const result = await runList(status, listOptions, globalOptions);
70
70
  const streamMode = options2.stream === true;
71
71
  if (streamMode && !globalOptions.json) {
@@ -109,13 +109,13 @@ function registerListQueryCommands(program, options) {
109
109
  registerListCommand("list-canceled", "List canceled items with optional filters.", "canceled");
110
110
  }
111
111
  if (shouldRegister("aggregate")) {
112
- const aggregateCommand = program.command("aggregate").description("Aggregate grouped item counts for governance queries.").option("--group-by <value>", "Comma-separated group-by fields (supported: parent,type,priority,status,assignee,tags,sprint,release)").option("--count", "Return grouped counts (default behavior)").option("--sum <field>", "Sum a numeric field per group").option("--avg <field>", "Average a numeric field per group").option("--include-unparented", "Include unparented rows when grouping by parent").option("--status <value>", "Filter by item status").option("--type <value>", "Filter by item type").option("--tag <value>", "Filter by tag").option("--priority <value>", "Filter by priority").option("--deadline-before <value>", "Filter by deadline upper bound (ISO/date string or relative)").option("--deadline-after <value>", "Filter by deadline lower bound (ISO/date string or relative)").option("--assignee <value>", "Filter by assignee").option("--assignee-filter <value>", "Filter assignee presence: assigned|unassigned").option("--parent <value>", "Filter by parent item ID").option("--sprint <value>", "Filter by sprint").option("--release <value>", "Filter by release");
112
+ const aggregateCommand = program.command("aggregate").description("Aggregate grouped item counts for governance queries.").option("--group-by <value>", "Comma-separated group-by fields (supported: parent,type,priority,status,assignee,tags,sprint,release)").option("--count", "Return grouped counts (default behavior)").option("--completion", "Add open/in_progress/closed/other counts and completion_pct per group").option("--sum <field>", "Sum a numeric field per group").option("--avg <field>", "Average a numeric field per group").option("--include-unparented", "Include unparented rows when grouping by parent").option("--status <value>", "Filter by item status").option("--type <value>", "Filter by item type").option("--tag <value>", "Filter by tag").option("--priority <value>", "Filter by priority").option("--deadline-before <value>", "Filter by deadline upper bound (ISO/date string or relative)").option("--deadline-after <value>", "Filter by deadline lower bound (ISO/date string or relative)").option("--assignee <value>", "Filter by assignee").option("--assignee-filter <value>", "Filter assignee presence: assigned|unassigned").option("--parent <value>", "Filter by parent item ID").option("--sprint <value>", "Filter by sprint").option("--release <value>", "Filter by release");
113
113
  addHiddenOption(aggregateCommand, "--include_unparented", "Alias for --include-unparented");
114
114
  addHiddenOption(aggregateCommand, "--assignee_filter <value>", "Alias for --assignee-filter");
115
115
  aggregateCommand.action(async (options2, command) => {
116
116
  const globalOptions = getGlobalOptions(command);
117
117
  const startedAt = Date.now();
118
- const { runAggregate } = await import("./aggregate-IQ27NFBI.js");
118
+ const { runAggregate } = await import("./aggregate-OD36DJU5.js");
119
119
  const result = await runAggregate(normalizeAggregateOptions(options2), globalOptions);
120
120
  printResult(result, globalOptions);
121
121
  if (globalOptions.profile) {
@@ -130,7 +130,7 @@ function registerListQueryCommands(program, options) {
130
130
  const globalOptions = getGlobalOptions(actionCommand);
131
131
  const startedAt = Date.now();
132
132
  const normalized = normalizeContextOptions(options2);
133
- const commands = await import("./context-4QK6GRXO.js");
133
+ const commands = await import("./context-L36PIN35.js");
134
134
  const result = await commands.runContext(normalized, globalOptions);
135
135
  const outputFormat = commands.resolveContextOutputFormat(normalized, globalOptions);
136
136
  if (outputFormat === "markdown") {
@@ -153,7 +153,7 @@ function registerListQueryCommands(program, options) {
153
153
  const searchCommand = program.command("search").argument("<keywords...>", "Keyword query tokens").description("Search items with keyword, semantic, or hybrid retrieval.").option("--mode <value>", "Search mode: keyword|semantic|hybrid (default: keyword)").option("--semantic", "Shorthand for --mode semantic").option("--hybrid", "Shorthand for --mode hybrid").option("--semantic-weight <value>", "Override hybrid semantic weight for this query (0..1); invalid values fall back to settings").option("--include-linked", "Include linked files, docs, and tests in the searchable corpus").option("--title-exact", "Require exact normalized title match for the full query string").option("--phrase-exact", "Require exact normalized phrase match in searchable text").option("--status <value>", "Filter by status before query (open/closed/canceled aliases or configured status id; CSV)").option("--type <value>", "Filter by item type").option("--tag <value>", "Filter by tag").option("--priority <value>", "Filter by priority").option("--deadline-before <value>", "Filter by deadline upper bound (ISO/date string or relative)").option("--deadline-after <value>", "Filter by deadline lower bound (ISO/date string or relative)").option("--compact", "Render compact search hits (default; mutually exclusive with --full/--fields)").option("--full", "Render full search hits with nested item payloads (mutually exclusive with --compact/--fields)").option("--fields <value>", "Render custom comma-separated search hit fields (mutually exclusive with --compact/--full; valid: --fields id,title,score; invalid: --full --fields id,title)").option("--limit <n>", "Limit returned item count").action(async (keywords, options2, command) => {
154
154
  const globalOptions = getGlobalOptions(command);
155
155
  const startedAt = Date.now();
156
- const { runSearch } = await import("./search-OBZVYJJ2.js");
156
+ const { runSearch } = await import("./search-JMLFQEPJ.js");
157
157
  const searchOptions = normalizeSearchOptions(options2);
158
158
  const result = await runSearch(normalizeSearchKeywordsInput(keywords), {
159
159
  ...searchOptions,
@@ -170,7 +170,7 @@ function registerListQueryCommands(program, options) {
170
170
  const getCommand = program.command("get").argument("<id>", "Item id").option("--depth <value>", "Detail depth: brief|standard|deep|full (full aliases deep; default: standard)").option("--full", "Explicit full item read; equivalent to --depth deep (mutually exclusive with --depth/--fields)").option("--fields <value>", "Render custom comma-separated item metadata fields (for example: --fields id,title,status,parent,type)").option("--tree", "Include descendants rooted at the requested item").option("--tree-depth <n>", "Maximum subtree depth for --tree descendants").description("Show item details by ID.").action(async (id, options2, command) => {
171
171
  const globalOptions = getGlobalOptions(command);
172
172
  const startedAt = Date.now();
173
- const { runGet } = await import("./get-FLHYTOBA.js");
173
+ const { runGet } = await import("./get-QARTE6BL.js");
174
174
  const result = await runGet(id, globalOptions, {
175
175
  depth: typeof options2.depth === "string" ? options2.depth : void 0,
176
176
  fields: typeof options2.fields === "string" ? options2.fields : void 0,
@@ -193,7 +193,7 @@ function registerListQueryCommands(program, options) {
193
193
  throw new PmCliError("History projection options are mutually exclusive. Use either --compact or --full.", EXIT_CODE.USAGE);
194
194
  }
195
195
  const field = typeof options2.field === "string" ? options2.field : void 0;
196
- const { runHistory } = await import("./history-6624XISO.js");
196
+ const { runHistory } = await import("./history-L2FQFRTU.js");
197
197
  const result = await runHistory(id, {
198
198
  limit: typeof options2.limit === "string" ? options2.limit : void 0,
199
199
  compact: options2.full === true ? false : true,
@@ -215,7 +215,7 @@ function registerListQueryCommands(program, options) {
215
215
  throw new PmCliError("Activity projection options are mutually exclusive. Use either --compact or --full.", EXIT_CODE.USAGE);
216
216
  }
217
217
  const normalized = normalizeActivityOptions(options2);
218
- const { runActivity } = await import("./activity-HF3VJYKH.js");
218
+ const { runActivity } = await import("./activity-XZIUPGZH.js");
219
219
  const result = await runActivity(normalized, globalOptions);
220
220
  const streamMode = resolveActivityStreamMode(options2.stream);
221
221
  if (streamMode && !globalOptions.json) {
@@ -235,4 +235,4 @@ function registerListQueryCommands(program, options) {
235
235
  export {
236
236
  registerListQueryCommands
237
237
  };
238
- //# sourceMappingURL=register-list-query-IO3RR5K6.js.map
238
+ //# sourceMappingURL=register-list-query-VHDXWEPP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../cli/register-list-query.ts"],
4
+ "sourcesContent": ["import { Option, type Command } from \"commander\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.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\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\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 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\");\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(\"--limit <n>\", \"Limit returned item count\")\n .option(\"--offset <n>\", \"Skip the first n matching rows before limit is applied\")\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(\"--stream\", \"Emit line-delimited JSON rows (requires --json)\")\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 if (streamMode && !globalOptions.json) {\n throw new PmCliError(\"--stream requires --json output mode.\", EXIT_CODE.USAGE);\n }\n if (streamMode) {\n printListJsonStream(name, result, globalOptions);\n } else {\n printResult(result, globalOptions);\n }\n if (globalOptions.profile) {\n printError(`profile:command=${name} took_ms=${Date.now() - startedAt}`);\n }\n });\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 }\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\");\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(\"--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 (default: settings or brief)\")\n .option(\"--section <value...>\", \"Include specific sections (repeatable; overrides --depth)\")\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(\"Search items with keyword, semantic, or hybrid retrieval.\")\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 \"--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(\"--status <value>\", \"Filter by status before query (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(\"--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(\"--limit <n>\", \"Limit returned item count\")\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, 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(\"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 .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, 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 .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, 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"],
5
+ "mappings": "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",
6
+ "names": ["options"]
7
+ }
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="71a17d56-530a-599f-9cbc-ceeb42453312")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="85daf52a-9a42-5cd5-91f6-79b376dac005")}catch(e){}}();
3
3
  import {
4
4
  collect,
5
5
  extractUpdateManyMutationOptionSource,
@@ -8,27 +8,27 @@ import {
8
8
  invalidateSearchCachesForMutation,
9
9
  normalizeCreateOptions,
10
10
  normalizeUpdateOptions
11
- } from "./chunk-JVMAOD54.js";
11
+ } from "./chunk-IH4MBKK7.js";
12
12
  import {
13
13
  CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS,
14
14
  UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS
15
- } from "./chunk-GPOSGWCN.js";
16
- import "./chunk-BACSNVWE.js";
15
+ } from "./chunk-FXRU333M.js";
16
+ import "./chunk-XJDGS74Y.js";
17
17
  import {
18
18
  printError,
19
19
  printResult,
20
20
  writeStdout
21
- } from "./chunk-ANKG2JKL.js";
22
- import "./chunk-AVGOVJGV.js";
23
- import "./chunk-7CR4GAYN.js";
24
- import "./chunk-5ATRWEZO.js";
25
- import "./chunk-42IULX44.js";
26
- import "./chunk-PW7C262O.js";
21
+ } from "./chunk-I2IJY2NL.js";
22
+ import "./chunk-HI7STVF2.js";
23
+ import "./chunk-ATEES5SX.js";
24
+ import "./chunk-UUWGCWBU.js";
25
+ import "./chunk-CCX4RSYZ.js";
26
+ import "./chunk-WUNFKP7M.js";
27
27
  import {
28
28
  BUILTIN_ITEM_TYPE_VALUES,
29
29
  EXIT_CODE,
30
30
  PmCliError
31
- } from "./chunk-5JF76OJF.js";
31
+ } from "./chunk-A6LXQFO7.js";
32
32
 
33
33
  // dist/cli/register-mutation.js
34
34
  import { Option } from "commander";
@@ -143,7 +143,7 @@ function registerMutationCommands(program) {
143
143
  options.title = positionalTitle;
144
144
  }
145
145
  const normalized = normalizeCreateOptions(options, { requireType: false });
146
- const { runCreate } = await import("./create-FCCAATQV.js");
146
+ const { runCreate } = await import("./create-IFA26O2I.js");
147
147
  const result = await runCreate(normalized, globalOptions);
148
148
  await invalidateSearchCachesForMutation(globalOptions, result);
149
149
  printResult(result, globalOptions);
@@ -154,7 +154,7 @@ function registerMutationCommands(program) {
154
154
  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) => {
155
155
  const globalOptions = getGlobalOptions(command);
156
156
  const startedAt = Date.now();
157
- const { runCopy } = await import("./copy-5NM3SVJA.js");
157
+ const { runCopy } = await import("./copy-ALU5WMHA.js");
158
158
  const result = await runCopy(id, {
159
159
  title: typeof options.title === "string" ? options.title : void 0,
160
160
  author: typeof options.author === "string" ? options.author : void 0,
@@ -174,7 +174,7 @@ function registerMutationCommands(program) {
174
174
  updateCommand.action(async (id, options, command) => {
175
175
  const globalOptions = getGlobalOptions(command);
176
176
  const startedAt = Date.now();
177
- const { runUpdate } = await import("./update-MCPCPMHV.js");
177
+ const { runUpdate } = await import("./update-5A2B6QYB.js");
178
178
  const result = await runUpdate(id, normalizeUpdateOptions(options), globalOptions);
179
179
  await invalidateSearchCachesForMutation(globalOptions, result);
180
180
  printResult(result, globalOptions);
@@ -214,7 +214,7 @@ function registerMutationCommands(program) {
214
214
  updateManyCommand.action(async (options, command) => {
215
215
  const globalOptions = getGlobalOptions(command);
216
216
  const startedAt = Date.now();
217
- const { runUpdateMany } = await import("./update-many-Y3HOL7WA.js");
217
+ const { runUpdateMany } = await import("./update-many-V4LA3C4H.js");
218
218
  const result = await runUpdateMany({
219
219
  status: typeof options.filterStatus === "string" ? options.filterStatus : void 0,
220
220
  list: {
@@ -248,13 +248,13 @@ function registerMutationCommands(program) {
248
248
  printError(`profile:command=update-many took_ms=${Date.now() - startedAt}`);
249
249
  }
250
250
  });
251
- const closeCommand = program.command("close").argument("<id>", "Item id").argument("[text]", "Close reason text (alias: --reason)").option("--reason <value>", "Close reason text (alias for positional <text>)").option("--close-reason <value>", "Close reason text (alias for positional <text>)").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--validate-close [mode]", 'Validate closure metadata before close: "off", "warn", or "strict" (default: settings governance preset)').option("--resolution <value>", "Set the closure resolution summary inline (same field --validate-close strict checks; previously required a prior pm update)").option("--expected-result <value>", "Set the expected-result note inline (closure validation field)").option("--expected <value>", "Short alias for --expected-result").option("--actual-result <value>", "Set the actual-result note inline (closure validation field)").option("--actual <value>", "Short alias for --actual-result").option("--force", "Force ownership override").description("Close an item. Close reason requirement follows governance.require_close_reason.");
251
+ const closeCommand = program.command("close").argument("<id>", "Item id").argument("[text]", "Close reason text (alias: --reason)").option("--reason <value>", "Close reason text (alias for positional <text>)").option("--close-reason <value>", "Close reason text (alias for positional <text>)").option("--duplicate-of <id>", "Close as a duplicate of the canonical item id and auto-fill duplicate closure metadata").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--validate-close [mode]", 'Validate closure metadata before close: "off", "warn", or "strict" (default: settings governance preset)').option("--resolution <value>", "Set the closure resolution summary inline (same field --validate-close strict checks; previously required a prior pm update)").option("--expected-result <value>", "Set the expected-result note inline (closure validation field)").option("--expected <value>", "Short alias for --expected-result").option("--actual-result <value>", "Set the actual-result note inline (closure validation field)").option("--actual <value>", "Short alias for --actual-result").option("--force", "Force ownership override").description("Close an item. Close reason requirement follows governance.require_close_reason.");
252
252
  addHiddenOption(closeCommand, "--expected_result <value>", "Alias for --expected-result", false);
253
253
  addHiddenOption(closeCommand, "--actual_result <value>", "Alias for --actual-result", false);
254
254
  closeCommand.action(async (id, text, options, command) => {
255
255
  const globalOptions = getGlobalOptions(command);
256
256
  const startedAt = Date.now();
257
- const { runClose } = await import("./close-O4JK2JKD.js");
257
+ const { runClose } = await import("./close-XLEKIQSW.js");
258
258
  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;
259
259
  const resolvedText = typeof text === "string" && text.length > 0 ? text : reasonFromOption;
260
260
  const pickInlineString = (...candidates) => {
@@ -270,6 +270,7 @@ function registerMutationCommands(program) {
270
270
  message: typeof options.message === "string" ? options.message : void 0,
271
271
  validateClose: options.validateClose === true ? "warn" : typeof options.validateClose === "string" ? options.validateClose : void 0,
272
272
  force: Boolean(options.force),
273
+ duplicateOf: typeof options.duplicateOf === "string" ? options.duplicateOf : void 0,
273
274
  resolution: typeof options.resolution === "string" ? options.resolution : void 0,
274
275
  expectedResult: pickInlineString(options.expectedResult, options.expected_result, options.expected),
275
276
  actualResult: pickInlineString(options.actualResult, options.actual_result, options.actual)
@@ -295,7 +296,7 @@ function registerMutationCommands(program) {
295
296
  }
296
297
  return void 0;
297
298
  };
298
- const { runCloseMany } = await import("./close-many-EQO4TPIE.js");
299
+ const { runCloseMany } = await import("./close-many-AOD4HSAZ.js");
299
300
  const result = await runCloseMany({
300
301
  status: typeof options.filterStatus === "string" ? options.filterStatus : void 0,
301
302
  list: {
@@ -338,7 +339,7 @@ function registerMutationCommands(program) {
338
339
  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) => {
339
340
  const globalOptions = getGlobalOptions(command);
340
341
  const startedAt = Date.now();
341
- const { runDelete } = await import("./delete-PQXJQXQ7.js");
342
+ const { runDelete } = await import("./delete-Y2SGJBGY.js");
342
343
  const result = await runDelete(id, {
343
344
  author: typeof options.author === "string" ? options.author : void 0,
344
345
  message: typeof options.message === "string" ? options.message : void 0,
@@ -367,7 +368,7 @@ function registerMutationCommands(program) {
367
368
  if (resolvedBody === void 0) {
368
369
  throw new PmCliError("Missing append text. Provide it as positional [text], --body <value>, or --text <value> (use - for stdin).", EXIT_CODE.USAGE);
369
370
  }
370
- const { runAppend } = await import("./append-CWQZBUWV.js");
371
+ const { runAppend } = await import("./append-KG55G7S3.js");
371
372
  const result = await runAppend(id, {
372
373
  body: resolvedBody,
373
374
  author: typeof options.author === "string" ? options.author : void 0,
@@ -383,7 +384,7 @@ function registerMutationCommands(program) {
383
384
  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) => {
384
385
  const globalOptions = getGlobalOptions(command);
385
386
  const startedAt = Date.now();
386
- const { runRestore } = await import("./restore-E3GZKRRK.js");
387
+ const { runRestore } = await import("./restore-M6AFHMV4.js");
387
388
  const result = await runRestore(id, target, {
388
389
  author: typeof options.author === "string" ? options.author : void 0,
389
390
  message: typeof options.message === "string" ? options.message : void 0,
@@ -432,7 +433,7 @@ function registerMutationCommands(program) {
432
433
  planCommand.action(async (subcommand, id, stepRef, reorderToken, options, command) => {
433
434
  const globalOptions = getGlobalOptions(command);
434
435
  const startedAt = Date.now();
435
- const { runPlan, PLAN_SUBCOMMANDS } = await import("./plan-MQO5JTSV.js");
436
+ const { runPlan, PLAN_SUBCOMMANDS } = await import("./plan-VNUG3WZZ.js");
436
437
  const normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
437
438
  if (!normalizedSubcommand) {
438
439
  throw new PmCliError(`pm plan requires a subcommand. Allowed: ${PLAN_SUBCOMMANDS.join(", ")}`, EXIT_CODE.USAGE, {
@@ -513,7 +514,7 @@ function registerMutationCommands(program) {
513
514
  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) => {
514
515
  const globalOptions = getGlobalOptions(command);
515
516
  const startedAt = Date.now();
516
- const { runHistoryRedact } = await import("./history-redact-DCXAWGTF.js");
517
+ const { runHistoryRedact } = await import("./history-redact-G72A4EJ4.js");
517
518
  const literal = Array.isArray(options.literal) ? options.literal : void 0;
518
519
  const regex = Array.isArray(options.regex) ? options.regex : void 0;
519
520
  const result = await runHistoryRedact(id, {
@@ -536,7 +537,7 @@ function registerMutationCommands(program) {
536
537
  program.command("history-repair").argument("<id>", "Item id").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.").action(async (id, options, command) => {
537
538
  const globalOptions = getGlobalOptions(command);
538
539
  const startedAt = Date.now();
539
- const { runHistoryRepair } = await import("./history-repair-TA3NRIFO.js");
540
+ const { runHistoryRepair } = await import("./history-repair-RUGKD3YR.js");
540
541
  const result = await runHistoryRepair(id, {
541
542
  dryRun: options.dryRun === true,
542
543
  author: typeof options.author === "string" ? options.author : void 0,
@@ -551,7 +552,7 @@ function registerMutationCommands(program) {
551
552
  program.command("history-compact").argument("<id>", "Item id").option("--before <value>", "Compact entries strictly before this version number or ISO timestamp").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 an item history stream into a synthetic baseline plus retained tail entries.").action(async (id, options, command) => {
552
553
  const globalOptions = getGlobalOptions(command);
553
554
  const startedAt = Date.now();
554
- const { runHistoryCompact } = await import("./history-compact-PVS2A3FS.js");
555
+ const { runHistoryCompact } = await import("./history-compact-3EJ3L2O7.js");
555
556
  const result = await runHistoryCompact(id, {
556
557
  before: typeof options.before === "string" ? options.before : void 0,
557
558
  dryRun: options.dryRun === true,
@@ -569,7 +570,7 @@ function registerMutationCommands(program) {
569
570
  schemaCommand.action(async (subcommand, name, options, command) => {
570
571
  const globalOptions = getGlobalOptions(command);
571
572
  const startedAt = Date.now();
572
- const { runSchemaAddType, runSchemaRemoveType, runSchemaAddStatus, runSchemaRemoveStatus, runSchemaList, runSchemaShow, runSchemaShowStatus, formatSchemaAddTypeHuman, formatSchemaRemoveTypeHuman, formatSchemaAddStatusHuman, formatSchemaRemoveStatusHuman, formatSchemaListHuman, formatSchemaShowHuman, formatSchemaShowStatusHuman, SCHEMA_SUBCOMMANDS } = await import("./schema-3CPFLDAY.js");
573
+ const { runSchemaAddType, runSchemaRemoveType, runSchemaAddStatus, runSchemaRemoveStatus, runSchemaList, runSchemaShow, runSchemaShowStatus, formatSchemaAddTypeHuman, formatSchemaRemoveTypeHuman, formatSchemaAddStatusHuman, formatSchemaRemoveStatusHuman, formatSchemaListHuman, formatSchemaShowHuman, formatSchemaShowStatusHuman, SCHEMA_SUBCOMMANDS } = await import("./schema-76HDZJCC.js");
573
574
  let normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
574
575
  let typeName = name;
575
576
  if (!normalizedSubcommand) {
@@ -662,7 +663,7 @@ function registerMutationCommands(program) {
662
663
  throw new PmCliError("Specify comment text with exactly one source: positional [text], --add, --stdin, or --file", EXIT_CODE.USAGE);
663
664
  }
664
665
  const add = addFromOption ?? addFromPositional;
665
- const { runComments } = await import("./comments-OMB7YE27.js");
666
+ const { runComments } = await import("./comments-RN5TG4ZN.js");
666
667
  const result = await runComments(id, {
667
668
  add,
668
669
  stdin: readFromStdin,
@@ -690,7 +691,7 @@ function registerMutationCommands(program) {
690
691
  throw new PmCliError("Specify note text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
691
692
  }
692
693
  const add = addFromOption ?? addFromPositional;
693
- const { runNotes } = await import("./notes-2KWHADK3.js");
694
+ const { runNotes } = await import("./notes-5T6P7C5V.js");
694
695
  const result = await runNotes(id, {
695
696
  add,
696
697
  limit: typeof options.limit === "string" ? options.limit : void 0,
@@ -716,7 +717,7 @@ function registerMutationCommands(program) {
716
717
  throw new PmCliError("Specify learning text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
717
718
  }
718
719
  const add = addFromOption ?? addFromPositional;
719
- const { runLearnings } = await import("./learnings-XC6EMW5E.js");
720
+ const { runLearnings } = await import("./learnings-HQXSSKZ5.js");
720
721
  const result = await runLearnings(id, {
721
722
  add,
722
723
  limit: typeof options.limit === "string" ? options.limit : void 0,
@@ -741,7 +742,7 @@ function registerMutationCommands(program) {
741
742
  const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
742
743
  const removeValues = Array.isArray(options.remove) ? options.remove : [];
743
744
  const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
744
- const { runFiles } = await import("./files-UPCNKEIZ.js");
745
+ const { runFiles } = await import("./files-DLB5LJEP.js");
745
746
  const result = await runFiles(id, {
746
747
  add: addValues,
747
748
  addGlob: addGlobValues,
@@ -766,7 +767,7 @@ function registerMutationCommands(program) {
766
767
  filesCommand.command("discover").argument("<id>", "Item id").option("--apply", "Add discovered missing files to the item").option("--note <value>", "Note to attach to discovered file links").option("--append-stable", "Preserve existing linked-file order and append discovered links without full-array resorting").option("--author <value>", "Mutation author").option("--message <value>", "History message").option("--force", "Force ownership override").description("Discover existing file paths referenced in item text and optionally link missing files.").action(async (id, options, command) => {
767
768
  const globalOptions = getGlobalOptions(command);
768
769
  const startedAt = Date.now();
769
- const { runFilesDiscover } = await import("./files-UPCNKEIZ.js");
770
+ const { runFilesDiscover } = await import("./files-DLB5LJEP.js");
770
771
  const result = await runFilesDiscover(id, {
771
772
  apply: Boolean(options.apply),
772
773
  note: typeof options.note === "string" ? options.note : void 0,
@@ -790,7 +791,7 @@ function registerMutationCommands(program) {
790
791
  const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
791
792
  const removeValues = Array.isArray(options.remove) ? options.remove : [];
792
793
  const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
793
- const { runDocs } = await import("./docs-C7CCVWAJ.js");
794
+ const { runDocs } = await import("./docs-5WMBVQT2.js");
794
795
  const result = await runDocs(id, {
795
796
  add: addValues,
796
797
  addGlob: addGlobValues,
@@ -814,7 +815,7 @@ function registerMutationCommands(program) {
814
815
  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) => {
815
816
  const globalOptions = getGlobalOptions(command);
816
817
  const startedAt = Date.now();
817
- const { runDeps } = await import("./deps-S5322EOQ.js");
818
+ const { runDeps } = await import("./deps-6TSPOSGU.js");
818
819
  const result = await runDeps(id, {
819
820
  format: typeof options.format === "string" ? options.format : void 0,
820
821
  maxDepth: typeof options.maxDepth === "string" ? options.maxDepth : void 0,
@@ -830,6 +831,6 @@ function registerMutationCommands(program) {
830
831
  export {
831
832
  registerMutationCommands
832
833
  };
833
- //# sourceMappingURL=register-mutation-VV2SC2KL.js.map
834
+ //# sourceMappingURL=register-mutation-DG53FCBV.js.map
834
835
 
835
- //# debugId=71a17d56-530a-599f-9cbc-ceeb42453312
836
+ //# debugId=85daf52a-9a42-5cd5-91f6-79b376dac005