@unbrained/pm-cli 2026.5.30 → 2026.6.5

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 (578) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/dist/cli/argv-utils.js +7 -3
  3. package/dist/cli/argv-utils.js.map +1 -1
  4. package/dist/cli/bootstrap-args.d.ts +1 -0
  5. package/dist/cli/bootstrap-args.js +23 -3
  6. package/dist/cli/bootstrap-args.js.map +1 -1
  7. package/dist/cli/commands/calendar.js +96 -10
  8. package/dist/cli/commands/calendar.js.map +1 -1
  9. package/dist/cli/commands/close-many.d.ts +63 -0
  10. package/dist/cli/commands/close-many.js +302 -0
  11. package/dist/cli/commands/close-many.js.map +1 -0
  12. package/dist/cli/commands/completion.d.ts +1 -0
  13. package/dist/cli/commands/completion.js +241 -27
  14. package/dist/cli/commands/completion.js.map +1 -1
  15. package/dist/cli/commands/config.d.ts +4 -4
  16. package/dist/cli/commands/config.js +115 -3
  17. package/dist/cli/commands/config.js.map +1 -1
  18. package/dist/cli/commands/contracts.js +191 -162
  19. package/dist/cli/commands/contracts.js.map +1 -1
  20. package/dist/cli/commands/create.d.ts +1 -0
  21. package/dist/cli/commands/create.js +109 -116
  22. package/dist/cli/commands/create.js.map +1 -1
  23. package/dist/cli/commands/extension/doctor.d.ts +12 -0
  24. package/dist/cli/commands/extension/doctor.js +97 -2
  25. package/dist/cli/commands/extension/doctor.js.map +1 -1
  26. package/dist/cli/commands/extension/install-sources.d.ts +2 -0
  27. package/dist/cli/commands/extension/install-sources.js +11 -4
  28. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  29. package/dist/cli/commands/extension/scaffold.js +49 -48
  30. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  31. package/dist/cli/commands/extension.js +51 -23
  32. package/dist/cli/commands/extension.js.map +1 -1
  33. package/dist/cli/commands/get.js +7 -7
  34. package/dist/cli/commands/get.js.map +1 -1
  35. package/dist/cli/commands/health.js +38 -3
  36. package/dist/cli/commands/health.js.map +1 -1
  37. package/dist/cli/commands/index.d.ts +2 -1
  38. package/dist/cli/commands/index.js +4 -3
  39. package/dist/cli/commands/index.js.map +1 -1
  40. package/dist/cli/commands/init.d.ts +10 -0
  41. package/dist/cli/commands/init.js +107 -4
  42. package/dist/cli/commands/init.js.map +1 -1
  43. package/dist/cli/commands/list.d.ts +5 -0
  44. package/dist/cli/commands/list.js +58 -26
  45. package/dist/cli/commands/list.js.map +1 -1
  46. package/dist/cli/commands/reindex.js +164 -48
  47. package/dist/cli/commands/reindex.js.map +1 -1
  48. package/dist/cli/commands/repeatable-metadata-parsers.d.ts +15 -0
  49. package/dist/cli/commands/repeatable-metadata-parsers.js +120 -0
  50. package/dist/cli/commands/repeatable-metadata-parsers.js.map +1 -0
  51. package/dist/cli/commands/restore.js +25 -4
  52. package/dist/cli/commands/restore.js.map +1 -1
  53. package/dist/cli/commands/schema.d.ts +122 -1
  54. package/dist/cli/commands/schema.js +536 -6
  55. package/dist/cli/commands/schema.js.map +1 -1
  56. package/dist/cli/commands/search.d.ts +18 -0
  57. package/dist/cli/commands/search.js +56 -12
  58. package/dist/cli/commands/search.js.map +1 -1
  59. package/dist/cli/commands/test.js +4 -3
  60. package/dist/cli/commands/test.js.map +1 -1
  61. package/dist/cli/commands/update-many.js +69 -140
  62. package/dist/cli/commands/update-many.js.map +1 -1
  63. package/dist/cli/commands/update.d.ts +2 -0
  64. package/dist/cli/commands/update.js +138 -119
  65. package/dist/cli/commands/update.js.map +1 -1
  66. package/dist/cli/commands/validate.d.ts +1 -0
  67. package/dist/cli/commands/validate.js +63 -33
  68. package/dist/cli/commands/validate.js.map +1 -1
  69. package/dist/cli/error-guidance.js +26 -3
  70. package/dist/cli/error-guidance.js.map +1 -1
  71. package/dist/cli/help-content.js +82 -3
  72. package/dist/cli/help-content.js.map +1 -1
  73. package/dist/cli/main.js +377 -23
  74. package/dist/cli/main.js.map +1 -1
  75. package/dist/cli/register-list-query.js +16 -12
  76. package/dist/cli/register-list-query.js.map +1 -1
  77. package/dist/cli/register-mutation.js +217 -47
  78. package/dist/cli/register-mutation.js.map +1 -1
  79. package/dist/cli/register-operations.js +34 -25
  80. package/dist/cli/register-operations.js.map +1 -1
  81. package/dist/cli/register-setup.js +8 -8
  82. package/dist/cli/register-setup.js.map +1 -1
  83. package/dist/cli/registration-helpers.js +35 -5
  84. package/dist/cli/registration-helpers.js.map +1 -1
  85. package/dist/cli/search-refresh.d.ts +2 -0
  86. package/dist/cli/search-refresh.js +13 -0
  87. package/dist/cli/search-refresh.js.map +1 -0
  88. package/dist/cli-bundle/chunks/activity-3RWRRNOW.js +20 -0
  89. package/dist/cli-bundle/chunks/activity-3RWRRNOW.js.map +1 -0
  90. package/dist/cli-bundle/chunks/activity-P5BUMWP3.js +16 -0
  91. package/dist/cli-bundle/chunks/activity-P5BUMWP3.js.map +7 -0
  92. package/dist/cli-bundle/chunks/aggregate-J35K7WZB.js +206 -0
  93. package/dist/cli-bundle/chunks/aggregate-J35K7WZB.js.map +1 -0
  94. package/dist/cli-bundle/chunks/aggregate-OOAGKWRG.js +209 -0
  95. package/dist/cli-bundle/chunks/aggregate-OOAGKWRG.js.map +7 -0
  96. package/dist/cli-bundle/chunks/append-5JE3YGXU.js +72 -0
  97. package/dist/cli-bundle/chunks/append-5JE3YGXU.js.map +7 -0
  98. package/dist/cli-bundle/chunks/append-PNN6UIBZ.js +69 -0
  99. package/dist/cli-bundle/chunks/append-PNN6UIBZ.js.map +1 -0
  100. package/dist/cli-bundle/chunks/chunk-26KTVXJW.js +218 -0
  101. package/dist/cli-bundle/chunks/chunk-26KTVXJW.js.map +1 -0
  102. package/dist/cli-bundle/chunks/chunk-3HUE7XOF.js +27 -0
  103. package/dist/cli-bundle/chunks/chunk-3HUE7XOF.js.map +7 -0
  104. package/dist/cli-bundle/chunks/chunk-3OH4DAEB.js +761 -0
  105. package/dist/cli-bundle/chunks/chunk-3OH4DAEB.js.map +7 -0
  106. package/dist/cli-bundle/chunks/chunk-4LTBNUYT.js +5553 -0
  107. package/dist/cli-bundle/chunks/chunk-4LTBNUYT.js.map +1 -0
  108. package/dist/cli-bundle/chunks/chunk-4PJQSECJ.js +634 -0
  109. package/dist/cli-bundle/chunks/chunk-4PJQSECJ.js.map +7 -0
  110. package/dist/cli-bundle/chunks/chunk-4QCR4QW3.js +1832 -0
  111. package/dist/cli-bundle/chunks/chunk-4QCR4QW3.js.map +1 -0
  112. package/dist/cli-bundle/chunks/chunk-5IRA6IYD.js +1891 -0
  113. package/dist/cli-bundle/chunks/chunk-5IRA6IYD.js.map +7 -0
  114. package/dist/cli-bundle/chunks/chunk-5KB4X7YY.js +412 -0
  115. package/dist/cli-bundle/chunks/chunk-5KB4X7YY.js.map +1 -0
  116. package/dist/cli-bundle/chunks/chunk-5PAOPUZX.js +182 -0
  117. package/dist/cli-bundle/chunks/chunk-5PAOPUZX.js.map +1 -0
  118. package/dist/cli-bundle/chunks/chunk-7K24QB23.js +698 -0
  119. package/dist/cli-bundle/chunks/chunk-7K24QB23.js.map +1 -0
  120. package/dist/cli-bundle/chunks/chunk-A6PEXMYN.js +380 -0
  121. package/dist/cli-bundle/chunks/chunk-A6PEXMYN.js.map +1 -0
  122. package/dist/cli-bundle/chunks/chunk-ASQM3IF5.js +230 -0
  123. package/dist/cli-bundle/chunks/chunk-ASQM3IF5.js.map +1 -0
  124. package/dist/cli-bundle/chunks/chunk-ATBVS6WW.js +185 -0
  125. package/dist/cli-bundle/chunks/chunk-ATBVS6WW.js.map +7 -0
  126. package/dist/cli-bundle/chunks/chunk-AXXKLVTW.js +332 -0
  127. package/dist/cli-bundle/chunks/chunk-AXXKLVTW.js.map +1 -0
  128. package/dist/cli-bundle/chunks/chunk-B3N4TKNL.js +1681 -0
  129. package/dist/cli-bundle/chunks/chunk-B3N4TKNL.js.map +7 -0
  130. package/dist/cli-bundle/chunks/{chunk-PB2YU2E3.js → chunk-BNL6S7QH.js} +28 -70
  131. package/dist/cli-bundle/chunks/chunk-BNL6S7QH.js.map +7 -0
  132. package/dist/cli-bundle/chunks/chunk-CCUFLH4J.js +154 -0
  133. package/dist/cli-bundle/chunks/chunk-CCUFLH4J.js.map +1 -0
  134. package/dist/cli-bundle/chunks/chunk-CJDQB2ED.js +341 -0
  135. package/dist/cli-bundle/chunks/chunk-CJDQB2ED.js.map +7 -0
  136. package/dist/cli-bundle/chunks/chunk-CWT53EYT.js +1340 -0
  137. package/dist/cli-bundle/chunks/chunk-CWT53EYT.js.map +1 -0
  138. package/dist/cli-bundle/chunks/chunk-D3WUNETC.js +349 -0
  139. package/dist/cli-bundle/chunks/chunk-D3WUNETC.js.map +7 -0
  140. package/dist/cli-bundle/chunks/chunk-D5X7N6FI.js +1714 -0
  141. package/dist/cli-bundle/chunks/chunk-D5X7N6FI.js.map +7 -0
  142. package/dist/cli-bundle/chunks/chunk-DFIZGAI5.js +550 -0
  143. package/dist/cli-bundle/chunks/chunk-DFIZGAI5.js.map +7 -0
  144. package/dist/cli-bundle/chunks/chunk-DFUSXJDE.js +1704 -0
  145. package/dist/cli-bundle/chunks/chunk-DFUSXJDE.js.map +1 -0
  146. package/dist/cli-bundle/chunks/chunk-EAOG77HM.js +56 -0
  147. package/dist/cli-bundle/chunks/chunk-EAOG77HM.js.map +7 -0
  148. package/dist/cli-bundle/chunks/chunk-EHXPIKKP.js +2988 -0
  149. package/dist/cli-bundle/chunks/chunk-EHXPIKKP.js.map +1 -0
  150. package/dist/cli-bundle/chunks/chunk-FVXM3GKS.js +128 -0
  151. package/dist/cli-bundle/chunks/chunk-FVXM3GKS.js.map +1 -0
  152. package/dist/cli-bundle/chunks/chunk-G5BACLYH.js +454 -0
  153. package/dist/cli-bundle/chunks/chunk-G5BACLYH.js.map +1 -0
  154. package/dist/cli-bundle/chunks/chunk-GCAVRLGE.js +383 -0
  155. package/dist/cli-bundle/chunks/chunk-GCAVRLGE.js.map +7 -0
  156. package/dist/cli-bundle/chunks/chunk-GFWHHMVV.js +57 -0
  157. package/dist/cli-bundle/chunks/chunk-GFWHHMVV.js.map +1 -0
  158. package/dist/cli-bundle/chunks/chunk-GNHVV4SY.js +3860 -0
  159. package/dist/cli-bundle/chunks/chunk-GNHVV4SY.js.map +1 -0
  160. package/dist/cli-bundle/chunks/chunk-GPGAYASV.js +346 -0
  161. package/dist/cli-bundle/chunks/chunk-GPGAYASV.js.map +1 -0
  162. package/dist/cli-bundle/chunks/chunk-HPH6X4ZZ.js +1356 -0
  163. package/dist/cli-bundle/chunks/chunk-HPH6X4ZZ.js.map +7 -0
  164. package/dist/cli-bundle/chunks/chunk-HZOS2UG5.js +342 -0
  165. package/dist/cli-bundle/chunks/chunk-HZOS2UG5.js.map +7 -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-JB4RGL4V.js +185 -0
  171. package/dist/cli-bundle/chunks/chunk-JB4RGL4V.js.map +7 -0
  172. package/dist/cli-bundle/chunks/chunk-JQI2HE55.js +130 -0
  173. package/dist/cli-bundle/chunks/chunk-JQI2HE55.js.map +1 -0
  174. package/dist/cli-bundle/chunks/chunk-K47WAYQV.js +60 -0
  175. package/dist/cli-bundle/chunks/chunk-K47WAYQV.js.map +7 -0
  176. package/dist/cli-bundle/chunks/chunk-KA24HME7.js +79 -0
  177. package/dist/cli-bundle/chunks/chunk-KA24HME7.js.map +7 -0
  178. package/dist/cli-bundle/chunks/chunk-KBG47ZOY.js +1325 -0
  179. package/dist/cli-bundle/chunks/chunk-KBG47ZOY.js.map +1 -0
  180. package/dist/cli-bundle/chunks/chunk-KCMIYKTA.js +242 -0
  181. package/dist/cli-bundle/chunks/chunk-KCMIYKTA.js.map +1 -0
  182. package/dist/cli-bundle/chunks/chunk-KK6YPGH3.js +221 -0
  183. package/dist/cli-bundle/chunks/chunk-KK6YPGH3.js.map +7 -0
  184. package/dist/cli-bundle/chunks/chunk-LDJK7SHN.js +157 -0
  185. package/dist/cli-bundle/chunks/chunk-LDJK7SHN.js.map +7 -0
  186. package/dist/cli-bundle/chunks/chunk-LXYVKYMQ.js +24 -0
  187. package/dist/cli-bundle/chunks/chunk-LXYVKYMQ.js.map +1 -0
  188. package/dist/cli-bundle/chunks/chunk-MISYRLEP.js +80 -0
  189. package/dist/cli-bundle/chunks/chunk-MISYRLEP.js.map +1 -0
  190. package/dist/cli-bundle/chunks/chunk-N5YF3VFN.js +457 -0
  191. package/dist/cli-bundle/chunks/chunk-N5YF3VFN.js.map +7 -0
  192. package/dist/cli-bundle/chunks/chunk-NQP3ECKF.js +173 -0
  193. package/dist/cli-bundle/chunks/chunk-NQP3ECKF.js.map +1 -0
  194. package/dist/cli-bundle/chunks/chunk-O5IBJE6S.js +338 -0
  195. package/dist/cli-bundle/chunks/chunk-O5IBJE6S.js.map +1 -0
  196. package/dist/cli-bundle/chunks/chunk-O7IWB35H.js +18 -0
  197. package/dist/cli-bundle/chunks/chunk-O7IWB35H.js.map +7 -0
  198. package/dist/cli-bundle/chunks/chunk-OIQIXTNB.js +3040 -0
  199. package/dist/cli-bundle/chunks/chunk-OIQIXTNB.js.map +7 -0
  200. package/dist/cli-bundle/chunks/chunk-ORTLYVA4.js +751 -0
  201. package/dist/cli-bundle/chunks/chunk-ORTLYVA4.js.map +1 -0
  202. package/dist/cli-bundle/chunks/chunk-OUF3ARDX.js +1861 -0
  203. package/dist/cli-bundle/chunks/chunk-OUF3ARDX.js.map +7 -0
  204. package/dist/cli-bundle/chunks/chunk-QAJBIGRA.js +20 -0
  205. package/dist/cli-bundle/chunks/chunk-QAJBIGRA.js.map +7 -0
  206. package/dist/cli-bundle/chunks/chunk-RANZIID5.js +176 -0
  207. package/dist/cli-bundle/chunks/chunk-RANZIID5.js.map +7 -0
  208. package/dist/cli-bundle/chunks/chunk-RQAWLSUU.js +140 -0
  209. package/dist/cli-bundle/chunks/chunk-RQAWLSUU.js.map +7 -0
  210. package/dist/cli-bundle/chunks/chunk-S3CV7JGJ.js +233 -0
  211. package/dist/cli-bundle/chunks/chunk-S3CV7JGJ.js.map +7 -0
  212. package/dist/cli-bundle/chunks/chunk-SRVKTWPR.js +5705 -0
  213. package/dist/cli-bundle/chunks/chunk-SRVKTWPR.js.map +7 -0
  214. package/dist/cli-bundle/chunks/chunk-SSFMJCPF.js +76 -0
  215. package/dist/cli-bundle/chunks/chunk-SSFMJCPF.js.map +1 -0
  216. package/dist/cli-bundle/chunks/chunk-SZQCER6S.js +631 -0
  217. package/dist/cli-bundle/chunks/chunk-SZQCER6S.js.map +1 -0
  218. package/dist/cli-bundle/chunks/chunk-T2ORWB6D.js +540 -0
  219. package/dist/cli-bundle/chunks/chunk-T2ORWB6D.js.map +1 -0
  220. package/dist/cli-bundle/chunks/chunk-TBQVUNVH.js +422 -0
  221. package/dist/cli-bundle/chunks/chunk-TBQVUNVH.js.map +7 -0
  222. package/dist/cli-bundle/chunks/{chunk-RJONRNXN.js → chunk-TK633IVD.js} +51 -32
  223. package/dist/cli-bundle/chunks/chunk-TK633IVD.js.map +7 -0
  224. package/dist/cli-bundle/chunks/chunk-TQ3ZK6VD.js +131 -0
  225. package/dist/cli-bundle/chunks/chunk-TQ3ZK6VD.js.map +7 -0
  226. package/dist/cli-bundle/chunks/chunk-UFCG3SWR.js +119 -0
  227. package/dist/cli-bundle/chunks/chunk-UFCG3SWR.js.map +1 -0
  228. package/dist/cli-bundle/chunks/chunk-UOVLWB47.js +1664 -0
  229. package/dist/cli-bundle/chunks/chunk-UOVLWB47.js.map +1 -0
  230. package/dist/cli-bundle/chunks/chunk-V3JQ4IPL.js +186 -0
  231. package/dist/cli-bundle/chunks/chunk-V3JQ4IPL.js.map +1 -0
  232. package/dist/cli-bundle/chunks/chunk-VGO2T3TY.js +182 -0
  233. package/dist/cli-bundle/chunks/chunk-VGO2T3TY.js.map +1 -0
  234. package/dist/cli-bundle/chunks/chunk-WIKR7KFL.js +189 -0
  235. package/dist/cli-bundle/chunks/chunk-WIKR7KFL.js.map +7 -0
  236. package/dist/cli-bundle/chunks/chunk-XG7RJYHV.js +1385 -0
  237. package/dist/cli-bundle/chunks/chunk-XG7RJYHV.js.map +7 -0
  238. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js +53 -0
  239. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js.map +1 -0
  240. package/dist/cli-bundle/chunks/chunk-XX5LRINW.js +90 -0
  241. package/dist/cli-bundle/chunks/chunk-XX5LRINW.js.map +7 -0
  242. package/dist/cli-bundle/chunks/chunk-Y2AKE2HS.js +252 -0
  243. package/dist/cli-bundle/chunks/chunk-Y2AKE2HS.js.map +7 -0
  244. package/dist/cli-bundle/chunks/chunk-ZQ4F6EC4.js +3898 -0
  245. package/dist/cli-bundle/chunks/chunk-ZQ4F6EC4.js.map +7 -0
  246. package/dist/cli-bundle/chunks/chunk-ZRVSMOMR.js +1809 -0
  247. package/dist/cli-bundle/chunks/chunk-ZRVSMOMR.js.map +1 -0
  248. package/dist/cli-bundle/chunks/claim-AZLP7YFO.js +132 -0
  249. package/dist/cli-bundle/chunks/claim-AZLP7YFO.js.map +7 -0
  250. package/dist/cli-bundle/chunks/claim-ZFA7HKU4.js +129 -0
  251. package/dist/cli-bundle/chunks/claim-ZFA7HKU4.js.map +1 -0
  252. package/dist/cli-bundle/chunks/close-65DFYAVS.js +17 -0
  253. package/dist/cli-bundle/chunks/close-65DFYAVS.js.map +1 -0
  254. package/dist/cli-bundle/chunks/close-RMHQ3KWH.js +13 -0
  255. package/dist/cli-bundle/chunks/close-RMHQ3KWH.js.map +7 -0
  256. package/dist/cli-bundle/chunks/close-many-AKPZNSGI.js +311 -0
  257. package/dist/cli-bundle/chunks/close-many-AKPZNSGI.js.map +1 -0
  258. package/dist/cli-bundle/chunks/close-many-UKZSQGM7.js +314 -0
  259. package/dist/cli-bundle/chunks/close-many-UKZSQGM7.js.map +7 -0
  260. package/dist/cli-bundle/chunks/comments-AGBNSJJH.js +103 -0
  261. package/dist/cli-bundle/chunks/comments-AGBNSJJH.js.map +7 -0
  262. package/dist/cli-bundle/chunks/comments-CJWXQI7X.js +100 -0
  263. package/dist/cli-bundle/chunks/comments-CJWXQI7X.js.map +1 -0
  264. package/dist/cli-bundle/chunks/config-5ON3ADRH.js +1688 -0
  265. package/dist/cli-bundle/chunks/config-5ON3ADRH.js.map +7 -0
  266. package/dist/cli-bundle/chunks/config-DDPYIA6J.js +1671 -0
  267. package/dist/cli-bundle/chunks/config-DDPYIA6J.js.map +1 -0
  268. package/dist/cli-bundle/chunks/context-E6U3DWVM.js +1471 -0
  269. package/dist/cli-bundle/chunks/context-E6U3DWVM.js.map +7 -0
  270. package/dist/cli-bundle/chunks/context-ZOJEN5VT.js +1461 -0
  271. package/dist/cli-bundle/chunks/context-ZOJEN5VT.js.map +1 -0
  272. package/dist/cli-bundle/chunks/contracts-CXSFM45B.js +1277 -0
  273. package/dist/cli-bundle/chunks/contracts-CXSFM45B.js.map +7 -0
  274. package/dist/cli-bundle/chunks/contracts-LCSX5R53.js +1274 -0
  275. package/dist/cli-bundle/chunks/contracts-LCSX5R53.js.map +1 -0
  276. package/dist/cli-bundle/chunks/create-ATONSAZW.js +27 -0
  277. package/dist/cli-bundle/chunks/create-ATONSAZW.js.map +7 -0
  278. package/dist/cli-bundle/chunks/create-WYFKN2U4.js +31 -0
  279. package/dist/cli-bundle/chunks/create-WYFKN2U4.js.map +1 -0
  280. package/dist/cli-bundle/chunks/delete-RONNH4F4.js +58 -0
  281. package/dist/cli-bundle/chunks/delete-RONNH4F4.js.map +7 -0
  282. package/dist/cli-bundle/chunks/delete-ZXWC56WO.js +55 -0
  283. package/dist/cli-bundle/chunks/delete-ZXWC56WO.js.map +1 -0
  284. package/dist/cli-bundle/chunks/deps-EHXIFOZR.js +225 -0
  285. package/dist/cli-bundle/chunks/deps-EHXIFOZR.js.map +1 -0
  286. package/dist/cli-bundle/chunks/deps-WII3O4HB.js +228 -0
  287. package/dist/cli-bundle/chunks/deps-WII3O4HB.js.map +7 -0
  288. package/dist/cli-bundle/chunks/docs-JMVCFNHH.js +34 -0
  289. package/dist/cli-bundle/chunks/docs-JMVCFNHH.js.map +7 -0
  290. package/dist/cli-bundle/chunks/docs-PDREIMLS.js +31 -0
  291. package/dist/cli-bundle/chunks/docs-PDREIMLS.js.map +1 -0
  292. package/dist/cli-bundle/chunks/extension-B4ROVWJD.js +28 -0
  293. package/dist/cli-bundle/chunks/extension-B4ROVWJD.js.map +1 -0
  294. package/dist/cli-bundle/chunks/extension-G6UXSM5S.js +24 -0
  295. package/dist/cli-bundle/chunks/extension-G6UXSM5S.js.map +7 -0
  296. package/dist/cli-bundle/chunks/files-2PN7UM2D.js +282 -0
  297. package/dist/cli-bundle/chunks/files-2PN7UM2D.js.map +1 -0
  298. package/dist/cli-bundle/chunks/files-MXYS5W4M.js +285 -0
  299. package/dist/cli-bundle/chunks/files-MXYS5W4M.js.map +7 -0
  300. package/dist/cli-bundle/chunks/gc-GT552UJH.js +178 -0
  301. package/dist/cli-bundle/chunks/gc-GT552UJH.js.map +1 -0
  302. package/dist/cli-bundle/chunks/gc-QNBRJG6H.js +181 -0
  303. package/dist/cli-bundle/chunks/gc-QNBRJG6H.js.map +7 -0
  304. package/dist/cli-bundle/chunks/get-CINFEUIY.js +197 -0
  305. package/dist/cli-bundle/chunks/get-CINFEUIY.js.map +7 -0
  306. package/dist/cli-bundle/chunks/get-WXMLRG7M.js +194 -0
  307. package/dist/cli-bundle/chunks/get-WXMLRG7M.js.map +1 -0
  308. package/dist/cli-bundle/chunks/health-5VPOJQ53.js +1258 -0
  309. package/dist/cli-bundle/chunks/health-5VPOJQ53.js.map +1 -0
  310. package/dist/cli-bundle/chunks/health-IT5DBPRJ.js +1261 -0
  311. package/dist/cli-bundle/chunks/health-IT5DBPRJ.js.map +7 -0
  312. package/dist/cli-bundle/chunks/history-6FC4H6HI.js +20 -0
  313. package/dist/cli-bundle/chunks/history-6FC4H6HI.js.map +7 -0
  314. package/dist/cli-bundle/chunks/history-FLZIP7PM.js +24 -0
  315. package/dist/cli-bundle/chunks/history-FLZIP7PM.js.map +1 -0
  316. package/dist/cli-bundle/chunks/history-redact-SSZBAD76.js +23 -0
  317. package/dist/cli-bundle/chunks/history-redact-SSZBAD76.js.map +1 -0
  318. package/dist/cli-bundle/chunks/history-redact-XKYEZDBL.js +19 -0
  319. package/dist/cli-bundle/chunks/history-redact-XKYEZDBL.js.map +7 -0
  320. package/dist/cli-bundle/chunks/history-repair-KC5ZOJRZ.js +196 -0
  321. package/dist/cli-bundle/chunks/history-repair-KC5ZOJRZ.js.map +7 -0
  322. package/dist/cli-bundle/chunks/history-repair-X7CO5JJZ.js +193 -0
  323. package/dist/cli-bundle/chunks/history-repair-X7CO5JJZ.js.map +1 -0
  324. package/dist/cli-bundle/chunks/init-6MRFVOLH.js +20 -0
  325. package/dist/cli-bundle/chunks/init-6MRFVOLH.js.map +1 -0
  326. package/dist/cli-bundle/chunks/init-KHX3FEEM.js +16 -0
  327. package/dist/cli-bundle/chunks/init-KHX3FEEM.js.map +7 -0
  328. package/dist/cli-bundle/chunks/learnings-A3CLB5CO.js +47 -0
  329. package/dist/cli-bundle/chunks/learnings-A3CLB5CO.js.map +7 -0
  330. package/dist/cli-bundle/chunks/learnings-DCX55BNX.js +44 -0
  331. package/dist/cli-bundle/chunks/learnings-DCX55BNX.js.map +1 -0
  332. package/dist/cli-bundle/chunks/list-53LZ2AEO.js +20 -0
  333. package/dist/cli-bundle/chunks/list-53LZ2AEO.js.map +7 -0
  334. package/dist/cli-bundle/chunks/list-DBRECOG4.js +24 -0
  335. package/dist/cli-bundle/chunks/list-DBRECOG4.js.map +1 -0
  336. package/dist/cli-bundle/chunks/notes-42LIC3UE.js +47 -0
  337. package/dist/cli-bundle/chunks/notes-42LIC3UE.js.map +7 -0
  338. package/dist/cli-bundle/chunks/notes-P5O3VMQ3.js +44 -0
  339. package/dist/cli-bundle/chunks/notes-P5O3VMQ3.js.map +1 -0
  340. package/dist/cli-bundle/chunks/plan-HDQXEUKD.js +1174 -0
  341. package/dist/cli-bundle/chunks/plan-HDQXEUKD.js.map +7 -0
  342. package/dist/cli-bundle/chunks/plan-IGTE3WOJ.js +1171 -0
  343. package/dist/cli-bundle/chunks/plan-IGTE3WOJ.js.map +1 -0
  344. package/dist/cli-bundle/chunks/{register-list-query-EIVQ5FMR.js → register-list-query-AG3XKXWL.js} +25 -18
  345. package/dist/cli-bundle/chunks/register-list-query-AG3XKXWL.js.map +7 -0
  346. package/dist/cli-bundle/chunks/register-list-query-EMNSIUO4.js +227 -0
  347. package/dist/cli-bundle/chunks/register-list-query-EMNSIUO4.js.map +1 -0
  348. package/dist/cli-bundle/chunks/register-mutation-M3YS6XDO.js +813 -0
  349. package/dist/cli-bundle/chunks/register-mutation-M3YS6XDO.js.map +1 -0
  350. package/dist/cli-bundle/chunks/{register-mutation-RSZNPSGI.js → register-mutation-RSMT6DPK.js} +160 -39
  351. package/dist/cli-bundle/chunks/register-mutation-RSMT6DPK.js.map +7 -0
  352. package/dist/cli-bundle/chunks/register-operations-KYUOOOOD.js +370 -0
  353. package/dist/cli-bundle/chunks/register-operations-KYUOOOOD.js.map +1 -0
  354. package/dist/cli-bundle/chunks/{register-operations-APUSYDMR.js → register-operations-Q54JQZUN.js} +50 -32
  355. package/dist/cli-bundle/chunks/register-operations-Q54JQZUN.js.map +7 -0
  356. package/dist/cli-bundle/chunks/register-setup-DI6P7X75.js +242 -0
  357. package/dist/cli-bundle/chunks/register-setup-DI6P7X75.js.map +1 -0
  358. package/dist/cli-bundle/chunks/{register-setup-OZOKSMPJ.js → register-setup-YJKIQRKA.js} +21 -13
  359. package/dist/cli-bundle/chunks/register-setup-YJKIQRKA.js.map +7 -0
  360. package/dist/cli-bundle/chunks/restore-2XVTBLKQ.js +21 -0
  361. package/dist/cli-bundle/chunks/restore-2XVTBLKQ.js.map +1 -0
  362. package/dist/cli-bundle/chunks/restore-JL5QIH7H.js +17 -0
  363. package/dist/cli-bundle/chunks/restore-JL5QIH7H.js.map +7 -0
  364. package/dist/cli-bundle/chunks/schema-LVXZWFGY.js +770 -0
  365. package/dist/cli-bundle/chunks/schema-LVXZWFGY.js.map +1 -0
  366. package/dist/cli-bundle/chunks/schema-V6BX65Q2.js +780 -0
  367. package/dist/cli-bundle/chunks/schema-V6BX65Q2.js.map +7 -0
  368. package/dist/cli-bundle/chunks/search-5A3BMFA7.js +1144 -0
  369. package/dist/cli-bundle/chunks/search-5A3BMFA7.js.map +7 -0
  370. package/dist/cli-bundle/chunks/search-C7NPB7G7.js +1127 -0
  371. package/dist/cli-bundle/chunks/search-C7NPB7G7.js.map +1 -0
  372. package/dist/cli-bundle/chunks/stats-FNLYVXTB.js +120 -0
  373. package/dist/cli-bundle/chunks/stats-FNLYVXTB.js.map +1 -0
  374. package/dist/cli-bundle/chunks/stats-Y2CBTZSL.js +123 -0
  375. package/dist/cli-bundle/chunks/stats-Y2CBTZSL.js.map +7 -0
  376. package/dist/cli-bundle/chunks/test-OFYONO3C.js +35 -0
  377. package/dist/cli-bundle/chunks/test-OFYONO3C.js.map +1 -0
  378. package/dist/cli-bundle/chunks/test-RJ4ZF35X.js +31 -0
  379. package/dist/cli-bundle/chunks/test-RJ4ZF35X.js.map +7 -0
  380. package/dist/cli-bundle/chunks/test-all-EEMKNTGU.js +331 -0
  381. package/dist/cli-bundle/chunks/test-all-EEMKNTGU.js.map +7 -0
  382. package/dist/cli-bundle/chunks/test-all-OJE6CIO7.js +328 -0
  383. package/dist/cli-bundle/chunks/test-all-OJE6CIO7.js.map +1 -0
  384. package/dist/cli-bundle/chunks/test-runs-IPOPFOAF.js +929 -0
  385. package/dist/cli-bundle/chunks/test-runs-IPOPFOAF.js.map +1 -0
  386. package/dist/cli-bundle/chunks/test-runs-L2M7WKH7.js +939 -0
  387. package/dist/cli-bundle/chunks/test-runs-L2M7WKH7.js.map +7 -0
  388. package/dist/cli-bundle/chunks/update-6YEHPVXH.js +25 -0
  389. package/dist/cli-bundle/chunks/update-6YEHPVXH.js.map +1 -0
  390. package/dist/cli-bundle/chunks/update-PYLVHMRD.js +21 -0
  391. package/dist/cli-bundle/chunks/update-PYLVHMRD.js.map +7 -0
  392. package/dist/cli-bundle/chunks/update-many-322CCH2L.js +608 -0
  393. package/dist/cli-bundle/chunks/update-many-322CCH2L.js.map +7 -0
  394. package/dist/cli-bundle/chunks/update-many-DYWGW57M.js +605 -0
  395. package/dist/cli-bundle/chunks/update-many-DYWGW57M.js.map +1 -0
  396. package/dist/cli-bundle/chunks/upgrade-2U727SAM.js +269 -0
  397. package/dist/cli-bundle/chunks/upgrade-2U727SAM.js.map +7 -0
  398. package/dist/cli-bundle/chunks/upgrade-3W3RVSNM.js +266 -0
  399. package/dist/cli-bundle/chunks/upgrade-3W3RVSNM.js.map +1 -0
  400. package/dist/cli-bundle/chunks/validate-GZ24NYHO.js +1120 -0
  401. package/dist/cli-bundle/chunks/validate-GZ24NYHO.js.map +1 -0
  402. package/dist/cli-bundle/chunks/validate-ZFVWPEEN.js +1123 -0
  403. package/dist/cli-bundle/chunks/validate-ZFVWPEEN.js.map +7 -0
  404. package/dist/cli-bundle/main.js +615 -121
  405. package/dist/cli-bundle/main.js.map +4 -4
  406. package/dist/core/checkpoint/mutation-checkpoint.d.ts +44 -0
  407. package/dist/core/checkpoint/mutation-checkpoint.js +119 -0
  408. package/dist/core/checkpoint/mutation-checkpoint.js.map +1 -0
  409. package/dist/core/config/positional-value.js +4 -2
  410. package/dist/core/config/positional-value.js.map +1 -1
  411. package/dist/core/diagnostics/remediation.d.ts +73 -0
  412. package/dist/core/diagnostics/remediation.js +328 -0
  413. package/dist/core/diagnostics/remediation.js.map +1 -0
  414. package/dist/core/extensions/extension-hook-runtime.js +9 -2
  415. package/dist/core/extensions/extension-hook-runtime.js.map +1 -1
  416. package/dist/core/extensions/extension-types.d.ts +60 -4
  417. package/dist/core/extensions/extension-types.js +2 -2
  418. package/dist/core/extensions/extension-types.js.map +1 -1
  419. package/dist/core/extensions/index.d.ts +5 -1
  420. package/dist/core/extensions/index.js +61 -2
  421. package/dist/core/extensions/index.js.map +1 -1
  422. package/dist/core/extensions/item-fields.d.ts +5 -1
  423. package/dist/core/extensions/item-fields.js +126 -4
  424. package/dist/core/extensions/item-fields.js.map +1 -1
  425. package/dist/core/extensions/loader.js +283 -8
  426. package/dist/core/extensions/loader.js.map +1 -1
  427. package/dist/core/item/item-format.d.ts +3 -2
  428. package/dist/core/item/item-format.js +15 -10
  429. package/dist/core/item/item-format.js.map +1 -1
  430. package/dist/core/item/item-type-definition.js +6 -2
  431. package/dist/core/item/item-type-definition.js.map +1 -1
  432. package/dist/core/item/status-filter.d.ts +29 -0
  433. package/dist/core/item/status-filter.js +97 -0
  434. package/dist/core/item/status-filter.js.map +1 -0
  435. package/dist/core/item/type-registry.d.ts +4 -0
  436. package/dist/core/item/type-registry.js +12 -2
  437. package/dist/core/item/type-registry.js.map +1 -1
  438. package/dist/core/output/output.js +17 -5
  439. package/dist/core/output/output.js.map +1 -1
  440. package/dist/core/schema/item-types-file.d.ts +15 -0
  441. package/dist/core/schema/item-types-file.js +27 -2
  442. package/dist/core/schema/item-types-file.js.map +1 -1
  443. package/dist/core/schema/runtime-field-filters.js +4 -3
  444. package/dist/core/schema/runtime-field-filters.js.map +1 -1
  445. package/dist/core/schema/runtime-field-values.d.ts +1 -1
  446. package/dist/core/schema/runtime-field-values.js +10 -4
  447. package/dist/core/schema/runtime-field-values.js.map +1 -1
  448. package/dist/core/schema/runtime-schema.js +75 -2
  449. package/dist/core/schema/runtime-schema.js.map +1 -1
  450. package/dist/core/schema/status-defs-file.d.ts +113 -0
  451. package/dist/core/schema/status-defs-file.js +260 -0
  452. package/dist/core/schema/status-defs-file.js.map +1 -0
  453. package/dist/core/schema/type-workflows.d.ts +64 -0
  454. package/dist/core/schema/type-workflows.js +98 -0
  455. package/dist/core/schema/type-workflows.js.map +1 -0
  456. package/dist/core/search/background-refresh.d.ts +53 -0
  457. package/dist/core/search/background-refresh.js +286 -0
  458. package/dist/core/search/background-refresh.js.map +1 -0
  459. package/dist/core/search/cache.d.ts +23 -2
  460. package/dist/core/search/cache.js +135 -30
  461. package/dist/core/search/cache.js.map +1 -1
  462. package/dist/core/search/http-client.d.ts +2 -2
  463. package/dist/core/search/http-client.js +2 -2
  464. package/dist/core/search/http-client.js.map +1 -1
  465. package/dist/core/search/vector-stores.d.ts +1 -0
  466. package/dist/core/search/vector-stores.js +69 -15
  467. package/dist/core/search/vector-stores.js.map +1 -1
  468. package/dist/core/search/vectorization-metadata.d.ts +13 -0
  469. package/dist/core/search/vectorization-metadata.js +65 -0
  470. package/dist/core/search/vectorization-metadata.js.map +1 -0
  471. package/dist/core/shared/constants.d.ts +2 -2
  472. package/dist/core/shared/constants.js +2 -3
  473. package/dist/core/shared/constants.js.map +1 -1
  474. package/dist/core/shared/serialization.d.ts +1 -0
  475. package/dist/core/shared/serialization.js +86 -2
  476. package/dist/core/shared/serialization.js.map +1 -1
  477. package/dist/core/store/front-matter-cache.js +14 -5
  478. package/dist/core/store/front-matter-cache.js.map +1 -1
  479. package/dist/core/store/item-format-migration.js +25 -15
  480. package/dist/core/store/item-format-migration.js.map +1 -1
  481. package/dist/core/store/item-store.d.ts +2 -0
  482. package/dist/core/store/item-store.js +61 -6
  483. package/dist/core/store/item-store.js.map +1 -1
  484. package/dist/core/store/settings-validator.js +22 -2
  485. package/dist/core/store/settings-validator.js.map +1 -1
  486. package/dist/core/store/settings.js +40 -5
  487. package/dist/core/store/settings.js.map +1 -1
  488. package/dist/core/telemetry/consent.js +3 -3
  489. package/dist/core/telemetry/consent.js.map +1 -1
  490. package/dist/core/telemetry/observability.js +4 -3
  491. package/dist/core/telemetry/observability.js.map +1 -1
  492. package/dist/core/telemetry/runtime.d.ts +10 -0
  493. package/dist/core/telemetry/runtime.js +86 -2
  494. package/dist/core/telemetry/runtime.js.map +1 -1
  495. package/dist/mcp/server.js +221 -12
  496. package/dist/mcp/server.js.map +1 -1
  497. package/dist/sdk/cli-contracts/commander-mutation-options.js +16 -2
  498. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  499. package/dist/sdk/cli-contracts/commander-types.js +7 -2
  500. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  501. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  502. package/dist/sdk/cli-contracts/enum-contracts.js +4 -2
  503. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  504. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +1 -0
  505. package/dist/sdk/cli-contracts/tool-option-contracts.js +53 -3
  506. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  507. package/dist/sdk/cli-contracts/tool-parameter-tables.js +37 -8
  508. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  509. package/dist/sdk/cli-contracts.d.ts +19 -1
  510. package/dist/sdk/cli-contracts.js +211 -18
  511. package/dist/sdk/cli-contracts.js.map +1 -1
  512. package/dist/sdk/errors.d.ts +22 -0
  513. package/dist/sdk/errors.js +46 -0
  514. package/dist/sdk/errors.js.map +1 -0
  515. package/dist/sdk/index.d.ts +2 -1
  516. package/dist/sdk/index.js +3 -2
  517. package/dist/sdk/index.js.map +1 -1
  518. package/dist/sdk/package-import-adapters.js +14 -3
  519. package/dist/sdk/package-import-adapters.js.map +1 -1
  520. package/dist/sdk/runtime.d.ts +1 -0
  521. package/dist/sdk/runtime.js +3 -2
  522. package/dist/sdk/runtime.js.map +1 -1
  523. package/dist/sdk/testing.d.ts +77 -0
  524. package/dist/sdk/testing.js +239 -0
  525. package/dist/sdk/testing.js.map +1 -0
  526. package/dist/types.d.ts +26 -1
  527. package/dist/types.js +3 -2
  528. package/dist/types.js.map +1 -1
  529. package/docs/AGENT_GUIDE.md +21 -2
  530. package/docs/COMMANDS.md +85 -5
  531. package/docs/CONFIGURATION.md +49 -2
  532. package/docs/EXTENSIONS.md +118 -6
  533. package/docs/QUICKSTART.md +2 -0
  534. package/docs/RELEASING.md +3 -3
  535. package/docs/SDK.md +273 -1
  536. package/docs/TESTING.md +17 -0
  537. package/docs/examples/policy-restricted-extension/manifest.json +1 -0
  538. package/docs/examples/starter-extension/index.js +9 -1
  539. package/docs/examples/starter-extension/manifest.json +1 -0
  540. package/package.json +12 -7
  541. package/packages/pm-beads/extensions/beads/index.js +2 -4
  542. package/packages/pm-beads/extensions/beads/index.ts +43 -33
  543. package/packages/pm-beads/extensions/beads/manifest.json +12 -1
  544. package/packages/pm-calendar/README.md +6 -0
  545. package/packages/pm-calendar/extensions/calendar/index.js +6 -1
  546. package/packages/pm-calendar/extensions/calendar/index.ts +6 -1
  547. package/packages/pm-calendar/extensions/calendar/manifest.json +6 -1
  548. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +6 -1
  549. package/packages/pm-guide-shell/README.md +4 -0
  550. package/packages/pm-guide-shell/extensions/guide-shell/index.js +22 -0
  551. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +22 -0
  552. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +6 -1
  553. package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +74 -3
  554. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +84 -4
  555. package/packages/pm-lifecycle-hooks/README.md +29 -0
  556. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.js +18 -0
  557. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.ts +20 -0
  558. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +9 -0
  559. package/packages/pm-lifecycle-hooks/package.json +52 -0
  560. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +13 -1
  561. package/packages/pm-search-advanced/extensions/search-advanced/index.js +69 -1
  562. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +91 -2
  563. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +13 -1
  564. package/packages/pm-templates/extensions/templates/manifest.json +6 -1
  565. package/packages/pm-todos/extensions/todos/index.js +3 -7
  566. package/packages/pm-todos/extensions/todos/index.ts +55 -42
  567. package/packages/pm-todos/extensions/todos/manifest.json +13 -1
  568. package/scripts/bundle-cli.mjs +121 -17
  569. package/dist/cli-bundle/chunks/chunk-PB2YU2E3.js.map +0 -7
  570. package/dist/cli-bundle/chunks/chunk-RJONRNXN.js.map +0 -7
  571. package/dist/cli-bundle/chunks/chunk-SW5BMMCU.js +0 -13864
  572. package/dist/cli-bundle/chunks/chunk-SW5BMMCU.js.map +0 -7
  573. package/dist/cli-bundle/chunks/commands-XJ4TJ5UN.js +0 -24225
  574. package/dist/cli-bundle/chunks/commands-XJ4TJ5UN.js.map +0 -7
  575. package/dist/cli-bundle/chunks/register-list-query-EIVQ5FMR.js.map +0 -7
  576. package/dist/cli-bundle/chunks/register-mutation-RSZNPSGI.js.map +0 -7
  577. package/dist/cli-bundle/chunks/register-operations-APUSYDMR.js.map +0 -7
  578. package/dist/cli-bundle/chunks/register-setup-OZOKSMPJ.js.map +0 -7
