@unbrained/pm-cli 2026.6.30 → 2026.7.1

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 (452) hide show
  1. package/AGENTS.md +2 -0
  2. package/CHANGELOG.md +20 -0
  3. package/dist/cli/bootstrap-args.js +89 -79
  4. package/dist/cli/bootstrap-args.js.map +1 -1
  5. package/dist/cli/commands/calendar.js +63 -62
  6. package/dist/cli/commands/calendar.js.map +1 -1
  7. package/dist/cli/commands/create.js +483 -434
  8. package/dist/cli/commands/create.js.map +1 -1
  9. package/dist/cli/commands/extension/bundled-catalog.js +59 -46
  10. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  11. package/dist/cli/commands/extension/doctor.js +129 -78
  12. package/dist/cli/commands/extension/doctor.js.map +1 -1
  13. package/dist/cli/commands/extension/managed-state.js +101 -57
  14. package/dist/cli/commands/extension/managed-state.js.map +1 -1
  15. package/dist/cli/commands/extension/scaffold.d.ts +7 -0
  16. package/dist/cli/commands/extension/scaffold.js +214 -186
  17. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  18. package/dist/cli/commands/extension.d.ts +6 -1
  19. package/dist/cli/commands/extension.js +1034 -902
  20. package/dist/cli/commands/extension.js.map +1 -1
  21. package/dist/cli/commands/list-filter-shared.js +55 -48
  22. package/dist/cli/commands/list-filter-shared.js.map +1 -1
  23. package/dist/cli/commands/search.js +94 -68
  24. package/dist/cli/commands/search.js.map +1 -1
  25. package/dist/cli/commands/test.js +108 -122
  26. package/dist/cli/commands/test.js.map +1 -1
  27. package/dist/cli/commands/update.js +27 -77
  28. package/dist/cli/commands/update.js.map +1 -1
  29. package/dist/cli/extension-command-options.js +48 -21
  30. package/dist/cli/extension-command-options.js.map +1 -1
  31. package/dist/cli/registration-helpers.js +117 -122
  32. package/dist/cli/registration-helpers.js.map +1 -1
  33. package/dist/cli-bundle/chunks/activity-AW6XVFH6.js +16 -0
  34. package/dist/cli-bundle/chunks/{activity-MVSEND6D.js → activity-DBLQVIP6.js} +9 -9
  35. package/dist/cli-bundle/chunks/{aggregate-MOC4TR2G.js → aggregate-JTEF4BP7.js} +9 -9
  36. package/dist/cli-bundle/chunks/{aggregate-XJHLZQ5X.js → aggregate-SDF7DUOD.js} +9 -9
  37. package/dist/cli-bundle/chunks/{append-LEDBAM3K.js → append-LOVPGVPT.js} +6 -6
  38. package/dist/cli-bundle/chunks/{append-KDHT4GHI.js → append-QCFJSDFL.js} +6 -6
  39. package/dist/cli-bundle/chunks/{chunk-FBZ5XAAF.js → chunk-22WKIL3H.js} +6 -6
  40. package/dist/cli-bundle/chunks/{chunk-EVWYAG46.js → chunk-2466X6E4.js} +6 -6
  41. package/dist/cli-bundle/chunks/{chunk-3JWQCLR5.js → chunk-27BXPBAY.js} +3 -3
  42. package/dist/cli-bundle/chunks/{chunk-WTRUDJ3R.js → chunk-2D4HATP2.js} +5 -5
  43. package/dist/cli-bundle/chunks/{chunk-DORJSBGJ.js → chunk-3J6JRJ3I.js} +127 -125
  44. package/dist/cli-bundle/chunks/chunk-3J6JRJ3I.js.map +7 -0
  45. package/dist/cli-bundle/chunks/{chunk-LBH7UYKY.js → chunk-3K2M5OYU.js} +4 -4
  46. package/dist/cli-bundle/chunks/{chunk-KTMMTOIP.js → chunk-3S2KT7NG.js} +7 -7
  47. package/dist/cli-bundle/chunks/{chunk-FDEVKXC4.js → chunk-3VGN2UWE.js} +2 -2
  48. package/dist/cli-bundle/chunks/{chunk-K46GQ265.js → chunk-3XZCOZ5J.js} +107 -117
  49. package/dist/cli-bundle/chunks/chunk-3XZCOZ5J.js.map +1 -0
  50. package/dist/cli-bundle/chunks/chunk-4A3BJ675.js +799 -0
  51. package/dist/cli-bundle/chunks/chunk-4A3BJ675.js.map +1 -0
  52. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +87 -0
  53. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +7 -0
  54. package/dist/cli-bundle/chunks/{chunk-KYDYQMNW.js → chunk-4DSGXSBL.js} +4 -4
  55. package/dist/cli-bundle/chunks/{chunk-7L6TXOOC.js → chunk-4DUVCVLZ.js} +2 -2
  56. package/dist/cli-bundle/chunks/{chunk-UB3V5WUI.js → chunk-4XOIEKSD.js} +351 -330
  57. package/dist/cli-bundle/chunks/chunk-4XOIEKSD.js.map +1 -0
  58. package/dist/cli-bundle/chunks/{chunk-DJDXAU74.js → chunk-55SNVXRQ.js} +68 -69
  59. package/dist/cli-bundle/chunks/chunk-55SNVXRQ.js.map +7 -0
  60. package/dist/cli-bundle/chunks/{chunk-ZIE6WXJ2.js → chunk-5CGRF3L5.js} +7 -7
  61. package/dist/cli-bundle/chunks/{chunk-7WDETKGP.js → chunk-5QFDBI4F.js} +1105 -965
  62. package/dist/cli-bundle/chunks/chunk-5QFDBI4F.js.map +7 -0
  63. package/dist/cli-bundle/chunks/{chunk-IBU2LLWM.js → chunk-64HNBBFQ.js} +6 -6
  64. package/dist/cli-bundle/chunks/{chunk-T7ZMQI4J.js → chunk-6AQZPVHQ.js} +198 -189
  65. package/dist/cli-bundle/chunks/chunk-6AQZPVHQ.js.map +1 -0
  66. package/dist/cli-bundle/chunks/{chunk-CY5IJMUM.js → chunk-7R4QEMZZ.js} +361 -322
  67. package/dist/cli-bundle/chunks/chunk-7R4QEMZZ.js.map +1 -0
  68. package/dist/cli-bundle/chunks/{chunk-WFJZDUM7.js → chunk-A7FPBAQS.js} +4 -4
  69. package/dist/cli-bundle/chunks/{chunk-74PUWBGN.js → chunk-AVEE5EHK.js} +3 -3
  70. package/dist/cli-bundle/chunks/{chunk-KRASIL6M.js → chunk-AXIDKKAT.js} +2 -2
  71. package/dist/cli-bundle/chunks/{chunk-CHRNYKNI.js → chunk-BDTISOSD.js} +2 -2
  72. package/dist/cli-bundle/chunks/{chunk-ZFIEEDTJ.js → chunk-BHO33VBQ.js} +509 -363
  73. package/dist/cli-bundle/chunks/chunk-BHO33VBQ.js.map +7 -0
  74. package/dist/cli-bundle/chunks/{chunk-RM6MHL6A.js → chunk-BZCEN4JA.js} +98 -74
  75. package/dist/cli-bundle/chunks/chunk-BZCEN4JA.js.map +7 -0
  76. package/dist/cli-bundle/chunks/{chunk-RPRW26NG.js → chunk-CF7RL6FR.js} +7 -7
  77. package/dist/cli-bundle/chunks/{chunk-NIBP3I7A.js → chunk-CWFNTKQJ.js} +128 -126
  78. package/dist/cli-bundle/chunks/chunk-CWFNTKQJ.js.map +1 -0
  79. package/dist/cli-bundle/chunks/{chunk-BN3CWK6G.js → chunk-DDPTYJIM.js} +2 -2
  80. package/dist/cli-bundle/chunks/{chunk-4YIMPANT.js → chunk-EJUDVUYZ.js} +3 -3
  81. package/dist/cli-bundle/chunks/{chunk-73PTKMAE.js → chunk-EVMTBV6V.js} +3 -3
  82. package/dist/cli-bundle/chunks/{chunk-6YRAMXRS.js → chunk-FFMQB7WR.js} +99 -75
  83. package/dist/cli-bundle/chunks/chunk-FFMQB7WR.js.map +1 -0
  84. package/dist/cli-bundle/chunks/{chunk-E2Q2ULMR.js → chunk-G7I7DEZA.js} +4 -4
  85. package/dist/cli-bundle/chunks/{chunk-IDYCAK35.js → chunk-GJ326ZKX.js} +3 -3
  86. package/dist/cli-bundle/chunks/{chunk-JJ4SG243.js → chunk-HPPFYYOV.js} +2 -2
  87. package/dist/cli-bundle/chunks/{chunk-5IRVSKPS.js → chunk-HXTQJXWT.js} +150 -224
  88. package/dist/cli-bundle/chunks/chunk-HXTQJXWT.js.map +1 -0
  89. package/dist/cli-bundle/chunks/{chunk-JIP67N2K.js → chunk-HYTGA6GI.js} +3 -3
  90. package/dist/cli-bundle/chunks/{chunk-7RIJGN4R.js → chunk-HZZEHPRG.js} +2 -2
  91. package/dist/cli-bundle/chunks/{chunk-4TXTVZL3.js → chunk-IJYK2T43.js} +2 -2
  92. package/dist/cli-bundle/chunks/{chunk-GF7EAR22.js → chunk-IPYBJWTE.js} +7 -7
  93. package/dist/cli-bundle/chunks/{chunk-AWN4PPH5.js → chunk-IZBR4NRW.js} +7 -7
  94. package/dist/cli-bundle/chunks/{chunk-IF4ERU6A.js → chunk-JLM7BHI7.js} +6 -6
  95. package/dist/cli-bundle/chunks/{chunk-DU66JUGT.js → chunk-JMP4E6D7.js} +106 -116
  96. package/dist/cli-bundle/chunks/chunk-JMP4E6D7.js.map +7 -0
  97. package/dist/cli-bundle/chunks/{chunk-HUYYMTGW.js → chunk-JPECA746.js} +2 -2
  98. package/dist/cli-bundle/chunks/{chunk-KGQ3W65B.js → chunk-JSU5P7VS.js} +4 -4
  99. package/dist/cli-bundle/chunks/{chunk-HIBK6H4S.js → chunk-JWXRETDF.js} +69 -70
  100. package/dist/cli-bundle/chunks/chunk-JWXRETDF.js.map +1 -0
  101. package/dist/cli-bundle/chunks/{chunk-Z5BM2FKQ.js → chunk-KNPEF7QG.js} +4 -4
  102. package/dist/cli-bundle/chunks/{chunk-DLDCPF5X.js → chunk-L5OEFZQG.js} +3 -3
  103. package/dist/cli-bundle/chunks/{chunk-DRPF274X.js → chunk-LB6TP6MC.js} +2 -2
  104. package/dist/cli-bundle/chunks/{chunk-YEDFE4DC.js → chunk-MAUKX7JC.js} +2 -2
  105. package/dist/cli-bundle/chunks/{chunk-6T5ZIWBS.js → chunk-MDPEOIGN.js} +150 -224
  106. package/dist/cli-bundle/chunks/chunk-MDPEOIGN.js.map +7 -0
  107. package/dist/cli-bundle/chunks/{chunk-OB3RJV5F.js → chunk-N74UMG5H.js} +2 -2
  108. package/dist/cli-bundle/chunks/{chunk-ZEATCVAC.js → chunk-NFDPYAIP.js} +2 -2
  109. package/dist/cli-bundle/chunks/{chunk-OUQ5JEFM.js → chunk-NKZAN7BD.js} +3 -3
  110. package/dist/cli-bundle/chunks/{chunk-5ABGFWR4.js → chunk-NOLPZMSV.js} +2 -2
  111. package/dist/cli-bundle/chunks/{chunk-JZG5ADVE.js → chunk-NU2UEROZ.js} +1103 -963
  112. package/dist/cli-bundle/chunks/chunk-NU2UEROZ.js.map +1 -0
  113. package/dist/cli-bundle/chunks/{chunk-A3UNLXNJ.js → chunk-NUHHPVVS.js} +36 -86
  114. package/dist/cli-bundle/chunks/chunk-NUHHPVVS.js.map +7 -0
  115. package/dist/cli-bundle/chunks/{chunk-QE5UFCCO.js → chunk-NWMZWYYB.js} +2 -2
  116. package/dist/cli-bundle/chunks/{chunk-VMY7MZEM.js → chunk-OGXLACHC.js} +6 -6
  117. package/dist/cli-bundle/chunks/{chunk-IHXXUIXS.js → chunk-OTUHB4HS.js} +4 -4
  118. package/dist/cli-bundle/chunks/{chunk-V3KLX7U7.js → chunk-QCWF6IYD.js} +510 -364
  119. package/dist/cli-bundle/chunks/chunk-QCWF6IYD.js.map +1 -0
  120. package/dist/cli-bundle/chunks/{chunk-UFKNF23C.js → chunk-RGEMWD6Q.js} +5 -5
  121. package/dist/cli-bundle/chunks/chunk-RH5ZBYFD.js +809 -0
  122. package/dist/cli-bundle/chunks/chunk-RH5ZBYFD.js.map +7 -0
  123. package/dist/cli-bundle/chunks/{chunk-Z55WX4IQ.js → chunk-RLDHZHQS.js} +7 -7
  124. package/dist/cli-bundle/chunks/{chunk-NO6Y6FB2.js → chunk-RMMQ74TG.js} +5 -5
  125. package/dist/cli-bundle/chunks/{chunk-SNUK7H5J.js → chunk-RVUALSJF.js} +361 -322
  126. package/dist/cli-bundle/chunks/chunk-RVUALSJF.js.map +7 -0
  127. package/dist/cli-bundle/chunks/{chunk-IZQOJR2B.js → chunk-SDR5J34Q.js} +198 -189
  128. package/dist/cli-bundle/chunks/chunk-SDR5J34Q.js.map +7 -0
  129. package/dist/cli-bundle/chunks/{chunk-SJZTPVFT.js → chunk-SLMUGTK3.js} +4 -4
  130. package/dist/cli-bundle/chunks/{chunk-BOWQWXLI.js → chunk-TP5Q5ZD3.js} +5 -5
  131. package/dist/cli-bundle/chunks/{chunk-D5LYZVGB.js → chunk-UYUYDGIB.js} +4 -4
  132. package/dist/cli-bundle/chunks/{chunk-JVQ7UOYC.js → chunk-UZIWVBE6.js} +2 -2
  133. package/dist/cli-bundle/chunks/{chunk-JTRKME24.js → chunk-V3NOKJF2.js} +6 -6
  134. package/dist/cli-bundle/chunks/{chunk-5T6WPLRO.js → chunk-VARHOHYV.js} +350 -329
  135. package/dist/cli-bundle/chunks/chunk-VARHOHYV.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-F7G53BOA.js → chunk-VICZWYGZ.js} +4 -4
  137. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +84 -0
  138. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +1 -0
  139. package/dist/cli-bundle/chunks/{chunk-TQ6E76BE.js → chunk-W4ULYO7Z.js} +6 -6
  140. package/dist/cli-bundle/chunks/{chunk-MLHX6DN5.js → chunk-WYDHYJPO.js} +2 -2
  141. package/dist/cli-bundle/chunks/{chunk-53ARXF2O.js → chunk-YITK2PJ6.js} +6 -6
  142. package/dist/cli-bundle/chunks/{chunk-VD3LKZFX.js → chunk-ZETXE4SE.js} +37 -87
  143. package/dist/cli-bundle/chunks/chunk-ZETXE4SE.js.map +1 -0
  144. package/dist/cli-bundle/chunks/{chunk-D6USKAMA.js → chunk-ZRP4VG5U.js} +2 -2
  145. package/dist/cli-bundle/chunks/{claim-6NINZYB3.js → claim-EMQLYPRW.js} +8 -8
  146. package/dist/cli-bundle/chunks/{claim-HMCLSLUE.js → claim-T3GCKV7C.js} +8 -8
  147. package/dist/cli-bundle/chunks/close-E6ZZGCJY.js +14 -0
  148. package/dist/cli-bundle/chunks/{close-OP3LK7Z2.js → close-TQYAAFJP.js} +7 -7
  149. package/dist/cli-bundle/chunks/{close-many-BFMP6HHK.js → close-many-BG5QQIDQ.js} +15 -15
  150. package/dist/cli-bundle/chunks/{close-many-CXJBOWWY.js → close-many-LDRVEQY2.js} +15 -15
  151. package/dist/cli-bundle/chunks/{comments-MU2WMBUY.js → comments-QCKR2YY2.js} +8 -8
  152. package/dist/cli-bundle/chunks/{comments-ETHABIY6.js → comments-YUXJRZPQ.js} +8 -8
  153. package/dist/cli-bundle/chunks/{config-FIXJZEQK.js → config-DMSU64QO.js} +7 -7
  154. package/dist/cli-bundle/chunks/{config-X3ZVCUUG.js → config-QH2DICD6.js} +7 -7
  155. package/dist/cli-bundle/chunks/{context-XDI4DKKT.js → context-B6275WPX.js} +12 -12
  156. package/dist/cli-bundle/chunks/{context-7ZEZV3BV.js → context-OCZ3FJ4Z.js} +12 -12
  157. package/dist/cli-bundle/chunks/{contracts-SMOAN5NF.js → contracts-HN7ABKLP.js} +3 -3
  158. package/dist/cli-bundle/chunks/{contracts-KP4QAGVW.js → contracts-W4FZVVD6.js} +3 -3
  159. package/dist/cli-bundle/chunks/{copy-CWM6SBY6.js → copy-BTJOSKKT.js} +5 -5
  160. package/dist/cli-bundle/chunks/{copy-JJ3KOQW2.js → copy-DEM4DATS.js} +5 -5
  161. package/dist/cli-bundle/chunks/create-OH3BDGBB.js +28 -0
  162. package/dist/cli-bundle/chunks/{create-J5Q2ELZT.js → create-RLRJMRTM.js} +12 -12
  163. package/dist/cli-bundle/chunks/{delete-OOQS4KVD.js → delete-BHK7VB2Z.js} +5 -5
  164. package/dist/cli-bundle/chunks/{delete-2GZLQEUQ.js → delete-LSVHAB4Y.js} +5 -5
  165. package/dist/cli-bundle/chunks/{deps-ZVGGCRR6.js → deps-4UDFJRUA.js} +5 -5
  166. package/dist/cli-bundle/chunks/{deps-IF4IGL4R.js → deps-XHYXWEPT.js} +5 -5
  167. package/dist/cli-bundle/chunks/{docs-2TIFR62T.js → docs-26S44RXU.js} +7 -7
  168. package/dist/cli-bundle/chunks/{docs-NFTBCQQC.js → docs-GYZNVS26.js} +7 -7
  169. package/dist/cli-bundle/chunks/{eval-2F6EH4XN.js → eval-PGRVIJQU.js} +10 -10
  170. package/dist/cli-bundle/chunks/{eval-PFKXQR3B.js → eval-UYF3ZPVO.js} +10 -10
  171. package/dist/cli-bundle/chunks/{extension-GMVOIP4O.js → extension-CPSLJQVE.js} +11 -10
  172. package/dist/cli-bundle/chunks/{extension-3LRYX7SW.js → extension-CXJ6RELI.js} +11 -10
  173. package/dist/cli-bundle/chunks/{files-T5ODMETM.js → files-MBNICQFM.js} +7 -7
  174. package/dist/cli-bundle/chunks/{files-DF3HO6XK.js → files-NQHEXUZD.js} +7 -7
  175. package/dist/cli-bundle/chunks/{focus-DLXKK4AH.js → focus-DWYIG7GU.js} +6 -6
  176. package/dist/cli-bundle/chunks/{focus-MY5ARIEK.js → focus-XZW5423D.js} +6 -6
  177. package/dist/cli-bundle/chunks/{gc-FULIVYR4.js → gc-7GQYOS2G.js} +3 -3
  178. package/dist/cli-bundle/chunks/{gc-MDGRR2SU.js → gc-LPVMKJQJ.js} +3 -3
  179. package/dist/cli-bundle/chunks/{get-AWK324RS.js → get-A7MAOHCU.js} +9 -9
  180. package/dist/cli-bundle/chunks/{get-VYPIICPC.js → get-DSDEKJ3L.js} +9 -9
  181. package/dist/cli-bundle/chunks/{health-Q66C43GN.js → health-3IPFLKXB.js} +17 -16
  182. package/dist/cli-bundle/chunks/{health-Q66C43GN.js.map → health-3IPFLKXB.js.map} +1 -1
  183. package/dist/cli-bundle/chunks/{health-FBCVZGSX.js → health-GZXGBZ36.js} +15 -14
  184. package/dist/cli-bundle/chunks/{health-FBCVZGSX.js.map → health-GZXGBZ36.js.map} +1 -1
  185. package/dist/cli-bundle/chunks/{history-X4OSES6K.js → history-NERDJNUB.js} +8 -8
  186. package/dist/cli-bundle/chunks/history-WSZHY3PN.js +18 -0
  187. package/dist/cli-bundle/chunks/{history-compact-WLCQEKXS.js → history-compact-2WRZ2WK4.js} +10 -10
  188. package/dist/cli-bundle/chunks/{history-compact-2GHT32UX.js → history-compact-HR7BB4LR.js} +10 -10
  189. package/dist/cli-bundle/chunks/history-redact-MP6CH7U5.js +19 -0
  190. package/dist/cli-bundle/chunks/{history-redact-45YW65BK.js → history-redact-O3NBCNWC.js} +9 -9
  191. package/dist/cli-bundle/chunks/{history-repair-GABSDSVD.js → history-repair-LCMOS45X.js} +10 -10
  192. package/dist/cli-bundle/chunks/{history-repair-FY75IC26.js → history-repair-XA3LC4GA.js} +10 -10
  193. package/dist/cli-bundle/chunks/{init-KO7CGIRQ.js → init-64XDLQJB.js} +12 -11
  194. package/dist/cli-bundle/chunks/init-PAX32BJA.js +22 -0
  195. package/dist/cli-bundle/chunks/{learnings-3F7YLI45.js → learnings-JR6MA5TI.js} +8 -8
  196. package/dist/cli-bundle/chunks/{learnings-LHZT5BHW.js → learnings-LPKCSJX7.js} +8 -8
  197. package/dist/cli-bundle/chunks/{list-ROT7JF62.js → list-DNBJVO3E.js} +8 -8
  198. package/dist/cli-bundle/chunks/{list-Y6AU5BJS.js → list-G5Y65VF6.js} +8 -8
  199. package/dist/cli-bundle/chunks/{next-66BJB4N2.js → next-BCERKDUR.js} +13 -13
  200. package/dist/cli-bundle/chunks/{next-N5MWJTBY.js → next-FYTQF6HG.js} +13 -13
  201. package/dist/cli-bundle/chunks/{notes-FW6YFLND.js → notes-2BMU3VVQ.js} +8 -8
  202. package/dist/cli-bundle/chunks/{notes-EVJZ3VAB.js → notes-6KTGO2OJ.js} +8 -8
  203. package/dist/cli-bundle/chunks/{plan-DQ7G4EDC.js → plan-4WXEQCTN.js} +12 -12
  204. package/dist/cli-bundle/chunks/{plan-ZHKZ7JVF.js → plan-RKZHQVXR.js} +12 -12
  205. package/dist/cli-bundle/chunks/{profile-UPZGCDOG.js → profile-4OMM32CD.js} +8 -8
  206. package/dist/cli-bundle/chunks/{profile-CHAW6SEA.js → profile-QLER5ENE.js} +8 -8
  207. package/dist/cli-bundle/chunks/{register-list-query-Y2VRHPCL.js → register-list-query-7LV46VAU.js} +18 -18
  208. package/dist/cli-bundle/chunks/{register-list-query-KY6Z6WV7.js → register-list-query-SNG5PGA4.js} +18 -18
  209. package/dist/cli-bundle/chunks/{register-mutation-PCARIGZS.js → register-mutation-ENNDUAZG.js} +35 -35
  210. package/dist/cli-bundle/chunks/{register-mutation-N6AYSKPM.js → register-mutation-KK7PHYYU.js} +35 -35
  211. package/dist/cli-bundle/chunks/{register-operations-YAT6FUUB.js → register-operations-C6OWLDSH.js} +30 -30
  212. package/dist/cli-bundle/chunks/{register-operations-L6CYTOIH.js → register-operations-HZ6XERQG.js} +30 -30
  213. package/dist/cli-bundle/chunks/{register-setup-N7UGXYJC.js → register-setup-P67EMBDJ.js} +15 -15
  214. package/dist/cli-bundle/chunks/{register-setup-MPANILQF.js → register-setup-ZKJ53RS7.js} +15 -15
  215. package/dist/cli-bundle/chunks/{restore-DKMCLPI5.js → restore-4MHZFJ2E.js} +9 -9
  216. package/dist/cli-bundle/chunks/restore-YALDGTQR.js +17 -0
  217. package/dist/cli-bundle/chunks/{scheduling-shortcuts-3F4QUEDH.js → scheduling-shortcuts-LB6DOLRL.js} +12 -12
  218. package/dist/cli-bundle/chunks/{scheduling-shortcuts-BNZLQK36.js → scheduling-shortcuts-UTOYKLXQ.js} +12 -12
  219. package/dist/cli-bundle/chunks/{schema-OLT6LVKH.js → schema-73HR2OJW.js} +7 -7
  220. package/dist/cli-bundle/chunks/{schema-XJXKJQF5.js → schema-U6LJKSIR.js} +7 -7
  221. package/dist/cli-bundle/chunks/{search-CX5UMV4H.js → search-AXPXKZER.js} +10 -10
  222. package/dist/cli-bundle/chunks/{search-KP6H7COV.js → search-KILGT37L.js} +10 -10
  223. package/dist/cli-bundle/chunks/{stats-QZUG6MX5.js → stats-PSYVVTNZ.js} +6 -6
  224. package/dist/cli-bundle/chunks/{stats-7XW4OEMK.js → stats-W5KNVJWQ.js} +6 -6
  225. package/dist/cli-bundle/chunks/{telemetry-WTYFUPRL.js → telemetry-BZUF6H7G.js} +4 -4
  226. package/dist/cli-bundle/chunks/{telemetry-DIFPXCAT.js → telemetry-GAHHQTOS.js} +4 -4
  227. package/dist/cli-bundle/chunks/{test-QNDXZQCW.js → test-ACD52Z3S.js} +15 -14
  228. package/dist/cli-bundle/chunks/{test-HU2BS7EY.js → test-PWDIZ255.js} +15 -14
  229. package/dist/cli-bundle/chunks/{test-all-XLPI4USF.js → test-all-L2MDDUCA.js} +17 -16
  230. package/dist/cli-bundle/chunks/{test-all-XLPI4USF.js.map → test-all-L2MDDUCA.js.map} +1 -1
  231. package/dist/cli-bundle/chunks/{test-all-PZTBLLQ6.js → test-all-RBZ6DLU2.js} +15 -14
  232. package/dist/cli-bundle/chunks/{test-all-PZTBLLQ6.js.map → test-all-RBZ6DLU2.js.map} +1 -1
  233. package/dist/cli-bundle/chunks/{test-runs-LANLLPVO.js → test-runs-PLRAZEFW.js} +4 -4
  234. package/dist/cli-bundle/chunks/{test-runs-CA6K32RD.js → test-runs-UXIXPDKU.js} +4 -4
  235. package/dist/cli-bundle/chunks/update-AMRSOIWP.js +24 -0
  236. package/dist/cli-bundle/chunks/{update-DJKWLBWJ.js → update-KFX2SIAC.js} +15 -15
  237. package/dist/cli-bundle/chunks/{update-many-VW5DGF3S.js → update-many-RNSBX2TA.js} +23 -23
  238. package/dist/cli-bundle/chunks/{update-many-LU3SCNK5.js → update-many-Z5GJS5LC.js} +23 -23
  239. package/dist/cli-bundle/chunks/{upgrade-77FRUAXN.js → upgrade-BRL6KCOJ.js} +13 -12
  240. package/dist/cli-bundle/chunks/{upgrade-77FRUAXN.js.map → upgrade-BRL6KCOJ.js.map} +1 -1
  241. package/dist/cli-bundle/chunks/{upgrade-ICXY244R.js → upgrade-HAK6JG2O.js} +11 -10
  242. package/dist/cli-bundle/chunks/{upgrade-ICXY244R.js.map → upgrade-HAK6JG2O.js.map} +1 -1
  243. package/dist/cli-bundle/chunks/{validate-2G566PKQ.js → validate-MTUVL5VC.js} +20 -19
  244. package/dist/cli-bundle/chunks/{validate-2G566PKQ.js.map → validate-MTUVL5VC.js.map} +1 -1
  245. package/dist/cli-bundle/chunks/{validate-BDPVXHHH.js → validate-X5W76YJL.js} +22 -21
  246. package/dist/cli-bundle/chunks/{validate-BDPVXHHH.js.map → validate-X5W76YJL.js.map} +1 -1
  247. package/dist/cli-bundle/main.js +55 -702
  248. package/dist/cli-bundle/main.js.map +4 -4
  249. package/dist/core/extensions/activation-summary-markdown.js +23 -12
  250. package/dist/core/extensions/activation-summary-markdown.js.map +1 -1
  251. package/dist/core/extensions/extension-policy.d.ts +18 -3
  252. package/dist/core/extensions/extension-policy.js +116 -106
  253. package/dist/core/extensions/extension-policy.js.map +1 -1
  254. package/dist/core/extensions/loader.js +310 -232
  255. package/dist/core/extensions/loader.js.map +1 -1
  256. package/dist/core/item/item-format.js +523 -410
  257. package/dist/core/item/item-format.js.map +1 -1
  258. package/dist/mcp/server.js +387 -367
  259. package/dist/mcp/server.js.map +1 -1
  260. package/dist/sdk/cli-contracts/flag-contracts.js +111 -180
  261. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  262. package/dist/sdk/cli-contracts/tool-schema.js +76 -45
  263. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  264. package/dist/sdk/compose.d.ts +4 -1
  265. package/dist/sdk/compose.js +181 -115
  266. package/dist/sdk/compose.js.map +1 -1
  267. package/docs/RELEASING.md +2 -3
  268. package/package.json +1 -1
  269. package/dist/cli-bundle/chunks/activity-EJBMXUBH.js +0 -16
  270. package/dist/cli-bundle/chunks/chunk-5IRVSKPS.js.map +0 -1
  271. package/dist/cli-bundle/chunks/chunk-5T6WPLRO.js.map +0 -7
  272. package/dist/cli-bundle/chunks/chunk-6T5ZIWBS.js.map +0 -7
  273. package/dist/cli-bundle/chunks/chunk-6YRAMXRS.js.map +0 -1
  274. package/dist/cli-bundle/chunks/chunk-7WDETKGP.js.map +0 -7
  275. package/dist/cli-bundle/chunks/chunk-A3UNLXNJ.js.map +0 -7
  276. package/dist/cli-bundle/chunks/chunk-C2KCIZKZ.js +0 -115
  277. package/dist/cli-bundle/chunks/chunk-C2KCIZKZ.js.map +0 -1
  278. package/dist/cli-bundle/chunks/chunk-CY5IJMUM.js.map +0 -1
  279. package/dist/cli-bundle/chunks/chunk-DJDXAU74.js.map +0 -7
  280. package/dist/cli-bundle/chunks/chunk-DORJSBGJ.js.map +0 -7
  281. package/dist/cli-bundle/chunks/chunk-DU66JUGT.js.map +0 -7
  282. package/dist/cli-bundle/chunks/chunk-F6VH3LFC.js +0 -118
  283. package/dist/cli-bundle/chunks/chunk-F6VH3LFC.js.map +0 -7
  284. package/dist/cli-bundle/chunks/chunk-HIBK6H4S.js.map +0 -1
  285. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js +0 -35
  286. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js.map +0 -7
  287. package/dist/cli-bundle/chunks/chunk-IZQOJR2B.js.map +0 -7
  288. package/dist/cli-bundle/chunks/chunk-JZG5ADVE.js.map +0 -1
  289. package/dist/cli-bundle/chunks/chunk-K46GQ265.js.map +0 -1
  290. package/dist/cli-bundle/chunks/chunk-NIBP3I7A.js.map +0 -1
  291. package/dist/cli-bundle/chunks/chunk-RM6MHL6A.js.map +0 -7
  292. package/dist/cli-bundle/chunks/chunk-SNUK7H5J.js.map +0 -7
  293. package/dist/cli-bundle/chunks/chunk-T7ZMQI4J.js.map +0 -1
  294. package/dist/cli-bundle/chunks/chunk-UB3V5WUI.js.map +0 -1
  295. package/dist/cli-bundle/chunks/chunk-V3KLX7U7.js.map +0 -1
  296. package/dist/cli-bundle/chunks/chunk-VD3LKZFX.js.map +0 -1
  297. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js +0 -32
  298. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js.map +0 -1
  299. package/dist/cli-bundle/chunks/chunk-ZFIEEDTJ.js.map +0 -7
  300. package/dist/cli-bundle/chunks/close-37KEHLYM.js +0 -14
  301. package/dist/cli-bundle/chunks/create-DFMNBKBS.js +0 -28
  302. package/dist/cli-bundle/chunks/history-5XUSLAJA.js +0 -18
  303. package/dist/cli-bundle/chunks/history-redact-BVHWDXPR.js +0 -19
  304. package/dist/cli-bundle/chunks/init-TRYJELH4.js +0 -21
  305. package/dist/cli-bundle/chunks/restore-IRAKSWIW.js +0 -17
  306. package/dist/cli-bundle/chunks/update-UXDLTEOZ.js +0 -24
  307. /package/dist/cli-bundle/chunks/{activity-EJBMXUBH.js.map → activity-AW6XVFH6.js.map} +0 -0
  308. /package/dist/cli-bundle/chunks/{activity-MVSEND6D.js.map → activity-DBLQVIP6.js.map} +0 -0
  309. /package/dist/cli-bundle/chunks/{aggregate-MOC4TR2G.js.map → aggregate-JTEF4BP7.js.map} +0 -0
  310. /package/dist/cli-bundle/chunks/{aggregate-XJHLZQ5X.js.map → aggregate-SDF7DUOD.js.map} +0 -0
  311. /package/dist/cli-bundle/chunks/{append-LEDBAM3K.js.map → append-LOVPGVPT.js.map} +0 -0
  312. /package/dist/cli-bundle/chunks/{append-KDHT4GHI.js.map → append-QCFJSDFL.js.map} +0 -0
  313. /package/dist/cli-bundle/chunks/{chunk-FBZ5XAAF.js.map → chunk-22WKIL3H.js.map} +0 -0
  314. /package/dist/cli-bundle/chunks/{chunk-EVWYAG46.js.map → chunk-2466X6E4.js.map} +0 -0
  315. /package/dist/cli-bundle/chunks/{chunk-3JWQCLR5.js.map → chunk-27BXPBAY.js.map} +0 -0
  316. /package/dist/cli-bundle/chunks/{chunk-WTRUDJ3R.js.map → chunk-2D4HATP2.js.map} +0 -0
  317. /package/dist/cli-bundle/chunks/{chunk-LBH7UYKY.js.map → chunk-3K2M5OYU.js.map} +0 -0
  318. /package/dist/cli-bundle/chunks/{chunk-KTMMTOIP.js.map → chunk-3S2KT7NG.js.map} +0 -0
  319. /package/dist/cli-bundle/chunks/{chunk-FDEVKXC4.js.map → chunk-3VGN2UWE.js.map} +0 -0
  320. /package/dist/cli-bundle/chunks/{chunk-KYDYQMNW.js.map → chunk-4DSGXSBL.js.map} +0 -0
  321. /package/dist/cli-bundle/chunks/{chunk-7L6TXOOC.js.map → chunk-4DUVCVLZ.js.map} +0 -0
  322. /package/dist/cli-bundle/chunks/{chunk-ZIE6WXJ2.js.map → chunk-5CGRF3L5.js.map} +0 -0
  323. /package/dist/cli-bundle/chunks/{chunk-IBU2LLWM.js.map → chunk-64HNBBFQ.js.map} +0 -0
  324. /package/dist/cli-bundle/chunks/{chunk-WFJZDUM7.js.map → chunk-A7FPBAQS.js.map} +0 -0
  325. /package/dist/cli-bundle/chunks/{chunk-74PUWBGN.js.map → chunk-AVEE5EHK.js.map} +0 -0
  326. /package/dist/cli-bundle/chunks/{chunk-KRASIL6M.js.map → chunk-AXIDKKAT.js.map} +0 -0
  327. /package/dist/cli-bundle/chunks/{chunk-CHRNYKNI.js.map → chunk-BDTISOSD.js.map} +0 -0
  328. /package/dist/cli-bundle/chunks/{chunk-RPRW26NG.js.map → chunk-CF7RL6FR.js.map} +0 -0
  329. /package/dist/cli-bundle/chunks/{chunk-BN3CWK6G.js.map → chunk-DDPTYJIM.js.map} +0 -0
  330. /package/dist/cli-bundle/chunks/{chunk-4YIMPANT.js.map → chunk-EJUDVUYZ.js.map} +0 -0
  331. /package/dist/cli-bundle/chunks/{chunk-73PTKMAE.js.map → chunk-EVMTBV6V.js.map} +0 -0
  332. /package/dist/cli-bundle/chunks/{chunk-E2Q2ULMR.js.map → chunk-G7I7DEZA.js.map} +0 -0
  333. /package/dist/cli-bundle/chunks/{chunk-IDYCAK35.js.map → chunk-GJ326ZKX.js.map} +0 -0
  334. /package/dist/cli-bundle/chunks/{chunk-JJ4SG243.js.map → chunk-HPPFYYOV.js.map} +0 -0
  335. /package/dist/cli-bundle/chunks/{chunk-JIP67N2K.js.map → chunk-HYTGA6GI.js.map} +0 -0
  336. /package/dist/cli-bundle/chunks/{chunk-7RIJGN4R.js.map → chunk-HZZEHPRG.js.map} +0 -0
  337. /package/dist/cli-bundle/chunks/{chunk-4TXTVZL3.js.map → chunk-IJYK2T43.js.map} +0 -0
  338. /package/dist/cli-bundle/chunks/{chunk-GF7EAR22.js.map → chunk-IPYBJWTE.js.map} +0 -0
  339. /package/dist/cli-bundle/chunks/{chunk-AWN4PPH5.js.map → chunk-IZBR4NRW.js.map} +0 -0
  340. /package/dist/cli-bundle/chunks/{chunk-IF4ERU6A.js.map → chunk-JLM7BHI7.js.map} +0 -0
  341. /package/dist/cli-bundle/chunks/{chunk-HUYYMTGW.js.map → chunk-JPECA746.js.map} +0 -0
  342. /package/dist/cli-bundle/chunks/{chunk-KGQ3W65B.js.map → chunk-JSU5P7VS.js.map} +0 -0
  343. /package/dist/cli-bundle/chunks/{chunk-Z5BM2FKQ.js.map → chunk-KNPEF7QG.js.map} +0 -0
  344. /package/dist/cli-bundle/chunks/{chunk-DLDCPF5X.js.map → chunk-L5OEFZQG.js.map} +0 -0
  345. /package/dist/cli-bundle/chunks/{chunk-DRPF274X.js.map → chunk-LB6TP6MC.js.map} +0 -0
  346. /package/dist/cli-bundle/chunks/{chunk-YEDFE4DC.js.map → chunk-MAUKX7JC.js.map} +0 -0
  347. /package/dist/cli-bundle/chunks/{chunk-OB3RJV5F.js.map → chunk-N74UMG5H.js.map} +0 -0
  348. /package/dist/cli-bundle/chunks/{chunk-ZEATCVAC.js.map → chunk-NFDPYAIP.js.map} +0 -0
  349. /package/dist/cli-bundle/chunks/{chunk-OUQ5JEFM.js.map → chunk-NKZAN7BD.js.map} +0 -0
  350. /package/dist/cli-bundle/chunks/{chunk-5ABGFWR4.js.map → chunk-NOLPZMSV.js.map} +0 -0
  351. /package/dist/cli-bundle/chunks/{chunk-QE5UFCCO.js.map → chunk-NWMZWYYB.js.map} +0 -0
  352. /package/dist/cli-bundle/chunks/{chunk-VMY7MZEM.js.map → chunk-OGXLACHC.js.map} +0 -0
  353. /package/dist/cli-bundle/chunks/{chunk-IHXXUIXS.js.map → chunk-OTUHB4HS.js.map} +0 -0
  354. /package/dist/cli-bundle/chunks/{chunk-UFKNF23C.js.map → chunk-RGEMWD6Q.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{chunk-Z55WX4IQ.js.map → chunk-RLDHZHQS.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{chunk-NO6Y6FB2.js.map → chunk-RMMQ74TG.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{chunk-SJZTPVFT.js.map → chunk-SLMUGTK3.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{chunk-BOWQWXLI.js.map → chunk-TP5Q5ZD3.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{chunk-D5LYZVGB.js.map → chunk-UYUYDGIB.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{chunk-JVQ7UOYC.js.map → chunk-UZIWVBE6.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{chunk-JTRKME24.js.map → chunk-V3NOKJF2.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{chunk-F7G53BOA.js.map → chunk-VICZWYGZ.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{chunk-TQ6E76BE.js.map → chunk-W4ULYO7Z.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{chunk-MLHX6DN5.js.map → chunk-WYDHYJPO.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{chunk-53ARXF2O.js.map → chunk-YITK2PJ6.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{chunk-D6USKAMA.js.map → chunk-ZRP4VG5U.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{claim-6NINZYB3.js.map → claim-EMQLYPRW.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{claim-HMCLSLUE.js.map → claim-T3GCKV7C.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{close-37KEHLYM.js.map → close-E6ZZGCJY.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{close-OP3LK7Z2.js.map → close-TQYAAFJP.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{close-many-BFMP6HHK.js.map → close-many-BG5QQIDQ.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{close-many-CXJBOWWY.js.map → close-many-LDRVEQY2.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{comments-MU2WMBUY.js.map → comments-QCKR2YY2.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{comments-ETHABIY6.js.map → comments-YUXJRZPQ.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{config-FIXJZEQK.js.map → config-DMSU64QO.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{config-X3ZVCUUG.js.map → config-QH2DICD6.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{context-XDI4DKKT.js.map → context-B6275WPX.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{context-7ZEZV3BV.js.map → context-OCZ3FJ4Z.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{contracts-SMOAN5NF.js.map → contracts-HN7ABKLP.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{contracts-KP4QAGVW.js.map → contracts-W4FZVVD6.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{copy-CWM6SBY6.js.map → copy-BTJOSKKT.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{copy-JJ3KOQW2.js.map → copy-DEM4DATS.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{create-DFMNBKBS.js.map → create-OH3BDGBB.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{create-J5Q2ELZT.js.map → create-RLRJMRTM.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{delete-OOQS4KVD.js.map → delete-BHK7VB2Z.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{delete-2GZLQEUQ.js.map → delete-LSVHAB4Y.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{deps-ZVGGCRR6.js.map → deps-4UDFJRUA.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{deps-IF4IGL4R.js.map → deps-XHYXWEPT.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{docs-2TIFR62T.js.map → docs-26S44RXU.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{docs-NFTBCQQC.js.map → docs-GYZNVS26.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{eval-2F6EH4XN.js.map → eval-PGRVIJQU.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{eval-PFKXQR3B.js.map → eval-UYF3ZPVO.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{extension-GMVOIP4O.js.map → extension-CPSLJQVE.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{extension-3LRYX7SW.js.map → extension-CXJ6RELI.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{files-T5ODMETM.js.map → files-MBNICQFM.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{files-DF3HO6XK.js.map → files-NQHEXUZD.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{focus-DLXKK4AH.js.map → focus-DWYIG7GU.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{focus-MY5ARIEK.js.map → focus-XZW5423D.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{gc-FULIVYR4.js.map → gc-7GQYOS2G.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{gc-MDGRR2SU.js.map → gc-LPVMKJQJ.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{get-AWK324RS.js.map → get-A7MAOHCU.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{get-VYPIICPC.js.map → get-DSDEKJ3L.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{history-X4OSES6K.js.map → history-NERDJNUB.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{history-5XUSLAJA.js.map → history-WSZHY3PN.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{history-compact-WLCQEKXS.js.map → history-compact-2WRZ2WK4.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{history-compact-2GHT32UX.js.map → history-compact-HR7BB4LR.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{history-redact-BVHWDXPR.js.map → history-redact-MP6CH7U5.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{history-redact-45YW65BK.js.map → history-redact-O3NBCNWC.js.map} +0 -0
  409. /package/dist/cli-bundle/chunks/{history-repair-GABSDSVD.js.map → history-repair-LCMOS45X.js.map} +0 -0
  410. /package/dist/cli-bundle/chunks/{history-repair-FY75IC26.js.map → history-repair-XA3LC4GA.js.map} +0 -0
  411. /package/dist/cli-bundle/chunks/{init-KO7CGIRQ.js.map → init-64XDLQJB.js.map} +0 -0
  412. /package/dist/cli-bundle/chunks/{init-TRYJELH4.js.map → init-PAX32BJA.js.map} +0 -0
  413. /package/dist/cli-bundle/chunks/{learnings-3F7YLI45.js.map → learnings-JR6MA5TI.js.map} +0 -0
  414. /package/dist/cli-bundle/chunks/{learnings-LHZT5BHW.js.map → learnings-LPKCSJX7.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{list-ROT7JF62.js.map → list-DNBJVO3E.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{list-Y6AU5BJS.js.map → list-G5Y65VF6.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{next-66BJB4N2.js.map → next-BCERKDUR.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{next-N5MWJTBY.js.map → next-FYTQF6HG.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{notes-FW6YFLND.js.map → notes-2BMU3VVQ.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{notes-EVJZ3VAB.js.map → notes-6KTGO2OJ.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{plan-DQ7G4EDC.js.map → plan-4WXEQCTN.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{plan-ZHKZ7JVF.js.map → plan-RKZHQVXR.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{profile-UPZGCDOG.js.map → profile-4OMM32CD.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{profile-CHAW6SEA.js.map → profile-QLER5ENE.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{register-list-query-Y2VRHPCL.js.map → register-list-query-7LV46VAU.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{register-list-query-KY6Z6WV7.js.map → register-list-query-SNG5PGA4.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{register-mutation-PCARIGZS.js.map → register-mutation-ENNDUAZG.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{register-mutation-N6AYSKPM.js.map → register-mutation-KK7PHYYU.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{register-operations-YAT6FUUB.js.map → register-operations-C6OWLDSH.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{register-operations-L6CYTOIH.js.map → register-operations-HZ6XERQG.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{register-setup-N7UGXYJC.js.map → register-setup-P67EMBDJ.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{register-setup-MPANILQF.js.map → register-setup-ZKJ53RS7.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{restore-DKMCLPI5.js.map → restore-4MHZFJ2E.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{restore-IRAKSWIW.js.map → restore-YALDGTQR.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-3F4QUEDH.js.map → scheduling-shortcuts-LB6DOLRL.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-BNZLQK36.js.map → scheduling-shortcuts-UTOYKLXQ.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{schema-OLT6LVKH.js.map → schema-73HR2OJW.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{schema-XJXKJQF5.js.map → schema-U6LJKSIR.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{search-CX5UMV4H.js.map → search-AXPXKZER.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{search-KP6H7COV.js.map → search-KILGT37L.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{stats-QZUG6MX5.js.map → stats-PSYVVTNZ.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{stats-7XW4OEMK.js.map → stats-W5KNVJWQ.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{telemetry-WTYFUPRL.js.map → telemetry-BZUF6H7G.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{telemetry-DIFPXCAT.js.map → telemetry-GAHHQTOS.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{test-QNDXZQCW.js.map → test-ACD52Z3S.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{test-HU2BS7EY.js.map → test-PWDIZ255.js.map} +0 -0
  447. /package/dist/cli-bundle/chunks/{test-runs-LANLLPVO.js.map → test-runs-PLRAZEFW.js.map} +0 -0
  448. /package/dist/cli-bundle/chunks/{test-runs-CA6K32RD.js.map → test-runs-UXIXPDKU.js.map} +0 -0
  449. /package/dist/cli-bundle/chunks/{update-UXDLTEOZ.js.map → update-AMRSOIWP.js.map} +0 -0
  450. /package/dist/cli-bundle/chunks/{update-DJKWLBWJ.js.map → update-KFX2SIAC.js.map} +0 -0
  451. /package/dist/cli-bundle/chunks/{update-many-VW5DGF3S.js.map → update-many-RNSBX2TA.js.map} +0 -0
  452. /package/dist/cli-bundle/chunks/{update-many-LU3SCNK5.js.map → update-many-Z5GJS5LC.js.map} +0 -0
@@ -7,7 +7,7 @@
7
7
  * consumers from a single source of truth.
8
8
  */
9
9
 
10
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="6c1206a0-ce83-5a02-81bd-59b7fb7933ca")}catch(e){}}();
10
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5c1fba35-3cb1-5029-847a-047dabe7014e")}catch(e){}}();
11
11
  import { normalizeUniqueStringList } from "./string-lists.js";
12
12
  import { PM_TOOL_ACTIONS } from "./enum-contracts.js";
13
13
  import { TOOL_CREATE_OPTION_CONTRACTS, TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS, TOOL_UPDATE_OPTION_CONTRACTS, TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS, TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS, TOOL_CONTEXT_OPTION_CONTRACTS, TOOL_ACTIVITY_OPTION_CONTRACTS, TOOL_LIST_FILTER_OPTION_CONTRACTS, TOOL_AGGREGATE_OPTION_CONTRACTS, TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS, TOOL_SEARCH_FILTER_OPTION_CONTRACTS, TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS, } from "./tool-option-contracts.js";
@@ -644,12 +644,12 @@ function actionScopedToolParameterDefinition(action, key) {
644
644
  }
645
645
  return PM_TOOL_PARAMETER_PROPERTIES[key];
646
646
  }
647
- function buildActionScopedToolSchema(action) {
648
- const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];
649
- const required = toSchemaKeyList(contract.required ?? []);
650
- const optional = toSchemaKeyList(contract.optional ?? []);
651
- const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];
652
- const allowedKeys = toSchemaKeyList(["action", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);
647
+ /**
648
+ * Build the `properties` map for one action-scoped schema: the fixed `action`
649
+ * literal followed by every allowed parameter that resolves to a concrete
650
+ * definition, each decorated with its action-scoped description and examples.
651
+ */
652
+ function buildActionScopedSchemaProperties(action, allowedKeys) {
653
653
  const properties = {
654
654
  action: {
655
655
  const: action,
@@ -665,46 +665,53 @@ function buildActionScopedToolSchema(action) {
665
665
  properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);
666
666
  }
667
667
  }
668
- const schema = {
669
- type: "object",
670
- additionalProperties: false,
671
- required: ["action", ...required],
672
- title: `pm action "${action}" parameters`,
673
- properties,
674
- };
675
- if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {
676
- schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({
668
+ return properties;
669
+ }
670
+ /**
671
+ * Build the `oneOf` branches for an action whose contract requires exactly one of
672
+ * several field groups. Each branch requires its own group and — when sibling
673
+ * groups exist — forbids any field drawn from them, so the schema rejects the same
674
+ * overlapping combinations the runtime rejects; `history-repair`'s `all` branch
675
+ * additionally pins `all` to the literal `true`.
676
+ */
677
+ function buildOneOfSchemaEntries(action, oneOfRequiredGroups) {
678
+ const allOneOfFields = oneOfRequiredGroups.flat();
679
+ return oneOfRequiredGroups.map((requiredFields) => {
680
+ const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));
681
+ return {
677
682
  required: [...requiredFields],
678
- }));
679
- }
680
- const oneOfRequiredGroups = contract.oneOfRequired;
681
- if (oneOfRequiredGroups && oneOfRequiredGroups.length > 0) {
682
- const allOneOfFields = oneOfRequiredGroups.flat();
683
- schema.oneOf = oneOfRequiredGroups.map((requiredFields) => {
684
- const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));
685
- return {
686
- required: [...requiredFields],
687
- ...(otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {}),
688
- ...(action === "history-repair" && requiredFields.includes("all") ? { properties: { all: { const: true } } } : {}),
689
- };
690
- });
691
- }
683
+ ...(otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {}),
684
+ ...(action === "history-repair" && requiredFields.includes("all") ? { properties: { all: { const: true } } } : {}),
685
+ };
686
+ });
687
+ }
688
+ /**
689
+ * Build the consolidated `allOf` constraint list for an action's contract,
690
+ * appending branches in a fixed order — conditional-required (`if`/`then`), then
691
+ * dependent any-of-required, then mutually-exclusive (`not`/`required`) — so a
692
+ * given contract always serializes to a byte-identical schema. Returns an empty
693
+ * array when the contract declares none of these constraints, letting the caller
694
+ * omit the `allOf` key entirely.
695
+ */
696
+ function buildActionScopedAllOf(contract) {
697
+ const allOf = [];
692
698
  if (contract.conditionalRequired && contract.conditionalRequired.length > 0) {
693
- schema.allOf = contract.conditionalRequired.map((entry) => ({
694
- if: {
695
- properties: {
696
- [entry.property]: { const: entry.value },
699
+ for (const entry of contract.conditionalRequired) {
700
+ allOf.push({
701
+ if: {
702
+ properties: {
703
+ [entry.property]: { const: entry.value },
704
+ },
705
+ required: [entry.property],
697
706
  },
698
- required: [entry.property],
699
- },
700
- // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.
701
- then: {
702
- required: entry.required,
703
- },
704
- }));
707
+ // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.
708
+ then: {
709
+ required: entry.required,
710
+ },
711
+ });
712
+ }
705
713
  }
706
714
  if (contract.dependentAnyOfRequired && contract.dependentAnyOfRequired.length > 0) {
707
- const allOf = Array.isArray(schema.allOf) ? [...schema.allOf] : [];
708
715
  for (const entry of contract.dependentAnyOfRequired) {
709
716
  allOf.push({
710
717
  if: { required: [entry.property] },
@@ -716,13 +723,37 @@ function buildActionScopedToolSchema(action) {
716
723
  },
717
724
  });
718
725
  }
719
- schema.allOf = allOf;
720
726
  }
721
727
  if (contract.mutuallyExclusive && contract.mutuallyExclusive.length > 0) {
722
- const allOf = Array.isArray(schema.allOf) ? [...schema.allOf] : [];
723
728
  for (const group of contract.mutuallyExclusive) {
724
729
  allOf.push({ not: { required: toSchemaKeyList(group) } });
725
730
  }
731
+ }
732
+ return allOf;
733
+ }
734
+ function buildActionScopedToolSchema(action) {
735
+ const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];
736
+ const required = toSchemaKeyList(contract.required ?? []);
737
+ const optional = toSchemaKeyList(contract.optional ?? []);
738
+ const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];
739
+ const allowedKeys = toSchemaKeyList(["action", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);
740
+ const schema = {
741
+ type: "object",
742
+ additionalProperties: false,
743
+ required: ["action", ...required],
744
+ title: `pm action "${action}" parameters`,
745
+ properties: buildActionScopedSchemaProperties(action, allowedKeys),
746
+ };
747
+ if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {
748
+ schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({
749
+ required: [...requiredFields],
750
+ }));
751
+ }
752
+ if (contract.oneOfRequired && contract.oneOfRequired.length > 0) {
753
+ schema.oneOf = buildOneOfSchemaEntries(action, contract.oneOfRequired);
754
+ }
755
+ const allOf = buildActionScopedAllOf(contract);
756
+ if (allOf.length > 0) {
726
757
  schema.allOf = allOf;
727
758
  }
728
759
  return schema;
@@ -837,4 +868,4 @@ export const _testOnlyCliContracts = {
837
868
  withFlagAliasMetadata,
838
869
  };
839
870
  //# sourceMappingURL=tool-schema.js.map
840
- //# debugId=6c1206a0-ce83-5a02-81bd-59b7fb7933ca
871
+ //# debugId=5c1fba35-3cb1-5029-847a-047dabe7014e
@@ -1 +1 @@
1
- {"version":3,"file":"tool-schema.js","sources":["sdk/cli-contracts/tool-schema.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/cli-contracts/tool-schema\n *\n * MCP tool-parameter schema contracts: the per-action required/optional key sets\n * and the lazily-built strict (action-scoped) and provider-compatible (flat)\n * JSON Schemas served to MCP clients, the `pm contracts` command, and SDK\n * consumers from a single source of truth.\n */\nimport { normalizeUniqueStringList } from \"./string-lists.js\";\nimport { PM_TOOL_ACTIONS, type PmToolAction } from \"./enum-contracts.js\";\nimport {\n TOOL_CREATE_OPTION_CONTRACTS,\n TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS,\n TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS,\n TOOL_CONTEXT_OPTION_CONTRACTS,\n TOOL_ACTIVITY_OPTION_CONTRACTS,\n TOOL_LIST_FILTER_OPTION_CONTRACTS,\n TOOL_AGGREGATE_OPTION_CONTRACTS,\n TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS,\n TOOL_SEARCH_FILTER_OPTION_CONTRACTS,\n TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS,\n} from \"./tool-option-contracts.js\";\nimport {\n PM_TOOL_PARAMETER_PROPERTIES,\n PM_TOOL_PARAMETER_METADATA,\n PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA,\n PLAN_ACTION_PARAMETER_PROPERTIES,\n PLAN_ACTION_PARAMETER_METADATA,\n} from \"./tool-parameter-tables.js\";\nimport { toUniqueFlagContracts, withFlagAliasMetadata } from \"./flag-contracts.js\";\n\nconst PM_TOOL_GLOBAL_PARAMETER_KEYS = [\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"path\",\n \"pmExecutable\",\n \"timeoutMs\",\n] as const;\n\nconst PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS: Partial<Record<PmToolAction, readonly string[]>> = {\n create: [\"fullChangedFields\", \"idOnly\"],\n copy: [\"fullChangedFields\", \"idOnly\"],\n update: [\"fullChangedFields\", \"idOnly\"],\n close: [\"fullChangedFields\", \"idOnly\"],\n append: [\"fullChangedFields\"],\n \"update-many\": [\"fullChangedFields\"],\n \"close-many\": [\"fullChangedFields\"],\n};\n\n/**\n * Declarative description of one pm action's MCP parameter constraints —\n * required/optional keys plus JSON-Schema-style cross-field rules (anyOf, oneOf,\n * conditional, dependent, and mutually-exclusive groups) — from which the strict\n * action-scoped tool schema is built.\n */\nexport interface PmActionSchemaContract {\n required?: string[];\n optional?: string[];\n anyOfRequired?: Array<string[]>;\n oneOfRequired?: Array<string[]>;\n dependentAnyOfRequired?: Array<{\n property: string;\n anyOfRequired: Array<string[]>;\n }>;\n conditionalRequired?: Array<{\n property: string;\n value: string;\n required: string[];\n }>;\n /**\n * Groups of parameters that must not be supplied together. Each group emits a\n * JSON Schema `not: { required: [...] }` constraint so MCP clients validating\n * against the contract reject the same combinations the runtime rejects\n * (e.g. focus `id` + `clear`), keeping schema and runtime in lock-step.\n */\n mutuallyExclusive?: Array<string[]>;\n}\n\nfunction toSchemaKeyList(values: string[]): string[] {\n return normalizeUniqueStringList(values);\n}\n\nconst CREATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CREATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"assignee\",\n]);\n\nconst UPDATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"force\",\n]);\n\nconst UPDATE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n ...UPDATE_CONTRACT_PARAMETER_KEYS,\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n]);\n\nconst NORMALIZE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"dryRun\",\n \"apply\",\n \"author\",\n \"message\",\n \"allowAuditUpdate\",\n \"force\",\n]);\n\nconst CLOSE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"reason\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n \"validateClose\",\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n \"author\",\n \"message\",\n \"force\",\n]);\n\nconst CONTEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CONTEXT_OPTION_CONTRACTS.map((entry) => entry.param),\n \"past\",\n \"section\",\n]);\n\nconst ACTIVITY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_ACTIVITY_OPTION_CONTRACTS.map((entry) => entry.param),\n \"stream\",\n]);\n\nconst LIST_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_LIST_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"includeBody\",\n \"noTruncate\",\n \"compact\",\n \"brief\",\n \"full\",\n]);\nconst AGGREGATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_AGGREGATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"count\",\n \"completion\",\n \"includeUnparented\",\n]);\nconst DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList(TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS.map((entry) => entry.param));\nconst SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"query\",\n \"keywords\",\n \"mode\",\n \"semantic\",\n \"hybrid\",\n \"includeLinked\",\n \"titleExact\",\n \"phraseExact\",\n \"highlight\",\n \"compact\",\n \"full\",\n ...TOOL_SEARCH_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n]);\n\nconst NEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"type\",\n \"tag\",\n \"priority\",\n \"assignee\",\n \"assigneeFilter\",\n \"sprint\",\n \"release\",\n \"parent\",\n \"limit\",\n \"blockedLimit\",\n \"readyOnly\",\n \"format\",\n]);\n\nconst AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = [\"author\", \"message\", \"force\"];\n\nconst PM_TOOL_ACTION_SCHEMA_CONTRACTS: Record<string, PmActionSchemaContract> = {\n init: { optional: [\"prefix\", \"preset\", \"typePreset\", \"defaults\", \"author\", \"agentGuidance\", \"withPackages\", \"force\", \"verbose\"] },\n config: {\n required: [\"scope\", \"configAction\"],\n optional: [\"key\", \"value\", \"criterion\", \"clearCriteria\", \"format\", \"policy\"],\n },\n \"extension-init\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-install\": {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n \"extension-uninstall\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-explore\": { optional: [\"scope\"] },\n \"extension-manage\": { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n \"extension-describe\": { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n \"extension-reload\": { optional: [\"scope\", \"watch\"] },\n \"extension-doctor\": { optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"strictExit\", \"failOnWarn\"] },\n \"extension-catalog\": { optional: [\"scope\", \"fields\"] },\n \"extension-adopt\": { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n \"extension-adopt-all\": { optional: [\"scope\"] },\n \"extension-activate\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-deactivate\": { required: [\"target\"], optional: [\"scope\"] },\n extension: {\n optional: [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n ],\n },\n \"package-init\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-install\": {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n \"package-uninstall\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-explore\": { optional: [\"scope\"] },\n \"package-manage\": { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n \"package-describe\": { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n \"package-reload\": { optional: [\"scope\", \"watch\"] },\n \"package-doctor\": { optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"strictExit\", \"failOnWarn\"] },\n \"package-catalog\": { optional: [\"scope\", \"fields\"] },\n \"package-adopt\": { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n \"package-adopt-all\": { optional: [\"scope\"] },\n \"package-activate\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-deactivate\": { required: [\"target\"], optional: [\"scope\"] },\n package: {\n optional: [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n ],\n },\n install: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n upgrade: {\n optional: [\"target\", \"scope\", \"dryRun\", \"cliOnly\", \"packagesOnly\", \"repair\", \"tag\", \"packageName\"],\n },\n create: {\n required: [\"title\", \"description\", \"type\", \"status\", \"priority\", \"message\"],\n optional: CREATE_CONTRACT_PARAMETER_KEYS,\n },\n copy: { required: [\"id\"], optional: [\"title\", \"author\", \"message\"] },\n focus: { optional: [\"id\", \"clear\"], mutuallyExclusive: [[\"id\", \"clear\"]] },\n list: { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-all\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-draft\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-open\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-in-progress\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-blocked\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-closed\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-canceled\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },\n \"dedupe-audit\": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },\n guide: { optional: [\"list\", \"format\", \"depth\"] },\n context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n get: { required: [\"id\"], optional: [\"depth\", \"full\", \"fields\", \"tree\", \"treeDepth\", \"format\"] },\n search: {\n optional: SEARCH_CONTRACT_PARAMETER_KEYS,\n anyOfRequired: [[\"query\"], [\"keywords\"]],\n },\n next: { optional: NEXT_CONTRACT_PARAMETER_KEYS },\n reindex: { optional: [\"mode\", \"progress\"] },\n history: { required: [\"id\"], optional: [\"limit\", \"compact\", \"full\", \"diff\", \"verify\", \"format\"] },\n \"history-redact\": {\n required: [\"id\"],\n optional: [\"literal\", \"regex\", \"replacement\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n anyOfRequired: [[\"literal\"], [\"regex\"]],\n },\n \"history-repair\": {\n // Exactly one of `id` (single stream) or `all` (bulk drift repair) is required.\n optional: [\"id\", \"all\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n oneOfRequired: [[\"id\"], [\"all\"]],\n },\n \"history-compact\": {\n // Single-id mode (`id` + optional `before`) or bulk mode (any of `ids` /\n // `allOver` / `closed` / `allStreams`, with optional `minEntries`). Scan\n // selectors (`allOver` + `closed`/`allStreams`) legitimately combine, so the\n // mode/exclusivity contract is enforced at runtime by assertHistoryCompactTarget\n // rather than a one-of schema rule.\n optional: [\"id\", \"before\", \"ids\", \"allOver\", \"closed\", \"allStreams\", \"minEntries\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n schema: {\n required: [\"subcommand\"],\n // No --message: schema mutations write config files, not item history.\n optional: [\n \"name\",\n \"description\",\n \"defaultStatus\",\n \"folder\",\n \"alias\",\n \"role\",\n \"order\",\n \"fieldType\",\n \"commands\",\n \"cliFlag\",\n \"required\",\n \"requiredOnCreate\",\n \"allowUnset\",\n \"requiredTypes\",\n \"typePreset\",\n \"infer\",\n \"minCount\",\n \"apply\",\n \"author\",\n \"force\",\n ],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"add-type\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-type\", required: [\"name\"] },\n // show-status/add-status/remove-status pass the status id as `name`.\n { property: \"subcommand\", value: \"add-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-status\", required: [\"name\"] },\n // field subcommands pass the field key as `name`.\n { property: \"subcommand\", value: \"add-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-field\", required: [\"name\"] },\n // apply-preset passes the preset name as `typePreset`.\n { property: \"subcommand\", value: \"apply-preset\", required: [\"typePreset\"] },\n ],\n },\n profile: {\n required: [\"subcommand\"],\n // No --message: profile staging writes config/schema files, not item history.\n optional: [\"name\", \"dryRun\", \"author\", \"force\"],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"apply\", required: [\"name\"] },\n { property: \"subcommand\", value: \"lint\", required: [\"name\"] },\n ],\n },\n plan: {\n required: [\"subcommand\"],\n optional: [\n \"id\",\n \"stepRef\",\n \"reorderTo\",\n \"title\",\n \"description\",\n \"scope\",\n \"parent\",\n \"related\",\n \"blocks\",\n \"blockedBy\",\n \"harness\",\n \"mode\",\n \"resumeContext\",\n \"tags\",\n \"priority\",\n \"body\",\n \"claim\",\n \"fromSearch\",\n \"stepTitle\",\n \"step\",\n \"stepBody\",\n \"stepOwner\",\n \"stepStatus\",\n \"stepEvidence\",\n \"stepBlockedReason\",\n \"stepReplacement\",\n \"dependsOn\",\n \"link\",\n \"linkKind\",\n \"linkNote\",\n \"promoteToItemDep\",\n \"allowMultipleActive\",\n \"file\",\n \"test\",\n \"doc\",\n \"decisionText\",\n \"decision\",\n \"decisionRationale\",\n \"decisionEvidence\",\n \"discoveryText\",\n \"discovery\",\n \"validationText\",\n \"validation\",\n \"validationCommand\",\n \"validationExpected\",\n \"depth\",\n \"fields\",\n \"steps\",\n \"materializeType\",\n \"materializeParent\",\n \"materializeTags\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n activity: { optional: ACTIVITY_CONTRACT_PARAMETER_KEYS },\n restore: { required: [\"id\", \"target\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n update: { required: [\"id\"], optional: UPDATE_CONTRACT_PARAMETER_KEYS },\n \"update-many\": { optional: UPDATE_MANY_CONTRACT_PARAMETER_KEYS },\n normalize: { optional: NORMALIZE_CONTRACT_PARAMETER_KEYS },\n close: {\n required: [\"id\"],\n optional: [\n \"text\",\n \"reason\",\n \"closeReason\",\n \"duplicateOf\",\n \"validateClose\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"close-many\": { optional: CLOSE_MANY_CONTRACT_PARAMETER_KEYS },\n delete: { required: [\"id\"], optional: [\"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n append: { required: [\"id\", \"body\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n comments: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"stdin\", \"file\", \"edit\", \"delete\", \"limit\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n \"comments-audit\": {\n optional: [\n \"status\",\n \"type\",\n \"assignee\",\n \"assigneeFilter\",\n \"parent\",\n \"tag\",\n \"sprint\",\n \"release\",\n \"priority\",\n \"limitItems\",\n \"limit\",\n \"fullHistory\",\n \"latest\",\n ],\n },\n notes: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditNote\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n learnings: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditLearning\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n files: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"list\",\n // GH-170 (pm-pfnx): `addNote` is the MCP spelling of the CLI --note flag\n // (the shared `note` parameter is the array-typed create/update note\n // seed, so files/docs use a distinct single-string key).\n \"addNote\",\n \"discover\",\n \"apply\",\n \"discoveryNote\",\n \"appendStable\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n docs: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"addNote\",\n \"list\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n deps: { required: [\"id\"], optional: [\"format\", \"maxDepth\", \"collapse\", \"summary\"] },\n test: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addJson\",\n \"remove\",\n \"run\",\n \"match\",\n \"onlyIndex\",\n \"onlyLast\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"test-all\": {\n optional: [\n \"status\",\n \"limit\",\n \"offset\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ],\n },\n telemetry: {\n optional: [\"subcommand\", \"limit\"],\n },\n \"test-runs-list\": {\n optional: [\"status\", \"limit\"],\n },\n \"test-runs-status\": {\n required: [\"runId\"],\n },\n \"test-runs-logs\": {\n required: [\"runId\"],\n optional: [\"stream\", \"tail\"],\n },\n \"test-runs-stop\": {\n required: [\"runId\"],\n optional: [\"force\"],\n },\n \"test-runs-resume\": {\n required: [\"runId\"],\n optional: [\"author\"],\n },\n stats: { optional: [\"storage\", \"metadataCoverage\", \"fieldUtilization\", \"byAssignee\", \"byTag\", \"byPriority\", \"tagPrefix\"] },\n health: {\n optional: [\n \"strictDirectories\",\n \"strictExit\",\n \"failOnWarn\",\n \"checkOnly\",\n \"checkTelemetry\",\n \"noRefresh\",\n \"refreshVectors\",\n \"verboseStaleItems\",\n \"brief\",\n \"summary\",\n \"skipVectors\",\n \"skipIntegrity\",\n \"skipDrift\",\n \"full\",\n ],\n },\n validate: {\n optional: [\n \"checkMetadata\",\n \"metadataProfile\",\n \"checkResolution\",\n \"checkLifecycle\",\n \"checkStaleBlockers\",\n \"dependencyCycleSeverity\",\n \"parentCycleSeverity\",\n \"checkFiles\",\n \"scanMode\",\n \"includePmInternals\",\n \"verboseFileLists\",\n \"verboseDiagnostics\",\n \"allAffectedIds\",\n \"strictExit\",\n \"failOnWarn\",\n \"fixHints\",\n \"autoFix\",\n \"dryRun\",\n \"fixScope\",\n \"pruneMissing\",\n \"checkHistoryDrift\",\n \"checkCommandReferences\",\n ],\n },\n gc: { optional: [\"dryRun\", \"gcScope\"] },\n contracts: { optional: [\"contractAction\", \"command\", \"schemaOnly\", \"flagsOnly\", \"availabilityOnly\", \"runtimeOnly\", \"activeOnly\", \"full\"] },\n completion: { required: [\"shell\"], optional: [\"eagerTags\"] },\n claim: { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n release: { required: [\"id\"], optional: [\"allowAuditRelease\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n \"start-task\": { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"pause-task\": { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"close-task\": { required: [\"id\"], optional: [\"text\", \"validateClose\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n};\n\nexport const PM_TOOL_ACTION_PARAMETER_CONTRACTS: Readonly<Record<PmToolAction, PmActionSchemaContract>> =\n Object.freeze(\n Object.fromEntries(PM_TOOL_ACTIONS.map((action) => [action, PM_TOOL_ACTION_SCHEMA_CONTRACTS[action]])),\n ) as Readonly<Record<PmToolAction, PmActionSchemaContract>>;\n\nfunction fallbackToolParameterDescription(key: string): string {\n return key\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/[_-]/g, \" \")\n .trim()\n .replace(/^./, (value) => value.toUpperCase())\n .concat(\".\");\n}\n\nfunction decorateToolParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = PM_TOOL_PARAMETER_METADATA[key];\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterMetadata(\n action: PmToolAction,\n key: string,\n): { description: string; examples?: unknown[] } | undefined {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_METADATA, key)) {\n return PLAN_ACTION_PARAMETER_METADATA[key];\n }\n const actionOverrides = PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA[action];\n if (actionOverrides && Object.prototype.hasOwnProperty.call(actionOverrides, key)) {\n return actionOverrides[key];\n }\n return PM_TOOL_PARAMETER_METADATA[key];\n}\n\nfunction decorateActionScopedToolParameterDefinition(\n action: PmToolAction,\n key: string,\n definition: unknown,\n): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = actionScopedToolParameterMetadata(action, key);\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterDefinition(action: PmToolAction, key: string): unknown {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_PROPERTIES, key)) {\n return PLAN_ACTION_PARAMETER_PROPERTIES[key];\n }\n if ((action === \"get\" || action === \"history\" || action === \"search\") && key === \"format\") {\n return { type: \"string\", enum: [\"json\", \"toon\"] };\n }\n return PM_TOOL_PARAMETER_PROPERTIES[key];\n}\n\nfunction buildActionScopedToolSchema(action: PmToolAction): Record<string, unknown> {\n const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];\n const required = toSchemaKeyList(contract.required ?? []);\n const optional = toSchemaKeyList(contract.optional ?? []);\n const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];\n const allowedKeys = toSchemaKeyList([\"action\", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);\n const properties: Record<string, unknown> = {\n action: {\n const: action,\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n };\n for (const key of allowedKeys) {\n if (key === \"action\") {\n continue;\n }\n const definition = actionScopedToolParameterDefinition(action, key);\n if (definition) {\n properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);\n }\n }\n const schema: Record<string, unknown> = {\n type: \"object\",\n additionalProperties: false,\n required: [\"action\", ...required],\n title: `pm action \"${action}\" parameters`,\n properties,\n };\n if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {\n schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n }));\n }\n const oneOfRequiredGroups = contract.oneOfRequired;\n if (oneOfRequiredGroups && oneOfRequiredGroups.length > 0) {\n const allOneOfFields = oneOfRequiredGroups.flat();\n schema.oneOf = oneOfRequiredGroups.map((requiredFields) => {\n const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));\n return {\n required: [...requiredFields],\n ...(otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {}),\n ...(action === \"history-repair\" && requiredFields.includes(\"all\") ? { properties: { all: { const: true } } } : {}),\n };\n });\n }\n if (contract.conditionalRequired && contract.conditionalRequired.length > 0) {\n schema.allOf = contract.conditionalRequired.map((entry) => ({\n if: {\n properties: {\n [entry.property]: { const: entry.value },\n },\n required: [entry.property],\n },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n required: entry.required,\n },\n }));\n }\n if (contract.dependentAnyOfRequired && contract.dependentAnyOfRequired.length > 0) {\n const allOf = Array.isArray(schema.allOf) ? [...(schema.allOf as Array<Record<string, unknown>>)] : [];\n for (const entry of contract.dependentAnyOfRequired) {\n allOf.push({\n if: { required: [entry.property] },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n anyOf: entry.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n })),\n },\n });\n }\n schema.allOf = allOf;\n }\n if (contract.mutuallyExclusive && contract.mutuallyExclusive.length > 0) {\n const allOf = Array.isArray(schema.allOf) ? [...(schema.allOf as Array<Record<string, unknown>>)] : [];\n for (const group of contract.mutuallyExclusive) {\n allOf.push({ not: { required: toSchemaKeyList(group) } });\n }\n schema.allOf = allOf;\n }\n return schema;\n}\n\n// Building the full MCP tool-parameter schemas (one variant per action) is only\n// needed by the MCP server, the `pm contracts` command, and SDK consumers — never\n// on the hot CLI path that imports this module for flag contracts. Wrap them in a\n// memoized lazy Proxy so the build is deferred until first property access and the\n// object API (`.type`, `.oneOf`, spread, JSON.stringify) stays identical.\nfunction createLazyContractSchema(\n build: () => Record<string, unknown>,\n): Record<string, unknown> {\n let value: Record<string, unknown> | undefined;\n const resolve = (): Record<string, unknown> => (value ??= build());\n return new Proxy({} as Record<string, unknown>, {\n get: (_target, prop) => resolve()[prop as string],\n has: (_target, prop) => prop in resolve(),\n ownKeys: () => Reflect.ownKeys(resolve()),\n getOwnPropertyDescriptor: (_target, prop) => {\n const descriptor = Reflect.getOwnPropertyDescriptor(resolve(), prop);\n if (descriptor) {\n descriptor.configurable = true;\n }\n return descriptor;\n },\n });\n}\n\n/**\n * Canonical version of the action-scoped strict MCP tool-parameters schema\n * (`PM_TOOL_PARAMETERS_SCHEMA`). Exported as the single source of truth so the\n * MCP server, the `pm contracts` command, SDK consumers, and the contract tests\n * all bind to one constant instead of re-typing the `\"4.0.2\"` literal (pm-r9sz).\n * Bump the patch/minor for additive, backward-compatible schema changes; bump\n * the MAJOR for breaking changes — the major also drives the `$id`\n * `tool-parameters-v{major}` slug, so the two never drift.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_VERSION = \"4.0.6\" as const;\n\n/**\n * Major component of {@link PM_TOOL_PARAMETERS_SCHEMA_VERSION}, used to build the\n * schema `$id` slug so a breaking version bump renames the document in lockstep.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_MAJOR = PM_TOOL_PARAMETERS_SCHEMA_VERSION.split(\".\")[0];\n\n/**\n * Version of the provider-compatible flat tool-parameters schema\n * (`PM_PROVIDER_TOOL_PARAMETERS_SCHEMA`). Tracked separately from the strict\n * schema because the flat projection evolves independently.\n */\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION = \"1.0.0\" as const;\n\nexport const PM_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(() => ({\n $schema: \"https://json-schema.org/draft/2020-12/schema\",\n $id: `https://schema.unbrained.dev/pm-cli/tool-parameters-v${PM_TOOL_PARAMETERS_SCHEMA_MAJOR}.schema.json`,\n title: \"pm-cli tool parameters (action-scoped strict schema)\",\n \"x-schema-version\": PM_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n oneOf: PM_TOOL_ACTIONS.map((action) => buildActionScopedToolSchema(action)),\n}));\n\nfunction toProviderCompatibleParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const decorated = decorateToolParameterDefinition(key, definition);\n if (typeof decorated.type === \"string\") {\n return decorated;\n }\n const anyOf = Array.isArray(decorated.anyOf) ? (decorated.anyOf as Array<Record<string, unknown>>) : [];\n const firstTypedVariant = anyOf.find((variant) => typeof variant.type === \"string\");\n if (firstTypedVariant) {\n const { anyOf: _anyOf, ...rest } = decorated;\n // Spread the whole typed variant (type plus any enum/minimum/maximum/pattern\n // constraints) so the flat provider schema keeps the variant's validation,\n // then let the decorated top-level fields (description, examples) win.\n return {\n ...firstTypedVariant,\n ...rest,\n };\n }\n const { anyOf: _anyOf, ...rest } = decorated;\n return {\n ...rest,\n type: \"string\",\n };\n}\n\nfunction buildProviderCompatibleToolSchema(): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n options: {\n type: \"object\",\n additionalProperties: true,\n description: \"Advanced command options object forwarded to the selected pm action.\",\n },\n };\n for (const key of Object.keys(PM_TOOL_PARAMETER_PROPERTIES).sort()) {\n properties[key] = toProviderCompatibleParameterDefinition(key, PM_TOOL_PARAMETER_PROPERTIES[key]);\n }\n return {\n title: \"pm-cli tool parameters (provider-compatible flat schema)\",\n \"x-schema-version\": PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n additionalProperties: false,\n required: [\"action\"],\n properties,\n };\n}\n\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(\n buildProviderCompatibleToolSchema,\n);\n\nexport const _testOnlyCliContracts = {\n buildActionScopedToolSchema,\n buildProviderCompatibleToolSchema,\n decorateActionScopedToolParameterDefinition,\n decorateToolParameterDefinition,\n toolActionSchemaContracts: PM_TOOL_ACTION_SCHEMA_CONTRACTS,\n toolParameterMetadata: PM_TOOL_PARAMETER_METADATA,\n toProviderCompatibleParameterDefinition,\n toUniqueFlagContracts,\n withFlagAliasMetadata,\n};\n"],"names":[],"mappings":"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","debugId":"6c1206a0-ce83-5a02-81bd-59b7fb7933ca"}
1
+ {"version":3,"file":"tool-schema.js","sources":["sdk/cli-contracts/tool-schema.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/cli-contracts/tool-schema\n *\n * MCP tool-parameter schema contracts: the per-action required/optional key sets\n * and the lazily-built strict (action-scoped) and provider-compatible (flat)\n * JSON Schemas served to MCP clients, the `pm contracts` command, and SDK\n * consumers from a single source of truth.\n */\nimport { normalizeUniqueStringList } from \"./string-lists.js\";\nimport { PM_TOOL_ACTIONS, type PmToolAction } from \"./enum-contracts.js\";\nimport {\n TOOL_CREATE_OPTION_CONTRACTS,\n TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS,\n TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS,\n TOOL_CONTEXT_OPTION_CONTRACTS,\n TOOL_ACTIVITY_OPTION_CONTRACTS,\n TOOL_LIST_FILTER_OPTION_CONTRACTS,\n TOOL_AGGREGATE_OPTION_CONTRACTS,\n TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS,\n TOOL_SEARCH_FILTER_OPTION_CONTRACTS,\n TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS,\n} from \"./tool-option-contracts.js\";\nimport {\n PM_TOOL_PARAMETER_PROPERTIES,\n PM_TOOL_PARAMETER_METADATA,\n PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA,\n PLAN_ACTION_PARAMETER_PROPERTIES,\n PLAN_ACTION_PARAMETER_METADATA,\n} from \"./tool-parameter-tables.js\";\nimport { toUniqueFlagContracts, withFlagAliasMetadata } from \"./flag-contracts.js\";\n\nconst PM_TOOL_GLOBAL_PARAMETER_KEYS = [\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"path\",\n \"pmExecutable\",\n \"timeoutMs\",\n] as const;\n\nconst PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS: Partial<Record<PmToolAction, readonly string[]>> = {\n create: [\"fullChangedFields\", \"idOnly\"],\n copy: [\"fullChangedFields\", \"idOnly\"],\n update: [\"fullChangedFields\", \"idOnly\"],\n close: [\"fullChangedFields\", \"idOnly\"],\n append: [\"fullChangedFields\"],\n \"update-many\": [\"fullChangedFields\"],\n \"close-many\": [\"fullChangedFields\"],\n};\n\n/**\n * Declarative description of one pm action's MCP parameter constraints —\n * required/optional keys plus JSON-Schema-style cross-field rules (anyOf, oneOf,\n * conditional, dependent, and mutually-exclusive groups) — from which the strict\n * action-scoped tool schema is built.\n */\nexport interface PmActionSchemaContract {\n required?: string[];\n optional?: string[];\n anyOfRequired?: Array<string[]>;\n oneOfRequired?: Array<string[]>;\n dependentAnyOfRequired?: Array<{\n property: string;\n anyOfRequired: Array<string[]>;\n }>;\n conditionalRequired?: Array<{\n property: string;\n value: string;\n required: string[];\n }>;\n /**\n * Groups of parameters that must not be supplied together. Each group emits a\n * JSON Schema `not: { required: [...] }` constraint so MCP clients validating\n * against the contract reject the same combinations the runtime rejects\n * (e.g. focus `id` + `clear`), keeping schema and runtime in lock-step.\n */\n mutuallyExclusive?: Array<string[]>;\n}\n\nfunction toSchemaKeyList(values: string[]): string[] {\n return normalizeUniqueStringList(values);\n}\n\nconst CREATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CREATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"assignee\",\n]);\n\nconst UPDATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"force\",\n]);\n\nconst UPDATE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n ...UPDATE_CONTRACT_PARAMETER_KEYS,\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n]);\n\nconst NORMALIZE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"dryRun\",\n \"apply\",\n \"author\",\n \"message\",\n \"allowAuditUpdate\",\n \"force\",\n]);\n\nconst CLOSE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"reason\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n \"validateClose\",\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n \"author\",\n \"message\",\n \"force\",\n]);\n\nconst CONTEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CONTEXT_OPTION_CONTRACTS.map((entry) => entry.param),\n \"past\",\n \"section\",\n]);\n\nconst ACTIVITY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_ACTIVITY_OPTION_CONTRACTS.map((entry) => entry.param),\n \"stream\",\n]);\n\nconst LIST_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_LIST_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"includeBody\",\n \"noTruncate\",\n \"compact\",\n \"brief\",\n \"full\",\n]);\nconst AGGREGATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_AGGREGATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"count\",\n \"completion\",\n \"includeUnparented\",\n]);\nconst DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList(TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS.map((entry) => entry.param));\nconst SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"query\",\n \"keywords\",\n \"mode\",\n \"semantic\",\n \"hybrid\",\n \"includeLinked\",\n \"titleExact\",\n \"phraseExact\",\n \"highlight\",\n \"compact\",\n \"full\",\n ...TOOL_SEARCH_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n]);\n\nconst NEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"type\",\n \"tag\",\n \"priority\",\n \"assignee\",\n \"assigneeFilter\",\n \"sprint\",\n \"release\",\n \"parent\",\n \"limit\",\n \"blockedLimit\",\n \"readyOnly\",\n \"format\",\n]);\n\nconst AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = [\"author\", \"message\", \"force\"];\n\nconst PM_TOOL_ACTION_SCHEMA_CONTRACTS: Record<string, PmActionSchemaContract> = {\n init: { optional: [\"prefix\", \"preset\", \"typePreset\", \"defaults\", \"author\", \"agentGuidance\", \"withPackages\", \"force\", \"verbose\"] },\n config: {\n required: [\"scope\", \"configAction\"],\n optional: [\"key\", \"value\", \"criterion\", \"clearCriteria\", \"format\", \"policy\"],\n },\n \"extension-init\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-install\": {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n \"extension-uninstall\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-explore\": { optional: [\"scope\"] },\n \"extension-manage\": { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n \"extension-describe\": { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n \"extension-reload\": { optional: [\"scope\", \"watch\"] },\n \"extension-doctor\": { optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"strictExit\", \"failOnWarn\"] },\n \"extension-catalog\": { optional: [\"scope\", \"fields\"] },\n \"extension-adopt\": { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n \"extension-adopt-all\": { optional: [\"scope\"] },\n \"extension-activate\": { required: [\"target\"], optional: [\"scope\"] },\n \"extension-deactivate\": { required: [\"target\"], optional: [\"scope\"] },\n extension: {\n optional: [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n ],\n },\n \"package-init\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-install\": {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n \"package-uninstall\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-explore\": { optional: [\"scope\"] },\n \"package-manage\": { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n \"package-describe\": { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n \"package-reload\": { optional: [\"scope\", \"watch\"] },\n \"package-doctor\": { optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"strictExit\", \"failOnWarn\"] },\n \"package-catalog\": { optional: [\"scope\", \"fields\"] },\n \"package-adopt\": { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n \"package-adopt-all\": { optional: [\"scope\"] },\n \"package-activate\": { required: [\"target\"], optional: [\"scope\"] },\n \"package-deactivate\": { required: [\"target\"], optional: [\"scope\"] },\n package: {\n optional: [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n ],\n },\n install: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n upgrade: {\n optional: [\"target\", \"scope\", \"dryRun\", \"cliOnly\", \"packagesOnly\", \"repair\", \"tag\", \"packageName\"],\n },\n create: {\n required: [\"title\", \"description\", \"type\", \"status\", \"priority\", \"message\"],\n optional: CREATE_CONTRACT_PARAMETER_KEYS,\n },\n copy: { required: [\"id\"], optional: [\"title\", \"author\", \"message\"] },\n focus: { optional: [\"id\", \"clear\"], mutuallyExclusive: [[\"id\", \"clear\"]] },\n list: { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-all\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-draft\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-open\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-in-progress\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-blocked\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-closed\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-canceled\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },\n \"dedupe-audit\": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },\n guide: { optional: [\"list\", \"format\", \"depth\"] },\n context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n get: { required: [\"id\"], optional: [\"depth\", \"full\", \"fields\", \"tree\", \"treeDepth\", \"format\"] },\n search: {\n optional: SEARCH_CONTRACT_PARAMETER_KEYS,\n anyOfRequired: [[\"query\"], [\"keywords\"]],\n },\n next: { optional: NEXT_CONTRACT_PARAMETER_KEYS },\n reindex: { optional: [\"mode\", \"progress\"] },\n history: { required: [\"id\"], optional: [\"limit\", \"compact\", \"full\", \"diff\", \"verify\", \"format\"] },\n \"history-redact\": {\n required: [\"id\"],\n optional: [\"literal\", \"regex\", \"replacement\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n anyOfRequired: [[\"literal\"], [\"regex\"]],\n },\n \"history-repair\": {\n // Exactly one of `id` (single stream) or `all` (bulk drift repair) is required.\n optional: [\"id\", \"all\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n oneOfRequired: [[\"id\"], [\"all\"]],\n },\n \"history-compact\": {\n // Single-id mode (`id` + optional `before`) or bulk mode (any of `ids` /\n // `allOver` / `closed` / `allStreams`, with optional `minEntries`). Scan\n // selectors (`allOver` + `closed`/`allStreams`) legitimately combine, so the\n // mode/exclusivity contract is enforced at runtime by assertHistoryCompactTarget\n // rather than a one-of schema rule.\n optional: [\"id\", \"before\", \"ids\", \"allOver\", \"closed\", \"allStreams\", \"minEntries\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n schema: {\n required: [\"subcommand\"],\n // No --message: schema mutations write config files, not item history.\n optional: [\n \"name\",\n \"description\",\n \"defaultStatus\",\n \"folder\",\n \"alias\",\n \"role\",\n \"order\",\n \"fieldType\",\n \"commands\",\n \"cliFlag\",\n \"required\",\n \"requiredOnCreate\",\n \"allowUnset\",\n \"requiredTypes\",\n \"typePreset\",\n \"infer\",\n \"minCount\",\n \"apply\",\n \"author\",\n \"force\",\n ],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"add-type\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-type\", required: [\"name\"] },\n // show-status/add-status/remove-status pass the status id as `name`.\n { property: \"subcommand\", value: \"add-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-status\", required: [\"name\"] },\n // field subcommands pass the field key as `name`.\n { property: \"subcommand\", value: \"add-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-field\", required: [\"name\"] },\n // apply-preset passes the preset name as `typePreset`.\n { property: \"subcommand\", value: \"apply-preset\", required: [\"typePreset\"] },\n ],\n },\n profile: {\n required: [\"subcommand\"],\n // No --message: profile staging writes config/schema files, not item history.\n optional: [\"name\", \"dryRun\", \"author\", \"force\"],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"apply\", required: [\"name\"] },\n { property: \"subcommand\", value: \"lint\", required: [\"name\"] },\n ],\n },\n plan: {\n required: [\"subcommand\"],\n optional: [\n \"id\",\n \"stepRef\",\n \"reorderTo\",\n \"title\",\n \"description\",\n \"scope\",\n \"parent\",\n \"related\",\n \"blocks\",\n \"blockedBy\",\n \"harness\",\n \"mode\",\n \"resumeContext\",\n \"tags\",\n \"priority\",\n \"body\",\n \"claim\",\n \"fromSearch\",\n \"stepTitle\",\n \"step\",\n \"stepBody\",\n \"stepOwner\",\n \"stepStatus\",\n \"stepEvidence\",\n \"stepBlockedReason\",\n \"stepReplacement\",\n \"dependsOn\",\n \"link\",\n \"linkKind\",\n \"linkNote\",\n \"promoteToItemDep\",\n \"allowMultipleActive\",\n \"file\",\n \"test\",\n \"doc\",\n \"decisionText\",\n \"decision\",\n \"decisionRationale\",\n \"decisionEvidence\",\n \"discoveryText\",\n \"discovery\",\n \"validationText\",\n \"validation\",\n \"validationCommand\",\n \"validationExpected\",\n \"depth\",\n \"fields\",\n \"steps\",\n \"materializeType\",\n \"materializeParent\",\n \"materializeTags\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n activity: { optional: ACTIVITY_CONTRACT_PARAMETER_KEYS },\n restore: { required: [\"id\", \"target\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n update: { required: [\"id\"], optional: UPDATE_CONTRACT_PARAMETER_KEYS },\n \"update-many\": { optional: UPDATE_MANY_CONTRACT_PARAMETER_KEYS },\n normalize: { optional: NORMALIZE_CONTRACT_PARAMETER_KEYS },\n close: {\n required: [\"id\"],\n optional: [\n \"text\",\n \"reason\",\n \"closeReason\",\n \"duplicateOf\",\n \"validateClose\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"close-many\": { optional: CLOSE_MANY_CONTRACT_PARAMETER_KEYS },\n delete: { required: [\"id\"], optional: [\"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n append: { required: [\"id\", \"body\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n comments: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"stdin\", \"file\", \"edit\", \"delete\", \"limit\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n \"comments-audit\": {\n optional: [\n \"status\",\n \"type\",\n \"assignee\",\n \"assigneeFilter\",\n \"parent\",\n \"tag\",\n \"sprint\",\n \"release\",\n \"priority\",\n \"limitItems\",\n \"limit\",\n \"fullHistory\",\n \"latest\",\n ],\n },\n notes: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditNote\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n learnings: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditLearning\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n files: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"list\",\n // GH-170 (pm-pfnx): `addNote` is the MCP spelling of the CLI --note flag\n // (the shared `note` parameter is the array-typed create/update note\n // seed, so files/docs use a distinct single-string key).\n \"addNote\",\n \"discover\",\n \"apply\",\n \"discoveryNote\",\n \"appendStable\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n docs: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"addNote\",\n \"list\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n deps: { required: [\"id\"], optional: [\"format\", \"maxDepth\", \"collapse\", \"summary\"] },\n test: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addJson\",\n \"remove\",\n \"run\",\n \"match\",\n \"onlyIndex\",\n \"onlyLast\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"test-all\": {\n optional: [\n \"status\",\n \"limit\",\n \"offset\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ],\n },\n telemetry: {\n optional: [\"subcommand\", \"limit\"],\n },\n \"test-runs-list\": {\n optional: [\"status\", \"limit\"],\n },\n \"test-runs-status\": {\n required: [\"runId\"],\n },\n \"test-runs-logs\": {\n required: [\"runId\"],\n optional: [\"stream\", \"tail\"],\n },\n \"test-runs-stop\": {\n required: [\"runId\"],\n optional: [\"force\"],\n },\n \"test-runs-resume\": {\n required: [\"runId\"],\n optional: [\"author\"],\n },\n stats: { optional: [\"storage\", \"metadataCoverage\", \"fieldUtilization\", \"byAssignee\", \"byTag\", \"byPriority\", \"tagPrefix\"] },\n health: {\n optional: [\n \"strictDirectories\",\n \"strictExit\",\n \"failOnWarn\",\n \"checkOnly\",\n \"checkTelemetry\",\n \"noRefresh\",\n \"refreshVectors\",\n \"verboseStaleItems\",\n \"brief\",\n \"summary\",\n \"skipVectors\",\n \"skipIntegrity\",\n \"skipDrift\",\n \"full\",\n ],\n },\n validate: {\n optional: [\n \"checkMetadata\",\n \"metadataProfile\",\n \"checkResolution\",\n \"checkLifecycle\",\n \"checkStaleBlockers\",\n \"dependencyCycleSeverity\",\n \"parentCycleSeverity\",\n \"checkFiles\",\n \"scanMode\",\n \"includePmInternals\",\n \"verboseFileLists\",\n \"verboseDiagnostics\",\n \"allAffectedIds\",\n \"strictExit\",\n \"failOnWarn\",\n \"fixHints\",\n \"autoFix\",\n \"dryRun\",\n \"fixScope\",\n \"pruneMissing\",\n \"checkHistoryDrift\",\n \"checkCommandReferences\",\n ],\n },\n gc: { optional: [\"dryRun\", \"gcScope\"] },\n contracts: { optional: [\"contractAction\", \"command\", \"schemaOnly\", \"flagsOnly\", \"availabilityOnly\", \"runtimeOnly\", \"activeOnly\", \"full\"] },\n completion: { required: [\"shell\"], optional: [\"eagerTags\"] },\n claim: { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n release: { required: [\"id\"], optional: [\"allowAuditRelease\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n \"start-task\": { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"pause-task\": { required: [\"id\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"close-task\": { required: [\"id\"], optional: [\"text\", \"validateClose\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n};\n\nexport const PM_TOOL_ACTION_PARAMETER_CONTRACTS: Readonly<Record<PmToolAction, PmActionSchemaContract>> =\n Object.freeze(\n Object.fromEntries(PM_TOOL_ACTIONS.map((action) => [action, PM_TOOL_ACTION_SCHEMA_CONTRACTS[action]])),\n ) as Readonly<Record<PmToolAction, PmActionSchemaContract>>;\n\nfunction fallbackToolParameterDescription(key: string): string {\n return key\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/[_-]/g, \" \")\n .trim()\n .replace(/^./, (value) => value.toUpperCase())\n .concat(\".\");\n}\n\nfunction decorateToolParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = PM_TOOL_PARAMETER_METADATA[key];\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterMetadata(\n action: PmToolAction,\n key: string,\n): { description: string; examples?: unknown[] } | undefined {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_METADATA, key)) {\n return PLAN_ACTION_PARAMETER_METADATA[key];\n }\n const actionOverrides = PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA[action];\n if (actionOverrides && Object.prototype.hasOwnProperty.call(actionOverrides, key)) {\n return actionOverrides[key];\n }\n return PM_TOOL_PARAMETER_METADATA[key];\n}\n\nfunction decorateActionScopedToolParameterDefinition(\n action: PmToolAction,\n key: string,\n definition: unknown,\n): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = actionScopedToolParameterMetadata(action, key);\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterDefinition(action: PmToolAction, key: string): unknown {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_PROPERTIES, key)) {\n return PLAN_ACTION_PARAMETER_PROPERTIES[key];\n }\n if ((action === \"get\" || action === \"history\" || action === \"search\") && key === \"format\") {\n return { type: \"string\", enum: [\"json\", \"toon\"] };\n }\n return PM_TOOL_PARAMETER_PROPERTIES[key];\n}\n\n/**\n * Build the `properties` map for one action-scoped schema: the fixed `action`\n * literal followed by every allowed parameter that resolves to a concrete\n * definition, each decorated with its action-scoped description and examples.\n */\nfunction buildActionScopedSchemaProperties(action: PmToolAction, allowedKeys: string[]): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n const: action,\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n };\n for (const key of allowedKeys) {\n if (key === \"action\") {\n continue;\n }\n const definition = actionScopedToolParameterDefinition(action, key);\n if (definition) {\n properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);\n }\n }\n return properties;\n}\n\n/**\n * Build the `oneOf` branches for an action whose contract requires exactly one of\n * several field groups. Each branch requires its own group and — when sibling\n * groups exist — forbids any field drawn from them, so the schema rejects the same\n * overlapping combinations the runtime rejects; `history-repair`'s `all` branch\n * additionally pins `all` to the literal `true`.\n */\nfunction buildOneOfSchemaEntries(\n action: PmToolAction,\n oneOfRequiredGroups: Array<string[]>,\n): Array<Record<string, unknown>> {\n const allOneOfFields = oneOfRequiredGroups.flat();\n return oneOfRequiredGroups.map((requiredFields) => {\n const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));\n return {\n required: [...requiredFields],\n ...(otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {}),\n ...(action === \"history-repair\" && requiredFields.includes(\"all\") ? { properties: { all: { const: true } } } : {}),\n };\n });\n}\n\n/**\n * Build the consolidated `allOf` constraint list for an action's contract,\n * appending branches in a fixed order — conditional-required (`if`/`then`), then\n * dependent any-of-required, then mutually-exclusive (`not`/`required`) — so a\n * given contract always serializes to a byte-identical schema. Returns an empty\n * array when the contract declares none of these constraints, letting the caller\n * omit the `allOf` key entirely.\n */\nfunction buildActionScopedAllOf(contract: PmActionSchemaContract): Array<Record<string, unknown>> {\n const allOf: Array<Record<string, unknown>> = [];\n if (contract.conditionalRequired && contract.conditionalRequired.length > 0) {\n for (const entry of contract.conditionalRequired) {\n allOf.push({\n if: {\n properties: {\n [entry.property]: { const: entry.value },\n },\n required: [entry.property],\n },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n required: entry.required,\n },\n });\n }\n }\n if (contract.dependentAnyOfRequired && contract.dependentAnyOfRequired.length > 0) {\n for (const entry of contract.dependentAnyOfRequired) {\n allOf.push({\n if: { required: [entry.property] },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n anyOf: entry.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n })),\n },\n });\n }\n }\n if (contract.mutuallyExclusive && contract.mutuallyExclusive.length > 0) {\n for (const group of contract.mutuallyExclusive) {\n allOf.push({ not: { required: toSchemaKeyList(group) } });\n }\n }\n return allOf;\n}\n\nfunction buildActionScopedToolSchema(action: PmToolAction): Record<string, unknown> {\n const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];\n const required = toSchemaKeyList(contract.required ?? []);\n const optional = toSchemaKeyList(contract.optional ?? []);\n const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];\n const allowedKeys = toSchemaKeyList([\"action\", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);\n const schema: Record<string, unknown> = {\n type: \"object\",\n additionalProperties: false,\n required: [\"action\", ...required],\n title: `pm action \"${action}\" parameters`,\n properties: buildActionScopedSchemaProperties(action, allowedKeys),\n };\n if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {\n schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n }));\n }\n if (contract.oneOfRequired && contract.oneOfRequired.length > 0) {\n schema.oneOf = buildOneOfSchemaEntries(action, contract.oneOfRequired);\n }\n const allOf = buildActionScopedAllOf(contract);\n if (allOf.length > 0) {\n schema.allOf = allOf;\n }\n return schema;\n}\n\n// Building the full MCP tool-parameter schemas (one variant per action) is only\n// needed by the MCP server, the `pm contracts` command, and SDK consumers — never\n// on the hot CLI path that imports this module for flag contracts. Wrap them in a\n// memoized lazy Proxy so the build is deferred until first property access and the\n// object API (`.type`, `.oneOf`, spread, JSON.stringify) stays identical.\nfunction createLazyContractSchema(\n build: () => Record<string, unknown>,\n): Record<string, unknown> {\n let value: Record<string, unknown> | undefined;\n const resolve = (): Record<string, unknown> => (value ??= build());\n return new Proxy({} as Record<string, unknown>, {\n get: (_target, prop) => resolve()[prop as string],\n has: (_target, prop) => prop in resolve(),\n ownKeys: () => Reflect.ownKeys(resolve()),\n getOwnPropertyDescriptor: (_target, prop) => {\n const descriptor = Reflect.getOwnPropertyDescriptor(resolve(), prop);\n if (descriptor) {\n descriptor.configurable = true;\n }\n return descriptor;\n },\n });\n}\n\n/**\n * Canonical version of the action-scoped strict MCP tool-parameters schema\n * (`PM_TOOL_PARAMETERS_SCHEMA`). Exported as the single source of truth so the\n * MCP server, the `pm contracts` command, SDK consumers, and the contract tests\n * all bind to one constant instead of re-typing the `\"4.0.2\"` literal (pm-r9sz).\n * Bump the patch/minor for additive, backward-compatible schema changes; bump\n * the MAJOR for breaking changes — the major also drives the `$id`\n * `tool-parameters-v{major}` slug, so the two never drift.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_VERSION = \"4.0.6\" as const;\n\n/**\n * Major component of {@link PM_TOOL_PARAMETERS_SCHEMA_VERSION}, used to build the\n * schema `$id` slug so a breaking version bump renames the document in lockstep.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_MAJOR = PM_TOOL_PARAMETERS_SCHEMA_VERSION.split(\".\")[0];\n\n/**\n * Version of the provider-compatible flat tool-parameters schema\n * (`PM_PROVIDER_TOOL_PARAMETERS_SCHEMA`). Tracked separately from the strict\n * schema because the flat projection evolves independently.\n */\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION = \"1.0.0\" as const;\n\nexport const PM_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(() => ({\n $schema: \"https://json-schema.org/draft/2020-12/schema\",\n $id: `https://schema.unbrained.dev/pm-cli/tool-parameters-v${PM_TOOL_PARAMETERS_SCHEMA_MAJOR}.schema.json`,\n title: \"pm-cli tool parameters (action-scoped strict schema)\",\n \"x-schema-version\": PM_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n oneOf: PM_TOOL_ACTIONS.map((action) => buildActionScopedToolSchema(action)),\n}));\n\nfunction toProviderCompatibleParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const decorated = decorateToolParameterDefinition(key, definition);\n if (typeof decorated.type === \"string\") {\n return decorated;\n }\n const anyOf = Array.isArray(decorated.anyOf) ? (decorated.anyOf as Array<Record<string, unknown>>) : [];\n const firstTypedVariant = anyOf.find((variant) => typeof variant.type === \"string\");\n if (firstTypedVariant) {\n const { anyOf: _anyOf, ...rest } = decorated;\n // Spread the whole typed variant (type plus any enum/minimum/maximum/pattern\n // constraints) so the flat provider schema keeps the variant's validation,\n // then let the decorated top-level fields (description, examples) win.\n return {\n ...firstTypedVariant,\n ...rest,\n };\n }\n const { anyOf: _anyOf, ...rest } = decorated;\n return {\n ...rest,\n type: \"string\",\n };\n}\n\nfunction buildProviderCompatibleToolSchema(): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n options: {\n type: \"object\",\n additionalProperties: true,\n description: \"Advanced command options object forwarded to the selected pm action.\",\n },\n };\n for (const key of Object.keys(PM_TOOL_PARAMETER_PROPERTIES).sort()) {\n properties[key] = toProviderCompatibleParameterDefinition(key, PM_TOOL_PARAMETER_PROPERTIES[key]);\n }\n return {\n title: \"pm-cli tool parameters (provider-compatible flat schema)\",\n \"x-schema-version\": PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n additionalProperties: false,\n required: [\"action\"],\n properties,\n };\n}\n\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(\n buildProviderCompatibleToolSchema,\n);\n\nexport const _testOnlyCliContracts = {\n buildActionScopedToolSchema,\n buildProviderCompatibleToolSchema,\n decorateActionScopedToolParameterDefinition,\n decorateToolParameterDefinition,\n toolActionSchemaContracts: PM_TOOL_ACTION_SCHEMA_CONTRACTS,\n toolParameterMetadata: PM_TOOL_PARAMETER_METADATA,\n toProviderCompatibleParameterDefinition,\n toUniqueFlagContracts,\n withFlagAliasMetadata,\n};\n"],"names":[],"mappings":"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","debugId":"5c1fba35-3cb1-5029-847a-047dabe7014e"}
@@ -353,7 +353,10 @@ export interface ExtensionBlueprintLintResult {
353
353
  * `blueprint.manifest.capabilities`; with neither, capability reconciliation is
354
354
  * skipped and a single `manifest_capabilities_absent` warning suggests adopting
355
355
  * {@link deriveExtensionCapabilities}. Like {@link describeExtensionBlueprint},
356
- * the imperative `activate` escape hatch is invisible to this static check.
356
+ * the imperative `activate` escape hatch is invisible to this static check. The
357
+ * findings are assembled from the per-dimension collectors
358
+ * ({@link collectBlueprintCapabilityFindings}, {@link collectBlueprintCommandFindings},
359
+ * {@link collectBlueprintEmptySurfaceFindings}) in that detection order.
357
360
  */
358
361
  export declare function lintExtensionBlueprint(blueprint: ExtensionBlueprint, options?: LintExtensionBlueprintOptions): ExtensionBlueprintLintResult;
359
362
  /**