@unbrained/pm-cli 2026.5.31 → 2026.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/CHANGELOG.md +167 -0
  2. package/CONTRIBUTING.md +1 -0
  3. package/README.md +12 -4
  4. package/dist/cli/argv-utils.js +7 -3
  5. package/dist/cli/argv-utils.js.map +1 -1
  6. package/dist/cli/bootstrap-args.d.ts +1 -0
  7. package/dist/cli/bootstrap-args.js +23 -3
  8. package/dist/cli/bootstrap-args.js.map +1 -1
  9. package/dist/cli/commands/calendar.js +17 -3
  10. package/dist/cli/commands/calendar.js.map +1 -1
  11. package/dist/cli/commands/close-many.d.ts +63 -0
  12. package/dist/cli/commands/close-many.js +302 -0
  13. package/dist/cli/commands/close-many.js.map +1 -0
  14. package/dist/cli/commands/completion.d.ts +1 -0
  15. package/dist/cli/commands/completion.js +260 -32
  16. package/dist/cli/commands/completion.js.map +1 -1
  17. package/dist/cli/commands/config.d.ts +4 -4
  18. package/dist/cli/commands/config.js +115 -3
  19. package/dist/cli/commands/config.js.map +1 -1
  20. package/dist/cli/commands/contracts.js +193 -162
  21. package/dist/cli/commands/contracts.js.map +1 -1
  22. package/dist/cli/commands/create.d.ts +1 -0
  23. package/dist/cli/commands/create.js +77 -114
  24. package/dist/cli/commands/create.js.map +1 -1
  25. package/dist/cli/commands/extension/doctor.d.ts +12 -0
  26. package/dist/cli/commands/extension/doctor.js +97 -2
  27. package/dist/cli/commands/extension/doctor.js.map +1 -1
  28. package/dist/cli/commands/extension/scaffold.js +49 -48
  29. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  30. package/dist/cli/commands/extension.js +51 -23
  31. package/dist/cli/commands/extension.js.map +1 -1
  32. package/dist/cli/commands/gc.d.ts +8 -1
  33. package/dist/cli/commands/gc.js +26 -3
  34. package/dist/cli/commands/gc.js.map +1 -1
  35. package/dist/cli/commands/get.js +7 -7
  36. package/dist/cli/commands/get.js.map +1 -1
  37. package/dist/cli/commands/health.js +51 -3
  38. package/dist/cli/commands/health.js.map +1 -1
  39. package/dist/cli/commands/history.d.ts +4 -1
  40. package/dist/cli/commands/history.js +12 -24
  41. package/dist/cli/commands/history.js.map +1 -1
  42. package/dist/cli/commands/index.d.ts +3 -1
  43. package/dist/cli/commands/index.js +5 -3
  44. package/dist/cli/commands/index.js.map +1 -1
  45. package/dist/cli/commands/init.d.ts +10 -0
  46. package/dist/cli/commands/init.js +107 -4
  47. package/dist/cli/commands/init.js.map +1 -1
  48. package/dist/cli/commands/list.d.ts +5 -0
  49. package/dist/cli/commands/list.js +58 -26
  50. package/dist/cli/commands/list.js.map +1 -1
  51. package/dist/cli/commands/reindex.js +163 -47
  52. package/dist/cli/commands/reindex.js.map +1 -1
  53. package/dist/cli/commands/repeatable-metadata-parsers.d.ts +15 -0
  54. package/dist/cli/commands/repeatable-metadata-parsers.js +120 -0
  55. package/dist/cli/commands/repeatable-metadata-parsers.js.map +1 -0
  56. package/dist/cli/commands/restore.js +25 -4
  57. package/dist/cli/commands/restore.js.map +1 -1
  58. package/dist/cli/commands/schema.d.ts +122 -1
  59. package/dist/cli/commands/schema.js +536 -6
  60. package/dist/cli/commands/schema.js.map +1 -1
  61. package/dist/cli/commands/search.d.ts +1 -0
  62. package/dist/cli/commands/search.js +18 -4
  63. package/dist/cli/commands/search.js.map +1 -1
  64. package/dist/cli/commands/stats.d.ts +8 -1
  65. package/dist/cli/commands/stats.js +18 -17
  66. package/dist/cli/commands/stats.js.map +1 -1
  67. package/dist/cli/commands/telemetry.d.ts +8 -0
  68. package/dist/cli/commands/telemetry.js +253 -0
  69. package/dist/cli/commands/telemetry.js.map +1 -0
  70. package/dist/cli/commands/test.js +4 -3
  71. package/dist/cli/commands/test.js.map +1 -1
  72. package/dist/cli/commands/update-many.js +69 -140
  73. package/dist/cli/commands/update-many.js.map +1 -1
  74. package/dist/cli/commands/update.d.ts +2 -0
  75. package/dist/cli/commands/update.js +138 -119
  76. package/dist/cli/commands/update.js.map +1 -1
  77. package/dist/cli/commands/validate.d.ts +1 -0
  78. package/dist/cli/commands/validate.js +63 -33
  79. package/dist/cli/commands/validate.js.map +1 -1
  80. package/dist/cli/error-guidance.js +26 -3
  81. package/dist/cli/error-guidance.js.map +1 -1
  82. package/dist/cli/help-content.js +91 -3
  83. package/dist/cli/help-content.js.map +1 -1
  84. package/dist/cli/main.js +377 -23
  85. package/dist/cli/main.js.map +1 -1
  86. package/dist/cli/register-list-query.js +14 -5
  87. package/dist/cli/register-list-query.js.map +1 -1
  88. package/dist/cli/register-mutation.js +200 -28
  89. package/dist/cli/register-mutation.js.map +1 -1
  90. package/dist/cli/register-operations.js +31 -6
  91. package/dist/cli/register-operations.js.map +1 -1
  92. package/dist/cli/register-setup.js +4 -2
  93. package/dist/cli/register-setup.js.map +1 -1
  94. package/dist/cli/registration-helpers.js +31 -4
  95. package/dist/cli/registration-helpers.js.map +1 -1
  96. package/dist/cli-bundle/chunks/activity-CVXTCHYY.js +16 -0
  97. package/dist/cli-bundle/chunks/activity-JM6DTDND.js +20 -0
  98. package/dist/cli-bundle/chunks/activity-JM6DTDND.js.map +1 -0
  99. package/dist/cli-bundle/chunks/aggregate-GI7WSZPH.js +206 -0
  100. package/dist/cli-bundle/chunks/aggregate-GI7WSZPH.js.map +1 -0
  101. package/dist/cli-bundle/chunks/{aggregate-ADUOSFRO.js → aggregate-VNAHUNNF.js} +11 -11
  102. package/dist/cli-bundle/chunks/{append-JD2DETU7.js → append-7H5N64R2.js} +8 -9
  103. package/dist/cli-bundle/chunks/{append-JD2DETU7.js.map → append-7H5N64R2.js.map} +1 -1
  104. package/dist/cli-bundle/chunks/append-WMKRXKCE.js +69 -0
  105. package/dist/cli-bundle/chunks/append-WMKRXKCE.js.map +1 -0
  106. package/dist/cli-bundle/chunks/{chunk-3M73P3G6.js → chunk-23YFZ3IG.js} +210 -132
  107. package/dist/cli-bundle/chunks/chunk-23YFZ3IG.js.map +7 -0
  108. package/dist/cli-bundle/chunks/chunk-2HVRUSQA.js +128 -0
  109. package/dist/cli-bundle/chunks/chunk-2HVRUSQA.js.map +1 -0
  110. package/dist/cli-bundle/chunks/chunk-2RSPZI5H.js +266 -0
  111. package/dist/cli-bundle/chunks/chunk-2RSPZI5H.js.map +1 -0
  112. package/dist/cli-bundle/chunks/chunk-2VBQ6ZXS.js +631 -0
  113. package/dist/cli-bundle/chunks/chunk-2VBQ6ZXS.js.map +1 -0
  114. package/dist/cli-bundle/chunks/chunk-2VVCGBNV.js +380 -0
  115. package/dist/cli-bundle/chunks/chunk-2VVCGBNV.js.map +1 -0
  116. package/dist/cli-bundle/chunks/chunk-3BWOVLTH.js +1664 -0
  117. package/dist/cli-bundle/chunks/chunk-3BWOVLTH.js.map +1 -0
  118. package/dist/cli-bundle/chunks/{chunk-6HT2F4TK.js → chunk-3FI4SEFT.js} +175 -54
  119. package/dist/cli-bundle/chunks/chunk-3FI4SEFT.js.map +7 -0
  120. package/dist/cli-bundle/chunks/{chunk-JULRTHJQ.js → chunk-3LB74A67.js} +119 -6
  121. package/dist/cli-bundle/chunks/chunk-3LB74A67.js.map +7 -0
  122. package/dist/cli-bundle/chunks/chunk-3VAM3NNM.js +57 -0
  123. package/dist/cli-bundle/chunks/chunk-3VAM3NNM.js.map +1 -0
  124. package/dist/cli-bundle/chunks/chunk-4LL6TK5B.js +1832 -0
  125. package/dist/cli-bundle/chunks/chunk-4LL6TK5B.js.map +1 -0
  126. package/dist/cli-bundle/chunks/chunk-52MAOQ6J.js +422 -0
  127. package/dist/cli-bundle/chunks/chunk-52MAOQ6J.js.map +7 -0
  128. package/dist/cli-bundle/chunks/chunk-5FDATVEZ.js +412 -0
  129. package/dist/cli-bundle/chunks/chunk-5FDATVEZ.js.map +1 -0
  130. package/dist/cli-bundle/chunks/chunk-5SFCOO6B.js +5622 -0
  131. package/dist/cli-bundle/chunks/chunk-5SFCOO6B.js.map +1 -0
  132. package/dist/cli-bundle/chunks/{chunk-U7FMKRXH.js → chunk-6ER6DXH5.js} +37 -16
  133. package/dist/cli-bundle/chunks/chunk-6ER6DXH5.js.map +7 -0
  134. package/dist/cli-bundle/chunks/chunk-6P6GGMOG.js +218 -0
  135. package/dist/cli-bundle/chunks/chunk-6P6GGMOG.js.map +1 -0
  136. package/dist/cli-bundle/chunks/chunk-77GFDHGF.js +80 -0
  137. package/dist/cli-bundle/chunks/chunk-77GFDHGF.js.map +1 -0
  138. package/dist/cli-bundle/chunks/{chunk-MD7K4JYF.js → chunk-AO442XLN.js} +26 -15
  139. package/dist/cli-bundle/chunks/chunk-AO442XLN.js.map +7 -0
  140. package/dist/cli-bundle/chunks/chunk-AY43SBIN.js +751 -0
  141. package/dist/cli-bundle/chunks/chunk-AY43SBIN.js.map +1 -0
  142. package/dist/cli-bundle/chunks/{chunk-D7AOMPRH.js → chunk-BQHUILZS.js} +5 -5
  143. package/dist/cli-bundle/chunks/chunk-E5FJNAZA.js +242 -0
  144. package/dist/cli-bundle/chunks/chunk-E5FJNAZA.js.map +1 -0
  145. package/dist/cli-bundle/chunks/{chunk-OGZEG5TT.js → chunk-ECCMVXGM.js} +164 -53
  146. package/dist/cli-bundle/chunks/chunk-ECCMVXGM.js.map +7 -0
  147. package/dist/cli-bundle/chunks/chunk-FRAUKRU2.js +182 -0
  148. package/dist/cli-bundle/chunks/chunk-FRAUKRU2.js.map +1 -0
  149. package/dist/cli-bundle/chunks/chunk-GCOQW437.js +130 -0
  150. package/dist/cli-bundle/chunks/chunk-GCOQW437.js.map +1 -0
  151. package/dist/cli-bundle/chunks/chunk-GGYWB3Y2.js +1340 -0
  152. package/dist/cli-bundle/chunks/chunk-GGYWB3Y2.js.map +1 -0
  153. package/dist/cli-bundle/chunks/{chunk-G57E5D7T.js → chunk-GU2ZJ2VV.js} +5 -5
  154. package/dist/cli-bundle/chunks/chunk-GXSUPCBV.js +231 -0
  155. package/dist/cli-bundle/chunks/chunk-GXSUPCBV.js.map +1 -0
  156. package/dist/cli-bundle/chunks/chunk-HZGUAH22.js +76 -0
  157. package/dist/cli-bundle/chunks/chunk-HZGUAH22.js.map +1 -0
  158. package/dist/cli-bundle/chunks/chunk-I2HSTRJF.js +346 -0
  159. package/dist/cli-bundle/chunks/chunk-I2HSTRJF.js.map +1 -0
  160. package/dist/cli-bundle/chunks/chunk-I6BNFU5X.js +140 -0
  161. package/dist/cli-bundle/chunks/chunk-I6BNFU5X.js.map +7 -0
  162. package/dist/cli-bundle/chunks/{chunk-JTWRXG4B.js → chunk-IJGCZSIQ.js} +251 -251
  163. package/dist/cli-bundle/chunks/chunk-IJGCZSIQ.js.map +7 -0
  164. package/dist/cli-bundle/chunks/chunk-IOR7LGF4.js +1491 -0
  165. package/dist/cli-bundle/chunks/chunk-IOR7LGF4.js.map +1 -0
  166. package/dist/cli-bundle/chunks/chunk-IUV734HF.js +17 -0
  167. package/dist/cli-bundle/chunks/chunk-IUV734HF.js.map +1 -0
  168. package/dist/cli-bundle/chunks/chunk-J27KIHTG.js +15 -0
  169. package/dist/cli-bundle/chunks/chunk-J27KIHTG.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{chunk-AKOOMO3T.js → chunk-KAG77BY3.js} +2 -2
  171. package/dist/cli-bundle/chunks/{chunk-KBQY3YG5.js → chunk-KJ33AOCY.js} +3 -3
  172. package/dist/cli-bundle/chunks/{chunk-WDPXDQFG.js → chunk-KJE2FOS4.js} +6 -4
  173. package/dist/cli-bundle/chunks/chunk-KJE2FOS4.js.map +7 -0
  174. package/dist/cli-bundle/chunks/chunk-KWU6HG75.js +3883 -0
  175. package/dist/cli-bundle/chunks/chunk-KWU6HG75.js.map +1 -0
  176. package/dist/cli-bundle/chunks/chunk-LB3RUL2N.js +1325 -0
  177. package/dist/cli-bundle/chunks/chunk-LB3RUL2N.js.map +1 -0
  178. package/dist/cli-bundle/chunks/{chunk-5HSEP75M.js → chunk-LCM63IXU.js} +18 -6
  179. package/dist/cli-bundle/chunks/chunk-LCM63IXU.js.map +7 -0
  180. package/dist/cli-bundle/chunks/chunk-LXYVKYMQ.js +24 -0
  181. package/dist/cli-bundle/chunks/chunk-LXYVKYMQ.js.map +1 -0
  182. package/dist/cli-bundle/chunks/chunk-ME2YH6FN.js +182 -0
  183. package/dist/cli-bundle/chunks/chunk-ME2YH6FN.js.map +1 -0
  184. package/dist/cli-bundle/chunks/chunk-MITFDD35.js +1809 -0
  185. package/dist/cli-bundle/chunks/chunk-MITFDD35.js.map +1 -0
  186. package/dist/cli-bundle/chunks/{chunk-WJ2NAC37.js → chunk-N7ACFE26.js} +3 -3
  187. package/dist/cli-bundle/chunks/chunk-NUZ5HKR4.js +332 -0
  188. package/dist/cli-bundle/chunks/chunk-NUZ5HKR4.js.map +1 -0
  189. package/dist/cli-bundle/chunks/{chunk-7Y53ZJIQ.js → chunk-OVQCEJPG.js} +22 -3
  190. package/dist/cli-bundle/chunks/chunk-OVQCEJPG.js.map +7 -0
  191. package/dist/cli-bundle/chunks/{chunk-PXUAZUUY.js → chunk-OZ7NSQHL.js} +12 -11
  192. package/dist/cli-bundle/chunks/chunk-OZ7NSQHL.js.map +7 -0
  193. package/dist/cli-bundle/chunks/{chunk-P53TN6IA.js → chunk-PDDFYW4X.js} +35 -8
  194. package/dist/cli-bundle/chunks/chunk-PDDFYW4X.js.map +7 -0
  195. package/dist/cli-bundle/chunks/{chunk-6YCV7WSL.js → chunk-PIU6RSL3.js} +10 -12
  196. package/dist/cli-bundle/chunks/{chunk-6YCV7WSL.js.map → chunk-PIU6RSL3.js.map} +1 -1
  197. package/dist/cli-bundle/chunks/chunk-PO3GSVFV.js +338 -0
  198. package/dist/cli-bundle/chunks/chunk-PO3GSVFV.js.map +1 -0
  199. package/dist/cli-bundle/chunks/{chunk-LRBOHPUE.js → chunk-PRJCELV4.js} +108 -21
  200. package/dist/cli-bundle/chunks/chunk-PRJCELV4.js.map +7 -0
  201. package/dist/cli-bundle/chunks/{chunk-GN7IJPCD.js → chunk-PROOHX4K.js} +332 -32
  202. package/dist/cli-bundle/chunks/chunk-PROOHX4K.js.map +7 -0
  203. package/dist/cli-bundle/chunks/{chunk-FQE6XZDB.js → chunk-Q7SPNHLW.js} +54 -32
  204. package/dist/cli-bundle/chunks/chunk-Q7SPNHLW.js.map +7 -0
  205. package/dist/cli-bundle/chunks/{chunk-PVNQLCIS.js → chunk-QO7EBBOM.js} +2 -2
  206. package/dist/cli-bundle/chunks/{chunk-A7E7PUVX.js → chunk-R6UFP2GE.js} +7 -7
  207. package/dist/cli-bundle/chunks/chunk-RWPSOIEE.js +154 -0
  208. package/dist/cli-bundle/chunks/chunk-RWPSOIEE.js.map +1 -0
  209. package/dist/cli-bundle/chunks/chunk-RZN6VURO.js +119 -0
  210. package/dist/cli-bundle/chunks/chunk-RZN6VURO.js.map +1 -0
  211. package/dist/cli-bundle/chunks/chunk-SKJWX3QB.js +1501 -0
  212. package/dist/cli-bundle/chunks/chunk-SKJWX3QB.js.map +7 -0
  213. package/dist/cli-bundle/chunks/{chunk-CEFIVZPG.js → chunk-T3LC5LKB.js} +2 -2
  214. package/dist/cli-bundle/chunks/chunk-TCD3R2PF.js +173 -0
  215. package/dist/cli-bundle/chunks/chunk-TCD3R2PF.js.map +1 -0
  216. package/dist/cli-bundle/chunks/chunk-TPH5XEVD.js +2988 -0
  217. package/dist/cli-bundle/chunks/chunk-TPH5XEVD.js.map +1 -0
  218. package/dist/cli-bundle/chunks/{chunk-LSXGH6NE.js → chunk-U5SXYXSY.js} +821 -200
  219. package/dist/cli-bundle/chunks/chunk-U5SXYXSY.js.map +7 -0
  220. package/dist/cli-bundle/chunks/chunk-UBOPJT3S.js +540 -0
  221. package/dist/cli-bundle/chunks/chunk-UBOPJT3S.js.map +1 -0
  222. package/dist/cli-bundle/chunks/{chunk-JFWUHHS2.js → chunk-UM2GBHS4.js} +5 -4
  223. package/dist/cli-bundle/chunks/chunk-W7XABV4H.js +454 -0
  224. package/dist/cli-bundle/chunks/chunk-W7XABV4H.js.map +1 -0
  225. package/dist/cli-bundle/chunks/{chunk-SEXQN4KL.js → chunk-WKY2IBOQ.js} +3 -3
  226. package/dist/cli-bundle/chunks/chunk-WOPXVEZP.js +698 -0
  227. package/dist/cli-bundle/chunks/chunk-WOPXVEZP.js.map +1 -0
  228. package/dist/cli-bundle/chunks/chunk-WSMOSYRD.js +1704 -0
  229. package/dist/cli-bundle/chunks/chunk-WSMOSYRD.js.map +1 -0
  230. package/dist/cli-bundle/chunks/{chunk-NGN7UV5K.js → chunk-XLTD2HN3.js} +2 -2
  231. package/dist/cli-bundle/chunks/chunk-XSJCLN2R.js +131 -0
  232. package/dist/cli-bundle/chunks/chunk-XSJCLN2R.js.map +7 -0
  233. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js +53 -0
  234. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js.map +1 -0
  235. package/dist/cli-bundle/chunks/{chunk-BUPWJ3IJ.js → chunk-XTGLRY2Y.js} +484 -49
  236. package/dist/cli-bundle/chunks/chunk-XTGLRY2Y.js.map +7 -0
  237. package/dist/cli-bundle/chunks/{chunk-L2FXEKDB.js → chunk-YL2DJGYS.js} +7 -7
  238. package/dist/cli-bundle/chunks/{claim-EE4TKKCV.js → claim-4DBF6RVG.js} +10 -11
  239. package/dist/cli-bundle/chunks/{claim-EE4TKKCV.js.map → claim-4DBF6RVG.js.map} +1 -1
  240. package/dist/cli-bundle/chunks/claim-X2P4IB7J.js +129 -0
  241. package/dist/cli-bundle/chunks/claim-X2P4IB7J.js.map +1 -0
  242. package/dist/cli-bundle/chunks/close-3HDWDA3L.js +13 -0
  243. package/dist/cli-bundle/chunks/close-PTYFA45H.js +17 -0
  244. package/dist/cli-bundle/chunks/close-PTYFA45H.js.map +1 -0
  245. package/dist/cli-bundle/chunks/close-many-7CGIDPTJ.js +314 -0
  246. package/dist/cli-bundle/chunks/close-many-7CGIDPTJ.js.map +7 -0
  247. package/dist/cli-bundle/chunks/close-many-ERFO6LHR.js +311 -0
  248. package/dist/cli-bundle/chunks/close-many-ERFO6LHR.js.map +1 -0
  249. package/dist/cli-bundle/chunks/comments-OONGABK5.js +100 -0
  250. package/dist/cli-bundle/chunks/comments-OONGABK5.js.map +1 -0
  251. package/dist/cli-bundle/chunks/{comments-AAKJQ6LW.js → comments-QKBYCWKD.js} +10 -11
  252. package/dist/cli-bundle/chunks/{comments-AAKJQ6LW.js.map → comments-QKBYCWKD.js.map} +1 -1
  253. package/dist/cli-bundle/chunks/config-6FXCQKIF.js +1671 -0
  254. package/dist/cli-bundle/chunks/config-6FXCQKIF.js.map +1 -0
  255. package/dist/cli-bundle/chunks/{config-V3FZOKLI.js → config-U4RZ4CQB.js} +121 -10
  256. package/dist/cli-bundle/chunks/config-U4RZ4CQB.js.map +7 -0
  257. package/dist/cli-bundle/chunks/{context-RZ5QPNJB.js → context-FYYJGFWS.js} +32 -19
  258. package/dist/cli-bundle/chunks/{context-RZ5QPNJB.js.map → context-FYYJGFWS.js.map} +2 -2
  259. package/dist/cli-bundle/chunks/context-YMJ3Z2HQ.js +1461 -0
  260. package/dist/cli-bundle/chunks/context-YMJ3Z2HQ.js.map +1 -0
  261. package/dist/cli-bundle/chunks/contracts-QDB6OMLQ.js +1278 -0
  262. package/dist/cli-bundle/chunks/contracts-QDB6OMLQ.js.map +1 -0
  263. package/dist/cli-bundle/chunks/{contracts-YLMH33VU.js → contracts-RFSPGVVJ.js} +198 -162
  264. package/dist/cli-bundle/chunks/contracts-RFSPGVVJ.js.map +7 -0
  265. package/dist/cli-bundle/chunks/create-I5L4EYYZ.js +31 -0
  266. package/dist/cli-bundle/chunks/create-I5L4EYYZ.js.map +1 -0
  267. package/dist/cli-bundle/chunks/create-JTZNCTQC.js +27 -0
  268. package/dist/cli-bundle/chunks/delete-7HPGI4GZ.js +55 -0
  269. package/dist/cli-bundle/chunks/delete-7HPGI4GZ.js.map +1 -0
  270. package/dist/cli-bundle/chunks/{delete-RHCTEORS.js → delete-VXUPH5RS.js} +7 -8
  271. package/dist/cli-bundle/chunks/{delete-RHCTEORS.js.map → delete-VXUPH5RS.js.map} +1 -1
  272. package/dist/cli-bundle/chunks/{deps-MZYCMLAO.js → deps-JSRRWC3Z.js} +7 -8
  273. package/dist/cli-bundle/chunks/{deps-MZYCMLAO.js.map → deps-JSRRWC3Z.js.map} +1 -1
  274. package/dist/cli-bundle/chunks/deps-SCZIFK2Z.js +225 -0
  275. package/dist/cli-bundle/chunks/deps-SCZIFK2Z.js.map +1 -0
  276. package/dist/cli-bundle/chunks/docs-GJK6K4VP.js +31 -0
  277. package/dist/cli-bundle/chunks/docs-GJK6K4VP.js.map +1 -0
  278. package/dist/cli-bundle/chunks/{docs-FXXUCZYU.js → docs-WW4N3MBM.js} +9 -10
  279. package/dist/cli-bundle/chunks/{docs-FXXUCZYU.js.map → docs-WW4N3MBM.js.map} +1 -1
  280. package/dist/cli-bundle/chunks/{extension-B4WL7BQU.js → extension-J7IBMFTD.js} +4 -5
  281. package/dist/cli-bundle/chunks/extension-VDY2U33M.js +28 -0
  282. package/dist/cli-bundle/chunks/extension-VDY2U33M.js.map +1 -0
  283. package/dist/cli-bundle/chunks/files-ISZJGILQ.js +282 -0
  284. package/dist/cli-bundle/chunks/files-ISZJGILQ.js.map +1 -0
  285. package/dist/cli-bundle/chunks/{files-WVOX67PE.js → files-WKOD326U.js} +9 -10
  286. package/dist/cli-bundle/chunks/{files-WVOX67PE.js.map → files-WKOD326U.js.map} +1 -1
  287. package/dist/cli-bundle/chunks/gc-JDVJ6OQ2.js +362 -0
  288. package/dist/cli-bundle/chunks/gc-JDVJ6OQ2.js.map +1 -0
  289. package/dist/cli-bundle/chunks/gc-ULPVWMTN.js +372 -0
  290. package/dist/cli-bundle/chunks/gc-ULPVWMTN.js.map +7 -0
  291. package/dist/cli-bundle/chunks/get-RV37HT3G.js +194 -0
  292. package/dist/cli-bundle/chunks/get-RV37HT3G.js.map +1 -0
  293. package/dist/cli-bundle/chunks/{get-LTK3HOCQ.js → get-WXU6WI5P.js} +16 -17
  294. package/dist/cli-bundle/chunks/get-WXU6WI5P.js.map +7 -0
  295. package/dist/cli-bundle/chunks/{health-TCWL55KM.js → health-6L6EH4WR.js} +57 -16
  296. package/dist/cli-bundle/chunks/health-6L6EH4WR.js.map +7 -0
  297. package/dist/cli-bundle/chunks/health-LOI2HHKB.js +1271 -0
  298. package/dist/cli-bundle/chunks/health-LOI2HHKB.js.map +1 -0
  299. package/dist/cli-bundle/chunks/history-2BA3T5AE.js +20 -0
  300. package/dist/cli-bundle/chunks/history-PKN67D5O.js +24 -0
  301. package/dist/cli-bundle/chunks/history-PKN67D5O.js.map +1 -0
  302. package/dist/cli-bundle/chunks/history-redact-JBZNXHGR.js +19 -0
  303. package/dist/cli-bundle/chunks/history-redact-V4FOJGS7.js +23 -0
  304. package/dist/cli-bundle/chunks/history-redact-V4FOJGS7.js.map +1 -0
  305. package/dist/cli-bundle/chunks/{history-repair-ZWSTDRH2.js → history-repair-HIBCBIKK.js} +12 -14
  306. package/dist/cli-bundle/chunks/{history-repair-ZWSTDRH2.js.map → history-repair-HIBCBIKK.js.map} +1 -1
  307. package/dist/cli-bundle/chunks/history-repair-SDMHR7JT.js +193 -0
  308. package/dist/cli-bundle/chunks/history-repair-SDMHR7JT.js.map +1 -0
  309. package/dist/cli-bundle/chunks/init-HIVSNX3O.js +16 -0
  310. package/dist/cli-bundle/chunks/init-P56QYWJF.js +20 -0
  311. package/dist/cli-bundle/chunks/init-P56QYWJF.js.map +1 -0
  312. package/dist/cli-bundle/chunks/learnings-GDFRG5J7.js +44 -0
  313. package/dist/cli-bundle/chunks/learnings-GDFRG5J7.js.map +1 -0
  314. package/dist/cli-bundle/chunks/{learnings-NXTWE3FR.js → learnings-MIXSESLK.js} +10 -11
  315. package/dist/cli-bundle/chunks/{learnings-NXTWE3FR.js.map → learnings-MIXSESLK.js.map} +1 -1
  316. package/dist/cli-bundle/chunks/list-FGOWQMSM.js +24 -0
  317. package/dist/cli-bundle/chunks/list-FGOWQMSM.js.map +1 -0
  318. package/dist/cli-bundle/chunks/list-MUSQNMTD.js +20 -0
  319. package/dist/cli-bundle/chunks/{notes-DFS5ZGOO.js → notes-4XVSH2AZ.js} +10 -11
  320. package/dist/cli-bundle/chunks/{notes-DFS5ZGOO.js.map → notes-4XVSH2AZ.js.map} +1 -1
  321. package/dist/cli-bundle/chunks/notes-5UK3GEH2.js +44 -0
  322. package/dist/cli-bundle/chunks/notes-5UK3GEH2.js.map +1 -0
  323. package/dist/cli-bundle/chunks/plan-DUMBV3QB.js +1171 -0
  324. package/dist/cli-bundle/chunks/plan-DUMBV3QB.js.map +1 -0
  325. package/dist/cli-bundle/chunks/{plan-67AB2PLM.js → plan-SLMODHWX.js} +13 -14
  326. package/dist/cli-bundle/chunks/{plan-67AB2PLM.js.map → plan-SLMODHWX.js.map} +1 -1
  327. package/dist/cli-bundle/chunks/register-list-query-POCFZ5JW.js +229 -0
  328. package/dist/cli-bundle/chunks/register-list-query-POCFZ5JW.js.map +1 -0
  329. package/dist/cli-bundle/chunks/{register-list-query-UP3VRUFS.js → register-list-query-WST76HSQ.js} +26 -26
  330. package/dist/cli-bundle/chunks/register-list-query-WST76HSQ.js.map +7 -0
  331. package/dist/cli-bundle/chunks/register-mutation-N5GSUZJV.js +813 -0
  332. package/dist/cli-bundle/chunks/register-mutation-N5GSUZJV.js.map +1 -0
  333. package/dist/cli-bundle/chunks/{register-mutation-YWSBF545.js → register-mutation-OA675SOU.js} +154 -43
  334. package/dist/cli-bundle/chunks/register-mutation-OA675SOU.js.map +7 -0
  335. package/dist/cli-bundle/chunks/register-operations-GNHBE5I3.js +383 -0
  336. package/dist/cli-bundle/chunks/register-operations-GNHBE5I3.js.map +1 -0
  337. package/dist/cli-bundle/chunks/{register-operations-3BDTGSDH.js → register-operations-N3PMHXH5.js} +49 -37
  338. package/dist/cli-bundle/chunks/register-operations-N3PMHXH5.js.map +7 -0
  339. package/dist/cli-bundle/chunks/register-setup-JIMPKJKV.js +242 -0
  340. package/dist/cli-bundle/chunks/register-setup-JIMPKJKV.js.map +1 -0
  341. package/dist/cli-bundle/chunks/{register-setup-V56GDRUS.js → register-setup-ZHJI2DI3.js} +18 -19
  342. package/dist/cli-bundle/chunks/{register-setup-V56GDRUS.js.map → register-setup-ZHJI2DI3.js.map} +2 -2
  343. package/dist/cli-bundle/chunks/restore-D4RGNX33.js +17 -0
  344. package/dist/cli-bundle/chunks/restore-PBL6T5TW.js +21 -0
  345. package/dist/cli-bundle/chunks/restore-PBL6T5TW.js.map +1 -0
  346. package/dist/cli-bundle/chunks/schema-2NOO6NGB.js +780 -0
  347. package/dist/cli-bundle/chunks/schema-2NOO6NGB.js.map +7 -0
  348. package/dist/cli-bundle/chunks/schema-EBI4NLUO.js +770 -0
  349. package/dist/cli-bundle/chunks/schema-EBI4NLUO.js.map +1 -0
  350. package/dist/cli-bundle/chunks/search-JPUQTVCY.js +1127 -0
  351. package/dist/cli-bundle/chunks/search-JPUQTVCY.js.map +1 -0
  352. package/dist/cli-bundle/chunks/{search-HENBL456.js → search-OA6JX27A.js} +25 -16
  353. package/dist/cli-bundle/chunks/search-OA6JX27A.js.map +7 -0
  354. package/dist/cli-bundle/chunks/stats-CV54BAWY.js +202 -0
  355. package/dist/cli-bundle/chunks/stats-CV54BAWY.js.map +1 -0
  356. package/dist/cli-bundle/chunks/stats-XYB6KTFG.js +212 -0
  357. package/dist/cli-bundle/chunks/stats-XYB6KTFG.js.map +7 -0
  358. package/dist/cli-bundle/chunks/telemetry-LMJ7PFUO.js +251 -0
  359. package/dist/cli-bundle/chunks/telemetry-LMJ7PFUO.js.map +7 -0
  360. package/dist/cli-bundle/chunks/telemetry-NCMEPJNR.js +248 -0
  361. package/dist/cli-bundle/chunks/telemetry-NCMEPJNR.js.map +1 -0
  362. package/dist/cli-bundle/chunks/test-MXX3E5JL.js +31 -0
  363. package/dist/cli-bundle/chunks/test-WBROAJIE.js +35 -0
  364. package/dist/cli-bundle/chunks/test-WBROAJIE.js.map +1 -0
  365. package/dist/cli-bundle/chunks/test-all-N6NSRDTV.js +328 -0
  366. package/dist/cli-bundle/chunks/test-all-N6NSRDTV.js.map +1 -0
  367. package/dist/cli-bundle/chunks/{test-all-G2AZOHXI.js → test-all-NTOZ7C3M.js} +13 -14
  368. package/dist/cli-bundle/chunks/{test-all-G2AZOHXI.js.map → test-all-NTOZ7C3M.js.map} +1 -1
  369. package/dist/cli-bundle/chunks/test-runs-V6A7LPWZ.js +929 -0
  370. package/dist/cli-bundle/chunks/test-runs-V6A7LPWZ.js.map +1 -0
  371. package/dist/cli-bundle/chunks/{test-runs-GX5HTPSF.js → test-runs-WMVTQU3Y.js} +5 -5
  372. package/dist/cli-bundle/chunks/update-OSV3NAQB.js +25 -0
  373. package/dist/cli-bundle/chunks/update-OSV3NAQB.js.map +1 -0
  374. package/dist/cli-bundle/chunks/update-YRXSUGYQ.js +21 -0
  375. package/dist/cli-bundle/chunks/update-many-EM6OXYGO.js +605 -0
  376. package/dist/cli-bundle/chunks/update-many-EM6OXYGO.js.map +1 -0
  377. package/dist/cli-bundle/chunks/{update-many-46HRSP2Q.js → update-many-KGGEYABR.js} +78 -146
  378. package/dist/cli-bundle/chunks/update-many-KGGEYABR.js.map +7 -0
  379. package/dist/cli-bundle/chunks/{upgrade-H5HHM5UV.js → upgrade-BLI7XBAJ.js} +5 -7
  380. package/dist/cli-bundle/chunks/{upgrade-H5HHM5UV.js.map → upgrade-BLI7XBAJ.js.map} +1 -1
  381. package/dist/cli-bundle/chunks/upgrade-LXPOQKFV.js +266 -0
  382. package/dist/cli-bundle/chunks/upgrade-LXPOQKFV.js.map +1 -0
  383. package/dist/cli-bundle/chunks/{validate-TMCVKIGZ.js → validate-AGOAUOVW.js} +61 -48
  384. package/dist/cli-bundle/chunks/validate-AGOAUOVW.js.map +7 -0
  385. package/dist/cli-bundle/chunks/validate-L5J6A7YO.js +1120 -0
  386. package/dist/cli-bundle/chunks/validate-L5J6A7YO.js.map +1 -0
  387. package/dist/cli-bundle/main.js +534 -1505
  388. package/dist/cli-bundle/main.js.map +4 -4
  389. package/dist/core/checkpoint/mutation-checkpoint.d.ts +44 -0
  390. package/dist/core/checkpoint/mutation-checkpoint.js +119 -0
  391. package/dist/core/checkpoint/mutation-checkpoint.js.map +1 -0
  392. package/dist/core/config/positional-value.js +4 -2
  393. package/dist/core/config/positional-value.js.map +1 -1
  394. package/dist/core/diagnostics/remediation.d.ts +73 -0
  395. package/dist/core/diagnostics/remediation.js +328 -0
  396. package/dist/core/diagnostics/remediation.js.map +1 -0
  397. package/dist/core/extensions/extension-hook-runtime.js +9 -2
  398. package/dist/core/extensions/extension-hook-runtime.js.map +1 -1
  399. package/dist/core/extensions/extension-types.d.ts +60 -4
  400. package/dist/core/extensions/extension-types.js +2 -2
  401. package/dist/core/extensions/extension-types.js.map +1 -1
  402. package/dist/core/extensions/index.d.ts +5 -1
  403. package/dist/core/extensions/index.js +61 -2
  404. package/dist/core/extensions/index.js.map +1 -1
  405. package/dist/core/extensions/item-fields.d.ts +5 -1
  406. package/dist/core/extensions/item-fields.js +126 -4
  407. package/dist/core/extensions/item-fields.js.map +1 -1
  408. package/dist/core/extensions/loader.js +283 -8
  409. package/dist/core/extensions/loader.js.map +1 -1
  410. package/dist/core/history/history-diff.d.ts +47 -0
  411. package/dist/core/history/history-diff.js +152 -0
  412. package/dist/core/history/history-diff.js.map +1 -0
  413. package/dist/core/history/history-storage-stats.d.ts +31 -0
  414. package/dist/core/history/history-storage-stats.js +101 -0
  415. package/dist/core/history/history-storage-stats.js.map +1 -0
  416. package/dist/core/item/item-format.d.ts +3 -2
  417. package/dist/core/item/item-format.js +15 -10
  418. package/dist/core/item/item-format.js.map +1 -1
  419. package/dist/core/item/status-filter.d.ts +29 -0
  420. package/dist/core/item/status-filter.js +97 -0
  421. package/dist/core/item/status-filter.js.map +1 -0
  422. package/dist/core/item/type-registry.js +4 -2
  423. package/dist/core/item/type-registry.js.map +1 -1
  424. package/dist/core/lock/lock-gc.d.ts +46 -0
  425. package/dist/core/lock/lock-gc.js +194 -0
  426. package/dist/core/lock/lock-gc.js.map +1 -0
  427. package/dist/core/output/output.js +17 -5
  428. package/dist/core/output/output.js.map +1 -1
  429. package/dist/core/schema/item-types-file.d.ts +15 -0
  430. package/dist/core/schema/item-types-file.js +27 -2
  431. package/dist/core/schema/item-types-file.js.map +1 -1
  432. package/dist/core/schema/runtime-field-filters.js +4 -3
  433. package/dist/core/schema/runtime-field-filters.js.map +1 -1
  434. package/dist/core/schema/runtime-field-values.d.ts +1 -1
  435. package/dist/core/schema/runtime-field-values.js +10 -4
  436. package/dist/core/schema/runtime-field-values.js.map +1 -1
  437. package/dist/core/schema/runtime-schema.js +75 -2
  438. package/dist/core/schema/runtime-schema.js.map +1 -1
  439. package/dist/core/schema/status-defs-file.d.ts +113 -0
  440. package/dist/core/schema/status-defs-file.js +260 -0
  441. package/dist/core/schema/status-defs-file.js.map +1 -0
  442. package/dist/core/schema/type-workflows.d.ts +64 -0
  443. package/dist/core/schema/type-workflows.js +98 -0
  444. package/dist/core/schema/type-workflows.js.map +1 -0
  445. package/dist/core/search/cache.d.ts +3 -1
  446. package/dist/core/search/cache.js +104 -28
  447. package/dist/core/search/cache.js.map +1 -1
  448. package/dist/core/search/http-client.d.ts +2 -2
  449. package/dist/core/search/http-client.js +2 -2
  450. package/dist/core/search/http-client.js.map +1 -1
  451. package/dist/core/search/vector-stores.d.ts +1 -0
  452. package/dist/core/search/vector-stores.js +64 -14
  453. package/dist/core/search/vector-stores.js.map +1 -1
  454. package/dist/core/search/vectorization-metadata.d.ts +13 -0
  455. package/dist/core/search/vectorization-metadata.js +65 -0
  456. package/dist/core/search/vectorization-metadata.js.map +1 -0
  457. package/dist/core/shared/serial-queue.d.ts +12 -0
  458. package/dist/core/shared/serial-queue.js +43 -0
  459. package/dist/core/shared/serial-queue.js.map +1 -0
  460. package/dist/core/shared/serialization.d.ts +1 -0
  461. package/dist/core/shared/serialization.js +86 -2
  462. package/dist/core/shared/serialization.js.map +1 -1
  463. package/dist/core/store/front-matter-cache.js +14 -5
  464. package/dist/core/store/front-matter-cache.js.map +1 -1
  465. package/dist/core/store/item-store.d.ts +2 -0
  466. package/dist/core/store/item-store.js +61 -6
  467. package/dist/core/store/item-store.js.map +1 -1
  468. package/dist/core/store/settings-validator.js +18 -2
  469. package/dist/core/store/settings-validator.js.map +1 -1
  470. package/dist/core/store/settings.d.ts +19 -1
  471. package/dist/core/store/settings.js +130 -10
  472. package/dist/core/store/settings.js.map +1 -1
  473. package/dist/core/telemetry/consent.js +3 -3
  474. package/dist/core/telemetry/consent.js.map +1 -1
  475. package/dist/core/telemetry/observability.js +5 -4
  476. package/dist/core/telemetry/observability.js.map +1 -1
  477. package/dist/core/telemetry/runtime.js +16 -4
  478. package/dist/core/telemetry/runtime.js.map +1 -1
  479. package/dist/mcp/server.d.ts +1 -0
  480. package/dist/mcp/server.js +372 -45
  481. package/dist/mcp/server.js.map +1 -1
  482. package/dist/sdk/cli-contracts/commander-mutation-options.js +16 -2
  483. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  484. package/dist/sdk/cli-contracts/commander-types.js +7 -2
  485. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  486. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  487. package/dist/sdk/cli-contracts/enum-contracts.js +6 -2
  488. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  489. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +1 -0
  490. package/dist/sdk/cli-contracts/tool-option-contracts.js +53 -3
  491. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  492. package/dist/sdk/cli-contracts/tool-parameter-tables.js +42 -10
  493. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  494. package/dist/sdk/cli-contracts.d.ts +42 -1
  495. package/dist/sdk/cli-contracts.js +225 -19
  496. package/dist/sdk/cli-contracts.js.map +1 -1
  497. package/dist/sdk/errors.d.ts +22 -0
  498. package/dist/sdk/errors.js +46 -0
  499. package/dist/sdk/errors.js.map +1 -0
  500. package/dist/sdk/index.d.ts +2 -1
  501. package/dist/sdk/index.js +3 -2
  502. package/dist/sdk/index.js.map +1 -1
  503. package/dist/sdk/package-import-adapters.js +14 -3
  504. package/dist/sdk/package-import-adapters.js.map +1 -1
  505. package/dist/sdk/runtime.d.ts +1 -0
  506. package/dist/sdk/runtime.js +3 -2
  507. package/dist/sdk/runtime.js.map +1 -1
  508. package/dist/sdk/testing.d.ts +77 -0
  509. package/dist/sdk/testing.js +239 -0
  510. package/dist/sdk/testing.js.map +1 -0
  511. package/dist/types.d.ts +19 -0
  512. package/dist/types.js +3 -2
  513. package/dist/types.js.map +1 -1
  514. package/docs/AGENT_GUIDE.md +22 -3
  515. package/docs/ARCHITECTURE.md +11 -1
  516. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  517. package/docs/COMMANDS.md +118 -7
  518. package/docs/CONFIGURATION.md +57 -2
  519. package/docs/EXTENSIONS.md +125 -6
  520. package/docs/EXTENSION_AUTHOR_CONTRACTS.md +73 -0
  521. package/docs/ONBOARDING.md +165 -0
  522. package/docs/QUICKSTART.md +3 -1
  523. package/docs/README.md +12 -4
  524. package/docs/RELEASING.md +38 -3
  525. package/docs/SDK.md +273 -1
  526. package/docs/TESTING.md +36 -1
  527. package/docs/examples/policy-restricted-extension/manifest.json +1 -0
  528. package/docs/examples/starter-extension/index.js +9 -1
  529. package/docs/examples/starter-extension/manifest.json +1 -0
  530. package/package.json +16 -7
  531. package/packages/pm-beads/extensions/beads/index.js +2 -4
  532. package/packages/pm-beads/extensions/beads/index.ts +43 -33
  533. package/packages/pm-beads/extensions/beads/manifest.json +12 -1
  534. package/packages/pm-calendar/README.md +6 -0
  535. package/packages/pm-calendar/extensions/calendar/index.js +6 -1
  536. package/packages/pm-calendar/extensions/calendar/index.ts +6 -1
  537. package/packages/pm-calendar/extensions/calendar/manifest.json +6 -1
  538. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +6 -1
  539. package/packages/pm-guide-shell/README.md +4 -0
  540. package/packages/pm-guide-shell/extensions/guide-shell/index.js +22 -0
  541. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +22 -0
  542. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +6 -1
  543. package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +74 -3
  544. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +84 -4
  545. package/packages/pm-lifecycle-hooks/README.md +29 -0
  546. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.js +18 -0
  547. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.ts +20 -0
  548. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +9 -0
  549. package/packages/pm-lifecycle-hooks/package.json +52 -0
  550. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +13 -1
  551. package/packages/pm-search-advanced/extensions/search-advanced/index.js +69 -1
  552. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +91 -2
  553. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +13 -1
  554. package/packages/pm-templates/extensions/templates/manifest.json +6 -1
  555. package/packages/pm-todos/extensions/todos/index.js +3 -7
  556. package/packages/pm-todos/extensions/todos/index.ts +55 -42
  557. package/packages/pm-todos/extensions/todos/manifest.json +13 -1
  558. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  559. package/plugins/pm-claude/README.md +7 -4
  560. package/plugins/pm-claude/agents/pm-coordinator.md +1 -1
  561. package/plugins/pm-claude/commands/pm-init.md +1 -1
  562. package/scripts/bundle-cli.mjs +121 -17
  563. package/dist/cli-bundle/chunks/activity-OWYSUZOY.js +0 -17
  564. package/dist/cli-bundle/chunks/chunk-3M73P3G6.js.map +0 -7
  565. package/dist/cli-bundle/chunks/chunk-4AEZR5EJ.js +0 -189
  566. package/dist/cli-bundle/chunks/chunk-4AEZR5EJ.js.map +0 -7
  567. package/dist/cli-bundle/chunks/chunk-5HSEP75M.js.map +0 -7
  568. package/dist/cli-bundle/chunks/chunk-6HT2F4TK.js.map +0 -7
  569. package/dist/cli-bundle/chunks/chunk-7Y53ZJIQ.js.map +0 -7
  570. package/dist/cli-bundle/chunks/chunk-BUPWJ3IJ.js.map +0 -7
  571. package/dist/cli-bundle/chunks/chunk-EGUGFSNX.js +0 -47
  572. package/dist/cli-bundle/chunks/chunk-EGUGFSNX.js.map +0 -7
  573. package/dist/cli-bundle/chunks/chunk-FM26RGSU.js +0 -56
  574. package/dist/cli-bundle/chunks/chunk-FM26RGSU.js.map +0 -7
  575. package/dist/cli-bundle/chunks/chunk-FQE6XZDB.js.map +0 -7
  576. package/dist/cli-bundle/chunks/chunk-GN7IJPCD.js.map +0 -7
  577. package/dist/cli-bundle/chunks/chunk-JTWRXG4B.js.map +0 -7
  578. package/dist/cli-bundle/chunks/chunk-JULRTHJQ.js.map +0 -7
  579. package/dist/cli-bundle/chunks/chunk-LRBOHPUE.js.map +0 -7
  580. package/dist/cli-bundle/chunks/chunk-LSXGH6NE.js.map +0 -7
  581. package/dist/cli-bundle/chunks/chunk-MD7K4JYF.js.map +0 -7
  582. package/dist/cli-bundle/chunks/chunk-OGZEG5TT.js.map +0 -7
  583. package/dist/cli-bundle/chunks/chunk-P53TN6IA.js.map +0 -7
  584. package/dist/cli-bundle/chunks/chunk-PXUAZUUY.js.map +0 -7
  585. package/dist/cli-bundle/chunks/chunk-U7FMKRXH.js.map +0 -7
  586. package/dist/cli-bundle/chunks/chunk-VGICHR7D.js +0 -141
  587. package/dist/cli-bundle/chunks/chunk-VGICHR7D.js.map +0 -7
  588. package/dist/cli-bundle/chunks/chunk-WDPXDQFG.js.map +0 -7
  589. package/dist/cli-bundle/chunks/close-XY4CSAYF.js +0 -14
  590. package/dist/cli-bundle/chunks/config-V3FZOKLI.js.map +0 -7
  591. package/dist/cli-bundle/chunks/contracts-YLMH33VU.js.map +0 -7
  592. package/dist/cli-bundle/chunks/create-PZVHRIZQ.js +0 -28
  593. package/dist/cli-bundle/chunks/gc-JWNF66EC.js +0 -181
  594. package/dist/cli-bundle/chunks/gc-JWNF66EC.js.map +0 -7
  595. package/dist/cli-bundle/chunks/get-LTK3HOCQ.js.map +0 -7
  596. package/dist/cli-bundle/chunks/health-TCWL55KM.js.map +0 -7
  597. package/dist/cli-bundle/chunks/history-A2JUDXUE.js +0 -21
  598. package/dist/cli-bundle/chunks/history-redact-ED6RFCPL.js +0 -20
  599. package/dist/cli-bundle/chunks/init-M2WUB4YH.js +0 -16
  600. package/dist/cli-bundle/chunks/list-OGWQPC26.js +0 -20
  601. package/dist/cli-bundle/chunks/register-list-query-UP3VRUFS.js.map +0 -7
  602. package/dist/cli-bundle/chunks/register-mutation-YWSBF545.js.map +0 -7
  603. package/dist/cli-bundle/chunks/register-operations-3BDTGSDH.js.map +0 -7
  604. package/dist/cli-bundle/chunks/restore-MB2ISME7.js +0 -18
  605. package/dist/cli-bundle/chunks/schema-Q622KC46.js +0 -119
  606. package/dist/cli-bundle/chunks/schema-Q622KC46.js.map +0 -7
  607. package/dist/cli-bundle/chunks/search-HENBL456.js.map +0 -7
  608. package/dist/cli-bundle/chunks/stats-N6H3YP2F.js +0 -124
  609. package/dist/cli-bundle/chunks/stats-N6H3YP2F.js.map +0 -7
  610. package/dist/cli-bundle/chunks/test-VNBDRJ4Z.js +0 -32
  611. package/dist/cli-bundle/chunks/update-H6SCWNMA.js +0 -22
  612. package/dist/cli-bundle/chunks/update-many-46HRSP2Q.js.map +0 -7
  613. package/dist/cli-bundle/chunks/validate-TMCVKIGZ.js.map +0 -7
  614. /package/dist/cli-bundle/chunks/{activity-OWYSUZOY.js.map → activity-CVXTCHYY.js.map} +0 -0
  615. /package/dist/cli-bundle/chunks/{aggregate-ADUOSFRO.js.map → aggregate-VNAHUNNF.js.map} +0 -0
  616. /package/dist/cli-bundle/chunks/{chunk-D7AOMPRH.js.map → chunk-BQHUILZS.js.map} +0 -0
  617. /package/dist/cli-bundle/chunks/{chunk-G57E5D7T.js.map → chunk-GU2ZJ2VV.js.map} +0 -0
  618. /package/dist/cli-bundle/chunks/{chunk-AKOOMO3T.js.map → chunk-KAG77BY3.js.map} +0 -0
  619. /package/dist/cli-bundle/chunks/{chunk-KBQY3YG5.js.map → chunk-KJ33AOCY.js.map} +0 -0
  620. /package/dist/cli-bundle/chunks/{chunk-WJ2NAC37.js.map → chunk-N7ACFE26.js.map} +0 -0
  621. /package/dist/cli-bundle/chunks/{chunk-PVNQLCIS.js.map → chunk-QO7EBBOM.js.map} +0 -0
  622. /package/dist/cli-bundle/chunks/{chunk-A7E7PUVX.js.map → chunk-R6UFP2GE.js.map} +0 -0
  623. /package/dist/cli-bundle/chunks/{chunk-CEFIVZPG.js.map → chunk-T3LC5LKB.js.map} +0 -0
  624. /package/dist/cli-bundle/chunks/{chunk-JFWUHHS2.js.map → chunk-UM2GBHS4.js.map} +0 -0
  625. /package/dist/cli-bundle/chunks/{chunk-SEXQN4KL.js.map → chunk-WKY2IBOQ.js.map} +0 -0
  626. /package/dist/cli-bundle/chunks/{chunk-NGN7UV5K.js.map → chunk-XLTD2HN3.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{chunk-L2FXEKDB.js.map → chunk-YL2DJGYS.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{close-XY4CSAYF.js.map → close-3HDWDA3L.js.map} +0 -0
  629. /package/dist/cli-bundle/chunks/{create-PZVHRIZQ.js.map → create-JTZNCTQC.js.map} +0 -0
  630. /package/dist/cli-bundle/chunks/{extension-B4WL7BQU.js.map → extension-J7IBMFTD.js.map} +0 -0
  631. /package/dist/cli-bundle/chunks/{history-A2JUDXUE.js.map → history-2BA3T5AE.js.map} +0 -0
  632. /package/dist/cli-bundle/chunks/{history-redact-ED6RFCPL.js.map → history-redact-JBZNXHGR.js.map} +0 -0
  633. /package/dist/cli-bundle/chunks/{init-M2WUB4YH.js.map → init-HIVSNX3O.js.map} +0 -0
  634. /package/dist/cli-bundle/chunks/{list-OGWQPC26.js.map → list-MUSQNMTD.js.map} +0 -0
  635. /package/dist/cli-bundle/chunks/{restore-MB2ISME7.js.map → restore-D4RGNX33.js.map} +0 -0
  636. /package/dist/cli-bundle/chunks/{test-VNBDRJ4Z.js.map → test-MXX3E5JL.js.map} +0 -0
  637. /package/dist/cli-bundle/chunks/{test-runs-GX5HTPSF.js.map → test-runs-WMVTQU3Y.js.map} +0 -0
  638. /package/dist/cli-bundle/chunks/{update-H6SCWNMA.js.map → update-YRXSUGYQ.js.map} +0 -0
@@ -1,19 +1,20 @@
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]="56ca52a0-bad8-57a6-af37-8b54538f07fa")}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]="62701936-e5db-51ae-87a7-d448b11c7e5f")}catch(e){}}();
3
3
  import { EXIT_CODE } from "../../core/shared/constants.js";
