@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,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1c5454e2-e849-5b5f-b7a1-2681e8a90eac")}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]="512c19d2-da36-590c-a1ca-cd11e57c7529")}catch(e){}}();
3
3
  import { Option } from "commander";
4
4
  import { EXIT_CODE } from "../core/shared/constants.js";
5
5
  import { PmCliError } from "../core/shared/errors.js";
@@ -12,8 +12,6 @@ import { BUILTIN_ITEM_TYPE_VALUES } from "../types/index.js";
12
12
  // instead of silently creating a Task titled with the type name.
13
13
  const BUILTIN_TYPE_NAME_LOOKUP = new Set(BUILTIN_ITEM_TYPE_VALUES.map((value) => value.toLowerCase()));
14
14
  import { collect, extractUpdateManyMutationOptionSource, formatHookWarnings, getGlobalOptions, invalidateSearchCachesForMutation, normalizeCreateOptions, normalizeUpdateOptions, printError, printResult, writeStdout, } from "./registration-helpers.js";
15
- import { createLazyModule } from "../core/shared/lazy-module.js";
16
- const loadMutationCommandsModule = createLazyModule(() => import("./commands/index.js"));
17
15
  /**
18
16
  * Register a flag and hide it from `--help` text while keeping it fully
19
17
  * functional as a parse-time alias. The option still appears in
@@ -28,6 +26,34 @@ function addHiddenOption(command, flags, description, repeatable) {
28
26
  }
29
27
  command.addOption(option);
30
28
  }
29
+ /**
30
+ * Parse the `--order` value for `pm schema add-status`. Accepts a value that is
31
+ * already a number or a numeric string; throws a usage error when the flag was
32
+ * supplied but does not parse to a finite integer (rather than silently dropping
33
+ * it). Returns `undefined` only when the flag was genuinely not provided.
34
+ */
35
+ function parseSchemaOrderOption(raw) {
36
+ if (raw === undefined || raw === null) {
37
+ return undefined;
38
+ }
39
+ if (typeof raw === "number") {
40
+ if (!Number.isInteger(raw)) {
41
+ throw new PmCliError("--order must be a finite integer.", EXIT_CODE.USAGE);
42
+ }
43
+ return raw;
44
+ }
45
+ if (typeof raw === "string") {
46
+ if (raw.trim().length === 0) {
47
+ return undefined;
48
+ }
49
+ const parsed = Number(raw);
50
+ if (!Number.isInteger(parsed)) {
51
+ throw new PmCliError("--order must be a finite integer.", EXIT_CODE.USAGE);
52
+ }
53
+ return parsed;
54
+ }
55
+ throw new PmCliError("--order must be a finite integer.", EXIT_CODE.USAGE);
56
+ }
31
57
  function registerCommanderOptionContracts(command, contracts) {
32
58
  for (const contract of contracts) {
33
59
  if (contract.required) {
@@ -120,7 +146,7 @@ export function registerMutationCommands(program) {
120
146
  options.title = positionalTitle;
121
147
  }
122
148
  const normalized = normalizeCreateOptions(options, { requireType: false });
123
- const { runCreate } = await loadMutationCommandsModule();
149
+ const { runCreate } = await import("./commands/create.js");
124
150
  const result = await runCreate(normalized, globalOptions);
125
151
  await invalidateSearchCachesForMutation(globalOptions, result);
126
152
  printResult(result, globalOptions);
@@ -155,7 +181,7 @@ export function registerMutationCommands(program) {
155
181
  .action(async (id, options, command) => {
156
182
  const globalOptions = getGlobalOptions(command);
157
183
  const startedAt = Date.now();
158
- const { runUpdate } = await loadMutationCommandsModule();
184
+ const { runUpdate } = await import("./commands/update.js");
159
185
  const result = await runUpdate(id, normalizeUpdateOptions(options), globalOptions);
160
186
  await invalidateSearchCachesForMutation(globalOptions, result);
161
187
  printResult(result, globalOptions);
@@ -172,11 +198,16 @@ export function registerMutationCommands(program) {
172
198
  .option("--filter-priority <value>", "Filter by priority before applying updates")
173
199
  .option("--filter-deadline-before <value>", "Filter by deadline upper bound before applying updates")
174
200
  .option("--filter-deadline-after <value>", "Filter by deadline lower bound before applying updates")
201
+ .option("--filter-updated-after <value>", "Filter by updated_at lower bound before applying updates (ISO/relative)")
202
+ .option("--filter-updated-before <value>", "Filter by updated_at upper bound before applying updates (ISO/relative)")
203
+ .option("--filter-created-after <value>", "Filter by created_at lower bound before applying updates (ISO/relative)")
204
+ .option("--filter-created-before <value>", "Filter by created_at upper bound before applying updates (ISO/relative)")
175
205
  .option("--filter-assignee <value>", "Filter by assignee before applying updates")
176
206
  .option("--filter-assignee-filter <value>", "Filter assignee presence: assigned|unassigned before applying updates")
177
207
  .option("--filter-parent <value>", "Filter by parent item ID before applying updates")
178
208
  .option("--filter-sprint <value>", "Filter by sprint before applying updates")
179
209
  .option("--filter-release <value>", "Filter by release before applying updates")
210
+ .option("--ids <value>", "Restrict to an explicit comma-separated ID allowlist (intersected with other filters)")
180
211
  .option("--limit <n>", "Limit matched item count before apply/preview")
181
212
  .option("--offset <n>", "Skip first n matched rows before apply/preview")
182
213
  .option("--dry-run", "Preview per-item diffs and checkpoint intent without mutating")
@@ -291,7 +322,7 @@ export function registerMutationCommands(program) {
291
322
  .action(async (options, command) => {
292
323
  const globalOptions = getGlobalOptions(command);
293
324
  const startedAt = Date.now();
294
- const { runUpdateMany } = await loadMutationCommandsModule();
325
+ const { runUpdateMany } = await import("./commands/update-many.js");
295
326
  const result = await runUpdateMany({
296
327
  status: typeof options.filterStatus === "string" ? options.filterStatus : undefined,
297
328
  list: {
@@ -300,6 +331,11 @@ export function registerMutationCommands(program) {
300
331
  priority: typeof options.filterPriority === "string" ? options.filterPriority : undefined,
301
332
  deadlineBefore: typeof options.filterDeadlineBefore === "string" ? options.filterDeadlineBefore : undefined,
302
333
  deadlineAfter: typeof options.filterDeadlineAfter === "string" ? options.filterDeadlineAfter : undefined,
334
+ updatedAfter: typeof options.filterUpdatedAfter === "string" ? options.filterUpdatedAfter : undefined,
335
+ updatedBefore: typeof options.filterUpdatedBefore === "string" ? options.filterUpdatedBefore : undefined,
336
+ createdAfter: typeof options.filterCreatedAfter === "string" ? options.filterCreatedAfter : undefined,
337
+ createdBefore: typeof options.filterCreatedBefore === "string" ? options.filterCreatedBefore : undefined,
338
+ ids: typeof options.ids === "string" ? options.ids : undefined,
303
339
  assignee: typeof options.filterAssignee === "string" ? options.filterAssignee : undefined,
304
340
  assigneeFilter: typeof options.filterAssigneeFilter === "string"
305
341
  ? options.filterAssigneeFilter
@@ -349,7 +385,7 @@ export function registerMutationCommands(program) {
349
385
  .action(async (id, text, options, command) => {
350
386
  const globalOptions = getGlobalOptions(command);
351
387
  const startedAt = Date.now();
352
- const { runClose } = await loadMutationCommandsModule();
388
+ const { runClose } = await import("./commands/close.js");
353
389
  const reasonFromOption = (typeof options.reason === "string" && options.reason.trim().length > 0 && options.reason) ||
354
390
  (typeof options.closeReason === "string" && options.closeReason.trim().length > 0 && options.closeReason) ||
355
391
  undefined;
@@ -394,6 +430,98 @@ export function registerMutationCommands(program) {
394
430
  printError(`profile:command=close took_ms=${Date.now() - startedAt}`);
395
431
  }
396
432
  });
433
+ const closeManyCommand = program
434
+ .command("close-many")
435
+ .description("Bulk-close matched items with a shared reason and full runClose semantics (dry-run + rollback checkpoint).")
436
+ .option("--filter-status <value>", "Filter by status before closing")
437
+ .option("--filter-type <value>", "Filter by item type before closing")
438
+ .option("--filter-tag <value>", "Filter by tag before closing")
439
+ .option("--filter-priority <value>", "Filter by priority before closing")
440
+ .option("--filter-deadline-before <value>", "Filter by deadline upper bound before closing")
441
+ .option("--filter-deadline-after <value>", "Filter by deadline lower bound before closing")
442
+ .option("--filter-updated-after <value>", "Filter by updated_at lower bound before closing (ISO/relative)")
443
+ .option("--filter-updated-before <value>", "Filter by updated_at upper bound before closing (ISO/relative)")
444
+ .option("--filter-created-after <value>", "Filter by created_at lower bound before closing (ISO/relative)")
445
+ .option("--filter-created-before <value>", "Filter by created_at upper bound before closing (ISO/relative)")
446
+ .option("--filter-assignee <value>", "Filter by assignee before closing")
447
+ .option("--filter-assignee-filter <value>", "Filter assignee presence: assigned|unassigned before closing")
448
+ .option("--filter-parent <value>", "Filter by parent item ID before closing")
449
+ .option("--filter-sprint <value>", "Filter by sprint before closing")
450
+ .option("--filter-release <value>", "Filter by release before closing")
451
+ .option("--ids <value>", "Restrict to an explicit comma-separated ID allowlist (intersected with other filters)")
452
+ .option("--limit <n>", "Limit matched item count before apply/preview")
453
+ .option("--offset <n>", "Skip first n matched rows before apply/preview")
454
+ .option("--reason <value>", "Shared close reason applied to every matched item (required for dry-run/apply)")
455
+ .option("--resolution <value>", "Shared closure resolution applied to every matched item (closure-validation field)")
456
+ .option("--expected-result <value>", "Shared expected-result note (closure-validation field)")
457
+ .option("--expected <value>", "Short alias for --expected-result")
458
+ .option("--actual-result <value>", "Shared actual-result note (closure-validation field)")
459
+ .option("--actual <value>", "Short alias for --actual-result")
460
+ .option("--validate-close [mode]", 'Validate closure metadata per item: "off", "warn", or "strict" (default: settings governance preset)')
461
+ .option("--author <value>", "Mutation author")
462
+ .option("--message <value>", "History message")
463
+ .option("--force", "Re-close already-terminal matches and override ownership")
464
+ .option("--dry-run", "Preview matched items + per-item skip/active-child plan without mutating")
465
+ .option("--rollback <value>", "Rollback a prior close-many checkpoint ID")
466
+ .option("--no-checkpoint", "Disable checkpoint creation during apply mode");
467
+ addHiddenOption(closeManyCommand, "--filter-assignee_filter <value>", "Alias for --filter-assignee-filter", false);
468
+ addHiddenOption(closeManyCommand, "--expected_result <value>", "Alias for --expected-result", false);
469
+ addHiddenOption(closeManyCommand, "--actual_result <value>", "Alias for --actual-result", false);
470
+ closeManyCommand.action(async (options, command) => {
471
+ const globalOptions = getGlobalOptions(command);
472
+ const startedAt = Date.now();
473
+ const pickString = (...candidates) => {
474
+ for (const candidate of candidates) {
475
+ if (typeof candidate === "string") {
476
+ return candidate;
477
+ }
478
+ }
479
+ return undefined;
480
+ };
481
+ const { runCloseMany } = await import("./commands/close-many.js");
482
+ const result = await runCloseMany({
483
+ status: typeof options.filterStatus === "string" ? options.filterStatus : undefined,
484
+ list: {
485
+ type: typeof options.filterType === "string" ? options.filterType : undefined,
486
+ tag: typeof options.filterTag === "string" ? options.filterTag : undefined,
487
+ priority: typeof options.filterPriority === "string" ? options.filterPriority : undefined,
488
+ deadlineBefore: typeof options.filterDeadlineBefore === "string" ? options.filterDeadlineBefore : undefined,
489
+ deadlineAfter: typeof options.filterDeadlineAfter === "string" ? options.filterDeadlineAfter : undefined,
490
+ updatedAfter: typeof options.filterUpdatedAfter === "string" ? options.filterUpdatedAfter : undefined,
491
+ updatedBefore: typeof options.filterUpdatedBefore === "string" ? options.filterUpdatedBefore : undefined,
492
+ createdAfter: typeof options.filterCreatedAfter === "string" ? options.filterCreatedAfter : undefined,
493
+ createdBefore: typeof options.filterCreatedBefore === "string" ? options.filterCreatedBefore : undefined,
494
+ ids: typeof options.ids === "string" ? options.ids : undefined,
495
+ assignee: typeof options.filterAssignee === "string" ? options.filterAssignee : undefined,
496
+ assigneeFilter: pickString(options.filterAssigneeFilter, options.filterAssignee_filter),
497
+ parent: typeof options.filterParent === "string" ? options.filterParent : undefined,
498
+ sprint: typeof options.filterSprint === "string" ? options.filterSprint : undefined,
499
+ release: typeof options.filterRelease === "string" ? options.filterRelease : undefined,
500
+ limit: typeof options.limit === "string" ? options.limit : undefined,
501
+ offset: typeof options.offset === "string" ? options.offset : undefined,
502
+ },
503
+ reason: typeof options.reason === "string" ? options.reason : undefined,
504
+ resolution: typeof options.resolution === "string" ? options.resolution : undefined,
505
+ expectedResult: pickString(options.expectedResult, options.expected_result, options.expected),
506
+ actualResult: pickString(options.actualResult, options.actual_result, options.actual),
507
+ validateClose: options.validateClose === true
508
+ ? "warn"
509
+ : typeof options.validateClose === "string"
510
+ ? options.validateClose
511
+ : undefined,
512
+ author: typeof options.author === "string" ? options.author : undefined,
513
+ message: typeof options.message === "string" ? options.message : undefined,
514
+ force: Boolean(options.force),
515
+ dryRun: options.dryRun === true ? true : undefined,
516
+ rollback: typeof options.rollback === "string" ? options.rollback : undefined,
517
+ checkpoint: options.checkpoint === false ? false : undefined,
518
+ }, globalOptions);
519
+ await invalidateSearchCachesForMutation(globalOptions, result);
520
+ printResult(result, globalOptions);
521
+ if (globalOptions.profile) {
522
+ printError(`profile:command=close-many took_ms=${Date.now() - startedAt}`);
523
+ }
524
+ });
397
525
  program
398
526
  .command("delete")
399
527
  .argument("<id>", "Item id")
@@ -405,7 +533,7 @@ export function registerMutationCommands(program) {
405
533
  .action(async (id, options, command) => {
406
534
  const globalOptions = getGlobalOptions(command);
407
535
  const startedAt = Date.now();
408
- const { runDelete } = await loadMutationCommandsModule();
536
+ const { runDelete } = await import("./commands/delete.js");
409
537
  const result = await runDelete(id, {
410
538
  author: typeof options.author === "string" ? options.author : undefined,
411
539
  message: typeof options.message === "string" ? options.message : undefined,
@@ -444,7 +572,7 @@ export function registerMutationCommands(program) {
444
572
  if (resolvedBody === undefined) {
445
573
  throw new PmCliError("Missing append text. Provide it as positional [text], --body <value>, or --text <value> (use - for stdin).", EXIT_CODE.USAGE);
446
574
  }
447
- const { runAppend } = await loadMutationCommandsModule();
575
+ const { runAppend } = await import("./commands/append.js");
448
576
  const result = await runAppend(id, {
449
577
  body: resolvedBody,
450
578
  author: typeof options.author === "string" ? options.author : undefined,
@@ -468,7 +596,7 @@ export function registerMutationCommands(program) {
468
596
  .action(async (id, target, options, command) => {
469
597
  const globalOptions = getGlobalOptions(command);
470
598
  const startedAt = Date.now();
471
- const { runRestore } = await loadMutationCommandsModule();
599
+ const { runRestore } = await import("./commands/restore.js");
472
600
  const result = await runRestore(id, target, {
473
601
  author: typeof options.author === "string" ? options.author : undefined,
474
602
  message: typeof options.message === "string" ? options.message : undefined,
@@ -577,7 +705,7 @@ export function registerMutationCommands(program) {
577
705
  .action(async (subcommand, id, stepRef, reorderToken, options, command) => {
578
706
  const globalOptions = getGlobalOptions(command);
579
707
  const startedAt = Date.now();
580
- const { runPlan, PLAN_SUBCOMMANDS } = await loadMutationCommandsModule();
708
+ const { runPlan, PLAN_SUBCOMMANDS } = await import("./commands/plan.js");
581
709
  const normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
582
710
  if (!normalizedSubcommand) {
583
711
  throw new PmCliError(`pm plan requires a subcommand. Allowed: ${PLAN_SUBCOMMANDS.join(", ")}`, EXIT_CODE.USAGE, {
@@ -674,7 +802,7 @@ export function registerMutationCommands(program) {
674
802
  .action(async (id, options, command) => {
675
803
  const globalOptions = getGlobalOptions(command);
676
804
  const startedAt = Date.now();
677
- const { runHistoryRedact } = await loadMutationCommandsModule();
805
+ const { runHistoryRedact } = await import("./commands/history-redact.js");
678
806
  const literal = Array.isArray(options.literal) ? options.literal : undefined;
679
807
  const regex = Array.isArray(options.regex) ? options.regex : undefined;
680
808
  const result = await runHistoryRedact(id, {
@@ -705,7 +833,7 @@ export function registerMutationCommands(program) {
705
833
  .action(async (id, options, command) => {
706
834
  const globalOptions = getGlobalOptions(command);
707
835
  const startedAt = Date.now();
708
- const { runHistoryRepair } = await loadMutationCommandsModule();
836
+ const { runHistoryRepair } = await import("./commands/history-repair.js");
709
837
  const result = await runHistoryRepair(id, {
710
838
  dryRun: options.dryRun === true,
711
839
  author: typeof options.author === "string" ? options.author : undefined,
@@ -721,30 +849,36 @@ export function registerMutationCommands(program) {
721
849
  });
722
850
  const schemaCommand = program
723
851
  .command("schema")
724
- .argument("[subcommand]", "Schema subcommand: add-type, or a custom item type name shorthand")
725
- .argument("[name]", "Custom item type name (for add-type)")
726
- .option("--description <text>", "Human description for the custom item type")
852
+ .argument("[subcommand]", "Schema subcommand: list, show, add-type, remove-type, add-status, remove-status, or a custom item type name shorthand")
853
+ .argument("[name]", "Item type name (add-type/remove-type/show) or status id (add-status/remove-status)")
854
+ .option("--description <text>", "Human description for the custom item type or status")
727
855
  .option("--default-status <status>", "Default status hint recorded for the custom item type")
728
856
  .option("--folder <dir>", "Storage folder for items of this custom type")
729
- .option("--alias <name>", "Alias for the custom type (repeatable, csv-friendly)", collect)
857
+ .option("--alias <name>", "Alias for the custom type or status (repeatable, csv-friendly)", collect)
858
+ .option("--role <value>", "Lifecycle role for a custom status (repeatable): draft, active, blocked, terminal, terminal_done, terminal_canceled, default_open, default_close, default_cancel", collect)
859
+ .option("--order <n>", "Display/sort order for a custom status")
730
860
  .option("--author <value>", "Mutation author")
731
861
  .option("--force", "Force ownership/lock override")
732
- .description("Manage config-driven runtime schema: register custom item types into .agents/pm/schema/types.json.");
862
+ .description("Inspect and manage config-driven runtime schema.");
733
863
  // Hidden pure snake_case underscore-duplicate alias.
734
864
  addHiddenOption(schemaCommand, "--default_status <status>", "Alias for --default-status", false);
735
865
  schemaCommand
736
866
  .action(async (subcommand, name, options, command) => {
737
867
  const globalOptions = getGlobalOptions(command);
738
868
  const startedAt = Date.now();
739
- const { runSchemaAddType, formatSchemaAddTypeHuman, SCHEMA_SUBCOMMANDS } = await loadMutationCommandsModule();
869
+ const { runSchemaAddType, runSchemaRemoveType, runSchemaAddStatus, runSchemaRemoveStatus, runSchemaList, runSchemaShow, formatSchemaAddTypeHuman, formatSchemaRemoveTypeHuman, formatSchemaAddStatusHuman, formatSchemaRemoveStatusHuman, formatSchemaListHuman, formatSchemaShowHuman, SCHEMA_SUBCOMMANDS, } = await import("./commands/schema.js");
740
870
  let normalizedSubcommand = (subcommand ?? "").trim().toLowerCase();
741
871
  let typeName = name;
742
872
  if (!normalizedSubcommand) {
743
873
  throw new PmCliError(`pm schema requires a subcommand. Allowed: ${SCHEMA_SUBCOMMANDS.join(", ")}`, EXIT_CODE.USAGE, {
744
874
  code: "missing_required_argument",
745
875
  examples: [
876
+ "pm schema list",
877
+ "pm schema show Task",
746
878
  'pm schema add-type Spike --description "Time-boxed investigation" --default-status open',
747
- 'pm schema add-type Spike --alias spike --alias research',
879
+ "pm schema remove-type Spike",
880
+ "pm schema add-status review --role active --alias in_review",
881
+ "pm schema remove-status review",
748
882
  ],
749
883
  });
750
884
  }
@@ -753,42 +887,78 @@ export function registerMutationCommands(program) {
753
887
  : Array.isArray(options.alias)
754
888
  ? options.alias
755
889
  : undefined;
890
+ const roles = typeof options.role === "string"
891
+ ? [options.role]
892
+ : Array.isArray(options.role)
893
+ ? options.role
894
+ : undefined;
756
895
  const defaultStatus = typeof options.defaultStatus === "string"
757
896
  ? options.defaultStatus
758
897
  : typeof options.default_status === "string"
759
898
  ? options.default_status
760
899
  : undefined;
761
- const usedAddTypeOption = typeof options.description === "string" ||
762
- typeof defaultStatus === "string" ||
763
- typeof options.folder === "string" ||
764
- (aliases?.length ?? 0) > 0;
765
- if (!SCHEMA_SUBCOMMANDS.includes(normalizedSubcommand) &&
766
- typeName === undefined &&
767
- usedAddTypeOption) {
900
+ const order = parseSchemaOrderOption(options.order);
901
+ if (!SCHEMA_SUBCOMMANDS.includes(normalizedSubcommand) && typeName === undefined) {
768
902
  typeName = subcommand;
769
903
  normalizedSubcommand = "add-type";
770
904
  }
771
905
  if (!SCHEMA_SUBCOMMANDS.includes(normalizedSubcommand)) {
772
906
  throw new PmCliError(`Unknown pm schema subcommand "${subcommand}". Allowed: ${SCHEMA_SUBCOMMANDS.join(", ")}`, EXIT_CODE.USAGE, { code: "unknown_subcommand" });
773
907
  }
774
- const result = await runSchemaAddType(typeName, {
775
- description: typeof options.description === "string" ? options.description : undefined,
776
- defaultStatus,
777
- folder: typeof options.folder === "string" ? options.folder : undefined,
778
- alias: aliases,
779
- author: typeof options.author === "string" ? options.author : undefined,
780
- force: Boolean(options.force),
781
- }, globalOptions);
782
- // Registering a type does not touch item content, so search caches stay valid.
908
+ const author = typeof options.author === "string" ? options.author : undefined;
909
+ const force = Boolean(options.force);
910
+ const result = normalizedSubcommand === "list"
911
+ ? await runSchemaList(globalOptions)
912
+ : normalizedSubcommand === "show"
913
+ ? await runSchemaShow(typeName, globalOptions)
914
+ : normalizedSubcommand === "remove-type"
915
+ ? await runSchemaRemoveType(typeName, { author, force }, globalOptions)
916
+ : normalizedSubcommand === "add-status"
917
+ ? await runSchemaAddStatus(typeName, {
918
+ role: roles,
919
+ alias: aliases,
920
+ description: typeof options.description === "string" ? options.description : undefined,
921
+ order,
922
+ author,
923
+ force,
924
+ }, globalOptions)
925
+ : normalizedSubcommand === "remove-status"
926
+ ? await runSchemaRemoveStatus(typeName, { author, force }, globalOptions)
927
+ : await runSchemaAddType(typeName, {
928
+ description: typeof options.description === "string" ? options.description : undefined,
929
+ defaultStatus,
930
+ folder: typeof options.folder === "string" ? options.folder : undefined,
931
+ alias: aliases,
932
+ author,
933
+ force,
934
+ }, globalOptions);
935
+ // Schema inspection and type registration do not touch item content, so search caches stay valid.
783
936
  if (globalOptions.json === true || globalOptions.defaultOutputFormat === "json") {
784
937
  printResult(result, globalOptions);
785
938
  }
786
939
  else if (!globalOptions.quiet) {
787
- writeStdout(`${formatSchemaAddTypeHuman(result)}\n`);
940
+ if (result.action === "list") {
941
+ writeStdout(`${formatSchemaListHuman(result)}\n`);
942
+ }
943
+ else if (result.action === "show") {
944
+ writeStdout(`${formatSchemaShowHuman(result)}\n`);
945
+ }
946
+ else if (result.action === "remove-type") {
947
+ writeStdout(`${formatSchemaRemoveTypeHuman(result)}\n`);
948
+ }
949
+ else if (result.action === "add-status") {
950
+ writeStdout(`${formatSchemaAddStatusHuman(result)}\n`);
951
+ }
952
+ else if (result.action === "remove-status") {
953
+ writeStdout(`${formatSchemaRemoveStatusHuman(result)}\n`);
954
+ }
955
+ else {
956
+ writeStdout(`${formatSchemaAddTypeHuman(result)}\n`);
957
+ }
788
958
  // Surface extension on-write hook diagnostics so policy/enforcement
789
959
  // warnings are visible without forcing --json.
790
- if (result.warnings.length > 0) {
791
- printError(`schema add-type warnings: ${formatHookWarnings(result.warnings)}`);
960
+ if (result.action !== "list" && result.action !== "show" && result.warnings.length > 0) {
961
+ printError(`schema ${result.action} warnings: ${formatHookWarnings(result.warnings)}`);
792
962
  }
793
963
  }
794
964
  if (globalOptions.profile) {
@@ -826,7 +996,7 @@ export function registerMutationCommands(program) {
826
996
  throw new PmCliError("Specify comment text with exactly one source: positional [text], --add, --stdin, or --file", EXIT_CODE.USAGE);
827
997
  }
828
998
  const add = addFromOption ?? addFromPositional;
829
- const { runComments } = await loadMutationCommandsModule();
999
+ const { runComments } = await import("./commands/comments.js");
830
1000
  const result = await runComments(id, {
831
1001
  add,
832
1002
  stdin: readFromStdin,
@@ -866,7 +1036,7 @@ export function registerMutationCommands(program) {
866
1036
  throw new PmCliError("Specify note text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
867
1037
  }
868
1038
  const add = addFromOption ?? addFromPositional;
869
- const { runNotes } = await loadMutationCommandsModule();
1039
+ const { runNotes } = await import("./commands/notes.js");
870
1040
  const result = await runNotes(id, {
871
1041
  add,
872
1042
  limit: typeof options.limit === "string" ? options.limit : undefined,
@@ -904,7 +1074,7 @@ export function registerMutationCommands(program) {
904
1074
  throw new PmCliError("Specify learning text either as positional [text] or with --add, not both", EXIT_CODE.USAGE);
905
1075
  }
906
1076
  const add = addFromOption ?? addFromPositional;
907
- const { runLearnings } = await loadMutationCommandsModule();
1077
+ const { runLearnings } = await import("./commands/learnings.js");
908
1078
  const result = await runLearnings(id, {
909
1079
  add,
910
1080
  limit: typeof options.limit === "string" ? options.limit : undefined,
@@ -944,7 +1114,7 @@ export function registerMutationCommands(program) {
944
1114
  const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
945
1115
  const removeValues = Array.isArray(options.remove) ? options.remove : [];
946
1116
  const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
947
- const { runFiles } = await loadMutationCommandsModule();
1117
+ const { runFiles } = await import("./commands/files.js");
948
1118
  const result = await runFiles(id, {
949
1119
  add: addValues,
950
1120
  addGlob: addGlobValues,
@@ -979,7 +1149,7 @@ export function registerMutationCommands(program) {
979
1149
  .action(async (id, options, command) => {
980
1150
  const globalOptions = getGlobalOptions(command);
981
1151
  const startedAt = Date.now();
982
- const { runFilesDiscover } = await loadMutationCommandsModule();
1152
+ const { runFilesDiscover } = await import("./commands/files.js");
983
1153
  const result = await runFilesDiscover(id, {
984
1154
  apply: Boolean(options.apply),
985
1155
  note: typeof options.note === "string" ? options.note : undefined,
@@ -1017,7 +1187,7 @@ export function registerMutationCommands(program) {
1017
1187
  const addGlobValues = Array.isArray(options.addGlob) ? options.addGlob : [];
1018
1188
  const removeValues = Array.isArray(options.remove) ? options.remove : [];
1019
1189
  const migrateValues = Array.isArray(options.migrate) ? options.migrate : [];
1020
- const { runDocs } = await loadMutationCommandsModule();
1190
+ const { runDocs } = await import("./commands/docs.js");
1021
1191
  const result = await runDocs(id, {
1022
1192
  add: addValues,
1023
1193
  addGlob: addGlobValues,
@@ -1049,7 +1219,7 @@ export function registerMutationCommands(program) {
1049
1219
  .action(async (id, options, command) => {
1050
1220
  const globalOptions = getGlobalOptions(command);
1051
1221
  const startedAt = Date.now();
1052
- const { runDeps } = await loadMutationCommandsModule();
1222
+ const { runDeps } = await import("./commands/deps.js");
1053
1223
  const result = await runDeps(id, {
1054
1224
  format: typeof options.format === "string" ? options.format : undefined,
1055
1225
  maxDepth: typeof options.maxDepth === "string" ? options.maxDepth : undefined,
@@ -1063,4 +1233,4 @@ export function registerMutationCommands(program) {
1063
1233
  });
1064
1234
  }
1065
1235
  //# sourceMappingURL=register-mutation.js.map
1066
- //# debugId=1c5454e2-e849-5b5f-b7a1-2681e8a90eac
1236
+ //# debugId=512c19d2-da36-590c-a1ca-cd11e57c7529