@unbrained/pm-cli 2026.6.10 → 2026.6.12

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 (456) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +44 -0
  3. package/README.md +1 -1
  4. package/dist/cli/bootstrap-args.d.ts +11 -0
  5. package/dist/cli/bootstrap-args.js +88 -4
  6. package/dist/cli/bootstrap-args.js.map +1 -1
  7. package/dist/cli/commands/completion.js +20 -8
  8. package/dist/cli/commands/completion.js.map +1 -1
  9. package/dist/cli/commands/contracts.d.ts +2 -0
  10. package/dist/cli/commands/contracts.js +9 -2
  11. package/dist/cli/commands/contracts.js.map +1 -1
  12. package/dist/cli/commands/create.js +6 -3
  13. package/dist/cli/commands/create.js.map +1 -1
  14. package/dist/cli/commands/docs.d.ts +2 -0
  15. package/dist/cli/commands/docs.js +2 -2
  16. package/dist/cli/commands/docs.js.map +1 -1
  17. package/dist/cli/commands/files.d.ts +2 -0
  18. package/dist/cli/commands/files.js +2 -2
  19. package/dist/cli/commands/files.js.map +1 -1
  20. package/dist/cli/commands/health.d.ts +1 -1
  21. package/dist/cli/commands/health.js +77 -2
  22. package/dist/cli/commands/health.js.map +1 -1
  23. package/dist/cli/commands/history-repair.d.ts +36 -0
  24. package/dist/cli/commands/history-repair.js +68 -3
  25. package/dist/cli/commands/history-repair.js.map +1 -1
  26. package/dist/cli/commands/index.d.ts +1 -1
  27. package/dist/cli/commands/index.js +3 -3
  28. package/dist/cli/commands/index.js.map +1 -1
  29. package/dist/cli/commands/linked-artifacts.d.ts +18 -0
  30. package/dist/cli/commands/linked-artifacts.js +26 -3
  31. package/dist/cli/commands/linked-artifacts.js.map +1 -1
  32. package/dist/cli/commands/plan.d.ts +6 -0
  33. package/dist/cli/commands/plan.js +93 -32
  34. package/dist/cli/commands/plan.js.map +1 -1
  35. package/dist/cli/commands/validate.d.ts +20 -0
  36. package/dist/cli/commands/validate.js +292 -28
  37. package/dist/cli/commands/validate.js.map +1 -1
  38. package/dist/cli/error-guidance.d.ts +8 -0
  39. package/dist/cli/error-guidance.js +102 -2
  40. package/dist/cli/error-guidance.js.map +1 -1
  41. package/dist/cli/help-content.js +7 -3
  42. package/dist/cli/help-content.js.map +1 -1
  43. package/dist/cli/register-mutation.js +47 -16
  44. package/dist/cli/register-mutation.js.map +1 -1
  45. package/dist/cli/register-operations.js +10 -2
  46. package/dist/cli/register-operations.js.map +1 -1
  47. package/dist/cli/register-setup.js +16 -16
  48. package/dist/cli/register-setup.js.map +1 -1
  49. package/dist/cli-bundle/chunks/{activity-W6TS5F2L.js → activity-XADJOG6G.js} +11 -11
  50. package/dist/cli-bundle/chunks/activity-XZIUPGZH.js +16 -0
  51. package/dist/cli-bundle/chunks/{aggregate-UK2WJ4Z3.js → aggregate-6OTS3AOO.js} +10 -10
  52. package/dist/cli-bundle/chunks/{aggregate-NNJLKGEK.js → aggregate-OD36DJU5.js} +10 -10
  53. package/dist/cli-bundle/chunks/{append-DHGTLUZW.js → append-JYWO4P7W.js} +8 -8
  54. package/dist/cli-bundle/chunks/{append-7BS36Z2L.js → append-KG55G7S3.js} +8 -8
  55. package/dist/cli-bundle/chunks/{chunk-GF5XIBUH.js → chunk-35P4GT6E.js} +111 -10
  56. package/dist/cli-bundle/chunks/chunk-35P4GT6E.js.map +7 -0
  57. package/dist/cli-bundle/chunks/{chunk-A6XVYNQJ.js → chunk-37CYVF73.js} +5 -5
  58. package/dist/cli-bundle/chunks/{chunk-XRE4CTNP.js → chunk-3KLPFWZ4.js} +6 -6
  59. package/dist/cli-bundle/chunks/{chunk-WSWOQP3Z.js → chunk-4HFU4UO2.js} +3 -3
  60. package/dist/cli-bundle/chunks/{chunk-UNH3KSHG.js → chunk-4JCSYR6F.js} +3 -3
  61. package/dist/cli-bundle/chunks/{chunk-73PSHEMT.js → chunk-4YFAGDRH.js} +8 -8
  62. package/dist/cli-bundle/chunks/{chunk-7GYMMDDW.js → chunk-5SCT2JCT.js} +2 -2
  63. package/dist/cli-bundle/chunks/{chunk-Q6PSD5DZ.js → chunk-73ZPG2I3.js} +3 -3
  64. package/dist/cli-bundle/chunks/{chunk-XH6RA5A5.js → chunk-7AMK6DOW.js} +15 -15
  65. package/dist/cli-bundle/chunks/{chunk-XH6RA5A5.js.map → chunk-7AMK6DOW.js.map} +1 -1
  66. package/dist/cli-bundle/chunks/{chunk-CTW7QAHM.js → chunk-7IYFN5R7.js} +3 -3
  67. package/dist/cli-bundle/chunks/{chunk-OSGWBWLK.js → chunk-7UGSRQCL.js} +5 -5
  68. package/dist/cli-bundle/chunks/{chunk-WNMRICXH.js → chunk-A6LXQFO7.js} +4 -3
  69. package/dist/cli-bundle/chunks/chunk-A6LXQFO7.js.map +1 -0
  70. package/dist/cli-bundle/chunks/{chunk-UDWUDUJI.js → chunk-ATEES5SX.js} +2 -2
  71. package/dist/cli-bundle/chunks/{chunk-2MKBPWMK.js → chunk-AVGHVVF7.js} +3 -3
  72. package/dist/cli-bundle/chunks/{chunk-ZH7C7ZVX.js → chunk-AX4GEVQC.js} +14 -14
  73. package/dist/cli-bundle/chunks/{chunk-ZH7C7ZVX.js.map → chunk-AX4GEVQC.js.map} +2 -2
  74. package/dist/cli-bundle/chunks/chunk-C6SAP27O.js +187 -0
  75. package/dist/cli-bundle/chunks/chunk-C6SAP27O.js.map +1 -0
  76. package/dist/cli-bundle/chunks/{chunk-344GDQTH.js → chunk-CCX4RSYZ.js} +2 -2
  77. package/dist/cli-bundle/chunks/{chunk-6KQS23TX.js → chunk-CW6E4NAT.js} +8 -8
  78. package/dist/cli-bundle/chunks/{chunk-K45NAJV2.js → chunk-DY6C42S6.js} +9 -9
  79. package/dist/cli-bundle/chunks/chunk-EKS6O2IR.js +217 -0
  80. package/dist/cli-bundle/chunks/chunk-EKS6O2IR.js.map +1 -0
  81. package/dist/cli-bundle/chunks/{chunk-ANVZCNL5.js → chunk-ESANVZF4.js} +3 -3
  82. package/dist/cli-bundle/chunks/{chunk-6OSG3EMX.js → chunk-EWFY7SLA.js} +8 -8
  83. package/dist/cli-bundle/chunks/{chunk-DMDEC4QP.js → chunk-F75JSIOZ.js} +6 -6
  84. package/dist/cli-bundle/chunks/{chunk-TALBUVWF.js → chunk-FDH2X65L.js} +2 -2
  85. package/dist/cli-bundle/chunks/{chunk-OQGJSCZZ.js → chunk-FY4SPXSC.js} +3 -2
  86. package/dist/cli-bundle/chunks/chunk-FY4SPXSC.js.map +7 -0
  87. package/dist/cli-bundle/chunks/{chunk-TZLGCTA5.js → chunk-GKIZW7SM.js} +3 -3
  88. package/dist/cli-bundle/chunks/{chunk-UMWF6ZAS.js → chunk-GWZSYR6X.js} +2 -2
  89. package/dist/cli-bundle/chunks/{chunk-KHBRV5JU.js → chunk-HGLC63AU.js} +8 -8
  90. package/dist/cli-bundle/chunks/{chunk-CMEHZD6G.js → chunk-HHHJ2GI3.js} +8 -8
  91. package/dist/cli-bundle/chunks/{chunk-MF6KSSMF.js → chunk-HI7STVF2.js} +6 -6
  92. package/dist/cli-bundle/chunks/{chunk-IEQ3N7WP.js → chunk-I2IJY2NL.js} +2 -2
  93. package/dist/cli-bundle/chunks/{chunk-O64EYNHF.js → chunk-I53JBTJW.js} +6 -6
  94. package/dist/cli-bundle/chunks/{chunk-K7SXBA75.js → chunk-I7NYDZDV.js} +2 -2
  95. package/dist/cli-bundle/chunks/{chunk-WBU257Z4.js → chunk-IGVJRZ6H.js} +8 -8
  96. package/dist/cli-bundle/chunks/{chunk-7TW64BS5.js → chunk-IUKD4W6Z.js} +2 -2
  97. package/dist/cli-bundle/chunks/{chunk-DTRIVUTN.js → chunk-KBPQHXWG.js} +21 -8
  98. package/dist/cli-bundle/chunks/chunk-KBPQHXWG.js.map +1 -0
  99. package/dist/cli-bundle/chunks/{chunk-OVNSQHDG.js → chunk-KWAXVAXX.js} +4 -4
  100. package/dist/cli-bundle/chunks/{chunk-WWEFBBVF.js → chunk-L5EPZQIC.js} +12 -12
  101. package/dist/cli-bundle/chunks/chunk-NAWVUHXH.js +220 -0
  102. package/dist/cli-bundle/chunks/chunk-NAWVUHXH.js.map +7 -0
  103. package/dist/cli-bundle/chunks/{chunk-6ADVKPVV.js → chunk-OASDW5UI.js} +7 -7
  104. package/dist/cli-bundle/chunks/{chunk-EIS32UA4.js → chunk-OLKBSY4N.js} +2 -2
  105. package/dist/cli-bundle/chunks/{chunk-X3IPJU2O.js → chunk-P5BJOMBB.js} +9 -9
  106. package/dist/cli-bundle/chunks/{chunk-LYL32FT6.js → chunk-P5U5EOMA.js} +3 -3
  107. package/dist/cli-bundle/chunks/{chunk-EAQLLID6.js → chunk-PNYAAB4S.js} +21 -188
  108. package/dist/cli-bundle/chunks/chunk-PNYAAB4S.js.map +1 -0
  109. package/dist/cli-bundle/chunks/{chunk-TV6FZGVK.js → chunk-QJMGRZO2.js} +3 -3
  110. package/dist/cli-bundle/chunks/{chunk-KMMUDSSB.js → chunk-QKW5D45B.js} +5 -5
  111. package/dist/cli-bundle/chunks/{chunk-4H2NDEGJ.js → chunk-QNJSITCX.js} +7 -7
  112. package/dist/cli-bundle/chunks/chunk-R2OUQVBK.js +190 -0
  113. package/dist/cli-bundle/chunks/chunk-R2OUQVBK.js.map +7 -0
  114. package/dist/cli-bundle/chunks/{chunk-XSCGU4WT.js → chunk-R4VWYWRN.js} +19 -193
  115. package/dist/cli-bundle/chunks/chunk-R4VWYWRN.js.map +7 -0
  116. package/dist/cli-bundle/chunks/{chunk-VSS3CSTF.js → chunk-RXAP6JL5.js} +9 -9
  117. package/dist/cli-bundle/chunks/{chunk-3VTWCBXL.js → chunk-S26FESD4.js} +3 -3
  118. package/dist/cli-bundle/chunks/{chunk-DEYNERFX.js → chunk-S2ZLDYGS.js} +4 -4
  119. package/dist/cli-bundle/chunks/{chunk-QGIWURY3.js → chunk-SO55HRA5.js} +12 -12
  120. package/dist/cli-bundle/chunks/{chunk-F2PVV7IX.js → chunk-SXKNJPQ7.js} +3 -3
  121. package/dist/cli-bundle/chunks/{chunk-5OMABP7I.js → chunk-TK5VZFHY.js} +7 -7
  122. package/dist/cli-bundle/chunks/{chunk-UY26RIBR.js → chunk-TNAP7EJX.js} +2 -2
  123. package/dist/cli-bundle/chunks/{chunk-QJ2OIEOC.js → chunk-UIG4TW2H.js} +111 -10
  124. package/dist/cli-bundle/chunks/chunk-UIG4TW2H.js.map +1 -0
  125. package/dist/cli-bundle/chunks/{chunk-SNASEDXB.js → chunk-UUWGCWBU.js} +3 -3
  126. package/dist/cli-bundle/chunks/{chunk-6N46IM44.js → chunk-VAOUX6TK.js} +2 -2
  127. package/dist/cli-bundle/chunks/{chunk-X5YC5DZM.js → chunk-VFUZV5EB.js} +5 -5
  128. package/dist/cli-bundle/chunks/{chunk-I2FM2SMO.js → chunk-VPEAS7PS.js} +2 -2
  129. package/dist/cli-bundle/chunks/{chunk-7DUVDW7C.js → chunk-VSRZRLG3.js} +3 -3
  130. package/dist/cli-bundle/chunks/{chunk-GP6SHEAI.js → chunk-WPDMBIX6.js} +20 -7
  131. package/dist/cli-bundle/chunks/chunk-WPDMBIX6.js.map +7 -0
  132. package/dist/cli-bundle/chunks/{chunk-PYULT32I.js → chunk-WUNFKP7M.js} +2 -2
  133. package/dist/cli-bundle/chunks/{chunk-LUJQJR7G.js → chunk-XJDGS74Y.js} +5 -5
  134. package/dist/cli-bundle/chunks/{chunk-TXWMLDMG.js → chunk-XMBI6TNW.js} +4 -4
  135. package/dist/cli-bundle/chunks/{chunk-4CYHWHZU.js → chunk-XTKJSVWH.js} +2 -2
  136. package/dist/cli-bundle/chunks/{chunk-T6QLB34N.js → chunk-XUC4C4PT.js} +3 -3
  137. package/dist/cli-bundle/chunks/{chunk-KRZQGRVL.js → chunk-XWMF3POR.js} +5 -5
  138. package/dist/cli-bundle/chunks/{chunk-OROMGSBP.js → chunk-Y3YKK7CY.js} +2 -2
  139. package/dist/cli-bundle/chunks/{chunk-D6JZBUZ6.js → chunk-YW6Q3RYZ.js} +7 -7
  140. package/dist/cli-bundle/chunks/{chunk-GRHPU6EM.js → chunk-ZLMIWZUG.js} +2 -2
  141. package/dist/cli-bundle/chunks/{chunk-5HH6QRH5.js → chunk-ZMW77VWV.js} +9 -9
  142. package/dist/cli-bundle/chunks/{chunk-BE5G7HEL.js → chunk-ZYNJNPYD.js} +4 -4
  143. package/dist/cli-bundle/chunks/{claim-3TY5LE54.js → claim-2RDYMCTP.js} +10 -10
  144. package/dist/cli-bundle/chunks/{claim-LM4YY6QQ.js → claim-MJ7DZFC3.js} +10 -10
  145. package/dist/cli-bundle/chunks/close-4FMAPEMY.js +13 -0
  146. package/dist/cli-bundle/chunks/{close-CSD4LEMT.js → close-XLEKIQSW.js} +8 -8
  147. package/dist/cli-bundle/chunks/{close-many-B5SHDX6W.js → close-many-AOD4HSAZ.js} +15 -15
  148. package/dist/cli-bundle/chunks/{close-many-WRXB5KVY.js → close-many-XKAQY5CQ.js} +15 -15
  149. package/dist/cli-bundle/chunks/{comments-BDDEK3VW.js → comments-B4RWWDJT.js} +10 -10
  150. package/dist/cli-bundle/chunks/{comments-A5ALOYTG.js → comments-RN5TG4ZN.js} +10 -10
  151. package/dist/cli-bundle/chunks/{config-W2NHDNQT.js → config-3JXJ3XZ7.js} +8 -8
  152. package/dist/cli-bundle/chunks/{config-YUYBMJOW.js → config-FZ4UDC4B.js} +8 -8
  153. package/dist/cli-bundle/chunks/{context-LRJ74NSU.js → context-L36PIN35.js} +13 -13
  154. package/dist/cli-bundle/chunks/{context-R2QLOJCK.js → context-QBPO3BFM.js} +13 -13
  155. package/dist/cli-bundle/chunks/{contracts-HJHR4NCD.js → contracts-2G66IGIA.js} +309 -6
  156. package/dist/cli-bundle/chunks/contracts-2G66IGIA.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{contracts-47X7RYUF.js → contracts-PJCHYSO5.js} +315 -5
  158. package/dist/cli-bundle/chunks/contracts-PJCHYSO5.js.map +7 -0
  159. package/dist/cli-bundle/chunks/{copy-P4UVYZ7M.js → copy-ALU5WMHA.js} +7 -7
  160. package/dist/cli-bundle/chunks/{copy-B7HFOWFB.js → copy-FWIVTLBO.js} +7 -7
  161. package/dist/cli-bundle/chunks/{create-5ERJF64D.js → create-5433DP3G.js} +13 -13
  162. package/dist/cli-bundle/chunks/create-VWLWS34Z.js +27 -0
  163. package/dist/cli-bundle/chunks/{delete-LX3LGBCH.js → delete-IYTIYAJS.js} +7 -7
  164. package/dist/cli-bundle/chunks/{delete-S3WVK6LP.js → delete-Y2SGJBGY.js} +7 -7
  165. package/dist/cli-bundle/chunks/{deps-YSM4LZQD.js → deps-6TSPOSGU.js} +7 -7
  166. package/dist/cli-bundle/chunks/{deps-GWSNH7OZ.js → deps-CZ4PTVXU.js} +7 -7
  167. package/dist/cli-bundle/chunks/{docs-TG6JMVMY.js → docs-I3BAF5WH.js} +11 -11
  168. package/dist/cli-bundle/chunks/docs-I3BAF5WH.js.map +1 -0
  169. package/dist/cli-bundle/chunks/{docs-7RYFBHQD.js → docs-MXLGZUIT.js} +10 -10
  170. package/dist/cli-bundle/chunks/docs-MXLGZUIT.js.map +7 -0
  171. package/dist/cli-bundle/chunks/{extension-R3LUKMX7.js → extension-Q34OEWO5.js} +5 -5
  172. package/dist/cli-bundle/chunks/{extension-VNMRKIHI.js → extension-WH2FOIOZ.js} +5 -5
  173. package/dist/cli-bundle/chunks/{files-KAKU57OT.js → files-FYP3MDPX.js} +10 -10
  174. package/dist/cli-bundle/chunks/files-FYP3MDPX.js.map +7 -0
  175. package/dist/cli-bundle/chunks/{files-QB3EYPMO.js → files-GUXUM2MB.js} +11 -11
  176. package/dist/cli-bundle/chunks/files-GUXUM2MB.js.map +1 -0
  177. package/dist/cli-bundle/chunks/{gc-KNUPLPSW.js → gc-FENB2ESG.js} +14 -176
  178. package/dist/cli-bundle/chunks/gc-FENB2ESG.js.map +1 -0
  179. package/dist/cli-bundle/chunks/{gc-B747VM4M.js → gc-KGQG66SA.js} +12 -181
  180. package/dist/cli-bundle/chunks/gc-KGQG66SA.js.map +7 -0
  181. package/dist/cli-bundle/chunks/{get-GMGLIQ5I.js → get-PCHS7RA6.js} +11 -11
  182. package/dist/cli-bundle/chunks/{get-SBL6NHYQ.js → get-QARTE6BL.js} +11 -11
  183. package/dist/cli-bundle/chunks/{health-WWZJ5KJS.js → health-7MTXAVR2.js} +82 -15
  184. package/dist/cli-bundle/chunks/health-7MTXAVR2.js.map +7 -0
  185. package/dist/cli-bundle/chunks/{health-IG43Z4KL.js → health-E4D7KGHD.js} +83 -16
  186. package/dist/cli-bundle/chunks/health-E4D7KGHD.js.map +1 -0
  187. package/dist/cli-bundle/chunks/{history-XCWRXBXC.js → history-7WUAEWHW.js} +10 -10
  188. package/dist/cli-bundle/chunks/history-L2FQFRTU.js +20 -0
  189. package/dist/cli-bundle/chunks/{history-compact-KICKUCR7.js → history-compact-3EJ3L2O7.js} +11 -11
  190. package/dist/cli-bundle/chunks/{history-compact-IDH7E7VN.js → history-compact-LW27IPFK.js} +11 -11
  191. package/dist/cli-bundle/chunks/{history-redact-JJWH3QWK.js → history-redact-G72A4EJ4.js} +11 -11
  192. package/dist/cli-bundle/chunks/history-redact-QWQCX5DZ.js +19 -0
  193. package/dist/cli-bundle/chunks/{history-repair-N5HXKJOI.js → history-repair-OSQOKJ3E.js} +71 -13
  194. package/dist/cli-bundle/chunks/history-repair-OSQOKJ3E.js.map +7 -0
  195. package/dist/cli-bundle/chunks/{history-repair-7HWBZKXN.js → history-repair-SBK7P34V.js} +72 -14
  196. package/dist/cli-bundle/chunks/history-repair-SBK7P34V.js.map +1 -0
  197. package/dist/cli-bundle/chunks/init-4BKRHGWW.js +17 -0
  198. package/dist/cli-bundle/chunks/{init-OQA3TWIS.js → init-S5WEGUJY.js} +9 -9
  199. package/dist/cli-bundle/chunks/{learnings-L7VQUSVI.js → learnings-HQXSSKZ5.js} +10 -10
  200. package/dist/cli-bundle/chunks/{learnings-Z4GAIZQ5.js → learnings-XK3P4ZDR.js} +10 -10
  201. package/dist/cli-bundle/chunks/{list-W5ROBC5U.js → list-6CL3XFT6.js} +10 -10
  202. package/dist/cli-bundle/chunks/list-BYNN4ZEO.js +19 -0
  203. package/dist/cli-bundle/chunks/{notes-JJDOEDFK.js → notes-5T6P7C5V.js} +10 -10
  204. package/dist/cli-bundle/chunks/{notes-SDCK7BEN.js → notes-U5FZCSBT.js} +10 -10
  205. package/dist/cli-bundle/chunks/{plan-H5HYHMBB.js → plan-2YTQYWGM.js} +63 -23
  206. package/dist/cli-bundle/chunks/plan-2YTQYWGM.js.map +1 -0
  207. package/dist/cli-bundle/chunks/{plan-W2B5RYR3.js → plan-7IVSICR6.js} +62 -22
  208. package/dist/cli-bundle/chunks/plan-7IVSICR6.js.map +7 -0
  209. package/dist/cli-bundle/chunks/{register-list-query-QGRFMDWA.js → register-list-query-4UPMHONX.js} +18 -18
  210. package/dist/cli-bundle/chunks/{register-list-query-V4S23735.js → register-list-query-7VOW2C3W.js} +18 -18
  211. package/dist/cli-bundle/chunks/{register-mutation-ZPZNJXSA.js → register-mutation-FARSGYRD.js} +64 -47
  212. package/dist/cli-bundle/chunks/{register-mutation-ZPZNJXSA.js.map → register-mutation-FARSGYRD.js.map} +2 -2
  213. package/dist/cli-bundle/chunks/{register-mutation-I57PLUHA.js → register-mutation-LJDNVREU.js} +65 -48
  214. package/dist/cli-bundle/chunks/{register-mutation-I57PLUHA.js.map → register-mutation-LJDNVREU.js.map} +1 -1
  215. package/dist/cli-bundle/chunks/{register-operations-KAMLXAF5.js → register-operations-FFTYAL42.js} +38 -34
  216. package/dist/cli-bundle/chunks/register-operations-FFTYAL42.js.map +1 -0
  217. package/dist/cli-bundle/chunks/{register-operations-YEN4YEZ2.js → register-operations-HCJKDUA6.js} +37 -33
  218. package/dist/cli-bundle/chunks/{register-operations-YEN4YEZ2.js.map → register-operations-HCJKDUA6.js.map} +2 -2
  219. package/dist/cli-bundle/chunks/{register-setup-BZ3TNE3G.js → register-setup-6AVIUOCC.js} +31 -31
  220. package/dist/cli-bundle/chunks/register-setup-6AVIUOCC.js.map +1 -0
  221. package/dist/cli-bundle/chunks/{register-setup-WLFL3OUF.js → register-setup-KVNLO5OJ.js} +30 -30
  222. package/dist/cli-bundle/chunks/register-setup-KVNLO5OJ.js.map +7 -0
  223. package/dist/cli-bundle/chunks/restore-CHIOQAQL.js +17 -0
  224. package/dist/cli-bundle/chunks/{restore-RGFSPG4K.js → restore-M6AFHMV4.js} +11 -11
  225. package/dist/cli-bundle/chunks/{schema-CCDU3RLC.js → schema-76HDZJCC.js} +8 -8
  226. package/dist/cli-bundle/chunks/{schema-KZASL323.js → schema-AINZ2IMM.js} +8 -8
  227. package/dist/cli-bundle/chunks/{search-7KSOLI2E.js → search-JMLFQEPJ.js} +10 -10
  228. package/dist/cli-bundle/chunks/{search-DTL7CO22.js → search-NL3TSCYB.js} +10 -10
  229. package/dist/cli-bundle/chunks/{stats-QNV7B2CE.js → stats-BKXCBIGT.js} +7 -7
  230. package/dist/cli-bundle/chunks/{stats-IOXQMGI6.js → stats-UBD56TGK.js} +7 -7
  231. package/dist/cli-bundle/chunks/{telemetry-NHR5RFXT.js → telemetry-N454RHG5.js} +4 -4
  232. package/dist/cli-bundle/chunks/{telemetry-IV5C6JOM.js → telemetry-ZJXK3H7X.js} +4 -4
  233. package/dist/cli-bundle/chunks/{test-PIL2CEEB.js → test-BQAKIXAT.js} +14 -14
  234. package/dist/cli-bundle/chunks/test-O74JFUH5.js +32 -0
  235. package/dist/cli-bundle/chunks/{test-all-MFN4MYCV.js → test-all-7LV3I6S5.js} +14 -14
  236. package/dist/cli-bundle/chunks/{test-all-GRLYHBNP.js → test-all-TDYCCBA4.js} +14 -14
  237. package/dist/cli-bundle/chunks/{test-runs-7WCSC3TY.js → test-runs-E64M6XS3.js} +5 -5
  238. package/dist/cli-bundle/chunks/{test-runs-7LRFWWCA.js → test-runs-LXZLULCI.js} +5 -5
  239. package/dist/cli-bundle/chunks/update-36JM7YZT.js +21 -0
  240. package/dist/cli-bundle/chunks/update-I246PCLO.js +25 -0
  241. package/dist/cli-bundle/chunks/{update-many-UYMTVF42.js → update-many-F4IKDWZB.js} +22 -22
  242. package/dist/cli-bundle/chunks/{update-many-LOTAYUTN.js → update-many-NTWZ5YT3.js} +22 -22
  243. package/dist/cli-bundle/chunks/{upgrade-ZZSC7CLV.js → upgrade-37F7JKES.js} +5 -5
  244. package/dist/cli-bundle/chunks/{upgrade-LT2MLLPS.js → upgrade-L32JA4TZ.js} +5 -5
  245. package/dist/cli-bundle/chunks/{validate-IQIQSKUX.js → validate-46KCRHL7.js} +462 -50
  246. package/dist/cli-bundle/chunks/validate-46KCRHL7.js.map +1 -0
  247. package/dist/cli-bundle/chunks/{validate-3XRORNMP.js → validate-CRFMPTYD.js} +482 -49
  248. package/dist/cli-bundle/chunks/validate-CRFMPTYD.js.map +7 -0
  249. package/dist/cli-bundle/main.js +180 -25
  250. package/dist/cli-bundle/main.js.map +2 -2
  251. package/dist/core/diagnostics/remediation.js +19 -6
  252. package/dist/core/diagnostics/remediation.js.map +1 -1
  253. package/dist/core/lock/lock-gc.d.ts +31 -0
  254. package/dist/core/lock/lock-gc.js +120 -62
  255. package/dist/core/lock/lock-gc.js.map +1 -1
  256. package/dist/core/output/query-summary.d.ts +31 -0
  257. package/dist/core/output/query-summary.js +62 -0
  258. package/dist/core/output/query-summary.js.map +1 -0
  259. package/dist/core/shared/constants.js +3 -2
  260. package/dist/core/shared/constants.js.map +1 -1
  261. package/dist/core/telemetry/consent.js +18 -3
  262. package/dist/core/telemetry/consent.js.map +1 -1
  263. package/dist/core/validate/fix-planning.d.ts +130 -0
  264. package/dist/core/validate/fix-planning.js +202 -0
  265. package/dist/core/validate/fix-planning.js.map +1 -0
  266. package/dist/core/validate/missing-by-type.d.ts +21 -0
  267. package/dist/core/validate/missing-by-type.js +39 -0
  268. package/dist/core/validate/missing-by-type.js.map +1 -0
  269. package/dist/core/validate/stale-file-classification.d.ts +41 -0
  270. package/dist/core/validate/stale-file-classification.js +73 -0
  271. package/dist/core/validate/stale-file-classification.js.map +1 -0
  272. package/dist/mcp/server.js +74 -266
  273. package/dist/mcp/server.js.map +1 -1
  274. package/dist/mcp/tool-definitions.d.ts +27 -0
  275. package/dist/mcp/tool-definitions.js +330 -0
  276. package/dist/mcp/tool-definitions.js.map +1 -0
  277. package/dist/sdk/cli-contracts/tool-parameter-tables.js +38 -2
  278. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  279. package/dist/sdk/cli-contracts.d.ts +6 -1
  280. package/dist/sdk/cli-contracts.js +74 -7
  281. package/dist/sdk/cli-contracts.js.map +1 -1
  282. package/docs/AGENT_GUIDE.md +7 -2
  283. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  284. package/docs/COMMANDS.md +25 -2
  285. package/marketplace.json +1 -1
  286. package/package.json +1 -1
  287. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  288. package/plugins/pm-claude/README.md +7 -3
  289. package/plugins/pm-claude/commands/pm-init.md +1 -1
  290. package/plugins/pm-codex/README.md +2 -2
  291. package/dist/cli-bundle/chunks/activity-5QLX6DHN.js +0 -16
  292. package/dist/cli-bundle/chunks/chunk-DTRIVUTN.js.map +0 -1
  293. package/dist/cli-bundle/chunks/chunk-EAQLLID6.js.map +0 -1
  294. package/dist/cli-bundle/chunks/chunk-GF5XIBUH.js.map +0 -7
  295. package/dist/cli-bundle/chunks/chunk-GP6SHEAI.js.map +0 -7
  296. package/dist/cli-bundle/chunks/chunk-OQGJSCZZ.js.map +0 -7
  297. package/dist/cli-bundle/chunks/chunk-QJ2OIEOC.js.map +0 -1
  298. package/dist/cli-bundle/chunks/chunk-WNMRICXH.js.map +0 -1
  299. package/dist/cli-bundle/chunks/chunk-XSCGU4WT.js.map +0 -7
  300. package/dist/cli-bundle/chunks/close-SIQCDOBR.js +0 -13
  301. package/dist/cli-bundle/chunks/contracts-47X7RYUF.js.map +0 -7
  302. package/dist/cli-bundle/chunks/contracts-HJHR4NCD.js.map +0 -1
  303. package/dist/cli-bundle/chunks/create-TXNRPS4K.js +0 -27
  304. package/dist/cli-bundle/chunks/docs-7RYFBHQD.js.map +0 -7
  305. package/dist/cli-bundle/chunks/docs-TG6JMVMY.js.map +0 -1
  306. package/dist/cli-bundle/chunks/files-KAKU57OT.js.map +0 -7
  307. package/dist/cli-bundle/chunks/files-QB3EYPMO.js.map +0 -1
  308. package/dist/cli-bundle/chunks/gc-B747VM4M.js.map +0 -7
  309. package/dist/cli-bundle/chunks/gc-KNUPLPSW.js.map +0 -1
  310. package/dist/cli-bundle/chunks/health-IG43Z4KL.js.map +0 -1
  311. package/dist/cli-bundle/chunks/health-WWZJ5KJS.js.map +0 -7
  312. package/dist/cli-bundle/chunks/history-6UKSZTRT.js +0 -20
  313. package/dist/cli-bundle/chunks/history-redact-HKYBTK6X.js +0 -19
  314. package/dist/cli-bundle/chunks/history-repair-7HWBZKXN.js.map +0 -1
  315. package/dist/cli-bundle/chunks/history-repair-N5HXKJOI.js.map +0 -7
  316. package/dist/cli-bundle/chunks/init-27JLDUO2.js +0 -17
  317. package/dist/cli-bundle/chunks/list-6U3CJVXS.js +0 -19
  318. package/dist/cli-bundle/chunks/plan-H5HYHMBB.js.map +0 -1
  319. package/dist/cli-bundle/chunks/plan-W2B5RYR3.js.map +0 -7
  320. package/dist/cli-bundle/chunks/register-operations-KAMLXAF5.js.map +0 -1
  321. package/dist/cli-bundle/chunks/register-setup-BZ3TNE3G.js.map +0 -1
  322. package/dist/cli-bundle/chunks/register-setup-WLFL3OUF.js.map +0 -7
  323. package/dist/cli-bundle/chunks/restore-GNI2W5CN.js +0 -17
  324. package/dist/cli-bundle/chunks/test-4Z37CXW4.js +0 -32
  325. package/dist/cli-bundle/chunks/update-I4G34LKJ.js +0 -21
  326. package/dist/cli-bundle/chunks/update-VI5DBZ3G.js +0 -25
  327. package/dist/cli-bundle/chunks/validate-3XRORNMP.js.map +0 -7
  328. package/dist/cli-bundle/chunks/validate-IQIQSKUX.js.map +0 -1
  329. /package/dist/cli-bundle/chunks/{activity-W6TS5F2L.js.map → activity-XADJOG6G.js.map} +0 -0
  330. /package/dist/cli-bundle/chunks/{activity-5QLX6DHN.js.map → activity-XZIUPGZH.js.map} +0 -0
  331. /package/dist/cli-bundle/chunks/{aggregate-UK2WJ4Z3.js.map → aggregate-6OTS3AOO.js.map} +0 -0
  332. /package/dist/cli-bundle/chunks/{aggregate-NNJLKGEK.js.map → aggregate-OD36DJU5.js.map} +0 -0
  333. /package/dist/cli-bundle/chunks/{append-DHGTLUZW.js.map → append-JYWO4P7W.js.map} +0 -0
  334. /package/dist/cli-bundle/chunks/{append-7BS36Z2L.js.map → append-KG55G7S3.js.map} +0 -0
  335. /package/dist/cli-bundle/chunks/{chunk-A6XVYNQJ.js.map → chunk-37CYVF73.js.map} +0 -0
  336. /package/dist/cli-bundle/chunks/{chunk-XRE4CTNP.js.map → chunk-3KLPFWZ4.js.map} +0 -0
  337. /package/dist/cli-bundle/chunks/{chunk-WSWOQP3Z.js.map → chunk-4HFU4UO2.js.map} +0 -0
  338. /package/dist/cli-bundle/chunks/{chunk-UNH3KSHG.js.map → chunk-4JCSYR6F.js.map} +0 -0
  339. /package/dist/cli-bundle/chunks/{chunk-73PSHEMT.js.map → chunk-4YFAGDRH.js.map} +0 -0
  340. /package/dist/cli-bundle/chunks/{chunk-7GYMMDDW.js.map → chunk-5SCT2JCT.js.map} +0 -0
  341. /package/dist/cli-bundle/chunks/{chunk-Q6PSD5DZ.js.map → chunk-73ZPG2I3.js.map} +0 -0
  342. /package/dist/cli-bundle/chunks/{chunk-CTW7QAHM.js.map → chunk-7IYFN5R7.js.map} +0 -0
  343. /package/dist/cli-bundle/chunks/{chunk-OSGWBWLK.js.map → chunk-7UGSRQCL.js.map} +0 -0
  344. /package/dist/cli-bundle/chunks/{chunk-UDWUDUJI.js.map → chunk-ATEES5SX.js.map} +0 -0
  345. /package/dist/cli-bundle/chunks/{chunk-2MKBPWMK.js.map → chunk-AVGHVVF7.js.map} +0 -0
  346. /package/dist/cli-bundle/chunks/{chunk-344GDQTH.js.map → chunk-CCX4RSYZ.js.map} +0 -0
  347. /package/dist/cli-bundle/chunks/{chunk-6KQS23TX.js.map → chunk-CW6E4NAT.js.map} +0 -0
  348. /package/dist/cli-bundle/chunks/{chunk-K45NAJV2.js.map → chunk-DY6C42S6.js.map} +0 -0
  349. /package/dist/cli-bundle/chunks/{chunk-ANVZCNL5.js.map → chunk-ESANVZF4.js.map} +0 -0
  350. /package/dist/cli-bundle/chunks/{chunk-6OSG3EMX.js.map → chunk-EWFY7SLA.js.map} +0 -0
  351. /package/dist/cli-bundle/chunks/{chunk-DMDEC4QP.js.map → chunk-F75JSIOZ.js.map} +0 -0
  352. /package/dist/cli-bundle/chunks/{chunk-TALBUVWF.js.map → chunk-FDH2X65L.js.map} +0 -0
  353. /package/dist/cli-bundle/chunks/{chunk-TZLGCTA5.js.map → chunk-GKIZW7SM.js.map} +0 -0
  354. /package/dist/cli-bundle/chunks/{chunk-UMWF6ZAS.js.map → chunk-GWZSYR6X.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{chunk-KHBRV5JU.js.map → chunk-HGLC63AU.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{chunk-CMEHZD6G.js.map → chunk-HHHJ2GI3.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{chunk-MF6KSSMF.js.map → chunk-HI7STVF2.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{chunk-IEQ3N7WP.js.map → chunk-I2IJY2NL.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{chunk-O64EYNHF.js.map → chunk-I53JBTJW.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{chunk-K7SXBA75.js.map → chunk-I7NYDZDV.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{chunk-WBU257Z4.js.map → chunk-IGVJRZ6H.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{chunk-7TW64BS5.js.map → chunk-IUKD4W6Z.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{chunk-OVNSQHDG.js.map → chunk-KWAXVAXX.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{chunk-WWEFBBVF.js.map → chunk-L5EPZQIC.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{chunk-6ADVKPVV.js.map → chunk-OASDW5UI.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{chunk-EIS32UA4.js.map → chunk-OLKBSY4N.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{chunk-X3IPJU2O.js.map → chunk-P5BJOMBB.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{chunk-LYL32FT6.js.map → chunk-P5U5EOMA.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{chunk-TV6FZGVK.js.map → chunk-QJMGRZO2.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{chunk-KMMUDSSB.js.map → chunk-QKW5D45B.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{chunk-4H2NDEGJ.js.map → chunk-QNJSITCX.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{chunk-VSS3CSTF.js.map → chunk-RXAP6JL5.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{chunk-3VTWCBXL.js.map → chunk-S26FESD4.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{chunk-DEYNERFX.js.map → chunk-S2ZLDYGS.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{chunk-QGIWURY3.js.map → chunk-SO55HRA5.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{chunk-F2PVV7IX.js.map → chunk-SXKNJPQ7.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{chunk-5OMABP7I.js.map → chunk-TK5VZFHY.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{chunk-UY26RIBR.js.map → chunk-TNAP7EJX.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{chunk-SNASEDXB.js.map → chunk-UUWGCWBU.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{chunk-6N46IM44.js.map → chunk-VAOUX6TK.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{chunk-X5YC5DZM.js.map → chunk-VFUZV5EB.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{chunk-I2FM2SMO.js.map → chunk-VPEAS7PS.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{chunk-7DUVDW7C.js.map → chunk-VSRZRLG3.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{chunk-PYULT32I.js.map → chunk-WUNFKP7M.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{chunk-LUJQJR7G.js.map → chunk-XJDGS74Y.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{chunk-TXWMLDMG.js.map → chunk-XMBI6TNW.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{chunk-4CYHWHZU.js.map → chunk-XTKJSVWH.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{chunk-T6QLB34N.js.map → chunk-XUC4C4PT.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{chunk-KRZQGRVL.js.map → chunk-XWMF3POR.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{chunk-OROMGSBP.js.map → chunk-Y3YKK7CY.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{chunk-D6JZBUZ6.js.map → chunk-YW6Q3RYZ.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{chunk-GRHPU6EM.js.map → chunk-ZLMIWZUG.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{chunk-5HH6QRH5.js.map → chunk-ZMW77VWV.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{chunk-BE5G7HEL.js.map → chunk-ZYNJNPYD.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{claim-3TY5LE54.js.map → claim-2RDYMCTP.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{claim-LM4YY6QQ.js.map → claim-MJ7DZFC3.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{close-SIQCDOBR.js.map → close-4FMAPEMY.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{close-CSD4LEMT.js.map → close-XLEKIQSW.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{close-many-B5SHDX6W.js.map → close-many-AOD4HSAZ.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{close-many-WRXB5KVY.js.map → close-many-XKAQY5CQ.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{comments-BDDEK3VW.js.map → comments-B4RWWDJT.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{comments-A5ALOYTG.js.map → comments-RN5TG4ZN.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{config-W2NHDNQT.js.map → config-3JXJ3XZ7.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{config-YUYBMJOW.js.map → config-FZ4UDC4B.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{context-LRJ74NSU.js.map → context-L36PIN35.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{context-R2QLOJCK.js.map → context-QBPO3BFM.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{copy-P4UVYZ7M.js.map → copy-ALU5WMHA.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{copy-B7HFOWFB.js.map → copy-FWIVTLBO.js.map} +0 -0
  409. /package/dist/cli-bundle/chunks/{create-5ERJF64D.js.map → create-5433DP3G.js.map} +0 -0
  410. /package/dist/cli-bundle/chunks/{create-TXNRPS4K.js.map → create-VWLWS34Z.js.map} +0 -0
  411. /package/dist/cli-bundle/chunks/{delete-LX3LGBCH.js.map → delete-IYTIYAJS.js.map} +0 -0
  412. /package/dist/cli-bundle/chunks/{delete-S3WVK6LP.js.map → delete-Y2SGJBGY.js.map} +0 -0
  413. /package/dist/cli-bundle/chunks/{deps-YSM4LZQD.js.map → deps-6TSPOSGU.js.map} +0 -0
  414. /package/dist/cli-bundle/chunks/{deps-GWSNH7OZ.js.map → deps-CZ4PTVXU.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{extension-R3LUKMX7.js.map → extension-Q34OEWO5.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{extension-VNMRKIHI.js.map → extension-WH2FOIOZ.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{get-GMGLIQ5I.js.map → get-PCHS7RA6.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{get-SBL6NHYQ.js.map → get-QARTE6BL.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{history-XCWRXBXC.js.map → history-7WUAEWHW.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{history-6UKSZTRT.js.map → history-L2FQFRTU.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{history-compact-KICKUCR7.js.map → history-compact-3EJ3L2O7.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{history-compact-IDH7E7VN.js.map → history-compact-LW27IPFK.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{history-redact-JJWH3QWK.js.map → history-redact-G72A4EJ4.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{history-redact-HKYBTK6X.js.map → history-redact-QWQCX5DZ.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{init-27JLDUO2.js.map → init-4BKRHGWW.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{init-OQA3TWIS.js.map → init-S5WEGUJY.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{learnings-L7VQUSVI.js.map → learnings-HQXSSKZ5.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{learnings-Z4GAIZQ5.js.map → learnings-XK3P4ZDR.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{list-W5ROBC5U.js.map → list-6CL3XFT6.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{list-6U3CJVXS.js.map → list-BYNN4ZEO.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{notes-JJDOEDFK.js.map → notes-5T6P7C5V.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{notes-SDCK7BEN.js.map → notes-U5FZCSBT.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{register-list-query-QGRFMDWA.js.map → register-list-query-4UPMHONX.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{register-list-query-V4S23735.js.map → register-list-query-7VOW2C3W.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{restore-GNI2W5CN.js.map → restore-CHIOQAQL.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{restore-RGFSPG4K.js.map → restore-M6AFHMV4.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{schema-CCDU3RLC.js.map → schema-76HDZJCC.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{schema-KZASL323.js.map → schema-AINZ2IMM.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{search-7KSOLI2E.js.map → search-JMLFQEPJ.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{search-DTL7CO22.js.map → search-NL3TSCYB.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{stats-QNV7B2CE.js.map → stats-BKXCBIGT.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{stats-IOXQMGI6.js.map → stats-UBD56TGK.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{telemetry-NHR5RFXT.js.map → telemetry-N454RHG5.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{telemetry-IV5C6JOM.js.map → telemetry-ZJXK3H7X.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{test-PIL2CEEB.js.map → test-BQAKIXAT.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{test-4Z37CXW4.js.map → test-O74JFUH5.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{test-all-MFN4MYCV.js.map → test-all-7LV3I6S5.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{test-all-GRLYHBNP.js.map → test-all-TDYCCBA4.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{test-runs-7WCSC3TY.js.map → test-runs-E64M6XS3.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{test-runs-7LRFWWCA.js.map → test-runs-LXZLULCI.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{update-I4G34LKJ.js.map → update-36JM7YZT.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{update-VI5DBZ3G.js.map → update-I246PCLO.js.map} +0 -0
  453. /package/dist/cli-bundle/chunks/{update-many-UYMTVF42.js.map → update-many-F4IKDWZB.js.map} +0 -0
  454. /package/dist/cli-bundle/chunks/{update-many-LOTAYUTN.js.map → update-many-NTWZ5YT3.js.map} +0 -0
  455. /package/dist/cli-bundle/chunks/{upgrade-ZZSC7CLV.js.map → upgrade-37F7JKES.js.map} +0 -0
  456. /package/dist/cli-bundle/chunks/{upgrade-LT2MLLPS.js.map → upgrade-L32JA4TZ.js.map} +0 -0
@@ -0,0 +1,330 @@
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]="6101f461-4390-5960-ae47-ed875ff3ee06")}catch(e){}}();
3
+ import { PM_TOOL_ACTIONS } from "../sdk/cli-contracts/enum-contracts.js";
4
+ import { RUNTIME_STATUS_ROLE_VALUES } from "../types.js";
5
+ const TOOL_SCHEMA_BASE = {
6
+ type: "object",
7
+ properties: {
8
+ cwd: {
9
+ type: "string",
10
+ description: "Workspace directory to run the native pm operation in. Defaults to the MCP server process cwd.",
11
+ },
12
+ path: {
13
+ type: "string",
14
+ description: "Optional pm data root, equivalent to PM_PATH/global --path. Leave unset for real repository tracking.",
15
+ },
16
+ author: {
17
+ type: "string",
18
+ description: "Mutation author. Defaults to PM_AUTHOR or pm settings when supported by the underlying operation.",
19
+ },
20
+ },
21
+ additionalProperties: true,
22
+ };
23
+ const idSchema = {
24
+ type: "string",
25
+ description: "pm item id, for example pm-abc1.",
26
+ };
27
+ // pm-fd8n: derive the pm_run action enumeration from the canonical
28
+ // PM_TOOL_ACTIONS contract instead of a hand-maintained prose list, so the
29
+ // MCP-facing description can never drift from the actual supported actions.
30
+ const PM_RUN_ACTION_DESCRIPTION = `Operation name (one of): ${PM_TOOL_ACTIONS.join(", ")}. ` +
31
+ "Package-owned actions (for example calendar/templates/guide/dedupe-audit/normalize/reindex/comments-audit/completion/test-runs-list/test-runs-status/test-runs-logs/test-runs-stop/test-runs-resume) are available dynamically when installed.";
32
+ const LIST_TOP_LEVEL_OPTION_PROPERTIES = {
33
+ status: { type: "string", description: "Alias for options.status." },
34
+ type: { type: "string", description: "Alias for options.type." },
35
+ tag: { type: "string", description: "Alias for options.tag." },
36
+ priority: { type: "string", description: "Alias for options.priority." },
37
+ limit: { type: ["string", "number"], description: "Alias for options.limit." },
38
+ offset: { type: ["string", "number"], description: "Alias for options.offset." },
39
+ };
40
+ const SEARCH_TOP_LEVEL_OPTION_PROPERTIES = {
41
+ mode: { type: "string", description: "Alias for options.mode." },
42
+ status: { type: "string", description: "Alias for options.status." },
43
+ type: { type: "string", description: "Alias for options.type." },
44
+ tag: { type: "string", description: "Alias for options.tag." },
45
+ priority: { type: "string", description: "Alias for options.priority." },
46
+ limit: { type: ["string", "number"], description: "Alias for options.limit." },
47
+ };
48
+ function objectSchema(properties, required = []) {
49
+ return {
50
+ ...TOOL_SCHEMA_BASE,
51
+ properties: {
52
+ ...TOOL_SCHEMA_BASE.properties,
53
+ ...properties,
54
+ },
55
+ required,
56
+ };
57
+ }
58
+ export const TOOLS = [
59
+ {
60
+ name: "pm_run",
61
+ description: "Run any supported pm operation natively through the pm library. Use this for commands not covered by narrower pm_* tools.",
62
+ inputSchema: objectSchema({
63
+ action: {
64
+ type: "string",
65
+ description: PM_RUN_ACTION_DESCRIPTION,
66
+ },
67
+ id: idSchema,
68
+ query: { type: "string", description: "Search query for action=search." },
69
+ reason: { type: "string", description: "Close reason for action=close." },
70
+ force: { type: "boolean", description: "Force ownership/terminal-state override when supported." },
71
+ // pm-v68d: the schema-specific subcommand enum and add-type/add-status
72
+ // properties migrated to the dedicated pm_schema tool. action=schema
73
+ // still accepts them as passthrough, but agents should prefer pm_schema.
74
+ subcommand: {
75
+ type: "string",
76
+ description: "Subcommand selector for actions that take one (for example telemetry, or schema — prefer the dedicated pm_schema tool for schema operations).",
77
+ },
78
+ options: { type: "object", description: "Underlying pm command options using camelCase keys." },
79
+ fullChangedFields: {
80
+ type: "boolean",
81
+ description: "For mutation actions, return the full changed_fields array instead of the default changed_field_count.",
82
+ },
83
+ idOnly: {
84
+ type: "boolean",
85
+ description: "For single-item mutation actions, return only id and status.",
86
+ },
87
+ }, ["action"]),
88
+ },
89
+ {
90
+ name: "pm_context",
91
+ description: "Return the agent-oriented project context snapshot.",
92
+ inputSchema: objectSchema({ options: { type: "object" } }),
93
+ },
94
+ {
95
+ name: "pm_search",
96
+ description: "Search pm items with keyword, semantic, or hybrid search. " +
97
+ "Defaults to a compact projection for token efficiency. " +
98
+ "Pass options.mode=keyword|semantic|hybrid, options.limit=N to cap hits, " +
99
+ "options.fields='id,title,score' for a custom projection, or options.full=true for full item bodies (can be large). " +
100
+ "The result echoes the applied filters and projection mode in query_summary.",
101
+ inputSchema: objectSchema({ query: { type: "string" }, options: { type: "object" }, ...SEARCH_TOP_LEVEL_OPTION_PROPERTIES }, ["query"]),
102
+ },
103
+ {
104
+ name: "pm_list",
105
+ description: "List pm items with status/type/tag/priority filters. Defaults to compact projection for token efficiency. " +
106
+ "options.status accepts CSV (open,in_progress). " +
107
+ "Pass options.compact=false or options.includeBody=true for full bodies/comments. " +
108
+ "Pass options.brief=true for ultra-terse (id/status/type/title only). " +
109
+ "Pass options.fields='id,title,priority' for custom projection. " +
110
+ "Pass options.limit=N to cap row count. " +
111
+ "The result echoes the applied filters and projection mode in query_summary.",
112
+ inputSchema: objectSchema({ options: { type: "object" }, ...LIST_TOP_LEVEL_OPTION_PROPERTIES }),
113
+ },
114
+ {
115
+ name: "pm_get",
116
+ description: "Read one pm item. Pass options.depth='brief' or options.fields='id,title,status' for low-token inspection.",
117
+ inputSchema: objectSchema({
118
+ id: idSchema,
119
+ options: { type: "object", description: "Get options such as depth=brief|standard|deep|full or fields=id,title,status." },
120
+ }, ["id"]),
121
+ },
122
+ {
123
+ name: "pm_create",
124
+ description: "Create a pm item natively and write pm history. " +
125
+ "Output is compact by default (changed_fields replaced with changed_field_count for token efficiency); pass fullChangedFields=true for the full changed_fields array.",
126
+ inputSchema: objectSchema({
127
+ fullChangedFields: { type: "boolean", description: "Return full changed_fields instead of changed_field_count." },
128
+ allowMissingParent: { type: "boolean", description: "Allow unresolved parent references and emit a validation warning." },
129
+ options: { type: "object", description: "Create options. title and description are required." },
130
+ }, ["options"]),
131
+ },
132
+ {
133
+ name: "pm_copy",
134
+ description: "Copy an existing pm item into a new id while resetting lifecycle fields. " +
135
+ "Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields array.",
136
+ inputSchema: objectSchema({
137
+ id: idSchema,
138
+ fullChangedFields: { type: "boolean", description: "Return full changed_fields instead of changed_field_count." },
139
+ options: { type: "object", description: "Copy options such as title override, author, and message." },
140
+ }, ["id"]),
141
+ },
142
+ {
143
+ name: "pm_update",
144
+ description: "Update pm item metadata/body/dependencies/log seeds natively. " +
145
+ "Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields delta.",
146
+ inputSchema: objectSchema({
147
+ id: idSchema,
148
+ fullChangedFields: { type: "boolean", description: "Return full changed_fields instead of changed_field_count." },
149
+ options: { type: "object" },
150
+ }, ["id", "options"]),
151
+ },
152
+ {
153
+ name: "pm_append",
154
+ description: "Append markdown text to a pm item body and write pm history. Useful for seeding evidence/log entries before close. " +
155
+ "Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields array.",
156
+ inputSchema: objectSchema({
157
+ id: idSchema,
158
+ body: {
159
+ type: "string",
160
+ description: "Markdown text to append to the item body. Required here or as options.body.",
161
+ },
162
+ fullChangedFields: { type: "boolean", description: "Return full changed_fields instead of changed_field_count." },
163
+ options: { type: "object", description: "Append options such as body, author, and message." },
164
+ }, ["id"]),
165
+ },
166
+ {
167
+ name: "pm_claim",
168
+ description: "Claim a pm item.",
169
+ inputSchema: objectSchema({ id: idSchema, force: { type: "boolean" }, options: { type: "object" } }, ["id"]),
170
+ },
171
+ {
172
+ name: "pm_release",
173
+ description: "Release a pm item claim.",
174
+ inputSchema: objectSchema({ id: idSchema, force: { type: "boolean" }, options: { type: "object" } }, ["id"]),
175
+ },
176
+ {
177
+ name: "pm_close",
178
+ description: "Close a pm item with optional close reason and optional close validation (reason requirement follows governance settings). " +
179
+ "Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields array.",
180
+ inputSchema: objectSchema({
181
+ id: idSchema,
182
+ reason: { type: "string", description: "Close reason text when provided or required by governance settings." },
183
+ duplicateOf: { type: "string", description: "Canonical item id when closing this item as a duplicate." },
184
+ fullChangedFields: { type: "boolean", description: "Return full changed_fields instead of changed_field_count." },
185
+ idOnly: { type: "boolean", description: "Return only id and status." },
186
+ options: { type: "object" },
187
+ }, ["id"]),
188
+ },
189
+ {
190
+ name: "pm_comments",
191
+ description: "List or add comments on a pm item. Use options.add to append. " +
192
+ "List calls default to the most recent 20 comments with total_count/has_more metadata for token efficiency. " +
193
+ "Pass options.limit=N to choose a page size, options.limit=0 for summary-only metadata, or options.full=true for full history.",
194
+ inputSchema: objectSchema({ id: idSchema, options: { type: "object" } }, ["id"]),
195
+ },
196
+ {
197
+ name: "pm_files",
198
+ description: "List, add, remove, audit, or validate linked files for a pm item.",
199
+ inputSchema: objectSchema({ id: idSchema, options: { type: "object" } }, ["id"]),
200
+ },
201
+ {
202
+ name: "pm_docs",
203
+ description: "List, add, or remove linked docs for a pm item.",
204
+ inputSchema: objectSchema({ id: idSchema, options: { type: "object" } }, ["id"]),
205
+ },
206
+ {
207
+ name: "pm_notes",
208
+ description: "List or add structured notes on a pm item. Use options.add to append a note; omit it to list existing notes.",
209
+ inputSchema: objectSchema({ id: idSchema, options: { type: "object" } }, ["id"]),
210
+ },
211
+ {
212
+ name: "pm_learnings",
213
+ description: "List or add learnings on a pm item. Use options.add to capture a learning/insight; omit it to list existing learnings.",
214
+ inputSchema: objectSchema({ id: idSchema, options: { type: "object" } }, ["id"]),
215
+ },
216
+ {
217
+ name: "pm_deps",
218
+ description: "List, add, or remove dependencies for a pm item. Use options.add to declare a dependency and options.remove to drop one; omit both to list current dependencies.",
219
+ inputSchema: objectSchema({ id: idSchema, options: { type: "object" } }, ["id"]),
220
+ },
221
+ {
222
+ name: "pm_test",
223
+ description: "List, add, remove, or run linked tests for a pm item.",
224
+ inputSchema: objectSchema({ id: idSchema, options: { type: "object" } }, ["id"]),
225
+ },
226
+ {
227
+ name: "pm_validate",
228
+ description: "Run pm validation checks.",
229
+ inputSchema: objectSchema({ options: { type: "object" } }),
230
+ },
231
+ {
232
+ name: "pm_health",
233
+ description: "Run pm health diagnostics. Pass options.brief=true for compact low-token details, options.skipIntegrity=true, options.skipDrift=true, options.skipVectors=true for a fast status-only check, or options.full=true for the complete deep check.",
234
+ inputSchema: objectSchema({ options: { type: "object" } }),
235
+ },
236
+ {
237
+ name: "pm_contracts",
238
+ description: "Inspect pm command, flag, schema, and availability contracts.",
239
+ inputSchema: objectSchema({ options: { type: "object" } }),
240
+ },
241
+ {
242
+ name: "pm_schema",
243
+ description: "Inspect or modify the workspace item-type/status schema (pm schema). " +
244
+ "subcommand selects the operation; name carries the item type name (show/add-type/remove-type) or status id (show-status/add-status/remove-status). " +
245
+ "Schema mutations write workspace config files, not item history.",
246
+ inputSchema: objectSchema({
247
+ subcommand: {
248
+ type: "string",
249
+ enum: ["list", "show", "show-status", "add-type", "remove-type", "add-status", "remove-status"],
250
+ description: "Schema subcommand to run.",
251
+ },
252
+ name: {
253
+ type: "string",
254
+ description: "Item type name for show/add-type/remove-type, or status id for show-status/add-status/remove-status. Required for every subcommand except list.",
255
+ },
256
+ description: {
257
+ type: "string",
258
+ description: "Custom item type or status description for add-type/add-status.",
259
+ },
260
+ defaultStatus: { type: "string", description: "Default status for add-type." },
261
+ folder: { type: "string", description: "Storage folder for add-type." },
262
+ alias: {
263
+ type: "array",
264
+ items: { type: "string" },
265
+ description: "Aliases for add-type/add-status.",
266
+ },
267
+ role: {
268
+ type: "array",
269
+ items: { type: "string", enum: [...RUNTIME_STATUS_ROLE_VALUES] },
270
+ description: `Lifecycle roles for add-status: ${RUNTIME_STATUS_ROLE_VALUES.join(", ")}.`,
271
+ },
272
+ order: { type: "number", description: "Display/sort order for add-status." },
273
+ force: { type: "boolean", description: "Override removal guardrails for destructive schema changes when supported." },
274
+ options: { type: "object", description: "Additional schema options using camelCase keys." },
275
+ }, ["subcommand"]),
276
+ },
277
+ {
278
+ name: "pm_config",
279
+ description: "Read or write pm workspace configuration (pm config). " +
280
+ "configAction selects get/set/list/export; key/value address a single setting for get/set. " +
281
+ "scope chooses the project (default) or global settings file.",
282
+ inputSchema: objectSchema({
283
+ configAction: {
284
+ type: "string",
285
+ enum: ["get", "set", "list", "export"],
286
+ description: "Config operation to perform. get/set require key; list/export dump the resolved settings surface.",
287
+ },
288
+ key: {
289
+ type: "string",
290
+ description: "Settings key for get/set, for example governance-require-close-reason, telemetry-tracking, or a nested leaf such as search_provider (dash and underscore variants accepted; configAction=get without a key lists supported keys in the error).",
291
+ },
292
+ value: { type: "string", description: "New value for configAction=set." },
293
+ scope: {
294
+ type: "string",
295
+ enum: ["project", "global"],
296
+ description: "Settings scope to read or write. Defaults to project.",
297
+ },
298
+ options: {
299
+ type: "object",
300
+ description: "Additional config options such as criterion, clearCriteria, format, or policy.",
301
+ },
302
+ }, ["configAction"]),
303
+ },
304
+ {
305
+ name: "pm_plan",
306
+ description: "Run agent-optimized Plan workflows. options.subcommand selects: create|show|add-step|update-step|complete-step|block-step|reorder-step|remove-step|link|unlink|decision|discovery|validation|resume|approve|materialize. Provide id for all non-create subcommands; provide stepRef for step lifecycle subcommands. Plans store agent-readable steps with dependencies, decisions, discoveries, validation, and resume context.",
307
+ inputSchema: objectSchema({
308
+ id: { type: "string", description: "Plan id (required for all subcommands except create)." },
309
+ stepRef: { type: "string", description: "Step id or order for step lifecycle subcommands." },
310
+ reorderTo: { type: "number", description: "New order for reorder-step." },
311
+ options: { type: "object", description: "Plan options including subcommand, stepRef, stepStatus, link, depth, etc." },
312
+ }),
313
+ },
314
+ ];
315
+ export function buildMcpToolContracts() {
316
+ return TOOLS.map((tool) => {
317
+ const schemaRequired = tool.inputSchema["required"];
318
+ const required = Array.isArray(schemaRequired)
319
+ ? schemaRequired.map((entry) => String(entry)).sort((left, right) => left.localeCompare(right))
320
+ : [];
321
+ return {
322
+ name: tool.name,
323
+ description: tool.description,
324
+ required,
325
+ input_schema: tool.inputSchema,
326
+ };
327
+ }).sort((left, right) => left.name.localeCompare(right.name));
328
+ }
329
+ //# sourceMappingURL=tool-definitions.js.map
330
+ //# debugId=6101f461-4390-5960-ae47-ed875ff3ee06
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-definitions.js","sources":["mcp/tool-definitions.ts"],"sourceRoot":"/","sourcesContent":["import { PM_TOOL_ACTIONS } from \"../sdk/cli-contracts/enum-contracts.js\";\nimport { RUNTIME_STATUS_ROLE_VALUES } from \"../types.js\";\n\n/**\n * Static MCP tool surface for the pm MCP server.\n *\n * Kept as a dependency-light data module (only the enum contract import) so the\n * `pm contracts` command can snapshot the tool surface into the contract\n * golden file (pm-4os2) without importing the full MCP server runtime, and so\n * the server itself stays the single consumer of the dispatch handlers.\n */\nexport interface ToolDefinition {\n name: string;\n description: string;\n inputSchema: Record<string, unknown>;\n}\n\nconst TOOL_SCHEMA_BASE = {\n type: \"object\",\n properties: {\n cwd: {\n type: \"string\",\n description: \"Workspace directory to run the native pm operation in. Defaults to the MCP server process cwd.\",\n },\n path: {\n type: \"string\",\n description: \"Optional pm data root, equivalent to PM_PATH/global --path. Leave unset for real repository tracking.\",\n },\n author: {\n type: \"string\",\n description: \"Mutation author. Defaults to PM_AUTHOR or pm settings when supported by the underlying operation.\",\n },\n },\n additionalProperties: true,\n} as const;\n\nconst idSchema = {\n type: \"string\",\n description: \"pm item id, for example pm-abc1.\",\n};\n\n// pm-fd8n: derive the pm_run action enumeration from the canonical\n// PM_TOOL_ACTIONS contract instead of a hand-maintained prose list, so the\n// MCP-facing description can never drift from the actual supported actions.\nconst PM_RUN_ACTION_DESCRIPTION =\n `Operation name (one of): ${PM_TOOL_ACTIONS.join(\", \")}. ` +\n \"Package-owned actions (for example calendar/templates/guide/dedupe-audit/normalize/reindex/comments-audit/completion/test-runs-list/test-runs-status/test-runs-logs/test-runs-stop/test-runs-resume) are available dynamically when installed.\";\n\nconst LIST_TOP_LEVEL_OPTION_PROPERTIES: Record<string, unknown> = {\n status: { type: \"string\", description: \"Alias for options.status.\" },\n type: { type: \"string\", description: \"Alias for options.type.\" },\n tag: { type: \"string\", description: \"Alias for options.tag.\" },\n priority: { type: \"string\", description: \"Alias for options.priority.\" },\n limit: { type: [\"string\", \"number\"], description: \"Alias for options.limit.\" },\n offset: { type: [\"string\", \"number\"], description: \"Alias for options.offset.\" },\n};\n\nconst SEARCH_TOP_LEVEL_OPTION_PROPERTIES: Record<string, unknown> = {\n mode: { type: \"string\", description: \"Alias for options.mode.\" },\n status: { type: \"string\", description: \"Alias for options.status.\" },\n type: { type: \"string\", description: \"Alias for options.type.\" },\n tag: { type: \"string\", description: \"Alias for options.tag.\" },\n priority: { type: \"string\", description: \"Alias for options.priority.\" },\n limit: { type: [\"string\", \"number\"], description: \"Alias for options.limit.\" },\n};\n\nfunction objectSchema(properties: Record<string, unknown>, required: string[] = []): Record<string, unknown> {\n return {\n ...TOOL_SCHEMA_BASE,\n properties: {\n ...TOOL_SCHEMA_BASE.properties,\n ...properties,\n },\n required,\n };\n}\n\nexport const TOOLS: ToolDefinition[] = [\n {\n name: \"pm_run\",\n description:\n \"Run any supported pm operation natively through the pm library. Use this for commands not covered by narrower pm_* tools.\",\n inputSchema: objectSchema(\n {\n action: {\n type: \"string\",\n description: PM_RUN_ACTION_DESCRIPTION,\n },\n id: idSchema,\n query: { type: \"string\", description: \"Search query for action=search.\" },\n reason: { type: \"string\", description: \"Close reason for action=close.\" },\n force: { type: \"boolean\", description: \"Force ownership/terminal-state override when supported.\" },\n // pm-v68d: the schema-specific subcommand enum and add-type/add-status\n // properties migrated to the dedicated pm_schema tool. action=schema\n // still accepts them as passthrough, but agents should prefer pm_schema.\n subcommand: {\n type: \"string\",\n description:\n \"Subcommand selector for actions that take one (for example telemetry, or schema — prefer the dedicated pm_schema tool for schema operations).\",\n },\n options: { type: \"object\", description: \"Underlying pm command options using camelCase keys.\" },\n fullChangedFields: {\n type: \"boolean\",\n description:\n \"For mutation actions, return the full changed_fields array instead of the default changed_field_count.\",\n },\n idOnly: {\n type: \"boolean\",\n description: \"For single-item mutation actions, return only id and status.\",\n },\n },\n [\"action\"],\n ),\n },\n {\n name: \"pm_context\",\n description: \"Return the agent-oriented project context snapshot.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_search\",\n description:\n \"Search pm items with keyword, semantic, or hybrid search. \" +\n \"Defaults to a compact projection for token efficiency. \" +\n \"Pass options.mode=keyword|semantic|hybrid, options.limit=N to cap hits, \" +\n \"options.fields='id,title,score' for a custom projection, or options.full=true for full item bodies (can be large). \" +\n \"The result echoes the applied filters and projection mode in query_summary.\",\n inputSchema: objectSchema({ query: { type: \"string\" }, options: { type: \"object\" }, ...SEARCH_TOP_LEVEL_OPTION_PROPERTIES }, [\"query\"]),\n },\n {\n name: \"pm_list\",\n description:\n \"List pm items with status/type/tag/priority filters. Defaults to compact projection for token efficiency. \" +\n \"options.status accepts CSV (open,in_progress). \" +\n \"Pass options.compact=false or options.includeBody=true for full bodies/comments. \" +\n \"Pass options.brief=true for ultra-terse (id/status/type/title only). \" +\n \"Pass options.fields='id,title,priority' for custom projection. \" +\n \"Pass options.limit=N to cap row count. \" +\n \"The result echoes the applied filters and projection mode in query_summary.\",\n inputSchema: objectSchema({ options: { type: \"object\" }, ...LIST_TOP_LEVEL_OPTION_PROPERTIES }),\n },\n {\n name: \"pm_get\",\n description:\n \"Read one pm item. Pass options.depth='brief' or options.fields='id,title,status' for low-token inspection.\",\n inputSchema: objectSchema({\n id: idSchema,\n options: { type: \"object\", description: \"Get options such as depth=brief|standard|deep|full or fields=id,title,status.\" },\n }, [\"id\"]),\n },\n {\n name: \"pm_create\",\n description:\n \"Create a pm item natively and write pm history. \" +\n \"Output is compact by default (changed_fields replaced with changed_field_count for token efficiency); pass fullChangedFields=true for the full changed_fields array.\",\n inputSchema: objectSchema(\n {\n fullChangedFields: { type: \"boolean\", description: \"Return full changed_fields instead of changed_field_count.\" },\n allowMissingParent: { type: \"boolean\", description: \"Allow unresolved parent references and emit a validation warning.\" },\n options: { type: \"object\", description: \"Create options. title and description are required.\" },\n },\n [\"options\"],\n ),\n },\n {\n name: \"pm_copy\",\n description:\n \"Copy an existing pm item into a new id while resetting lifecycle fields. \" +\n \"Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields array.\",\n inputSchema: objectSchema(\n {\n id: idSchema,\n fullChangedFields: { type: \"boolean\", description: \"Return full changed_fields instead of changed_field_count.\" },\n options: { type: \"object\", description: \"Copy options such as title override, author, and message.\" },\n },\n [\"id\"],\n ),\n },\n {\n name: \"pm_update\",\n description:\n \"Update pm item metadata/body/dependencies/log seeds natively. \" +\n \"Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields delta.\",\n inputSchema: objectSchema(\n {\n id: idSchema,\n fullChangedFields: { type: \"boolean\", description: \"Return full changed_fields instead of changed_field_count.\" },\n options: { type: \"object\" },\n },\n [\"id\", \"options\"],\n ),\n },\n {\n name: \"pm_append\",\n description:\n \"Append markdown text to a pm item body and write pm history. Useful for seeding evidence/log entries before close. \" +\n \"Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields array.\",\n inputSchema: objectSchema(\n {\n id: idSchema,\n body: {\n type: \"string\",\n description: \"Markdown text to append to the item body. Required here or as options.body.\",\n },\n fullChangedFields: { type: \"boolean\", description: \"Return full changed_fields instead of changed_field_count.\" },\n options: { type: \"object\", description: \"Append options such as body, author, and message.\" },\n },\n [\"id\"],\n ),\n },\n {\n name: \"pm_claim\",\n description: \"Claim a pm item.\",\n inputSchema: objectSchema({ id: idSchema, force: { type: \"boolean\" }, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_release\",\n description: \"Release a pm item claim.\",\n inputSchema: objectSchema({ id: idSchema, force: { type: \"boolean\" }, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_close\",\n description:\n \"Close a pm item with optional close reason and optional close validation (reason requirement follows governance settings). \" +\n \"Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields array.\",\n inputSchema: objectSchema(\n {\n id: idSchema,\n reason: { type: \"string\", description: \"Close reason text when provided or required by governance settings.\" },\n duplicateOf: { type: \"string\", description: \"Canonical item id when closing this item as a duplicate.\" },\n fullChangedFields: { type: \"boolean\", description: \"Return full changed_fields instead of changed_field_count.\" },\n idOnly: { type: \"boolean\", description: \"Return only id and status.\" },\n options: { type: \"object\" },\n },\n [\"id\"],\n ),\n },\n {\n name: \"pm_comments\",\n description:\n \"List or add comments on a pm item. Use options.add to append. \" +\n \"List calls default to the most recent 20 comments with total_count/has_more metadata for token efficiency. \" +\n \"Pass options.limit=N to choose a page size, options.limit=0 for summary-only metadata, or options.full=true for full history.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_files\",\n description: \"List, add, remove, audit, or validate linked files for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_docs\",\n description: \"List, add, or remove linked docs for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_notes\",\n description:\n \"List or add structured notes on a pm item. Use options.add to append a note; omit it to list existing notes.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_learnings\",\n description:\n \"List or add learnings on a pm item. Use options.add to capture a learning/insight; omit it to list existing learnings.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_deps\",\n description:\n \"List, add, or remove dependencies for a pm item. Use options.add to declare a dependency and options.remove to drop one; omit both to list current dependencies.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_test\",\n description: \"List, add, remove, or run linked tests for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_validate\",\n description: \"Run pm validation checks.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_health\",\n description: \"Run pm health diagnostics. Pass options.brief=true for compact low-token details, options.skipIntegrity=true, options.skipDrift=true, options.skipVectors=true for a fast status-only check, or options.full=true for the complete deep check.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_contracts\",\n description: \"Inspect pm command, flag, schema, and availability contracts.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_schema\",\n description:\n \"Inspect or modify the workspace item-type/status schema (pm schema). \" +\n \"subcommand selects the operation; name carries the item type name (show/add-type/remove-type) or status id (show-status/add-status/remove-status). \" +\n \"Schema mutations write workspace config files, not item history.\",\n inputSchema: objectSchema(\n {\n subcommand: {\n type: \"string\",\n enum: [\"list\", \"show\", \"show-status\", \"add-type\", \"remove-type\", \"add-status\", \"remove-status\"],\n description: \"Schema subcommand to run.\",\n },\n name: {\n type: \"string\",\n description:\n \"Item type name for show/add-type/remove-type, or status id for show-status/add-status/remove-status. Required for every subcommand except list.\",\n },\n description: {\n type: \"string\",\n description: \"Custom item type or status description for add-type/add-status.\",\n },\n defaultStatus: { type: \"string\", description: \"Default status for add-type.\" },\n folder: { type: \"string\", description: \"Storage folder for add-type.\" },\n alias: {\n type: \"array\",\n items: { type: \"string\" },\n description: \"Aliases for add-type/add-status.\",\n },\n role: {\n type: \"array\",\n items: { type: \"string\", enum: [...RUNTIME_STATUS_ROLE_VALUES] },\n description: `Lifecycle roles for add-status: ${RUNTIME_STATUS_ROLE_VALUES.join(\", \")}.`,\n },\n order: { type: \"number\", description: \"Display/sort order for add-status.\" },\n force: { type: \"boolean\", description: \"Override removal guardrails for destructive schema changes when supported.\" },\n options: { type: \"object\", description: \"Additional schema options using camelCase keys.\" },\n },\n [\"subcommand\"],\n ),\n },\n {\n name: \"pm_config\",\n description:\n \"Read or write pm workspace configuration (pm config). \" +\n \"configAction selects get/set/list/export; key/value address a single setting for get/set. \" +\n \"scope chooses the project (default) or global settings file.\",\n inputSchema: objectSchema(\n {\n configAction: {\n type: \"string\",\n enum: [\"get\", \"set\", \"list\", \"export\"],\n description: \"Config operation to perform. get/set require key; list/export dump the resolved settings surface.\",\n },\n key: {\n type: \"string\",\n description:\n \"Settings key for get/set, for example governance-require-close-reason, telemetry-tracking, or a nested leaf such as search_provider (dash and underscore variants accepted; configAction=get without a key lists supported keys in the error).\",\n },\n value: { type: \"string\", description: \"New value for configAction=set.\" },\n scope: {\n type: \"string\",\n enum: [\"project\", \"global\"],\n description: \"Settings scope to read or write. Defaults to project.\",\n },\n options: {\n type: \"object\",\n description: \"Additional config options such as criterion, clearCriteria, format, or policy.\",\n },\n },\n [\"configAction\"],\n ),\n },\n {\n name: \"pm_plan\",\n description:\n \"Run agent-optimized Plan workflows. options.subcommand selects: create|show|add-step|update-step|complete-step|block-step|reorder-step|remove-step|link|unlink|decision|discovery|validation|resume|approve|materialize. Provide id for all non-create subcommands; provide stepRef for step lifecycle subcommands. Plans store agent-readable steps with dependencies, decisions, discoveries, validation, and resume context.\",\n inputSchema: objectSchema({\n id: { type: \"string\", description: \"Plan id (required for all subcommands except create).\" },\n stepRef: { type: \"string\", description: \"Step id or order for step lifecycle subcommands.\" },\n reorderTo: { type: \"number\", description: \"New order for reorder-step.\" },\n options: { type: \"object\", description: \"Plan options including subcommand, stepRef, stepStatus, link, depth, etc.\" },\n }),\n },\n];\n\n/**\n * Stable projection of one MCP tool definition for the contract golden file\n * (pm-4os2): tool name, description, required top-level fields, and the full\n * inputSchema shape. Any drift (typo'd property, dropped required field,\n * changed TOOL_SCHEMA_BASE) shows up in `pnpm contracts:check`.\n */\nexport interface McpToolContract {\n name: string;\n description: string;\n required: string[];\n input_schema: Record<string, unknown>;\n}\n\nexport function buildMcpToolContracts(): McpToolContract[] {\n return TOOLS.map((tool) => {\n const schemaRequired = tool.inputSchema[\"required\"];\n const required = Array.isArray(schemaRequired)\n ? schemaRequired.map((entry) => String(entry)).sort((left, right) => left.localeCompare(right))\n : [];\n return {\n name: tool.name,\n description: tool.description,\n required,\n input_schema: tool.inputSchema,\n };\n }).sort((left, right) => left.name.localeCompare(right.name));\n}\n"],"names":[],"mappings":"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","debugId":"6101f461-4390-5960-ae47-ed875ff3ee06"}
@@ -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]="28cc182a-a139-5258-a9c6-5cc6b60e18c3")}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]="94debfc3-fbc8-5417-83a4-05126242aa06")}catch(e){}}();
3
3
  import { PLAN_HARNESS_VALUES, PLAN_MODE_VALUES, PLAN_STEP_LINK_KIND_VALUES, PLAN_STEP_STATUS_VALUES, } from "../../types/index.js";
4
4
  export const PM_TOOL_PARAMETER_PROPERTIES = {
5
5
  json: { type: "boolean", default: true },
@@ -203,6 +203,9 @@ export const PM_TOOL_PARAMETER_PROPERTIES = {
203
203
  strictExit: { type: "boolean" },
204
204
  failOnWarn: { type: "boolean" },
205
205
  fixHints: { type: "boolean" },
206
+ autoFix: { type: "boolean" },
207
+ fixScope: { type: "array", items: { type: "string", enum: ["metadata", "resolution", "lifecycle"] } },
208
+ pruneMissing: { type: "boolean" },
206
209
  checkHistoryDrift: { type: "boolean" },
207
210
  checkCommandReferences: { type: "boolean" },
208
211
  allowAuditNote: { type: "boolean" },
@@ -212,6 +215,7 @@ export const PM_TOOL_PARAMETER_PROPERTIES = {
212
215
  allowAuditDepUpdate: { type: "boolean" },
213
216
  allowAuditRelease: { type: "boolean" },
214
217
  dryRun: { type: "boolean" },
218
+ all: { type: "boolean" },
215
219
  cliOnly: { type: "boolean" },
216
220
  packagesOnly: { type: "boolean" },
217
221
  repair: { type: "boolean" },
@@ -251,6 +255,10 @@ export const PM_TOOL_PARAMETER_PROPERTIES = {
251
255
  discover: { type: "boolean" },
252
256
  apply: { type: "boolean" },
253
257
  discoveryNote: { type: "string" },
258
+ // GH-170 (pm-pfnx): single-string note for files/docs add batches (the shared
259
+ // `note` key below is the array-typed create/update note seed).
260
+ addNote: { type: "string" },
261
+ list: { type: "boolean" },
254
262
  appendStable: { type: "boolean" },
255
263
  validatePaths: { type: "boolean" },
256
264
  audit: { type: "boolean" },
@@ -322,6 +330,9 @@ export const PLAN_ACTION_PARAMETER_PROPERTIES = {
322
330
  claim: { type: "boolean" },
323
331
  fromSearch: { type: "string" },
324
332
  stepTitle: { type: "string" },
333
+ // pm-6mit: ordered step titles for create (string or array; values are never
334
+ // comma-split). On step subcommands a single value aliases stepTitle.
335
+ step: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
325
336
  stepBody: { type: "string" },
326
337
  stepOwner: { type: "string" },
327
338
  stepStatus: { type: "string", enum: [...PLAN_STEP_STATUS_VALUES] },
@@ -373,6 +384,10 @@ export const PLAN_ACTION_PARAMETER_METADATA = {
373
384
  description: "Plan lifecycle mode.",
374
385
  examples: ["draft", "research", "approved"],
375
386
  },
387
+ step: {
388
+ description: "Ordered initial step titles for create (string or array, never comma-split; stepTitle, when also set, becomes the first step). For step subcommands a single value aliases stepTitle.",
389
+ examples: [["Read the code", "Write the fix", "Run the tests"]],
390
+ },
376
391
  file: {
377
392
  description: "File link to attach while creating or materializing a Plan.",
378
393
  examples: ["path=src/cli.ts,note=implementation surface"],
@@ -707,6 +722,9 @@ export const PM_TOOL_PARAMETER_METADATA = {
707
722
  dryRun: {
708
723
  description: "Preview command effects without mutating storage artifacts.",
709
724
  },
725
+ all: {
726
+ description: "For history-repair action: scan every stream for drift and repair each drifted stream in one audited pass (mutually exclusive with id).",
727
+ },
710
728
  gcScope: {
711
729
  description: "Repeatable gc scope selector values (index, embeddings, runtime, locks).",
712
730
  examples: [["index", "embeddings"], ["runtime"], ["locks"]],
@@ -821,6 +839,16 @@ export const PM_TOOL_PARAMETER_METADATA = {
821
839
  fixHints: {
822
840
  description: "For validate action, add a machine-executable fix_hints[] of pm commands to each failing check's details.",
823
841
  },
842
+ autoFix: {
843
+ description: "For validate action, apply the safe, deterministic subset of fix-hint remediations (field backfills) automatically; combine with dryRun to preview and fixScope to grant gated scopes.",
844
+ },
845
+ fixScope: {
846
+ description: "For validate action, grant --auto-fix scopes (metadata, resolution, lifecycle). Defaults to the safe scopes metadata and resolution; lifecycle must be named explicitly.",
847
+ examples: [["lifecycle"], ["metadata", "resolution"]],
848
+ },
849
+ pruneMissing: {
850
+ description: "For validate action, remove stale linked-file/doc LINKS whose paths classified as deleted (link removal only — never touches real files); honors dryRun.",
851
+ },
824
852
  checkHistoryDrift: {
825
853
  description: "Run item/history hash drift checks.",
826
854
  },
@@ -869,6 +897,14 @@ export const PM_TOOL_PARAMETER_METADATA = {
869
897
  description: "Note attached to file links added by files discovery.",
870
898
  examples: ["discovered from item text"],
871
899
  },
900
+ addNote: {
901
+ description: "Note attached to every link added by add/addGlob in this call (per-entry embedded note= wins; requires add or addGlob). Maps to the CLI --note flag on pm files/pm docs.",
902
+ examples: ["command wiring"],
903
+ },
904
+ list: {
905
+ description: "When true for files/docs action, list the current linked paths without mutating them.",
906
+ examples: [true],
907
+ },
872
908
  stream: {
873
909
  description: "Stream selector: test-runs logs accepts stdout|stderr|both; activity accepts boolean/rows|ndjson|jsonl for line-delimited output.",
874
910
  examples: ["stderr", "stdout", "both", "rows", "ndjson", "jsonl", true],
@@ -996,4 +1032,4 @@ export const PM_TOOL_PARAMETER_METADATA = {
996
1032
  },
997
1033
  };
998
1034
  //# sourceMappingURL=tool-parameter-tables.js.map
999
- //# debugId=28cc182a-a139-5258-a9c6-5cc6b60e18c3
1035
+ //# debugId=94debfc3-fbc8-5417-83a4-05126242aa06