4
4
  import { PmCliError } from "../../core/shared/errors.js";
5
- import { ACTIVITY_FLAG_CONTRACTS, APPEND_FLAG_CONTRACTS, CALENDAR_FLAG_CONTRACTS, COMPLETION_FLAG_CONTRACTS, CONTRACTS_FLAG_CONTRACTS, CONTEXT_FLAG_CONTRACTS, CREATE_FLAG_CONTRACTS, DEPS_FLAG_CONTRACTS, GUIDE_FLAG_CONTRACTS, GLOBAL_FLAG_CONTRACTS, HEALTH_FLAG_CONTRACTS, INIT_FLAG_CONTRACTS, LIST_FILTER_FLAG_CONTRACTS, NORMALIZE_FLAG_CONTRACTS, PLAN_FLAG_CONTRACTS, PM_CORE_COMMAND_NAMES, SEARCH_FLAG_CONTRACTS, UPDATE_FLAG_CONTRACTS, UPDATE_MANY_FLAG_CONTRACTS, toCompletionFlagString, } from "../../sdk/cli-contracts.js";
6
- import { BUILTIN_ITEM_TYPE_VALUES } from "../../types/index.js";
5
+ import { ACTIVITY_FLAG_CONTRACTS, APPEND_FLAG_CONTRACTS, CALENDAR_FLAG_CONTRACTS, CLOSE_MANY_FLAG_CONTRACTS, COMPLETION_FLAG_CONTRACTS, CONTRACTS_FLAG_CONTRACTS, CONTEXT_FLAG_CONTRACTS, CREATE_FLAG_CONTRACTS, DEPS_FLAG_CONTRACTS, GUIDE_FLAG_CONTRACTS, GLOBAL_FLAG_CONTRACTS, HEALTH_FLAG_CONTRACTS, INIT_FLAG_CONTRACTS, LIST_FILTER_FLAG_CONTRACTS, NORMALIZE_FLAG_CONTRACTS, PLAN_FLAG_CONTRACTS, PM_CORE_COMMAND_NAMES, SEARCH_FLAG_CONTRACTS, UPDATE_FLAG_CONTRACTS, UPDATE_MANY_FLAG_CONTRACTS, toCompletionFlagString, } from "../../sdk/cli-contracts.js";
6
+ import { BUILTIN_ITEM_TYPE_VALUES, STATUS_VALUES } from "../../types/index.js";
7
7
  import { listGuideTopicIds } from "../guide-topics.js";