@@ -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]="f6e0badc-71d3-50f5-a9c7-0ff6ba8eae8d")}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,7 +323,7 @@ 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)})`,
@@ -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}`)})`,
@@ -257,6 +358,9 @@ export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], ea
257
358
  " close|close-task)",
258
359
  ` COMPREPLY=(${compgen(CLOSE_MUTATION_FLAGS)})`,
259
360
  " ;;",
361
+ " close-many)",
362
+ ` COMPREPLY=(${compgen(CLOSE_MANY_FLAGS)})`,
363
+ " ;;",
260
364
  " release)",
261
365
  ` COMPREPLY=(${compgen(RELEASE_MUTATION_FLAGS)})`,
262
366
  " ;;",
@@ -282,10 +386,13 @@ export function generateBashScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], ea
282
386
  "complete -F _pm_completion pm",
283
387
  ].join("\n");
284
388
  }
285
- export function generateZshScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], eagerTagExpansion = false, runtime = {}) {
389
+ export function generateZshScript(itemTypes = [], tags = [], eagerTagExpansion = false, runtime = {}) {
286
390
  const cmds = ALL_COMMANDS.map((c) => `'${c}'`).join(" ");
287
- const typeChoices = itemTypes.join(" ");
288
- const statusChoices = joinCompletionValues(runtime.statuses ?? DEFAULT_STATUS_VALUES);
391
+ const useDynamicTypeExpansion = itemTypes.length === 0;
392
+ const typeFallbackChoices = completionTypeValues(itemTypes, runtime);
393
+ const statusFallbackChoices = completionStatusValues(runtime);
394
+ const typeChoices = useDynamicTypeExpansion ? '${(f)"$(_pm_type_choices)"}' : typeFallbackChoices;
395
+ const statusChoices = '${(f)"$(_pm_status_choices)"}';
289
396
  const guideTopicChoices = GUIDE_TOPIC_CHOICES;
290
397
  const tagChoices = joinCompletionValues(tags);
291
398
  const useEagerTagExpansion = eagerTagExpansion || tags.length > 0;
@@ -346,7 +453,7 @@ _pm_commands() {
346
453
  'history:Show item history entries'
347
454
  'history-redact:Redact sensitive literals/patterns and recompute history hashes'
348
455
  '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'
456
+ 'schema:Manage custom item types and statuses in .agents/pm/schema/*.json'
350
457
  'plan:Agent-optimized Plan item workflow (create/show/add-step/update-step/complete-step/link/approve/materialize)'
351
458
  'activity:Show recent activity across items'
352
459
  'restore:Restore an item to an earlier state'
@@ -354,6 +461,7 @@ _pm_commands() {
354
461
  'update-many:Bulk-update matched items with dry-run and rollback checkpoints'
355
462
  'normalize:Normalize lifecycle metadata with dry-run planning or apply mode'
356
463
  'close:Close an item with a required reason'
464
+ 'close-many:Bulk-close matched items with a shared reason and rollback checkpoint'
357
465
  'delete:Delete an item and record the change'
358
466
  'append:Append text to an item body'
359
467
  'comments:List or add comments for an item'
@@ -383,6 +491,8 @@ _pm_commands() {
383
491
  _describe 'command' commands
384
492
  }
385
493
  ${dynamicTagResolver}
494
+ ${useDynamicTypeExpansion ? renderZshDynamicChoiceResolver("type", "completion-types", typeFallbackChoices) : ""}
495
+ ${renderZshDynamicChoiceResolver("status", "completion-statuses", statusFallbackChoices)}
386
496
 
387
497
  _pm() {
388
498
  local context state line
@@ -409,6 +519,10 @@ _pm() {
409
519
  '--priority[Filter by priority]:(0 1 2 3 4)' \\
410
520
  '--deadline-before[Filter by deadline upper bound (ISO/date string or relative)]:date' \\
411
521
  '--deadline-after[Filter by deadline lower bound (ISO/date string or relative)]:date' \\
522
+ '--updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp' \\
523
+ '--updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp' \\
524
+ '--created-after[Filter by created_at lower bound (ISO/relative)]:timestamp' \\
525
+ '--created-before[Filter by created_at upper bound (ISO/relative)]:timestamp' \\
412
526
  '--assignee[Filter by assignee]:assignee' \\
413
527
  '--assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
414
528
  '--sprint[Filter by sprint]:sprint' \\
@@ -549,11 +663,16 @@ ${zshUpdateRuntimeFieldFlags} '--allow-audit-update[Allow non-owner m
549
663
  '--filter-priority[Filter by priority before applying updates]:(0 1 2 3 4)' \\
550
664
  '--filter-deadline-before[Filter by deadline upper bound]:deadline' \\
551
665
  '--filter-deadline-after[Filter by deadline lower bound]:deadline' \\
666
+ '--filter-updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp' \\
667
+ '--filter-updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp' \\
668
+ '--filter-created-after[Filter by created_at lower bound (ISO/relative)]:timestamp' \\
669
+ '--filter-created-before[Filter by created_at upper bound (ISO/relative)]:timestamp' \\
552
670
  '--filter-assignee[Filter by assignee before applying updates]:assignee' \\
553
671
  '--filter-assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
554
672
  '--filter-parent[Filter by parent item ID]:parent' \\
555
673
  '--filter-sprint[Filter by sprint]:sprint' \\
556
674
  '--filter-release[Filter by release]:release' \\
675
+ '--ids[Explicit comma-separated ID allowlist]:ids' \\
557
676
  '--limit[Limit matched item count]:number' \\
558
677
  '--offset[Skip first n matched rows]:number' \\
559
678
  '--dry-run[Preview updates without mutating]' \\
@@ -628,6 +747,42 @@ ${zshUpdateManyRuntimeFieldFlags} '--allow-audit-update[Allow non-own
628
747
  '--json[Output JSON]' \\
629
748
  '--quiet[Suppress stdout]'
630
749
  ;;
750
+ close-many)
751
+ _arguments \\
752
+ '--filter-status[Filter by status before closing]:(${statusChoices})' \\
753
+ '--filter-type[Filter by type before closing]:(${typeChoices})' \\
754
+ '--filter-tag[Filter by tag before closing]:(${zshTagChoices})' \\
755
+ '--filter-priority[Filter by priority before closing]:(0 1 2 3 4)' \\
756
+ '--filter-deadline-before[Filter by deadline upper bound]:deadline' \\
757
+ '--filter-deadline-after[Filter by deadline lower bound]:deadline' \\
758
+ '--filter-updated-after[Filter by updated_at lower bound (ISO/relative)]:timestamp' \\
759
+ '--filter-updated-before[Filter by updated_at upper bound (ISO/relative)]:timestamp' \\
760
+ '--filter-created-after[Filter by created_at lower bound (ISO/relative)]:timestamp' \\
761
+ '--filter-created-before[Filter by created_at upper bound (ISO/relative)]:timestamp' \\
762
+ '--filter-assignee[Filter by assignee before closing]:assignee' \\
763
+ '--filter-assignee-filter[Filter assignee presence]:(assigned unassigned)' \\
764
+ '--filter-parent[Filter by parent item ID]:parent' \\
765
+ '--filter-sprint[Filter by sprint]:sprint' \\
766
+ '--filter-release[Filter by release]:release' \\
767
+ '--ids[Explicit comma-separated ID allowlist]:ids' \\
768
+ '--limit[Limit matched item count]:number' \\
769
+ '--offset[Skip first n matched rows]:number' \\
770
+ '--reason[Shared close reason applied to every matched item]:reason' \\
771
+ '--resolution[Shared closure resolution]:resolution' \\
772
+ '--expected-result[Shared expected-result note]:expected_result' \\
773
+ '--actual-result[Shared actual-result note]:actual_result' \\
774
+ '--expected[Short alias for --expected-result]:expected_result' \\
775
+ '--actual[Short alias for --actual-result]:actual_result' \\
776
+ '--validate-close[Validate closure metadata per item]:(off warn strict)' \\
777
+ '--author[Mutation author]:author' \\
778
+ '--message[History message]:message' \\
779
+ '--force[Re-close terminal matches and override ownership]' \\
780
+ '--dry-run[Preview matched items without mutating]' \\
781
+ '--rollback[Rollback checkpoint ID]:checkpoint_id' \\
782
+ '--no-checkpoint[Disable checkpoint creation during apply mode]' \\
783
+ '--json[Output JSON]' \\
784
+ '--quiet[Suppress stdout]'
785
+ ;;
631
786
  normalize)
632
787
  _arguments \\
633
788
  '--filter-status[Filter by status before planning or apply]:(${statusChoices})' \\
@@ -709,6 +864,7 @@ ${zshContextRuntimeFieldFlags} '--json[Output JSON]' \\
709
864
  '--mode[Search mode]:(keyword semantic hybrid)' \\
710
865
  '--include-linked[Include linked content in scoring]' \\
711
866
  '--limit[Max results]:number' \\
867
+ '--status[Filter by status (open/closed/canceled, csv)]:(${statusChoices})' \\
712
868
  '--type[Filter by type]:(${typeChoices})' \\
713
869
  '--tag[Filter by tag]:(${zshTagChoices})' \\
714
870
  '--priority[Filter by priority]:(0 1 2 3 4)' \\
@@ -763,11 +919,13 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
763
919
  ;;
764
920
  schema)
765
921
  _arguments \\
766
- '1:subcommand:(add-type)' \\
767
- '--description[Human description for the custom item type]:text' \\
922
+ '1:subcommand:(list show add-type remove-type add-status remove-status)' \\
923
+ '--description[Human description for the custom item type or status]:text' \\
768
924
  '--default-status[Default status hint for the custom item type]:status' \\
769
925
  '--folder[Storage folder for items of this custom type]:dir' \\
770
- '--alias[Alias for the custom type (repeatable)]:name' \\
926
+ '--alias[Alias for the custom type or status (repeatable)]:name' \\
927
+ '--role[Lifecycle role for a custom status (repeatable)]:role' \\
928
+ '--order[Display/sort order for a custom status]:n' \\
771
929
  '--author[Mutation author]:author' \\
772
930
  '--force[Force ownership/lock override]' \\
773
931
  '--json[Output JSON]' \\
@@ -944,6 +1102,7 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
944
1102
  '--yes[Alias for --defaults]' \\
945
1103
  '--author[Set the default mutation author for this project]:author' \\
946
1104
  '--agent-guidance[Agent guidance mode]:mode:(ask add skip status)' \\
1105
+ '--type-preset[Register domain item types]:type-preset:(agile ops research)' \\
947
1106
  '--with-packages[Install bundled first-party packages during initialization]' \\
948
1107
  '--verbose[Include the full resolved settings tree in init output]' \\
949
1108
  '--json[Output JSON]' \\
@@ -957,6 +1116,7 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
957
1116
  '--yes[Alias for --defaults]' \\
958
1117
  '--author[Set the default mutation author for this project]:author' \\
959
1118
  '--agent-guidance[Agent guidance mode]:mode:(ask add skip status)' \\
1119
+ '--type-preset[Register domain item types]:type-preset:(agile ops research)' \\
960
1120
  '--with-packages[Install bundled first-party packages during initialization]' \\
961
1121
  '--verbose[Include the full resolved settings tree in init output]' \\
962
1122
  '--json[Output JSON]' \\
@@ -1044,6 +1204,7 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
1044
1204
  '--verbose-file-lists[Include full file-path lists for validate --check-files details]' \\
1045
1205
  '--strict-exit[Return non-zero exit when validation warnings are present]' \\
1046
1206
  '--fail-on-warn[Alias for --strict-exit]' \\
1207
+ '--fix-hints[Add a machine-executable fix_hints[] of pm commands to each failing check]' \\
1047
1208
  '--check-history-drift[Run item/history hash drift checks]' \\
1048
1209
  '--check-command-references[Run linked-command PM-ID reference checks]' \\
1049
1210
  '--json[Output JSON]' \\
@@ -1130,12 +1291,15 @@ ${zshSearchRuntimeFieldFlags} '--json[Output JSON]' \\
1130
1291
 
1131
1292
  compdef _pm pm`;
