@unbrained/pm-cli 2026.5.31 → 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 (586) hide show
  1. package/CHANGELOG.md +127 -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 +17 -3
  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 +77 -114
  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/scaffold.js +49 -48
  27. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  28. package/dist/cli/commands/extension.js +51 -23
  29. package/dist/cli/commands/extension.js.map +1 -1
  30. package/dist/cli/commands/get.js +7 -7
  31. package/dist/cli/commands/get.js.map +1 -1
  32. package/dist/cli/commands/health.js +38 -3
  33. package/dist/cli/commands/health.js.map +1 -1
  34. package/dist/cli/commands/index.d.ts +2 -1
  35. package/dist/cli/commands/index.js +4 -3
  36. package/dist/cli/commands/index.js.map +1 -1
  37. package/dist/cli/commands/init.d.ts +10 -0
  38. package/dist/cli/commands/init.js +107 -4
  39. package/dist/cli/commands/init.js.map +1 -1
  40. package/dist/cli/commands/list.d.ts +5 -0
  41. package/dist/cli/commands/list.js +58 -26
  42. package/dist/cli/commands/list.js.map +1 -1
  43. package/dist/cli/commands/reindex.js +163 -47
  44. package/dist/cli/commands/reindex.js.map +1 -1
  45. package/dist/cli/commands/repeatable-metadata-parsers.d.ts +15 -0
  46. package/dist/cli/commands/repeatable-metadata-parsers.js +120 -0
  47. package/dist/cli/commands/repeatable-metadata-parsers.js.map +1 -0
  48. package/dist/cli/commands/restore.js +25 -4
  49. package/dist/cli/commands/restore.js.map +1 -1
  50. package/dist/cli/commands/schema.d.ts +122 -1
  51. package/dist/cli/commands/schema.js +536 -6
  52. package/dist/cli/commands/schema.js.map +1 -1
  53. package/dist/cli/commands/search.d.ts +1 -0
  54. package/dist/cli/commands/search.js +18 -4
  55. package/dist/cli/commands/search.js.map +1 -1
  56. package/dist/cli/commands/test.js +4 -3
  57. package/dist/cli/commands/test.js.map +1 -1
  58. package/dist/cli/commands/update-many.js +69 -140
  59. package/dist/cli/commands/update-many.js.map +1 -1
  60. package/dist/cli/commands/update.d.ts +2 -0
  61. package/dist/cli/commands/update.js +138 -119
  62. package/dist/cli/commands/update.js.map +1 -1
  63. package/dist/cli/commands/validate.d.ts +1 -0
  64. package/dist/cli/commands/validate.js +63 -33
  65. package/dist/cli/commands/validate.js.map +1 -1
  66. package/dist/cli/error-guidance.js +26 -3
  67. package/dist/cli/error-guidance.js.map +1 -1
  68. package/dist/cli/help-content.js +82 -3
  69. package/dist/cli/help-content.js.map +1 -1
  70. package/dist/cli/main.js +377 -23
  71. package/dist/cli/main.js.map +1 -1
  72. package/dist/cli/register-list-query.js +9 -3
  73. package/dist/cli/register-list-query.js.map +1 -1
  74. package/dist/cli/register-mutation.js +200 -28
  75. package/dist/cli/register-mutation.js.map +1 -1
  76. package/dist/cli/register-operations.js +4 -2
  77. package/dist/cli/register-operations.js.map +1 -1
  78. package/dist/cli/register-setup.js +4 -2
  79. package/dist/cli/register-setup.js.map +1 -1
  80. package/dist/cli/registration-helpers.js +31 -4
  81. package/dist/cli/registration-helpers.js.map +1 -1
  82. package/dist/cli-bundle/chunks/activity-3RWRRNOW.js +20 -0
  83. package/dist/cli-bundle/chunks/activity-3RWRRNOW.js.map +1 -0
  84. package/dist/cli-bundle/chunks/activity-P5BUMWP3.js +16 -0
  85. package/dist/cli-bundle/chunks/aggregate-J35K7WZB.js +206 -0
  86. package/dist/cli-bundle/chunks/aggregate-J35K7WZB.js.map +1 -0
  87. package/dist/cli-bundle/chunks/{aggregate-ADUOSFRO.js → aggregate-OOAGKWRG.js} +11 -11
  88. package/dist/cli-bundle/chunks/{append-JD2DETU7.js → append-5JE3YGXU.js} +8 -9
  89. package/dist/cli-bundle/chunks/{append-JD2DETU7.js.map → append-5JE3YGXU.js.map} +1 -1
  90. package/dist/cli-bundle/chunks/append-PNN6UIBZ.js +69 -0
  91. package/dist/cli-bundle/chunks/append-PNN6UIBZ.js.map +1 -0
  92. package/dist/cli-bundle/chunks/chunk-26KTVXJW.js +218 -0
  93. package/dist/cli-bundle/chunks/chunk-26KTVXJW.js.map +1 -0
  94. package/dist/cli-bundle/chunks/{chunk-JULRTHJQ.js → chunk-3OH4DAEB.js} +119 -6
  95. package/dist/cli-bundle/chunks/chunk-3OH4DAEB.js.map +7 -0
  96. package/dist/cli-bundle/chunks/chunk-4LTBNUYT.js +5553 -0
  97. package/dist/cli-bundle/chunks/chunk-4LTBNUYT.js.map +1 -0
  98. package/dist/cli-bundle/chunks/{chunk-WDPXDQFG.js → chunk-4PJQSECJ.js} +6 -4
  99. package/dist/cli-bundle/chunks/chunk-4PJQSECJ.js.map +7 -0
  100. package/dist/cli-bundle/chunks/chunk-4QCR4QW3.js +1832 -0
  101. package/dist/cli-bundle/chunks/chunk-4QCR4QW3.js.map +1 -0
  102. package/dist/cli-bundle/chunks/{chunk-6HT2F4TK.js → chunk-5IRA6IYD.js} +175 -54
  103. package/dist/cli-bundle/chunks/chunk-5IRA6IYD.js.map +7 -0
  104. package/dist/cli-bundle/chunks/chunk-5KB4X7YY.js +412 -0
  105. package/dist/cli-bundle/chunks/chunk-5KB4X7YY.js.map +1 -0
  106. package/dist/cli-bundle/chunks/chunk-5PAOPUZX.js +182 -0
  107. package/dist/cli-bundle/chunks/chunk-5PAOPUZX.js.map +1 -0
  108. package/dist/cli-bundle/chunks/chunk-7K24QB23.js +698 -0
  109. package/dist/cli-bundle/chunks/chunk-7K24QB23.js.map +1 -0
  110. package/dist/cli-bundle/chunks/chunk-A6PEXMYN.js +380 -0
  111. package/dist/cli-bundle/chunks/chunk-A6PEXMYN.js.map +1 -0
  112. package/dist/cli-bundle/chunks/chunk-ASQM3IF5.js +230 -0
  113. package/dist/cli-bundle/chunks/chunk-ASQM3IF5.js.map +1 -0
  114. package/dist/cli-bundle/chunks/{chunk-G57E5D7T.js → chunk-ATBVS6WW.js} +5 -5
  115. package/dist/cli-bundle/chunks/chunk-AXXKLVTW.js +332 -0
  116. package/dist/cli-bundle/chunks/chunk-AXXKLVTW.js.map +1 -0
  117. package/dist/cli-bundle/chunks/{chunk-PXUAZUUY.js → chunk-B3N4TKNL.js} +12 -11
  118. package/dist/cli-bundle/chunks/chunk-B3N4TKNL.js.map +7 -0
  119. package/dist/cli-bundle/chunks/{chunk-KBQY3YG5.js → chunk-BNL6S7QH.js} +3 -3
  120. package/dist/cli-bundle/chunks/chunk-CCUFLH4J.js +154 -0
  121. package/dist/cli-bundle/chunks/chunk-CCUFLH4J.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-NGN7UV5K.js → chunk-CJDQB2ED.js} +2 -2
  123. package/dist/cli-bundle/chunks/chunk-CWT53EYT.js +1340 -0
  124. package/dist/cli-bundle/chunks/chunk-CWT53EYT.js.map +1 -0
  125. package/dist/cli-bundle/chunks/{chunk-D7AOMPRH.js → chunk-D3WUNETC.js} +5 -5
  126. package/dist/cli-bundle/chunks/{chunk-3M73P3G6.js → chunk-D5X7N6FI.js} +210 -132
  127. package/dist/cli-bundle/chunks/chunk-D5X7N6FI.js.map +7 -0
  128. package/dist/cli-bundle/chunks/{chunk-6YCV7WSL.js → chunk-DFIZGAI5.js} +10 -12
  129. package/dist/cli-bundle/chunks/{chunk-6YCV7WSL.js.map → chunk-DFIZGAI5.js.map} +1 -1
  130. package/dist/cli-bundle/chunks/chunk-DFUSXJDE.js +1704 -0
  131. package/dist/cli-bundle/chunks/chunk-DFUSXJDE.js.map +1 -0
  132. package/dist/cli-bundle/chunks/chunk-EHXPIKKP.js +2988 -0
  133. package/dist/cli-bundle/chunks/chunk-EHXPIKKP.js.map +1 -0
  134. package/dist/cli-bundle/chunks/chunk-FVXM3GKS.js +128 -0
  135. package/dist/cli-bundle/chunks/chunk-FVXM3GKS.js.map +1 -0
  136. package/dist/cli-bundle/chunks/chunk-G5BACLYH.js +454 -0
  137. package/dist/cli-bundle/chunks/chunk-G5BACLYH.js.map +1 -0
  138. package/dist/cli-bundle/chunks/{chunk-U7FMKRXH.js → chunk-GCAVRLGE.js} +37 -16
  139. package/dist/cli-bundle/chunks/chunk-GCAVRLGE.js.map +7 -0
  140. package/dist/cli-bundle/chunks/chunk-GFWHHMVV.js +57 -0
  141. package/dist/cli-bundle/chunks/chunk-GFWHHMVV.js.map +1 -0
  142. package/dist/cli-bundle/chunks/chunk-GNHVV4SY.js +3860 -0
  143. package/dist/cli-bundle/chunks/chunk-GNHVV4SY.js.map +1 -0
  144. package/dist/cli-bundle/chunks/chunk-GPGAYASV.js +346 -0
  145. package/dist/cli-bundle/chunks/chunk-GPGAYASV.js.map +1 -0
  146. package/dist/cli-bundle/chunks/{chunk-MD7K4JYF.js → chunk-HPH6X4ZZ.js} +26 -15
  147. package/dist/cli-bundle/chunks/chunk-HPH6X4ZZ.js.map +7 -0
  148. package/dist/cli-bundle/chunks/{chunk-5HSEP75M.js → chunk-HZOS2UG5.js} +18 -6
  149. package/dist/cli-bundle/chunks/chunk-HZOS2UG5.js.map +7 -0
  150. package/dist/cli-bundle/chunks/chunk-IUV734HF.js +17 -0
  151. package/dist/cli-bundle/chunks/chunk-IUV734HF.js.map +1 -0
  152. package/dist/cli-bundle/chunks/chunk-J27KIHTG.js +15 -0
  153. package/dist/cli-bundle/chunks/chunk-J27KIHTG.js.map +1 -0
  154. package/dist/cli-bundle/chunks/{chunk-L2FXEKDB.js → chunk-JB4RGL4V.js} +7 -7
  155. package/dist/cli-bundle/chunks/chunk-JQI2HE55.js +130 -0
  156. package/dist/cli-bundle/chunks/chunk-JQI2HE55.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{chunk-SEXQN4KL.js → chunk-K47WAYQV.js} +3 -3
  158. package/dist/cli-bundle/chunks/{chunk-CEFIVZPG.js → chunk-KA24HME7.js} +2 -2
  159. package/dist/cli-bundle/chunks/chunk-KBG47ZOY.js +1325 -0
  160. package/dist/cli-bundle/chunks/chunk-KBG47ZOY.js.map +1 -0
  161. package/dist/cli-bundle/chunks/chunk-KCMIYKTA.js +242 -0
  162. package/dist/cli-bundle/chunks/chunk-KCMIYKTA.js.map +1 -0
  163. package/dist/cli-bundle/chunks/{chunk-7Y53ZJIQ.js → chunk-KK6YPGH3.js} +22 -3
  164. package/dist/cli-bundle/chunks/chunk-KK6YPGH3.js.map +7 -0
  165. package/dist/cli-bundle/chunks/{chunk-A7E7PUVX.js → chunk-LDJK7SHN.js} +7 -7
  166. package/dist/cli-bundle/chunks/chunk-LXYVKYMQ.js +24 -0
  167. package/dist/cli-bundle/chunks/chunk-LXYVKYMQ.js.map +1 -0
  168. package/dist/cli-bundle/chunks/chunk-MISYRLEP.js +80 -0
  169. package/dist/cli-bundle/chunks/chunk-MISYRLEP.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{chunk-FQE6XZDB.js → chunk-N5YF3VFN.js} +54 -32
  171. package/dist/cli-bundle/chunks/chunk-N5YF3VFN.js.map +7 -0
  172. package/dist/cli-bundle/chunks/chunk-NQP3ECKF.js +173 -0
  173. package/dist/cli-bundle/chunks/chunk-NQP3ECKF.js.map +1 -0
  174. package/dist/cli-bundle/chunks/chunk-O5IBJE6S.js +338 -0
  175. package/dist/cli-bundle/chunks/chunk-O5IBJE6S.js.map +1 -0
  176. package/dist/cli-bundle/chunks/{chunk-OGZEG5TT.js → chunk-OIQIXTNB.js} +164 -53
  177. package/dist/cli-bundle/chunks/chunk-OIQIXTNB.js.map +7 -0
  178. package/dist/cli-bundle/chunks/chunk-ORTLYVA4.js +751 -0
  179. package/dist/cli-bundle/chunks/chunk-ORTLYVA4.js.map +1 -0
  180. package/dist/cli-bundle/chunks/{chunk-JTWRXG4B.js → chunk-OUF3ARDX.js} +251 -251
  181. package/dist/cli-bundle/chunks/chunk-OUF3ARDX.js.map +7 -0
  182. package/dist/cli-bundle/chunks/{chunk-PVNQLCIS.js → chunk-RANZIID5.js} +2 -2
  183. package/dist/cli-bundle/chunks/chunk-RQAWLSUU.js +140 -0
  184. package/dist/cli-bundle/chunks/chunk-RQAWLSUU.js.map +7 -0
  185. package/dist/cli-bundle/chunks/{chunk-JFWUHHS2.js → chunk-S3CV7JGJ.js} +4 -4
  186. package/dist/cli-bundle/chunks/{chunk-LSXGH6NE.js → chunk-SRVKTWPR.js} +748 -196
  187. package/dist/cli-bundle/chunks/chunk-SRVKTWPR.js.map +7 -0
  188. package/dist/cli-bundle/chunks/chunk-SSFMJCPF.js +76 -0
  189. package/dist/cli-bundle/chunks/chunk-SSFMJCPF.js.map +1 -0
  190. package/dist/cli-bundle/chunks/chunk-SZQCER6S.js +631 -0
  191. package/dist/cli-bundle/chunks/chunk-SZQCER6S.js.map +1 -0
  192. package/dist/cli-bundle/chunks/chunk-T2ORWB6D.js +540 -0
  193. package/dist/cli-bundle/chunks/chunk-T2ORWB6D.js.map +1 -0
  194. package/dist/cli-bundle/chunks/chunk-TBQVUNVH.js +422 -0
  195. package/dist/cli-bundle/chunks/chunk-TBQVUNVH.js.map +7 -0
  196. package/dist/cli-bundle/chunks/{chunk-P53TN6IA.js → chunk-TK633IVD.js} +35 -8
  197. package/dist/cli-bundle/chunks/chunk-TK633IVD.js.map +7 -0
  198. package/dist/cli-bundle/chunks/chunk-TQ3ZK6VD.js +131 -0
  199. package/dist/cli-bundle/chunks/chunk-TQ3ZK6VD.js.map +7 -0
  200. package/dist/cli-bundle/chunks/chunk-UFCG3SWR.js +119 -0
  201. package/dist/cli-bundle/chunks/chunk-UFCG3SWR.js.map +1 -0
  202. package/dist/cli-bundle/chunks/chunk-UOVLWB47.js +1664 -0
  203. package/dist/cli-bundle/chunks/chunk-UOVLWB47.js.map +1 -0
  204. package/dist/cli-bundle/chunks/chunk-V3JQ4IPL.js +186 -0
  205. package/dist/cli-bundle/chunks/chunk-V3JQ4IPL.js.map +1 -0
  206. package/dist/cli-bundle/chunks/chunk-VGO2T3TY.js +182 -0
  207. package/dist/cli-bundle/chunks/chunk-VGO2T3TY.js.map +1 -0
  208. package/dist/cli-bundle/chunks/{chunk-LRBOHPUE.js → chunk-WIKR7KFL.js} +8 -8
  209. package/dist/cli-bundle/chunks/{chunk-BUPWJ3IJ.js → chunk-XG7RJYHV.js} +484 -49
  210. package/dist/cli-bundle/chunks/chunk-XG7RJYHV.js.map +7 -0
  211. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js +53 -0
  212. package/dist/cli-bundle/chunks/chunk-XSLQSXAH.js.map +1 -0
  213. package/dist/cli-bundle/chunks/{chunk-AKOOMO3T.js → chunk-XX5LRINW.js} +2 -2
  214. package/dist/cli-bundle/chunks/{chunk-WJ2NAC37.js → chunk-Y2AKE2HS.js} +3 -3
  215. package/dist/cli-bundle/chunks/{chunk-GN7IJPCD.js → chunk-ZQ4F6EC4.js} +301 -24
  216. package/dist/cli-bundle/chunks/chunk-ZQ4F6EC4.js.map +7 -0
  217. package/dist/cli-bundle/chunks/chunk-ZRVSMOMR.js +1809 -0
  218. package/dist/cli-bundle/chunks/chunk-ZRVSMOMR.js.map +1 -0
  219. package/dist/cli-bundle/chunks/{claim-EE4TKKCV.js → claim-AZLP7YFO.js} +10 -11
  220. package/dist/cli-bundle/chunks/{claim-EE4TKKCV.js.map → claim-AZLP7YFO.js.map} +1 -1
  221. package/dist/cli-bundle/chunks/claim-ZFA7HKU4.js +129 -0
  222. package/dist/cli-bundle/chunks/claim-ZFA7HKU4.js.map +1 -0
  223. package/dist/cli-bundle/chunks/close-65DFYAVS.js +17 -0
  224. package/dist/cli-bundle/chunks/close-65DFYAVS.js.map +1 -0
  225. package/dist/cli-bundle/chunks/close-RMHQ3KWH.js +13 -0
  226. package/dist/cli-bundle/chunks/close-many-AKPZNSGI.js +311 -0
  227. package/dist/cli-bundle/chunks/close-many-AKPZNSGI.js.map +1 -0
  228. package/dist/cli-bundle/chunks/close-many-UKZSQGM7.js +314 -0
  229. package/dist/cli-bundle/chunks/close-many-UKZSQGM7.js.map +7 -0
  230. package/dist/cli-bundle/chunks/{comments-AAKJQ6LW.js → comments-AGBNSJJH.js} +10 -11
  231. package/dist/cli-bundle/chunks/{comments-AAKJQ6LW.js.map → comments-AGBNSJJH.js.map} +1 -1
  232. package/dist/cli-bundle/chunks/comments-CJWXQI7X.js +100 -0
  233. package/dist/cli-bundle/chunks/comments-CJWXQI7X.js.map +1 -0
  234. package/dist/cli-bundle/chunks/{config-V3FZOKLI.js → config-5ON3ADRH.js} +121 -10
  235. package/dist/cli-bundle/chunks/config-5ON3ADRH.js.map +7 -0
  236. package/dist/cli-bundle/chunks/config-DDPYIA6J.js +1671 -0
  237. package/dist/cli-bundle/chunks/config-DDPYIA6J.js.map +1 -0
  238. package/dist/cli-bundle/chunks/{context-RZ5QPNJB.js → context-E6U3DWVM.js} +32 -19
  239. package/dist/cli-bundle/chunks/{context-RZ5QPNJB.js.map → context-E6U3DWVM.js.map} +2 -2
  240. package/dist/cli-bundle/chunks/context-ZOJEN5VT.js +1461 -0
  241. package/dist/cli-bundle/chunks/context-ZOJEN5VT.js.map +1 -0
  242. package/dist/cli-bundle/chunks/{contracts-YLMH33VU.js → contracts-CXSFM45B.js} +194 -162
  243. package/dist/cli-bundle/chunks/contracts-CXSFM45B.js.map +7 -0
  244. package/dist/cli-bundle/chunks/contracts-LCSX5R53.js +1274 -0
  245. package/dist/cli-bundle/chunks/contracts-LCSX5R53.js.map +1 -0
  246. package/dist/cli-bundle/chunks/create-ATONSAZW.js +27 -0
  247. package/dist/cli-bundle/chunks/create-WYFKN2U4.js +31 -0
  248. package/dist/cli-bundle/chunks/create-WYFKN2U4.js.map +1 -0
  249. package/dist/cli-bundle/chunks/{delete-RHCTEORS.js → delete-RONNH4F4.js} +7 -8
  250. package/dist/cli-bundle/chunks/{delete-RHCTEORS.js.map → delete-RONNH4F4.js.map} +1 -1
  251. package/dist/cli-bundle/chunks/delete-ZXWC56WO.js +55 -0
  252. package/dist/cli-bundle/chunks/delete-ZXWC56WO.js.map +1 -0
  253. package/dist/cli-bundle/chunks/deps-EHXIFOZR.js +225 -0
  254. package/dist/cli-bundle/chunks/deps-EHXIFOZR.js.map +1 -0
  255. package/dist/cli-bundle/chunks/{deps-MZYCMLAO.js → deps-WII3O4HB.js} +7 -8
  256. package/dist/cli-bundle/chunks/{deps-MZYCMLAO.js.map → deps-WII3O4HB.js.map} +1 -1
  257. package/dist/cli-bundle/chunks/{docs-FXXUCZYU.js → docs-JMVCFNHH.js} +9 -10
  258. package/dist/cli-bundle/chunks/{docs-FXXUCZYU.js.map → docs-JMVCFNHH.js.map} +1 -1
  259. package/dist/cli-bundle/chunks/docs-PDREIMLS.js +31 -0
  260. package/dist/cli-bundle/chunks/docs-PDREIMLS.js.map +1 -0
  261. package/dist/cli-bundle/chunks/extension-B4ROVWJD.js +28 -0
  262. package/dist/cli-bundle/chunks/extension-B4ROVWJD.js.map +1 -0
  263. package/dist/cli-bundle/chunks/{extension-B4WL7BQU.js → extension-G6UXSM5S.js} +4 -5
  264. package/dist/cli-bundle/chunks/files-2PN7UM2D.js +282 -0
  265. package/dist/cli-bundle/chunks/files-2PN7UM2D.js.map +1 -0
  266. package/dist/cli-bundle/chunks/{files-WVOX67PE.js → files-MXYS5W4M.js} +9 -10
  267. package/dist/cli-bundle/chunks/{files-WVOX67PE.js.map → files-MXYS5W4M.js.map} +1 -1
  268. package/dist/cli-bundle/chunks/gc-GT552UJH.js +178 -0
  269. package/dist/cli-bundle/chunks/gc-GT552UJH.js.map +1 -0
  270. package/dist/cli-bundle/chunks/{gc-JWNF66EC.js → gc-QNBRJG6H.js} +3 -3
  271. package/dist/cli-bundle/chunks/{get-LTK3HOCQ.js → get-CINFEUIY.js} +16 -17
  272. package/dist/cli-bundle/chunks/get-CINFEUIY.js.map +7 -0
  273. package/dist/cli-bundle/chunks/get-WXMLRG7M.js +194 -0
  274. package/dist/cli-bundle/chunks/get-WXMLRG7M.js.map +1 -0
  275. package/dist/cli-bundle/chunks/health-5VPOJQ53.js +1258 -0
  276. package/dist/cli-bundle/chunks/health-5VPOJQ53.js.map +1 -0
  277. package/dist/cli-bundle/chunks/{health-TCWL55KM.js → health-IT5DBPRJ.js} +43 -15
  278. package/dist/cli-bundle/chunks/health-IT5DBPRJ.js.map +7 -0
  279. package/dist/cli-bundle/chunks/history-6FC4H6HI.js +20 -0
  280. package/dist/cli-bundle/chunks/history-FLZIP7PM.js +24 -0
  281. package/dist/cli-bundle/chunks/history-FLZIP7PM.js.map +1 -0
  282. package/dist/cli-bundle/chunks/history-redact-SSZBAD76.js +23 -0
  283. package/dist/cli-bundle/chunks/history-redact-SSZBAD76.js.map +1 -0
  284. package/dist/cli-bundle/chunks/history-redact-XKYEZDBL.js +19 -0
  285. package/dist/cli-bundle/chunks/{history-repair-ZWSTDRH2.js → history-repair-KC5ZOJRZ.js} +12 -14
  286. package/dist/cli-bundle/chunks/{history-repair-ZWSTDRH2.js.map → history-repair-KC5ZOJRZ.js.map} +1 -1
  287. package/dist/cli-bundle/chunks/history-repair-X7CO5JJZ.js +193 -0
  288. package/dist/cli-bundle/chunks/history-repair-X7CO5JJZ.js.map +1 -0
  289. package/dist/cli-bundle/chunks/init-6MRFVOLH.js +20 -0
  290. package/dist/cli-bundle/chunks/init-6MRFVOLH.js.map +1 -0
  291. package/dist/cli-bundle/chunks/init-KHX3FEEM.js +16 -0
  292. package/dist/cli-bundle/chunks/{learnings-NXTWE3FR.js → learnings-A3CLB5CO.js} +10 -11
  293. package/dist/cli-bundle/chunks/{learnings-NXTWE3FR.js.map → learnings-A3CLB5CO.js.map} +1 -1
  294. package/dist/cli-bundle/chunks/learnings-DCX55BNX.js +44 -0
  295. package/dist/cli-bundle/chunks/learnings-DCX55BNX.js.map +1 -0
  296. package/dist/cli-bundle/chunks/list-53LZ2AEO.js +20 -0
  297. package/dist/cli-bundle/chunks/list-DBRECOG4.js +24 -0
  298. package/dist/cli-bundle/chunks/list-DBRECOG4.js.map +1 -0
  299. package/dist/cli-bundle/chunks/{notes-DFS5ZGOO.js → notes-42LIC3UE.js} +10 -11
  300. package/dist/cli-bundle/chunks/{notes-DFS5ZGOO.js.map → notes-42LIC3UE.js.map} +1 -1
  301. package/dist/cli-bundle/chunks/notes-P5O3VMQ3.js +44 -0
  302. package/dist/cli-bundle/chunks/notes-P5O3VMQ3.js.map +1 -0
  303. package/dist/cli-bundle/chunks/{plan-67AB2PLM.js → plan-HDQXEUKD.js} +13 -14
  304. package/dist/cli-bundle/chunks/{plan-67AB2PLM.js.map → plan-HDQXEUKD.js.map} +1 -1
  305. package/dist/cli-bundle/chunks/plan-IGTE3WOJ.js +1171 -0
  306. package/dist/cli-bundle/chunks/plan-IGTE3WOJ.js.map +1 -0
  307. package/dist/cli-bundle/chunks/{register-list-query-UP3VRUFS.js → register-list-query-AG3XKXWL.js} +22 -24
  308. package/dist/cli-bundle/chunks/register-list-query-AG3XKXWL.js.map +7 -0
  309. package/dist/cli-bundle/chunks/register-list-query-EMNSIUO4.js +227 -0
  310. package/dist/cli-bundle/chunks/register-list-query-EMNSIUO4.js.map +1 -0
  311. package/dist/cli-bundle/chunks/register-mutation-M3YS6XDO.js +813 -0
  312. package/dist/cli-bundle/chunks/register-mutation-M3YS6XDO.js.map +1 -0
  313. package/dist/cli-bundle/chunks/{register-mutation-YWSBF545.js → register-mutation-RSMT6DPK.js} +154 -43
  314. package/dist/cli-bundle/chunks/register-mutation-RSMT6DPK.js.map +7 -0
  315. package/dist/cli-bundle/chunks/register-operations-KYUOOOOD.js +370 -0
  316. package/dist/cli-bundle/chunks/register-operations-KYUOOOOD.js.map +1 -0
  317. package/dist/cli-bundle/chunks/{register-operations-3BDTGSDH.js → register-operations-Q54JQZUN.js} +33 -34
  318. package/dist/cli-bundle/chunks/register-operations-Q54JQZUN.js.map +7 -0
  319. package/dist/cli-bundle/chunks/register-setup-DI6P7X75.js +242 -0
  320. package/dist/cli-bundle/chunks/register-setup-DI6P7X75.js.map +1 -0
  321. package/dist/cli-bundle/chunks/{register-setup-V56GDRUS.js → register-setup-YJKIQRKA.js} +18 -19
  322. package/dist/cli-bundle/chunks/{register-setup-V56GDRUS.js.map → register-setup-YJKIQRKA.js.map} +2 -2
  323. package/dist/cli-bundle/chunks/restore-2XVTBLKQ.js +21 -0
  324. package/dist/cli-bundle/chunks/restore-2XVTBLKQ.js.map +1 -0
  325. package/dist/cli-bundle/chunks/restore-JL5QIH7H.js +17 -0
  326. package/dist/cli-bundle/chunks/schema-LVXZWFGY.js +770 -0
  327. package/dist/cli-bundle/chunks/schema-LVXZWFGY.js.map +1 -0
  328. package/dist/cli-bundle/chunks/schema-V6BX65Q2.js +780 -0
  329. package/dist/cli-bundle/chunks/schema-V6BX65Q2.js.map +7 -0
  330. package/dist/cli-bundle/chunks/{search-HENBL456.js → search-5A3BMFA7.js} +25 -16
  331. package/dist/cli-bundle/chunks/search-5A3BMFA7.js.map +7 -0
  332. package/dist/cli-bundle/chunks/search-C7NPB7G7.js +1127 -0
  333. package/dist/cli-bundle/chunks/search-C7NPB7G7.js.map +1 -0
  334. package/dist/cli-bundle/chunks/stats-FNLYVXTB.js +120 -0
  335. package/dist/cli-bundle/chunks/stats-FNLYVXTB.js.map +1 -0
  336. package/dist/cli-bundle/chunks/{stats-N6H3YP2F.js → stats-Y2CBTZSL.js} +7 -8
  337. package/dist/cli-bundle/chunks/{stats-N6H3YP2F.js.map → stats-Y2CBTZSL.js.map} +1 -1
  338. package/dist/cli-bundle/chunks/test-OFYONO3C.js +35 -0
  339. package/dist/cli-bundle/chunks/test-OFYONO3C.js.map +1 -0
  340. package/dist/cli-bundle/chunks/test-RJ4ZF35X.js +31 -0
  341. package/dist/cli-bundle/chunks/{test-all-G2AZOHXI.js → test-all-EEMKNTGU.js} +13 -14
  342. package/dist/cli-bundle/chunks/{test-all-G2AZOHXI.js.map → test-all-EEMKNTGU.js.map} +1 -1
  343. package/dist/cli-bundle/chunks/test-all-OJE6CIO7.js +328 -0
  344. package/dist/cli-bundle/chunks/test-all-OJE6CIO7.js.map +1 -0
  345. package/dist/cli-bundle/chunks/test-runs-IPOPFOAF.js +929 -0
  346. package/dist/cli-bundle/chunks/test-runs-IPOPFOAF.js.map +1 -0
  347. package/dist/cli-bundle/chunks/{test-runs-GX5HTPSF.js → test-runs-L2M7WKH7.js} +5 -5
  348. package/dist/cli-bundle/chunks/update-6YEHPVXH.js +25 -0
  349. package/dist/cli-bundle/chunks/update-6YEHPVXH.js.map +1 -0
  350. package/dist/cli-bundle/chunks/update-PYLVHMRD.js +21 -0
  351. package/dist/cli-bundle/chunks/{update-many-46HRSP2Q.js → update-many-322CCH2L.js} +78 -146
  352. package/dist/cli-bundle/chunks/update-many-322CCH2L.js.map +7 -0
  353. package/dist/cli-bundle/chunks/update-many-DYWGW57M.js +605 -0
  354. package/dist/cli-bundle/chunks/update-many-DYWGW57M.js.map +1 -0
  355. package/dist/cli-bundle/chunks/{upgrade-H5HHM5UV.js → upgrade-2U727SAM.js} +5 -7
  356. package/dist/cli-bundle/chunks/{upgrade-H5HHM5UV.js.map → upgrade-2U727SAM.js.map} +1 -1
  357. package/dist/cli-bundle/chunks/upgrade-3W3RVSNM.js +266 -0
  358. package/dist/cli-bundle/chunks/upgrade-3W3RVSNM.js.map +1 -0
  359. package/dist/cli-bundle/chunks/validate-GZ24NYHO.js +1120 -0
  360. package/dist/cli-bundle/chunks/validate-GZ24NYHO.js.map +1 -0
  361. package/dist/cli-bundle/chunks/{validate-TMCVKIGZ.js → validate-ZFVWPEEN.js} +61 -48
  362. package/dist/cli-bundle/chunks/validate-ZFVWPEEN.js.map +7 -0
  363. package/dist/cli-bundle/main.js +490 -52
  364. package/dist/cli-bundle/main.js.map +2 -2
  365. package/dist/core/checkpoint/mutation-checkpoint.d.ts +44 -0
  366. package/dist/core/checkpoint/mutation-checkpoint.js +119 -0
  367. package/dist/core/checkpoint/mutation-checkpoint.js.map +1 -0
  368. package/dist/core/config/positional-value.js +4 -2
  369. package/dist/core/config/positional-value.js.map +1 -1
  370. package/dist/core/diagnostics/remediation.d.ts +73 -0
  371. package/dist/core/diagnostics/remediation.js +328 -0
  372. package/dist/core/diagnostics/remediation.js.map +1 -0
  373. package/dist/core/extensions/extension-hook-runtime.js +9 -2
  374. package/dist/core/extensions/extension-hook-runtime.js.map +1 -1
  375. package/dist/core/extensions/extension-types.d.ts +60 -4
  376. package/dist/core/extensions/extension-types.js +2 -2
  377. package/dist/core/extensions/extension-types.js.map +1 -1
  378. package/dist/core/extensions/index.d.ts +5 -1
  379. package/dist/core/extensions/index.js +61 -2
  380. package/dist/core/extensions/index.js.map +1 -1
  381. package/dist/core/extensions/item-fields.d.ts +5 -1
  382. package/dist/core/extensions/item-fields.js +126 -4
  383. package/dist/core/extensions/item-fields.js.map +1 -1
  384. package/dist/core/extensions/loader.js +283 -8
  385. package/dist/core/extensions/loader.js.map +1 -1
  386. package/dist/core/item/item-format.d.ts +3 -2
  387. package/dist/core/item/item-format.js +15 -10
  388. package/dist/core/item/item-format.js.map +1 -1
  389. package/dist/core/item/status-filter.d.ts +29 -0
  390. package/dist/core/item/status-filter.js +97 -0
  391. package/dist/core/item/status-filter.js.map +1 -0
  392. package/dist/core/item/type-registry.js +4 -2
  393. package/dist/core/item/type-registry.js.map +1 -1
  394. package/dist/core/output/output.js +17 -5
  395. package/dist/core/output/output.js.map +1 -1
  396. package/dist/core/schema/item-types-file.d.ts +15 -0
  397. package/dist/core/schema/item-types-file.js +27 -2
  398. package/dist/core/schema/item-types-file.js.map +1 -1
  399. package/dist/core/schema/runtime-field-filters.js +4 -3
  400. package/dist/core/schema/runtime-field-filters.js.map +1 -1
  401. package/dist/core/schema/runtime-field-values.d.ts +1 -1
  402. package/dist/core/schema/runtime-field-values.js +10 -4
  403. package/dist/core/schema/runtime-field-values.js.map +1 -1
  404. package/dist/core/schema/runtime-schema.js +75 -2
  405. package/dist/core/schema/runtime-schema.js.map +1 -1
  406. package/dist/core/schema/status-defs-file.d.ts +113 -0
  407. package/dist/core/schema/status-defs-file.js +260 -0
  408. package/dist/core/schema/status-defs-file.js.map +1 -0
  409. package/dist/core/schema/type-workflows.d.ts +64 -0
  410. package/dist/core/schema/type-workflows.js +98 -0
  411. package/dist/core/schema/type-workflows.js.map +1 -0
  412. package/dist/core/search/cache.d.ts +3 -1
  413. package/dist/core/search/cache.js +104 -28
  414. package/dist/core/search/cache.js.map +1 -1
  415. package/dist/core/search/http-client.d.ts +2 -2
  416. package/dist/core/search/http-client.js +2 -2
  417. package/dist/core/search/http-client.js.map +1 -1
  418. package/dist/core/search/vector-stores.d.ts +1 -0
  419. package/dist/core/search/vector-stores.js +64 -14
  420. package/dist/core/search/vector-stores.js.map +1 -1
  421. package/dist/core/search/vectorization-metadata.d.ts +13 -0
  422. package/dist/core/search/vectorization-metadata.js +65 -0
  423. package/dist/core/search/vectorization-metadata.js.map +1 -0
  424. package/dist/core/shared/serialization.d.ts +1 -0
  425. package/dist/core/shared/serialization.js +86 -2
  426. package/dist/core/shared/serialization.js.map +1 -1
  427. package/dist/core/store/front-matter-cache.js +14 -5
  428. package/dist/core/store/front-matter-cache.js.map +1 -1
  429. package/dist/core/store/item-store.d.ts +2 -0
  430. package/dist/core/store/item-store.js +61 -6
  431. package/dist/core/store/item-store.js.map +1 -1
  432. package/dist/core/store/settings-validator.js +18 -2
  433. package/dist/core/store/settings-validator.js.map +1 -1
  434. package/dist/core/store/settings.js +40 -5
  435. package/dist/core/store/settings.js.map +1 -1
  436. package/dist/core/telemetry/consent.js +3 -3
  437. package/dist/core/telemetry/consent.js.map +1 -1
  438. package/dist/core/telemetry/observability.js +4 -3
  439. package/dist/core/telemetry/observability.js.map +1 -1
  440. package/dist/mcp/server.js +221 -12
  441. package/dist/mcp/server.js.map +1 -1
  442. package/dist/sdk/cli-contracts/commander-mutation-options.js +16 -2
  443. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  444. package/dist/sdk/cli-contracts/commander-types.js +7 -2
  445. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  446. package/dist/sdk/cli-contracts/enum-contracts.d.ts +2 -2
  447. package/dist/sdk/cli-contracts/enum-contracts.js +4 -2
  448. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  449. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +1 -0
  450. package/dist/sdk/cli-contracts/tool-option-contracts.js +53 -3
  451. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  452. package/dist/sdk/cli-contracts/tool-parameter-tables.js +35 -6
  453. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  454. package/dist/sdk/cli-contracts.d.ts +19 -1
  455. package/dist/sdk/cli-contracts.js +187 -15
  456. package/dist/sdk/cli-contracts.js.map +1 -1
  457. package/dist/sdk/errors.d.ts +22 -0
  458. package/dist/sdk/errors.js +46 -0
  459. package/dist/sdk/errors.js.map +1 -0
  460. package/dist/sdk/index.d.ts +2 -1
  461. package/dist/sdk/index.js +3 -2
  462. package/dist/sdk/index.js.map +1 -1
  463. package/dist/sdk/package-import-adapters.js +14 -3
  464. package/dist/sdk/package-import-adapters.js.map +1 -1
  465. package/dist/sdk/runtime.d.ts +1 -0
  466. package/dist/sdk/runtime.js +3 -2
  467. package/dist/sdk/runtime.js.map +1 -1
  468. package/dist/sdk/testing.d.ts +77 -0
  469. package/dist/sdk/testing.js +239 -0
  470. package/dist/sdk/testing.js.map +1 -0
  471. package/dist/types.d.ts +19 -0
  472. package/dist/types.js +3 -2
  473. package/dist/types.js.map +1 -1
  474. package/docs/AGENT_GUIDE.md +21 -2
  475. package/docs/COMMANDS.md +85 -5
  476. package/docs/CONFIGURATION.md +49 -2
  477. package/docs/EXTENSIONS.md +118 -6
  478. package/docs/QUICKSTART.md +2 -0
  479. package/docs/RELEASING.md +2 -2
  480. package/docs/SDK.md +273 -1
  481. package/docs/TESTING.md +17 -0
  482. package/docs/examples/policy-restricted-extension/manifest.json +1 -0
  483. package/docs/examples/starter-extension/index.js +9 -1
  484. package/docs/examples/starter-extension/manifest.json +1 -0
  485. package/package.json +12 -6
  486. package/packages/pm-beads/extensions/beads/index.js +2 -4
  487. package/packages/pm-beads/extensions/beads/index.ts +43 -33
  488. package/packages/pm-beads/extensions/beads/manifest.json +12 -1
  489. package/packages/pm-calendar/README.md +6 -0
  490. package/packages/pm-calendar/extensions/calendar/index.js +6 -1
  491. package/packages/pm-calendar/extensions/calendar/index.ts +6 -1
  492. package/packages/pm-calendar/extensions/calendar/manifest.json +6 -1
  493. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +6 -1
  494. package/packages/pm-guide-shell/README.md +4 -0
  495. package/packages/pm-guide-shell/extensions/guide-shell/index.js +22 -0
  496. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +22 -0
  497. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +6 -1
  498. package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +74 -3
  499. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +84 -4
  500. package/packages/pm-lifecycle-hooks/README.md +29 -0
  501. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.js +18 -0
  502. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.ts +20 -0
  503. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +9 -0
  504. package/packages/pm-lifecycle-hooks/package.json +52 -0
  505. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +13 -1
  506. package/packages/pm-search-advanced/extensions/search-advanced/index.js +69 -1
  507. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +91 -2
  508. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +13 -1
  509. package/packages/pm-templates/extensions/templates/manifest.json +6 -1
  510. package/packages/pm-todos/extensions/todos/index.js +3 -7
  511. package/packages/pm-todos/extensions/todos/index.ts +55 -42
  512. package/packages/pm-todos/extensions/todos/manifest.json +13 -1
  513. package/scripts/bundle-cli.mjs +121 -17
  514. package/dist/cli-bundle/chunks/activity-OWYSUZOY.js +0 -17
  515. package/dist/cli-bundle/chunks/chunk-3M73P3G6.js.map +0 -7
  516. package/dist/cli-bundle/chunks/chunk-4AEZR5EJ.js +0 -189
  517. package/dist/cli-bundle/chunks/chunk-4AEZR5EJ.js.map +0 -7
  518. package/dist/cli-bundle/chunks/chunk-5HSEP75M.js.map +0 -7
  519. package/dist/cli-bundle/chunks/chunk-6HT2F4TK.js.map +0 -7
  520. package/dist/cli-bundle/chunks/chunk-7Y53ZJIQ.js.map +0 -7
  521. package/dist/cli-bundle/chunks/chunk-BUPWJ3IJ.js.map +0 -7
  522. package/dist/cli-bundle/chunks/chunk-EGUGFSNX.js +0 -47
  523. package/dist/cli-bundle/chunks/chunk-EGUGFSNX.js.map +0 -7
  524. package/dist/cli-bundle/chunks/chunk-FM26RGSU.js +0 -56
  525. package/dist/cli-bundle/chunks/chunk-FM26RGSU.js.map +0 -7
  526. package/dist/cli-bundle/chunks/chunk-FQE6XZDB.js.map +0 -7
  527. package/dist/cli-bundle/chunks/chunk-GN7IJPCD.js.map +0 -7
  528. package/dist/cli-bundle/chunks/chunk-JTWRXG4B.js.map +0 -7
  529. package/dist/cli-bundle/chunks/chunk-JULRTHJQ.js.map +0 -7
  530. package/dist/cli-bundle/chunks/chunk-LSXGH6NE.js.map +0 -7
  531. package/dist/cli-bundle/chunks/chunk-MD7K4JYF.js.map +0 -7
  532. package/dist/cli-bundle/chunks/chunk-OGZEG5TT.js.map +0 -7
  533. package/dist/cli-bundle/chunks/chunk-P53TN6IA.js.map +0 -7
  534. package/dist/cli-bundle/chunks/chunk-PXUAZUUY.js.map +0 -7
  535. package/dist/cli-bundle/chunks/chunk-U7FMKRXH.js.map +0 -7
  536. package/dist/cli-bundle/chunks/chunk-VGICHR7D.js +0 -141
  537. package/dist/cli-bundle/chunks/chunk-VGICHR7D.js.map +0 -7
  538. package/dist/cli-bundle/chunks/chunk-WDPXDQFG.js.map +0 -7
  539. package/dist/cli-bundle/chunks/close-XY4CSAYF.js +0 -14
  540. package/dist/cli-bundle/chunks/config-V3FZOKLI.js.map +0 -7
  541. package/dist/cli-bundle/chunks/contracts-YLMH33VU.js.map +0 -7
  542. package/dist/cli-bundle/chunks/create-PZVHRIZQ.js +0 -28
  543. package/dist/cli-bundle/chunks/get-LTK3HOCQ.js.map +0 -7
  544. package/dist/cli-bundle/chunks/health-TCWL55KM.js.map +0 -7
  545. package/dist/cli-bundle/chunks/history-A2JUDXUE.js +0 -21
  546. package/dist/cli-bundle/chunks/history-redact-ED6RFCPL.js +0 -20
  547. package/dist/cli-bundle/chunks/init-M2WUB4YH.js +0 -16
  548. package/dist/cli-bundle/chunks/list-OGWQPC26.js +0 -20
  549. package/dist/cli-bundle/chunks/register-list-query-UP3VRUFS.js.map +0 -7
  550. package/dist/cli-bundle/chunks/register-mutation-YWSBF545.js.map +0 -7
  551. package/dist/cli-bundle/chunks/register-operations-3BDTGSDH.js.map +0 -7
  552. package/dist/cli-bundle/chunks/restore-MB2ISME7.js +0 -18
  553. package/dist/cli-bundle/chunks/schema-Q622KC46.js +0 -119
  554. package/dist/cli-bundle/chunks/schema-Q622KC46.js.map +0 -7
  555. package/dist/cli-bundle/chunks/search-HENBL456.js.map +0 -7
  556. package/dist/cli-bundle/chunks/test-VNBDRJ4Z.js +0 -32
  557. package/dist/cli-bundle/chunks/update-H6SCWNMA.js +0 -22
  558. package/dist/cli-bundle/chunks/update-many-46HRSP2Q.js.map +0 -7
  559. package/dist/cli-bundle/chunks/validate-TMCVKIGZ.js.map +0 -7
  560. /package/dist/cli-bundle/chunks/{activity-OWYSUZOY.js.map → activity-P5BUMWP3.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{aggregate-ADUOSFRO.js.map → aggregate-OOAGKWRG.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{chunk-G57E5D7T.js.map → chunk-ATBVS6WW.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{chunk-KBQY3YG5.js.map → chunk-BNL6S7QH.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{chunk-NGN7UV5K.js.map → chunk-CJDQB2ED.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{chunk-D7AOMPRH.js.map → chunk-D3WUNETC.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{chunk-L2FXEKDB.js.map → chunk-JB4RGL4V.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{chunk-SEXQN4KL.js.map → chunk-K47WAYQV.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{chunk-CEFIVZPG.js.map → chunk-KA24HME7.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{chunk-A7E7PUVX.js.map → chunk-LDJK7SHN.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{chunk-PVNQLCIS.js.map → chunk-RANZIID5.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{chunk-JFWUHHS2.js.map → chunk-S3CV7JGJ.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{chunk-LRBOHPUE.js.map → chunk-WIKR7KFL.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{chunk-AKOOMO3T.js.map → chunk-XX5LRINW.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{chunk-WJ2NAC37.js.map → chunk-Y2AKE2HS.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{close-XY4CSAYF.js.map → close-RMHQ3KWH.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{create-PZVHRIZQ.js.map → create-ATONSAZW.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{extension-B4WL7BQU.js.map → extension-G6UXSM5S.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{gc-JWNF66EC.js.map → gc-QNBRJG6H.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{history-A2JUDXUE.js.map → history-6FC4H6HI.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{history-redact-ED6RFCPL.js.map → history-redact-XKYEZDBL.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{init-M2WUB4YH.js.map → init-KHX3FEEM.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{list-OGWQPC26.js.map → list-53LZ2AEO.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{restore-MB2ISME7.js.map → restore-JL5QIH7H.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{test-VNBDRJ4Z.js.map → test-RJ4ZF35X.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{test-runs-GX5HTPSF.js.map → test-runs-L2M7WKH7.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{update-H6SCWNMA.js.map → update-PYLVHMRD.js.map} +0 -0
@@ -7,6 +7,8 @@ First-party package that restores optional guide and shell-completion UX in bare
7
7
  - `pm guide [topic]`
8
8
  - `pm completion [bash|zsh|fish]`
9
9
  - `pm completion-tags`
10
+ - `pm completion-statuses`
11
+ - `pm completion-types`
10
12
 
11
13
  ## Install
12
14
 
@@ -20,4 +22,6 @@ pm install guide-shell --project
20
22
  pm guide --list --json
21
23
  pm completion bash
22
24
  pm completion-tags
25
+ pm completion-statuses
26
+ pm completion-types
23
27
  ```
@@ -1,7 +1,9 @@
1
1
  import {
2
2
  renderGuideShellPackageOutput,
3
3
  runCompletionPackage,
4
+ runCompletionStatusesPackage,
4
5
  runCompletionTagsPackage,
6
+ runCompletionTypesPackage,
5
7
  runGuidePackage,
6
8
  } from "./runtime.js";
7
9
 
@@ -60,10 +62,30 @@ function completionTagsCommand() {
60
62
  };
61
63
  }
62
64
 
65
+ function completionStatusesCommand() {
66
+ return {
67
+ name: "completion-statuses",
68
+ action: "completion-statuses",
69
+ description: "Print runtime status IDs for completion filters.",
70
+ run: async (context) => runCompletionStatusesPackage(context.global),
71
+ };
72
+ }
73
+
74
+ function completionTypesCommand() {
75
+ return {
76
+ name: "completion-types",
77
+ action: "completion-types",
78
+ description: "Print runtime item type IDs for completion filters.",
79
+ run: async (context) => runCompletionTypesPackage(context.global),
80
+ };
81
+ }
82
+
63
83
  export function activate(api) {
64
84
  api.registerCommand(guideCommand());
65
85
  api.registerCommand(completionCommand());
66
86
  api.registerCommand(completionTagsCommand());
87
+ api.registerCommand(completionStatusesCommand());
88
+ api.registerCommand(completionTypesCommand());
67
89
  api.registerService("output_format", (context) => {
68
90
  const rendered = renderGuideShellPackageOutput(context);
69
91
  return rendered ?? null;
@@ -6,7 +6,9 @@ import type {
6
6
  import {
7
7
  renderGuideShellPackageOutput,
8
8
  runCompletionPackage,
9
+ runCompletionStatusesPackage,
9
10
  runCompletionTagsPackage,
11
+ runCompletionTypesPackage,
10
12
  runGuidePackage,
11
13
  } from "./runtime.js";
12
14
 
@@ -65,10 +67,30 @@ function completionTagsCommand(): CommandDefinition {
65
67
  };
66
68
  }
67
69
 
70
+ function completionStatusesCommand(): CommandDefinition {
71
+ return {
72
+ name: "completion-statuses",
73
+ action: "completion-statuses",
74
+ description: "Print runtime status IDs for completion filters.",
75
+ run: async (context) => runCompletionStatusesPackage(context.global),
76
+ };
77
+ }
78
+
79
+ function completionTypesCommand(): CommandDefinition {
80
+ return {
81
+ name: "completion-types",
82
+ action: "completion-types",
83
+ description: "Print runtime item type IDs for completion filters.",
84
+ run: async (context) => runCompletionTypesPackage(context.global),
85
+ };
86
+ }
87
+
68
88
  export function activate(api: ExtensionApi): void {
69
89
  api.registerCommand(guideCommand());
70
90
  api.registerCommand(completionCommand());
71
91
  api.registerCommand(completionTagsCommand());
92
+ api.registerCommand(completionStatusesCommand());
93
+ api.registerCommand(completionTypesCommand());
72
94
  api.registerService("output_format", (context) => {
73
95
  const rendered = renderGuideShellPackageOutput(context as ServiceOverrideContext);
74
96
  return rendered ?? null;
@@ -3,5 +3,10 @@
3
3
  "version": "0.1.0",
4
4
  "entry": "./index.js",
5
5
  "priority": 0,
6
- "capabilities": ["commands", "schema", "services"]
6
+ "capabilities": ["commands", "schema", "services"],
7
+ "manifest_version": 1,
8
+ "pm_min_version": "2026.5.0",
9
+ "activation": {
10
+ "commands": ["completion", "completion-statuses", "completion-tags", "completion-types", "guide"]
11
+ }
7
12
  }
@@ -79,12 +79,38 @@ function normalizeCompletionOptions(bundle, args, options) {
79
79
  };
80
80
  }
81
81
 
82
+ function collectTypeNames(typeRegistry) {
83
+ const candidates = Array.isArray(typeRegistry.types)
84
+ ? typeRegistry.types
85
+ : Array.isArray(typeRegistry.definitions)
86
+ ? typeRegistry.definitions
87
+ .filter((definition) => Boolean(definition))
88
+ .map((definition) => definition.name)
89
+ : [];
90
+ return [...new Set(candidates.filter((value) => typeof value === "string" && value.trim().length > 0))]
91
+ .sort((left, right) => left.localeCompare(right));
92
+ }
93
+
94
+ function collectTypeToFolder(typeRegistry) {
95
+ if (typeof typeRegistry.type_to_folder === "object" && typeRegistry.type_to_folder !== null) {
96
+ return typeRegistry.type_to_folder;
97
+ }
98
+ return Object.fromEntries(
99
+ (typeRegistry.definitions ?? [])
100
+ .filter((definition) => Boolean(definition?.name && definition?.folder))
101
+ .map((definition) => [definition.name, definition.folder]),
102
+ );
103
+ }
104
+
82
105
  async function buildCompletionRuntimeConfig(bundle, global) {
83
106
  const pmRoot = bundle.sdk.resolvePmRoot(process.cwd(), global.path);
84
107
  if (!(await bundle.sdk.pathExists(bundle.sdk.getSettingsPath(pmRoot)))) {
85
108
  return {};
86
109
  }
87
110
  const settings = await bundle.sdk.readSettings(pmRoot);
111
+ const registrations = bundle.sdk.getActiveExtensionRegistrations();
112
+ const typeRegistry = bundle.sdk.resolveItemTypeRegistry(settings, registrations);
113
+ const itemTypes = collectTypeNames(typeRegistry);
88
114
  const schema = settings.schema;
89
115
  const statuses = bundle.sdk.resolveRuntimeStatusRegistry(schema).definitions
90
116
  .map((definition) => definition.id)
@@ -108,6 +134,7 @@ async function buildCompletionRuntimeConfig(bundle, global) {
108
134
  }
109
135
  }
110
136
  return {
137
+ item_types: itemTypes.length > 0 ? itemTypes : undefined,
111
138
  statuses: statuses.length > 0 ? statuses : undefined,
112
139
  command_flags: Object.keys(commandFlags).length > 0 ? commandFlags : undefined,
113
140
  };
@@ -170,9 +197,7 @@ export async function runCompletionTagsPackage(global) {
170
197
  const settings = await bundle.sdk.readSettings(pmRoot);
171
198
  const registrations = bundle.sdk.getActiveExtensionRegistrations();
172
199
  const typeRegistry = bundle.sdk.resolveItemTypeRegistry(settings, registrations);
173
- const typeToFolder = Object.fromEntries(
174
- typeRegistry.definitions.map((definition) => [definition.name, definition.folder]),
175
- );
200
+ const typeToFolder = collectTypeToFolder(typeRegistry);
176
201
  const schema = settings.schema;
177
202
  const itemFormat = settings.item_format === "json_markdown" ? "json_markdown" : "toon";
178
203
  const items = await bundle.sdk.listAllFrontMatter(pmRoot, itemFormat, typeToFolder, undefined, schema);
@@ -183,6 +208,34 @@ export async function runCompletionTagsPackage(global) {
183
208
  };
184
209
  }
185
210
 
211
+ export async function runCompletionStatusesPackage(global) {
212
+ const bundle = await ensureRuntimeBundle();
213
+ const pmRoot = bundle.sdk.resolvePmRoot(process.cwd(), global.path);
214
+ const settings = await bundle.sdk.readSettings(pmRoot);
215
+ const schema = settings.schema;
216
+ const statuses = bundle.sdk.resolveRuntimeStatusRegistry(schema).definitions
217
+ .map((definition) => definition.id)
218
+ .filter((status) => typeof status === "string" && status.trim().length > 0)
219
+ .sort((left, right) => left.localeCompare(right));
220
+ return {
221
+ statuses,
222
+ count: statuses.length,
223
+ };
224
+ }
225
+
226
+ export async function runCompletionTypesPackage(global) {
227
+ const bundle = await ensureRuntimeBundle();
228
+ const pmRoot = bundle.sdk.resolvePmRoot(process.cwd(), global.path);
229
+ const settings = await bundle.sdk.readSettings(pmRoot);
230
+ const registrations = bundle.sdk.getActiveExtensionRegistrations();
231
+ const typeRegistry = bundle.sdk.resolveItemTypeRegistry(settings, registrations);
232
+ const types = collectTypeNames(typeRegistry);
233
+ return {
234
+ types,
235
+ count: types.length,
236
+ };
237
+ }
238
+
186
239
  export function renderGuideShellPackageOutput(context) {
187
240
  if (!runtimeBundle) {
188
241
  return null;
@@ -219,5 +272,23 @@ export function renderGuideShellPackageOutput(context) {
219
272
  : [];
220
273
  return `${tags.join(" ")}\n`;
221
274
  }
275
+ if (context.command === "completion-statuses") {
276
+ if (readPayloadFormat(context.payload) === "json") {
277
+ return `${JSON.stringify(result, null, 2)}\n`;
278
+ }
279
+ const statuses = typeof result === "object" && result !== null && Array.isArray(result.statuses)
280
+ ? result.statuses.filter((entry) => typeof entry === "string")
281
+ : [];
282
+ return `${statuses.join(" ")}\n`;
283
+ }
284
+ if (context.command === "completion-types") {
285
+ if (readPayloadFormat(context.payload) === "json") {
286
+ return `${JSON.stringify(result, null, 2)}\n`;
287
+ }
288
+ const types = typeof result === "object" && result !== null && Array.isArray(result.types)
289
+ ? result.types.filter((entry) => typeof entry === "string")
290
+ : [];
291
+ return `${types.join(" ")}\n`;
292
+ }
222
293
  return null;
223
294
  }
@@ -14,6 +14,7 @@ interface RuntimeSdkModule {
14
14
  tags?: string[],
15
15
  eagerTagExpansion?: boolean,
16
16
  runtime?: {
17
+ item_types?: string[];
17
18
  statuses?: string[];
18
19
  command_flags?: Partial<Record<"list" | "create" | "update" | "update-many" | "search" | "calendar" | "context", string[]>>;
19
20
  },
@@ -26,7 +27,14 @@ interface RuntimeSdkModule {
26
27
  getSettingsPath: (pmRoot: string) => string;
27
28
  resolvePmRoot: (cwd: string, overridePath?: string) => string;
28
29
  readSettings: (pmRoot: string) => Promise<Record<string, unknown>>;
29
- resolveItemTypeRegistry: (settings: unknown, registrations: unknown) => { definitions: Array<{ name: string; folder: string }> };
30
+ resolveItemTypeRegistry: (
31
+ settings: unknown,
32
+ registrations: unknown,
33
+ ) => {
34
+ types?: string[];
35
+ definitions?: Array<{ name: string; folder: string }>;
36
+ type_to_folder?: Record<string, string>;
37
+ };
30
38
  resolveRuntimeStatusRegistry: (schema: unknown) => { definitions: Array<{ id: string }> };
31
39
  resolveRuntimeFieldRegistry: (schema: unknown) => {
32
40
  command_to_fields: Map<string, Array<{ cli_flag: string }>>;
@@ -134,10 +142,34 @@ function normalizeCompletionOptions(bundle: RuntimeBundle, args: string[], optio
134
142
  };
135
143
  }
136
144
 
145
+ function collectTypeNames(typeRegistry: ReturnType<RuntimeSdkModule["resolveItemTypeRegistry"]>): string[] {
146
+ const candidates = Array.isArray(typeRegistry.types)
147
+ ? typeRegistry.types
148
+ : Array.isArray(typeRegistry.definitions)
149
+ ? typeRegistry.definitions
150
+ .filter((definition) => Boolean(definition))
151
+ .map((definition) => definition.name)
152
+ : [];
153
+ return [...new Set(candidates.filter((value): value is string => typeof value === "string" && value.trim().length > 0))]
154
+ .sort((left, right) => left.localeCompare(right));
155
+ }
156
+
157
+ function collectTypeToFolder(typeRegistry: ReturnType<RuntimeSdkModule["resolveItemTypeRegistry"]>): Record<string, string> {
158
+ if (typeof typeRegistry.type_to_folder === "object" && typeRegistry.type_to_folder !== null) {
159
+ return typeRegistry.type_to_folder;
160
+ }
161
+ return Object.fromEntries(
162
+ (typeRegistry.definitions ?? [])
163
+ .filter((definition) => Boolean(definition?.name && definition?.folder))
164
+ .map((definition) => [definition.name, definition.folder]),
165
+ );
166
+ }
167
+
137
168
  async function buildCompletionRuntimeConfig(
138
169
  bundle: RuntimeBundle,
139
170
  global: GlobalOptions,
140
171
  ): Promise<{
172
+ item_types?: string[];
141
173
  statuses?: string[];
142
174
  command_flags?: Partial<Record<"list" | "create" | "update" | "update-many" | "search" | "calendar" | "context", string[]>>;
143
175
  }> {
@@ -146,6 +178,9 @@ async function buildCompletionRuntimeConfig(
146
178
  return {};
147
179
  }
148
180
  const settings = await bundle.sdk.readSettings(pmRoot);
181
+ const registrations = bundle.sdk.getActiveExtensionRegistrations();
182
+ const typeRegistry = bundle.sdk.resolveItemTypeRegistry(settings, registrations);
183
+ const itemTypes = collectTypeNames(typeRegistry);
149
184
  const schema = (settings as { schema?: unknown }).schema;
150
185
  const statuses = bundle.sdk.resolveRuntimeStatusRegistry(schema).definitions
151
186
  .map((definition) => definition.id)
@@ -169,6 +204,7 @@ async function buildCompletionRuntimeConfig(
169
204
  }
170
205
  }
171
206
  return {
207
+ item_types: itemTypes.length > 0 ? itemTypes : undefined,
172
208
  statuses: statuses.length > 0 ? statuses : undefined,
173
209
  command_flags: Object.keys(commandFlags).length > 0 ? commandFlags : undefined,
174
210
  };
@@ -239,9 +275,7 @@ export async function runCompletionTagsPackage(global: GlobalOptions): Promise<{
239
275
  const settings = await bundle.sdk.readSettings(pmRoot);
240
276
  const registrations = bundle.sdk.getActiveExtensionRegistrations();
241
277
  const typeRegistry = bundle.sdk.resolveItemTypeRegistry(settings, registrations);
242
- const typeToFolder = Object.fromEntries(
243
- typeRegistry.definitions.map((definition) => [definition.name, definition.folder]),
244
- );
278
+ const typeToFolder = collectTypeToFolder(typeRegistry);
245
279
  const schema = (settings as { schema?: unknown }).schema;
246
280
  const itemFormat = ((settings as { item_format?: unknown }).item_format === "json_markdown" ? "json_markdown" : "toon") as
247
281
  | "toon"
@@ -254,6 +288,34 @@ export async function runCompletionTagsPackage(global: GlobalOptions): Promise<{
254
288
  };
255
289
  }
256
290
 
291
+ export async function runCompletionStatusesPackage(global: GlobalOptions): Promise<{ statuses: string[]; count: number }> {
292
+ const bundle = await ensureRuntimeBundle();
293
+ const pmRoot = bundle.sdk.resolvePmRoot(process.cwd(), global.path);
294
+ const settings = await bundle.sdk.readSettings(pmRoot);
295
+ const schema = (settings as { schema?: unknown }).schema;
296
+ const statuses = bundle.sdk.resolveRuntimeStatusRegistry(schema).definitions
297
+ .map((definition) => definition.id)
298
+ .filter((status) => typeof status === "string" && status.trim().length > 0)
299
+ .sort((left, right) => left.localeCompare(right));
300
+ return {
301
+ statuses,
302
+ count: statuses.length,
303
+ };
304
+ }
305
+
306
+ export async function runCompletionTypesPackage(global: GlobalOptions): Promise<{ types: string[]; count: number }> {
307
+ const bundle = await ensureRuntimeBundle();
308
+ const pmRoot = bundle.sdk.resolvePmRoot(process.cwd(), global.path);
309
+ const settings = await bundle.sdk.readSettings(pmRoot);
310
+ const registrations = bundle.sdk.getActiveExtensionRegistrations();
311
+ const typeRegistry = bundle.sdk.resolveItemTypeRegistry(settings, registrations);
312
+ const types = collectTypeNames(typeRegistry);
313
+ return {
314
+ types,
315
+ count: types.length,
316
+ };
317
+ }
318
+
257
319
  export function renderGuideShellPackageOutput(context: ServiceOverrideContext): string | null {
258
320
  if (!runtimeBundle) {
259
321
  return null;
@@ -290,5 +352,23 @@ export function renderGuideShellPackageOutput(context: ServiceOverrideContext):
290
352
  : [];
291
353
  return `${tags.join(" ")}\n`;
292
354
  }
355
+ if (context.command === "completion-statuses") {
356
+ if (readPayloadFormat(context.payload) === "json") {
357
+ return `${JSON.stringify(result, null, 2)}\n`;
358
+ }
359
+ const statuses = typeof result === "object" && result !== null && Array.isArray((result as { statuses?: unknown }).statuses)
360
+ ? ((result as { statuses: unknown[] }).statuses.filter((entry): entry is string => typeof entry === "string"))
361
+ : [];
362
+ return `${statuses.join(" ")}\n`;
363
+ }
364
+ if (context.command === "completion-types") {
365
+ if (readPayloadFormat(context.payload) === "json") {
366
+ return `${JSON.stringify(result, null, 2)}\n`;
367
+ }
368
+ const types = typeof result === "object" && result !== null && Array.isArray((result as { types?: unknown }).types)
369
+ ? ((result as { types: unknown[] }).types.filter((entry): entry is string => typeof entry === "string"))
370
+ : [];
371
+ return `${types.join(" ")}\n`;
372
+ }
293
373
  return null;
294
374
  }
@@ -0,0 +1,29 @@
1
+ # pm-lifecycle-hooks
2
+
3
+ First-party package that demonstrates lifecycle hook registration through the
4
+ public pm SDK.
5
+
6
+ This package is intentionally default-inert. Its `afterCommand` hook returns
7
+ without producing output, writing files, or changing command behavior. Package
8
+ authors can copy this shape when they need low-risk observation hooks.
9
+
10
+ Transition-aware packages can inspect `afterCommand`'s optional `affected`
11
+ entries for item mutations. Each entry includes the item id, operation,
12
+ previous/current status, changed fields, and compact front matter snapshots.
13
+
14
+ ## Capabilities
15
+
16
+ - `hooks`
17
+
18
+ ## Install
19
+
20
+ ```bash
21
+ pm install lifecycle-hooks --project
22
+ ```
23
+
24
+ ## Verify
25
+
26
+ ```bash
27
+ pm package doctor --project --detail deep --json
28
+ pm contracts --runtime-only --availability-only --json
29
+ ```
@@ -0,0 +1,18 @@
1
+ export const manifest = {
2
+ name: "builtin-lifecycle-hooks",
3
+ version: "0.1.0",
4
+ entry: "./index.js",
5
+ priority: 0,
6
+ capabilities: ["hooks"],
7
+ };
8
+
9
+ export function activate(api) {
10
+ // First-party hooks exemplar: default-inert lifecycle observation with no
11
+ // output, writes, or command-specific behavior.
12
+ api.hooks.afterCommand(() => undefined);
13
+ }
14
+
15
+ export default {
16
+ manifest,
17
+ activate,
18
+ };
@@ -0,0 +1,20 @@
1
+ import type { ExtensionApi } from "../../../../src/sdk/index.js";
2
+
3
+ export const manifest = {
4
+ name: "builtin-lifecycle-hooks",
5
+ version: "0.1.0",
6
+ entry: "./index.js",
7
+ priority: 0,
8
+ capabilities: ["hooks"],
9
+ };
10
+
11
+ export function activate(api: ExtensionApi): void {
12
+ // First-party hooks exemplar: default-inert lifecycle observation with no
13
+ // output, writes, or command-specific behavior.
14
+ api.hooks.afterCommand(() => undefined);
15
+ }
16
+
17
+ export default {
18
+ manifest,
19
+ activate,
20
+ };
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "builtin-lifecycle-hooks",
3
+ "version": "0.1.0",
4
+ "entry": "./index.js",
5
+ "priority": 0,
6
+ "capabilities": ["hooks"],
7
+ "manifest_version": 1,
8
+ "pm_min_version": "2026.5.0"
9
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@unbrained/pm-lifecycle-hooks",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "description": "First-party pm package demonstrating safe lifecycle hook registration.",
7
+ "homepage": "https://github.com/unbraind/pm-cli/tree/main/packages/pm-lifecycle-hooks#readme",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/unbraind/pm-cli.git",
11
+ "directory": "packages/pm-lifecycle-hooks"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/unbraind/pm-cli/issues"
15
+ },
16
+ "keywords": [
17
+ "pm-package",
18
+ "project-management",
19
+ "hooks",
20
+ "lifecycle",
21
+ "sdk"
22
+ ],
23
+ "pm": {
24
+ "aliases": [
25
+ "lifecycle-hooks"
26
+ ],
27
+ "extensions": [
28
+ "extensions/lifecycle-hooks"
29
+ ],
30
+ "catalog": {
31
+ "display_name": "Lifecycle Hooks",
32
+ "category": "sdk",
33
+ "summary": "Default-inert lifecycle hook exemplar for package authors.",
34
+ "tags": [
35
+ "hooks",
36
+ "lifecycle",
37
+ "sdk"
38
+ ],
39
+ "links": {
40
+ "docs": "https://github.com/unbraind/pm-cli/tree/main/packages/pm-lifecycle-hooks#readme",
41
+ "repository": "https://github.com/unbraind/pm-cli/tree/main/packages/pm-lifecycle-hooks",
42
+ "report": "https://github.com/unbraind/pm-cli/issues"
43
+ }
44
+ },
45
+ "docs": [
46
+ "README.md"
47
+ ],
48
+ "examples": [
49
+ "README.md"
50
+ ]
51
+ }
52
+ }
@@ -3,5 +3,17 @@
3
3
  "version": "0.1.0",
4
4
  "entry": "./index.js",
5
5
  "priority": 0,
6
- "capabilities": ["commands", "schema"]
6
+ "capabilities": ["commands", "schema"],
7
+ "manifest_version": 1,
8
+ "pm_min_version": "2026.5.0",
9
+ "activation": {
10
+ "commands": [
11
+ "test-runs",
12
+ "test-runs list",
13
+ "test-runs logs",
14
+ "test-runs resume",
15
+ "test-runs status",
16
+ "test-runs stop"
17
+ ]
18
+ }
7
19
  }
@@ -5,9 +5,76 @@ export const manifest = {
5
5
  version: "0.1.0",
6
6
  entry: "./index.js",
7
7
  priority: 0,
8
- capabilities: ["commands", "schema"],
8
+ capabilities: ["commands", "schema", "search"],
9
9
  };
10
10
 
11
+ export const SEARCH_ADVANCED_LOCAL_PROVIDER = "search-advanced-local";
12
+
13
+ const SEARCH_FIELD_WEIGHTS = { title: 3, tags: 2, description: 1 };
14
+
15
+ function tokenizeSearchText(value) {
16
+ // Unicode-aware: keep letters/numbers from any script (é, ü, CJK, Cyrillic, ...)
17
+ // so the provider works for non-English/multilingual corpora.
18
+ return value.toLowerCase().match(/[\p{L}\p{N}]+/gu) ?? [];
19
+ }
20
+
21
+ function scoreDocumentForQuery(queryTokens, document) {
22
+ const metadata = document?.metadata;
23
+ // A non-string id would crash hits.sort()'s localeCompare; treat as unscoreable.
24
+ if (!metadata || typeof metadata.id !== "string") {
25
+ return { score: 0, matched_fields: [] };
26
+ }
27
+ const fields = [
28
+ { field: "title", tokens: tokenizeSearchText(typeof metadata.title === "string" ? metadata.title : "") },
29
+ {
30
+ field: "tags",
31
+ tokens: Array.isArray(metadata.tags)
32
+ ? metadata.tags.flatMap((tag) => (tag == null ? [] : tokenizeSearchText(String(tag))))
33
+ : [],
34
+ },
35
+ {
36
+ field: "description",
37
+ tokens: tokenizeSearchText(typeof metadata.description === "string" ? metadata.description : ""),
38
+ },
39
+ ];
40
+ let score = 0;
41
+ const matched = [];
42
+ for (const { field, tokens } of fields) {
43
+ const available = new Set(tokens);
44
+ let fieldMatches = 0;
45
+ for (const queryToken of queryTokens) {
46
+ if (available.has(queryToken)) {
47
+ fieldMatches += 1;
48
+ }
49
+ }
50
+ if (fieldMatches > 0) {
51
+ score += fieldMatches * SEARCH_FIELD_WEIGHTS[field];
52
+ matched.push(field);
53
+ }
54
+ }
55
+ return { score, matched_fields: matched };
56
+ }
57
+
58
+ export function searchAdvancedLocalProvider() {
59
+ return {
60
+ name: SEARCH_ADVANCED_LOCAL_PROVIDER,
61
+ query(context) {
62
+ const queryTokens = tokenizeSearchText(context.query);
63
+ if (queryTokens.length === 0) {
64
+ return [];
65
+ }
66
+ const hits = [];
67
+ for (const document of context.documents) {
68
+ const { score, matched_fields } = scoreDocumentForQuery(queryTokens, document);
69
+ if (score > 0) {
70
+ hits.push({ id: document.metadata.id, score, matched_fields });
71
+ }
72
+ }
73
+ return hits.sort((left, right) => right.score - left.score || left.id.localeCompare(right.id));
74
+ },
75
+ };
76
+ }
77
+
11
78
  const searchAdvancedFlags = [
12
79
  {
13
80
  long: "--mode",
@@ -159,6 +226,7 @@ export function activate(api) {
159
226
  api.registerFlags("search-advanced", [...searchAdvancedFlags]);
160
227
  api.registerCommand(searchAdvancedCommand());
161
228
  api.registerCommand(reindexCommand());
229
+ api.registerSearchProvider(searchAdvancedLocalProvider());
162
230
  }
163
231
 
164
232
  export default {