8
8
  const VALID_SHELLS = ["bash", "zsh", "fish"];
9
9
  const DEFAULT_ITEM_TYPES = [...BUILTIN_ITEM_TYPE_VALUES];
10
- const DEFAULT_STATUS_VALUES = ["draft", "open", "in_progress", "blocked", "closed", "canceled"];
10
+ const DEFAULT_STATUS_VALUES = [...STATUS_VALUES];
11
11
  const ALL_COMMANDS = [...PM_CORE_COMMAND_NAMES];
12
12
  const LIST_FLAGS = toCompletionFlagString(LIST_FILTER_FLAG_CONTRACTS);
13
13
  const APPEND_FLAGS = toCompletionFlagString(APPEND_FLAG_CONTRACTS);
14
14
  const CREATE_FLAGS = toCompletionFlagString(CREATE_FLAG_CONTRACTS);
15
15
  const UPDATE_FLAGS = toCompletionFlagString(UPDATE_FLAG_CONTRACTS);
16
16
  const UPDATE_MANY_FLAGS = toCompletionFlagString(UPDATE_MANY_FLAG_CONTRACTS);
17
+ const CLOSE_MANY_FLAGS = toCompletionFlagString(CLOSE_MANY_FLAG_CONTRACTS);
17
18
  const NORMALIZE_FLAGS = toCompletionFlagString(NORMALIZE_FLAG_CONTRACTS);
