@unbrained/pm-cli 2026.7.2 → 2026.7.4

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 (546) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/CHANGELOG.md +29 -0
  3. package/CONTRIBUTING.md +38 -9
  4. package/README.md +1 -5
  5. package/dist/cli/commander-usage.js +54 -41
  6. package/dist/cli/commander-usage.js.map +1 -1
  7. package/dist/cli/commands/activity.js +79 -57
  8. package/dist/cli/commands/activity.js.map +1 -1
  9. package/dist/cli/commands/calendar.js +3 -3
  10. package/dist/cli/commands/calendar.js.map +1 -1
  11. package/dist/cli/commands/close-many.js +106 -65
  12. package/dist/cli/commands/close-many.js.map +1 -1
  13. package/dist/cli/commands/completion.js +231 -345
  14. package/dist/cli/commands/completion.js.map +1 -1
  15. package/dist/cli/commands/create.d.ts +2 -59
  16. package/dist/cli/commands/create.js +38 -39
  17. package/dist/cli/commands/create.js.map +1 -1
  18. package/dist/cli/commands/extension/doctor.js +56 -67
  19. package/dist/cli/commands/extension/doctor.js.map +1 -1
  20. package/dist/cli/commands/extension/scaffold.js +54 -133
  21. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  22. package/dist/cli/commands/extension/shared.js +21 -15
  23. package/dist/cli/commands/extension/shared.js.map +1 -1
  24. package/dist/cli/commands/files.js +3 -3
  25. package/dist/cli/commands/files.js.map +1 -1
  26. package/dist/cli/commands/health.js +101 -112
  27. package/dist/cli/commands/health.js.map +1 -1
  28. package/dist/cli/commands/history-compact.js +9 -18
  29. package/dist/cli/commands/history-compact.js.map +1 -1
  30. package/dist/cli/commands/history-repair.js +9 -19
  31. package/dist/cli/commands/history-repair.js.map +1 -1
  32. package/dist/cli/commands/init-agent-guidance.js +160 -111
  33. package/dist/cli/commands/init-agent-guidance.js.map +1 -1
  34. package/dist/cli/commands/init.js +3 -3
  35. package/dist/cli/commands/init.js.map +1 -1
  36. package/dist/cli/commands/item-filter-options.d.ts +2 -0
  37. package/dist/cli/commands/item-filter-options.js +2 -2
  38. package/dist/cli/commands/item-filter-options.js.map +1 -1
  39. package/dist/cli/commands/mutation-command-options.d.ts +78 -0
  40. package/dist/cli/commands/mutation-command-options.js +10 -0
  41. package/dist/cli/commands/mutation-command-options.js.map +1 -0
  42. package/dist/cli/commands/next.js +13 -10
  43. package/dist/cli/commands/next.js.map +1 -1
  44. package/dist/cli/commands/profile.js +23 -15
  45. package/dist/cli/commands/profile.js.map +1 -1
  46. package/dist/cli/commands/reindex.js +3 -3
  47. package/dist/cli/commands/reindex.js.map +1 -1
  48. package/dist/cli/commands/shared-unset-fields.d.ts +19 -0
  49. package/dist/cli/commands/shared-unset-fields.js +31 -2
  50. package/dist/cli/commands/shared-unset-fields.js.map +1 -1
  51. package/dist/cli/commands/update.d.ts +2 -59
  52. package/dist/cli/commands/update.js +26 -97
  53. package/dist/cli/commands/update.js.map +1 -1
  54. package/dist/cli/commands/validate.d.ts +2 -0
  55. package/dist/cli/commands/validate.js +16 -4
  56. package/dist/cli/commands/validate.js.map +1 -1
  57. package/dist/cli/error-guidance.js +9 -6
  58. package/dist/cli/error-guidance.js.map +1 -1
  59. package/dist/cli/extension-command-help.js +27 -19
  60. package/dist/cli/extension-command-help.js.map +1 -1
  61. package/dist/cli/help-json-payload.js +57 -49
  62. package/dist/cli/help-json-payload.js.map +1 -1
  63. package/dist/cli/main.js +48 -32
  64. package/dist/cli/main.js.map +1 -1
  65. package/dist/cli/register-list-query.js +215 -213
  66. package/dist/cli/register-list-query.js.map +1 -1
  67. package/dist/cli/register-mutation.js +368 -368
  68. package/dist/cli/register-mutation.js.map +1 -1
  69. package/dist/cli/register-operations.js +303 -299
  70. package/dist/cli/register-operations.js.map +1 -1
  71. package/dist/cli/registration-helpers.d.ts +4 -0
  72. package/dist/cli/registration-helpers.js +51 -56
  73. package/dist/cli/registration-helpers.js.map +1 -1
  74. package/dist/cli-bundle/chunks/activity-IDS5GSYG.js +16 -0
  75. package/dist/cli-bundle/chunks/{activity-CUC4JY3U.js → activity-OENQCYZD.js} +9 -9
  76. package/dist/cli-bundle/chunks/{aggregate-SW5PNGCS.js → aggregate-EC4LWS3U.js} +8 -8
  77. package/dist/cli-bundle/chunks/{aggregate-DKUTRY6R.js → aggregate-RCB3QJJE.js} +8 -8
  78. package/dist/cli-bundle/chunks/{append-H32VOR2Y.js → append-ADBOI3A6.js} +8 -8
  79. package/dist/cli-bundle/chunks/{append-UBM632FK.js → append-XLEKVVWB.js} +8 -8
  80. package/dist/cli-bundle/chunks/{chunk-Q6NXOHS6.js → chunk-2LRMWMZ6.js} +7 -7
  81. package/dist/cli-bundle/chunks/{chunk-2227673O.js → chunk-2ONH3WG6.js} +32 -13
  82. package/dist/cli-bundle/chunks/{chunk-2227673O.js.map → chunk-2ONH3WG6.js.map} +1 -1
  83. package/dist/cli-bundle/chunks/{chunk-MNBPX5JS.js → chunk-2VK677OA.js} +72 -49
  84. package/dist/cli-bundle/chunks/chunk-2VK677OA.js.map +7 -0
  85. package/dist/cli-bundle/chunks/{chunk-KLXF7NCC.js → chunk-3C5T3ZEO.js} +2 -2
  86. package/dist/cli-bundle/chunks/{chunk-JMK5GCK2.js → chunk-3MLQZI3H.js} +2 -2
  87. package/dist/cli-bundle/chunks/{chunk-BTX5MIQF.js → chunk-4EVY7CQN.js} +2 -2
  88. package/dist/cli-bundle/chunks/{chunk-Q6K2OACU.js → chunk-4IW7STMB.js} +7 -7
  89. package/dist/cli-bundle/chunks/{chunk-6YCYF2AI.js → chunk-4KPQQ42D.js} +166 -110
  90. package/dist/cli-bundle/chunks/chunk-4KPQQ42D.js.map +1 -0
  91. package/dist/cli-bundle/chunks/{chunk-BVZZN2LH.js → chunk-4OXNQHKQ.js} +23 -17
  92. package/dist/cli-bundle/chunks/{chunk-BVZZN2LH.js.map → chunk-4OXNQHKQ.js.map} +2 -2
  93. package/dist/cli-bundle/chunks/{chunk-UWKEJMZU.js → chunk-4PJYRA3V.js} +31 -12
  94. package/dist/cli-bundle/chunks/{chunk-UWKEJMZU.js.map → chunk-4PJYRA3V.js.map} +3 -3
  95. package/dist/cli-bundle/chunks/{chunk-EMPGXBUF.js → chunk-4SHME4VR.js} +2 -2
  96. package/dist/cli-bundle/chunks/{chunk-6ITZLD4T.js → chunk-5FYY76HR.js} +28 -99
  97. package/dist/cli-bundle/chunks/chunk-5FYY76HR.js.map +7 -0
  98. package/dist/cli-bundle/chunks/{chunk-OTUJZKGI.js → chunk-6QY2NA2M.js} +24 -18
  99. package/dist/cli-bundle/chunks/{chunk-OTUJZKGI.js.map → chunk-6QY2NA2M.js.map} +1 -1
  100. package/dist/cli-bundle/chunks/{chunk-2KWL5NPW.js → chunk-6YB7HG2J.js} +2 -2
  101. package/dist/cli-bundle/chunks/{chunk-36UGKF4O.js → chunk-724VLYDJ.js} +2 -2
  102. package/dist/cli-bundle/chunks/{chunk-XCHUVHKU.js → chunk-75VMARGO.js} +11 -11
  103. package/dist/cli-bundle/chunks/chunk-75VMARGO.js.map +1 -0
  104. package/dist/cli-bundle/chunks/{chunk-XWGEMNBR.js → chunk-7745CXNI.js} +119 -195
  105. package/dist/cli-bundle/chunks/chunk-7745CXNI.js.map +7 -0
  106. package/dist/cli-bundle/chunks/{chunk-YPKFV2JR.js → chunk-7G5SUU6F.js} +76 -54
  107. package/dist/cli-bundle/chunks/chunk-7G5SUU6F.js.map +1 -0
  108. package/dist/cli-bundle/chunks/{chunk-Y4NRKBFW.js → chunk-7ITQSEBL.js} +3 -3
  109. package/dist/cli-bundle/chunks/{chunk-W47SML5B.js → chunk-A222YWOQ.js} +7 -7
  110. package/dist/cli-bundle/chunks/{chunk-3LCUASYG.js → chunk-A2W3XKAD.js} +2 -2
  111. package/dist/cli-bundle/chunks/{chunk-KN3URLKS.js → chunk-AOP2EMK3.js} +3 -3
  112. package/dist/cli-bundle/chunks/{chunk-RM37OPYK.js → chunk-AZMPKLIA.js} +72 -49
  113. package/dist/cli-bundle/chunks/chunk-AZMPKLIA.js.map +1 -0
  114. package/dist/cli-bundle/chunks/{chunk-7NSPKJUS.js → chunk-BDDYM4LH.js} +262 -252
  115. package/dist/cli-bundle/chunks/chunk-BDDYM4LH.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-JXAUVO6X.js → chunk-CN4OAA2G.js} +55 -20
  117. package/dist/cli-bundle/chunks/chunk-CN4OAA2G.js.map +7 -0
  118. package/dist/cli-bundle/chunks/{chunk-IEEJQCZ4.js → chunk-CQFZRLXQ.js} +3 -3
  119. package/dist/cli-bundle/chunks/{chunk-4NUOWFBT.js → chunk-CQISNF3Z.js} +7 -7
  120. package/dist/cli-bundle/chunks/{chunk-S62UANU7.js → chunk-D2LDM35X.js} +3 -3
  121. package/dist/cli-bundle/chunks/{chunk-GRRG3MCT.js → chunk-DEIDJQZK.js} +57 -136
  122. package/dist/cli-bundle/chunks/chunk-DEIDJQZK.js.map +7 -0
  123. package/dist/cli-bundle/chunks/{chunk-IG5JYZGU.js → chunk-DJ5S2LDY.js} +7 -7
  124. package/dist/cli-bundle/chunks/{chunk-A6VOGKBA.js → chunk-EB4BBEZD.js} +6 -6
  125. package/dist/cli-bundle/chunks/{chunk-QH3FSKRJ.js → chunk-EH23N5FX.js} +2 -2
  126. package/dist/cli-bundle/chunks/{chunk-HQTPRV4D.js → chunk-FDNJMYZB.js} +6 -6
  127. package/dist/cli-bundle/chunks/{chunk-K2VYLVX4.js → chunk-FMWQRMHS.js} +33 -6
  128. package/dist/cli-bundle/chunks/chunk-FMWQRMHS.js.map +1 -0
  129. package/dist/cli-bundle/chunks/{chunk-N2JSWVWG.js → chunk-HL742IBM.js} +4 -4
  130. package/dist/cli-bundle/chunks/{chunk-3AZUFQK6.js → chunk-J4KNRDI3.js} +59 -70
  131. package/dist/cli-bundle/chunks/{chunk-3AZUFQK6.js.map → chunk-J4KNRDI3.js.map} +1 -1
  132. package/dist/cli-bundle/chunks/{chunk-66Z3X7ZG.js → chunk-JYLFF7GJ.js} +166 -110
  133. package/dist/cli-bundle/chunks/chunk-JYLFF7GJ.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-GFMSLORL.js → chunk-JZJJEJBR.js} +75 -53
  135. package/dist/cli-bundle/chunks/chunk-JZJJEJBR.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-7TH5NMVB.js → chunk-KKHIQOTN.js} +25 -19
  137. package/dist/cli-bundle/chunks/chunk-KKHIQOTN.js.map +7 -0
  138. package/dist/cli-bundle/chunks/{chunk-5GVTFFTC.js → chunk-LLQLLAKU.js} +118 -194
  139. package/dist/cli-bundle/chunks/chunk-LLQLLAKU.js.map +1 -0
  140. package/dist/cli-bundle/chunks/{chunk-KIYCOJ63.js → chunk-M34MVAOP.js} +58 -137
  141. package/dist/cli-bundle/chunks/chunk-M34MVAOP.js.map +1 -0
  142. package/dist/cli-bundle/chunks/{chunk-CZPVDLD2.js → chunk-M6PR5BC6.js} +7 -7
  143. package/dist/cli-bundle/chunks/{chunk-XEWQKDYZ.js → chunk-MTB4PRA3.js} +10 -10
  144. package/dist/cli-bundle/chunks/chunk-MTB4PRA3.js.map +7 -0
  145. package/dist/cli-bundle/chunks/{chunk-MRD4T5LF.js → chunk-MZ4NH46V.js} +2 -2
  146. package/dist/cli-bundle/chunks/{chunk-AIAIXG7I.js → chunk-MZG6I2Q2.js} +39 -5
  147. package/dist/cli-bundle/chunks/chunk-MZG6I2Q2.js.map +7 -0
  148. package/dist/cli-bundle/chunks/{chunk-ZNHEYCDD.js → chunk-N2LOJUBB.js} +2 -2
  149. package/dist/cli-bundle/chunks/{chunk-WJAMWAHZ.js → chunk-NGDK3KEZ.js} +5 -5
  150. package/dist/cli-bundle/chunks/{chunk-SYNKD3ZG.js → chunk-NHDR3UCW.js} +46 -60
  151. package/dist/cli-bundle/chunks/chunk-NHDR3UCW.js.map +7 -0
  152. package/dist/cli-bundle/chunks/{chunk-2CHRYUXL.js → chunk-NHKXOMZ5.js} +2 -2
  153. package/dist/cli-bundle/chunks/{chunk-7MYWF4ZX.js → chunk-OTSP6UEX.js} +7 -7
  154. package/dist/cli-bundle/chunks/{chunk-UGLU6Q2I.js → chunk-PUVPC5DL.js} +4 -4
  155. package/dist/cli-bundle/chunks/{chunk-LTRAF2D7.js → chunk-PV5JS7MP.js} +3 -3
  156. package/dist/cli-bundle/chunks/{chunk-KCO2EAN5.js → chunk-Q2266G4S.js} +3 -3
  157. package/dist/cli-bundle/chunks/{chunk-SYVUU7EK.js → chunk-Q3XVLRCJ.js} +9 -9
  158. package/dist/cli-bundle/chunks/{chunk-AJEBCRIY.js → chunk-QFXFKYNQ.js} +47 -61
  159. package/dist/cli-bundle/chunks/chunk-QFXFKYNQ.js.map +1 -0
  160. package/dist/cli-bundle/chunks/{chunk-6ZMBJRDJ.js → chunk-R7EMP4JG.js} +9 -9
  161. package/dist/cli-bundle/chunks/{chunk-SPM2XLWI.js → chunk-SBNT6SLO.js} +22 -7
  162. package/dist/cli-bundle/chunks/chunk-SBNT6SLO.js.map +7 -0
  163. package/dist/cli-bundle/chunks/{chunk-I66WE2HE.js → chunk-SL2ANJSV.js} +260 -250
  164. package/dist/cli-bundle/chunks/chunk-SL2ANJSV.js.map +1 -0
  165. package/dist/cli-bundle/chunks/{chunk-U2BEEM2X.js → chunk-T5RTYLZJ.js} +3 -3
  166. package/dist/cli-bundle/chunks/{chunk-UTSH5GWX.js → chunk-TGYDJEJH.js} +7 -7
  167. package/dist/cli-bundle/chunks/{chunk-H4GRLYJS.js → chunk-TO4KCIOT.js} +3 -3
  168. package/dist/cli-bundle/chunks/{chunk-EUKTMRN3.js → chunk-TUV7SIWZ.js} +2 -2
  169. package/dist/cli-bundle/chunks/{chunk-N3QCJS4M.js → chunk-UGDONITK.js} +58 -69
  170. package/dist/cli-bundle/chunks/{chunk-N3QCJS4M.js.map → chunk-UGDONITK.js.map} +2 -2
  171. package/dist/cli-bundle/chunks/{chunk-NRZS637N.js → chunk-UYLA5ROU.js} +56 -21
  172. package/dist/cli-bundle/chunks/chunk-UYLA5ROU.js.map +1 -0
  173. package/dist/cli-bundle/chunks/{chunk-55XRYWEG.js → chunk-V655JQ5J.js} +8 -8
  174. package/dist/cli-bundle/chunks/{chunk-3Q2HBMTI.js → chunk-W5X3AHJN.js} +2 -2
  175. package/dist/cli-bundle/chunks/{chunk-XTHQWXVC.js → chunk-WBWRQS32.js} +5 -5
  176. package/dist/cli-bundle/chunks/{chunk-UT73HUPC.js → chunk-WOOB7PV7.js} +3 -3
  177. package/dist/cli-bundle/chunks/{chunk-5PGBHRY3.js → chunk-WSDIALO4.js} +2 -2
  178. package/dist/cli-bundle/chunks/{chunk-LRKMWUUV.js → chunk-WTXDLBSZ.js} +2 -2
  179. package/dist/cli-bundle/chunks/{chunk-FFOQHGNH.js → chunk-XBIYI23P.js} +8 -8
  180. package/dist/cli-bundle/chunks/{chunk-7W4H4K26.js → chunk-XFO2NJY6.js} +29 -100
  181. package/dist/cli-bundle/chunks/chunk-XFO2NJY6.js.map +1 -0
  182. package/dist/cli-bundle/chunks/{chunk-TPOFWBMY.js → chunk-XQCWTSLO.js} +26 -20
  183. package/dist/cli-bundle/chunks/chunk-XQCWTSLO.js.map +1 -0
  184. package/dist/cli-bundle/chunks/{chunk-2ASNV4DH.js → chunk-Y2VSCQ77.js} +4 -4
  185. package/dist/cli-bundle/chunks/{chunk-ZNT7KEWE.js → chunk-YZR7UMZ6.js} +2 -2
  186. package/dist/cli-bundle/chunks/{chunk-YLZZ6T54.js → chunk-YZWXMDNH.js} +23 -8
  187. package/dist/cli-bundle/chunks/chunk-YZWXMDNH.js.map +1 -0
  188. package/dist/cli-bundle/chunks/{chunk-CYBDUHNO.js → chunk-ZIEGTQCY.js} +3 -3
  189. package/dist/cli-bundle/chunks/{chunk-TTHCEV5Q.js → chunk-ZZWMJVW2.js} +4 -4
  190. package/dist/cli-bundle/chunks/{claim-Z7MEQCBT.js → claim-D6L33A5Y.js} +8 -8
  191. package/dist/cli-bundle/chunks/{claim-SENTPZBN.js → claim-YAFUTPVK.js} +8 -8
  192. package/dist/cli-bundle/chunks/close-KLDLHAOP.js +14 -0
  193. package/dist/cli-bundle/chunks/{close-424MX4CU.js → close-TGYXG7TV.js} +7 -7
  194. package/dist/cli-bundle/chunks/{close-many-SWY34BII.js → close-many-4QSWKCRU.js} +119 -76
  195. package/dist/cli-bundle/chunks/close-many-4QSWKCRU.js.map +7 -0
  196. package/dist/cli-bundle/chunks/{close-many-2IV4J2TR.js → close-many-SNA6LNZH.js} +120 -77
  197. package/dist/cli-bundle/chunks/close-many-SNA6LNZH.js.map +1 -0
  198. package/dist/cli-bundle/chunks/{comments-4FGNTSNV.js → comments-QC6ARR5X.js} +9 -9
  199. package/dist/cli-bundle/chunks/{comments-7YS5MY5X.js → comments-ZHVYGUVC.js} +9 -9
  200. package/dist/cli-bundle/chunks/{config-G74GISC4.js → config-O6W2EU2G.js} +7 -7
  201. package/dist/cli-bundle/chunks/{config-BZJKK7FZ.js → config-XQRFJXJP.js} +7 -7
  202. package/dist/cli-bundle/chunks/{context-LHVKJSPJ.js → context-IHE3IXN5.js} +12 -12
  203. package/dist/cli-bundle/chunks/{context-ZQY54JNS.js → context-WSYWBEUL.js} +12 -12
  204. package/dist/cli-bundle/chunks/{contracts-FIZLMP7O.js → contracts-CVBINC7C.js} +3 -3
  205. package/dist/cli-bundle/chunks/{contracts-CP2EZJC7.js → contracts-NLCDIZAT.js} +3 -3
  206. package/dist/cli-bundle/chunks/{copy-TLW7JTQT.js → copy-7MUQC44A.js} +5 -5
  207. package/dist/cli-bundle/chunks/{copy-GYNQQPW2.js → copy-ANWXDJVC.js} +5 -5
  208. package/dist/cli-bundle/chunks/create-AJ6HUR5W.js +28 -0
  209. package/dist/cli-bundle/chunks/{create-VSKYSOCD.js → create-JIA2IFCO.js} +12 -12
  210. package/dist/cli-bundle/chunks/{delete-ANTOTI2I.js → delete-5OLYWQIC.js} +5 -5
  211. package/dist/cli-bundle/chunks/{delete-4W5JYCEG.js → delete-INHKCIRN.js} +5 -5
  212. package/dist/cli-bundle/chunks/{deps-HPPE6MJN.js → deps-CCSWGZW7.js} +5 -5
  213. package/dist/cli-bundle/chunks/{deps-ZQZN54EZ.js → deps-IYEID3QX.js} +5 -5
  214. package/dist/cli-bundle/chunks/{docs-XJNYBJGE.js → docs-3XZK22WF.js} +7 -7
  215. package/dist/cli-bundle/chunks/{docs-RPOVFMP3.js → docs-PKO7OEIM.js} +7 -7
  216. package/dist/cli-bundle/chunks/{eval-RFBI5FGS.js → eval-5XYP6NMY.js} +10 -10
  217. package/dist/cli-bundle/chunks/{eval-DM6JBZTS.js → eval-O4WGQYDI.js} +10 -10
  218. package/dist/cli-bundle/chunks/{extension-TTSEFQTS.js → extension-PVGRRZZG.js} +11 -11
  219. package/dist/cli-bundle/chunks/{extension-B3YY4WY5.js → extension-T7JNTAAA.js} +11 -11
  220. package/dist/cli-bundle/chunks/{files-5D65CHGE.js → files-7IU56S6R.js} +10 -10
  221. package/dist/cli-bundle/chunks/files-7IU56S6R.js.map +1 -0
  222. package/dist/cli-bundle/chunks/{files-GPIG77EN.js → files-W7HH5EOD.js} +9 -9
  223. package/dist/cli-bundle/chunks/{files-GPIG77EN.js.map → files-W7HH5EOD.js.map} +1 -1
  224. package/dist/cli-bundle/chunks/{focus-ZHN7WIGX.js → focus-6FA5KYRY.js} +6 -6
  225. package/dist/cli-bundle/chunks/{focus-C3PEJV2C.js → focus-CQ63JFDG.js} +6 -6
  226. package/dist/cli-bundle/chunks/{gc-D4JQ6OWN.js → gc-3BG67KTO.js} +3 -3
  227. package/dist/cli-bundle/chunks/{gc-VZIXDL32.js → gc-PEZYGNVB.js} +3 -3
  228. package/dist/cli-bundle/chunks/{get-GIBRUUOP.js → get-J6CSJ4SX.js} +10 -10
  229. package/dist/cli-bundle/chunks/{get-IOVAN6RU.js → get-KJTKGNEQ.js} +10 -10
  230. package/dist/cli-bundle/chunks/{health-L2U3AFKV.js → health-32UQICEL.js} +115 -123
  231. package/dist/cli-bundle/chunks/health-32UQICEL.js.map +1 -0
  232. package/dist/cli-bundle/chunks/{health-MM7AWXYF.js → health-ZUZG5ULV.js} +114 -122
  233. package/dist/cli-bundle/chunks/health-ZUZG5ULV.js.map +7 -0
  234. package/dist/cli-bundle/chunks/history-IOH6FKG7.js +18 -0
  235. package/dist/cli-bundle/chunks/{history-IL7XCEX2.js → history-W6QVR6FA.js} +8 -8
  236. package/dist/cli-bundle/chunks/{history-compact-HALOTOU7.js → history-compact-F355EGL4.js} +20 -27
  237. package/dist/cli-bundle/chunks/history-compact-F355EGL4.js.map +1 -0
  238. package/dist/cli-bundle/chunks/{history-compact-MV25P7DM.js → history-compact-JQ6ZGYSJ.js} +19 -26
  239. package/dist/cli-bundle/chunks/history-compact-JQ6ZGYSJ.js.map +7 -0
  240. package/dist/cli-bundle/chunks/{history-redact-VYCWQFK7.js → history-redact-TUWOUYX5.js} +9 -9
  241. package/dist/cli-bundle/chunks/history-redact-VVDOARNO.js +19 -0
  242. package/dist/cli-bundle/chunks/{history-repair-44MODPQF.js → history-repair-MPCAIKYE.js} +20 -28
  243. package/dist/cli-bundle/chunks/history-repair-MPCAIKYE.js.map +1 -0
  244. package/dist/cli-bundle/chunks/{history-repair-CPNAOCNF.js → history-repair-ZKS3LKPV.js} +19 -27
  245. package/dist/cli-bundle/chunks/history-repair-ZKS3LKPV.js.map +7 -0
  246. package/dist/cli-bundle/chunks/init-CZLEEE6Q.js +22 -0
  247. package/dist/cli-bundle/chunks/{init-F27NHENZ.js → init-MAA6UMNQ.js} +12 -12
  248. package/dist/cli-bundle/chunks/{learnings-XSFSUUWK.js → learnings-EYC3OKS2.js} +9 -9
  249. package/dist/cli-bundle/chunks/{learnings-HJVDQIGY.js → learnings-HKJJUVTA.js} +9 -9
  250. package/dist/cli-bundle/chunks/{list-VMPWTURB.js → list-HFD5737R.js} +8 -8
  251. package/dist/cli-bundle/chunks/{list-HPMEKCAA.js → list-KN3TL5Y5.js} +8 -8
  252. package/dist/cli-bundle/chunks/{next-ETXF2ZCN.js → next-DQUMFAHG.js} +25 -22
  253. package/dist/cli-bundle/chunks/{next-ETXF2ZCN.js.map → next-DQUMFAHG.js.map} +2 -2
  254. package/dist/cli-bundle/chunks/{next-QM6YJIIS.js → next-JUEYC5HE.js} +26 -23
  255. package/dist/cli-bundle/chunks/next-JUEYC5HE.js.map +1 -0
  256. package/dist/cli-bundle/chunks/{notes-WDDBPC4D.js → notes-XATYT43P.js} +9 -9
  257. package/dist/cli-bundle/chunks/{notes-GDZIKGR6.js → notes-ZG6RLZXB.js} +9 -9
  258. package/dist/cli-bundle/chunks/{plan-BGDR73Z6.js → plan-5NWQL2DH.js} +12 -12
  259. package/dist/cli-bundle/chunks/{plan-C5IMM335.js → plan-DVVLX7LK.js} +12 -12
  260. package/dist/cli-bundle/chunks/{profile-CCOKZ2IQ.js → profile-54DZ4CLB.js} +27 -19
  261. package/dist/cli-bundle/chunks/profile-54DZ4CLB.js.map +1 -0
  262. package/dist/cli-bundle/chunks/{profile-HUCENIEQ.js → profile-PLIQVEOY.js} +26 -18
  263. package/dist/cli-bundle/chunks/profile-PLIQVEOY.js.map +7 -0
  264. package/dist/cli-bundle/chunks/{register-list-query-ROSNIL52.js → register-list-query-PNRAHNIQ.js} +181 -172
  265. package/dist/cli-bundle/chunks/register-list-query-PNRAHNIQ.js.map +1 -0
  266. package/dist/cli-bundle/chunks/{register-list-query-XN4ZRHSV.js → register-list-query-WRS6ACUW.js} +180 -171
  267. package/dist/cli-bundle/chunks/register-list-query-WRS6ACUW.js.map +7 -0
  268. package/dist/cli-bundle/chunks/{register-mutation-KRLAHEL2.js → register-mutation-ET6E4VLE.js} +367 -361
  269. package/dist/cli-bundle/chunks/register-mutation-ET6E4VLE.js.map +7 -0
  270. package/dist/cli-bundle/chunks/{register-mutation-CFSB2MS3.js → register-mutation-K2MNRWGI.js} +368 -362
  271. package/dist/cli-bundle/chunks/register-mutation-K2MNRWGI.js.map +1 -0
  272. package/dist/cli-bundle/chunks/{register-operations-MBN4KGUM.js → register-operations-6DQRUTIX.js} +310 -305
  273. package/dist/cli-bundle/chunks/register-operations-6DQRUTIX.js.map +1 -0
  274. package/dist/cli-bundle/chunks/{register-operations-4PASGJDB.js → register-operations-73UDWMVB.js} +309 -304
  275. package/dist/cli-bundle/chunks/register-operations-73UDWMVB.js.map +7 -0
  276. package/dist/cli-bundle/chunks/{register-setup-ZCGKHDKL.js → register-setup-FXZJ2CEJ.js} +15 -15
  277. package/dist/cli-bundle/chunks/{register-setup-VIAWYFP5.js → register-setup-LYYCMQFV.js} +15 -15
  278. package/dist/cli-bundle/chunks/restore-L27TMMCF.js +17 -0
  279. package/dist/cli-bundle/chunks/{restore-4CBWUMCX.js → restore-R6YJHQK3.js} +9 -9
  280. package/dist/cli-bundle/chunks/{scheduling-shortcuts-6VFKNKCM.js → scheduling-shortcuts-LE4S7OI7.js} +12 -12
  281. package/dist/cli-bundle/chunks/{scheduling-shortcuts-ERHCVTEM.js → scheduling-shortcuts-OGODPUBL.js} +12 -12
  282. package/dist/cli-bundle/chunks/{schema-UE5KKAUX.js → schema-ICCD3HOP.js} +7 -7
  283. package/dist/cli-bundle/chunks/{schema-TDGK6N3I.js → schema-RHH23PQX.js} +7 -7
  284. package/dist/cli-bundle/chunks/{search-FP7MEU4S.js → search-HDDKOPFE.js} +10 -10
  285. package/dist/cli-bundle/chunks/{search-K4CFLQ5S.js → search-Z2VGP2Q5.js} +10 -10
  286. package/dist/cli-bundle/chunks/{stats-NJJCALEZ.js → stats-DHMRXHOB.js} +6 -6
  287. package/dist/cli-bundle/chunks/{stats-XT6QRKQY.js → stats-ETFP37MB.js} +6 -6
  288. package/dist/cli-bundle/chunks/{telemetry-HVXFZA2U.js → telemetry-NUZNKDCP.js} +4 -4
  289. package/dist/cli-bundle/chunks/{telemetry-5SQ5UDXC.js → telemetry-ZRBM22QD.js} +4 -4
  290. package/dist/cli-bundle/chunks/{test-UFSJ5YIO.js → test-H36PM746.js} +15 -15
  291. package/dist/cli-bundle/chunks/{test-YCDAUBWF.js → test-XNKTIP4Y.js} +15 -15
  292. package/dist/cli-bundle/chunks/{test-all-2BWKY3GQ.js → test-all-APCBSXQI.js} +17 -17
  293. package/dist/cli-bundle/chunks/{test-all-PM7UYN42.js → test-all-KIK3OYBY.js} +17 -17
  294. package/dist/cli-bundle/chunks/{test-runs-H4TGWGRN.js → test-runs-5SLLV3XU.js} +4 -4
  295. package/dist/cli-bundle/chunks/{test-runs-FK5E75AA.js → test-runs-L3WKLO67.js} +4 -4
  296. package/dist/cli-bundle/chunks/update-RQKI3AMW.js +24 -0
  297. package/dist/cli-bundle/chunks/{update-Y5WQVT5O.js → update-ZM7NJWHY.js} +15 -15
  298. package/dist/cli-bundle/chunks/{update-many-JTKKSA7Y.js → update-many-GFCQG6ZQ.js} +28 -28
  299. package/dist/cli-bundle/chunks/{update-many-6YAYYRLE.js → update-many-XGTJ7QIU.js} +28 -28
  300. package/dist/cli-bundle/chunks/{upgrade-DTAHZ236.js → upgrade-KJ3JGELR.js} +11 -11
  301. package/dist/cli-bundle/chunks/{upgrade-JUDU7YL4.js → upgrade-RBRQ7PQU.js} +11 -11
  302. package/dist/cli-bundle/chunks/{validate-732RWS5W.js → validate-EW6TGC7R.js} +31 -21
  303. package/dist/cli-bundle/chunks/validate-EW6TGC7R.js.map +7 -0
  304. package/dist/cli-bundle/chunks/{validate-W7H5TEDC.js → validate-T6PR5WAL.js} +32 -22
  305. package/dist/cli-bundle/chunks/validate-T6PR5WAL.js.map +1 -0
  306. package/dist/cli-bundle/main.js +180 -122
  307. package/dist/cli-bundle/main.js.map +3 -3
  308. package/dist/core/extensions/extension-types.d.ts +1 -2
  309. package/dist/core/extensions/extension-types.js +2 -2
  310. package/dist/core/extensions/extension-types.js.map +1 -1
  311. package/dist/core/history/history-rewrite.d.ts +10 -0
  312. package/dist/core/history/history-rewrite.js +27 -3
  313. package/dist/core/history/history-rewrite.js.map +1 -1
  314. package/dist/core/item/type-registry.d.ts +1 -0
  315. package/dist/core/item/type-registry.js +180 -194
  316. package/dist/core/item/type-registry.js.map +1 -1
  317. package/dist/core/schema/runtime-schema.js +65 -54
  318. package/dist/core/schema/runtime-schema.js.map +1 -1
  319. package/dist/core/schema/status-defs-file.js +26 -3
  320. package/dist/core/schema/status-defs-file.js.map +1 -1
  321. package/dist/core/search/corpus.js +25 -19
  322. package/dist/core/search/corpus.js.map +1 -1
  323. package/dist/core/shared/memo.d.ts +12 -0
  324. package/dist/core/shared/memo.js +25 -0
  325. package/dist/core/shared/memo.js.map +1 -0
  326. package/dist/core/shared/serialization.js +24 -14
  327. package/dist/core/shared/serialization.js.map +1 -1
  328. package/dist/core/shared/time.js +26 -4
  329. package/dist/core/shared/time.js.map +1 -1
  330. package/dist/core/store/front-matter-cache.d.ts +5 -0
  331. package/dist/core/store/front-matter-cache.js +79 -20
  332. package/dist/core/store/front-matter-cache.js.map +1 -1
  333. package/dist/sdk/cli-contracts/flag-contracts.js +73 -99
  334. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  335. package/dist/sdk/cli-contracts/tool-option-contracts.js +4 -2
  336. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  337. package/dist/sdk/cli-contracts/tool-schema.js +55 -94
  338. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  339. package/dist/sdk/compose.js +51 -42
  340. package/dist/sdk/compose.js.map +1 -1
  341. package/dist/sdk/package-import-adapters.d.ts +90 -2
  342. package/dist/sdk/package-import-adapters.js +274 -2
  343. package/dist/sdk/package-import-adapters.js.map +1 -1
  344. package/dist/sdk/runtime.d.ts +1 -1
  345. package/dist/sdk/runtime.js +3 -3
  346. package/dist/sdk/runtime.js.map +1 -1
  347. package/docs/AGENT_GUIDE.md +2 -2
  348. package/docs/ARCHITECTURE.md +2 -2
  349. package/docs/COMMANDS.md +8 -4
  350. package/docs/CONFIGURATION.md +1 -1
  351. package/docs/EXTENSIONS.md +12 -12
  352. package/docs/ONBOARDING.md +4 -2
  353. package/docs/README.md +2 -0
  354. package/docs/examples/starter-extension/README.md +11 -10
  355. package/marketplace.json +3 -3
  356. package/package.json +4 -3
  357. package/packages/pm-beads/extensions/beads/runtime-loader.ts +27 -40
  358. package/packages/pm-beads/extensions/beads/runtime.ts +106 -223
  359. package/packages/pm-calendar/extensions/calendar/runtime.ts +21 -18
  360. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +9 -11
  361. package/packages/pm-todos/extensions/todos/runtime-loader.ts +48 -76
  362. package/packages/pm-todos/extensions/todos/runtime.ts +61 -257
  363. package/plugins/pm-claude/.claude-plugin/plugin.json +2 -2
  364. package/plugins/pm-claude/README.md +6 -3
  365. package/plugins/pm-claude/commands/pm-init.md +1 -1
  366. package/plugins/pm-claude/scripts/pm-mcp-server.mjs +73 -31
  367. package/plugins/pm-codex/scripts/pm-mcp-server.mjs +80 -34
  368. package/scripts/install.ps1 +7 -7
  369. package/dist/cli-bundle/chunks/activity-WEIEMM73.js +0 -16
  370. package/dist/cli-bundle/chunks/chunk-5GVTFFTC.js.map +0 -1
  371. package/dist/cli-bundle/chunks/chunk-66Z3X7ZG.js.map +0 -7
  372. package/dist/cli-bundle/chunks/chunk-6ITZLD4T.js.map +0 -7
  373. package/dist/cli-bundle/chunks/chunk-6YCYF2AI.js.map +0 -1
  374. package/dist/cli-bundle/chunks/chunk-7NSPKJUS.js.map +0 -7
  375. package/dist/cli-bundle/chunks/chunk-7TH5NMVB.js.map +0 -7
  376. package/dist/cli-bundle/chunks/chunk-7W4H4K26.js.map +0 -1
  377. package/dist/cli-bundle/chunks/chunk-AIAIXG7I.js.map +0 -7
  378. package/dist/cli-bundle/chunks/chunk-AJEBCRIY.js.map +0 -1
  379. package/dist/cli-bundle/chunks/chunk-GFMSLORL.js.map +0 -7
  380. package/dist/cli-bundle/chunks/chunk-GRRG3MCT.js.map +0 -7
  381. package/dist/cli-bundle/chunks/chunk-I66WE2HE.js.map +0 -1
  382. package/dist/cli-bundle/chunks/chunk-JXAUVO6X.js.map +0 -7
  383. package/dist/cli-bundle/chunks/chunk-K2VYLVX4.js.map +0 -1
  384. package/dist/cli-bundle/chunks/chunk-KIYCOJ63.js.map +0 -1
  385. package/dist/cli-bundle/chunks/chunk-MNBPX5JS.js.map +0 -7
  386. package/dist/cli-bundle/chunks/chunk-NRZS637N.js.map +0 -1
  387. package/dist/cli-bundle/chunks/chunk-RM37OPYK.js.map +0 -1
  388. package/dist/cli-bundle/chunks/chunk-SPM2XLWI.js.map +0 -7
  389. package/dist/cli-bundle/chunks/chunk-SYNKD3ZG.js.map +0 -7
  390. package/dist/cli-bundle/chunks/chunk-TPOFWBMY.js.map +0 -1
  391. package/dist/cli-bundle/chunks/chunk-XCHUVHKU.js.map +0 -1
  392. package/dist/cli-bundle/chunks/chunk-XEWQKDYZ.js.map +0 -7
  393. package/dist/cli-bundle/chunks/chunk-XWGEMNBR.js.map +0 -7
  394. package/dist/cli-bundle/chunks/chunk-YLZZ6T54.js.map +0 -1
  395. package/dist/cli-bundle/chunks/chunk-YPKFV2JR.js.map +0 -1
  396. package/dist/cli-bundle/chunks/close-YCWQQPDS.js +0 -14
  397. package/dist/cli-bundle/chunks/close-many-2IV4J2TR.js.map +0 -1
  398. package/dist/cli-bundle/chunks/close-many-SWY34BII.js.map +0 -7
  399. package/dist/cli-bundle/chunks/create-XTMAPS7I.js +0 -28
  400. package/dist/cli-bundle/chunks/files-5D65CHGE.js.map +0 -1
  401. package/dist/cli-bundle/chunks/health-L2U3AFKV.js.map +0 -1
  402. package/dist/cli-bundle/chunks/health-MM7AWXYF.js.map +0 -7
  403. package/dist/cli-bundle/chunks/history-DD7L7BNL.js +0 -18
  404. package/dist/cli-bundle/chunks/history-compact-HALOTOU7.js.map +0 -1
  405. package/dist/cli-bundle/chunks/history-compact-MV25P7DM.js.map +0 -7
  406. package/dist/cli-bundle/chunks/history-redact-IX4YEWMY.js +0 -19
  407. package/dist/cli-bundle/chunks/history-repair-44MODPQF.js.map +0 -1
  408. package/dist/cli-bundle/chunks/history-repair-CPNAOCNF.js.map +0 -7
  409. package/dist/cli-bundle/chunks/init-HHVQQP6C.js +0 -22
  410. package/dist/cli-bundle/chunks/next-QM6YJIIS.js.map +0 -1
  411. package/dist/cli-bundle/chunks/profile-CCOKZ2IQ.js.map +0 -1
  412. package/dist/cli-bundle/chunks/profile-HUCENIEQ.js.map +0 -7
  413. package/dist/cli-bundle/chunks/register-list-query-ROSNIL52.js.map +0 -1
  414. package/dist/cli-bundle/chunks/register-list-query-XN4ZRHSV.js.map +0 -7
  415. package/dist/cli-bundle/chunks/register-mutation-CFSB2MS3.js.map +0 -1
  416. package/dist/cli-bundle/chunks/register-mutation-KRLAHEL2.js.map +0 -7
  417. package/dist/cli-bundle/chunks/register-operations-4PASGJDB.js.map +0 -7
  418. package/dist/cli-bundle/chunks/register-operations-MBN4KGUM.js.map +0 -1
  419. package/dist/cli-bundle/chunks/restore-5UEAGG3W.js +0 -17
  420. package/dist/cli-bundle/chunks/update-MTCFES6X.js +0 -24
  421. package/dist/cli-bundle/chunks/validate-732RWS5W.js.map +0 -7
  422. package/dist/cli-bundle/chunks/validate-W7H5TEDC.js.map +0 -1
  423. /package/dist/cli-bundle/chunks/{activity-WEIEMM73.js.map → activity-IDS5GSYG.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{activity-CUC4JY3U.js.map → activity-OENQCYZD.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{aggregate-SW5PNGCS.js.map → aggregate-EC4LWS3U.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{aggregate-DKUTRY6R.js.map → aggregate-RCB3QJJE.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{append-H32VOR2Y.js.map → append-ADBOI3A6.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{append-UBM632FK.js.map → append-XLEKVVWB.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{chunk-Q6NXOHS6.js.map → chunk-2LRMWMZ6.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{chunk-KLXF7NCC.js.map → chunk-3C5T3ZEO.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{chunk-JMK5GCK2.js.map → chunk-3MLQZI3H.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{chunk-BTX5MIQF.js.map → chunk-4EVY7CQN.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{chunk-Q6K2OACU.js.map → chunk-4IW7STMB.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{chunk-EMPGXBUF.js.map → chunk-4SHME4VR.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{chunk-2KWL5NPW.js.map → chunk-6YB7HG2J.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{chunk-36UGKF4O.js.map → chunk-724VLYDJ.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{chunk-Y4NRKBFW.js.map → chunk-7ITQSEBL.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{chunk-W47SML5B.js.map → chunk-A222YWOQ.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{chunk-3LCUASYG.js.map → chunk-A2W3XKAD.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{chunk-KN3URLKS.js.map → chunk-AOP2EMK3.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{chunk-IEEJQCZ4.js.map → chunk-CQFZRLXQ.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{chunk-4NUOWFBT.js.map → chunk-CQISNF3Z.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{chunk-S62UANU7.js.map → chunk-D2LDM35X.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{chunk-IG5JYZGU.js.map → chunk-DJ5S2LDY.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{chunk-A6VOGKBA.js.map → chunk-EB4BBEZD.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{chunk-QH3FSKRJ.js.map → chunk-EH23N5FX.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{chunk-HQTPRV4D.js.map → chunk-FDNJMYZB.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{chunk-N2JSWVWG.js.map → chunk-HL742IBM.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{chunk-CZPVDLD2.js.map → chunk-M6PR5BC6.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{chunk-MRD4T5LF.js.map → chunk-MZ4NH46V.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{chunk-ZNHEYCDD.js.map → chunk-N2LOJUBB.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{chunk-WJAMWAHZ.js.map → chunk-NGDK3KEZ.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{chunk-2CHRYUXL.js.map → chunk-NHKXOMZ5.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{chunk-7MYWF4ZX.js.map → chunk-OTSP6UEX.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{chunk-UGLU6Q2I.js.map → chunk-PUVPC5DL.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{chunk-LTRAF2D7.js.map → chunk-PV5JS7MP.js.map} +0 -0
  457. /package/dist/cli-bundle/chunks/{chunk-KCO2EAN5.js.map → chunk-Q2266G4S.js.map} +0 -0
  458. /package/dist/cli-bundle/chunks/{chunk-SYVUU7EK.js.map → chunk-Q3XVLRCJ.js.map} +0 -0
  459. /package/dist/cli-bundle/chunks/{chunk-6ZMBJRDJ.js.map → chunk-R7EMP4JG.js.map} +0 -0
  460. /package/dist/cli-bundle/chunks/{chunk-U2BEEM2X.js.map → chunk-T5RTYLZJ.js.map} +0 -0
  461. /package/dist/cli-bundle/chunks/{chunk-UTSH5GWX.js.map → chunk-TGYDJEJH.js.map} +0 -0
  462. /package/dist/cli-bundle/chunks/{chunk-H4GRLYJS.js.map → chunk-TO4KCIOT.js.map} +0 -0
  463. /package/dist/cli-bundle/chunks/{chunk-EUKTMRN3.js.map → chunk-TUV7SIWZ.js.map} +0 -0
  464. /package/dist/cli-bundle/chunks/{chunk-55XRYWEG.js.map → chunk-V655JQ5J.js.map} +0 -0
  465. /package/dist/cli-bundle/chunks/{chunk-3Q2HBMTI.js.map → chunk-W5X3AHJN.js.map} +0 -0
  466. /package/dist/cli-bundle/chunks/{chunk-XTHQWXVC.js.map → chunk-WBWRQS32.js.map} +0 -0
  467. /package/dist/cli-bundle/chunks/{chunk-UT73HUPC.js.map → chunk-WOOB7PV7.js.map} +0 -0
  468. /package/dist/cli-bundle/chunks/{chunk-5PGBHRY3.js.map → chunk-WSDIALO4.js.map} +0 -0
  469. /package/dist/cli-bundle/chunks/{chunk-LRKMWUUV.js.map → chunk-WTXDLBSZ.js.map} +0 -0
  470. /package/dist/cli-bundle/chunks/{chunk-FFOQHGNH.js.map → chunk-XBIYI23P.js.map} +0 -0
  471. /package/dist/cli-bundle/chunks/{chunk-2ASNV4DH.js.map → chunk-Y2VSCQ77.js.map} +0 -0
  472. /package/dist/cli-bundle/chunks/{chunk-ZNT7KEWE.js.map → chunk-YZR7UMZ6.js.map} +0 -0
  473. /package/dist/cli-bundle/chunks/{chunk-CYBDUHNO.js.map → chunk-ZIEGTQCY.js.map} +0 -0
  474. /package/dist/cli-bundle/chunks/{chunk-TTHCEV5Q.js.map → chunk-ZZWMJVW2.js.map} +0 -0
  475. /package/dist/cli-bundle/chunks/{claim-Z7MEQCBT.js.map → claim-D6L33A5Y.js.map} +0 -0
  476. /package/dist/cli-bundle/chunks/{claim-SENTPZBN.js.map → claim-YAFUTPVK.js.map} +0 -0
  477. /package/dist/cli-bundle/chunks/{close-YCWQQPDS.js.map → close-KLDLHAOP.js.map} +0 -0
  478. /package/dist/cli-bundle/chunks/{close-424MX4CU.js.map → close-TGYXG7TV.js.map} +0 -0
  479. /package/dist/cli-bundle/chunks/{comments-4FGNTSNV.js.map → comments-QC6ARR5X.js.map} +0 -0
  480. /package/dist/cli-bundle/chunks/{comments-7YS5MY5X.js.map → comments-ZHVYGUVC.js.map} +0 -0
  481. /package/dist/cli-bundle/chunks/{config-G74GISC4.js.map → config-O6W2EU2G.js.map} +0 -0
  482. /package/dist/cli-bundle/chunks/{config-BZJKK7FZ.js.map → config-XQRFJXJP.js.map} +0 -0
  483. /package/dist/cli-bundle/chunks/{context-LHVKJSPJ.js.map → context-IHE3IXN5.js.map} +0 -0
  484. /package/dist/cli-bundle/chunks/{context-ZQY54JNS.js.map → context-WSYWBEUL.js.map} +0 -0
  485. /package/dist/cli-bundle/chunks/{contracts-FIZLMP7O.js.map → contracts-CVBINC7C.js.map} +0 -0
  486. /package/dist/cli-bundle/chunks/{contracts-CP2EZJC7.js.map → contracts-NLCDIZAT.js.map} +0 -0
  487. /package/dist/cli-bundle/chunks/{copy-TLW7JTQT.js.map → copy-7MUQC44A.js.map} +0 -0
  488. /package/dist/cli-bundle/chunks/{copy-GYNQQPW2.js.map → copy-ANWXDJVC.js.map} +0 -0
  489. /package/dist/cli-bundle/chunks/{create-XTMAPS7I.js.map → create-AJ6HUR5W.js.map} +0 -0
  490. /package/dist/cli-bundle/chunks/{create-VSKYSOCD.js.map → create-JIA2IFCO.js.map} +0 -0
  491. /package/dist/cli-bundle/chunks/{delete-ANTOTI2I.js.map → delete-5OLYWQIC.js.map} +0 -0
  492. /package/dist/cli-bundle/chunks/{delete-4W5JYCEG.js.map → delete-INHKCIRN.js.map} +0 -0
  493. /package/dist/cli-bundle/chunks/{deps-HPPE6MJN.js.map → deps-CCSWGZW7.js.map} +0 -0
  494. /package/dist/cli-bundle/chunks/{deps-ZQZN54EZ.js.map → deps-IYEID3QX.js.map} +0 -0
  495. /package/dist/cli-bundle/chunks/{docs-XJNYBJGE.js.map → docs-3XZK22WF.js.map} +0 -0
  496. /package/dist/cli-bundle/chunks/{docs-RPOVFMP3.js.map → docs-PKO7OEIM.js.map} +0 -0
  497. /package/dist/cli-bundle/chunks/{eval-RFBI5FGS.js.map → eval-5XYP6NMY.js.map} +0 -0
  498. /package/dist/cli-bundle/chunks/{eval-DM6JBZTS.js.map → eval-O4WGQYDI.js.map} +0 -0
  499. /package/dist/cli-bundle/chunks/{extension-TTSEFQTS.js.map → extension-PVGRRZZG.js.map} +0 -0
  500. /package/dist/cli-bundle/chunks/{extension-B3YY4WY5.js.map → extension-T7JNTAAA.js.map} +0 -0
  501. /package/dist/cli-bundle/chunks/{focus-ZHN7WIGX.js.map → focus-6FA5KYRY.js.map} +0 -0
  502. /package/dist/cli-bundle/chunks/{focus-C3PEJV2C.js.map → focus-CQ63JFDG.js.map} +0 -0
  503. /package/dist/cli-bundle/chunks/{gc-D4JQ6OWN.js.map → gc-3BG67KTO.js.map} +0 -0
  504. /package/dist/cli-bundle/chunks/{gc-VZIXDL32.js.map → gc-PEZYGNVB.js.map} +0 -0
  505. /package/dist/cli-bundle/chunks/{get-GIBRUUOP.js.map → get-J6CSJ4SX.js.map} +0 -0
  506. /package/dist/cli-bundle/chunks/{get-IOVAN6RU.js.map → get-KJTKGNEQ.js.map} +0 -0
  507. /package/dist/cli-bundle/chunks/{history-DD7L7BNL.js.map → history-IOH6FKG7.js.map} +0 -0
  508. /package/dist/cli-bundle/chunks/{history-IL7XCEX2.js.map → history-W6QVR6FA.js.map} +0 -0
  509. /package/dist/cli-bundle/chunks/{history-redact-VYCWQFK7.js.map → history-redact-TUWOUYX5.js.map} +0 -0
  510. /package/dist/cli-bundle/chunks/{history-redact-IX4YEWMY.js.map → history-redact-VVDOARNO.js.map} +0 -0
  511. /package/dist/cli-bundle/chunks/{init-HHVQQP6C.js.map → init-CZLEEE6Q.js.map} +0 -0
  512. /package/dist/cli-bundle/chunks/{init-F27NHENZ.js.map → init-MAA6UMNQ.js.map} +0 -0
  513. /package/dist/cli-bundle/chunks/{learnings-XSFSUUWK.js.map → learnings-EYC3OKS2.js.map} +0 -0
  514. /package/dist/cli-bundle/chunks/{learnings-HJVDQIGY.js.map → learnings-HKJJUVTA.js.map} +0 -0
  515. /package/dist/cli-bundle/chunks/{list-VMPWTURB.js.map → list-HFD5737R.js.map} +0 -0
  516. /package/dist/cli-bundle/chunks/{list-HPMEKCAA.js.map → list-KN3TL5Y5.js.map} +0 -0
  517. /package/dist/cli-bundle/chunks/{notes-WDDBPC4D.js.map → notes-XATYT43P.js.map} +0 -0
  518. /package/dist/cli-bundle/chunks/{notes-GDZIKGR6.js.map → notes-ZG6RLZXB.js.map} +0 -0
  519. /package/dist/cli-bundle/chunks/{plan-BGDR73Z6.js.map → plan-5NWQL2DH.js.map} +0 -0
  520. /package/dist/cli-bundle/chunks/{plan-C5IMM335.js.map → plan-DVVLX7LK.js.map} +0 -0
  521. /package/dist/cli-bundle/chunks/{register-setup-ZCGKHDKL.js.map → register-setup-FXZJ2CEJ.js.map} +0 -0
  522. /package/dist/cli-bundle/chunks/{register-setup-VIAWYFP5.js.map → register-setup-LYYCMQFV.js.map} +0 -0
  523. /package/dist/cli-bundle/chunks/{restore-5UEAGG3W.js.map → restore-L27TMMCF.js.map} +0 -0
  524. /package/dist/cli-bundle/chunks/{restore-4CBWUMCX.js.map → restore-R6YJHQK3.js.map} +0 -0
  525. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-6VFKNKCM.js.map → scheduling-shortcuts-LE4S7OI7.js.map} +0 -0
  526. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-ERHCVTEM.js.map → scheduling-shortcuts-OGODPUBL.js.map} +0 -0
  527. /package/dist/cli-bundle/chunks/{schema-UE5KKAUX.js.map → schema-ICCD3HOP.js.map} +0 -0
  528. /package/dist/cli-bundle/chunks/{schema-TDGK6N3I.js.map → schema-RHH23PQX.js.map} +0 -0
  529. /package/dist/cli-bundle/chunks/{search-FP7MEU4S.js.map → search-HDDKOPFE.js.map} +0 -0
  530. /package/dist/cli-bundle/chunks/{search-K4CFLQ5S.js.map → search-Z2VGP2Q5.js.map} +0 -0
  531. /package/dist/cli-bundle/chunks/{stats-NJJCALEZ.js.map → stats-DHMRXHOB.js.map} +0 -0
  532. /package/dist/cli-bundle/chunks/{stats-XT6QRKQY.js.map → stats-ETFP37MB.js.map} +0 -0
  533. /package/dist/cli-bundle/chunks/{telemetry-HVXFZA2U.js.map → telemetry-NUZNKDCP.js.map} +0 -0
  534. /package/dist/cli-bundle/chunks/{telemetry-5SQ5UDXC.js.map → telemetry-ZRBM22QD.js.map} +0 -0
  535. /package/dist/cli-bundle/chunks/{test-UFSJ5YIO.js.map → test-H36PM746.js.map} +0 -0
  536. /package/dist/cli-bundle/chunks/{test-YCDAUBWF.js.map → test-XNKTIP4Y.js.map} +0 -0
  537. /package/dist/cli-bundle/chunks/{test-all-2BWKY3GQ.js.map → test-all-APCBSXQI.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{test-all-PM7UYN42.js.map → test-all-KIK3OYBY.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{test-runs-H4TGWGRN.js.map → test-runs-5SLLV3XU.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{test-runs-FK5E75AA.js.map → test-runs-L3WKLO67.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{update-MTCFES6X.js.map → update-RQKI3AMW.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{update-Y5WQVT5O.js.map → update-ZM7NJWHY.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{update-many-JTKKSA7Y.js.map → update-many-GFCQG6ZQ.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{update-many-6YAYYRLE.js.map → update-many-XGTJ7QIU.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{upgrade-DTAHZ236.js.map → upgrade-KJ3JGELR.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{upgrade-JUDU7YL4.js.map → upgrade-RBRQ7PQU.js.map} +0 -0
@@ -4,7 +4,7 @@
4
4
  * Implements the pm completion command surface and its agent-facing runtime behavior.
5
5
  */
6
6
 
7
- !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]="3c41d782-b160-57e6-a7cc-ad832496a257")}catch(e){}}();
7
+ !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]="c5c33ca2-acd6-55cc-8bf9-de815086e990")}catch(e){}}();
8
8
  import { EXIT_CODE } from "../../core/shared/constants.js";
9
9
  import { PmCliError } from "../../core/shared/errors.js";
10
10
  import { SCAFFOLD_CAPABILITIES } from "./extension/scaffold.js";
@@ -50,6 +50,84 @@ const MUTATION_FLAGS = "--author --message --force --json --quiet --no-changed-f
50
50
  const DELETE_MUTATION_FLAGS = "--dry-run --author --message --force --json --quiet --no-changed-fields --id-only --pm-path --path --no-extensions --no-pager --profile --help";
51
51
  const CLOSE_MUTATION_FLAGS = "--author --message --validate-close --duplicate-of --force --json --quiet --no-changed-fields --id-only --pm-path --path --no-extensions --no-pager --profile --help";
52
52
  const RELEASE_MUTATION_FLAGS = "--allow-audit-release --author --message --force --json --quiet --no-changed-fields --id-only --pm-path --path --no-extensions --no-pager --profile --help";
53
+ const COMMAND_COMPLETION_DESCRIPTIONS = [
54
+ ["init", "Initialize pm storage for the current workspace"],
55
+ ["config", "Read or update pm settings"],
56
+ ["extension", "Manage extension lifecycle operations"],
57
+ ["package", "Manage package lifecycle operations"],
58
+ ["packages", "Alias for package"],
59
+ ["create", "Create a new project management item"],
60
+ ["copy", "Copy an existing item to a new ID"],
61
+ ["focus", "Set/clear/show the session focused parent for new items"],
62
+ ["list", "List active items with optional filters"],
63
+ ["list-all", "List all items with optional filters"],
64
+ ["list-draft", "List draft items with optional filters"],
65
+ ["list-open", "List open items with optional filters"],
66
+ ["list-in-progress", "List in-progress items with optional filters"],
67
+ ["list-blocked", "List blocked items with optional filters"],
68
+ ["list-closed", "List closed items with optional filters"],
69
+ ["list-canceled", "List canceled items with optional filters"],
70
+ ["aggregate", "Aggregate grouped item counts and numeric stats for governance queries"],
71
+ ["dedupe-audit", "Audit potential duplicate items and emit merge suggestions"],
72
+ ["guide", "Browse local progressive-disclosure guides"],
73
+ ["calendar", "Show calendar views for deadlines and reminders"],
74
+ ["cal", "Alias for calendar"],
75
+ ["context", "Show a token-efficient project context snapshot"],
76
+ ["ctx", "Alias for context"],
77
+ ["get", "Show item details by ID"],
78
+ ["next", "Recommend the next actionable (unblocked, ready) work item"],
79
+ ["search", "Search items with keyword, semantic, or hybrid modes"],
80
+ ["reindex", "Rebuild search artifacts"],
81
+ ["history", "Show item history entries"],
82
+ ["history-compact", "Compact history streams into a synthetic baseline + retained tail"],
83
+ ["history-redact", "Redact sensitive literals/patterns and recompute history hashes"],
84
+ ["history-repair", "Re-anchor a drifted history chain so pm health/validate report ok"],
85
+ ["schema", "Manage custom item types and statuses in .agents/pm/schema/*.json"],
86
+ ["profile", "List, show, apply, and lint project profiles (archetype schema/config/template/package bundles)"],
87
+ ["plan", "Agent-optimized Plan item workflow (create/show/add-step/update-step/complete-step/link/approve/materialize)"],
88
+ ["activity", "Show recent activity across items"],
89
+ ["restore", "Restore an item to an earlier state"],
90
+ ["update", "Update item fields and metadata"],
91
+ ["update-many", "Bulk-update matched items with dry-run and rollback checkpoints"],
92
+ ["normalize", "Normalize lifecycle metadata with dry-run planning or apply mode"],
93
+ ["close", "Close an item (reason requirement follows governance settings)"],
94
+ ["close-many", "Bulk-close matched items with an optional shared reason and rollback checkpoint"],
95
+ ["delete", "Delete an item and record the change"],
96
+ ["append", "Append text to an item body"],
97
+ ["comments", "List or add comments for an item"],
98
+ ["comments-audit", "Audit latest comments or full history across filtered items"],
99
+ ["notes", "List or add notes for an item"],
100
+ ["learnings", "List or add learnings for an item"],
101
+ ["files", "Manage linked files"],
102
+ ["docs", "Manage linked docs"],
103
+ ["deps", "Show dependency relationships for an item"],
104
+ ["test", "Manage linked tests and optionally run them"],
105
+ ["test-all", "Run linked tests across matching items"],
106
+ ["test-runs", "Manage background linked-test runs"],
107
+ ["stats", "Show project tracker statistics"],
108
+ ["health", "Show project tracker health checks"],
109
+ ["validate", "Run standalone validation checks"],
110
+ ["gc", "Clean optional cache artifacts"],
111
+ ["contracts", "Show machine-readable command and schema contracts"],
112
+ ["claim", "Claim an item for active work"],
113
+ ["release", "Release the active claim for an item"],
114
+ ["start-task", "Lifecycle alias to claim and set in_progress"],
115
+ ["pause-task", "Lifecycle alias to reopen and release claim"],
116
+ ["close-task", "Lifecycle alias to close and release claim"],
117
+ ["meet", "Shortcut to create a Meeting with scheduling defaults"],
118
+ ["event", "Shortcut to create an Event with scheduling defaults"],
119
+ ["remind", "Shortcut to create a Reminder from a point in time"],
120
+ ["templates", "Manage reusable create templates"],
121
+ ["completion", "Generate shell completion"],
122
+ ["help", "Display help for a command"],
123
+ ];
124
+ const FISH_COMMAND_DESCRIPTION_OVERRIDES = new Map([
125
+ ["calendar", "Show deadline/reminder calendar views"],
126
+ ["schema", "Inspect and manage runtime schema"],
127
+ ["profile", "List, show, apply, and lint project profiles (archetype bundles)"],
128
+ ["plan", "Agent-optimized Plan workflow (create/show/add-step/update-step/complete-step/link/approve/materialize)"],
129
+ ["start-task", "Lifecycle alias to claim and set in-progress"],
130
+ ]);
53
131
  const GLOBAL_FLAGS = GLOBAL_FLAG_CONTRACTS.flatMap((entry) => [entry.short, entry.flag, ...(entry.aliases ?? [])])
54
132
  .filter((value) => Boolean(value))
55
133
  .join(" ");
@@ -88,6 +166,132 @@ function renderZshRuntimeFieldFlagSpecs(runtimeFlags) {
88
166
  }
89
167
  return `${normalized.map((flag) => ` '${flag}[Runtime schema field flag]:value' \\`).join("\n")}\n`;
90
168
  }
169
+ function renderZshArgumentSpecs(specs, options = {}) {
170
+ const trailingContinuation = options.trailingContinuation ?? true;
171
+ const lastSpecIndex = specs.length - 1;
172
+ return specs
173
+ .map((spec, index) => ` ${spec}${trailingContinuation || index !== lastSpecIndex ? " \\" : ""}`)
174
+ .join("\n");
175
+ }
176
+ function renderZshCommandDescriptions() {
177
+ return COMMAND_COMPLETION_DESCRIPTIONS
178
+ .map(([command, description]) => ` '${command}:${description}'`)
179
+ .join("\n");
180
+ }
181
+ function renderFishCommandDescriptions() {
182
+ return COMMAND_COMPLETION_DESCRIPTIONS
183
+ .filter(([command]) => command !== "help")
184
+ .map(([command, description]) => {
185
+ const fishDescription = FISH_COMMAND_DESCRIPTION_OVERRIDES.get(command) ?? description;
186
+ return `complete -c pm -n __pm_no_subcommand -a ${command.padEnd(16)} -d '${fishDescription}'`;
187
+ })
188
+ .join("\n");
189
+ }
190
+ function renderZshPresenceFilterSpecs(options) {
191
+ const missingSpecs = [
192
+ "reviewer-missing[Select only items missing reviewer]",
193
+ "risk-missing[Select only items missing risk]",
194
+ "confidence-missing[Select only items missing confidence]",
195
+ "sprint-missing[Select only items missing sprint]",
196
+ "release-missing[Select only items missing release]",
197
+ ];
198
+ const contentMissingAliasSpecs = options.includeContentMissingAliases === true
199
+ ? [
200
+ "files-missing[Alias for --no-files]",
201
+ "docs-missing[Alias for --no-docs]",
202
+ ]
203
+ : [];
204
+ const pairedSpecs = [
205
+ ["has-notes[Select only items that have notes]", "no-notes[Select only items with no notes]"],
206
+ ["has-learnings[Select only items that have learnings]", "no-learnings[Select only items with no learnings]"],
207
+ ["has-files[Select only items that have linked files]", "no-files[Select only items with no linked files]"],
208
+ ["has-docs[Select only items that have linked docs]", "no-docs[Select only items with no linked docs]"],
209
+ ["has-tests[Select only items that have linked tests]", "no-tests[Select only items with no linked tests]"],
210
+ ["has-comments[Select only items that have comments]", "no-comments[Select only items with no comments]"],
211
+ ["has-deps[Select only items that have dependencies]", "no-deps[Select only items with no dependencies]"],
212
+ ["has-body[Select only items with non-empty body]", "empty-body[Select only items with empty body]"],
213
+ [
214
+ "has-linked-command[Select only items that have a linked command]",
215
+ "no-linked-command[Select only items with no linked command]",
216
+ ],
217
+ ];
218
+ return renderZshArgumentSpecs([
219
+ ...[...missingSpecs, ...contentMissingAliasSpecs].map((spec) => `'--${options.missingPrefix}${spec}'`),
220
+ ...pairedSpecs.flatMap(([positive, negative]) => [
221
+ `'--${options.pairedPrefix}${positive}'`,
222
+ `'--${options.pairedPrefix}${negative}'`,
223
+ ]),
224
+ ]);
225
+ }
226
+ const ZSH_MUTATION_COLLECTION_ARGUMENT_SPECS = [
227
+ "'--comment[Comment seed author=<value>,created_at=<iso|now>,text=<value>]:comment'",
228
+ "'--note[Note seed author=<value>,created_at=<iso|now>,text=<value>]:note'",
229
+ "'--learning[Learning seed author=<value>,created_at=<iso|now>,text=<value>]:learning'",
230
+ "'--file[Linked file path=<value>,scope=<project|global>,note=<text>]:file'",
231
+ "'--test[Linked test command=<value>,path=<value>,scope=<project|global>]:test'",
232
+ "'--doc[Linked doc path=<value>,scope=<project|global>,note=<text>]:doc'",
233
+ "'--reminder[Reminder entry at=<iso|relative>|date=<iso|relative>,text=<text>|title=<text>]:reminder'",
234
+ "'--event[Event entry start=<iso|relative>,end=<iso|relative>,recur_*]:event'",
235
+ "'--type-option[Type option key=value or key=<name>,value=<value>]:type_option'",
236
+ "'--unset[Clear scalar metadata field by name]:field'",
237
+ "'--clear-deps[Clear dependency entries]'",
238
+ "'--clear-comments[Clear comments]'",
239
+ "'--clear-notes[Clear notes]'",
240
+ "'--clear-learnings[Clear learnings]'",
241
+ "'--clear-files[Clear linked files]'",
242
+ "'--clear-tests[Clear linked tests]'",
243
+ "'--clear-docs[Clear linked docs]'",
244
+ "'--clear-reminders[Clear reminders]'",
245
+ "'--clear-events[Clear events]'",
246
+ "'--clear-type-options[Clear type options]'",
247
+ ];
248
+ function renderZshScheduleItemSpecs(kind) {
249
+ const leadingSpecs = kind === "reminder"
250
+ ? [
251
+ "'--at[Reminder time (default +1d)]:at'",
252
+ "'--text[Reminder text (defaults to title)]:text'",
253
+ ]
254
+ : [
255
+ "'--start[Start time (ISO, now, or relative)]:start'",
256
+ "'--duration[Duration from start (default 1h)]:duration'",
257
+ "'--end[End time (overrides --duration)]:end'",
258
+ "'--location[Location]:location'",
259
+ "'--timezone[IANA timezone]:timezone'",
260
+ "'--all-day[Mark as an all-day event]'",
261
+ ];
262
+ return renderZshArgumentSpecs([
263
+ ...leadingSpecs,
264
+ "'--parent[Parent item id]:parent'",
265
+ "'--allow-missing-parent[Permit a parent id that does not exist yet]'",
266
+ "'--tags[Comma-separated tags]:tags'",
267
+ "'(-p --priority)'{-p,--priority}'[Priority (0-4)]:(0 1 2 3 4)'",
268
+ "'(-b --body)'{-b,--body}'[Item body]:body'",
269
+ "'(-d --description)'{-d,--description}'[Short description]:description'",
270
+ "'--author[Mutation author]:author'",
271
+ "'--message[History message]:message'",
272
+ "'--json[Output JSON]'",
273
+ "'--quiet[Suppress stdout]'",
274
+ ], { trailingContinuation: false });
275
+ }
276
+ function renderZshBulkSelectionFilterSpecs(action, statusChoices, typeChoices, tagChoices) {
277
+ return renderZshArgumentSpecs([
278
+ `'--filter-status[Filter by status before ${action}]:(${statusChoices})'`,
279
+ `'--filter-type[Filter by type before ${action}]:(${typeChoices})'`,
280
+ `'--filter-tag[Filter by tag before ${action}]:(${tagChoices})'`,
281
+ `'--filter-priority[Filter by priority before ${action}]:(0 1 2 3 4)'`,
282
+ "'--filter-deadline-before[Filter by deadline upper bound]:deadline'",
283
+ "'--filter-deadline-after[Filter by deadline lower bound]:deadline'",
284
+ "'--filter-updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp'",
285
+ "'--filter-updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp'",
286
+ "'--filter-created-after[Filter by created_at lower bound (ISO/relative)]:timestamp'",
287
+ "'--filter-created-before[Filter by created_at upper bound (ISO/relative)]:timestamp'",
288
+ `'--filter-assignee[Filter by assignee before ${action}]:assignee'`,
289
+ "'--filter-assignee-filter[Filter assignee presence]:(assigned unassigned)'",
290
+ "'--filter-parent[Filter by parent item ID]:parent'",
291
+ "'--filter-sprint[Filter by sprint]:sprint'",
292
+ "'--filter-release[Filter by release]:release'",
293
+ ]);
294
+ }
91
295
  function renderFishRuntimeFieldFlagSpecs(commands, runtimeFlags) {
92
296
  const normalizedFlags = normalizeRuntimeCompletionFlags(runtimeFlags).map((flag) => flag.slice(2));
93
297
  if (commands.length === 0 || normalizedFlags.length === 0) {
@@ -114,7 +318,7 @@ function renderBashDynamicChoiceResolver(kind, command, fallback) {
114
318
  ` ttl="\${${ttlVar}:-120}"`,
115
319
  ` cache_ts="\${${cacheTsVar}:-0}"`,
116
320
  ` if [[ -n "\${${cacheVar}:-}" && "$now" -ne 0 && $((now - cache_ts)) -lt "$ttl" ]]; then`,
117
- ` printf '%s\\n' "\$${cacheVar}"`,
321
+ ` printf '%s\\n' "$${cacheVar}"`,
118
322
  " return 0",
119
323
  " fi",
120
324
  ` resolved="$(pm ${command} 2>/dev/null)"`,
@@ -123,7 +327,7 @@ function renderBashDynamicChoiceResolver(kind, command, fallback) {
123
327
  " fi",
124
328
  ` ${cacheVar}="$resolved"`,
125
329
  ` ${cacheTsVar}="$now"`,
126
- ` printf '%s\\n' "\$${cacheVar}"`,
330
+ ` printf '%s\\n' "$${cacheVar}"`,
127
331
  "}",
128
332
  ];
129
333
  }
@@ -453,6 +657,13 @@ export function generateZshScript(itemTypes = [], tags = [], eagerTagExpansion =
453
657
  const zshSearchRuntimeFieldFlags = renderZshRuntimeFieldFlagSpecs(runtime.command_flags?.search);
454
658
  const zshCalendarRuntimeFieldFlags = renderZshRuntimeFieldFlagSpecs(runtime.command_flags?.calendar);
455
659
  const zshContextRuntimeFieldFlags = renderZshRuntimeFieldFlagSpecs(runtime.command_flags?.context);
660
+ const zshPresenceFilterFlags = renderZshPresenceFilterSpecs({
661
+ missingPrefix: "filter-",
662
+ pairedPrefix: "",
663
+ includeContentMissingAliases: true,
664
+ });
665
+ const zshBulkPresenceFilterFlags = renderZshPresenceFilterSpecs({ missingPrefix: "filter-", pairedPrefix: "filter-" });
666
+ const zshMutationCollectionFlags = renderZshArgumentSpecs(ZSH_MUTATION_COLLECTION_ARGUMENT_SPECS);
456
667
  const dynamicTagResolver = useEagerTagExpansion
457
668
  ? ""
458
669
  : `
@@ -477,75 +688,7 @@ _pm_tag_choices() {
477
688
  _pm_commands() {
478
689
  local -a commands
479
690
  commands=(
480
- 'init:Initialize pm storage for the current workspace'
481
- 'config:Read or update pm settings'
482
- 'extension:Manage extension lifecycle operations'
483
- 'package:Manage package lifecycle operations'
484
- 'packages:Alias for package'
485
- 'create:Create a new project management item'
486
- 'copy:Copy an existing item to a new ID'
487
- 'focus:Set/clear/show the session focused parent for new items'
488
- 'list:List active items with optional filters'
489
- 'list-all:List all items with optional filters'
490
- 'list-draft:List draft items with optional filters'
491
- 'list-open:List open items with optional filters'
492
- 'list-in-progress:List in-progress items with optional filters'
493
- 'list-blocked:List blocked items with optional filters'
494
- 'list-closed:List closed items with optional filters'
495
- 'list-canceled:List canceled items with optional filters'
496
- 'aggregate:Aggregate grouped item counts and numeric stats for governance queries'
497
- 'dedupe-audit:Audit potential duplicate items and emit merge suggestions'
498
- 'guide:Browse local progressive-disclosure guides'
499
- 'calendar:Show calendar views for deadlines and reminders'
500
- 'cal:Alias for calendar'
501
- 'context:Show a token-efficient project context snapshot'
502
- 'ctx:Alias for context'
503
- 'get:Show item details by ID'
504
- 'next:Recommend the next actionable (unblocked, ready) work item'
505
- 'search:Search items with keyword, semantic, or hybrid modes'
506
- 'reindex:Rebuild search artifacts'
507
- 'history:Show item history entries'
508
- 'history-compact:Compact history streams into a synthetic baseline + retained tail'
509
- 'history-redact:Redact sensitive literals/patterns and recompute history hashes'
510
- 'history-repair:Re-anchor a drifted history chain so pm health/validate report ok'
511
- 'schema:Manage custom item types and statuses in .agents/pm/schema/*.json'
512
- 'profile:List, show, apply, and lint project profiles (archetype schema/config/template/package bundles)'
513
- 'plan:Agent-optimized Plan item workflow (create/show/add-step/update-step/complete-step/link/approve/materialize)'
514
- 'activity:Show recent activity across items'
515
- 'restore:Restore an item to an earlier state'
516
- 'update:Update item fields and metadata'
517
- 'update-many:Bulk-update matched items with dry-run and rollback checkpoints'
518
- 'normalize:Normalize lifecycle metadata with dry-run planning or apply mode'
519
- 'close:Close an item (reason requirement follows governance settings)'
520
- 'close-many:Bulk-close matched items with an optional shared reason and rollback checkpoint'
521
- 'delete:Delete an item and record the change'
522
- 'append:Append text to an item body'
523
- 'comments:List or add comments for an item'
524
- 'comments-audit:Audit latest comments or full history across filtered items'
525
- 'notes:List or add notes for an item'
526
- 'learnings:List or add learnings for an item'
527
- 'files:Manage linked files'
528
- 'docs:Manage linked docs'
529
- 'deps:Show dependency relationships for an item'
530
- 'test:Manage linked tests and optionally run them'
531
- 'test-all:Run linked tests across matching items'
532
- 'test-runs:Manage background linked-test runs'
533
- 'stats:Show project tracker statistics'
534
- 'health:Show project tracker health checks'
535
- 'validate:Run standalone validation checks'
536
- 'gc:Clean optional cache artifacts'
537
- 'contracts:Show machine-readable command and schema contracts'
538
- 'claim:Claim an item for active work'
539
- 'release:Release the active claim for an item'
540
- 'start-task:Lifecycle alias to claim and set in_progress'
541
- 'pause-task:Lifecycle alias to reopen and release claim'
542
- 'close-task:Lifecycle alias to close and release claim'
543
- 'meet:Shortcut to create a Meeting with scheduling defaults'
544
- 'event:Shortcut to create an Event with scheduling defaults'
545
- 'remind:Shortcut to create a Reminder from a point in time'
546
- 'templates:Manage reusable create templates'
547
- 'completion:Generate shell completion'
548
- 'help:Display help for a command'
691
+ ${renderZshCommandDescriptions()}
549
692
  )
550
693
  _describe 'command' commands
551
694
  }
@@ -588,29 +731,7 @@ _pm() {
588
731
  '--assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
589
732
  '--sprint[Filter by sprint]:sprint' \\
590
733
  '--release[Filter by release]:release' \\
591
- '--filter-reviewer-missing[Select only items missing reviewer]' \\
592
- '--filter-risk-missing[Select only items missing risk]' \\
593
- '--filter-confidence-missing[Select only items missing confidence]' \\
594
- '--filter-sprint-missing[Select only items missing sprint]' \\
595
- '--filter-release-missing[Select only items missing release]' \\
596
- '--has-notes[Select only items that have notes]' \\
597
- '--no-notes[Select only items with no notes]' \\
598
- '--has-learnings[Select only items that have learnings]' \\
599
- '--no-learnings[Select only items with no learnings]' \\
600
- '--has-files[Select only items that have linked files]' \\
601
- '--no-files[Select only items with no linked files]' \\
602
- '--has-docs[Select only items that have linked docs]' \\
603
- '--no-docs[Select only items with no linked docs]' \\
604
- '--has-tests[Select only items that have linked tests]' \\
605
- '--no-tests[Select only items with no linked tests]' \\
606
- '--has-comments[Select only items that have comments]' \\
607
- '--no-comments[Select only items with no comments]' \\
608
- '--has-deps[Select only items that have dependencies]' \\
609
- '--no-deps[Select only items with no dependencies]' \\
610
- '--has-body[Select only items with non-empty body]' \\
611
- '--empty-body[Select only items with empty body]' \\
612
- '--has-linked-command[Select only items that have a linked command]' \\
613
- '--no-linked-command[Select only items with no linked command]' \\
734
+ ${zshPresenceFilterFlags}
614
735
  '--limit[Limit returned item count]:number' \\
615
736
  '--offset[Skip the first n matching rows before limit]:number' \\
616
737
  '--no-truncate[Return every matched row, overriding --limit]' \\
@@ -724,37 +845,11 @@ ${zshCreateRuntimeFieldFlags} '--json[Output JSON]' \\
724
845
  ;;
725
846
  meet|event)
726
847
  _arguments \\
727
- '--start[Start time (ISO, now, or relative)]:start' \\
728
- '--duration[Duration from start (default 1h)]:duration' \\
729
- '--end[End time (overrides --duration)]:end' \\
730
- '--location[Location]:location' \\
731
- '--timezone[IANA timezone]:timezone' \\
732
- '--all-day[Mark as an all-day event]' \\
733
- '--parent[Parent item id]:parent' \\
734
- '--allow-missing-parent[Permit a parent id that does not exist yet]' \\
735
- '--tags[Comma-separated tags]:tags' \\
736
- '(-p --priority)'{-p,--priority}'[Priority (0-4)]:(0 1 2 3 4)' \\
737
- '(-b --body)'{-b,--body}'[Item body]:body' \\
738
- '(-d --description)'{-d,--description}'[Short description]:description' \\
739
- '--author[Mutation author]:author' \\
740
- '--message[History message]:message' \\
741
- '--json[Output JSON]' \\
742
- '--quiet[Suppress stdout]'
848
+ ${renderZshScheduleItemSpecs("event")}
743
849
  ;;
744
850
  remind)
745
851
  _arguments \\
746
- '--at[Reminder time (default +1d)]:at' \\
747
- '--text[Reminder text (defaults to title)]:text' \\
748
- '--parent[Parent item id]:parent' \\
749
- '--allow-missing-parent[Permit a parent id that does not exist yet]' \\
750
- '--tags[Comma-separated tags]:tags' \\
751
- '(-p --priority)'{-p,--priority}'[Priority (0-4)]:(0 1 2 3 4)' \\
752
- '(-b --body)'{-b,--body}'[Item body]:body' \\
753
- '(-d --description)'{-d,--description}'[Short description]:description' \\
754
- '--author[Mutation author]:author' \\
755
- '--message[History message]:message' \\
756
- '--json[Output JSON]' \\
757
- '--quiet[Suppress stdout]'
852
+ ${renderZshScheduleItemSpecs("reminder")}
758
853
  ;;
759
854
  update)
760
855
  _arguments \\
@@ -771,26 +866,7 @@ ${zshCreateRuntimeFieldFlags} '--json[Output JSON]' \\
771
866
  '--remove-tags[Remove tags from the existing list]:tags' \\
772
867
  '--expected[Short alias for --expected-result]:expected_result' \\
773
868
  '--actual[Short alias for --actual-result]:actual_result' \\
774
- '--comment[Comment seed author=<value>,created_at=<iso|now>,text=<value>]:comment' \\
775
- '--note[Note seed author=<value>,created_at=<iso|now>,text=<value>]:note' \\
776
- '--learning[Learning seed author=<value>,created_at=<iso|now>,text=<value>]:learning' \\
777
- '--file[Linked file path=<value>,scope=<project|global>,note=<text>]:file' \\
778
- '--test[Linked test command=<value>,path=<value>,scope=<project|global>]:test' \\
779
- '--doc[Linked doc path=<value>,scope=<project|global>,note=<text>]:doc' \\
780
- '--reminder[Reminder entry at=<iso|relative>|date=<iso|relative>,text=<text>|title=<text>]:reminder' \\
781
- '--event[Event entry start=<iso|relative>,end=<iso|relative>,recur_*]:event' \\
782
- '--type-option[Type option key=value or key=<name>,value=<value>]:type_option' \\
783
- '--unset[Clear scalar metadata field by name]:field' \\
784
- '--clear-deps[Clear dependency entries]' \\
785
- '--clear-comments[Clear comments]' \\
786
- '--clear-notes[Clear notes]' \\
787
- '--clear-learnings[Clear learnings]' \\
788
- '--clear-files[Clear linked files]' \\
789
- '--clear-tests[Clear linked tests]' \\
790
- '--clear-docs[Clear linked docs]' \\
791
- '--clear-reminders[Clear reminders]' \\
792
- '--clear-events[Clear events]' \\
793
- '--clear-type-options[Clear type options]' \\
869
+ ${zshMutationCollectionFlags}
794
870
  ${zshUpdateRuntimeFieldFlags} '--allow-audit-update[Allow non-owner metadata-only audit updates without requiring --force]' \\
795
871
  '--author[Mutation author]:author' \\
796
872
  '--message[History message]:message' \\
@@ -800,48 +876,12 @@ ${zshUpdateRuntimeFieldFlags} '--allow-audit-update[Allow non-owner m
800
876
  ;;
801
877
  update-many)
802
878
  _arguments \\
803
- '--filter-status[Filter by status before applying updates]:(${statusChoices})' \\
804
- '--filter-type[Filter by type before applying updates]:(${typeChoices})' \\
805
- '--filter-tag[Filter by tag before applying updates]:(${zshTagChoices})' \\
806
- '--filter-priority[Filter by priority before applying updates]:(0 1 2 3 4)' \\
807
- '--filter-deadline-before[Filter by deadline upper bound]:deadline' \\
808
- '--filter-deadline-after[Filter by deadline lower bound]:deadline' \\
809
- '--filter-updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp' \\
810
- '--filter-updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp' \\
811
- '--filter-created-after[Filter by created_at lower bound (ISO/relative)]:timestamp' \\
812
- '--filter-created-before[Filter by created_at upper bound (ISO/relative)]:timestamp' \\
813
- '--filter-assignee[Filter by assignee before applying updates]:assignee' \\
814
- '--filter-assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
815
- '--filter-parent[Filter by parent item ID]:parent' \\
816
- '--filter-sprint[Filter by sprint]:sprint' \\
817
- '--filter-release[Filter by release]:release' \\
879
+ ${renderZshBulkSelectionFilterSpecs("applying updates", statusChoices, typeChoices, zshTagChoices)}
818
880
  '--filter-ac-missing[Select only items missing acceptance_criteria]' \\
819
881
  '--filter-estimates-missing[Select only items missing estimated_minutes]' \\
820
882
  '--filter-resolution-missing[Select only terminal items missing resolution]' \\
821
883
  '--filter-metadata-missing[Select only items missing any tracked metadata]' \\
822
- '--filter-reviewer-missing[Select only items missing reviewer]' \\
823
- '--filter-risk-missing[Select only items missing risk]' \\
824
- '--filter-confidence-missing[Select only items missing confidence]' \\
825
- '--filter-sprint-missing[Select only items missing sprint]' \\
826
- '--filter-release-missing[Select only items missing release]' \\
827
- '--filter-has-notes[Select only items that have notes]' \\
828
- '--filter-no-notes[Select only items with no notes]' \\
829
- '--filter-has-learnings[Select only items that have learnings]' \\
830
- '--filter-no-learnings[Select only items with no learnings]' \\
831
- '--filter-has-files[Select only items that have linked files]' \\
832
- '--filter-no-files[Select only items with no linked files]' \\
833
- '--filter-has-docs[Select only items that have linked docs]' \\
834
- '--filter-no-docs[Select only items with no linked docs]' \\
835
- '--filter-has-tests[Select only items that have linked tests]' \\
836
- '--filter-no-tests[Select only items with no linked tests]' \\
837
- '--filter-has-comments[Select only items that have comments]' \\
838
- '--filter-no-comments[Select only items with no comments]' \\
839
- '--filter-has-deps[Select only items that have dependencies]' \\
840
- '--filter-no-deps[Select only items with no dependencies]' \\
841
- '--filter-has-body[Select only items with non-empty body]' \\
842
- '--filter-empty-body[Select only items with empty body]' \\
843
- '--filter-has-linked-command[Select only items that have a linked command]' \\
844
- '--filter-no-linked-command[Select only items with no linked command]' \\
884
+ ${zshBulkPresenceFilterFlags}
845
885
  '--ids[Explicit comma-separated ID allowlist]:ids' \\
846
886
  '--limit[Limit matched item count]:number' \\
847
887
  '--offset[Skip first n matched rows]:number' \\
@@ -890,26 +930,7 @@ ${zshUpdateRuntimeFieldFlags} '--allow-audit-update[Allow non-owner m
890
930
  '--dep-remove[Dependency removal selector id=<id>,kind=<kind>,author=<author>,created_at=<timestamp>]:dep_remove' \\
891
931
  '--replace-deps[Atomically replace dependencies with provided --dep values]' \\
892
932
  '--replace-tests[Atomically replace linked tests with provided --test values]' \\
893
- '--comment[Comment seed author=<value>,created_at=<iso|now>,text=<value>]:comment' \\
894
- '--note[Note seed author=<value>,created_at=<iso|now>,text=<value>]:note' \\
895
- '--learning[Learning seed author=<value>,created_at=<iso|now>,text=<value>]:learning' \\
896
- '--file[Linked file path=<value>,scope=<project|global>,note=<text>]:file' \\
897
- '--test[Linked test command=<value>,path=<value>,scope=<project|global>]:test' \\
898
- '--doc[Linked doc path=<value>,scope=<project|global>,note=<text>]:doc' \\
899
- '--reminder[Reminder entry at=<iso|relative>|date=<iso|relative>,text=<text>|title=<text>]:reminder' \\
900
- '--event[Event entry start=<iso|relative>,end=<iso|relative>,recur_*]:event' \\
901
- '--type-option[Type option key=value or key=<name>,value=<value>]:type_option' \\
902
- '--unset[Clear scalar metadata field by name]:field' \\
903
- '--clear-deps[Clear dependency entries]' \\
904
- '--clear-comments[Clear comments]' \\
905
- '--clear-notes[Clear notes]' \\
906
- '--clear-learnings[Clear learnings]' \\
907
- '--clear-files[Clear linked files]' \\
908
- '--clear-tests[Clear linked tests]' \\
909
- '--clear-docs[Clear linked docs]' \\
910
- '--clear-reminders[Clear reminders]' \\
911
- '--clear-events[Clear events]' \\
912
- '--clear-type-options[Clear type options]' \\
933
+ ${zshMutationCollectionFlags}
913
934
  ${zshUpdateManyRuntimeFieldFlags} '--allow-audit-update[Allow non-owner metadata-only audit updates without requiring --force]' \\
914
935
  '--author[Mutation author]:author' \\
915
936
  '--message[History message]:message' \\
@@ -919,44 +940,8 @@ ${zshUpdateManyRuntimeFieldFlags} '--allow-audit-update[Allow non-own
919
940
  ;;
920
941
  close-many)
921
942
  _arguments \\
922
- '--filter-status[Filter by status before closing]:(${statusChoices})' \\
923
- '--filter-type[Filter by type before closing]:(${typeChoices})' \\
924
- '--filter-tag[Filter by tag before closing]:(${zshTagChoices})' \\
925
- '--filter-priority[Filter by priority before closing]:(0 1 2 3 4)' \\
926
- '--filter-deadline-before[Filter by deadline upper bound]:deadline' \\
927
- '--filter-deadline-after[Filter by deadline lower bound]:deadline' \\
928
- '--filter-updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp' \\
929
- '--filter-updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp' \\
930
- '--filter-created-after[Filter by created_at lower bound (ISO/relative)]:timestamp' \\
931
- '--filter-created-before[Filter by created_at upper bound (ISO/relative)]:timestamp' \\
932
- '--filter-assignee[Filter by assignee before closing]:assignee' \\
933
- '--filter-assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
934
- '--filter-parent[Filter by parent item ID]:parent' \\
935
- '--filter-sprint[Filter by sprint]:sprint' \\
936
- '--filter-release[Filter by release]:release' \\
937
- '--filter-reviewer-missing[Select only items missing reviewer]' \\
938
- '--filter-risk-missing[Select only items missing risk]' \\
939
- '--filter-confidence-missing[Select only items missing confidence]' \\
940
- '--filter-sprint-missing[Select only items missing sprint]' \\
941
- '--filter-release-missing[Select only items missing release]' \\
942
- '--filter-has-notes[Select only items that have notes]' \\
943
- '--filter-no-notes[Select only items with no notes]' \\
944
- '--filter-has-learnings[Select only items that have learnings]' \\
945
- '--filter-no-learnings[Select only items with no learnings]' \\
946
- '--filter-has-files[Select only items that have linked files]' \\
947
- '--filter-no-files[Select only items with no linked files]' \\
948
- '--filter-has-docs[Select only items that have linked docs]' \\
949
- '--filter-no-docs[Select only items with no linked docs]' \\
950
- '--filter-has-tests[Select only items that have linked tests]' \\
951
- '--filter-no-tests[Select only items with no linked tests]' \\
952
- '--filter-has-comments[Select only items that have comments]' \\
953
- '--filter-no-comments[Select only items with no comments]' \\
954
- '--filter-has-deps[Select only items that have dependencies]' \\
955
- '--filter-no-deps[Select only items with no dependencies]' \\
956
- '--filter-has-body[Select only items with non-empty body]' \\
957
- '--filter-empty-body[Select only items with empty body]' \\
958
- '--filter-has-linked-command[Select only items that have a linked command]' \\
959
- '--filter-no-linked-command[Select only items with no linked command]' \\
943
+ ${renderZshBulkSelectionFilterSpecs("closing", statusChoices, typeChoices, zshTagChoices)}
944
+ ${zshBulkPresenceFilterFlags}
960
945
  '--ids[Explicit comma-separated ID allowlist]:ids' \\
961
946
  '--limit[Limit matched item count]:number' \\
962
947
  '--offset[Skip first n matched rows]:number' \\
@@ -1093,29 +1078,7 @@ ${zshContextRuntimeFieldFlags} '--json[Output JSON]' \\
1093
1078
  '--sprint[Filter by sprint]:value' \\
1094
1079
  '--release[Filter by release]:value' \\
1095
1080
  '--parent[Filter by parent item ID]:value' \\
1096
- '--filter-reviewer-missing[Select only items missing reviewer]' \\
1097
- '--filter-risk-missing[Select only items missing risk]' \\
1098
- '--filter-confidence-missing[Select only items missing confidence]' \\
1099
- '--filter-sprint-missing[Select only items missing sprint]' \\
1100
- '--filter-release-missing[Select only items missing release]' \\
1101
- '--has-notes[Select only items that have notes]' \\
1102
- '--no-notes[Select only items with no notes]' \\
1103
- '--has-learnings[Select only items that have learnings]' \\
1104
- '--no-learnings[Select only items with no learnings]' \\
1105
- '--has-files[Select only items that have linked files]' \\
1106
- '--no-files[Select only items with no linked files]' \\
1107
- '--has-docs[Select only items that have linked docs]' \\
1108
- '--no-docs[Select only items with no linked docs]' \\
1109
- '--has-tests[Select only items that have linked tests]' \\
1110
- '--no-tests[Select only items with no linked tests]' \\
1111
- '--has-comments[Select only items that have comments]' \\
1112
- '--no-comments[Select only items with no comments]' \\
1113
- '--has-deps[Select only items that have dependencies]' \\
1114
- '--no-deps[Select only items with no dependencies]' \\
1115
- '--has-body[Select only items with non-empty body]' \\
1116
- '--empty-body[Select only items with empty body]' \\
1117
- '--has-linked-command[Select only items that have a linked command]' \\
1118
- '--no-linked-command[Select only items with no linked command]' \\
1081
+ ${zshPresenceFilterFlags}
1119
1082
  ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
1120
1083
  '--quiet[Suppress stdout]'
1121
1084
  ;;
@@ -1415,20 +1378,6 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
1415
1378
  '--json[Output JSON]' \\
1416
1379
  '--quiet[Suppress stdout]'
1417
1380
  ;;
1418
- init)
1419
- _arguments \\
1420
- '--preset[Governance preset for new setups]:preset:(minimal default strict)' \\
1421
- '--defaults[Use non-interactive setup defaults]' \\
1422
- '-y[Alias for --defaults]' \\
1423
- '--yes[Alias for --defaults]' \\
1424
- '--author[Set the default mutation author for this project]:author' \\
1425
- '--agent-guidance[Agent guidance mode]:mode:(ask add skip status)' \\
1426
- '--type-preset[Register domain item types]:type-preset:(agile ops research)' \\
1427
- '--with-packages[Install bundled first-party packages during initialization]' \\
1428
- '--verbose[Include the full resolved settings tree in init output]' \\
1429
- '--json[Output JSON]' \\
1430
- '--quiet[Suppress stdout]'
1431
- ;;
1432
1381
  config)
1433
1382
  _arguments \\
1434
1383
  '--criterion[Criteria value for definition-of-done metadata-required-fields or lifecycle pattern keys (repeatable for set)]:criterion' \\
@@ -1724,74 +1673,7 @@ ${useDynamicTypeExpansion ? renderFishDynamicChoiceResolver("type", "completion-
1724
1673
  ${renderFishDynamicChoiceResolver("status", "completion-statuses", statusFallbackChoices)}
1725
1674
 
1726
1675
  # Subcommands
1727
- complete -c pm -n __pm_no_subcommand -a init -d 'Initialize pm storage for the current workspace'
1728
- complete -c pm -n __pm_no_subcommand -a config -d 'Read or update pm settings'
1729
- complete -c pm -n __pm_no_subcommand -a extension -d 'Manage extension lifecycle operations'
1730
- complete -c pm -n __pm_no_subcommand -a package -d 'Manage package lifecycle operations'
1731
- complete -c pm -n __pm_no_subcommand -a packages -d 'Alias for package'
1732
- complete -c pm -n __pm_no_subcommand -a create -d 'Create a new project management item'
1733
- complete -c pm -n __pm_no_subcommand -a copy -d 'Copy an existing item to a new ID'
1734
- complete -c pm -n __pm_no_subcommand -a focus -d 'Set/clear/show the session focused parent for new items'
1735
- complete -c pm -n __pm_no_subcommand -a list -d 'List active items with optional filters'
1736
- complete -c pm -n __pm_no_subcommand -a list-all -d 'List all items with optional filters'
1737
- complete -c pm -n __pm_no_subcommand -a list-draft -d 'List draft items with optional filters'
1738
- complete -c pm -n __pm_no_subcommand -a list-open -d 'List open items with optional filters'
1739
- complete -c pm -n __pm_no_subcommand -a list-in-progress -d 'List in-progress items with optional filters'
1740
- complete -c pm -n __pm_no_subcommand -a list-blocked -d 'List blocked items with optional filters'
1741
- complete -c pm -n __pm_no_subcommand -a list-closed -d 'List closed items with optional filters'
1742
- complete -c pm -n __pm_no_subcommand -a list-canceled -d 'List canceled items with optional filters'
1743
- complete -c pm -n __pm_no_subcommand -a aggregate -d 'Aggregate grouped item counts and numeric stats for governance queries'
1744
- complete -c pm -n __pm_no_subcommand -a dedupe-audit -d 'Audit potential duplicate items and emit merge suggestions'
1745
- complete -c pm -n __pm_no_subcommand -a guide -d 'Browse local progressive-disclosure guides'
1746
- complete -c pm -n __pm_no_subcommand -a calendar -d 'Show deadline/reminder calendar views'
1747
- complete -c pm -n __pm_no_subcommand -a cal -d 'Alias for calendar'
1748
- complete -c pm -n __pm_no_subcommand -a context -d 'Show a token-efficient project context snapshot'
1749
- complete -c pm -n __pm_no_subcommand -a ctx -d 'Alias for context'
1750
- complete -c pm -n __pm_no_subcommand -a get -d 'Show item details by ID'
1751
- complete -c pm -n __pm_no_subcommand -a next -d 'Recommend the next actionable (unblocked, ready) work item'
1752
- complete -c pm -n __pm_no_subcommand -a search -d 'Search items with keyword, semantic, or hybrid modes'
1753
- complete -c pm -n __pm_no_subcommand -a reindex -d 'Rebuild search artifacts'
1754
- complete -c pm -n __pm_no_subcommand -a history -d 'Show item history entries'
1755
- complete -c pm -n __pm_no_subcommand -a history-compact -d 'Compact history streams into a synthetic baseline + retained tail'
1756
- complete -c pm -n __pm_no_subcommand -a history-redact -d 'Redact sensitive literals/patterns and recompute history hashes'
1757
- complete -c pm -n __pm_no_subcommand -a history-repair -d 'Re-anchor a drifted history chain so pm health/validate report ok'
1758
- complete -c pm -n __pm_no_subcommand -a schema -d 'Inspect and manage runtime schema'
1759
- complete -c pm -n __pm_no_subcommand -a profile -d 'List, show, apply, and lint project profiles (archetype bundles)'
1760
- complete -c pm -n __pm_no_subcommand -a plan -d 'Agent-optimized Plan workflow (create/show/add-step/update-step/complete-step/link/approve/materialize)'
1761
- complete -c pm -n __pm_no_subcommand -a activity -d 'Show recent activity across items'
1762
- complete -c pm -n __pm_no_subcommand -a restore -d 'Restore an item to an earlier state'
1763
- complete -c pm -n __pm_no_subcommand -a update -d 'Update item fields and metadata'
1764
- complete -c pm -n __pm_no_subcommand -a update-many -d 'Bulk-update matched items with dry-run and rollback checkpoints'
1765
- complete -c pm -n __pm_no_subcommand -a normalize -d 'Normalize lifecycle metadata with dry-run planning or apply mode'
1766
- complete -c pm -n __pm_no_subcommand -a close -d 'Close an item (reason requirement follows governance settings)'
1767
- complete -c pm -n __pm_no_subcommand -a close-many -d 'Bulk-close matched items with an optional shared reason and rollback checkpoint'
1768
- complete -c pm -n __pm_no_subcommand -a delete -d 'Delete an item and record the change'
1769
- complete -c pm -n __pm_no_subcommand -a append -d 'Append text to an item body'
1770
- complete -c pm -n __pm_no_subcommand -a comments -d 'List or add comments for an item'
1771
- complete -c pm -n __pm_no_subcommand -a comments-audit -d 'Audit latest comments or full history across filtered items'
1772
- complete -c pm -n __pm_no_subcommand -a notes -d 'List or add notes for an item'
1773
- complete -c pm -n __pm_no_subcommand -a learnings -d 'List or add learnings for an item'
1774
- complete -c pm -n __pm_no_subcommand -a files -d 'Manage linked files'
1775
- complete -c pm -n __pm_no_subcommand -a docs -d 'Manage linked docs'
1776
- complete -c pm -n __pm_no_subcommand -a deps -d 'Show dependency relationships for an item'
1777
- complete -c pm -n __pm_no_subcommand -a test -d 'Manage linked tests and optionally run them'
1778
- complete -c pm -n __pm_no_subcommand -a test-all -d 'Run linked tests across matching items'
1779
- complete -c pm -n __pm_no_subcommand -a test-runs -d 'Manage background linked-test runs'
1780
- complete -c pm -n __pm_no_subcommand -a stats -d 'Show project tracker statistics'
1781
- complete -c pm -n __pm_no_subcommand -a health -d 'Show project tracker health checks'
1782
- complete -c pm -n __pm_no_subcommand -a validate -d 'Run standalone validation checks'
1783
- complete -c pm -n __pm_no_subcommand -a gc -d 'Clean optional cache artifacts'
1784
- complete -c pm -n __pm_no_subcommand -a contracts -d 'Show machine-readable command and schema contracts'
1785
- complete -c pm -n __pm_no_subcommand -a claim -d 'Claim an item for active work'
1786
- complete -c pm -n __pm_no_subcommand -a release -d 'Release the active claim for an item'
1787
- complete -c pm -n __pm_no_subcommand -a start-task -d 'Lifecycle alias to claim and set in-progress'
1788
- complete -c pm -n __pm_no_subcommand -a pause-task -d 'Lifecycle alias to reopen and release claim'
1789
- complete -c pm -n __pm_no_subcommand -a close-task -d 'Lifecycle alias to close and release claim'
1790
- complete -c pm -n __pm_no_subcommand -a meet -d 'Shortcut to create a Meeting with scheduling defaults'
1791
- complete -c pm -n __pm_no_subcommand -a event -d 'Shortcut to create an Event with scheduling defaults'
1792
- complete -c pm -n __pm_no_subcommand -a remind -d 'Shortcut to create a Reminder from a point in time'
1793
- complete -c pm -n __pm_no_subcommand -a templates -d 'Manage reusable create templates'
1794
- complete -c pm -n __pm_no_subcommand -a completion -d 'Generate shell completion'
1676
+ ${renderFishCommandDescriptions()}
1795
1677
 
1796
1678
  # list* flags
1797
1679
  for list_cmd in ${listCmds}
@@ -1832,8 +1714,10 @@ for list_cmd in ${listCmds}
1832
1714
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l no-learnings -d 'Select only items with no learnings'
1833
1715
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l has-files -d 'Select only items that have linked files'
1834
1716
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l no-files -d 'Select only items with no linked files'
1717
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l filter-files-missing -d 'Alias for --no-files'
1835
1718
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l has-docs -d 'Select only items that have linked docs'
1836
1719
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l no-docs -d 'Select only items with no linked docs'
1720
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l filter-docs-missing -d 'Alias for --no-docs'
1837
1721
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l has-tests -d 'Select only items that have linked tests'
1838
1722
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l no-tests -d 'Select only items with no linked tests'
1839
1723
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l has-comments -d 'Select only items that have comments'
@@ -2136,8 +2020,10 @@ complete -c pm -n '__fish_seen_subcommand_from search' -l has-learnings -d
2136
2020
  complete -c pm -n '__fish_seen_subcommand_from search' -l no-learnings -d 'Select only items with no learnings'
2137
2021
  complete -c pm -n '__fish_seen_subcommand_from search' -l has-files -d 'Select only items that have linked files'
2138
2022
  complete -c pm -n '__fish_seen_subcommand_from search' -l no-files -d 'Select only items with no linked files'
2023
+ complete -c pm -n '__fish_seen_subcommand_from search' -l filter-files-missing -d 'Alias for --no-files'
2139
2024
  complete -c pm -n '__fish_seen_subcommand_from search' -l has-docs -d 'Select only items that have linked docs'
2140
2025
  complete -c pm -n '__fish_seen_subcommand_from search' -l no-docs -d 'Select only items with no linked docs'
2026
+ complete -c pm -n '__fish_seen_subcommand_from search' -l filter-docs-missing -d 'Alias for --no-docs'
2141
2027
  complete -c pm -n '__fish_seen_subcommand_from search' -l has-tests -d 'Select only items that have linked tests'
2142
2028
  complete -c pm -n '__fish_seen_subcommand_from search' -l no-tests -d 'Select only items with no linked tests'
2143
2029
  complete -c pm -n '__fish_seen_subcommand_from search' -l has-comments -d 'Select only items that have comments'
@@ -2659,4 +2545,4 @@ export function runCompletion(shell, itemTypes = [], tags = [], eagerTagExpansio
2659
2545
  };
2660
2546
  }
2661
2547
  //# sourceMappingURL=completion.js.map
2662
- //# debugId=3c41d782-b160-57e6-a7cc-ad832496a257
2548
+ //# debugId=c5c33ca2-acd6-55cc-8bf9-de815086e990