1132
1293
  }
1133
- export function generateFishScript(itemTypes = DEFAULT_ITEM_TYPES, tags = [], eagerTagExpansion = false, runtime = {}) {
1294
+ export function generateFishScript(itemTypes = [], tags = [], eagerTagExpansion = false, runtime = {}) {
1134
1295
  const listCommandNames = ALL_COMMANDS.filter((command) => command === "list" || command.startsWith("list-"));
1135
1296
  const listCmds = listCommandNames.join(" ");
1136
1297
  const noSubcommandList = ALL_COMMANDS.join(" ");
1137
- const typeChoices = itemTypes.join(" ");
1138
- const statusChoices = joinCompletionValues(runtime.statuses ?? DEFAULT_STATUS_VALUES);
1298
+ const useDynamicTypeExpansion = itemTypes.length === 0;
1299
+ const typeFallbackChoices = completionTypeValues(itemTypes, runtime);
1300
+ const statusFallbackChoices = completionStatusValues(runtime);
1301
+ const typeChoices = useDynamicTypeExpansion ? "(__pm_type_choices)" : typeFallbackChoices;
1302
+ const statusChoices = "(__pm_status_choices)";
1139
1303
  const guideTopicChoices = GUIDE_TOPIC_CHOICES;
1140
1304
  const tagChoices = joinCompletionValues(tags);
1141
1305
  const useEagerTagExpansion = eagerTagExpansion || tags.length > 0;
@@ -1194,6 +1358,8 @@ function __pm_no_subcommand
1194
1358
  not __fish_seen_subcommand_from ${noSubcommandList}
1195
1359
  end
1196
1360
  ${dynamicTagResolver}
1361
+ ${useDynamicTypeExpansion ? renderFishDynamicChoiceResolver("type", "completion-types", typeFallbackChoices) : ""}
1362
+ ${renderFishDynamicChoiceResolver("status", "completion-statuses", statusFallbackChoices)}
1197
1363
 
1198
1364
  # Subcommands
1199
1365
  complete -c pm -n __pm_no_subcommand -a init -d 'Initialize pm storage for the current workspace'
@@ -1221,7 +1387,7 @@ complete -c pm -n __pm_no_subcommand -a reindex -d 'Rebuild search artifac
1221
1387
  complete -c pm -n __pm_no_subcommand -a history -d 'Show item history entries'
1222
1388
  complete -c pm -n __pm_no_subcommand -a history-redact -d 'Redact sensitive literals/patterns and recompute history hashes'
1223
1389
  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'
1390
+ complete -c pm -n __pm_no_subcommand -a schema -d 'Inspect and manage runtime schema'
1225
1391
  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
1392
  complete -c pm -n __pm_no_subcommand -a activity -d 'Show recent activity across items'
1227
1393
  complete -c pm -n __pm_no_subcommand -a restore -d 'Restore an item to an earlier state'
@@ -1229,6 +1395,7 @@ complete -c pm -n __pm_no_subcommand -a update -d 'Update item fields and
1229
1395
  complete -c pm -n __pm_no_subcommand -a update-many -d 'Bulk-update matched items with dry-run and rollback checkpoints'
1230
1396
  complete -c pm -n __pm_no_subcommand -a normalize -d 'Normalize lifecycle metadata with dry-run planning or apply mode'
1231
1397
  complete -c pm -n __pm_no_subcommand -a close -d 'Close an item with a required reason'
1398
+ complete -c pm -n __pm_no_subcommand -a close-many -d 'Bulk-close matched items with a shared reason and rollback checkpoint'
1232
1399
  complete -c pm -n __pm_no_subcommand -a delete -d 'Delete an item and record the change'
1233
1400
  complete -c pm -n __pm_no_subcommand -a append -d 'Append text to an item body'
1234
1401
  complete -c pm -n __pm_no_subcommand -a comments -d 'List or add comments for an item'
@@ -1273,6 +1440,10 @@ for list_cmd in ${listCmds}
1273
1440
  complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l stream -d 'Emit line-delimited JSON rows (requires --json)'
1274
1441
  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
1442
  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
1443
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l updated-after -d 'Filter by updated_at lower bound (ISO/relative)' -r
1444
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l updated-before -d 'Filter by updated_at upper bound (ISO/relative)' -r
1445
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l created-after -d 'Filter by created_at lower bound (ISO/relative)' -r
1446
+ complete -c pm -n "__fish_seen_subcommand_from $list_cmd" -l created-before -d 'Filter by created_at upper bound (ISO/relative)' -r
1276
1447
  end
1277
1448
  ${fishListRuntimeFieldFlags}
1278
1449
 
@@ -1388,11 +1559,16 @@ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-tag
1388
1559
  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
1560
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-deadline-before -d 'Filter by deadline upper bound' -r
1390
1561
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-deadline-after -d 'Filter by deadline lower bound' -r
1562
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-updated-after -d 'Filter by updated_at lower bound (ISO/relative)' -r
1563
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-updated-before -d 'Filter by updated_at upper bound (ISO/relative)' -r
1564
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-created-after -d 'Filter by created_at lower bound (ISO/relative)' -r
1565
+ 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
1566
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-assignee -d 'Filter by assignee before applying updates' -r
1392
1567
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-assignee-filter -d 'Filter assignee presence' -r -a 'assigned unassigned'
1393
1568
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-parent -d 'Filter by parent item ID' -r
1394
1569
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-sprint -d 'Filter by sprint before applying updates' -r
1395
1570
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l filter-release -d 'Filter by release before applying updates' -r
1571
+ complete -c pm -n '__fish_seen_subcommand_from update-many' -l ids -d 'Explicit comma-separated ID allowlist' -r
1396
1572
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l limit -d 'Limit matched item count' -r
1397
1573
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l offset -d 'Skip first n matched rows' -r
1398
1574
  complete -c pm -n '__fish_seen_subcommand_from update-many' -l dry-run -d 'Preview updates without mutating'
@@ -1491,6 +1667,7 @@ complete -c pm -n '__fish_seen_subcommand_from normalize' -l force
1491
1667
  complete -c pm -n '__fish_seen_subcommand_from search' -l mode -d 'Search mode' -r -a 'keyword semantic hybrid'
1492
1668
  complete -c pm -n '__fish_seen_subcommand_from search' -l include-linked -d 'Include linked content in scoring'
1493
1669
  complete -c pm -n '__fish_seen_subcommand_from search' -l limit -d 'Max results' -r
1670
+ complete -c pm -n '__fish_seen_subcommand_from search' -l status -d 'Filter by status (open/closed/canceled, csv)' -r -a '${statusChoices}'
1494
1671
  complete -c pm -n '__fish_seen_subcommand_from search' -l type -d 'Filter by type' -r -a '${typeChoices}'
1495
1672
  complete -c pm -n '__fish_seen_subcommand_from search' -l tag -d 'Filter by tag' -r -a ${fishTagChoices}
1496
1673
  complete -c pm -n '__fish_seen_subcommand_from search' -l priority -d 'Filter by priority' -r -a '0 1 2 3 4'
@@ -1567,11 +1744,13 @@ complete -c pm -n '__fish_seen_subcommand_from history-repair' -l dry-run -d 'Pr
1567
1744
  complete -c pm -n '__fish_seen_subcommand_from history-repair' -l author -d 'Mutation author' -r
1568
1745
  complete -c pm -n '__fish_seen_subcommand_from history-repair' -l message -d 'Audit history message' -r
1569
1746
  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
1747
+ complete -c pm -n '__fish_seen_subcommand_from schema' -a 'list show add-type remove-type add-status remove-status' -d 'Schema subcommand'
1748
+ complete -c pm -n '__fish_seen_subcommand_from schema' -l description -d 'Human description for the custom item type or status' -r
1572
1749
  complete -c pm -n '__fish_seen_subcommand_from schema' -l default-status -d 'Default status hint for the custom item type' -r
1573
1750
  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
1751
+ complete -c pm -n '__fish_seen_subcommand_from schema' -l alias -d 'Alias for the custom type or status (repeatable)' -r
1752
+ complete -c pm -n '__fish_seen_subcommand_from schema' -l role -d 'Lifecycle role for a custom status (repeatable)' -r
1753
+ complete -c pm -n '__fish_seen_subcommand_from schema' -l order -d 'Display/sort order for a custom status' -r
1575
1754
  complete -c pm -n '__fish_seen_subcommand_from schema' -l author -d 'Mutation author' -r
1576
1755
  complete -c pm -n '__fish_seen_subcommand_from schema' -l force -d 'Force ownership/lock override'
1577
1756
  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'
@@ -1702,6 +1881,39 @@ complete -c pm -n '__fish_seen_subcommand_from close' -l actual -d 'Short alias
1702
1881
  complete -c pm -n '__fish_seen_subcommand_from release' -l allow-audit-release -d 'Allow non-owner release handoffs without requiring --force'
1703
1882
  complete -c pm -n '__fish_seen_subcommand_from delete' -l dry-run -d 'Preview the item file that would be deleted without mutating'
1704
1883
 
1884
+ # close-many flags
1885
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-status -d 'Filter by status before closing' -r -a '${statusChoices}'
1886
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-type -d 'Filter by type before closing' -r -a '${typeChoices}'
1887
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-tag -d 'Filter by tag before closing' -r -a ${fishTagChoices}
1888
+ 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'
1889
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-deadline-before -d 'Filter by deadline upper bound' -r
1890
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-deadline-after -d 'Filter by deadline lower bound' -r
1891
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-updated-after -d 'Filter by updated_at lower bound (ISO/relative)' -r
1892
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-updated-before -d 'Filter by updated_at upper bound (ISO/relative)' -r
1893
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-created-after -d 'Filter by created_at lower bound (ISO/relative)' -r
1894
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-created-before -d 'Filter by created_at upper bound (ISO/relative)' -r
1895
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-assignee -d 'Filter by assignee before closing' -r
1896
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-assignee-filter -d 'Filter assignee presence' -r -a 'assigned unassigned'
1897
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-parent -d 'Filter by parent item ID' -r
1898
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-sprint -d 'Filter by sprint before closing' -r
1899
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l filter-release -d 'Filter by release before closing' -r
1900
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l ids -d 'Explicit comma-separated ID allowlist' -r
1901
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l limit -d 'Limit matched item count' -r
1902
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l offset -d 'Skip first n matched rows' -r
1903
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l reason -d 'Shared close reason applied to every matched item' -r
1904
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l resolution -d 'Shared closure resolution' -r
1905
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l expected-result -d 'Shared expected-result note' -r
1906
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l actual-result -d 'Shared actual-result note' -r
1907
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l expected -d 'Short alias for --expected-result' -r
1908
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l actual -d 'Short alias for --actual-result' -r
1909
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l validate-close -d 'Validate closure metadata per item' -r -a 'off warn strict'
1910
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l author -d 'Mutation author' -r
1911
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l message -d 'History message' -r
1912
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l force -d 'Re-close terminal matches and override ownership'
1913
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l dry-run -d 'Preview matched items without mutating'
1914
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l rollback -d 'Rollback checkpoint ID' -r
1915
+ complete -c pm -n '__fish_seen_subcommand_from close-many' -l no-checkpoint -d 'Disable checkpoint creation during apply mode'
1916
+
1705
1917
  # validate flags
1706
1918
  complete -c pm -n '__fish_seen_subcommand_from validate' -l check-metadata -d 'Run metadata completeness checks'
1707
1919
  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 +1927,7 @@ complete -c pm -n '__fish_seen_subcommand_from validate' -l include-pm-internals
1715
1927
  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
1928
  complete -c pm -n '__fish_seen_subcommand_from validate' -l strict-exit -d 'Return non-zero exit when validation warnings are present'
1717
1929
  complete -c pm -n '__fish_seen_subcommand_from validate' -l fail-on-warn -d 'Alias for --strict-exit'
1930
+ 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
1931
  complete -c pm -n '__fish_seen_subcommand_from validate' -l check-history-drift -d 'Run item/history hash drift checks'
1719
1932
  complete -c pm -n '__fish_seen_subcommand_from validate' -l check-command-references -d 'Run linked-command PM-ID reference checks'
1720
1933
  complete -c pm -n '__fish_seen_subcommand_from init' -l preset -d 'Governance preset for new setups' -r -a 'minimal default strict'
@@ -1722,6 +1935,7 @@ complete -c pm -n '__fish_seen_subcommand_from init' -l defaults -d 'Use non-int
1722
1935
  complete -c pm -n '__fish_seen_subcommand_from init' -s y -l yes -d 'Alias for --defaults'
1723
1936
  complete -c pm -n '__fish_seen_subcommand_from init' -l author -d 'Set the default mutation author for this project' -r
1724
1937
  complete -c pm -n '__fish_seen_subcommand_from init' -l agent-guidance -d 'Agent guidance mode' -r -a 'ask add skip status'
1938
+ complete -c pm -n '__fish_seen_subcommand_from init' -l type-preset -d 'Register domain item types' -r -a 'agile ops research'
1725
1939
  complete -c pm -n '__fish_seen_subcommand_from init' -l with-packages -d 'Install bundled first-party packages during initialization'
1726
1940
  complete -c pm -n '__fish_seen_subcommand_from init' -l verbose -d 'Include the full resolved settings tree in init output'
1727
1941
  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 +2005,7 @@ const SETUP_HINTS = {
1791
2005
  zsh: 'Add to ~/.zshrc: eval "$(pm completion zsh)"',
1792
2006
  fish: "Run: pm completion fish > ~/.config/fish/completions/pm.fish",
1793
2007
  };
1794
- export function runCompletion(shell, itemTypes = DEFAULT_ITEM_TYPES, tags = [], eagerTagExpansion = false, runtime = {}) {
2008
+ export function runCompletion(shell, itemTypes = [], tags = [], eagerTagExpansion = false, runtime = {}) {
1795
2009
  const normalized = shell.trim().toLowerCase();
1796
2010
  if (!VALID_SHELLS.includes(normalized)) {
1797
2011
  throw new PmCliError(`Unknown shell: "${shell}". Supported shells: ${VALID_SHELLS.join(", ")}.`, EXIT_CODE.USAGE);
@@ -1814,4 +2028,4 @@ export function runCompletion(shell, itemTypes = DEFAULT_ITEM_TYPES, tags = [],
1814
2028
  };
1815
2029
  }
1816
2030
  //# sourceMappingURL=completion.js.map
1817
- //# debugId=56ca52a0-bad8-57a6-af37-8b54538f07fa
2031
+ //# debugId=f6e0badc-71d3-50f5-a9c7-0ff6ba8eae8d