18
19
  const ACTIVITY_FLAGS = toCompletionFlagString(ACTIVITY_FLAG_CONTRACTS);
19
20
  const CALENDAR_FLAGS = toCompletionFlagString(CALENDAR_FLAG_CONTRACTS);
@@ -41,6 +42,18 @@ function joinCompletionValues(values) {
41
42
  .sort((left, right) => left.localeCompare(right))
42
43
  .join(" ");
43
44
  }
45
+ function joinCompletionValuesInOrder(values) {
46
+ return [...new Set(values.map((value) => value.trim()).filter((value) => value.length > 0))].join(" ");
47
+ }
48
+ function shellDoubleQuote(value) {
49
+ return value.replaceAll("\\", "\\\\").replaceAll('"', '\\"').replaceAll("$", "\\$").replaceAll("`", "\\`");
50
+ }
51
+ function completionTypeValues(itemTypes, runtime) {
52
+ return joinCompletionValuesInOrder(itemTypes.length > 0 ? itemTypes : (runtime.item_types ?? DEFAULT_ITEM_TYPES));
53
+ }
54
+ function completionStatusValues(runtime) {
55
+ return joinCompletionValues(runtime.statuses ?? DEFAULT_STATUS_VALUES);
56
+ }
44
57
  function mergeFlagStrings(baseFlags, runtimeFlags) {
45
58
  const merged = [...baseFlags.split(/\s+/u).filter((value) => value.length > 0), ...(runtimeFlags ?? [])];
46
59
  return joinCompletionValues(merged);
@@ -72,10 +85,93 @@ function renderFishRuntimeFieldFlagSpecs(commands, runtimeFlags) {
72
85
  }
73
86
  return `${lines.join("\n")}\n`;
74
87
  }
