@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
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../../core/history/drift-scan.ts", "../../../../../../../../core/diagnostics/remediation.ts"],
4
- "sourcesContent": ["import fs from \"fs/promises\";\nimport { createHash } from \"node:crypto\";\nimport path from \"node:path\";\nimport { getHistoryPath } from \"../store/paths.js\";\nimport { writeFileAtomic } from \"../fs/fs-utils.js\";\nimport { hashDocument } from \"./history.js\";\nimport { verifyHistoryChain } from \"./replay.js\";\nimport type { HistoryEntry, ItemMetadata } from \"../../types/index.js\";\n\nexport interface DriftScanResult {\n missingStreams: string[];\n unreadableStreams: string[];\n hashMismatches: string[];\n chainMismatches: string[];\n driftedItems: string[];\n}\n\nconst DRIFT_CACHE_VERSION = 2;\nconst DRIFT_CACHE_FILENAME = \"history-drift-cache.json\";\n\ninterface DriftCacheEntry {\n mtime_ms: number;\n ctime_ms: number;\n size: number;\n content_hash: string;\n latest_after_hash: string;\n chain_ok: boolean;\n}\n\ninterface DriftCacheEnvelope {\n version: number;\n entries: Record<string, DriftCacheEntry>;\n}\n\nfunction getDriftCachePath(pmRoot: string): string {\n return path.join(pmRoot, \"runtime\", DRIFT_CACHE_FILENAME);\n}\n\nasync function loadDriftCache(pmRoot: string): Promise<DriftCacheEnvelope | null> {\n try {\n const raw = await fs.readFile(getDriftCachePath(pmRoot), \"utf8\");\n const parsed = JSON.parse(raw) as DriftCacheEnvelope;\n if (parsed.version !== DRIFT_CACHE_VERSION || typeof parsed.entries !== \"object\" || parsed.entries === null) {\n return null;\n }\n return parsed;\n } catch {\n return null;\n }\n}\n\nfunction isErrno(error: unknown, code: string): boolean {\n return typeof error === \"object\" && error !== null && \"code\" in error && (error as { code?: string }).code === code;\n}\n\ninterface StreamVerification {\n latestAfterHash: string;\n chainOk: boolean;\n contentHash: string;\n}\n\nfunction hashContent(raw: string): string {\n return createHash(\"sha256\").update(raw).digest(\"hex\");\n}\n\nasync function readHistoryContentHash(historyPath: string): Promise<string> {\n const raw = await fs.readFile(historyPath, \"utf8\");\n return hashContent(raw);\n}\n\n/**\n * Read and fully verify one history stream's hash chain. Returns null for an\n * empty/missing stream (caller records it as a missing stream).\n */\nasync function verifyHistoryStream(historyPath: string): Promise<StreamVerification | null> {\n const raw = await fs.readFile(historyPath, \"utf8\");\n const contentHash = hashContent(raw);\n if (raw.trim().length === 0) {\n return null;\n }\n const entries: HistoryEntry[] = [];\n let latestAfterHash: string | null = null;\n for (const line of raw.split(/\\r?\\n/)) {\n const trimmed = line.trim();\n if (trimmed.length === 0) {\n continue;\n }\n const parsed = JSON.parse(trimmed) as HistoryEntry;\n if (typeof parsed.after_hash !== \"string\" || parsed.after_hash.trim().length === 0) {\n throw new Error(\"missing after_hash\");\n }\n entries.push(parsed);\n latestAfterHash = parsed.after_hash;\n }\n /* c8 ignore start -- defensive guard for future history schema changes. */\n if (!latestAfterHash) {\n return null;\n }\n /* c8 ignore stop */\n return {\n latestAfterHash,\n chainOk: verifyHistoryChain(entries).ok,\n contentHash,\n };\n}\n\n/**\n * Scan every item's history stream for drift (missing/unreadable streams, broken\n * hash chains, and item/history hash mismatches).\n *\n * Full chain re-verification of a 17MB+ history tree is the dominant cost of\n * `pm health`. We cache the per-stream verification keyed by the history file's\n * mtime/ctime/size + content hash: metadata-stable replacements (same stat tuple)\n * can still happen, so each metadata hit recomputes a content hash guard before\n * trusting the cached chain/hash verification.\n */\nexport async function scanHistoryDrift(\n pmRoot: string,\n items: Array<ItemMetadata & { body: string }>,\n): Promise<DriftScanResult> {\n const missingStreams: string[] = [];\n const unreadableStreams: string[] = [];\n const hashMismatches: string[] = [];\n const chainMismatches: string[] = [];\n\n const cache = await loadDriftCache(pmRoot);\n const previousEntries: Record<string, DriftCacheEntry> = cache?.entries ?? {};\n const nextEntries: Record<string, DriftCacheEntry> = {};\n let cacheDirty = false;\n\n for (const item of items) {\n const historyPath = getHistoryPath(pmRoot, item.id);\n\n let stat: Awaited<ReturnType<typeof fs.stat>>;\n try {\n stat = await fs.stat(historyPath);\n } catch (error: unknown) {\n if (isErrno(error, \"ENOENT\")) {\n missingStreams.push(item.id);\n } else {\n unreadableStreams.push(item.id);\n }\n continue;\n }\n\n const loadStreamVerification = async (): Promise<StreamVerification | null | \"unreadable\"> => {\n try {\n return await verifyHistoryStream(historyPath);\n } catch {\n return \"unreadable\";\n }\n };\n\n const loadFreshVerification = async (): Promise<StreamVerification | null> => {\n const loaded = await loadStreamVerification();\n if (loaded === \"unreadable\") {\n unreadableStreams.push(item.id);\n return null;\n }\n if (!loaded) {\n missingStreams.push(item.id);\n return null;\n }\n return loaded;\n };\n\n const cached = previousEntries[item.id];\n let verification: StreamVerification;\n const metadataMatchesCache =\n cached !== undefined &&\n cached.mtime_ms === stat.mtimeMs &&\n cached.ctime_ms === stat.ctimeMs &&\n cached.size === stat.size;\n const cachedContentHash =\n typeof cached?.content_hash === \"string\" && cached.content_hash.length > 0 ? cached.content_hash : undefined;\n const canUseCache = metadataMatchesCache && cachedContentHash !== undefined;\n if (canUseCache && cached) {\n let currentContentHash: string;\n try {\n currentContentHash = await readHistoryContentHash(historyPath);\n } catch {\n unreadableStreams.push(item.id);\n continue;\n }\n if (currentContentHash === cachedContentHash) {\n verification = {\n latestAfterHash: cached.latest_after_hash,\n chainOk: cached.chain_ok,\n contentHash: currentContentHash,\n };\n } else {\n cacheDirty = true;\n const refreshed = await loadFreshVerification();\n if (!refreshed) {\n continue;\n }\n verification = refreshed;\n }\n } else {\n cacheDirty = true;\n const refreshed = await loadFreshVerification();\n if (!refreshed) {\n continue;\n }\n verification = refreshed;\n }\n\n if (!verification.chainOk) {\n chainMismatches.push(item.id);\n }\n nextEntries[item.id] = {\n mtime_ms: stat.mtimeMs,\n ctime_ms: stat.ctimeMs,\n size: stat.size,\n content_hash: verification.contentHash,\n latest_after_hash: verification.latestAfterHash,\n chain_ok: verification.chainOk,\n };\n\n const { body, ...frontMatter } = item;\n const currentHash = hashDocument({\n metadata: frontMatter as ItemMetadata,\n body,\n });\n if (currentHash !== verification.latestAfterHash) {\n hashMismatches.push(item.id);\n }\n }\n\n if (cacheDirty || Object.keys(previousEntries).length !== Object.keys(nextEntries).length) {\n const cachePath = getDriftCachePath(pmRoot);\n try {\n await fs.mkdir(path.dirname(cachePath), { recursive: true });\n await writeFileAtomic(cachePath, JSON.stringify({ version: DRIFT_CACHE_VERSION, entries: nextEntries }));\n } catch {\n // Best-effort cache write: a failed persist must never fail a health scan.\n }\n }\n\n const driftedItems = [...new Set([...missingStreams, ...unreadableStreams, ...hashMismatches, ...chainMismatches])].sort((a, b) =>\n a.localeCompare(b),\n );\n return { missingStreams, unreadableStreams, hashMismatches, chainMismatches, driftedItems };\n}\n", "/**\n * Shared machine-executable remediation registry.\n *\n * `pm health` and `pm validate` both emit stable, colon-delimited warning tokens\n * (for example `history_drift_missing_stream:pm-abcd` or\n * `validate_resolution_missing_fields:3`). Agents that gate on these commands\n * previously had to hardcode the mapping from a warning code to the `pm` command\n * that fixes it. This module is the single source of truth for that mapping so\n * `pm health --json` (per-check `remediation_map`) and `pm validate --fix-hints`\n * (per-check `fix_hints`) can both surface executable remediation without any\n * duplicated, drift-prone lookup tables.\n *\n * Semantics of {@link RemediationEntry.command}: the suggested next `pm` command\n * an operator/agent should run to resolve findings with that code. Per-item\n * findings use an `<id>` placeholder (callers that have the concrete id may\n * substitute it); findings whose only fix is a manual file edit point at the\n * most useful diagnostic/repair command and describe the manual step in\n * {@link RemediationEntry.summary}.\n */\n\nexport interface RemediationEntry {\n /**\n * Stable warning-code prefix this entry resolves. A warning matches when it\n * equals this code or begins with `<code>:`. Registry codes are mutually\n * exclusive under that colon-boundary rule (no code is a `:`-delimited prefix\n * of another — e.g. `settings:id_prefix_empty` is distinct from a bare\n * `settings`, which is intentionally not registered), so `resolveRemediation`\n * uses first-match with no ordering dependency.\n */\n readonly code: string;\n /** Executable `pm` command (or imperative) that resolves the finding. May contain an `<id>` placeholder. */\n readonly command: string;\n /** One-line description of what the command does / which manual step it covers. */\n readonly summary: string;\n}\n\n/**\n * Registry of every non-extension `pm health` / `pm validate` warning code and\n * its remediation. Extension findings keep their richer, contextual\n * `details.triage.remediation` produced by the extension health triage and are\n * intentionally excluded here (see pm-0hnu: \"all non-extension checks\").\n */\nexport const REMEDIATION_REGISTRY: readonly RemediationEntry[] = Object.freeze([\n // --- pm health: directories ---\n {\n code: \"missing_directory\",\n command: \"pm init\",\n summary: \"Recreate missing tracker directories (pm init is idempotent and restores the scaffold).\",\n },\n // --- pm health: settings (read/parse) ---\n {\n code: \"settings_read_invalid_json\",\n command: \"pm config list --json\",\n summary:\n \"settings.json is not valid JSON and pm fell back to defaults; fix the syntax error in the reported path, then re-run.\",\n },\n {\n code: \"settings_read_invalid_schema\",\n command: \"pm config list --json\",\n summary:\n \"settings.json failed schema validation and pm fell back to defaults; correct the reported key in the file, then re-run.\",\n },\n {\n code: \"settings_read_merge_failed\",\n command: \"pm config list --json\",\n summary: \"Global/project settings could not be merged; reconcile the conflicting keys in the reported settings files.\",\n },\n // --- pm health: settings_values ---\n {\n code: \"settings:id_prefix_empty\",\n command: \"pm config list --json\",\n summary: 'id_prefix is empty; set a non-empty \"id_prefix\" in settings.json so generated item ids are well-formed.',\n },\n {\n code: \"settings:locks_ttl_non_positive\",\n command: \"pm config list --json\",\n summary: 'locks.ttl_seconds must be positive; set a positive \"locks.ttl_seconds\" in settings.json.',\n },\n // --- pm health: telemetry (advisory) ---\n {\n code: \"telemetry_state_invalid_json\",\n command: \"pm health --check-telemetry\",\n summary: \"Local telemetry state file is corrupt; pm recreates it on the next flush. Advisory only.\",\n },\n {\n code: \"telemetry_queue_invalid_rows\",\n command: \"pm health --check-telemetry\",\n summary: \"The telemetry queue has unparseable rows; they are skipped on the next flush. Advisory only.\",\n },\n {\n code: \"telemetry_queue_pending\",\n command: \"pm health --check-telemetry\",\n summary: \"Telemetry events are queued; they flush automatically on the next reachable command. Advisory only.\",\n },\n {\n code: \"telemetry_queue_high_retries\",\n command: \"pm telemetry flush\",\n summary:\n \"Some queued telemetry events are near retry exhaustion; flush now and verify endpoint reachability before entries are dropped.\",\n },\n {\n code: \"telemetry_endpoint_probe_failed\",\n command: \"pm health --check-telemetry\",\n summary: \"The telemetry endpoint is unreachable; events stay queued until it recovers. Advisory only.\",\n },\n {\n code: \"telemetry_endpoint_probe_http_status\",\n command: \"pm health --check-telemetry\",\n summary: \"The telemetry endpoint returned a non-success status; events stay queued until it recovers. Advisory only.\",\n },\n {\n code: \"telemetry_schema_version_behind\",\n command: \"pm health --check-telemetry\",\n summary: \"Client schema is behind server; upgrade pm-cli to emit the latest event shape.\",\n },\n // --- pm health: integrity ---\n {\n code: \"integrity_item_unreadable\",\n command: \"pm validate --check-files --verbose-diagnostics\",\n summary: \"An item file could not be read; restore or repair the file at the reported path.\",\n },\n {\n code: \"integrity_item_parse_failed\",\n command: \"pm validate --check-files --verbose-diagnostics\",\n summary: \"An item file failed to parse; fix the malformed front matter at the reported path.\",\n },\n {\n code: \"integrity_item_conflict_marker\",\n command: \"pm validate --check-files --verbose-diagnostics\",\n summary: \"An item file contains Git conflict markers; resolve the <<<<<<< / >>>>>>> markers at the reported line.\",\n },\n {\n code: \"integrity_history_unreadable\",\n command: \"pm history-repair <id>\",\n summary: \"A history stream could not be read; re-anchor the affected item's history chain.\",\n },\n {\n code: \"integrity_history_invalid_json\",\n command: \"pm history-repair <id>\",\n summary: \"A history stream contains invalid JSON; re-anchor the affected item's history chain.\",\n },\n {\n code: \"integrity_history_conflict_marker\",\n command: \"pm history-repair <id>\",\n summary: \"A history stream contains Git conflict markers; resolve the markers, then re-anchor the chain.\",\n },\n // --- pm health: history_drift ---\n {\n code: \"history_drift_missing_stream\",\n command: \"pm history-repair <id>\",\n summary: \"The item has no history stream; re-anchor the chain to rebuild it.\",\n },\n {\n code: \"history_drift_unreadable_stream\",\n command: \"pm history-repair <id>\",\n summary: \"The item's history stream is unreadable; re-anchor the chain.\",\n },\n {\n code: \"history_drift_hash_mismatch\",\n command: \"pm history-repair <id>\",\n summary: \"The item's content hash no longer matches its history; re-anchor the chain.\",\n },\n {\n code: \"history_drift_chain_mismatch\",\n command: \"pm history-repair <id>\",\n summary: \"The item's history chain is broken; re-anchor the chain.\",\n },\n // --- pm health: vectorization ---\n {\n code: \"vectorization_stale_items_remaining\",\n command: \"pm health --refresh-vectors\",\n summary: \"Some items have stale embeddings; refresh vectors so semantic search results stay current.\",\n },\n {\n code: \"vectorization_embedding_identity_changed\",\n command: \"pm reindex --mode semantic\",\n summary: \"Embedding provider/model changed since the last index; run a semantic reindex to rebuild vectors.\",\n },\n // --- pm validate: metadata ---\n // Note: validate_metadata_missing_author has no entry on purpose. `pm update\n // --author` sets the mutation/audit author (history), not the item's\n // `metadata.author` front-matter field, and there is no CLI flag that writes\n // that field — so emitting a command here would record an audit entry without\n // clearing the finding. A missing item author must be restored at the source.\n {\n code: \"validate_metadata_missing_acceptance_criteria\",\n command: 'pm update <id> --acceptance-criteria \"<criteria>\"',\n summary: \"Backfill the missing acceptance criteria on the reported item(s).\",\n },\n {\n code: \"validate_metadata_missing_estimate\",\n command: 'pm update <id> --estimate \"<estimate>\"',\n summary: \"Backfill the missing estimate on the reported item(s).\",\n },\n {\n code: \"validate_metadata_missing_close_reason\",\n command: 'pm update <id> --close-reason \"<reason>\"',\n summary: \"Backfill the missing close reason on the reported closed item(s).\",\n },\n {\n code: \"validate_metadata_missing_reviewer\",\n command: 'pm update <id> --reviewer \"<name>\"',\n summary: \"Backfill the missing reviewer on the reported item(s).\",\n },\n {\n code: \"validate_metadata_missing_risk\",\n command: 'pm update <id> --risk \"<level>\"',\n summary: \"Backfill the missing risk on the reported item(s).\",\n },\n {\n code: \"validate_metadata_missing_confidence\",\n command: 'pm update <id> --confidence \"<level>\"',\n summary: \"Backfill the missing confidence on the reported item(s).\",\n },\n {\n code: \"validate_metadata_missing_sprint\",\n command: 'pm update <id> --sprint \"<sprint>\"',\n summary: \"Backfill the missing sprint on the reported item(s).\",\n },\n {\n code: \"validate_metadata_missing_release\",\n command: 'pm update <id> --release \"<release>\"',\n summary: \"Backfill the missing release on the reported item(s).\",\n },\n {\n code: \"validate_metadata_custom_profile_missing_required_fields\",\n command: 'pm config set metadata-required-fields --criterion \"<field>\"',\n summary:\n \"Config-driven finding: the custom metadata profile has no required fields configured and falls back to core, so configure the fields rather than mutating items.\",\n },\n // --- pm validate: resolution ---\n {\n code: \"validate_resolution_missing_fields\",\n command: 'pm update <id> --resolution \"<how resolved>\"',\n summary: \"Backfill resolution / expected_result / actual_result on the reported closed item(s).\",\n },\n // --- pm validate: lifecycle ---\n {\n code: \"validate_lifecycle_active_closure_like_metadata\",\n command: \"pm update <id> --unset <closure-like-field>\",\n summary:\n \"Clear the closure-like field the validator flags on this active item — the detail row names it (resolution / actual-result / blocked-reason) — or close the item if it is actually done.\",\n },\n {\n code: \"validate_lifecycle_active_terminal_parent\",\n command: \"pm update <id> --parent <active-parent-id>\",\n summary: \"Reopen the terminal parent or move the active child under a non-terminal parent.\",\n },\n {\n code: \"validate_lifecycle_stale_blockers\",\n command: \"pm update <id> --unset blocked-by --unset blocked-reason\",\n summary:\n \"Resolve the stale blocker the validator flags: clear blocked-by/blocked-reason when they linger on a non-blocked item or report a resolved blocker; if instead a blocked item is missing blocker context, add the context or move it out of a blocked status.\",\n },\n {\n code: \"validate_lifecycle_dependency_cycles_error\",\n command: \"pm update <id> --dep-remove <dep-id>\",\n summary: \"Break the dependency cycle by removing one edge from the reported cycle.\",\n },\n {\n code: \"validate_lifecycle_dependency_cycles\",\n command: \"pm update <id> --dep-remove <dep-id>\",\n summary: \"Break the dependency cycle by removing one edge from the reported cycle.\",\n },\n // --- pm validate: files ---\n {\n code: \"validate_files_missing_linked_paths\",\n command: \"pm <files|docs> <id> --remove <path>\",\n summary:\n \"The check spans both item.files and item.docs under one code: restore the missing linked artifact, or unlink it with pm files (linked file) or pm docs (linked doc).\",\n },\n {\n code: \"validate_files_orphaned_paths\",\n command: \"pm <files|docs> <id> --add <path>\",\n summary:\n \"Link the orphaned artifact with pm files (file) or pm docs (doc), or remove it from the workspace.\",\n },\n {\n code: \"validate_files_tracked_all_strict_forces_pm_internals\",\n command: \"pm validate --check-files --include-pm-internals\",\n summary: \"tracked-all-strict scan flagged pm internals; re-run with --include-pm-internals or a softer --scan-mode.\",\n },\n // --- pm validate: history_drift ---\n {\n code: \"validate_history_drift_missing_streams\",\n command: \"pm history-repair <id>\",\n summary: \"Re-anchor the history chains of the items missing a history stream.\",\n },\n {\n code: \"validate_history_drift_unreadable_streams\",\n command: \"pm history-repair <id>\",\n summary: \"Re-anchor the history chains of the items with an unreadable history stream.\",\n },\n {\n code: \"validate_history_drift_hash_mismatches\",\n command: \"pm history-repair <id>\",\n summary: \"Re-anchor the history chains of the items whose content hash drifted.\",\n },\n {\n code: \"validate_history_drift_chain_mismatches\",\n command: \"pm history-repair <id>\",\n summary: \"Re-anchor the history chains of the items with a broken history chain.\",\n },\n // --- pm validate: command_references ---\n {\n code: \"validate_command_references_stale_pm_ids\",\n command: 'pm update <id> --replace-tests --test \"command=<corrected-command>\" [--test ...]',\n summary:\n \"Correct the stale pm-ID inside the item's linked test command (the check scans tests[].command, not the body). --replace-tests overwrites the entire tests list, so re-include the item's other linked tests in the same call.\",\n },\n]);\n\n/**\n * Resolve the remediation entry for a warning token, or `undefined` when no\n * entry is registered. A warning matches an entry when it equals the entry code\n * or begins with `<code>:` (the colon boundary keeps sibling codes such as\n * `validate_lifecycle_dependency_cycles` and\n * `validate_lifecycle_dependency_cycles_error` disjoint).\n *\n * First match is intentional and correct: registry codes are mutually exclusive\n * under the colon-boundary rule, so at most one entry can ever match a warning\n * and order is irrelevant. That invariant is enforced by a test (see\n * remediation-registry.spec.ts \"keeps every registry code mutually exclusive\"),\n * which is why this stays a simple linear scan rather than a longest-prefix\n * search — a longest-prefix tie-break is unreachable with disjoint codes.\n *\n * Accepts unknown input defensively (this is an exported helper SDK consumers\n * may call from untyped JS): a non-string `warning` resolves to `undefined`.\n */\nexport function resolveRemediation(warning: string): RemediationEntry | undefined {\n if (typeof warning !== \"string\") {\n return undefined;\n }\n const normalized = warning.trim();\n for (const entry of REMEDIATION_REGISTRY) {\n if (normalized === entry.code || normalized.startsWith(`${entry.code}:`)) {\n return entry;\n }\n }\n return undefined;\n}\n\n/**\n * Build a compact `remediation_map` (code -> command) for a set of warning\n * tokens. First match wins per code; unknown codes are skipped. Used by\n * `pm health --json` per-check details and as the source of deduped executable\n * commands for `pm validate --fix-hints`.\n */\nexport function buildRemediationMap(warnings: Iterable<string>): Record<string, string> {\n const map: Record<string, string> = {};\n for (const warning of warnings) {\n const entry = resolveRemediation(warning);\n if (entry !== undefined && !Object.prototype.hasOwnProperty.call(map, entry.code)) {\n map[entry.code] = entry.command;\n }\n }\n return map;\n}\n\n/**\n * Build a deduped, ordered list of executable remediation commands for a set of\n * warning tokens (one command per distinct matched code). Used by\n * `pm validate --fix-hints` for checks that do not already emit per-row\n * remediation commands.\n */\nexport function buildRemediationCommands(warnings: Iterable<string>): string[] {\n return Object.values(buildRemediationMap(warnings));\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,13 +0,0 @@
1
- import {
2
- runClose
3
- } from "./chunk-X5YC5DZM.js";
4
- import "./chunk-XRE4CTNP.js";
5
- import "./chunk-I2FM2SMO.js";
6
- import "./chunk-Q6PSD5DZ.js";
7
- import "./chunk-7GYMMDDW.js";
8
- import "./chunk-7TW64BS5.js";
9
- import "./chunk-OQGJSCZZ.js";
10
- export {
11
- runClose
12
- };
13
- //# sourceMappingURL=close-SIQCDOBR.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../../cli/commands/contracts.ts"],
4
- "sourcesContent": ["import { EXIT_CODE, SETTINGS_DEFAULTS } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport {\n activateExtensions,\n getActiveExtensionRegistrations,\n loadExtensions,\n} from \"../../core/extensions/index.js\";\nimport type {\n ExtensionRegistrationRegistry,\n RegisteredExtensionCommandDefinition,\n RegisteredExtensionFlagDefinitions,\n} from \"../../core/extensions/index.js\";\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport {\n commandOptionFlagLabel,\n resolveCommandOptionPolicyState,\n resolveItemTypeRegistry,\n} from \"../../core/item/type-registry.js\";\nimport {\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeFieldRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport {\n ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n ACTIVITY_FLAG_CONTRACTS,\n AGGREGATE_FLAG_CONTRACTS,\n APPEND_FLAG_CONTRACTS,\n CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,\n CALENDAR_FLAG_CONTRACTS,\n CLAIM_FLAG_CONTRACTS,\n CLOSE_TASK_FLAG_CONTRACTS,\n COMMENTS_FLAG_CONTRACTS,\n COMMENTS_AUDIT_FLAG_CONTRACTS,\n CLOSE_FLAG_CONTRACTS,\n CLOSE_MANY_FLAG_CONTRACTS,\n COMPLETION_FLAG_CONTRACTS,\n CONFIG_FLAG_CONTRACTS,\n CONTRACTS_FLAG_CONTRACTS,\n CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n CONTEXT_FLAG_CONTRACTS,\n CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n CREATE_FLAG_CONTRACTS,\n DELETE_FLAG_CONTRACTS,\n DEPS_FLAG_CONTRACTS,\n DEDUPE_AUDIT_FLAG_CONTRACTS,\n DOCS_FLAG_CONTRACTS,\n EXTENSION_ACTIVATE_FLAG_CONTRACTS,\n EXTENSION_ADOPT_ALL_FLAG_CONTRACTS,\n EXTENSION_ADOPT_FLAG_CONTRACTS,\n EXTENSION_CATALOG_FLAG_CONTRACTS,\n EXTENSION_DEACTIVATE_FLAG_CONTRACTS,\n EXTENSION_DOCTOR_FLAG_CONTRACTS,\n EXTENSION_EXPLORE_FLAG_CONTRACTS,\n EXTENSION_FLAG_CONTRACTS,\n EXTENSION_INIT_FLAG_CONTRACTS,\n EXTENSION_INSTALL_FLAG_CONTRACTS,\n EXTENSION_MANAGE_FLAG_CONTRACTS,\n EXTENSION_RELOAD_FLAG_CONTRACTS,\n EXTENSION_UNINSTALL_FLAG_CONTRACTS,\n FILES_FLAG_CONTRACTS,\n GC_FLAG_CONTRACTS,\n GET_FLAG_CONTRACTS,\n GUIDE_FLAG_CONTRACTS,\n GLOBAL_FLAG_CONTRACTS,\n HEALTH_FLAG_CONTRACTS,\n HISTORY_FLAG_CONTRACTS,\n HISTORY_COMPACT_FLAG_CONTRACTS,\n HISTORY_REDACT_FLAG_CONTRACTS,\n HISTORY_REPAIR_FLAG_CONTRACTS,\n INSTALL_FLAG_CONTRACTS,\n INIT_FLAG_CONTRACTS,\n LEARNINGS_FLAG_CONTRACTS,\n LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n LIST_FILTER_FLAG_CONTRACTS,\n NORMALIZE_FLAG_CONTRACTS,\n NOTES_FLAG_CONTRACTS,\n PM_EXTENSION_CAPABILITY_CONTRACTS,\n PM_EXTENSION_POLICY_MODE_CONTRACTS,\n PM_EXTENSION_POLICY_SURFACE_CONTRACTS,\n PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS,\n PM_EXTENSION_SERVICE_NAME_CONTRACTS,\n PM_EXTENSION_TRUST_MODE_CONTRACTS,\n PLAN_FLAG_CONTRACTS,\n PM_CORE_COMMAND_NAMES,\n PM_TOOL_ACTIONS,\n PM_TOOL_PARAMETERS_SCHEMA,\n REINDEX_FLAG_CONTRACTS,\n RELEASE_FLAG_CONTRACTS,\n RESTORE_FLAG_CONTRACTS,\n SCHEMA_FLAG_CONTRACTS,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n SEARCH_FLAG_CONTRACTS,\n STATS_FLAG_CONTRACTS,\n START_TASK_FLAG_CONTRACTS,\n PAUSE_TASK_FLAG_CONTRACTS,\n TELEMETRY_FLAG_CONTRACTS,\n TEST_ALL_FLAG_CONTRACTS,\n TEST_FLAG_CONTRACTS,\n TEST_RUNS_FLAG_CONTRACTS,\n UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n UPDATE_FLAG_CONTRACTS,\n UPDATE_MANY_FLAG_CONTRACTS,\n UPGRADE_FLAG_CONTRACTS,\n VALIDATE_FLAG_CONTRACTS,\n compactFlagAliasContracts,\n withFlagAliasMetadata,\n type CliFlagContract,\n type CommanderOptionAliasContract,\n} from \"../../sdk/cli-contracts.js\";\n\nexport interface ContractsCommandOptions {\n action?: string;\n command?: string;\n schemaOnly?: boolean;\n flagsOnly?: boolean;\n availabilityOnly?: boolean;\n runtimeOnly?: boolean;\n full?: boolean;\n}\n\ninterface CommandFlagSurface {\n command: string;\n flags: CliFlagContract[];\n provider?: \"core\" | \"extension\" | \"mixed\";\n extension_sources?: Array<{\n layer: \"global\" | \"project\";\n name: string;\n }>;\n}\n\ninterface CommandAliasSurface {\n canonical: string;\n aliases: string[];\n}\n\nexport interface ContractsResult {\n schema_version: string | null;\n schema_id: string | null;\n selected: {\n action: string | null;\n command: string | null;\n schema_only: boolean;\n flags_only: boolean;\n availability_only: boolean;\n runtime_only: boolean;\n command_scoped: boolean;\n };\n actions?: string[];\n action_availability?: ContractsActionAvailability[];\n commands: string[];\n schema?: Record<string, unknown>;\n schema_omitted_reason?: string;\n command_flags_omitted_reason?: string;\n commander_aliases_omitted_reason?: string;\n command_flags?: CommandFlagSurface[];\n command_aliases?: CommandAliasSurface[];\n commander_aliases?: Record<string, CommanderOptionAliasContract[]>;\n extension_commands?: ExtensionCommandContract[];\n runtime_schema?: {\n statuses: string[];\n open_status: string;\n close_status: string;\n canceled_status: string;\n types: string[];\n fields_by_command: Record<string, string[]>;\n };\n extension_contracts?: {\n capabilities: string[];\n services: string[];\n policy_modes: string[];\n policy_surfaces: string[];\n trust_modes: string[];\n sandbox_profiles: string[];\n manifest_versions: number[];\n compatibility: {\n current: string;\n previous: string[];\n breaking_strategy: string;\n };\n };\n}\n\ntype PmToolAction = (typeof PM_TOOL_ACTIONS)[number];\n\nexport interface ContractsActionAvailability {\n action: string;\n invocable: boolean;\n available: boolean;\n requires_extension: boolean;\n provider: \"core\" | \"extension\";\n disabled_reason: string | null;\n command_path: string | null;\n cli_exposed: boolean;\n policy_state?: {\n mode: string;\n trust_mode: string;\n default_sandbox_profile: string;\n };\n}\n\ninterface RuntimeExtensionActionProbe {\n handlers: Set<string>;\n disabledReason: string | null;\n commandDefinitions: RegisteredExtensionCommandDefinition[];\n flagRegistrations: RegisteredExtensionFlagDefinitions[];\n registrations: ExtensionRegistrationRegistry | null;\n policyState: {\n mode: string;\n trust_mode: string;\n default_sandbox_profile: string;\n };\n}\n\ninterface ExtensionCommandContract {\n command: string;\n action: string;\n source: {\n layer: \"global\" | \"project\";\n name: string;\n } | null;\n description: string | null;\n intent: string | null;\n arguments: Array<{\n name: string;\n required: boolean;\n variadic: boolean;\n description: string | null;\n }>;\n flags: CliFlagContract[];\n examples: string[];\n failure_hints: string[];\n}\n\nconst LIST_COMMAND_NAMES = new Set([\n \"list\",\n \"list-all\",\n \"list-draft\",\n \"list-open\",\n \"list-in-progress\",\n \"list-blocked\",\n \"list-closed\",\n \"list-canceled\",\n]);\n\nconst PACKAGE_OWNED_ACTIONS = new Set<string>([\n \"calendar\",\n \"dedupe-audit\",\n \"guide\",\n \"reindex\",\n \"normalize\",\n \"comments-audit\",\n \"completion\",\n \"test-runs-list\",\n \"test-runs-status\",\n \"test-runs-logs\",\n \"test-runs-stop\",\n \"test-runs-resume\",\n \"templates-list\",\n \"templates-save\",\n \"templates-show\",\n]);\n\nconst PACKAGE_OWNED_COMMANDS = new Set<string>([\n \"cal\",\n \"calendar\",\n \"comments-audit\",\n \"completion\",\n \"completion-statuses\",\n \"completion-tags\",\n \"completion-types\",\n \"dedupe-audit\",\n \"guide\",\n \"normalize\",\n \"reindex\",\n \"templates\",\n \"templates list\",\n \"templates save\",\n \"templates show\",\n \"test-runs\",\n \"test-runs list\",\n \"test-runs status\",\n \"test-runs logs\",\n \"test-runs stop\",\n \"test-runs resume\",\n]);\n\nconst PACKAGE_OWNED_COMMAND_INSTALL_HINTS = new Map<string, string>([\n [\"cal\", \"calendar\"],\n [\"calendar\", \"calendar\"],\n [\"comments-audit\", \"governance-audit\"],\n [\"completion\", \"guide-shell\"],\n [\"completion-statuses\", \"guide-shell\"],\n [\"completion-tags\", \"guide-shell\"],\n [\"completion-types\", \"guide-shell\"],\n [\"dedupe-audit\", \"governance-audit\"],\n [\"guide\", \"guide-shell\"],\n [\"normalize\", \"governance-audit\"],\n [\"reindex\", \"search-advanced\"],\n [\"templates\", \"templates\"],\n [\"templates list\", \"templates\"],\n [\"templates save\", \"templates\"],\n [\"templates show\", \"templates\"],\n [\"test-runs\", \"linked-test-adapters\"],\n [\"test-runs list\", \"linked-test-adapters\"],\n [\"test-runs status\", \"linked-test-adapters\"],\n [\"test-runs logs\", \"linked-test-adapters\"],\n [\"test-runs stop\", \"linked-test-adapters\"],\n [\"test-runs resume\", \"linked-test-adapters\"],\n]);\n\nconst PACKAGE_OWNED_ACTION_COMMAND_PATHS = new Map<string, string>([\n [\"calendar\", \"calendar|cal\"],\n [\"dedupe-audit\", \"dedupe-audit\"],\n [\"guide\", \"guide\"],\n [\"reindex\", \"reindex\"],\n [\"normalize\", \"normalize\"],\n [\"comments-audit\", \"comments-audit\"],\n [\"completion\", \"completion\"],\n [\"test-runs-list\", \"test-runs|test-runs list\"],\n [\"test-runs-status\", \"test-runs status\"],\n [\"test-runs-logs\", \"test-runs logs\"],\n [\"test-runs-stop\", \"test-runs stop\"],\n [\"test-runs-resume\", \"test-runs resume\"],\n [\"templates-list\", \"templates|templates list\"],\n [\"templates-save\", \"templates save\"],\n [\"templates-show\", \"templates show\"],\n]);\n\nconst PACKAGE_OWNED_COMMAND_ACTIONS = new Map(\n [...PACKAGE_OWNED_ACTION_COMMAND_PATHS.entries()].flatMap(([action, commandPaths]) =>\n splitCommandPathAliases(commandPaths).map((commandPath) => [commandPath, action] as const),\n ),\n);\n\nconst CANONICAL_COMMAND_ALIASES: CommandAliasSurface[] = [\n {\n canonical: \"context\",\n aliases: [\"ctx\"],\n },\n {\n canonical: \"package\",\n aliases: [\"extension\", \"packages\", \"install\"],\n },\n];\n\nconst COMMAND_ALIAS_TO_CANONICAL = new Map(\n CANONICAL_COMMAND_ALIASES.flatMap((entry) =>\n entry.aliases.map((alias) => [alias, entry.canonical] as const),\n ),\n);\n\nconst EXTENSION_PACKAGE_LIFECYCLE_FLAG_CONTRACTS: Array<readonly [string, CliFlagContract[]]> = [\n [\"init\", EXTENSION_INIT_FLAG_CONTRACTS],\n [\"install\", EXTENSION_INSTALL_FLAG_CONTRACTS],\n [\"uninstall\", EXTENSION_UNINSTALL_FLAG_CONTRACTS],\n [\"explore\", EXTENSION_EXPLORE_FLAG_CONTRACTS],\n [\"manage\", EXTENSION_MANAGE_FLAG_CONTRACTS],\n [\"reload\", EXTENSION_RELOAD_FLAG_CONTRACTS],\n [\"doctor\", EXTENSION_DOCTOR_FLAG_CONTRACTS],\n [\"catalog\", EXTENSION_CATALOG_FLAG_CONTRACTS],\n [\"adopt\", EXTENSION_ADOPT_FLAG_CONTRACTS],\n [\"adopt-all\", EXTENSION_ADOPT_ALL_FLAG_CONTRACTS],\n [\"activate\", EXTENSION_ACTIVATE_FLAG_CONTRACTS],\n [\"deactivate\", EXTENSION_DEACTIVATE_FLAG_CONTRACTS],\n];\n\nconst CORE_COMMAND_FLAG_CONTRACT_ENTRIES: Array<readonly [string, CliFlagContract[]]> = [\n ...EXTENSION_PACKAGE_LIFECYCLE_FLAG_CONTRACTS.flatMap(([subcommand, flags]) => [\n [`extension ${subcommand}`, flags] as const,\n [`package ${subcommand}`, flags] as const,\n [`packages ${subcommand}`, flags] as const,\n ]),\n [\"init\", INIT_FLAG_CONTRACTS],\n [\"config\", CONFIG_FLAG_CONTRACTS],\n [\"extension\", EXTENSION_FLAG_CONTRACTS],\n [\"package\", EXTENSION_FLAG_CONTRACTS],\n [\"packages\", EXTENSION_FLAG_CONTRACTS],\n [\"install\", INSTALL_FLAG_CONTRACTS],\n [\"create\", CREATE_FLAG_CONTRACTS],\n [\"update\", UPDATE_FLAG_CONTRACTS],\n [\"update-many\", UPDATE_MANY_FLAG_CONTRACTS],\n [\"upgrade\", UPGRADE_FLAG_CONTRACTS],\n [\"normalize\", NORMALIZE_FLAG_CONTRACTS],\n [\"calendar\", CALENDAR_FLAG_CONTRACTS],\n [\"cal\", CALENDAR_FLAG_CONTRACTS],\n [\"context\", CONTEXT_FLAG_CONTRACTS],\n [\"ctx\", CONTEXT_FLAG_CONTRACTS],\n [\"get\", GET_FLAG_CONTRACTS],\n [\"search\", SEARCH_FLAG_CONTRACTS],\n [\"aggregate\", AGGREGATE_FLAG_CONTRACTS],\n [\"dedupe-audit\", DEDUPE_AUDIT_FLAG_CONTRACTS],\n [\"deps\", DEPS_FLAG_CONTRACTS],\n [\"guide\", GUIDE_FLAG_CONTRACTS],\n [\"reindex\", REINDEX_FLAG_CONTRACTS],\n [\"history\", HISTORY_FLAG_CONTRACTS],\n [\"history-compact\", HISTORY_COMPACT_FLAG_CONTRACTS],\n [\"history-redact\", HISTORY_REDACT_FLAG_CONTRACTS],\n [\"history-repair\", HISTORY_REPAIR_FLAG_CONTRACTS],\n [\"schema\", SCHEMA_FLAG_CONTRACTS],\n [\"plan\", PLAN_FLAG_CONTRACTS],\n [\"restore\", RESTORE_FLAG_CONTRACTS],\n [\"delete\", DELETE_FLAG_CONTRACTS],\n [\"close\", CLOSE_FLAG_CONTRACTS],\n [\"close-many\", CLOSE_MANY_FLAG_CONTRACTS],\n [\"append\", APPEND_FLAG_CONTRACTS],\n [\"claim\", CLAIM_FLAG_CONTRACTS],\n [\"release\", RELEASE_FLAG_CONTRACTS],\n [\"start-task\", START_TASK_FLAG_CONTRACTS],\n [\"pause-task\", PAUSE_TASK_FLAG_CONTRACTS],\n [\"close-task\", CLOSE_TASK_FLAG_CONTRACTS],\n [\"comments\", COMMENTS_FLAG_CONTRACTS],\n [\"notes\", NOTES_FLAG_CONTRACTS],\n [\"learnings\", LEARNINGS_FLAG_CONTRACTS],\n [\"files\", FILES_FLAG_CONTRACTS],\n [\"docs\", DOCS_FLAG_CONTRACTS],\n [\"test\", TEST_FLAG_CONTRACTS],\n [\"test-all\", TEST_ALL_FLAG_CONTRACTS],\n [\"telemetry\", TELEMETRY_FLAG_CONTRACTS],\n [\"test-runs\", TEST_RUNS_FLAG_CONTRACTS],\n [\"gc\", GC_FLAG_CONTRACTS],\n [\"stats\", STATS_FLAG_CONTRACTS],\n [\"validate\", VALIDATE_FLAG_CONTRACTS],\n [\"comments-audit\", COMMENTS_AUDIT_FLAG_CONTRACTS],\n [\"health\", HEALTH_FLAG_CONTRACTS],\n [\"contracts\", CONTRACTS_FLAG_CONTRACTS],\n [\"completion\", COMPLETION_FLAG_CONTRACTS],\n [\"activity\", ACTIVITY_FLAG_CONTRACTS],\n ...[...LIST_COMMAND_NAMES].map((command) => [command, LIST_FILTER_FLAG_CONTRACTS] as const),\n];\n\nconst CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND = new Map(CORE_COMMAND_FLAG_CONTRACT_ENTRIES);\n\nfunction packageOwnedActionForCommand(command: string): string {\n const exactAction = PACKAGE_OWNED_COMMAND_ACTIONS.get(command);\n if (exactAction) {\n return exactAction;\n }\n if (command.startsWith(\"test-runs \")) {\n return `test-runs-${command.slice(\"test-runs \".length)}`;\n }\n if (command.startsWith(\"templates \")) {\n return `templates-${command.slice(\"templates \".length)}`;\n }\n return command;\n}\n\nfunction resolveActionCommandPath(action: PmToolAction): string | null {\n if (\n PM_CORE_COMMAND_NAMES.includes(\n action as (typeof PM_CORE_COMMAND_NAMES)[number],\n )\n ) {\n return normalizeCommandPath(action);\n }\n if (action.startsWith(\"extension-\")) {\n return normalizeCommandPath(\n `extension ${action.slice(\"extension-\".length)}`,\n );\n }\n if (action.startsWith(\"package-\")) {\n return normalizeCommandPath(`package ${action.slice(\"package-\".length)}`);\n }\n if (action.startsWith(\"test-runs-\")) {\n return normalizeCommandPath(\n `test-runs ${action.slice(\"test-runs-\".length)}`,\n );\n }\n if (action.startsWith(\"templates-\")) {\n return normalizeCommandPath(\n `templates ${action.slice(\"templates-\".length)}`,\n );\n }\n if (PACKAGE_OWNED_ACTIONS.has(action)) {\n return PACKAGE_OWNED_ACTION_COMMAND_PATHS.get(action) ?? normalizeCommandPath(action);\n }\n return null;\n}\n\nfunction actionDescriptorMatchesSelectedCommand(\n descriptor: ActionContractDescriptor,\n selectedCommand: string,\n): boolean {\n if (descriptor.command_path === null) {\n return false;\n }\n return splitCommandPathAliases(descriptor.command_path).some((commandPath) => {\n if (commandPath === selectedCommand) {\n return true;\n }\n return commandPath.startsWith(`${selectedCommand} `);\n });\n}\n\nfunction splitCommandPathAliases(commandPath: string): string[] {\n return commandPath\n .split(\"|\")\n .map((entry) => normalizeCommandPath(entry))\n .filter((entry) => entry.length > 0);\n}\n\nfunction resolveScopedCommandsFromActionDescriptors(\n descriptors: ActionContractDescriptor[],\n commandCatalog: string[],\n): string[] {\n const commandSet = new Set(commandCatalog);\n const scoped = new Set<string>();\n for (const descriptor of descriptors) {\n if (!descriptor.command_path) {\n continue;\n }\n for (const commandPath of splitCommandPathAliases(descriptor.command_path)) {\n const tokens = commandPath.split(\" \").filter((entry) => entry.length > 0);\n if (tokens.length === 0) {\n continue;\n }\n for (let end = tokens.length; end > 0; end -= 1) {\n const candidate = tokens.slice(0, end).join(\" \");\n if (!commandSet.has(candidate)) {\n continue;\n }\n scoped.add(candidate);\n break;\n }\n }\n }\n return [...scoped].sort((left, right) => left.localeCompare(right));\n}\n\nfunction normalizeToken(value: string | undefined): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const trimmed = value.trim().toLowerCase();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction extractActionBranches(\n schema: Record<string, unknown>,\n): Record<string, unknown>[] {\n const oneOf = schema.oneOf;\n if (!Array.isArray(oneOf)) {\n return [];\n }\n return oneOf.filter(\n (entry): entry is Record<string, unknown> =>\n typeof entry === \"object\" && entry !== null,\n );\n}\n\nfunction filterSchemaByAction(\n schema: Record<string, unknown>,\n action: string | undefined,\n): Record<string, unknown> {\n if (!action) {\n return { ...schema };\n }\n const branches = extractActionBranches(schema);\n const filtered = branches.filter((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return false;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return false;\n }\n return (actionProperty as { const?: unknown }).const === action;\n });\n return {\n ...schema,\n oneOf: filtered,\n };\n}\n\nfunction filterSchemaByActions(\n schema: Record<string, unknown>,\n actions: ReadonlySet<string>,\n): Record<string, unknown> {\n const branches = extractActionBranches(schema);\n const filtered = branches.filter((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return false;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return false;\n }\n const actionConst = (actionProperty as { const?: unknown }).const;\n return typeof actionConst === \"string\" && actions.has(actionConst);\n });\n return {\n ...schema,\n oneOf: filtered,\n };\n}\n\nfunction normalizeCommandPath(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((entry) => entry.length > 0)\n .join(\" \");\n}\n\nfunction normalizeActionNameFromCommand(commandPath: string): string {\n return commandPath.replace(/\\s+/g, \"-\");\n}\n\nfunction toOptionalTrimmedString(value: unknown): string | null {\n if (typeof value !== \"string\") {\n return null;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction normalizeStringList(values: string[] | undefined): string[] {\n if (!Array.isArray(values)) {\n return [];\n }\n const normalized: string[] = [];\n const seen = new Set<string>();\n for (const value of values) {\n const trimmed = toOptionalTrimmedString(value);\n if (!trimmed || seen.has(trimmed)) {\n continue;\n }\n seen.add(trimmed);\n normalized.push(trimmed);\n }\n return normalized;\n}\n\nfunction toExtensionFlagContract(\n definition: Record<string, unknown>,\n): CliFlagContract | null {\n const longName = toOptionalTrimmedString(definition.long);\n const shortName = toOptionalTrimmedString(definition.short);\n const normalizedLong =\n longName && longName.startsWith(\"--\") && longName.length > 2\n ? longName\n : null;\n const normalizedShort =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? shortName\n : null;\n const flag = normalizedLong ?? normalizedShort;\n if (!flag) {\n return null;\n }\n const contract: CliFlagContract = { flag };\n if (normalizedShort && normalizedLong) {\n contract.short = normalizedShort;\n }\n const description = toOptionalTrimmedString(definition.description);\n if (description) {\n contract.description = description;\n }\n if (definition.required === true) {\n contract.required = true;\n }\n if (definition.repeatable === true) {\n contract.repeatable = true;\n }\n const valueName = toOptionalTrimmedString(definition.value_name);\n if (valueName) {\n contract.value_name = valueName;\n }\n const rawValueType = [\n toOptionalTrimmedString(definition.value_type),\n toOptionalTrimmedString(definition.type),\n valueName ? \"string\" : null,\n ].find((candidate): candidate is \"string\" | \"number\" | \"boolean\" =>\n candidate === \"string\" || candidate === \"number\" || candidate === \"boolean\",\n );\n if (rawValueType) {\n contract.value_type = rawValueType;\n }\n return contract;\n}\n\nfunction collectExtensionFlagContractsByCommand(\n registrations: RegisteredExtensionFlagDefinitions[],\n): Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n }\n> {\n const grouped = new Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n dedupe: Set<string>;\n sourceDedupe: Set<string>;\n }\n >();\n for (const registration of registrations) {\n const commandPath = normalizeCommandPath(registration.target_command);\n if (commandPath.length === 0) {\n continue;\n }\n const bucket = grouped.get(commandPath) ?? {\n flags: [],\n sources: [],\n dedupe: new Set<string>(),\n sourceDedupe: new Set<string>(),\n };\n const sourceKey = `${registration.layer}:${registration.name}`;\n if (!bucket.sourceDedupe.has(sourceKey)) {\n bucket.sourceDedupe.add(sourceKey);\n bucket.sources.push({\n layer: registration.layer,\n name: registration.name,\n });\n }\n for (const definition of registration.flags) {\n const contract = toExtensionFlagContract(definition);\n if (!contract) {\n continue;\n }\n const key = `${contract.flag}|${contract.short ?? \"\"}`;\n if (bucket.dedupe.has(key)) {\n continue;\n }\n bucket.dedupe.add(key);\n bucket.flags.push(contract);\n }\n grouped.set(commandPath, bucket);\n }\n const normalized = new Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n }\n >();\n for (const [commandPath, bucket] of grouped.entries()) {\n normalized.set(commandPath, {\n flags: bucket.flags,\n sources: bucket.sources.sort((left, right) => {\n const layerOrder = left.layer.localeCompare(right.layer);\n if (layerOrder !== 0) {\n return layerOrder;\n }\n return (left.name ?? \"\").localeCompare(right.name ?? \"\");\n }),\n });\n }\n return normalized;\n}\n\nfunction collectExtensionCommandContracts(\n runtimeProbe: RuntimeExtensionActionProbe,\n): ExtensionCommandContract[] {\n const flagsByCommand = collectExtensionFlagContractsByCommand(\n runtimeProbe.flagRegistrations,\n );\n const definitionsByCommand = new Map<string, ExtensionCommandContract>();\n for (const definition of runtimeProbe.commandDefinitions) {\n const command = normalizeCommandPath(definition.command);\n if (command.length === 0) {\n continue;\n }\n const action =\n toOptionalTrimmedString(definition.action) ??\n normalizeActionNameFromCommand(command);\n const args = Array.isArray(definition.arguments)\n ? definition.arguments\n .map((argument) => {\n const name = toOptionalTrimmedString(argument.name);\n if (!name) {\n return null;\n }\n return {\n name,\n required: argument.required === true,\n variadic: argument.variadic === true,\n description: toOptionalTrimmedString(argument.description),\n };\n })\n .filter(\n (\n argument,\n ): argument is {\n name: string;\n required: boolean;\n variadic: boolean;\n description: string | null;\n } => argument !== null,\n )\n : [];\n definitionsByCommand.set(command, {\n command,\n action,\n source: {\n layer: definition.layer,\n name: definition.name,\n },\n description: toOptionalTrimmedString(definition.description),\n intent: toOptionalTrimmedString(definition.intent),\n arguments: args,\n flags: flagsByCommand.get(command)?.flags ?? [],\n examples: normalizeStringList(definition.examples),\n failure_hints: normalizeStringList(definition.failure_hints),\n });\n }\n\n const extensionCommands = new Set<string>();\n for (const command of runtimeProbe.handlers) {\n extensionCommands.add(normalizeCommandPath(command));\n }\n for (const command of definitionsByCommand.keys()) {\n extensionCommands.add(command);\n }\n for (const command of flagsByCommand.keys()) {\n extensionCommands.add(command);\n }\n\n const contracts: ExtensionCommandContract[] = [];\n for (const command of [...extensionCommands].sort((left, right) =>\n left.localeCompare(right),\n )) {\n const definition = definitionsByCommand.get(command);\n if (definition) {\n contracts.push({\n ...definition,\n flags:\n definition.flags.length > 0\n ? definition.flags\n : (flagsByCommand.get(command)?.flags ?? []),\n });\n continue;\n }\n contracts.push({\n command,\n action: normalizeActionNameFromCommand(command),\n source: null,\n description: null,\n intent: null,\n arguments: [],\n flags: flagsByCommand.get(command)?.flags ?? [],\n examples: [],\n failure_hints: [],\n });\n }\n return contracts;\n}\n\nfunction extensionSchemaPropertyNameFromFlag(\n flag: CliFlagContract,\n): string | null {\n const normalized = flag.flag.replace(/^-+/, \"\").trim();\n if (normalized.length === 0) {\n return null;\n }\n const camelCased = normalized.replace(\n /-([a-z0-9])/g,\n (_match, char: string) => char.toUpperCase(),\n );\n const cleaned = camelCased.replace(/[^a-zA-Z0-9]/g, \"\");\n return cleaned.length > 0 ? cleaned : null;\n}\n\nfunction buildExtensionActionSchemaBranch(\n contract: ExtensionCommandContract,\n): Record<string, unknown> {\n const commands = contract.command\n .split(\"|\")\n .map((command) => command.trim())\n .filter((command) => command.length > 0);\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n const: contract.action,\n description:\n contract.intent ??\n contract.description ??\n `Invoke extension command '${contract.command}'.`,\n },\n };\n const required: string[] = [\"action\"];\n for (const argument of contract.arguments) {\n if (argument.variadic) {\n properties[argument.name] = {\n type: \"array\",\n items: { type: \"string\" },\n description:\n argument.description ??\n `Variadic argument '${argument.name}' for extension action '${contract.action}'.`,\n };\n } else {\n properties[argument.name] = {\n type: \"string\",\n description:\n argument.description ??\n `Argument '${argument.name}' for extension action '${contract.action}'.`,\n };\n }\n if (argument.required) {\n required.push(argument.name);\n }\n }\n for (const flag of contract.flags) {\n const propertyName = extensionSchemaPropertyNameFromFlag(flag);\n if (!propertyName || properties[propertyName] !== undefined) {\n continue;\n }\n const valueType = flag.value_type ?? \"boolean\";\n const schemaType =\n valueType === \"boolean\" ? \"boolean\" : valueType === \"number\" ? [\"number\", \"string\"] : \"string\";\n properties[propertyName] = {\n type: flag.repeatable ? \"array\" : schemaType,\n ...(flag.repeatable ? { items: { type: schemaType } } : {}),\n description: flag.description ?? `Extension option '${flag.flag}' for action '${contract.action}'.`,\n };\n if (flag.required === true) {\n required.push(propertyName);\n }\n }\n\n return {\n type: \"object\",\n properties,\n required,\n additionalProperties: true,\n \"x-extension-source\": contract.source,\n \"x-extension-command\": commands[0] ?? contract.command,\n \"x-extension-commands\": commands,\n };\n}\n\nfunction mergeExtensionFlagContract(existing: CliFlagContract, incoming: CliFlagContract): void {\n existing.description ??= incoming.description;\n existing.value_name ??= incoming.value_name;\n existing.value_type ??= incoming.value_type;\n if (incoming.required === true) {\n existing.required = true;\n }\n if (incoming.repeatable === true) {\n existing.repeatable = true;\n }\n}\n\nfunction mergeExtensionContractsByAction(\n contracts: ExtensionCommandContract[],\n): ExtensionCommandContract[] {\n const byAction = new Map<string, ExtensionCommandContract>();\n for (const contract of contracts) {\n const existing = byAction.get(contract.action);\n if (!existing) {\n byAction.set(contract.action, {\n ...contract,\n flags: [...contract.flags],\n examples: [...contract.examples],\n failure_hints: [...contract.failure_hints],\n });\n continue;\n }\n existing.command = [...new Set([existing.command, contract.command])]\n .sort((left, right) => left.localeCompare(right))\n .join(\"|\");\n existing.arguments = existing.arguments.length >= contract.arguments.length ? existing.arguments : contract.arguments;\n const flagKeys = new Set(existing.flags.map((flag) => `${flag.flag}|${flag.short ?? \"\"}`));\n for (const flag of contract.flags) {\n const key = `${flag.flag}|${flag.short ?? \"\"}`;\n if (!flagKeys.has(key)) {\n flagKeys.add(key);\n existing.flags.push(flag);\n } else {\n const existingFlag = existing.flags.find((candidate) => `${candidate.flag}|${candidate.short ?? \"\"}` === key);\n if (existingFlag) {\n mergeExtensionFlagContract(existingFlag, flag);\n }\n }\n }\n existing.examples = [...new Set([...existing.examples, ...contract.examples])];\n existing.failure_hints = [...new Set([...existing.failure_hints, ...contract.failure_hints])];\n }\n return [...byAction.values()].sort((left, right) => left.action.localeCompare(right.action));\n}\n\nasync function resolveRuntimeExtensionActionProbe(\n global: GlobalOptions,\n): Promise<RuntimeExtensionActionProbe> {\n const defaultPolicyState = {\n mode: SETTINGS_DEFAULTS.extensions.policy.mode,\n trust_mode: SETTINGS_DEFAULTS.extensions.policy.trust_mode,\n default_sandbox_profile:\n SETTINGS_DEFAULTS.extensions.policy.default_sandbox_profile,\n };\n if (global.noExtensions) {\n return {\n handlers: new Set<string>(),\n disabledReason: \"extensions_disabled\",\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n return {\n handlers: new Set<string>(),\n disabledReason: null,\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n\n try {\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions({\n ...loadResult,\n loaded: loadResult.loaded,\n });\n const handlers = new Set<string>(\n activationResult.commands.handlers.map((entry) =>\n normalizeCommandPath(entry.command),\n ),\n );\n return {\n handlers,\n disabledReason: null,\n commandDefinitions: activationResult.registrations.commands,\n flagRegistrations: activationResult.registrations.flags,\n registrations: activationResult.registrations,\n policyState: {\n mode: loadResult.policy.mode,\n trust_mode: loadResult.policy.trust_mode,\n default_sandbox_profile: loadResult.policy.default_sandbox_profile,\n },\n };\n } catch {\n return {\n handlers: new Set<string>(),\n disabledReason: \"extension_runtime_probe_failed\",\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n}\n\ninterface ActionContractDescriptor {\n action: string;\n provider: \"core\" | \"extension\";\n requires_extension: boolean;\n command_path: string | null;\n}\n\nfunction collectActionContractDescriptors(\n extensionContracts: ExtensionCommandContract[],\n options: { includePackageOwnedActions?: boolean } = {},\n): ActionContractDescriptor[] {\n const descriptors = new Map<string, ActionContractDescriptor>();\n for (const action of PM_TOOL_ACTIONS) {\n const packageOwned = PACKAGE_OWNED_ACTIONS.has(action);\n if (packageOwned && !options.includePackageOwnedActions) {\n continue;\n }\n const commandPath = resolveActionCommandPath(action as PmToolAction);\n descriptors.set(action, {\n action,\n provider: packageOwned ? \"extension\" : \"core\",\n requires_extension: packageOwned,\n command_path: commandPath,\n });\n }\n if (options.includePackageOwnedActions) {\n for (const action of PACKAGE_OWNED_ACTIONS) {\n if (descriptors.has(action)) {\n continue;\n }\n descriptors.set(action, {\n action,\n provider: \"extension\",\n requires_extension: true,\n command_path: resolveActionCommandPath(action as PmToolAction),\n });\n }\n }\n for (const contract of extensionContracts) {\n if (descriptors.has(contract.action)) {\n continue;\n }\n descriptors.set(contract.action, {\n action: contract.action,\n provider: \"extension\",\n requires_extension: true,\n command_path: normalizeCommandPath(contract.command),\n });\n }\n return [...descriptors.values()].sort((left, right) =>\n (left.action ?? \"\").localeCompare(right.action ?? \"\"),\n );\n}\n\nfunction resolveActionAvailability(\n descriptor: ActionContractDescriptor,\n runtimeProbe: RuntimeExtensionActionProbe,\n): ContractsActionAvailability {\n if (descriptor.provider === \"core\" && !descriptor.requires_extension) {\n return {\n action: descriptor.action,\n invocable: true,\n available: true,\n requires_extension: false,\n provider: \"core\",\n disabled_reason: null,\n command_path: descriptor.command_path,\n cli_exposed: descriptor.command_path !== null,\n };\n }\n\n const commandPaths = descriptor.command_path\n ? splitCommandPathAliases(descriptor.command_path)\n : [];\n const extensionCommandAvailable = commandPaths.some((commandPath) =>\n runtimeProbe.handlers.has(commandPath),\n );\n const optionalPackageHint = commandPaths\n .map((commandPath) => PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(commandPath))\n .find((hint): hint is string => typeof hint === \"string\");\n const invocable =\n runtimeProbe.disabledReason === null && extensionCommandAvailable;\n return {\n action: descriptor.action,\n invocable,\n available: invocable,\n requires_extension: true,\n provider: \"extension\",\n disabled_reason: invocable\n ? null\n : (runtimeProbe.disabledReason ?? (optionalPackageHint ? `optional_package_not_installed:${optionalPackageHint}` : \"extension_command_not_registered\")),\n command_path: descriptor.command_path,\n cli_exposed: extensionCommandAvailable,\n policy_state: {\n mode: runtimeProbe.policyState.mode,\n trust_mode: runtimeProbe.policyState.trust_mode,\n default_sandbox_profile: runtimeProbe.policyState.default_sandbox_profile,\n },\n };\n}\n\nfunction resolveCoreCommandFlags(command: string): CliFlagContract[] {\n return CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.get(command) ?? GLOBAL_FLAG_CONTRACTS;\n}\n\nfunction isCoreCommandPath(command: string): boolean {\n if (PACKAGE_OWNED_COMMANDS.has(command)) {\n return false;\n }\n return CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.has(command);\n}\n\nfunction normalizeCommandForRuntimeFieldFlags(command: string): string {\n if (LIST_COMMAND_NAMES.has(command)) {\n return \"list\";\n }\n if (command === \"cal\") {\n return \"calendar\";\n }\n if (command === \"ctx\") {\n return \"context\";\n }\n if (command === \"update-many\") {\n return \"update_many\";\n }\n return command;\n}\n\nfunction toRuntimeLongFlagToken(token: string): string | null {\n const trimmed = token.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.startsWith(\"--\")) {\n return trimmed;\n }\n if (trimmed.startsWith(\"-\")) {\n return null;\n }\n return `--${trimmed}`;\n}\n\nfunction toRuntimeShortFlagToken(token: string): string | null {\n const trimmed = token.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.startsWith(\"--\")) {\n return null;\n }\n if (trimmed.startsWith(\"-\")) {\n return trimmed;\n }\n return null;\n}\n\nfunction buildRuntimeFieldFlagContracts(\n fieldRegistry: RuntimeFieldRegistry,\n): Map<string, CliFlagContract[]> {\n const buckets = new Map<\n string,\n { flags: CliFlagContract[]; seen: Set<string> }\n >();\n for (const definition of fieldRegistry.definitions) {\n const primaryFlag = toRuntimeLongFlagToken(definition.cli_flag);\n if (!primaryFlag) {\n continue;\n }\n const shortAlias = definition.cli_aliases\n .map((alias) => toRuntimeShortFlagToken(alias))\n .find((alias) => alias !== null);\n const longAliases = definition.cli_aliases\n .map((alias) => toRuntimeLongFlagToken(alias))\n .filter(\n (alias): alias is string => alias !== null && alias !== primaryFlag,\n );\n for (const command of definition.commands) {\n const bucket = buckets.get(command) ?? {\n flags: [],\n seen: new Set<string>(),\n };\n const primaryContract: CliFlagContract = shortAlias\n ? { flag: primaryFlag, short: shortAlias }\n : { flag: primaryFlag };\n const primaryKey = `${primaryContract.flag}|${primaryContract.short ?? \"\"}`;\n if (!bucket.seen.has(primaryKey)) {\n bucket.seen.add(primaryKey);\n bucket.flags.push(primaryContract);\n }\n for (const alias of longAliases) {\n const key = `${alias}|`;\n if (bucket.seen.has(key)) {\n continue;\n }\n bucket.seen.add(key);\n bucket.flags.push({ flag: alias });\n }\n buckets.set(command, bucket);\n }\n }\n const result = new Map<string, CliFlagContract[]>();\n for (const [command, bucket] of buckets.entries()) {\n result.set(command, compactFlagAliasContracts(bucket.flags));\n }\n return result;\n}\n\nfunction mergeFlagContracts(\n primary: CliFlagContract[],\n secondary: CliFlagContract[],\n): CliFlagContract[] {\n const merged: CliFlagContract[] = [];\n const seen = new Set<string>();\n for (const contract of [...primary, ...secondary]) {\n const key = `${contract.flag}|${contract.short ?? \"\"}`;\n if (seen.has(key)) {\n continue;\n }\n seen.add(key);\n merged.push(contract);\n }\n return compactFlagAliasContracts(merged);\n}\n\nfunction buildCommandFlagSurface(\n commands: string[],\n extensionFlagMap: ReturnType<typeof collectExtensionFlagContractsByCommand>,\n runtimeFieldFlagMap: Map<string, CliFlagContract[]>,\n): CommandFlagSurface[] {\n return commands\n .map((command) => {\n const isCoreCommand = isCoreCommandPath(command);\n const coreFlags = isCoreCommand ? resolveCoreCommandFlags(command) : [];\n const runtimeFlags =\n runtimeFieldFlagMap.get(\n normalizeCommandForRuntimeFieldFlags(command),\n ) ?? [];\n const extensionFlags = extensionFlagMap.get(command);\n const coreWithRuntime = mergeFlagContracts(coreFlags, runtimeFlags);\n const flags = mergeFlagContracts(\n coreWithRuntime,\n extensionFlags?.flags ?? [],\n );\n const provider: CommandFlagSurface[\"provider\"] =\n coreFlags.length > 0 && (extensionFlags?.flags.length ?? 0) > 0\n ? \"mixed\"\n : isCoreCommand\n ? \"core\"\n : \"extension\";\n return {\n command,\n flags,\n provider,\n extension_sources: extensionFlags?.sources,\n };\n })\n .sort((left, right) => left.command.localeCompare(right.command));\n}\n\nfunction compactCommandAliasSurface(commands: string[]): string[] {\n const commandSet = new Set(commands);\n const result: string[] = [];\n for (const command of commands) {\n const canonical = COMMAND_ALIAS_TO_CANONICAL.get(command);\n if (canonical && commandSet.has(canonical)) {\n continue;\n }\n result.push(command);\n }\n return result;\n}\n\nfunction buildCommandAliasSurface(commands: string[]): CommandAliasSurface[] {\n const commandSet = new Set(commands);\n return CANONICAL_COMMAND_ALIASES.map((entry) => ({\n canonical: entry.canonical,\n aliases: entry.aliases.filter((alias) => commandSet.has(alias)),\n })).filter(\n (entry) => commandSet.has(entry.canonical) && entry.aliases.length > 0,\n );\n}\n\nfunction buildCommanderAliasSurface(): Record<\n string,\n CommanderOptionAliasContract[]\n> {\n return {\n create_string_options: CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n create_repeatable_options: CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n update_string_options: UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n update_repeatable_options: UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n list_string_options: LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n search_string_options: SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n calendar_string_options: CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,\n context_string_options: CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n activity_string_options: ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n };\n}\n\nfunction resolveCreateRequiredOptionContract(\n typeDefinition: ReturnType<typeof resolveItemTypeRegistry>[\"by_type\"][string],\n createMode: \"strict\" | \"progressive\",\n): {\n required_option_keys: string[];\n required_flags: string[];\n required_type_options: string[];\n policy_errors: string[];\n} {\n const baseRequiredOptions = new Set<string>([\"title\", \"type\"]);\n if (createMode === \"strict\") {\n for (const field of typeDefinition.required_create_fields) {\n baseRequiredOptions.add(field);\n }\n for (const field of typeDefinition.required_create_repeatables) {\n baseRequiredOptions.add(field);\n }\n }\n const policyState = resolveCommandOptionPolicyState(\n typeDefinition,\n \"create\",\n baseRequiredOptions,\n );\n const requiredOptionKeys = [...new Set(policyState.required)].sort(\n (left, right) => left.localeCompare(right),\n );\n const requiredFlags = [\n ...new Set(\n requiredOptionKeys.map((option) =>\n commandOptionFlagLabel(\"create\", option),\n ),\n ),\n ].sort((left, right) => left.localeCompare(right));\n const requiredTypeOptions = [\n ...new Set(\n typeDefinition.options\n .filter((option) => option.required === true)\n .map((option) => option.key),\n ),\n ].sort((left, right) => left.localeCompare(right));\n return {\n required_option_keys: requiredOptionKeys,\n required_flags: requiredFlags,\n required_type_options: requiredTypeOptions,\n policy_errors: [...new Set(policyState.errors)].sort((left, right) =>\n left.localeCompare(right),\n ),\n };\n}\n\nfunction buildCreateRequiredOptionContracts(\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>,\n): Record<string, unknown> {\n const byTypeStrict: Record<string, unknown> = {};\n const byTypeProgressive: Record<string, unknown> = {};\n for (const typeName of [...typeRegistry.types].sort((left, right) =>\n left.localeCompare(right),\n )) {\n const typeDefinition = typeRegistry.by_type[typeName];\n byTypeStrict[typeName] = resolveCreateRequiredOptionContract(\n typeDefinition,\n \"strict\",\n );\n byTypeProgressive[typeName] = resolveCreateRequiredOptionContract(\n typeDefinition,\n \"progressive\",\n );\n }\n return {\n default_create_mode: \"strict\",\n by_create_mode: {\n strict: {\n by_type: byTypeStrict,\n },\n progressive: {\n by_type: byTypeProgressive,\n },\n },\n };\n}\n\nfunction attachCreateRequiredOptionContracts(\n schema: Record<string, unknown>,\n metadata: Record<string, unknown>,\n): Record<string, unknown> {\n const branches = extractActionBranches(schema);\n if (branches.length === 0) {\n return schema;\n }\n let touched = false;\n const enrichedBranches = branches.map((branch) => {\n const properties = branch.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return branch;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return branch;\n }\n if ((actionProperty as { const?: unknown }).const !== \"create\") {\n return branch;\n }\n touched = true;\n return {\n ...branch,\n \"x-create-required-options\": metadata,\n };\n });\n if (!touched) {\n return schema;\n }\n return {\n ...schema,\n oneOf: enrichedBranches,\n };\n}\n\nexport async function runContracts(\n options: ContractsCommandOptions,\n global: GlobalOptions,\n): Promise<ContractsResult> {\n const selectedAction = normalizeToken(options.action);\n const selectedCommand = normalizeToken(options.command);\n const schemaOnly = options.schemaOnly === true;\n const flagsOnly = options.flagsOnly === true;\n const availabilityOnly = options.availabilityOnly === true;\n const runtimeOnly = options.runtimeOnly === true;\n const fullOutput = options.full === true;\n const unfilteredDefaultBriefMode =\n !fullOutput && !schemaOnly && !flagsOnly && !availabilityOnly && !selectedAction && !selectedCommand;\n // Agent token-cost guard: when no filter and no projection flag and not --full,\n // skip the giant schema oneOf union (the 200KB+ chunk). Restore via --full\n // or by scoping to a specific --command/--action.\n const omitUnfilteredSchema = unfilteredDefaultBriefMode;\n const omitUnfilteredCommandFlags = unfilteredDefaultBriefMode;\n const omitUnfilteredCommanderAliases = unfilteredDefaultBriefMode;\n const projectionFlagsEnabled = [\n schemaOnly,\n flagsOnly,\n availabilityOnly,\n ].filter((value) => value).length;\n if (projectionFlagsEnabled > 1) {\n throw new PmCliError(\n \"Choose only one projection flag: --schema-only, --flags-only, or --availability-only.\",\n EXIT_CODE.USAGE,\n );\n }\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n let settings = structuredClone(SETTINGS_DEFAULTS);\n try {\n settings = await readSettings(pmRoot);\n } catch {\n settings = structuredClone(SETTINGS_DEFAULTS);\n }\n const runtimeProbe = await resolveRuntimeExtensionActionProbe(global);\n const typeRegistry = resolveItemTypeRegistry(\n settings,\n runtimeProbe.registrations ?? getActiveExtensionRegistrations(),\n );\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const runtimeFieldFlagMap =\n buildRuntimeFieldFlagContracts(runtimeFieldRegistry);\n const createRequiredOptionContracts =\n buildCreateRequiredOptionContracts(typeRegistry);\n const extensionContracts = collectExtensionCommandContracts(runtimeProbe);\n const mergedExtensionContracts = mergeExtensionContractsByAction(extensionContracts);\n const extensionFlagMap = collectExtensionFlagContractsByCommand(\n runtimeProbe.flagRegistrations,\n );\n const includePackageOwnedActions =\n (selectedAction !== undefined && PACKAGE_OWNED_ACTIONS.has(selectedAction) && availabilityOnly) ||\n (selectedCommand !== undefined && PACKAGE_OWNED_COMMANDS.has(selectedCommand) && availabilityOnly);\n const actionDescriptors =\n collectActionContractDescriptors(mergedExtensionContracts, { includePackageOwnedActions });\n if (\n includePackageOwnedActions &&\n selectedCommand !== undefined &&\n PACKAGE_OWNED_COMMANDS.has(selectedCommand) &&\n !actionDescriptors.some((entry) => entry.command_path === selectedCommand)\n ) {\n actionDescriptors.push({\n action: packageOwnedActionForCommand(selectedCommand),\n provider: \"extension\",\n requires_extension: true,\n command_path: selectedCommand,\n });\n }\n const actionNames = new Set(actionDescriptors.map((entry) => entry.action));\n if (selectedAction && !actionNames.has(selectedAction)) {\n throw new PmCliError(\n `Unknown action: \"${options.action}\".`,\n EXIT_CODE.USAGE,\n );\n }\n\n const commandCatalog = [\n ...new Set([\n ...PM_CORE_COMMAND_NAMES.filter(\n (entry) => !PACKAGE_OWNED_COMMANDS.has(entry),\n ),\n ...[...CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.keys()].filter(\n (entry) => !PACKAGE_OWNED_COMMANDS.has(entry),\n ),\n ...actionDescriptors.flatMap((entry) =>\n entry.command_path ? splitCommandPathAliases(entry.command_path) : [],\n ),\n ...mergedExtensionContracts.flatMap((entry) => entry.command.split(\"|\")),\n ]),\n ]\n .map((entry) => normalizeCommandPath(entry))\n .filter((entry) => entry.length > 0)\n .sort((left, right) => left.localeCompare(right));\n const commandNames = new Set(commandCatalog);\n if (selectedCommand && !commandNames.has(selectedCommand)) {\n const packageHint = PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(selectedCommand);\n if (packageHint) {\n throw new PmCliError(\n `Unknown command: \"${options.command}\". Command \"${selectedCommand}\" is provided by the optional \"${packageHint}\" package. Run \"pm install ${packageHint} --project\" and retry.`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_command\",\n required: `Install the optional \"${packageHint}\" package, or choose a command from pm contracts --flags-only --json.`,\n why: \"Command contracts include core commands plus commands registered by active packages and extensions.\",\n examples: [`pm install ${packageHint} --project`, `pm contracts --command ${selectedCommand} --flags-only --json`],\n nextSteps: [`Install the optional package first: pm install ${packageHint} --project`],\n recovery: {\n suggested_retry: `pm install ${packageHint} --project`,\n },\n },\n );\n }\n throw new PmCliError(\n `Unknown command: \"${options.command}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_command\",\n required: \"Use a command path listed by pm contracts --flags-only --json.\",\n why: \"Command contracts are generated from the active core, package, and extension command registry.\",\n examples: [\"pm contracts --flags-only --json\", \"pm --help\"],\n nextSteps: [\"Verify spelling and active packages/extensions, then rerun with a known command path.\"],\n recovery: {\n suggested_retry: \"pm contracts --flags-only --json\",\n },\n },\n );\n }\n const selectedPackageOwnedAction = selectedCommand\n ? PACKAGE_OWNED_COMMAND_ACTIONS.get(selectedCommand)\n : undefined;\n const commandScopedDescriptors = selectedCommand\n ? actionDescriptors.filter((descriptor) =>\n selectedPackageOwnedAction\n ? descriptor.action === selectedPackageOwnedAction\n : actionDescriptorMatchesSelectedCommand(descriptor, selectedCommand),\n )\n : actionDescriptors;\n if (\n selectedCommand &&\n selectedAction &&\n !commandScopedDescriptors.some(\n (descriptor) => descriptor.action === selectedAction,\n )\n ) {\n throw new PmCliError(\n `Action \"${options.action}\" is not mapped to command \"${options.command}\" in contracts output.`,\n EXIT_CODE.USAGE,\n );\n }\n\n const schema = PM_TOOL_PARAMETERS_SCHEMA as Record<string, unknown>;\n const schemaBranches = extractActionBranches(schema);\n const schemaActionSet = new Set(\n schemaBranches\n .map((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return null;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return null;\n }\n const actionConst = (actionProperty as { const?: unknown }).const;\n return typeof actionConst === \"string\" ? actionConst : null;\n })\n .filter((entry): entry is string => entry !== null),\n );\n const extensionBranches = mergedExtensionContracts\n .filter((contract) => !schemaActionSet.has(contract.action))\n .map((contract) => buildExtensionActionSchemaBranch(contract));\n const mergedSchema =\n extensionBranches.length > 0\n ? {\n ...schema,\n oneOf: [...schemaBranches, ...extensionBranches],\n }\n : schema;\n\n const scopedActionDescriptors = selectedAction\n ? commandScopedDescriptors.filter(\n (descriptor) => descriptor.action === selectedAction,\n )\n : commandScopedDescriptors;\n const allActionAvailability = [\n ...new Map(\n scopedActionDescriptors\n .map((descriptor) => resolveActionAvailability(descriptor, runtimeProbe))\n .map((entry) => [\n selectedPackageOwnedAction ? entry.action : `${entry.action}|${entry.command_path ?? \"\"}`,\n entry,\n ] as const),\n ).values(),\n ];\n const actionAvailability =\n runtimeOnly && !selectedAction && !availabilityOnly\n ? allActionAvailability.filter((entry) => entry.invocable)\n : allActionAvailability;\n const actions = [...new Set(actionAvailability.map((entry) => entry.action))];\n const descriptorActionSet = new Set(\n actionDescriptors.map((descriptor) => descriptor.action),\n );\n let filteredSchema = selectedAction\n ? filterSchemaByAction(mergedSchema, selectedAction)\n : selectedCommand\n ? filterSchemaByActions(\n mergedSchema,\n new Set(\n scopedActionDescriptors.map((descriptor) => descriptor.action),\n ),\n )\n : filterSchemaByActions(mergedSchema, descriptorActionSet);\n if (runtimeOnly && !selectedAction) {\n filteredSchema = filterSchemaByActions(filteredSchema, new Set(actions));\n }\n const includeSchemaSurface = !flagsOnly && !availabilityOnly;\n if (includeSchemaSurface) {\n filteredSchema = attachCreateRequiredOptionContracts(\n filteredSchema,\n createRequiredOptionContracts,\n );\n }\n const commands =\n selectedCommand !== undefined\n ? [selectedCommand]\n : selectedAction\n ? resolveScopedCommandsFromActionDescriptors(\n scopedActionDescriptors,\n commandCatalog,\n )\n : commandCatalog;\n const outputCommands =\n flagsOnly && selectedCommand === undefined && selectedAction === undefined\n ? compactCommandAliasSurface(commands)\n : commands;\n const commandAliases = buildCommandAliasSurface(commands);\n const extensionCommandContracts = selectedCommand\n ? extensionContracts.filter((entry) => entry.command === selectedCommand)\n : selectedAction\n ? extensionContracts.filter((entry) =>\n outputCommands.includes(normalizeCommandPath(entry.command)),\n )\n : extensionContracts;\n\n const includeRuntimeContractSections = !(flagsOnly && !fullOutput);\n const result: ContractsResult = {\n schema_version:\n typeof mergedSchema[\"x-schema-version\"] === \"string\"\n ? (mergedSchema[\"x-schema-version\"] as string)\n : null,\n schema_id:\n typeof mergedSchema.$id === \"string\"\n ? (mergedSchema.$id as string)\n : null,\n selected: {\n action: selectedAction ?? null,\n command: selectedCommand ?? null,\n schema_only: schemaOnly,\n flags_only: flagsOnly,\n availability_only: availabilityOnly,\n runtime_only: runtimeOnly,\n command_scoped: selectedCommand !== undefined,\n },\n commands: outputCommands,\n };\n\n if (includeRuntimeContractSections) {\n result.runtime_schema = {\n statuses: statusRegistry.definitions.map((definition) => definition.id),\n open_status: statusRegistry.open_status,\n close_status: statusRegistry.close_status,\n canceled_status: statusRegistry.canceled_status,\n types: [...typeRegistry.types],\n fields_by_command: Object.fromEntries(\n [...runtimeFieldRegistry.command_to_fields.entries()].map(\n ([command, definitions]) => [\n command,\n [\n ...new Set(\n definitions.map((definition) => `--${definition.cli_flag}`),\n ),\n ].sort((left, right) => left.localeCompare(right)),\n ],\n ),\n ),\n };\n result.extension_contracts = {\n capabilities: [...PM_EXTENSION_CAPABILITY_CONTRACTS],\n services: [...PM_EXTENSION_SERVICE_NAME_CONTRACTS],\n policy_modes: [...PM_EXTENSION_POLICY_MODE_CONTRACTS],\n policy_surfaces: [...PM_EXTENSION_POLICY_SURFACE_CONTRACTS],\n trust_modes: [...PM_EXTENSION_TRUST_MODE_CONTRACTS],\n sandbox_profiles: [...PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS],\n manifest_versions: [1, 2],\n compatibility: {\n current: \"v2\",\n previous: [\"v1\"],\n breaking_strategy: \"versioned_breaking\",\n },\n };\n }\n\n if (!flagsOnly) {\n result.actions = actions;\n result.action_availability = actionAvailability;\n }\n\n if (includeSchemaSurface && !omitUnfilteredSchema) {\n result.schema = filteredSchema;\n result.extension_commands = extensionCommandContracts;\n } else if (includeSchemaSurface && omitUnfilteredSchema) {\n result.schema_omitted_reason = \"unfiltered_default_brief\";\n result.extension_commands = extensionCommandContracts;\n }\n\n if (!schemaOnly && !availabilityOnly) {\n if (!omitUnfilteredCommandFlags) {\n result.command_flags = buildCommandFlagSurface(\n outputCommands,\n extensionFlagMap,\n runtimeFieldFlagMap,\n );\n } else {\n result.command_flags_omitted_reason = \"unfiltered_default_brief\";\n }\n if (commandAliases.length > 0) {\n result.command_aliases = commandAliases;\n }\n }\n\n if (!schemaOnly && !flagsOnly && !availabilityOnly) {\n if (!omitUnfilteredCommanderAliases) {\n result.commander_aliases = buildCommanderAliasSurface();\n } else {\n result.commander_aliases_omitted_reason = \"unfiltered_default_brief\";\n }\n }\n\n return result;\n}\n"],
5
- "mappings": "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",
6
- "names": ["global"]
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../../cli/commands/contracts.ts"],"sourcesContent":["import { EXIT_CODE, SETTINGS_DEFAULTS } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport {\n activateExtensions,\n getActiveExtensionRegistrations,\n loadExtensions,\n} from \"../../core/extensions/index.js\";\nimport type {\n ExtensionRegistrationRegistry,\n RegisteredExtensionCommandDefinition,\n RegisteredExtensionFlagDefinitions,\n} from \"../../core/extensions/index.js\";\nimport { pathExists } from \"../../core/fs/fs-utils.js\";\nimport {\n commandOptionFlagLabel,\n resolveCommandOptionPolicyState,\n resolveItemTypeRegistry,\n} from \"../../core/item/type-registry.js\";\nimport {\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeFieldRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport {\n ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n ACTIVITY_FLAG_CONTRACTS,\n AGGREGATE_FLAG_CONTRACTS,\n APPEND_FLAG_CONTRACTS,\n CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,\n CALENDAR_FLAG_CONTRACTS,\n CLAIM_FLAG_CONTRACTS,\n CLOSE_TASK_FLAG_CONTRACTS,\n COMMENTS_FLAG_CONTRACTS,\n COMMENTS_AUDIT_FLAG_CONTRACTS,\n CLOSE_FLAG_CONTRACTS,\n CLOSE_MANY_FLAG_CONTRACTS,\n COMPLETION_FLAG_CONTRACTS,\n CONFIG_FLAG_CONTRACTS,\n CONTRACTS_FLAG_CONTRACTS,\n CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n CONTEXT_FLAG_CONTRACTS,\n CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n CREATE_FLAG_CONTRACTS,\n DELETE_FLAG_CONTRACTS,\n DEPS_FLAG_CONTRACTS,\n DEDUPE_AUDIT_FLAG_CONTRACTS,\n DOCS_FLAG_CONTRACTS,\n EXTENSION_ACTIVATE_FLAG_CONTRACTS,\n EXTENSION_ADOPT_ALL_FLAG_CONTRACTS,\n EXTENSION_ADOPT_FLAG_CONTRACTS,\n EXTENSION_CATALOG_FLAG_CONTRACTS,\n EXTENSION_DEACTIVATE_FLAG_CONTRACTS,\n EXTENSION_DOCTOR_FLAG_CONTRACTS,\n EXTENSION_EXPLORE_FLAG_CONTRACTS,\n EXTENSION_FLAG_CONTRACTS,\n EXTENSION_INIT_FLAG_CONTRACTS,\n EXTENSION_INSTALL_FLAG_CONTRACTS,\n EXTENSION_MANAGE_FLAG_CONTRACTS,\n EXTENSION_RELOAD_FLAG_CONTRACTS,\n EXTENSION_UNINSTALL_FLAG_CONTRACTS,\n FILES_FLAG_CONTRACTS,\n GC_FLAG_CONTRACTS,\n GET_FLAG_CONTRACTS,\n GUIDE_FLAG_CONTRACTS,\n GLOBAL_FLAG_CONTRACTS,\n HEALTH_FLAG_CONTRACTS,\n HISTORY_FLAG_CONTRACTS,\n HISTORY_COMPACT_FLAG_CONTRACTS,\n HISTORY_REDACT_FLAG_CONTRACTS,\n HISTORY_REPAIR_FLAG_CONTRACTS,\n INSTALL_FLAG_CONTRACTS,\n INIT_FLAG_CONTRACTS,\n LEARNINGS_FLAG_CONTRACTS,\n LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n LIST_FILTER_FLAG_CONTRACTS,\n NORMALIZE_FLAG_CONTRACTS,\n NOTES_FLAG_CONTRACTS,\n PM_EXTENSION_CAPABILITY_CONTRACTS,\n PM_EXTENSION_POLICY_MODE_CONTRACTS,\n PM_EXTENSION_POLICY_SURFACE_CONTRACTS,\n PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS,\n PM_EXTENSION_SERVICE_NAME_CONTRACTS,\n PM_EXTENSION_TRUST_MODE_CONTRACTS,\n PLAN_FLAG_CONTRACTS,\n PM_CORE_COMMAND_NAMES,\n PM_TOOL_ACTIONS,\n PM_TOOL_PARAMETERS_SCHEMA,\n REINDEX_FLAG_CONTRACTS,\n RELEASE_FLAG_CONTRACTS,\n RESTORE_FLAG_CONTRACTS,\n SCHEMA_FLAG_CONTRACTS,\n SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n SEARCH_FLAG_CONTRACTS,\n STATS_FLAG_CONTRACTS,\n START_TASK_FLAG_CONTRACTS,\n PAUSE_TASK_FLAG_CONTRACTS,\n TELEMETRY_FLAG_CONTRACTS,\n TEST_ALL_FLAG_CONTRACTS,\n TEST_FLAG_CONTRACTS,\n TEST_RUNS_FLAG_CONTRACTS,\n UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n UPDATE_FLAG_CONTRACTS,\n UPDATE_MANY_FLAG_CONTRACTS,\n UPGRADE_FLAG_CONTRACTS,\n VALIDATE_FLAG_CONTRACTS,\n compactFlagAliasContracts,\n withFlagAliasMetadata,\n type CliFlagContract,\n type CommanderOptionAliasContract,\n} from \"../../sdk/cli-contracts.js\";\n\nexport interface ContractsCommandOptions {\n action?: string;\n command?: string;\n schemaOnly?: boolean;\n flagsOnly?: boolean;\n availabilityOnly?: boolean;\n runtimeOnly?: boolean;\n full?: boolean;\n}\n\ninterface CommandFlagSurface {\n command: string;\n flags: CliFlagContract[];\n provider?: \"core\" | \"extension\" | \"mixed\";\n extension_sources?: Array<{\n layer: \"global\" | \"project\";\n name: string;\n }>;\n}\n\ninterface CommandAliasSurface {\n canonical: string;\n aliases: string[];\n}\n\nexport interface ContractsResult {\n schema_version: string | null;\n schema_id: string | null;\n selected: {\n action: string | null;\n command: string | null;\n schema_only: boolean;\n flags_only: boolean;\n availability_only: boolean;\n runtime_only: boolean;\n command_scoped: boolean;\n };\n actions?: string[];\n action_availability?: ContractsActionAvailability[];\n commands: string[];\n schema?: Record<string, unknown>;\n schema_omitted_reason?: string;\n command_flags_omitted_reason?: string;\n commander_aliases_omitted_reason?: string;\n command_flags?: CommandFlagSurface[];\n command_aliases?: CommandAliasSurface[];\n commander_aliases?: Record<string, CommanderOptionAliasContract[]>;\n extension_commands?: ExtensionCommandContract[];\n runtime_schema?: {\n statuses: string[];\n open_status: string;\n close_status: string;\n canceled_status: string;\n types: string[];\n fields_by_command: Record<string, string[]>;\n };\n extension_contracts?: {\n capabilities: string[];\n services: string[];\n policy_modes: string[];\n policy_surfaces: string[];\n trust_modes: string[];\n sandbox_profiles: string[];\n manifest_versions: number[];\n compatibility: {\n current: string;\n previous: string[];\n breaking_strategy: string;\n };\n };\n}\n\ntype PmToolAction = (typeof PM_TOOL_ACTIONS)[number];\n\nexport interface ContractsActionAvailability {\n action: string;\n invocable: boolean;\n available: boolean;\n requires_extension: boolean;\n provider: \"core\" | \"extension\";\n disabled_reason: string | null;\n command_path: string | null;\n cli_exposed: boolean;\n policy_state?: {\n mode: string;\n trust_mode: string;\n default_sandbox_profile: string;\n };\n}\n\ninterface RuntimeExtensionActionProbe {\n handlers: Set<string>;\n disabledReason: string | null;\n commandDefinitions: RegisteredExtensionCommandDefinition[];\n flagRegistrations: RegisteredExtensionFlagDefinitions[];\n registrations: ExtensionRegistrationRegistry | null;\n policyState: {\n mode: string;\n trust_mode: string;\n default_sandbox_profile: string;\n };\n}\n\ninterface ExtensionCommandContract {\n command: string;\n action: string;\n source: {\n layer: \"global\" | \"project\";\n name: string;\n } | null;\n description: string | null;\n intent: string | null;\n arguments: Array<{\n name: string;\n required: boolean;\n variadic: boolean;\n description: string | null;\n }>;\n flags: CliFlagContract[];\n examples: string[];\n failure_hints: string[];\n}\n\nconst LIST_COMMAND_NAMES = new Set([\n \"list\",\n \"list-all\",\n \"list-draft\",\n \"list-open\",\n \"list-in-progress\",\n \"list-blocked\",\n \"list-closed\",\n \"list-canceled\",\n]);\n\nconst PACKAGE_OWNED_ACTIONS = new Set<string>([\n \"calendar\",\n \"dedupe-audit\",\n \"guide\",\n \"reindex\",\n \"normalize\",\n \"comments-audit\",\n \"completion\",\n \"test-runs-list\",\n \"test-runs-status\",\n \"test-runs-logs\",\n \"test-runs-stop\",\n \"test-runs-resume\",\n \"templates-list\",\n \"templates-save\",\n \"templates-show\",\n]);\n\nconst PACKAGE_OWNED_COMMANDS = new Set<string>([\n \"cal\",\n \"calendar\",\n \"comments-audit\",\n \"completion\",\n \"completion-statuses\",\n \"completion-tags\",\n \"completion-types\",\n \"dedupe-audit\",\n \"guide\",\n \"normalize\",\n \"reindex\",\n \"templates\",\n \"templates list\",\n \"templates save\",\n \"templates show\",\n \"test-runs\",\n \"test-runs list\",\n \"test-runs status\",\n \"test-runs logs\",\n \"test-runs stop\",\n \"test-runs resume\",\n]);\n\nconst PACKAGE_OWNED_COMMAND_INSTALL_HINTS = new Map<string, string>([\n [\"cal\", \"calendar\"],\n [\"calendar\", \"calendar\"],\n [\"comments-audit\", \"governance-audit\"],\n [\"completion\", \"guide-shell\"],\n [\"completion-statuses\", \"guide-shell\"],\n [\"completion-tags\", \"guide-shell\"],\n [\"completion-types\", \"guide-shell\"],\n [\"dedupe-audit\", \"governance-audit\"],\n [\"guide\", \"guide-shell\"],\n [\"normalize\", \"governance-audit\"],\n [\"reindex\", \"search-advanced\"],\n [\"templates\", \"templates\"],\n [\"templates list\", \"templates\"],\n [\"templates save\", \"templates\"],\n [\"templates show\", \"templates\"],\n [\"test-runs\", \"linked-test-adapters\"],\n [\"test-runs list\", \"linked-test-adapters\"],\n [\"test-runs status\", \"linked-test-adapters\"],\n [\"test-runs logs\", \"linked-test-adapters\"],\n [\"test-runs stop\", \"linked-test-adapters\"],\n [\"test-runs resume\", \"linked-test-adapters\"],\n]);\n\nconst PACKAGE_OWNED_ACTION_COMMAND_PATHS = new Map<string, string>([\n [\"calendar\", \"calendar|cal\"],\n [\"dedupe-audit\", \"dedupe-audit\"],\n [\"guide\", \"guide\"],\n [\"reindex\", \"reindex\"],\n [\"normalize\", \"normalize\"],\n [\"comments-audit\", \"comments-audit\"],\n [\"completion\", \"completion\"],\n [\"test-runs-list\", \"test-runs|test-runs list\"],\n [\"test-runs-status\", \"test-runs status\"],\n [\"test-runs-logs\", \"test-runs logs\"],\n [\"test-runs-stop\", \"test-runs stop\"],\n [\"test-runs-resume\", \"test-runs resume\"],\n [\"templates-list\", \"templates|templates list\"],\n [\"templates-save\", \"templates save\"],\n [\"templates-show\", \"templates show\"],\n]);\n\nconst PACKAGE_OWNED_COMMAND_ACTIONS = new Map(\n [...PACKAGE_OWNED_ACTION_COMMAND_PATHS.entries()].flatMap(([action, commandPaths]) =>\n splitCommandPathAliases(commandPaths).map((commandPath) => [commandPath, action] as const),\n ),\n);\n\nconst CANONICAL_COMMAND_ALIASES: CommandAliasSurface[] = [\n {\n canonical: \"context\",\n aliases: [\"ctx\"],\n },\n {\n canonical: \"package\",\n aliases: [\"extension\", \"packages\", \"install\"],\n },\n];\n\nconst COMMAND_ALIAS_TO_CANONICAL = new Map(\n CANONICAL_COMMAND_ALIASES.flatMap((entry) =>\n entry.aliases.map((alias) => [alias, entry.canonical] as const),\n ),\n);\n\nconst EXTENSION_PACKAGE_LIFECYCLE_FLAG_CONTRACTS: Array<readonly [string, CliFlagContract[]]> = [\n [\"init\", EXTENSION_INIT_FLAG_CONTRACTS],\n [\"install\", EXTENSION_INSTALL_FLAG_CONTRACTS],\n [\"uninstall\", EXTENSION_UNINSTALL_FLAG_CONTRACTS],\n [\"explore\", EXTENSION_EXPLORE_FLAG_CONTRACTS],\n [\"manage\", EXTENSION_MANAGE_FLAG_CONTRACTS],\n [\"reload\", EXTENSION_RELOAD_FLAG_CONTRACTS],\n [\"doctor\", EXTENSION_DOCTOR_FLAG_CONTRACTS],\n [\"catalog\", EXTENSION_CATALOG_FLAG_CONTRACTS],\n [\"adopt\", EXTENSION_ADOPT_FLAG_CONTRACTS],\n [\"adopt-all\", EXTENSION_ADOPT_ALL_FLAG_CONTRACTS],\n [\"activate\", EXTENSION_ACTIVATE_FLAG_CONTRACTS],\n [\"deactivate\", EXTENSION_DEACTIVATE_FLAG_CONTRACTS],\n];\n\nconst CORE_COMMAND_FLAG_CONTRACT_ENTRIES: Array<readonly [string, CliFlagContract[]]> = [\n ...EXTENSION_PACKAGE_LIFECYCLE_FLAG_CONTRACTS.flatMap(([subcommand, flags]) => [\n [`extension ${subcommand}`, flags] as const,\n [`package ${subcommand}`, flags] as const,\n [`packages ${subcommand}`, flags] as const,\n ]),\n [\"init\", INIT_FLAG_CONTRACTS],\n [\"config\", CONFIG_FLAG_CONTRACTS],\n [\"extension\", EXTENSION_FLAG_CONTRACTS],\n [\"package\", EXTENSION_FLAG_CONTRACTS],\n [\"packages\", EXTENSION_FLAG_CONTRACTS],\n [\"install\", INSTALL_FLAG_CONTRACTS],\n [\"create\", CREATE_FLAG_CONTRACTS],\n [\"update\", UPDATE_FLAG_CONTRACTS],\n [\"update-many\", UPDATE_MANY_FLAG_CONTRACTS],\n [\"upgrade\", UPGRADE_FLAG_CONTRACTS],\n [\"normalize\", NORMALIZE_FLAG_CONTRACTS],\n [\"calendar\", CALENDAR_FLAG_CONTRACTS],\n [\"cal\", CALENDAR_FLAG_CONTRACTS],\n [\"context\", CONTEXT_FLAG_CONTRACTS],\n [\"ctx\", CONTEXT_FLAG_CONTRACTS],\n [\"get\", GET_FLAG_CONTRACTS],\n [\"search\", SEARCH_FLAG_CONTRACTS],\n [\"aggregate\", AGGREGATE_FLAG_CONTRACTS],\n [\"dedupe-audit\", DEDUPE_AUDIT_FLAG_CONTRACTS],\n [\"deps\", DEPS_FLAG_CONTRACTS],\n [\"guide\", GUIDE_FLAG_CONTRACTS],\n [\"reindex\", REINDEX_FLAG_CONTRACTS],\n [\"history\", HISTORY_FLAG_CONTRACTS],\n [\"history-compact\", HISTORY_COMPACT_FLAG_CONTRACTS],\n [\"history-redact\", HISTORY_REDACT_FLAG_CONTRACTS],\n [\"history-repair\", HISTORY_REPAIR_FLAG_CONTRACTS],\n [\"schema\", SCHEMA_FLAG_CONTRACTS],\n [\"plan\", PLAN_FLAG_CONTRACTS],\n [\"restore\", RESTORE_FLAG_CONTRACTS],\n [\"delete\", DELETE_FLAG_CONTRACTS],\n [\"close\", CLOSE_FLAG_CONTRACTS],\n [\"close-many\", CLOSE_MANY_FLAG_CONTRACTS],\n [\"append\", APPEND_FLAG_CONTRACTS],\n [\"claim\", CLAIM_FLAG_CONTRACTS],\n [\"release\", RELEASE_FLAG_CONTRACTS],\n [\"start-task\", START_TASK_FLAG_CONTRACTS],\n [\"pause-task\", PAUSE_TASK_FLAG_CONTRACTS],\n [\"close-task\", CLOSE_TASK_FLAG_CONTRACTS],\n [\"comments\", COMMENTS_FLAG_CONTRACTS],\n [\"notes\", NOTES_FLAG_CONTRACTS],\n [\"learnings\", LEARNINGS_FLAG_CONTRACTS],\n [\"files\", FILES_FLAG_CONTRACTS],\n [\"docs\", DOCS_FLAG_CONTRACTS],\n [\"test\", TEST_FLAG_CONTRACTS],\n [\"test-all\", TEST_ALL_FLAG_CONTRACTS],\n [\"telemetry\", TELEMETRY_FLAG_CONTRACTS],\n [\"test-runs\", TEST_RUNS_FLAG_CONTRACTS],\n [\"gc\", GC_FLAG_CONTRACTS],\n [\"stats\", STATS_FLAG_CONTRACTS],\n [\"validate\", VALIDATE_FLAG_CONTRACTS],\n [\"comments-audit\", COMMENTS_AUDIT_FLAG_CONTRACTS],\n [\"health\", HEALTH_FLAG_CONTRACTS],\n [\"contracts\", CONTRACTS_FLAG_CONTRACTS],\n [\"completion\", COMPLETION_FLAG_CONTRACTS],\n [\"activity\", ACTIVITY_FLAG_CONTRACTS],\n ...[...LIST_COMMAND_NAMES].map((command) => [command, LIST_FILTER_FLAG_CONTRACTS] as const),\n];\n\nconst CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND = new Map(CORE_COMMAND_FLAG_CONTRACT_ENTRIES);\n\nfunction packageOwnedActionForCommand(command: string): string {\n const exactAction = PACKAGE_OWNED_COMMAND_ACTIONS.get(command);\n if (exactAction) {\n return exactAction;\n }\n if (command.startsWith(\"test-runs \")) {\n return `test-runs-${command.slice(\"test-runs \".length)}`;\n }\n if (command.startsWith(\"templates \")) {\n return `templates-${command.slice(\"templates \".length)}`;\n }\n return command;\n}\n\nfunction resolveActionCommandPath(action: PmToolAction): string | null {\n if (\n PM_CORE_COMMAND_NAMES.includes(\n action as (typeof PM_CORE_COMMAND_NAMES)[number],\n )\n ) {\n return normalizeCommandPath(action);\n }\n if (action.startsWith(\"extension-\")) {\n return normalizeCommandPath(\n `extension ${action.slice(\"extension-\".length)}`,\n );\n }\n if (action.startsWith(\"package-\")) {\n return normalizeCommandPath(`package ${action.slice(\"package-\".length)}`);\n }\n if (action.startsWith(\"test-runs-\")) {\n return normalizeCommandPath(\n `test-runs ${action.slice(\"test-runs-\".length)}`,\n );\n }\n if (action.startsWith(\"templates-\")) {\n return normalizeCommandPath(\n `templates ${action.slice(\"templates-\".length)}`,\n );\n }\n if (PACKAGE_OWNED_ACTIONS.has(action)) {\n return PACKAGE_OWNED_ACTION_COMMAND_PATHS.get(action) ?? normalizeCommandPath(action);\n }\n return null;\n}\n\nfunction actionDescriptorMatchesSelectedCommand(\n descriptor: ActionContractDescriptor,\n selectedCommand: string,\n): boolean {\n if (descriptor.command_path === null) {\n return false;\n }\n return splitCommandPathAliases(descriptor.command_path).some((commandPath) => {\n if (commandPath === selectedCommand) {\n return true;\n }\n return commandPath.startsWith(`${selectedCommand} `);\n });\n}\n\nfunction splitCommandPathAliases(commandPath: string): string[] {\n return commandPath\n .split(\"|\")\n .map((entry) => normalizeCommandPath(entry))\n .filter((entry) => entry.length > 0);\n}\n\nfunction resolveScopedCommandsFromActionDescriptors(\n descriptors: ActionContractDescriptor[],\n commandCatalog: string[],\n): string[] {\n const commandSet = new Set(commandCatalog);\n const scoped = new Set<string>();\n for (const descriptor of descriptors) {\n if (!descriptor.command_path) {\n continue;\n }\n for (const commandPath of splitCommandPathAliases(descriptor.command_path)) {\n const tokens = commandPath.split(\" \").filter((entry) => entry.length > 0);\n if (tokens.length === 0) {\n continue;\n }\n for (let end = tokens.length; end > 0; end -= 1) {\n const candidate = tokens.slice(0, end).join(\" \");\n if (!commandSet.has(candidate)) {\n continue;\n }\n scoped.add(candidate);\n break;\n }\n }\n }\n return [...scoped].sort((left, right) => left.localeCompare(right));\n}\n\nfunction normalizeToken(value: string | undefined): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n const trimmed = value.trim().toLowerCase();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction extractActionBranches(\n schema: Record<string, unknown>,\n): Record<string, unknown>[] {\n const oneOf = schema.oneOf;\n if (!Array.isArray(oneOf)) {\n return [];\n }\n return oneOf.filter(\n (entry): entry is Record<string, unknown> =>\n typeof entry === \"object\" && entry !== null,\n );\n}\n\nfunction filterSchemaByAction(\n schema: Record<string, unknown>,\n action: string | undefined,\n): Record<string, unknown> {\n if (!action) {\n return { ...schema };\n }\n const branches = extractActionBranches(schema);\n const filtered = branches.filter((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return false;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return false;\n }\n return (actionProperty as { const?: unknown }).const === action;\n });\n return {\n ...schema,\n oneOf: filtered,\n };\n}\n\nfunction filterSchemaByActions(\n schema: Record<string, unknown>,\n actions: ReadonlySet<string>,\n): Record<string, unknown> {\n const branches = extractActionBranches(schema);\n const filtered = branches.filter((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return false;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return false;\n }\n const actionConst = (actionProperty as { const?: unknown }).const;\n return typeof actionConst === \"string\" && actions.has(actionConst);\n });\n return {\n ...schema,\n oneOf: filtered,\n };\n}\n\nfunction normalizeCommandPath(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .filter((entry) => entry.length > 0)\n .join(\" \");\n}\n\nfunction normalizeActionNameFromCommand(commandPath: string): string {\n return commandPath.replace(/\\s+/g, \"-\");\n}\n\nfunction toOptionalTrimmedString(value: unknown): string | null {\n if (typeof value !== \"string\") {\n return null;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : null;\n}\n\nfunction normalizeStringList(values: string[] | undefined): string[] {\n if (!Array.isArray(values)) {\n return [];\n }\n const normalized: string[] = [];\n const seen = new Set<string>();\n for (const value of values) {\n const trimmed = toOptionalTrimmedString(value);\n if (!trimmed || seen.has(trimmed)) {\n continue;\n }\n seen.add(trimmed);\n normalized.push(trimmed);\n }\n return normalized;\n}\n\nfunction toExtensionFlagContract(\n definition: Record<string, unknown>,\n): CliFlagContract | null {\n const longName = toOptionalTrimmedString(definition.long);\n const shortName = toOptionalTrimmedString(definition.short);\n const normalizedLong =\n longName && longName.startsWith(\"--\") && longName.length > 2\n ? longName\n : null;\n const normalizedShort =\n shortName && shortName.startsWith(\"-\") && !shortName.startsWith(\"--\")\n ? shortName\n : null;\n const flag = normalizedLong ?? normalizedShort;\n if (!flag) {\n return null;\n }\n const contract: CliFlagContract = { flag };\n if (normalizedShort && normalizedLong) {\n contract.short = normalizedShort;\n }\n const description = toOptionalTrimmedString(definition.description);\n if (description) {\n contract.description = description;\n }\n if (definition.required === true) {\n contract.required = true;\n }\n if (definition.repeatable === true) {\n contract.repeatable = true;\n }\n const valueName = toOptionalTrimmedString(definition.value_name);\n if (valueName) {\n contract.value_name = valueName;\n }\n const rawValueType = [\n toOptionalTrimmedString(definition.value_type),\n toOptionalTrimmedString(definition.type),\n valueName ? \"string\" : null,\n ].find((candidate): candidate is \"string\" | \"number\" | \"boolean\" =>\n candidate === \"string\" || candidate === \"number\" || candidate === \"boolean\",\n );\n if (rawValueType) {\n contract.value_type = rawValueType;\n }\n return contract;\n}\n\nfunction collectExtensionFlagContractsByCommand(\n registrations: RegisteredExtensionFlagDefinitions[],\n): Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n }\n> {\n const grouped = new Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n dedupe: Set<string>;\n sourceDedupe: Set<string>;\n }\n >();\n for (const registration of registrations) {\n const commandPath = normalizeCommandPath(registration.target_command);\n if (commandPath.length === 0) {\n continue;\n }\n const bucket = grouped.get(commandPath) ?? {\n flags: [],\n sources: [],\n dedupe: new Set<string>(),\n sourceDedupe: new Set<string>(),\n };\n const sourceKey = `${registration.layer}:${registration.name}`;\n if (!bucket.sourceDedupe.has(sourceKey)) {\n bucket.sourceDedupe.add(sourceKey);\n bucket.sources.push({\n layer: registration.layer,\n name: registration.name,\n });\n }\n for (const definition of registration.flags) {\n const contract = toExtensionFlagContract(definition);\n if (!contract) {\n continue;\n }\n const key = `${contract.flag}|${contract.short ?? \"\"}`;\n if (bucket.dedupe.has(key)) {\n continue;\n }\n bucket.dedupe.add(key);\n bucket.flags.push(contract);\n }\n grouped.set(commandPath, bucket);\n }\n const normalized = new Map<\n string,\n {\n flags: CliFlagContract[];\n sources: Array<{ layer: \"global\" | \"project\"; name: string }>;\n }\n >();\n for (const [commandPath, bucket] of grouped.entries()) {\n normalized.set(commandPath, {\n flags: bucket.flags,\n sources: bucket.sources.sort((left, right) => {\n const layerOrder = left.layer.localeCompare(right.layer);\n if (layerOrder !== 0) {\n return layerOrder;\n }\n return (left.name ?? \"\").localeCompare(right.name ?? \"\");\n }),\n });\n }\n return normalized;\n}\n\nfunction collectExtensionCommandContracts(\n runtimeProbe: RuntimeExtensionActionProbe,\n): ExtensionCommandContract[] {\n const flagsByCommand = collectExtensionFlagContractsByCommand(\n runtimeProbe.flagRegistrations,\n );\n const definitionsByCommand = new Map<string, ExtensionCommandContract>();\n for (const definition of runtimeProbe.commandDefinitions) {\n const command = normalizeCommandPath(definition.command);\n if (command.length === 0) {\n continue;\n }\n const action =\n toOptionalTrimmedString(definition.action) ??\n normalizeActionNameFromCommand(command);\n const args = Array.isArray(definition.arguments)\n ? definition.arguments\n .map((argument) => {\n const name = toOptionalTrimmedString(argument.name);\n if (!name) {\n return null;\n }\n return {\n name,\n required: argument.required === true,\n variadic: argument.variadic === true,\n description: toOptionalTrimmedString(argument.description),\n };\n })\n .filter(\n (\n argument,\n ): argument is {\n name: string;\n required: boolean;\n variadic: boolean;\n description: string | null;\n } => argument !== null,\n )\n : [];\n definitionsByCommand.set(command, {\n command,\n action,\n source: {\n layer: definition.layer,\n name: definition.name,\n },\n description: toOptionalTrimmedString(definition.description),\n intent: toOptionalTrimmedString(definition.intent),\n arguments: args,\n flags: flagsByCommand.get(command)?.flags ?? [],\n examples: normalizeStringList(definition.examples),\n failure_hints: normalizeStringList(definition.failure_hints),\n });\n }\n\n const extensionCommands = new Set<string>();\n for (const command of runtimeProbe.handlers) {\n extensionCommands.add(normalizeCommandPath(command));\n }\n for (const command of definitionsByCommand.keys()) {\n extensionCommands.add(command);\n }\n for (const command of flagsByCommand.keys()) {\n extensionCommands.add(command);\n }\n\n const contracts: ExtensionCommandContract[] = [];\n for (const command of [...extensionCommands].sort((left, right) =>\n left.localeCompare(right),\n )) {\n const definition = definitionsByCommand.get(command);\n if (definition) {\n contracts.push({\n ...definition,\n flags:\n definition.flags.length > 0\n ? definition.flags\n : (flagsByCommand.get(command)?.flags ?? []),\n });\n continue;\n }\n contracts.push({\n command,\n action: normalizeActionNameFromCommand(command),\n source: null,\n description: null,\n intent: null,\n arguments: [],\n flags: flagsByCommand.get(command)?.flags ?? [],\n examples: [],\n failure_hints: [],\n });\n }\n return contracts;\n}\n\nfunction extensionSchemaPropertyNameFromFlag(\n flag: CliFlagContract,\n): string | null {\n const normalized = flag.flag.replace(/^-+/, \"\").trim();\n if (normalized.length === 0) {\n return null;\n }\n const camelCased = normalized.replace(\n /-([a-z0-9])/g,\n (_match, char: string) => char.toUpperCase(),\n );\n const cleaned = camelCased.replace(/[^a-zA-Z0-9]/g, \"\");\n return cleaned.length > 0 ? cleaned : null;\n}\n\nfunction buildExtensionActionSchemaBranch(\n contract: ExtensionCommandContract,\n): Record<string, unknown> {\n const commands = contract.command\n .split(\"|\")\n .map((command) => command.trim())\n .filter((command) => command.length > 0);\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n const: contract.action,\n description:\n contract.intent ??\n contract.description ??\n `Invoke extension command '${contract.command}'.`,\n },\n };\n const required: string[] = [\"action\"];\n for (const argument of contract.arguments) {\n if (argument.variadic) {\n properties[argument.name] = {\n type: \"array\",\n items: { type: \"string\" },\n description:\n argument.description ??\n `Variadic argument '${argument.name}' for extension action '${contract.action}'.`,\n };\n } else {\n properties[argument.name] = {\n type: \"string\",\n description:\n argument.description ??\n `Argument '${argument.name}' for extension action '${contract.action}'.`,\n };\n }\n if (argument.required) {\n required.push(argument.name);\n }\n }\n for (const flag of contract.flags) {\n const propertyName = extensionSchemaPropertyNameFromFlag(flag);\n if (!propertyName || properties[propertyName] !== undefined) {\n continue;\n }\n const valueType = flag.value_type ?? \"boolean\";\n const schemaType =\n valueType === \"boolean\" ? \"boolean\" : valueType === \"number\" ? [\"number\", \"string\"] : \"string\";\n properties[propertyName] = {\n type: flag.repeatable ? \"array\" : schemaType,\n ...(flag.repeatable ? { items: { type: schemaType } } : {}),\n description: flag.description ?? `Extension option '${flag.flag}' for action '${contract.action}'.`,\n };\n if (flag.required === true) {\n required.push(propertyName);\n }\n }\n\n return {\n type: \"object\",\n properties,\n required,\n additionalProperties: true,\n \"x-extension-source\": contract.source,\n \"x-extension-command\": commands[0] ?? contract.command,\n \"x-extension-commands\": commands,\n };\n}\n\nfunction mergeExtensionFlagContract(existing: CliFlagContract, incoming: CliFlagContract): void {\n existing.description ??= incoming.description;\n existing.value_name ??= incoming.value_name;\n existing.value_type ??= incoming.value_type;\n if (incoming.required === true) {\n existing.required = true;\n }\n if (incoming.repeatable === true) {\n existing.repeatable = true;\n }\n}\n\nfunction mergeExtensionContractsByAction(\n contracts: ExtensionCommandContract[],\n): ExtensionCommandContract[] {\n const byAction = new Map<string, ExtensionCommandContract>();\n for (const contract of contracts) {\n const existing = byAction.get(contract.action);\n if (!existing) {\n byAction.set(contract.action, {\n ...contract,\n flags: [...contract.flags],\n examples: [...contract.examples],\n failure_hints: [...contract.failure_hints],\n });\n continue;\n }\n existing.command = [...new Set([existing.command, contract.command])]\n .sort((left, right) => left.localeCompare(right))\n .join(\"|\");\n existing.arguments = existing.arguments.length >= contract.arguments.length ? existing.arguments : contract.arguments;\n const flagKeys = new Set(existing.flags.map((flag) => `${flag.flag}|${flag.short ?? \"\"}`));\n for (const flag of contract.flags) {\n const key = `${flag.flag}|${flag.short ?? \"\"}`;\n if (!flagKeys.has(key)) {\n flagKeys.add(key);\n existing.flags.push(flag);\n } else {\n const existingFlag = existing.flags.find((candidate) => `${candidate.flag}|${candidate.short ?? \"\"}` === key);\n if (existingFlag) {\n mergeExtensionFlagContract(existingFlag, flag);\n }\n }\n }\n existing.examples = [...new Set([...existing.examples, ...contract.examples])];\n existing.failure_hints = [...new Set([...existing.failure_hints, ...contract.failure_hints])];\n }\n return [...byAction.values()].sort((left, right) => left.action.localeCompare(right.action));\n}\n\nasync function resolveRuntimeExtensionActionProbe(\n global: GlobalOptions,\n): Promise<RuntimeExtensionActionProbe> {\n const defaultPolicyState = {\n mode: SETTINGS_DEFAULTS.extensions.policy.mode,\n trust_mode: SETTINGS_DEFAULTS.extensions.policy.trust_mode,\n default_sandbox_profile:\n SETTINGS_DEFAULTS.extensions.policy.default_sandbox_profile,\n };\n if (global.noExtensions) {\n return {\n handlers: new Set<string>(),\n disabledReason: \"extensions_disabled\",\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n return {\n handlers: new Set<string>(),\n disabledReason: null,\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n\n try {\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions({\n ...loadResult,\n loaded: loadResult.loaded,\n });\n const handlers = new Set<string>(\n activationResult.commands.handlers.map((entry) =>\n normalizeCommandPath(entry.command),\n ),\n );\n return {\n handlers,\n disabledReason: null,\n commandDefinitions: activationResult.registrations.commands,\n flagRegistrations: activationResult.registrations.flags,\n registrations: activationResult.registrations,\n policyState: {\n mode: loadResult.policy.mode,\n trust_mode: loadResult.policy.trust_mode,\n default_sandbox_profile: loadResult.policy.default_sandbox_profile,\n },\n };\n } catch {\n return {\n handlers: new Set<string>(),\n disabledReason: \"extension_runtime_probe_failed\",\n commandDefinitions: [],\n flagRegistrations: [],\n registrations: null,\n policyState: defaultPolicyState,\n };\n }\n}\n\ninterface ActionContractDescriptor {\n action: string;\n provider: \"core\" | \"extension\";\n requires_extension: boolean;\n command_path: string | null;\n}\n\nfunction collectActionContractDescriptors(\n extensionContracts: ExtensionCommandContract[],\n options: { includePackageOwnedActions?: boolean } = {},\n): ActionContractDescriptor[] {\n const descriptors = new Map<string, ActionContractDescriptor>();\n for (const action of PM_TOOL_ACTIONS) {\n const packageOwned = PACKAGE_OWNED_ACTIONS.has(action);\n if (packageOwned && !options.includePackageOwnedActions) {\n continue;\n }\n const commandPath = resolveActionCommandPath(action as PmToolAction);\n descriptors.set(action, {\n action,\n provider: packageOwned ? \"extension\" : \"core\",\n requires_extension: packageOwned,\n command_path: commandPath,\n });\n }\n if (options.includePackageOwnedActions) {\n for (const action of PACKAGE_OWNED_ACTIONS) {\n if (descriptors.has(action)) {\n continue;\n }\n descriptors.set(action, {\n action,\n provider: \"extension\",\n requires_extension: true,\n command_path: resolveActionCommandPath(action as PmToolAction),\n });\n }\n }\n for (const contract of extensionContracts) {\n if (descriptors.has(contract.action)) {\n continue;\n }\n descriptors.set(contract.action, {\n action: contract.action,\n provider: \"extension\",\n requires_extension: true,\n command_path: normalizeCommandPath(contract.command),\n });\n }\n return [...descriptors.values()].sort((left, right) =>\n (left.action ?? \"\").localeCompare(right.action ?? \"\"),\n );\n}\n\nfunction resolveActionAvailability(\n descriptor: ActionContractDescriptor,\n runtimeProbe: RuntimeExtensionActionProbe,\n): ContractsActionAvailability {\n if (descriptor.provider === \"core\" && !descriptor.requires_extension) {\n return {\n action: descriptor.action,\n invocable: true,\n available: true,\n requires_extension: false,\n provider: \"core\",\n disabled_reason: null,\n command_path: descriptor.command_path,\n cli_exposed: descriptor.command_path !== null,\n };\n }\n\n const commandPaths = descriptor.command_path\n ? splitCommandPathAliases(descriptor.command_path)\n : [];\n const extensionCommandAvailable = commandPaths.some((commandPath) =>\n runtimeProbe.handlers.has(commandPath),\n );\n const optionalPackageHint = commandPaths\n .map((commandPath) => PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(commandPath))\n .find((hint): hint is string => typeof hint === \"string\");\n const invocable =\n runtimeProbe.disabledReason === null && extensionCommandAvailable;\n return {\n action: descriptor.action,\n invocable,\n available: invocable,\n requires_extension: true,\n provider: \"extension\",\n disabled_reason: invocable\n ? null\n : (runtimeProbe.disabledReason ?? (optionalPackageHint ? `optional_package_not_installed:${optionalPackageHint}` : \"extension_command_not_registered\")),\n command_path: descriptor.command_path,\n cli_exposed: extensionCommandAvailable,\n policy_state: {\n mode: runtimeProbe.policyState.mode,\n trust_mode: runtimeProbe.policyState.trust_mode,\n default_sandbox_profile: runtimeProbe.policyState.default_sandbox_profile,\n },\n };\n}\n\nfunction resolveCoreCommandFlags(command: string): CliFlagContract[] {\n return CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.get(command) ?? GLOBAL_FLAG_CONTRACTS;\n}\n\nfunction isCoreCommandPath(command: string): boolean {\n if (PACKAGE_OWNED_COMMANDS.has(command)) {\n return false;\n }\n return CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.has(command);\n}\n\nfunction normalizeCommandForRuntimeFieldFlags(command: string): string {\n if (LIST_COMMAND_NAMES.has(command)) {\n return \"list\";\n }\n if (command === \"cal\") {\n return \"calendar\";\n }\n if (command === \"ctx\") {\n return \"context\";\n }\n if (command === \"update-many\") {\n return \"update_many\";\n }\n return command;\n}\n\nfunction toRuntimeLongFlagToken(token: string): string | null {\n const trimmed = token.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.startsWith(\"--\")) {\n return trimmed;\n }\n if (trimmed.startsWith(\"-\")) {\n return null;\n }\n return `--${trimmed}`;\n}\n\nfunction toRuntimeShortFlagToken(token: string): string | null {\n const trimmed = token.trim();\n if (!trimmed) {\n return null;\n }\n if (trimmed.startsWith(\"--\")) {\n return null;\n }\n if (trimmed.startsWith(\"-\")) {\n return trimmed;\n }\n return null;\n}\n\nfunction buildRuntimeFieldFlagContracts(\n fieldRegistry: RuntimeFieldRegistry,\n): Map<string, CliFlagContract[]> {\n const buckets = new Map<\n string,\n { flags: CliFlagContract[]; seen: Set<string> }\n >();\n for (const definition of fieldRegistry.definitions) {\n const primaryFlag = toRuntimeLongFlagToken(definition.cli_flag);\n if (!primaryFlag) {\n continue;\n }\n const shortAlias = definition.cli_aliases\n .map((alias) => toRuntimeShortFlagToken(alias))\n .find((alias) => alias !== null);\n const longAliases = definition.cli_aliases\n .map((alias) => toRuntimeLongFlagToken(alias))\n .filter(\n (alias): alias is string => alias !== null && alias !== primaryFlag,\n );\n for (const command of definition.commands) {\n const bucket = buckets.get(command) ?? {\n flags: [],\n seen: new Set<string>(),\n };\n const primaryContract: CliFlagContract = shortAlias\n ? { flag: primaryFlag, short: shortAlias }\n : { flag: primaryFlag };\n const primaryKey = `${primaryContract.flag}|${primaryContract.short ?? \"\"}`;\n if (!bucket.seen.has(primaryKey)) {\n bucket.seen.add(primaryKey);\n bucket.flags.push(primaryContract);\n }\n for (const alias of longAliases) {\n const key = `${alias}|`;\n if (bucket.seen.has(key)) {\n continue;\n }\n bucket.seen.add(key);\n bucket.flags.push({ flag: alias });\n }\n buckets.set(command, bucket);\n }\n }\n const result = new Map<string, CliFlagContract[]>();\n for (const [command, bucket] of buckets.entries()) {\n result.set(command, compactFlagAliasContracts(bucket.flags));\n }\n return result;\n}\n\nfunction mergeFlagContracts(\n primary: CliFlagContract[],\n secondary: CliFlagContract[],\n): CliFlagContract[] {\n const merged: CliFlagContract[] = [];\n const seen = new Set<string>();\n for (const contract of [...primary, ...secondary]) {\n const key = `${contract.flag}|${contract.short ?? \"\"}`;\n if (seen.has(key)) {\n continue;\n }\n seen.add(key);\n merged.push(contract);\n }\n return compactFlagAliasContracts(merged);\n}\n\nfunction buildCommandFlagSurface(\n commands: string[],\n extensionFlagMap: ReturnType<typeof collectExtensionFlagContractsByCommand>,\n runtimeFieldFlagMap: Map<string, CliFlagContract[]>,\n): CommandFlagSurface[] {\n return commands\n .map((command) => {\n const isCoreCommand = isCoreCommandPath(command);\n const coreFlags = isCoreCommand ? resolveCoreCommandFlags(command) : [];\n const runtimeFlags =\n runtimeFieldFlagMap.get(\n normalizeCommandForRuntimeFieldFlags(command),\n ) ?? [];\n const extensionFlags = extensionFlagMap.get(command);\n const coreWithRuntime = mergeFlagContracts(coreFlags, runtimeFlags);\n const flags = mergeFlagContracts(\n coreWithRuntime,\n extensionFlags?.flags ?? [],\n );\n const provider: CommandFlagSurface[\"provider\"] =\n coreFlags.length > 0 && (extensionFlags?.flags.length ?? 0) > 0\n ? \"mixed\"\n : isCoreCommand\n ? \"core\"\n : \"extension\";\n return {\n command,\n flags,\n provider,\n extension_sources: extensionFlags?.sources,\n };\n })\n .sort((left, right) => left.command.localeCompare(right.command));\n}\n\nfunction compactCommandAliasSurface(commands: string[]): string[] {\n const commandSet = new Set(commands);\n const result: string[] = [];\n for (const command of commands) {\n const canonical = COMMAND_ALIAS_TO_CANONICAL.get(command);\n if (canonical && commandSet.has(canonical)) {\n continue;\n }\n result.push(command);\n }\n return result;\n}\n\nfunction buildCommandAliasSurface(commands: string[]): CommandAliasSurface[] {\n const commandSet = new Set(commands);\n return CANONICAL_COMMAND_ALIASES.map((entry) => ({\n canonical: entry.canonical,\n aliases: entry.aliases.filter((alias) => commandSet.has(alias)),\n })).filter(\n (entry) => commandSet.has(entry.canonical) && entry.aliases.length > 0,\n );\n}\n\nfunction buildCommanderAliasSurface(): Record<\n string,\n CommanderOptionAliasContract[]\n> {\n return {\n create_string_options: CREATE_COMMANDER_STRING_OPTION_CONTRACTS,\n create_repeatable_options: CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n update_string_options: UPDATE_COMMANDER_STRING_OPTION_CONTRACTS,\n update_repeatable_options: UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS,\n list_string_options: LIST_COMMANDER_STRING_OPTION_CONTRACTS,\n search_string_options: SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,\n calendar_string_options: CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,\n context_string_options: CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,\n activity_string_options: ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,\n };\n}\n\nfunction resolveCreateRequiredOptionContract(\n typeDefinition: ReturnType<typeof resolveItemTypeRegistry>[\"by_type\"][string],\n createMode: \"strict\" | \"progressive\",\n): {\n required_option_keys: string[];\n required_flags: string[];\n required_type_options: string[];\n policy_errors: string[];\n} {\n const baseRequiredOptions = new Set<string>([\"title\", \"type\"]);\n if (createMode === \"strict\") {\n for (const field of typeDefinition.required_create_fields) {\n baseRequiredOptions.add(field);\n }\n for (const field of typeDefinition.required_create_repeatables) {\n baseRequiredOptions.add(field);\n }\n }\n const policyState = resolveCommandOptionPolicyState(\n typeDefinition,\n \"create\",\n baseRequiredOptions,\n );\n const requiredOptionKeys = [...new Set(policyState.required)].sort(\n (left, right) => left.localeCompare(right),\n );\n const requiredFlags = [\n ...new Set(\n requiredOptionKeys.map((option) =>\n commandOptionFlagLabel(\"create\", option),\n ),\n ),\n ].sort((left, right) => left.localeCompare(right));\n const requiredTypeOptions = [\n ...new Set(\n typeDefinition.options\n .filter((option) => option.required === true)\n .map((option) => option.key),\n ),\n ].sort((left, right) => left.localeCompare(right));\n return {\n required_option_keys: requiredOptionKeys,\n required_flags: requiredFlags,\n required_type_options: requiredTypeOptions,\n policy_errors: [...new Set(policyState.errors)].sort((left, right) =>\n left.localeCompare(right),\n ),\n };\n}\n\nfunction buildCreateRequiredOptionContracts(\n typeRegistry: ReturnType<typeof resolveItemTypeRegistry>,\n): Record<string, unknown> {\n const byTypeStrict: Record<string, unknown> = {};\n const byTypeProgressive: Record<string, unknown> = {};\n for (const typeName of [...typeRegistry.types].sort((left, right) =>\n left.localeCompare(right),\n )) {\n const typeDefinition = typeRegistry.by_type[typeName];\n byTypeStrict[typeName] = resolveCreateRequiredOptionContract(\n typeDefinition,\n \"strict\",\n );\n byTypeProgressive[typeName] = resolveCreateRequiredOptionContract(\n typeDefinition,\n \"progressive\",\n );\n }\n return {\n default_create_mode: \"strict\",\n by_create_mode: {\n strict: {\n by_type: byTypeStrict,\n },\n progressive: {\n by_type: byTypeProgressive,\n },\n },\n };\n}\n\nfunction attachCreateRequiredOptionContracts(\n schema: Record<string, unknown>,\n metadata: Record<string, unknown>,\n): Record<string, unknown> {\n const branches = extractActionBranches(schema);\n if (branches.length === 0) {\n return schema;\n }\n let touched = false;\n const enrichedBranches = branches.map((branch) => {\n const properties = branch.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return branch;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return branch;\n }\n if ((actionProperty as { const?: unknown }).const !== \"create\") {\n return branch;\n }\n touched = true;\n return {\n ...branch,\n \"x-create-required-options\": metadata,\n };\n });\n if (!touched) {\n return schema;\n }\n return {\n ...schema,\n oneOf: enrichedBranches,\n };\n}\n\nexport async function runContracts(\n options: ContractsCommandOptions,\n global: GlobalOptions,\n): Promise<ContractsResult> {\n const selectedAction = normalizeToken(options.action);\n const selectedCommand = normalizeToken(options.command);\n const schemaOnly = options.schemaOnly === true;\n const flagsOnly = options.flagsOnly === true;\n const availabilityOnly = options.availabilityOnly === true;\n const runtimeOnly = options.runtimeOnly === true;\n const fullOutput = options.full === true;\n const unfilteredDefaultBriefMode =\n !fullOutput && !schemaOnly && !flagsOnly && !availabilityOnly && !selectedAction && !selectedCommand;\n // Agent token-cost guard: when no filter and no projection flag and not --full,\n // skip the giant schema oneOf union (the 200KB+ chunk). Restore via --full\n // or by scoping to a specific --command/--action.\n const omitUnfilteredSchema = unfilteredDefaultBriefMode;\n const omitUnfilteredCommandFlags = unfilteredDefaultBriefMode;\n const omitUnfilteredCommanderAliases = unfilteredDefaultBriefMode;\n const projectionFlagsEnabled = [\n schemaOnly,\n flagsOnly,\n availabilityOnly,\n ].filter((value) => value).length;\n if (projectionFlagsEnabled > 1) {\n throw new PmCliError(\n \"Choose only one projection flag: --schema-only, --flags-only, or --availability-only.\",\n EXIT_CODE.USAGE,\n );\n }\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n let settings = structuredClone(SETTINGS_DEFAULTS);\n try {\n settings = await readSettings(pmRoot);\n } catch {\n settings = structuredClone(SETTINGS_DEFAULTS);\n }\n const runtimeProbe = await resolveRuntimeExtensionActionProbe(global);\n const typeRegistry = resolveItemTypeRegistry(\n settings,\n runtimeProbe.registrations ?? getActiveExtensionRegistrations(),\n );\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const runtimeFieldFlagMap =\n buildRuntimeFieldFlagContracts(runtimeFieldRegistry);\n const createRequiredOptionContracts =\n buildCreateRequiredOptionContracts(typeRegistry);\n const extensionContracts = collectExtensionCommandContracts(runtimeProbe);\n const mergedExtensionContracts = mergeExtensionContractsByAction(extensionContracts);\n const extensionFlagMap = collectExtensionFlagContractsByCommand(\n runtimeProbe.flagRegistrations,\n );\n const includePackageOwnedActions =\n (selectedAction !== undefined && PACKAGE_OWNED_ACTIONS.has(selectedAction) && availabilityOnly) ||\n (selectedCommand !== undefined && PACKAGE_OWNED_COMMANDS.has(selectedCommand) && availabilityOnly);\n const actionDescriptors =\n collectActionContractDescriptors(mergedExtensionContracts, { includePackageOwnedActions });\n if (\n includePackageOwnedActions &&\n selectedCommand !== undefined &&\n PACKAGE_OWNED_COMMANDS.has(selectedCommand) &&\n !actionDescriptors.some((entry) => entry.command_path === selectedCommand)\n ) {\n actionDescriptors.push({\n action: packageOwnedActionForCommand(selectedCommand),\n provider: \"extension\",\n requires_extension: true,\n command_path: selectedCommand,\n });\n }\n const actionNames = new Set(actionDescriptors.map((entry) => entry.action));\n if (selectedAction && !actionNames.has(selectedAction)) {\n throw new PmCliError(\n `Unknown action: \"${options.action}\".`,\n EXIT_CODE.USAGE,\n );\n }\n\n const commandCatalog = [\n ...new Set([\n ...PM_CORE_COMMAND_NAMES.filter(\n (entry) => !PACKAGE_OWNED_COMMANDS.has(entry),\n ),\n ...[...CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.keys()].filter(\n (entry) => !PACKAGE_OWNED_COMMANDS.has(entry),\n ),\n ...actionDescriptors.flatMap((entry) =>\n entry.command_path ? splitCommandPathAliases(entry.command_path) : [],\n ),\n ...mergedExtensionContracts.flatMap((entry) => entry.command.split(\"|\")),\n ]),\n ]\n .map((entry) => normalizeCommandPath(entry))\n .filter((entry) => entry.length > 0)\n .sort((left, right) => left.localeCompare(right));\n const commandNames = new Set(commandCatalog);\n if (selectedCommand && !commandNames.has(selectedCommand)) {\n const packageHint = PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(selectedCommand);\n if (packageHint) {\n throw new PmCliError(\n `Unknown command: \"${options.command}\". Command \"${selectedCommand}\" is provided by the optional \"${packageHint}\" package. Run \"pm install ${packageHint} --project\" and retry.`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_command\",\n required: `Install the optional \"${packageHint}\" package, or choose a command from pm contracts --flags-only --json.`,\n why: \"Command contracts include core commands plus commands registered by active packages and extensions.\",\n examples: [`pm install ${packageHint} --project`, `pm contracts --command ${selectedCommand} --flags-only --json`],\n nextSteps: [`Install the optional package first: pm install ${packageHint} --project`],\n recovery: {\n suggested_retry: `pm install ${packageHint} --project`,\n },\n },\n );\n }\n throw new PmCliError(\n `Unknown command: \"${options.command}\".`,\n EXIT_CODE.USAGE,\n {\n code: \"unknown_command\",\n required: \"Use a command path listed by pm contracts --flags-only --json.\",\n why: \"Command contracts are generated from the active core, package, and extension command registry.\",\n examples: [\"pm contracts --flags-only --json\", \"pm --help\"],\n nextSteps: [\"Verify spelling and active packages/extensions, then rerun with a known command path.\"],\n recovery: {\n suggested_retry: \"pm contracts --flags-only --json\",\n },\n },\n );\n }\n const selectedPackageOwnedAction = selectedCommand\n ? PACKAGE_OWNED_COMMAND_ACTIONS.get(selectedCommand)\n : undefined;\n const commandScopedDescriptors = selectedCommand\n ? actionDescriptors.filter((descriptor) =>\n selectedPackageOwnedAction\n ? descriptor.action === selectedPackageOwnedAction\n : actionDescriptorMatchesSelectedCommand(descriptor, selectedCommand),\n )\n : actionDescriptors;\n if (\n selectedCommand &&\n selectedAction &&\n !commandScopedDescriptors.some(\n (descriptor) => descriptor.action === selectedAction,\n )\n ) {\n throw new PmCliError(\n `Action \"${options.action}\" is not mapped to command \"${options.command}\" in contracts output.`,\n EXIT_CODE.USAGE,\n );\n }\n\n const schema = PM_TOOL_PARAMETERS_SCHEMA as Record<string, unknown>;\n const schemaBranches = extractActionBranches(schema);\n const schemaActionSet = new Set(\n schemaBranches\n .map((entry) => {\n const properties = entry.properties;\n if (typeof properties !== \"object\" || properties === null) {\n return null;\n }\n const actionProperty = (properties as Record<string, unknown>).action;\n if (typeof actionProperty !== \"object\" || actionProperty === null) {\n return null;\n }\n const actionConst = (actionProperty as { const?: unknown }).const;\n return typeof actionConst === \"string\" ? actionConst : null;\n })\n .filter((entry): entry is string => entry !== null),\n );\n const extensionBranches = mergedExtensionContracts\n .filter((contract) => !schemaActionSet.has(contract.action))\n .map((contract) => buildExtensionActionSchemaBranch(contract));\n const mergedSchema =\n extensionBranches.length > 0\n ? {\n ...schema,\n oneOf: [...schemaBranches, ...extensionBranches],\n }\n : schema;\n\n const scopedActionDescriptors = selectedAction\n ? commandScopedDescriptors.filter(\n (descriptor) => descriptor.action === selectedAction,\n )\n : commandScopedDescriptors;\n const allActionAvailability = [\n ...new Map(\n scopedActionDescriptors\n .map((descriptor) => resolveActionAvailability(descriptor, runtimeProbe))\n .map((entry) => [\n selectedPackageOwnedAction ? entry.action : `${entry.action}|${entry.command_path ?? \"\"}`,\n entry,\n ] as const),\n ).values(),\n ];\n const actionAvailability =\n runtimeOnly && !selectedAction && !availabilityOnly\n ? allActionAvailability.filter((entry) => entry.invocable)\n : allActionAvailability;\n const actions = [...new Set(actionAvailability.map((entry) => entry.action))];\n const descriptorActionSet = new Set(\n actionDescriptors.map((descriptor) => descriptor.action),\n );\n let filteredSchema = selectedAction\n ? filterSchemaByAction(mergedSchema, selectedAction)\n : selectedCommand\n ? filterSchemaByActions(\n mergedSchema,\n new Set(\n scopedActionDescriptors.map((descriptor) => descriptor.action),\n ),\n )\n : filterSchemaByActions(mergedSchema, descriptorActionSet);\n if (runtimeOnly && !selectedAction) {\n filteredSchema = filterSchemaByActions(filteredSchema, new Set(actions));\n }\n const includeSchemaSurface = !flagsOnly && !availabilityOnly;\n if (includeSchemaSurface) {\n filteredSchema = attachCreateRequiredOptionContracts(\n filteredSchema,\n createRequiredOptionContracts,\n );\n }\n const commands =\n selectedCommand !== undefined\n ? [selectedCommand]\n : selectedAction\n ? resolveScopedCommandsFromActionDescriptors(\n scopedActionDescriptors,\n commandCatalog,\n )\n : commandCatalog;\n const outputCommands =\n flagsOnly && selectedCommand === undefined && selectedAction === undefined\n ? compactCommandAliasSurface(commands)\n : commands;\n const commandAliases = buildCommandAliasSurface(commands);\n const extensionCommandContracts = selectedCommand\n ? extensionContracts.filter((entry) => entry.command === selectedCommand)\n : selectedAction\n ? extensionContracts.filter((entry) =>\n outputCommands.includes(normalizeCommandPath(entry.command)),\n )\n : extensionContracts;\n\n const includeRuntimeContractSections = !(flagsOnly && !fullOutput);\n const result: ContractsResult = {\n schema_version:\n typeof mergedSchema[\"x-schema-version\"] === \"string\"\n ? (mergedSchema[\"x-schema-version\"] as string)\n : null,\n schema_id:\n typeof mergedSchema.$id === \"string\"\n ? (mergedSchema.$id as string)\n : null,\n selected: {\n action: selectedAction ?? null,\n command: selectedCommand ?? null,\n schema_only: schemaOnly,\n flags_only: flagsOnly,\n availability_only: availabilityOnly,\n runtime_only: runtimeOnly,\n command_scoped: selectedCommand !== undefined,\n },\n commands: outputCommands,\n };\n\n if (includeRuntimeContractSections) {\n result.runtime_schema = {\n statuses: statusRegistry.definitions.map((definition) => definition.id),\n open_status: statusRegistry.open_status,\n close_status: statusRegistry.close_status,\n canceled_status: statusRegistry.canceled_status,\n types: [...typeRegistry.types],\n fields_by_command: Object.fromEntries(\n [...runtimeFieldRegistry.command_to_fields.entries()].map(\n ([command, definitions]) => [\n command,\n [\n ...new Set(\n definitions.map((definition) => `--${definition.cli_flag}`),\n ),\n ].sort((left, right) => left.localeCompare(right)),\n ],\n ),\n ),\n };\n result.extension_contracts = {\n capabilities: [...PM_EXTENSION_CAPABILITY_CONTRACTS],\n services: [...PM_EXTENSION_SERVICE_NAME_CONTRACTS],\n policy_modes: [...PM_EXTENSION_POLICY_MODE_CONTRACTS],\n policy_surfaces: [...PM_EXTENSION_POLICY_SURFACE_CONTRACTS],\n trust_modes: [...PM_EXTENSION_TRUST_MODE_CONTRACTS],\n sandbox_profiles: [...PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS],\n manifest_versions: [1, 2],\n compatibility: {\n current: \"v2\",\n previous: [\"v1\"],\n breaking_strategy: \"versioned_breaking\",\n },\n };\n }\n\n if (!flagsOnly) {\n result.actions = actions;\n result.action_availability = actionAvailability;\n }\n\n if (includeSchemaSurface && !omitUnfilteredSchema) {\n result.schema = filteredSchema;\n result.extension_commands = extensionCommandContracts;\n } else if (includeSchemaSurface && omitUnfilteredSchema) {\n result.schema_omitted_reason = \"unfiltered_default_brief\";\n result.extension_commands = extensionCommandContracts;\n }\n\n if (!schemaOnly && !availabilityOnly) {\n if (!omitUnfilteredCommandFlags) {\n result.command_flags = buildCommandFlagSurface(\n outputCommands,\n extensionFlagMap,\n runtimeFieldFlagMap,\n );\n } else {\n result.command_flags_omitted_reason = \"unfiltered_default_brief\";\n }\n if (commandAliases.length > 0) {\n result.command_aliases = commandAliases;\n }\n }\n\n if (!schemaOnly && !flagsOnly && !availabilityOnly) {\n if (!omitUnfilteredCommanderAliases) {\n result.commander_aliases = buildCommanderAliasSurface();\n } else {\n result.commander_aliases_omitted_reason = \"unfiltered_default_brief\";\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":"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","debugId":"248c6f8e-b3e5-5802-ac8d-a2c68d1a7789"}
@@ -1,27 +0,0 @@
1
- import {
2
- parseDocs,
3
- parseFiles,
4
- parseLogSeed,
5
- parseTests,
6
- runCreate
7
- } from "./chunk-ZH7C7ZVX.js";
8
- import "./chunk-F2PVV7IX.js";
9
- import "./chunk-UY26RIBR.js";
10
- import "./chunk-4CYHWHZU.js";
11
- import "./chunk-EIS32UA4.js";
12
- import "./chunk-UMWF6ZAS.js";
13
- import "./chunk-3HUE7XOF.js";
14
- import "./chunk-XRE4CTNP.js";
15
- import "./chunk-I2FM2SMO.js";
16
- import "./chunk-Q6PSD5DZ.js";
17
- import "./chunk-7GYMMDDW.js";
18
- import "./chunk-7TW64BS5.js";
19
- import "./chunk-OQGJSCZZ.js";
20
- export {
21
- parseDocs,
22
- parseFiles,
23
- parseLogSeed,
24
- parseTests,
25
- runCreate
26
- };
27
- //# sourceMappingURL=create-TXNRPS4K.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../../cli/commands/docs.ts"],
4
- "sourcesContent": ["import type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport type { LinkedDoc } from \"../../types/index.js\";\nimport {\n renameArtifactsResultKey,\n runLinkedArtifacts,\n type LinkedArtifactResult,\n type LinkedPathAuditEntry,\n type LinkedPathValidation,\n} from \"./linked-artifacts.js\";\n\nexport interface DocsCommandOptions {\n add?: string[];\n addGlob?: string[];\n remove?: string[];\n migrate?: string[];\n list?: boolean;\n validatePaths?: boolean;\n audit?: boolean;\n author?: string;\n message?: string;\n force?: boolean;\n}\n\nexport interface DocsResult {\n id: string;\n docs: LinkedDoc[];\n changed: boolean;\n count: number;\n migrations_applied?: number;\n validation?: LinkedPathValidation;\n audit?: LinkedPathAuditEntry[];\n}\n\nexport async function runDocs(id: string, options: DocsCommandOptions, global: GlobalOptions): Promise<DocsResult> {\n const result: LinkedArtifactResult = await runLinkedArtifacts(id, options, global, {\n metadataKey: \"docs\",\n op: \"docs_add\",\n bareNoun: \"doc\",\n supportsAppendStable: false,\n });\n return renameArtifactsResultKey(result, \"docs\") as unknown as DocsResult;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAiCA,eAAsB,QAAQ,IAAY,SAA6BA,SAAqB;AAC1F,QAAM,SAA+B,MAAM,mBAAmB,IAAI,SAASA,SAAQ;IACjF,aAAa;IACb,IAAI;IACJ,UAAU;IACV,sBAAsB;GACvB;AACD,SAAO,yBAAyB,QAAQ,MAAM;AAChD;",
6
- "names": ["global"]
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../../cli/commands/docs.ts"],"sourcesContent":["import type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport type { LinkedDoc } from \"../../types/index.js\";\nimport {\n renameArtifactsResultKey,\n runLinkedArtifacts,\n type LinkedArtifactResult,\n type LinkedPathAuditEntry,\n type LinkedPathValidation,\n} from \"./linked-artifacts.js\";\n\nexport interface DocsCommandOptions {\n add?: string[];\n addGlob?: string[];\n remove?: string[];\n migrate?: string[];\n list?: boolean;\n validatePaths?: boolean;\n audit?: boolean;\n author?: string;\n message?: string;\n force?: boolean;\n}\n\nexport interface DocsResult {\n id: string;\n docs: LinkedDoc[];\n changed: boolean;\n count: number;\n migrations_applied?: number;\n validation?: LinkedPathValidation;\n audit?: LinkedPathAuditEntry[];\n}\n\nexport async function runDocs(id: string, options: DocsCommandOptions, global: GlobalOptions): Promise<DocsResult> {\n const result: LinkedArtifactResult = await runLinkedArtifacts(id, options, global, {\n metadataKey: \"docs\",\n op: \"docs_add\",\n bareNoun: \"doc\",\n supportsAppendStable: false,\n });\n return renameArtifactsResultKey(result, \"docs\") as unknown as DocsResult;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAiCA,eAAsB,QAAQ,IAAY,SAA6B,QAAqB;AAC1F,QAAM,SAA+B,MAAM,mBAAmB,IAAI,SAAS,QAAQ;IACjF,aAAa;IACb,IAAI;IACJ,UAAU;IACV,sBAAsB;GACvB;AACD,SAAO,yBAAyB,QAAQ,MAAM;AAChD","debugId":"339a5d11-6712-52d2-9904-0960437e7557"}