75
- export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], eagerTagExpansion = false, runtime = {}) {
88
+ function renderBashDynamicChoiceResolver(kind, command, fallback) {
89
+ const envKind = kind.toUpperCase();
90
+ const cacheVar = `PM_COMPLETION_${envKind}_CACHE`;
91
+ const cacheTsVar = `PM_COMPLETION_${envKind}_CACHE_TS`;
92
+ const ttlVar = `PM_COMPLETION_${envKind}_TTL`;
93
+ const escapedFallback = shellDoubleQuote(fallback);
94
+ return [
95
+ `_pm_completion_${kind}_choices() {`,
96
+ " local now ttl cache_ts resolved",
97
+ " now=\"$(date +%s 2>/dev/null || echo 0)\"",
98
+ ` ttl="\${${ttlVar}:-120}"`,
99
+ ` cache_ts="\${${cacheTsVar}:-0}"`,
100
+ ` if [[ -n "\${${cacheVar}:-}" && "$now" -ne 0 && $((now - cache_ts)) -lt "$ttl" ]]; then`,
101
+ ` printf '%s\\n' "\$${cacheVar}"`,
102
+ " return 0",
103
+ " fi",
104
+ ` resolved="$(pm ${command} 2>/dev/null)"`,
105
+ " if [[ -z \"$resolved\" ]]; then",
106
+ ` resolved="${escapedFallback}"`,
107
+ " fi",
108
+ ` ${cacheVar}="$resolved"`,
109
+ ` ${cacheTsVar}="$now"`,
110
+ ` printf '%s\\n' "\$${cacheVar}"`,
111
+ "}",
112
+ ];
113
+ }
114
+ function renderZshDynamicChoiceResolver(kind, command, fallback) {
115
+ const envKind = kind.toUpperCase();
116
+ const cacheVar = `PM_COMPLETION_${envKind}_CACHE`;
117
+ const cacheTsVar = `PM_COMPLETION_${envKind}_CACHE_TS`;
118
+ const ttlVar = `PM_COMPLETION_${envKind}_TTL`;
119
+ const escapedFallback = shellDoubleQuote(fallback);
120
+ return `
121
+ _pm_${kind}_choices() {
122
+ local now ttl cache_ts resolved
123
+ now=\${EPOCHSECONDS:-0}
124
+ ttl=\${${ttlVar}:-120}
125
+ cache_ts=\${${cacheTsVar}:-0}
126
+ if [[ -n "\${${cacheVar}:-}" && "$now" -ne 0 && $((now - cache_ts)) -lt "$ttl" ]]; then
127
+ print -r -- "$${cacheVar}"
128
+ return
129
+ fi
130
+ resolved="$(pm ${command} 2>/dev/null)"
131
+ if [[ -z "$resolved" ]]; then
132
+ resolved="${escapedFallback}"
133
+ fi
134
+ ${cacheVar}="$resolved"
135
+ ${cacheTsVar}="$now"
136
+ print -r -- "$${cacheVar}"
137
+ }
138
+ `;
139
+ }
140
+ function renderFishDynamicChoiceResolver(kind, command, fallback) {
141
+ const envKind = kind.toUpperCase();
142
+ const escapedFallback = fallback.replaceAll("'", "\\'");
143
+ return `
144
+ function __pm_${kind}_choices
145
+ set -l now (date +%s ^/dev/null)
146
+ if test -z "$now"
147
+ set now 0
148
+ end
149
+ set -l ttl 120
150
+ if set -q PM_COMPLETION_${envKind}_TTL
151
+ set ttl $PM_COMPLETION_${envKind}_TTL
152
+ end
153
+ if set -q PM_COMPLETION_${envKind}_CACHE; and set -q PM_COMPLETION_${envKind}_CACHE_TS
154
+ set -l age (math "$now - $PM_COMPLETION_${envKind}_CACHE_TS")
155
+ if test $age -lt $ttl
156
+ printf '%s\\n' $PM_COMPLETION_${envKind}_CACHE
157
+ return
158
+ end
159
+ end
160
+ set -l resolved (pm ${command} ^/dev/null)
161
+ if test (count $resolved) -eq 0
162
+ set resolved '${escapedFallback}'
163
+ end
164
+ set -gx PM_COMPLETION_${envKind}_CACHE $resolved
165
+ set -gx PM_COMPLETION_${envKind}_CACHE_TS $now
166
+ printf '%s\\n' $resolved
167
+ end
168
+ `;
169
+ }
170
+ export function generateBashScript(itemTypes = [], tags = [], eagerTagExpansion = false, runtime = {}) {
76
171
  const cmds = ALL_COMMANDS.join(" ");
77
- const typeValues = itemTypes.join(" ");
78
- const statusValues = joinCompletionValues(runtime.statuses ?? DEFAULT_STATUS_VALUES);
172
+ const useDynamicTypeExpansion = itemTypes.length === 0;
173
+ const typeValues = completionTypeValues(itemTypes, runtime);
174
+ const statusValues = completionStatusValues(runtime);
79
175
  const tagValues = joinCompletionValues(tags);
80
176
  const listFlags = mergeFlagStrings(LIST_FLAGS, runtime.command_flags?.list);
81
177
  const createFlags = mergeFlagStrings(CREATE_FLAGS, runtime.command_flags?.create);
@@ -93,6 +189,9 @@ export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], ea
93
189
  "# bash completion for pm",
94
190
  '# Source this file or add \'eval "$(pm completion bash)"\' to ~/.bashrc',
95
191
  "",
192
+ ...(useDynamicTypeExpansion ? [...renderBashDynamicChoiceResolver("type", "completion-types", typeValues), ""] : []),
193
+ ...renderBashDynamicChoiceResolver("status", "completion-statuses", statusValues),
194
+ "",
96
195
  "_pm_completion() {",
97
196
  " local cur prev words cword",
98
197
  " _init_completion 2>/dev/null || {",
@@ -107,12 +206,14 @@ export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], ea
107
206
  " fi",
108
207
  "",
109
208
  ' if [[ "$prev" == "--type" ]]; then',
110
- ` COMPREPLY=(${compgen(typeValues)})`,
209
+ useDynamicTypeExpansion
210
+ ? ' COMPREPLY=($(compgen -W "$(_pm_completion_type_choices)" -- "$cur"))'
211
+ : ` COMPREPLY=(${compgen(typeValues)})`,
111
212
  " return 0",
112
213
  " fi",
113
214
  "",
114
215
  ' if [[ "$prev" == "--status" ]]; then',
115
- ` COMPREPLY=(${compgen(statusValues)})`,
216
+ ' COMPREPLY=($(compgen -W "$(_pm_completion_status_choices)" -- "$cur"))',
116
217
  " return 0",
117
218
  " fi",
118
219
  "",
@@ -222,13 +323,13 @@ export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], ea
222
323
  ` COMPREPLY=(${compgen("list status logs stop resume --status --limit --stream --tail --force --author --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
223
324
  " ;;",
224
325
  " validate)",
225
- ` COMPREPLY=(${compgen("--check-metadata --metadata-profile --check-resolution --check-lifecycle --check-stale-blockers --dependency-cycle-severity --check-files --scan-mode --include-pm-internals --verbose-file-lists --strict-exit --fail-on-warn --check-history-drift --check-command-references --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
326
+ ` COMPREPLY=(${compgen("--check-metadata --metadata-profile --check-resolution --check-lifecycle --check-stale-blockers --dependency-cycle-severity --check-files --scan-mode --include-pm-internals --verbose-file-lists --verbose-diagnostics --strict-exit --fail-on-warn --fix-hints --check-history-drift --check-command-references --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
226
327
  " ;;",
227
328
  " health)",
228
329
  ` COMPREPLY=(${compgen(HEALTH_FLAGS)})`,
229
330
  " ;;",
230
331
  " history)",
231
- ` COMPREPLY=(${compgen("--limit --compact --full --diff --verify --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
332
+ ` COMPREPLY=(${compgen("--limit --compact --full --diff --field --verify --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
232
333
  " ;;",
233
334
  " get)",
234
335
  ` COMPREPLY=(${compgen("--depth --full --fields --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
@@ -240,7 +341,7 @@ export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], ea
240
341
  ` COMPREPLY=(${compgen("--dry-run --author --message --force --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
241
342
  " ;;",
242
343
  " schema)",
243
- ` COMPREPLY=(${compgen("add-type --description --default-status --folder --alias --author --force --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
344
+ ` COMPREPLY=(${compgen("list show add-type remove-type add-status remove-status --description --default-status --folder --alias --role --order --author --force --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
244
345
  " ;;",
245
346
  " plan)",
246
347
  ` COMPREPLY=(${compgen(`${PLAN_SUBCOMMANDS_LIST} ${PLAN_FLAGS}`)})`,
@@ -254,9 +355,15 @@ export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], ea
254
355
  " gc)",
255
356
  ` COMPREPLY=(${compgen("--dry-run --scope --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
256
357
  " ;;",
358
+ " stats)",
359
+ ` COMPREPLY=(${compgen("--storage --json --quiet --no-changed-fields --path --no-extensions --no-pager --profile --help")})`,
360
+ " ;;",
257
361
  " close|close-task)",
258
362
  ` COMPREPLY=(${compgen(CLOSE_MUTATION_FLAGS)})`,
259
363
  " ;;",
364
+ " close-many)",
365
+ ` COMPREPLY=(${compgen(CLOSE_MANY_FLAGS)})`,
366
+ " ;;",
260
367
  " release)",
261
368
  ` COMPREPLY=(${compgen(RELEASE_MUTATION_FLAGS)})`,
262
369
  " ;;",
@@ -282,10 +389,13 @@ export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], ea
282
389
  "complete -F _pm_completion pm",
283
390
  ].join("\n");
284
391
  }
285
- export function generateZshScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], eagerTagExpansion = false, runtime = {}) {
392
+ export function generateZshScript(itemTypes = [], tags = [], eagerTagExpansion = false, runtime = {}) {
286
393
  const cmds = ALL_COMMANDS.map((c) => `'${c}'`).join(" ");
287
- const typeChoices = itemTypes.join(" ");
288
- const statusChoices = joinCompletionValues(runtime.statuses ?? DEFAULT_STATUS_VALUES);
394
+ const useDynamicTypeExpansion = itemTypes.length === 0;
395
+ const typeFallbackChoices = completionTypeValues(itemTypes, runtime);
396
+ const statusFallbackChoices = completionStatusValues(runtime);
397
+ const typeChoices = useDynamicTypeExpansion ? '${(f)"$(_pm_type_choices)"}' : typeFallbackChoices;
398
+ const statusChoices = '${(f)"$(_pm_status_choices)"}';
289
399
  const guideTopicChoices = GUIDE_TOPIC_CHOICES;
290
400
  const tagChoices = joinCompletionValues(tags);
291
401
  const useEagerTagExpansion = eagerTagExpansion || tags.length > 0;
@@ -346,7 +456,7 @@ _pm_commands() {
346
456
  'history:Show item history entries'
347
457
  'history-redact:Redact sensitive literals/patterns and recompute history hashes'
348
458
  'history-repair:Re-anchor a drifted history chain so pm health/validate report ok'
349
- 'schema:Register custom item types into .agents/pm/schema/types.json'
459
+ 'schema:Manage custom item types and statuses in .agents/pm/schema/*.json'
350
460
  'plan:Agent-optimized Plan item workflow (create/show/add-step/update-step/complete-step/link/approve/materialize)'
351
461
  'activity:Show recent activity across items'
352
462
  'restore:Restore an item to an earlier state'
@@ -354,6 +464,7 @@ _pm_commands() {
354
464
  'update-many:Bulk-update matched items with dry-run and rollback checkpoints'
355
465
  'normalize:Normalize lifecycle metadata with dry-run planning or apply mode'
356
466
  'close:Close an item with a required reason'
467
+ 'close-many:Bulk-close matched items with a shared reason and rollback checkpoint'
357
468
  'delete:Delete an item and record the change'
358
469
  'append:Append text to an item body'
359
470
  'comments:List or add comments for an item'
@@ -383,6 +494,8 @@ _pm_commands() {
383
494
  _describe 'command' commands
384
495
  }
385
496
  ${dynamicTagResolver}
497
+ ${useDynamicTypeExpansion ? renderZshDynamicChoiceResolver("type", "completion-types", typeFallbackChoices) : ""}
498
+ ${renderZshDynamicChoiceResolver("status", "completion-statuses", statusFallbackChoices)}
386
499
 
387
500
  _pm() {
388
501
  local context state line
@@ -409,6 +522,10 @@ _pm() {
409
522
  '--priority[Filter by priority]:(0 1 2 3 4)' \\
410
523
  '--deadline-before[Filter by deadline upper bound (ISO/date string or relative)]:date' \\
411
524
  '--deadline-after[Filter by deadline lower bound (ISO/date string or relative)]:date' \\
525
+ '--updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp' \\
526
+ '--updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp' \\
527
+ '--created-after[Filter by created_at lower bound (ISO/relative)]:timestamp' \\
528
+ '--created-before[Filter by created_at upper bound (ISO/relative)]:timestamp' \\
412
529
  '--assignee[Filter by assignee]:assignee' \\
413
530
  '--assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
414
531
  '--sprint[Filter by sprint]:sprint' \\
@@ -549,11 +666,16 @@ ${zshUpdateRuntimeFieldFlags} '--allow-audit-update[Allow non-owner m
549
666
  '--filter-priority[Filter by priority before applying updates]:(0 1 2 3 4)' \\
550
667
  '--filter-deadline-before[Filter by deadline upper bound]:deadline' \\
551
668
  '--filter-deadline-after[Filter by deadline lower bound]:deadline' \\
669
+ '--filter-updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp' \\
670
+ '--filter-updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp' \\
671
+ '--filter-created-after[Filter by created_at lower bound (ISO/relative)]:timestamp' \\
672
+ '--filter-created-before[Filter by created_at upper bound (ISO/relative)]:timestamp' \\
552
673
  '--filter-assignee[Filter by assignee before applying updates]:assignee' \\
553
674
  '--filter-assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
554
675
  '--filter-parent[Filter by parent item ID]:parent' \\
555
676
  '--filter-sprint[Filter by sprint]:sprint' \\
556
677
  '--filter-release[Filter by release]:release' \\
678
+ '--ids[Explicit comma-separated ID allowlist]:ids' \\
557
679
  '--limit[Limit matched item count]:number' \\
558
680
  '--offset[Skip first n matched rows]:number' \\
559
681
  '--dry-run[Preview updates without mutating]' \\
@@ -628,6 +750,42 @@ ${zshUpdateManyRuntimeFieldFlags} '--allow-audit-update[Allow non-own
628
750
  '--json[Output JSON]' \\
629
751
  '--quiet[Suppress stdout]'
630
752
  ;;
753
+ close-many)
754
+ _arguments \\
755
+ '--filter-status[Filter by status before closing]:(${statusChoices})' \\
756
+ '--filter-type[Filter by type before closing]:(${typeChoices})' \\
757
+ '--filter-tag[Filter by tag before closing]:(${zshTagChoices})' \\
758
+ '--filter-priority[Filter by priority before closing]:(0 1 2 3 4)' \\
759
+ '--filter-deadline-before[Filter by deadline upper bound]:deadline' \\
760
+ '--filter-deadline-after[Filter by deadline lower bound]:deadline' \\
761
+ '--filter-updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp' \\
762
+ '--filter-updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp' \\
763
+ '--filter-created-after[Filter by created_at lower bound (ISO/relative)]:timestamp' \\
764
+ '--filter-created-before[Filter by created_at upper bound (ISO/relative)]:timestamp' \\
765
+ '--filter-assignee[Filter by assignee before closing]:assignee' \\
766
+ '--filter-assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
767
+ '--filter-parent[Filter by parent item ID]:parent' \\
768
+ '--filter-sprint[Filter by sprint]:sprint' \\
769
+ '--filter-release[Filter by release]:release' \\
770
+ '--ids[Explicit comma-separated ID allowlist]:ids' \\
771
+ '--limit[Limit matched item count]:number' \\
772
+ '--offset[Skip first n matched rows]:number' \\
773
+ '--reason[Shared close reason applied to every matched item]:reason' \\
774
+ '--resolution[Shared closure resolution]:resolution' \\
775
+ '--expected-result[Shared expected-result note]:expected_result' \\
776
+ '--actual-result[Shared actual-result note]:actual_result' \\
777
+ '--expected[Short alias for --expected-result]:expected_result' \\
778
+ '--actual[Short alias for --actual-result]:actual_result' \\
779
+ '--validate-close[Validate closure metadata per item]:(off warn strict)' \\
780
+ '--author[Mutation author]:author' \\
781
+ '--message[History message]:message' \\
782
+ '--force[Re-close terminal matches and override ownership]' \\
783
+ '--dry-run[Preview matched items without mutating]' \\
784
+ '--rollback[Rollback checkpoint ID]:checkpoint_id' \\
785
+ '--no-checkpoint[Disable checkpoint creation during apply mode]' \\
786
+ '--json[Output JSON]' \\
787
+ '--quiet[Suppress stdout]'
788
+ ;;
631
789
  normalize)
632
790
  _arguments \\
633
791
  '--filter-status[Filter by status before planning or apply]:(${statusChoices})' \\
@@ -709,6 +867,7 @@ ${zshContextRuntimeFieldFlags} '--json[Output JSON]' \\
709
867
  '--mode[Search mode]:(keyword semantic hybrid)' \\
710
868
  '--include-linked[Include linked content in scoring]' \\
711
869
  '--limit[Max results]:number' \\
870
+ '--status[Filter by status (open/closed/canceled, csv)]:(${statusChoices})' \\
712
871
  '--type[Filter by type]:(${typeChoices})' \\
713
872
  '--tag[Filter by tag]:(${zshTagChoices})' \\
714
873
  '--priority[Filter by priority]:(0 1 2 3 4)' \\
@@ -727,7 +886,8 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
727
886
  '--limit[Max entries]:number' \\
728
887
  '--compact[Condensed history projection]' \\
729
888
  '--full[Show full history entries]' \\
730
- '--diff[Include changed-field patch summary]' \\
889
+ '--diff[Include per-entry field-level before/after value diffs]' \\
890
+ '--field[With --diff, show only entries that changed this field]:field' \\
731
891
  '--verify[Verify history hash chain and replay integrity]' \\
732
892
  '--json[Output JSON]' \\
733
893
  '--quiet[Suppress stdout]'
@@ -763,11 +923,13 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
763
923
  ;;
764
924
  schema)
765
925
  _arguments \\
766
- '1:subcommand:(add-type)' \\
767
- '--description[Human description for the custom item type]:text' \\
926
+ '1:subcommand:(list show add-type remove-type add-status remove-status)' \\
927
+ '--description[Human description for the custom item type or status]:text' \\
768
928
  '--default-status[Default status hint for the custom item type]:status' \\
769
929
  '--folder[Storage folder for items of this custom type]:dir' \\
770
- '--alias[Alias for the custom type (repeatable)]:name' \\
930
+ '--alias[Alias for the custom type or status (repeatable)]:name' \\
931
+ '--role[Lifecycle role for a custom status (repeatable)]:role' \\
932
+ '--order[Display/sort order for a custom status]:n' \\
771
933
  '--author[Mutation author]:author' \\
772
934
  '--force[Force ownership/lock override]' \\
773
935
  '--json[Output JSON]' \\
@@ -827,7 +989,13 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
827
989
  gc)
828
990
  _arguments \\
829
991
  '--dry-run[Preview cleanup targets without deleting files]' \\
830
- '--scope[Limit cleanup to one or more scopes]:scope' \\
992
+ '--scope[Limit cleanup to one or more scopes: index, embeddings, runtime, locks]:scope' \\
993
+ '--json[Output JSON]' \\
994
+ '--quiet[Suppress stdout]'
995
+ ;;
996
+ stats)
997
+ _arguments \\
998
+ '--storage[Include aggregate history-stream storage metrics]' \\
831
999
  '--json[Output JSON]' \\
832
1000
  '--quiet[Suppress stdout]'
833
1001
  ;;
@@ -944,6 +1112,7 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
944
1112
  '--yes[Alias for --defaults]' \\
945
1113
  '--author[Set the default mutation author for this project]:author' \\
946
1114
  '--agent-guidance[Agent guidance mode]:mode:(ask add skip status)' \\
1115
+ '--type-preset[Register domain item types]:type-preset:(agile ops research)' \\
947
1116
  '--with-packages[Install bundled first-party packages during initialization]' \\
948
1117
  '--verbose[Include the full resolved settings tree in init output]' \\
949
1118
  '--json[Output JSON]' \\
@@ -957,6 +1126,7 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
957
1126
  '--yes[Alias for --defaults]' \\
958
1127
  '--author[Set the default mutation author for this project]:author' \\
959
1128
  '--agent-guidance[Agent guidance mode]:mode:(ask add skip status)' \\
1129
+ '--type-preset[Register domain item types]:type-preset:(agile ops research)' \\
960
1130
  '--with-packages[Install bundled first-party packages during initialization]' \\
961
1131
  '--verbose[Include the full resolved settings tree in init output]' \\
962
1132
  '--json[Output JSON]' \\
@@ -1044,6 +1214,7 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
1044
1214
  '--verbose-file-lists[Include full file-path lists for validate --check-files details]' \\
1045
1215
  '--strict-exit[Return non-zero exit when validation warnings are present]' \\
1046
1216
  '--fail-on-warn[Alias for --strict-exit]' \\
1217
+ '--fix-hints[Add a machine-executable fix_hints[] of pm commands to each failing check]' \\
1047
1218
  '--check-history-drift[Run item/history hash drift checks]' \\
1048
1219
  '--check-command-references[Run linked-command PM-ID reference checks]' \\
1049
1220
  '--json[Output JSON]' \\
@@ -1130,12 +1301,15 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
1130
1301
 
1131
1302
  compdef _pm pm`;
1132
1303
  }
1133
- export function generateFishScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], eagerTagExpansion = false, runtime = {}) {
1304
+ export function generateFishScript(itemTypes = [], tags = [], eagerTagExpansion = false, runtime = {}) {
1134
1305
  const listCommandNames = ALL_COMMANDS.filter((command) => command === "list" || command.startsWith("list-"));
1135
1306
  const listCmds = listCommandNames.join(" ");
1136
1307
  const noSubcommandList = ALL_COMMANDS.join(" ");
1137
- const typeChoices = itemTypes.join(" ");
1138
- const statusChoices = joinCompletionValues(runtime.statuses ?? DEFAULT_STATUS_VALUES);
1308
+ const useDynamicTypeExpansion = itemTypes.length === 0;
1309
+ const typeFallbackChoices = completionTypeValues(itemTypes, runtime);
1310
+ const statusFallbackChoices = completionStatusValues(runtime);
1311
+ const typeChoices = useDynamicTypeExpansion ? "(__pm_type_choices)" : typeFallbackChoices;
1312
+ const statusChoices = "(__pm_status_choices)";
1139
1313
  const guideTopicChoices = GUIDE_TOPIC_CHOICES;
1140
1314
  const tagChoices = joinCompletionValues(tags);
1141
1315
  const useEagerTagExpansion = eagerTagExpansion || tags.length > 0;
@@ -1194,6 +1368,8 @@ function __pm_no_subcommand
1194
1368
  not __fish_seen_subcommand_from ${noSubcommandList}
1195
1369
  end
1196
1370
  ${dynamicTagResolver}
1371
+ ${useDynamicTypeExpansion ? renderFishDynamicChoiceResolver("type", "completion-types", typeFallbackChoices) : ""}
1372
+ ${renderFishDynamicChoiceResolver("status", "completion-statuses", statusFallbackChoices)}
1197
1373
 
1198
1374
  # Subcommands
1199
1375
  complete -c pm -n __pm_no_subcommand -a init -d 'Initialize pm storage for the current workspace'
@@ -1221,7 +1397,7 @@ complete -c pm -n __pm_no_subcommand -a reindex -d 'Rebuild search artifac
1221
1397
  complete -c pm -n __pm_no_subcommand -a history -d 'Show item history entries'
1222
1398
  complete -c pm -n __pm_no_subcommand -a history-redact -d 'Redact sensitive literals/patterns and recompute history hashes'
1223
1399
  complete -c pm -n __pm_no_subcommand -a history-repair -d 'Re-anchor a drifted history chain so pm health/validate report ok'
1224
- complete -c pm -n __pm_no_subcommand -a schema -d 'Register custom item types into .agents/pm/schema/types.json'
1400
+ complete -c pm -n __pm_no_subcommand -a schema -d 'Inspect and manage runtime schema'
1225
1401
  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)'
1226
1402
  complete -c pm -n __pm_no_subcommand -a activity -d 'Show recent activity across items'
1227
1403
  complete -c pm -n __pm_no_subcommand -a restore -d 'Restore an item to an earlier state'
@@ -1229,6 +1405,7 @@ complete -c pm -n __pm_no_subcommand -a update -d 'Update item fields and
1229
1405
  complete -c pm -n __pm_no_subcommand -a update-many -d 'Bulk-update matched items with dry-run and rollback checkpoints'
1230
1406
  complete -c pm -n __pm_no_subcommand -a normalize -d 'Normalize lifecycle metadata with dry-run planning or apply mode'
1231
1407
  complete -c pm -n __pm_no_subcommand -a close -d 'Close an item with a required reason'
1408
+ complete -c pm -n __pm_no_subcommand -a close-many -d 'Bulk-close matched items with a shared reason and rollback checkpoint'
1232
1409
  complete -c pm -n __pm_no_subcommand -a delete -d 'Delete an item and record the change'
1233
1410
  complete -c pm -n __pm_no_subcommand -a append -d 'Append text to an item body'
1234
1411
  complete -c pm -n __pm_no_subcommand -a comments -d 'List or add comments for an item'
@@ -1273,6 +1450,10 @@ for list_cmd in ${listCmds}
1273
1450
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l stream -d 'Emit line-delimited JSON rows (requires --json)'
1274
1451
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l deadline-before -d 'Filter by deadline upper bound (ISO/date string or relative)' -r
1275
1452
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l deadline-after -d 'Filter by deadline lower bound (ISO/date string or relative)' -r
1453
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l updated-after -d 'Filter by updated_at lower bound (ISO/relative)' -r
1454
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l updated-before -d 'Filter by updated_at upper bound (ISO/relative)' -r
1455
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l created-after -d 'Filter by created_at lower bound (ISO/relative)' -r
1456
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l created-before -d 'Filter by created_at upper bound (ISO/relative)' -r
1276
1457
  end
1277
1458
  ${fishListRuntimeFieldFlags}
1278
1459
 
@@ -1388,11 +1569,16 @@ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-tag
1388
1569
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-priority -d 'Filter by priority before applying updates' -r -a '0 1 2 3 4'
1389
1570
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-deadline-before -d 'Filter by deadline upper bound' -r
1390
1571
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-deadline-after -d 'Filter by deadline lower bound' -r
1572
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-updated-after -d 'Filter by updated_at lower bound (ISO/relative)' -r
1573
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-updated-before -d 'Filter by updated_at upper bound (ISO/relative)' -r
1574
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-created-after -d 'Filter by created_at lower bound (ISO/relative)' -r
1575
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-created-before -d 'Filter by created_at upper bound (ISO/relative)' -r
1391
1576
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-assignee -d 'Filter by assignee before applying updates' -r
1392
1577
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-assignee-filter -d 'Filter assignee presence' -r -a 'assigned unassigned'
1393
1578
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-parent -d 'Filter by parent item ID' -r
1394
1579
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-sprint -d 'Filter by sprint before applying updates' -r
1395
1580
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-release -d 'Filter by release before applying updates' -r
1581
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l ids -d 'Explicit comma-separated ID allowlist' -r
1396
1582
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l limit -d 'Limit matched item count' -r
1397
1583
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l offset -d 'Skip first n matched rows' -r
1398
1584
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l dry-run -d 'Preview updates without mutating'
@@ -1491,6 +1677,7 @@ complete -c pm -n '__fish_seen_subcommand_from normalize' -l force
1491
1677
  complete -c pm -n '__fish_seen_subcommand_from search' -l mode -d 'Search mode' -r -a 'keyword semantic hybrid'
1492
1678
  complete -c pm -n '__fish_seen_subcommand_from search' -l include-linked -d 'Include linked content in scoring'
1493
1679
  complete -c pm -n '__fish_seen_subcommand_from search' -l limit -d 'Max results' -r
1680
+ complete -c pm -n '__fish_seen_subcommand_from search' -l status -d 'Filter by status (open/closed/canceled, csv)' -r -a '${statusChoices}'
1494
1681
  complete -c pm -n '__fish_seen_subcommand_from search' -l type -d 'Filter by type' -r -a '${typeChoices}'
1495
1682
  complete -c pm -n '__fish_seen_subcommand_from search' -l tag -d 'Filter by tag' -r -a ${fishTagChoices}
1496
1683
  complete -c pm -n '__fish_seen_subcommand_from search' -l priority -d 'Filter by priority' -r -a '0 1 2 3 4'
@@ -1554,7 +1741,8 @@ complete -c pm -n '__fish_seen_subcommand_from get' -l fields -d 'Render custom
1554
1741
  complete -c pm -n '__fish_seen_subcommand_from history' -l limit -d 'Max history entries' -r
1555
1742
  complete -c pm -n '__fish_seen_subcommand_from history' -l compact -d 'Condensed history projection'
1556
1743
  complete -c pm -n '__fish_seen_subcommand_from history' -l full -d 'Show full history entries'
1557
- complete -c pm -n '__fish_seen_subcommand_from history' -l diff -d 'Include changed-field patch summary'
1744
+ complete -c pm -n '__fish_seen_subcommand_from history' -l diff -d 'Include per-entry field-level before/after value diffs'
1745
+ complete -c pm -n '__fish_seen_subcommand_from history' -l field -d 'With --diff, show only entries that changed this field' -r
1558
1746
  complete -c pm -n '__fish_seen_subcommand_from history' -l verify -d 'Verify history hash chain and replay integrity'
1559
1747
  complete -c pm -n '__fish_seen_subcommand_from history-redact' -l literal -d 'Literal string matcher to redact from history/item payloads' -r
1560
1748
  complete -c pm -n '__fish_seen_subcommand_from history-redact' -l regex -d 'Regex matcher to redact (/pattern/flags or raw pattern)' -r
@@ -1567,11 +1755,13 @@ complete -c pm -n '__fish_seen_subcommand_from history-repair' -l dry-run -d 'Pr
1567
1755
  complete -c pm -n '__fish_seen_subcommand_from history-repair' -l author -d 'Mutation author' -r
1568
1756
  complete -c pm -n '__fish_seen_subcommand_from history-repair' -l message -d 'Audit history message' -r
1569
1757
  complete -c pm -n '__fish_seen_subcommand_from history-repair' -l force -d 'Force ownership/lock override'
1570
- complete -c pm -n '__fish_seen_subcommand_from schema' -a 'add-type' -d 'Schema subcommand'
1571
- complete -c pm -n '__fish_seen_subcommand_from schema' -l description -d 'Human description for the custom item type' -r
1758
+ complete -c pm -n '__fish_seen_subcommand_from schema' -a 'list show add-type remove-type add-status remove-status' -d 'Schema subcommand'
1759
+ complete -c pm -n '__fish_seen_subcommand_from schema' -l description -d 'Human description for the custom item type or status' -r
1572
1760
  complete -c pm -n '__fish_seen_subcommand_from schema' -l default-status -d 'Default status hint for the custom item type' -r
1573
1761
  complete -c pm -n '__fish_seen_subcommand_from schema' -l folder -d 'Storage folder for items of this custom type' -r
1574
- complete -c pm -n '__fish_seen_subcommand_from schema' -l alias -d 'Alias for the custom type (repeatable)' -r
1762
+ complete -c pm -n '__fish_seen_subcommand_from schema' -l alias -d 'Alias for the custom type or status (repeatable)' -r
1763
+ complete -c pm -n '__fish_seen_subcommand_from schema' -l role -d 'Lifecycle role for a custom status (repeatable)' -r
1764
+ complete -c pm -n '__fish_seen_subcommand_from schema' -l order -d 'Display/sort order for a custom status' -r
1575
1765
  complete -c pm -n '__fish_seen_subcommand_from schema' -l author -d 'Mutation author' -r
1576
1766
  complete -c pm -n '__fish_seen_subcommand_from schema' -l force -d 'Force ownership/lock override'
1577
1767
  complete -c pm -n '__fish_seen_subcommand_from plan' -a 'create show add-step update-step complete-step block-step reorder-step remove-step link unlink decision discovery validation resume approve materialize' -d 'Plan subcommand'
@@ -1679,7 +1869,10 @@ complete -c pm -n '__fish_seen_subcommand_from test-runs' -l author -d 'Resume a
1679
1869
 
1680
1870
  # gc flags
1681
1871
  complete -c pm -n '__fish_seen_subcommand_from gc' -l dry-run -d 'Preview cleanup targets without deleting files'
1682
- complete -c pm -n '__fish_seen_subcommand_from gc' -l scope -d 'Limit cleanup to index/embeddings/runtime scopes' -r
1872
+ complete -c pm -n '__fish_seen_subcommand_from gc' -l scope -d 'Limit cleanup to index/embeddings/runtime/locks scopes' -r
1873
+
1874
+ # stats flags
1875
+ complete -c pm -n '__fish_seen_subcommand_from stats' -l storage -d 'Include aggregate history-stream storage metrics'
1683
1876
 
1684
1877
  # append flags
1685
1878
  complete -c pm -n '__fish_seen_subcommand_from append' -s b -l body -d 'Item body' -r
@@ -1702,6 +1895,39 @@ complete -c pm -n '__fish_seen_subcommand_from close' -l actual -d 'Short alias
1702
1895
  complete -c pm -n '__fish_seen_subcommand_from release' -l allow-audit-release -d 'Allow non-owner release handoffs without requiring --force'
1703
1896
  complete -c pm -n '__fish_seen_subcommand_from delete' -l dry-run -d 'Preview the item file that would be deleted without mutating'
1704
1897
 
1898
+ # close-many flags
1899
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-status -d 'Filter by status before closing' -r -a '${statusChoices}'
1900
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-type -d 'Filter by type before closing' -r -a '${typeChoices}'
1901
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-tag -d 'Filter by tag before closing' -r -a ${fishTagChoices}
1902
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-priority -d 'Filter by priority before closing' -r -a '0 1 2 3 4'
1903
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-deadline-before -d 'Filter by deadline upper bound' -r
1904
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-deadline-after -d 'Filter by deadline lower bound' -r
1905
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-updated-after -d 'Filter by updated_at lower bound (ISO/relative)' -r
1906
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-updated-before -d 'Filter by updated_at upper bound (ISO/relative)' -r
1907
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-created-after -d 'Filter by created_at lower bound (ISO/relative)' -r
1908
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-created-before -d 'Filter by created_at upper bound (ISO/relative)' -r
1909
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-assignee -d 'Filter by assignee before closing' -r
1910
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-assignee-filter -d 'Filter assignee presence' -r -a 'assigned unassigned'
1911
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-parent -d 'Filter by parent item ID' -r
1912
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-sprint -d 'Filter by sprint before closing' -r
1913
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-release -d 'Filter by release before closing' -r
1914
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l ids -d 'Explicit comma-separated ID allowlist' -r
1915
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l limit -d 'Limit matched item count' -r
1916
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l offset -d 'Skip first n matched rows' -r
1917
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l reason -d 'Shared close reason applied to every matched item' -r
1918
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l resolution -d 'Shared closure resolution' -r
1919
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l expected-result -d 'Shared expected-result note' -r
1920
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l actual-result -d 'Shared actual-result note' -r
1921
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l expected -d 'Short alias for --expected-result' -r
1922
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l actual -d 'Short alias for --actual-result' -r
1923
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l validate-close -d 'Validate closure metadata per item' -r -a 'off warn strict'
1924
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l author -d 'Mutation author' -r
1925
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l message -d 'History message' -r
1926
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l force -d 'Re-close terminal matches and override ownership'
1927
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l dry-run -d 'Preview matched items without mutating'
1928
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l rollback -d 'Rollback checkpoint ID' -r
1929
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l no-checkpoint -d 'Disable checkpoint creation during apply mode'
1930
+
1705
1931
  # validate flags
1706
1932
  complete -c pm -n '__fish_seen_subcommand_from validate' -l check-metadata -d 'Run metadata completeness checks'
1707
1933
  complete -c pm -n '__fish_seen_subcommand_from validate' -l metadata-profile -d 'Select metadata validation profile for --check-metadata' -r -a 'core strict custom'
@@ -1715,6 +1941,7 @@ complete -c pm -n '__fish_seen_subcommand_from validate' -l include-pm-internals
1715
1941
  complete -c pm -n '__fish_seen_subcommand_from validate' -l verbose-file-lists -d 'Include full file-path lists for validate --check-files details'
1716
1942
  complete -c pm -n '__fish_seen_subcommand_from validate' -l strict-exit -d 'Return non-zero exit when validation warnings are present'
1717
1943
  complete -c pm -n '__fish_seen_subcommand_from validate' -l fail-on-warn -d 'Alias for --strict-exit'
1944
+ complete -c pm -n '__fish_seen_subcommand_from validate' -l fix-hints -d 'Add a machine-executable fix_hints[] of pm commands to each failing check'
1718
1945
  complete -c pm -n '__fish_seen_subcommand_from validate' -l check-history-drift -d 'Run item/history hash drift checks'
1719
1946
  complete -c pm -n '__fish_seen_subcommand_from validate' -l check-command-references -d 'Run linked-command PM-ID reference checks'
1720
1947
  complete -c pm -n '__fish_seen_subcommand_from init' -l preset -d 'Governance preset for new setups' -r -a 'minimal default strict'
@@ -1722,6 +1949,7 @@ complete -c pm -n '__fish_seen_subcommand_from init' -l defaults -d 'Use non-int
1722
1949
  complete -c pm -n '__fish_seen_subcommand_from init' -s y -l yes -d 'Alias for --defaults'
1723
1950
  complete -c pm -n '__fish_seen_subcommand_from init' -l author -d 'Set the default mutation author for this project' -r
1724
1951
  complete -c pm -n '__fish_seen_subcommand_from init' -l agent-guidance -d 'Agent guidance mode' -r -a 'ask add skip status'
1952
+ complete -c pm -n '__fish_seen_subcommand_from init' -l type-preset -d 'Register domain item types' -r -a 'agile ops research'
1725
1953
  complete -c pm -n '__fish_seen_subcommand_from init' -l with-packages -d 'Install bundled first-party packages during initialization'
1726
1954
  complete -c pm -n '__fish_seen_subcommand_from init' -l verbose -d 'Include the full resolved settings tree in init output'
1727
1955
  complete -c pm -n '__fish_seen_subcommand_from config' -l criterion -d 'Criteria value for definition-of-done metadata-required-fields or lifecycle pattern keys (repeatable for set)' -r
@@ -1791,7 +2019,7 @@ const SETUP_HINTS = {
1791
2019
  zsh: 'Add to ~/.zshrc: eval "$(pm completion zsh)"',
1792
2020
  fish: "Run: pm completion fish > ~/.config/fish/completions/pm.fish",
1793
2021
  };
1794
- export function runCompletion(shell, itemTypes = DEFAULT_ITEM_TYPES, tags = [], eagerTagExpansion = false, runtime = {}) {
2022
+ export function runCompletion(shell, itemTypes = [], tags = [], eagerTagExpansion = false, runtime = {}) {
1795
2023
  const normalized = shell.trim().toLowerCase();
1796
2024
  if (!VALID_SHELLS.includes(normalized)) {
1797
2025
  throw new PmCliError(`Unknown shell: "${shell}". Supported shells: ${VALID_SHELLS.join(", ")}.`, EXIT_CODE.USAGE);
@@ -1814,4 +2042,4 @@ export function runCompletion(shell, itemTypes = DEFAULT_ITEM_TYPES, tags = [],
1814
2042
  };
1815
2043
  }
1816
2044
  //# sourceMappingURL=completion.js.map
1817
- //# debugId=56ca52a0-bad8-57a6-af37-8b54538f07fa
2045
+ //# debugId=62701936-e5db-51ae-87a7-d448b11c7e5f