@unbrained/pm-cli 2026.6.30 → 2026.7.2

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 (628) hide show
  1. package/AGENTS.md +2 -0
  2. package/CHANGELOG.md +26 -0
  3. package/dist/cli/bootstrap-args.js +89 -79
  4. package/dist/cli/bootstrap-args.js.map +1 -1
  5. package/dist/cli/commander-usage.d.ts +2 -0
  6. package/dist/cli/commander-usage.js +58 -47
  7. package/dist/cli/commander-usage.js.map +1 -1
  8. package/dist/cli/commands/aggregate.js +102 -79
  9. package/dist/cli/commands/aggregate.js.map +1 -1
  10. package/dist/cli/commands/calendar.js +339 -303
  11. package/dist/cli/commands/calendar.js.map +1 -1
  12. package/dist/cli/commands/close-many.js +89 -68
  13. package/dist/cli/commands/close-many.js.map +1 -1
  14. package/dist/cli/commands/close.js +157 -129
  15. package/dist/cli/commands/close.js.map +1 -1
  16. package/dist/cli/commands/comments-audit.js +50 -42
  17. package/dist/cli/commands/comments-audit.js.map +1 -1
  18. package/dist/cli/commands/config.d.ts +2 -0
  19. package/dist/cli/commands/config.js +443 -879
  20. package/dist/cli/commands/config.js.map +1 -1
  21. package/dist/cli/commands/context.js +365 -287
  22. package/dist/cli/commands/context.js.map +1 -1
  23. package/dist/cli/commands/contracts.js +352 -238
  24. package/dist/cli/commands/contracts.js.map +1 -1
  25. package/dist/cli/commands/create.js +483 -434
  26. package/dist/cli/commands/create.js.map +1 -1
  27. package/dist/cli/commands/dedupe-audit.js +46 -39
  28. package/dist/cli/commands/dedupe-audit.js.map +1 -1
  29. package/dist/cli/commands/dedupe-merge.js +88 -69
  30. package/dist/cli/commands/dedupe-merge.js.map +1 -1
  31. package/dist/cli/commands/extension/bundled-catalog.js +59 -46
  32. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  33. package/dist/cli/commands/extension/doctor.js +129 -78
  34. package/dist/cli/commands/extension/doctor.js.map +1 -1
  35. package/dist/cli/commands/extension/managed-state.js +101 -57
  36. package/dist/cli/commands/extension/managed-state.js.map +1 -1
  37. package/dist/cli/commands/extension/scaffold.d.ts +7 -0
  38. package/dist/cli/commands/extension/scaffold.js +214 -186
  39. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  40. package/dist/cli/commands/extension.d.ts +6 -1
  41. package/dist/cli/commands/extension.js +1034 -902
  42. package/dist/cli/commands/extension.js.map +1 -1
  43. package/dist/cli/commands/get.js +114 -81
  44. package/dist/cli/commands/get.js.map +1 -1
  45. package/dist/cli/commands/health.d.ts +17 -0
  46. package/dist/cli/commands/health.js +446 -307
  47. package/dist/cli/commands/health.js.map +1 -1
  48. package/dist/cli/commands/history-compact.js +209 -140
  49. package/dist/cli/commands/history-compact.js.map +1 -1
  50. package/dist/cli/commands/history-redact.js +162 -119
  51. package/dist/cli/commands/history-redact.js.map +1 -1
  52. package/dist/cli/commands/history-repair.js +120 -85
  53. package/dist/cli/commands/history-repair.js.map +1 -1
  54. package/dist/cli/commands/init.d.ts +8 -2
  55. package/dist/cli/commands/init.js +263 -162
  56. package/dist/cli/commands/init.js.map +1 -1
  57. package/dist/cli/commands/list-filter-shared.js +55 -48
  58. package/dist/cli/commands/list-filter-shared.js.map +1 -1
  59. package/dist/cli/commands/list.js +152 -102
  60. package/dist/cli/commands/list.js.map +1 -1
  61. package/dist/cli/commands/next.js +49 -32
  62. package/dist/cli/commands/next.js.map +1 -1
  63. package/dist/cli/commands/plan.js +373 -298
  64. package/dist/cli/commands/plan.js.map +1 -1
  65. package/dist/cli/commands/recurrence-parsers.js +43 -25
  66. package/dist/cli/commands/recurrence-parsers.js.map +1 -1
  67. package/dist/cli/commands/reindex.d.ts +21 -5
  68. package/dist/cli/commands/reindex.js +345 -205
  69. package/dist/cli/commands/reindex.js.map +1 -1
  70. package/dist/cli/commands/restore.d.ts +8 -7
  71. package/dist/cli/commands/restore.js +105 -69
  72. package/dist/cli/commands/restore.js.map +1 -1
  73. package/dist/cli/commands/schema.js +33 -30
  74. package/dist/cli/commands/schema.js.map +1 -1
  75. package/dist/cli/commands/search.d.ts +10 -2
  76. package/dist/cli/commands/search.js +595 -536
  77. package/dist/cli/commands/search.js.map +1 -1
  78. package/dist/cli/commands/telemetry.js +98 -87
  79. package/dist/cli/commands/telemetry.js.map +1 -1
  80. package/dist/cli/commands/test-all.js +237 -168
  81. package/dist/cli/commands/test-all.js.map +1 -1
  82. package/dist/cli/commands/test.d.ts +6 -5
  83. package/dist/cli/commands/test.js +530 -464
  84. package/dist/cli/commands/test.js.map +1 -1
  85. package/dist/cli/commands/update-many.js +57 -42
  86. package/dist/cli/commands/update-many.js.map +1 -1
  87. package/dist/cli/commands/update.d.ts +1 -1
  88. package/dist/cli/commands/update.js +764 -747
  89. package/dist/cli/commands/update.js.map +1 -1
  90. package/dist/cli/commands/validate.d.ts +18 -1
  91. package/dist/cli/commands/validate.js +466 -343
  92. package/dist/cli/commands/validate.js.map +1 -1
  93. package/dist/cli/error-guidance.js +399 -357
  94. package/dist/cli/error-guidance.js.map +1 -1
  95. package/dist/cli/extension-command-options.js +48 -21
  96. package/dist/cli/extension-command-options.js.map +1 -1
  97. package/dist/cli/main.d.ts +47 -0
  98. package/dist/cli/main.js +428 -341
  99. package/dist/cli/main.js.map +1 -1
  100. package/dist/cli/migration-gates.js +22 -45
  101. package/dist/cli/migration-gates.js.map +1 -1
  102. package/dist/cli/register-list-query.js +94 -105
  103. package/dist/cli/register-list-query.js.map +1 -1
  104. package/dist/cli/register-mutation.js +400 -416
  105. package/dist/cli/register-mutation.js.map +1 -1
  106. package/dist/cli/register-operations.js +86 -66
  107. package/dist/cli/register-operations.js.map +1 -1
  108. package/dist/cli/register-setup.js +120 -101
  109. package/dist/cli/register-setup.js.map +1 -1
  110. package/dist/cli/registration-helpers.js +117 -122
  111. package/dist/cli/registration-helpers.js.map +1 -1
  112. package/dist/cli-bundle/chunks/{activity-MVSEND6D.js → activity-CUC4JY3U.js} +9 -9
  113. package/dist/cli-bundle/chunks/activity-WEIEMM73.js +16 -0
  114. package/dist/cli-bundle/chunks/{aggregate-MOC4TR2G.js → aggregate-DKUTRY6R.js} +109 -85
  115. package/dist/cli-bundle/chunks/aggregate-DKUTRY6R.js.map +1 -0
  116. package/dist/cli-bundle/chunks/{aggregate-XJHLZQ5X.js → aggregate-SW5PNGCS.js} +108 -84
  117. package/dist/cli-bundle/chunks/{aggregate-XJHLZQ5X.js.map → aggregate-SW5PNGCS.js.map} +2 -2
  118. package/dist/cli-bundle/chunks/{append-KDHT4GHI.js → append-H32VOR2Y.js} +6 -6
  119. package/dist/cli-bundle/chunks/{append-LEDBAM3K.js → append-UBM632FK.js} +6 -6
  120. package/dist/cli-bundle/chunks/{chunk-Z55WX4IQ.js → chunk-2227673O.js} +158 -114
  121. package/dist/cli-bundle/chunks/chunk-2227673O.js.map +1 -0
  122. package/dist/cli-bundle/chunks/{chunk-SJZTPVFT.js → chunk-2ASNV4DH.js} +4 -4
  123. package/dist/cli-bundle/chunks/{chunk-JVQ7UOYC.js → chunk-2CHRYUXL.js} +2 -2
  124. package/dist/cli-bundle/chunks/{chunk-QE5UFCCO.js → chunk-2KWL5NPW.js} +42 -27
  125. package/dist/cli-bundle/chunks/chunk-2KWL5NPW.js.map +1 -0
  126. package/dist/cli-bundle/chunks/{chunk-ZEATCVAC.js → chunk-36UGKF4O.js} +21 -29
  127. package/dist/cli-bundle/chunks/chunk-36UGKF4O.js.map +7 -0
  128. package/dist/cli-bundle/chunks/{chunk-JZG5ADVE.js → chunk-3AZUFQK6.js} +1103 -963
  129. package/dist/cli-bundle/chunks/chunk-3AZUFQK6.js.map +1 -0
  130. package/dist/cli-bundle/chunks/{chunk-DRPF274X.js → chunk-3LCUASYG.js} +2 -2
  131. package/dist/cli-bundle/chunks/{chunk-JJ4SG243.js → chunk-3Q2HBMTI.js} +2 -2
  132. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +87 -0
  133. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +7 -0
  134. package/dist/cli-bundle/chunks/{chunk-GF7EAR22.js → chunk-4NUOWFBT.js} +109 -72
  135. package/dist/cli-bundle/chunks/chunk-4NUOWFBT.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-TQ6E76BE.js → chunk-55XRYWEG.js} +6 -6
  137. package/dist/cli-bundle/chunks/{chunk-5IRVSKPS.js → chunk-5GVTFFTC.js} +150 -224
  138. package/dist/cli-bundle/chunks/chunk-5GVTFFTC.js.map +1 -0
  139. package/dist/cli-bundle/chunks/{chunk-CHRNYKNI.js → chunk-5PGBHRY3.js} +41 -26
  140. package/dist/cli-bundle/chunks/chunk-5PGBHRY3.js.map +7 -0
  141. package/dist/cli-bundle/chunks/{chunk-53ARXF2O.js → chunk-66Z3X7ZG.js} +261 -161
  142. package/dist/cli-bundle/chunks/chunk-66Z3X7ZG.js.map +7 -0
  143. package/dist/cli-bundle/chunks/{chunk-A3UNLXNJ.js → chunk-6ITZLD4T.js} +738 -688
  144. package/dist/cli-bundle/chunks/chunk-6ITZLD4T.js.map +7 -0
  145. package/dist/cli-bundle/chunks/{chunk-JTRKME24.js → chunk-6YCYF2AI.js} +262 -162
  146. package/dist/cli-bundle/chunks/chunk-6YCYF2AI.js.map +1 -0
  147. package/dist/cli-bundle/chunks/{chunk-RM6MHL6A.js → chunk-6ZMBJRDJ.js} +580 -467
  148. package/dist/cli-bundle/chunks/chunk-6ZMBJRDJ.js.map +7 -0
  149. package/dist/cli-bundle/chunks/{chunk-RPRW26NG.js → chunk-7MYWF4ZX.js} +110 -73
  150. package/dist/cli-bundle/chunks/chunk-7MYWF4ZX.js.map +1 -0
  151. package/dist/cli-bundle/chunks/{chunk-SNUK7H5J.js → chunk-7NSPKJUS.js} +716 -606
  152. package/dist/cli-bundle/chunks/chunk-7NSPKJUS.js.map +7 -0
  153. package/dist/cli-bundle/chunks/{chunk-KYDYQMNW.js → chunk-7TH5NMVB.js} +95 -53
  154. package/dist/cli-bundle/chunks/chunk-7TH5NMVB.js.map +7 -0
  155. package/dist/cli-bundle/chunks/{chunk-VD3LKZFX.js → chunk-7W4H4K26.js} +739 -689
  156. package/dist/cli-bundle/chunks/chunk-7W4H4K26.js.map +1 -0
  157. package/dist/cli-bundle/chunks/{chunk-IBU2LLWM.js → chunk-A6VOGKBA.js} +6 -6
  158. package/dist/cli-bundle/chunks/{chunk-MLHX6DN5.js → chunk-AIAIXG7I.js} +2 -2
  159. package/dist/cli-bundle/chunks/{chunk-NIBP3I7A.js → chunk-AJEBCRIY.js} +128 -126
  160. package/dist/cli-bundle/chunks/chunk-AJEBCRIY.js.map +1 -0
  161. package/dist/cli-bundle/chunks/{chunk-VZDBVEZR.js → chunk-B4O5S7I3.js} +79 -57
  162. package/dist/cli-bundle/chunks/{chunk-VZDBVEZR.js.map → chunk-B4O5S7I3.js.map} +2 -2
  163. package/dist/cli-bundle/chunks/{chunk-5ABGFWR4.js → chunk-BTX5MIQF.js} +2 -2
  164. package/dist/cli-bundle/chunks/chunk-BVZZN2LH.js +809 -0
  165. package/dist/cli-bundle/chunks/chunk-BVZZN2LH.js.map +7 -0
  166. package/dist/cli-bundle/chunks/{chunk-3JWQCLR5.js → chunk-CYBDUHNO.js} +3 -3
  167. package/dist/cli-bundle/chunks/{chunk-WFJZDUM7.js → chunk-CZPVDLD2.js} +4 -4
  168. package/dist/cli-bundle/chunks/{chunk-FDEVKXC4.js → chunk-EMPGXBUF.js} +22 -30
  169. package/dist/cli-bundle/chunks/chunk-EMPGXBUF.js.map +1 -0
  170. package/dist/cli-bundle/chunks/{chunk-HUYYMTGW.js → chunk-EUKTMRN3.js} +2 -2
  171. package/dist/cli-bundle/chunks/{chunk-EVWYAG46.js → chunk-FFOQHGNH.js} +6 -6
  172. package/dist/cli-bundle/chunks/{chunk-IF4ERU6A.js → chunk-GFMSLORL.js} +6 -6
  173. package/dist/cli-bundle/chunks/{chunk-IZQOJR2B.js → chunk-GRRG3MCT.js} +198 -189
  174. package/dist/cli-bundle/chunks/chunk-GRRG3MCT.js.map +7 -0
  175. package/dist/cli-bundle/chunks/{chunk-IDYCAK35.js → chunk-H4GRLYJS.js} +3 -3
  176. package/dist/cli-bundle/chunks/{chunk-VMY7MZEM.js → chunk-HQTPRV4D.js} +6 -6
  177. package/dist/cli-bundle/chunks/{chunk-CY5IJMUM.js → chunk-I66WE2HE.js} +712 -602
  178. package/dist/cli-bundle/chunks/chunk-I66WE2HE.js.map +1 -0
  179. package/dist/cli-bundle/chunks/{chunk-ZFIEEDTJ.js → chunk-IEEJQCZ4.js} +509 -363
  180. package/dist/cli-bundle/chunks/chunk-IEEJQCZ4.js.map +7 -0
  181. package/dist/cli-bundle/chunks/{chunk-DU66JUGT.js → chunk-IG5JYZGU.js} +488 -420
  182. package/dist/cli-bundle/chunks/chunk-IG5JYZGU.js.map +7 -0
  183. package/dist/cli-bundle/chunks/{chunk-7L6TXOOC.js → chunk-JMK5GCK2.js} +2 -2
  184. package/dist/cli-bundle/chunks/{chunk-LBH7UYKY.js → chunk-JXAUVO6X.js} +258 -169
  185. package/dist/cli-bundle/chunks/{chunk-LBH7UYKY.js.map → chunk-JXAUVO6X.js.map} +2 -2
  186. package/dist/cli-bundle/chunks/{chunk-KRASIL6M.js → chunk-K2VYLVX4.js} +2 -2
  187. package/dist/cli-bundle/chunks/{chunk-4YIMPANT.js → chunk-KCO2EAN5.js} +3 -3
  188. package/dist/cli-bundle/chunks/{chunk-T7ZMQI4J.js → chunk-KIYCOJ63.js} +198 -189
  189. package/dist/cli-bundle/chunks/chunk-KIYCOJ63.js.map +1 -0
  190. package/dist/cli-bundle/chunks/{chunk-D6USKAMA.js → chunk-KLXF7NCC.js} +2 -2
  191. package/dist/cli-bundle/chunks/{chunk-V3KLX7U7.js → chunk-KN3URLKS.js} +510 -364
  192. package/dist/cli-bundle/chunks/chunk-KN3URLKS.js.map +1 -0
  193. package/dist/cli-bundle/chunks/{chunk-OB3RJV5F.js → chunk-LRKMWUUV.js} +2 -2
  194. package/dist/cli-bundle/chunks/{chunk-74PUWBGN.js → chunk-LTRAF2D7.js} +3 -3
  195. package/dist/cli-bundle/chunks/{chunk-5T6WPLRO.js → chunk-MNBPX5JS.js} +394 -354
  196. package/dist/cli-bundle/chunks/chunk-MNBPX5JS.js.map +7 -0
  197. package/dist/cli-bundle/chunks/{chunk-4TXTVZL3.js → chunk-MRD4T5LF.js} +2 -2
  198. package/dist/cli-bundle/chunks/{chunk-E2Q2ULMR.js → chunk-N2JSWVWG.js} +4 -4
  199. package/dist/cli-bundle/chunks/{chunk-7WDETKGP.js → chunk-N3QCJS4M.js} +1105 -965
  200. package/dist/cli-bundle/chunks/chunk-N3QCJS4M.js.map +7 -0
  201. package/dist/cli-bundle/chunks/{chunk-KGQ3W65B.js → chunk-NRZS637N.js} +258 -169
  202. package/dist/cli-bundle/chunks/chunk-NRZS637N.js.map +1 -0
  203. package/dist/cli-bundle/chunks/chunk-OTUJZKGI.js +799 -0
  204. package/dist/cli-bundle/chunks/chunk-OTUJZKGI.js.map +1 -0
  205. package/dist/cli-bundle/chunks/{chunk-ZIE6WXJ2.js → chunk-Q6K2OACU.js} +153 -90
  206. package/dist/cli-bundle/chunks/chunk-Q6K2OACU.js.map +1 -0
  207. package/dist/cli-bundle/chunks/{chunk-K46GQ265.js → chunk-Q6NXOHS6.js} +489 -421
  208. package/dist/cli-bundle/chunks/chunk-Q6NXOHS6.js.map +1 -0
  209. package/dist/cli-bundle/chunks/{chunk-7RIJGN4R.js → chunk-QH3FSKRJ.js} +2 -2
  210. package/dist/cli-bundle/chunks/{chunk-UB3V5WUI.js → chunk-RM37OPYK.js} +394 -354
  211. package/dist/cli-bundle/chunks/chunk-RM37OPYK.js.map +1 -0
  212. package/dist/cli-bundle/chunks/{chunk-OUQ5JEFM.js → chunk-S62UANU7.js} +3 -3
  213. package/dist/cli-bundle/chunks/{chunk-NO6Y6FB2.js → chunk-SPM2XLWI.js} +37 -28
  214. package/dist/cli-bundle/chunks/chunk-SPM2XLWI.js.map +7 -0
  215. package/dist/cli-bundle/chunks/{chunk-DORJSBGJ.js → chunk-SYNKD3ZG.js} +127 -125
  216. package/dist/cli-bundle/chunks/chunk-SYNKD3ZG.js.map +7 -0
  217. package/dist/cli-bundle/chunks/{chunk-6YRAMXRS.js → chunk-SYVUU7EK.js} +581 -468
  218. package/dist/cli-bundle/chunks/chunk-SYVUU7EK.js.map +1 -0
  219. package/dist/cli-bundle/chunks/{chunk-D5LYZVGB.js → chunk-TPOFWBMY.js} +95 -53
  220. package/dist/cli-bundle/chunks/chunk-TPOFWBMY.js.map +1 -0
  221. package/dist/cli-bundle/chunks/{chunk-IHXXUIXS.js → chunk-TTHCEV5Q.js} +92 -77
  222. package/dist/cli-bundle/chunks/chunk-TTHCEV5Q.js.map +1 -0
  223. package/dist/cli-bundle/chunks/{chunk-DLDCPF5X.js → chunk-U2BEEM2X.js} +3 -3
  224. package/dist/cli-bundle/chunks/{chunk-Z5BM2FKQ.js → chunk-UGLU6Q2I.js} +91 -76
  225. package/dist/cli-bundle/chunks/chunk-UGLU6Q2I.js.map +7 -0
  226. package/dist/cli-bundle/chunks/{chunk-73PTKMAE.js → chunk-UT73HUPC.js} +3 -3
  227. package/dist/cli-bundle/chunks/{chunk-F7G53BOA.js → chunk-UTSH5GWX.js} +4 -4
  228. package/dist/cli-bundle/chunks/{chunk-AWN4PPH5.js → chunk-UWKEJMZU.js} +157 -113
  229. package/dist/cli-bundle/chunks/chunk-UWKEJMZU.js.map +7 -0
  230. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +84 -0
  231. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +1 -0
  232. package/dist/cli-bundle/chunks/{chunk-KTMMTOIP.js → chunk-W47SML5B.js} +152 -89
  233. package/dist/cli-bundle/chunks/chunk-W47SML5B.js.map +7 -0
  234. package/dist/cli-bundle/chunks/{chunk-UFKNF23C.js → chunk-WJAMWAHZ.js} +157 -118
  235. package/dist/cli-bundle/chunks/chunk-WJAMWAHZ.js.map +7 -0
  236. package/dist/cli-bundle/chunks/{chunk-HIBK6H4S.js → chunk-XCHUVHKU.js} +685 -544
  237. package/dist/cli-bundle/chunks/chunk-XCHUVHKU.js.map +1 -0
  238. package/dist/cli-bundle/chunks/{chunk-DJDXAU74.js → chunk-XEWQKDYZ.js} +685 -544
  239. package/dist/cli-bundle/chunks/chunk-XEWQKDYZ.js.map +7 -0
  240. package/dist/cli-bundle/chunks/{chunk-BOWQWXLI.js → chunk-XTHQWXVC.js} +158 -119
  241. package/dist/cli-bundle/chunks/chunk-XTHQWXVC.js.map +1 -0
  242. package/dist/cli-bundle/chunks/{chunk-6T5ZIWBS.js → chunk-XWGEMNBR.js} +150 -224
  243. package/dist/cli-bundle/chunks/chunk-XWGEMNBR.js.map +7 -0
  244. package/dist/cli-bundle/chunks/{chunk-JIP67N2K.js → chunk-Y4NRKBFW.js} +3 -3
  245. package/dist/cli-bundle/chunks/{chunk-WTRUDJ3R.js → chunk-YLZZ6T54.js} +38 -29
  246. package/dist/cli-bundle/chunks/chunk-YLZZ6T54.js.map +1 -0
  247. package/dist/cli-bundle/chunks/{chunk-FBZ5XAAF.js → chunk-YPKFV2JR.js} +6 -6
  248. package/dist/cli-bundle/chunks/{chunk-OKQ22KTH.js → chunk-Z4DGFQDH.js} +80 -58
  249. package/dist/cli-bundle/chunks/{chunk-OKQ22KTH.js.map → chunk-Z4DGFQDH.js.map} +1 -1
  250. package/dist/cli-bundle/chunks/{chunk-BN3CWK6G.js → chunk-ZNHEYCDD.js} +2 -2
  251. package/dist/cli-bundle/chunks/{chunk-YEDFE4DC.js → chunk-ZNT7KEWE.js} +2 -2
  252. package/dist/cli-bundle/chunks/{claim-HMCLSLUE.js → claim-SENTPZBN.js} +8 -8
  253. package/dist/cli-bundle/chunks/{claim-6NINZYB3.js → claim-Z7MEQCBT.js} +8 -8
  254. package/dist/cli-bundle/chunks/{close-OP3LK7Z2.js → close-424MX4CU.js} +7 -7
  255. package/dist/cli-bundle/chunks/close-YCWQQPDS.js +14 -0
  256. package/dist/cli-bundle/chunks/{close-many-CXJBOWWY.js → close-many-2IV4J2TR.js} +103 -82
  257. package/dist/cli-bundle/chunks/close-many-2IV4J2TR.js.map +1 -0
  258. package/dist/cli-bundle/chunks/{close-many-BFMP6HHK.js → close-many-SWY34BII.js} +102 -81
  259. package/dist/cli-bundle/chunks/close-many-SWY34BII.js.map +7 -0
  260. package/dist/cli-bundle/chunks/{comments-ETHABIY6.js → comments-4FGNTSNV.js} +8 -8
  261. package/dist/cli-bundle/chunks/{comments-MU2WMBUY.js → comments-7YS5MY5X.js} +8 -8
  262. package/dist/cli-bundle/chunks/config-BZJKK7FZ.js +1062 -0
  263. package/dist/cli-bundle/chunks/config-BZJKK7FZ.js.map +1 -0
  264. package/dist/cli-bundle/chunks/config-G74GISC4.js +1072 -0
  265. package/dist/cli-bundle/chunks/config-G74GISC4.js.map +7 -0
  266. package/dist/cli-bundle/chunks/{context-7ZEZV3BV.js → context-LHVKJSPJ.js} +12 -12
  267. package/dist/cli-bundle/chunks/{context-XDI4DKKT.js → context-ZQY54JNS.js} +12 -12
  268. package/dist/cli-bundle/chunks/{contracts-SMOAN5NF.js → contracts-CP2EZJC7.js} +320 -199
  269. package/dist/cli-bundle/chunks/contracts-CP2EZJC7.js.map +7 -0
  270. package/dist/cli-bundle/chunks/{contracts-KP4QAGVW.js → contracts-FIZLMP7O.js} +321 -200
  271. package/dist/cli-bundle/chunks/contracts-FIZLMP7O.js.map +1 -0
  272. package/dist/cli-bundle/chunks/{copy-JJ3KOQW2.js → copy-GYNQQPW2.js} +5 -5
  273. package/dist/cli-bundle/chunks/{copy-CWM6SBY6.js → copy-TLW7JTQT.js} +5 -5
  274. package/dist/cli-bundle/chunks/{create-J5Q2ELZT.js → create-VSKYSOCD.js} +12 -12
  275. package/dist/cli-bundle/chunks/create-XTMAPS7I.js +28 -0
  276. package/dist/cli-bundle/chunks/{delete-2GZLQEUQ.js → delete-4W5JYCEG.js} +5 -5
  277. package/dist/cli-bundle/chunks/{delete-OOQS4KVD.js → delete-ANTOTI2I.js} +5 -5
  278. package/dist/cli-bundle/chunks/{deps-IF4IGL4R.js → deps-HPPE6MJN.js} +5 -5
  279. package/dist/cli-bundle/chunks/{deps-ZVGGCRR6.js → deps-ZQZN54EZ.js} +5 -5
  280. package/dist/cli-bundle/chunks/{docs-NFTBCQQC.js → docs-RPOVFMP3.js} +7 -7
  281. package/dist/cli-bundle/chunks/{docs-2TIFR62T.js → docs-XJNYBJGE.js} +7 -7
  282. package/dist/cli-bundle/chunks/{eval-2F6EH4XN.js → eval-DM6JBZTS.js} +10 -10
  283. package/dist/cli-bundle/chunks/{eval-PFKXQR3B.js → eval-RFBI5FGS.js} +10 -10
  284. package/dist/cli-bundle/chunks/{extension-GMVOIP4O.js → extension-B3YY4WY5.js} +11 -10
  285. package/dist/cli-bundle/chunks/{extension-3LRYX7SW.js → extension-TTSEFQTS.js} +11 -10
  286. package/dist/cli-bundle/chunks/{files-DF3HO6XK.js → files-5D65CHGE.js} +7 -7
  287. package/dist/cli-bundle/chunks/{files-T5ODMETM.js → files-GPIG77EN.js} +7 -7
  288. package/dist/cli-bundle/chunks/{focus-MY5ARIEK.js → focus-C3PEJV2C.js} +6 -6
  289. package/dist/cli-bundle/chunks/{focus-DLXKK4AH.js → focus-ZHN7WIGX.js} +6 -6
  290. package/dist/cli-bundle/chunks/{gc-MDGRR2SU.js → gc-D4JQ6OWN.js} +3 -3
  291. package/dist/cli-bundle/chunks/{gc-FULIVYR4.js → gc-VZIXDL32.js} +3 -3
  292. package/dist/cli-bundle/chunks/{get-VYPIICPC.js → get-GIBRUUOP.js} +121 -81
  293. package/dist/cli-bundle/chunks/get-GIBRUUOP.js.map +1 -0
  294. package/dist/cli-bundle/chunks/{get-AWK324RS.js → get-IOVAN6RU.js} +120 -80
  295. package/dist/cli-bundle/chunks/get-IOVAN6RU.js.map +7 -0
  296. package/dist/cli-bundle/chunks/{health-Q66C43GN.js → health-L2U3AFKV.js} +437 -264
  297. package/dist/cli-bundle/chunks/health-L2U3AFKV.js.map +1 -0
  298. package/dist/cli-bundle/chunks/{health-FBCVZGSX.js → health-MM7AWXYF.js} +436 -263
  299. package/dist/cli-bundle/chunks/health-MM7AWXYF.js.map +7 -0
  300. package/dist/cli-bundle/chunks/history-DD7L7BNL.js +18 -0
  301. package/dist/cli-bundle/chunks/{history-X4OSES6K.js → history-IL7XCEX2.js} +8 -8
  302. package/dist/cli-bundle/chunks/{history-compact-2GHT32UX.js → history-compact-HALOTOU7.js} +214 -135
  303. package/dist/cli-bundle/chunks/history-compact-HALOTOU7.js.map +1 -0
  304. package/dist/cli-bundle/chunks/{history-compact-WLCQEKXS.js → history-compact-MV25P7DM.js} +213 -134
  305. package/dist/cli-bundle/chunks/history-compact-MV25P7DM.js.map +7 -0
  306. package/dist/cli-bundle/chunks/history-redact-IX4YEWMY.js +19 -0
  307. package/dist/cli-bundle/chunks/{history-redact-45YW65BK.js → history-redact-VYCWQFK7.js} +9 -9
  308. package/dist/cli-bundle/chunks/{history-repair-FY75IC26.js → history-repair-44MODPQF.js} +124 -84
  309. package/dist/cli-bundle/chunks/history-repair-44MODPQF.js.map +1 -0
  310. package/dist/cli-bundle/chunks/{history-repair-GABSDSVD.js → history-repair-CPNAOCNF.js} +123 -83
  311. package/dist/cli-bundle/chunks/history-repair-CPNAOCNF.js.map +7 -0
  312. package/dist/cli-bundle/chunks/{init-KO7CGIRQ.js → init-F27NHENZ.js} +12 -11
  313. package/dist/cli-bundle/chunks/init-HHVQQP6C.js +22 -0
  314. package/dist/cli-bundle/chunks/{learnings-LHZT5BHW.js → learnings-HJVDQIGY.js} +8 -8
  315. package/dist/cli-bundle/chunks/{learnings-3F7YLI45.js → learnings-XSFSUUWK.js} +8 -8
  316. package/dist/cli-bundle/chunks/{list-Y6AU5BJS.js → list-HPMEKCAA.js} +8 -8
  317. package/dist/cli-bundle/chunks/{list-ROT7JF62.js → list-VMPWTURB.js} +8 -8
  318. package/dist/cli-bundle/chunks/{next-66BJB4N2.js → next-ETXF2ZCN.js} +59 -37
  319. package/dist/cli-bundle/chunks/next-ETXF2ZCN.js.map +7 -0
  320. package/dist/cli-bundle/chunks/{next-N5MWJTBY.js → next-QM6YJIIS.js} +60 -38
  321. package/dist/cli-bundle/chunks/next-QM6YJIIS.js.map +1 -0
  322. package/dist/cli-bundle/chunks/{notes-FW6YFLND.js → notes-GDZIKGR6.js} +8 -8
  323. package/dist/cli-bundle/chunks/{notes-EVJZ3VAB.js → notes-WDDBPC4D.js} +8 -8
  324. package/dist/cli-bundle/chunks/{plan-ZHKZ7JVF.js → plan-BGDR73Z6.js} +373 -279
  325. package/dist/cli-bundle/chunks/plan-BGDR73Z6.js.map +1 -0
  326. package/dist/cli-bundle/chunks/{plan-DQ7G4EDC.js → plan-C5IMM335.js} +372 -278
  327. package/dist/cli-bundle/chunks/plan-C5IMM335.js.map +7 -0
  328. package/dist/cli-bundle/chunks/{profile-CHAW6SEA.js → profile-CCOKZ2IQ.js} +9 -9
  329. package/dist/cli-bundle/chunks/{profile-UPZGCDOG.js → profile-HUCENIEQ.js} +9 -9
  330. package/dist/cli-bundle/chunks/{register-list-query-Y2VRHPCL.js → register-list-query-ROSNIL52.js} +80 -83
  331. package/dist/cli-bundle/chunks/register-list-query-ROSNIL52.js.map +1 -0
  332. package/dist/cli-bundle/chunks/{register-list-query-KY6Z6WV7.js → register-list-query-XN4ZRHSV.js} +79 -82
  333. package/dist/cli-bundle/chunks/register-list-query-XN4ZRHSV.js.map +7 -0
  334. package/dist/cli-bundle/chunks/{register-mutation-PCARIGZS.js → register-mutation-CFSB2MS3.js} +406 -385
  335. package/dist/cli-bundle/chunks/register-mutation-CFSB2MS3.js.map +1 -0
  336. package/dist/cli-bundle/chunks/{register-mutation-N6AYSKPM.js → register-mutation-KRLAHEL2.js} +405 -384
  337. package/dist/cli-bundle/chunks/register-mutation-KRLAHEL2.js.map +7 -0
  338. package/dist/cli-bundle/chunks/{register-operations-L6CYTOIH.js → register-operations-4PASGJDB.js} +112 -93
  339. package/dist/cli-bundle/chunks/register-operations-4PASGJDB.js.map +7 -0
  340. package/dist/cli-bundle/chunks/{register-operations-YAT6FUUB.js → register-operations-MBN4KGUM.js} +113 -94
  341. package/dist/cli-bundle/chunks/register-operations-MBN4KGUM.js.map +1 -0
  342. package/dist/cli-bundle/chunks/{register-setup-N7UGXYJC.js → register-setup-VIAWYFP5.js} +129 -104
  343. package/dist/cli-bundle/chunks/register-setup-VIAWYFP5.js.map +1 -0
  344. package/dist/cli-bundle/chunks/{register-setup-MPANILQF.js → register-setup-ZCGKHDKL.js} +128 -103
  345. package/dist/cli-bundle/chunks/register-setup-ZCGKHDKL.js.map +7 -0
  346. package/dist/cli-bundle/chunks/{restore-DKMCLPI5.js → restore-4CBWUMCX.js} +9 -9
  347. package/dist/cli-bundle/chunks/restore-5UEAGG3W.js +17 -0
  348. package/dist/cli-bundle/chunks/{scheduling-shortcuts-3F4QUEDH.js → scheduling-shortcuts-6VFKNKCM.js} +12 -12
  349. package/dist/cli-bundle/chunks/{scheduling-shortcuts-BNZLQK36.js → scheduling-shortcuts-ERHCVTEM.js} +12 -12
  350. package/dist/cli-bundle/chunks/{schema-OLT6LVKH.js → schema-TDGK6N3I.js} +7 -7
  351. package/dist/cli-bundle/chunks/{schema-XJXKJQF5.js → schema-UE5KKAUX.js} +7 -7
  352. package/dist/cli-bundle/chunks/{search-KP6H7COV.js → search-FP7MEU4S.js} +10 -10
  353. package/dist/cli-bundle/chunks/{search-CX5UMV4H.js → search-K4CFLQ5S.js} +10 -10
  354. package/dist/cli-bundle/chunks/{stats-QZUG6MX5.js → stats-NJJCALEZ.js} +6 -6
  355. package/dist/cli-bundle/chunks/{stats-7XW4OEMK.js → stats-XT6QRKQY.js} +6 -6
  356. package/dist/cli-bundle/chunks/{telemetry-DIFPXCAT.js → telemetry-5SQ5UDXC.js} +84 -70
  357. package/dist/cli-bundle/chunks/telemetry-5SQ5UDXC.js.map +7 -0
  358. package/dist/cli-bundle/chunks/{telemetry-WTYFUPRL.js → telemetry-HVXFZA2U.js} +85 -71
  359. package/dist/cli-bundle/chunks/telemetry-HVXFZA2U.js.map +1 -0
  360. package/dist/cli-bundle/chunks/{test-QNDXZQCW.js → test-UFSJ5YIO.js} +15 -14
  361. package/dist/cli-bundle/chunks/{test-HU2BS7EY.js → test-YCDAUBWF.js} +15 -14
  362. package/dist/cli-bundle/chunks/test-all-2BWKY3GQ.js +427 -0
  363. package/dist/cli-bundle/chunks/test-all-2BWKY3GQ.js.map +1 -0
  364. package/dist/cli-bundle/chunks/test-all-PM7UYN42.js +430 -0
  365. package/dist/cli-bundle/chunks/test-all-PM7UYN42.js.map +7 -0
  366. package/dist/cli-bundle/chunks/{test-runs-CA6K32RD.js → test-runs-FK5E75AA.js} +185 -147
  367. package/dist/cli-bundle/chunks/test-runs-FK5E75AA.js.map +1 -0
  368. package/dist/cli-bundle/chunks/{test-runs-LANLLPVO.js → test-runs-H4TGWGRN.js} +184 -146
  369. package/dist/cli-bundle/chunks/test-runs-H4TGWGRN.js.map +7 -0
  370. package/dist/cli-bundle/chunks/update-MTCFES6X.js +24 -0
  371. package/dist/cli-bundle/chunks/{update-DJKWLBWJ.js → update-Y5WQVT5O.js} +15 -15
  372. package/dist/cli-bundle/chunks/{update-many-LU3SCNK5.js → update-many-6YAYYRLE.js} +83 -68
  373. package/dist/cli-bundle/chunks/{update-many-LU3SCNK5.js.map → update-many-6YAYYRLE.js.map} +2 -2
  374. package/dist/cli-bundle/chunks/{update-many-VW5DGF3S.js → update-many-JTKKSA7Y.js} +84 -69
  375. package/dist/cli-bundle/chunks/{update-many-VW5DGF3S.js.map → update-many-JTKKSA7Y.js.map} +1 -1
  376. package/dist/cli-bundle/chunks/{upgrade-ICXY244R.js → upgrade-DTAHZ236.js} +11 -10
  377. package/dist/cli-bundle/chunks/{upgrade-ICXY244R.js.map → upgrade-DTAHZ236.js.map} +1 -1
  378. package/dist/cli-bundle/chunks/{upgrade-77FRUAXN.js → upgrade-JUDU7YL4.js} +13 -12
  379. package/dist/cli-bundle/chunks/{upgrade-77FRUAXN.js.map → upgrade-JUDU7YL4.js.map} +1 -1
  380. package/dist/cli-bundle/chunks/{validate-2G566PKQ.js → validate-732RWS5W.js} +440 -319
  381. package/dist/cli-bundle/chunks/validate-732RWS5W.js.map +7 -0
  382. package/dist/cli-bundle/chunks/{validate-BDPVXHHH.js → validate-W7H5TEDC.js} +441 -320
  383. package/dist/cli-bundle/chunks/validate-W7H5TEDC.js.map +1 -0
  384. package/dist/cli-bundle/main.js +986 -1500
  385. package/dist/cli-bundle/main.js.map +4 -4
  386. package/dist/core/config/nested-settings.js +89 -67
  387. package/dist/core/config/nested-settings.js.map +1 -1
  388. package/dist/core/extensions/activation-summary-markdown.js +23 -12
  389. package/dist/core/extensions/activation-summary-markdown.js.map +1 -1
  390. package/dist/core/extensions/extension-policy.d.ts +18 -3
  391. package/dist/core/extensions/extension-policy.js +116 -106
  392. package/dist/core/extensions/extension-policy.js.map +1 -1
  393. package/dist/core/extensions/loader.js +310 -232
  394. package/dist/core/extensions/loader.js.map +1 -1
  395. package/dist/core/governance/metadata-coverage.js +20 -28
  396. package/dist/core/governance/metadata-coverage.js.map +1 -1
  397. package/dist/core/history/drift-scan.js +93 -81
  398. package/dist/core/history/drift-scan.js.map +1 -1
  399. package/dist/core/item/item-format.js +523 -410
  400. package/dist/core/item/item-format.js.map +1 -1
  401. package/dist/core/item/item-type-definition.js +14 -14
  402. package/dist/core/item/item-type-definition.js.map +1 -1
  403. package/dist/core/item/type-registry.js +87 -82
  404. package/dist/core/item/type-registry.js.map +1 -1
  405. package/dist/core/output/mutation-projection.js +42 -26
  406. package/dist/core/output/mutation-projection.js.map +1 -1
  407. package/dist/core/schema/runtime-schema.js +34 -28
  408. package/dist/core/schema/runtime-schema.js.map +1 -1
  409. package/dist/core/search/semantic-defaults.js +64 -37
  410. package/dist/core/search/semantic-defaults.js.map +1 -1
  411. package/dist/core/search/vector-stores.js +32 -17
  412. package/dist/core/search/vector-stores.js.map +1 -1
  413. package/dist/core/sentry/helpers.js +31 -28
  414. package/dist/core/sentry/helpers.js.map +1 -1
  415. package/dist/core/sentry/instrument.js +54 -43
  416. package/dist/core/sentry/instrument.js.map +1 -1
  417. package/dist/core/store/front-matter-cache.js +239 -153
  418. package/dist/core/store/front-matter-cache.js.map +1 -1
  419. package/dist/core/store/item-store.js +33 -26
  420. package/dist/core/store/item-store.js.map +1 -1
  421. package/dist/core/store/settings.js +247 -203
  422. package/dist/core/store/settings.js.map +1 -1
  423. package/dist/core/test/background-runs.js +189 -160
  424. package/dist/core/test/background-runs.js.map +1 -1
  425. package/dist/mcp/server.js +387 -367
  426. package/dist/mcp/server.js.map +1 -1
  427. package/dist/sdk/cli-contracts/flag-contracts.js +111 -180
  428. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  429. package/dist/sdk/cli-contracts/tool-schema.js +76 -45
  430. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  431. package/dist/sdk/compose.d.ts +4 -1
  432. package/dist/sdk/compose.js +181 -115
  433. package/dist/sdk/compose.js.map +1 -1
  434. package/docs/RELEASING.md +2 -3
  435. package/package.json +2 -2
  436. package/packages/pm-beads/extensions/beads/runtime.ts +240 -167
  437. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +65 -58
  438. package/packages/pm-todos/extensions/todos/runtime.ts +65 -42
  439. package/dist/cli-bundle/chunks/activity-EJBMXUBH.js +0 -16
  440. package/dist/cli-bundle/chunks/aggregate-MOC4TR2G.js.map +0 -1
  441. package/dist/cli-bundle/chunks/chunk-53ARXF2O.js.map +0 -7
  442. package/dist/cli-bundle/chunks/chunk-5IRVSKPS.js.map +0 -1
  443. package/dist/cli-bundle/chunks/chunk-5T6WPLRO.js.map +0 -7
  444. package/dist/cli-bundle/chunks/chunk-6T5ZIWBS.js.map +0 -7
  445. package/dist/cli-bundle/chunks/chunk-6YRAMXRS.js.map +0 -1
  446. package/dist/cli-bundle/chunks/chunk-7WDETKGP.js.map +0 -7
  447. package/dist/cli-bundle/chunks/chunk-A3UNLXNJ.js.map +0 -7
  448. package/dist/cli-bundle/chunks/chunk-AWN4PPH5.js.map +0 -7
  449. package/dist/cli-bundle/chunks/chunk-BOWQWXLI.js.map +0 -1
  450. package/dist/cli-bundle/chunks/chunk-C2KCIZKZ.js +0 -115
  451. package/dist/cli-bundle/chunks/chunk-C2KCIZKZ.js.map +0 -1
  452. package/dist/cli-bundle/chunks/chunk-CHRNYKNI.js.map +0 -7
  453. package/dist/cli-bundle/chunks/chunk-CY5IJMUM.js.map +0 -1
  454. package/dist/cli-bundle/chunks/chunk-D5LYZVGB.js.map +0 -1
  455. package/dist/cli-bundle/chunks/chunk-DJDXAU74.js.map +0 -7
  456. package/dist/cli-bundle/chunks/chunk-DORJSBGJ.js.map +0 -7
  457. package/dist/cli-bundle/chunks/chunk-DU66JUGT.js.map +0 -7
  458. package/dist/cli-bundle/chunks/chunk-F6VH3LFC.js +0 -118
  459. package/dist/cli-bundle/chunks/chunk-F6VH3LFC.js.map +0 -7
  460. package/dist/cli-bundle/chunks/chunk-FDEVKXC4.js.map +0 -1
  461. package/dist/cli-bundle/chunks/chunk-GF7EAR22.js.map +0 -7
  462. package/dist/cli-bundle/chunks/chunk-HIBK6H4S.js.map +0 -1
  463. package/dist/cli-bundle/chunks/chunk-IHXXUIXS.js.map +0 -1
  464. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js +0 -35
  465. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js.map +0 -7
  466. package/dist/cli-bundle/chunks/chunk-IZQOJR2B.js.map +0 -7
  467. package/dist/cli-bundle/chunks/chunk-JTRKME24.js.map +0 -1
  468. package/dist/cli-bundle/chunks/chunk-JZG5ADVE.js.map +0 -1
  469. package/dist/cli-bundle/chunks/chunk-K46GQ265.js.map +0 -1
  470. package/dist/cli-bundle/chunks/chunk-KGQ3W65B.js.map +0 -1
  471. package/dist/cli-bundle/chunks/chunk-KTMMTOIP.js.map +0 -7
  472. package/dist/cli-bundle/chunks/chunk-KYDYQMNW.js.map +0 -7
  473. package/dist/cli-bundle/chunks/chunk-NIBP3I7A.js.map +0 -1
  474. package/dist/cli-bundle/chunks/chunk-NO6Y6FB2.js.map +0 -7
  475. package/dist/cli-bundle/chunks/chunk-QE5UFCCO.js.map +0 -1
  476. package/dist/cli-bundle/chunks/chunk-RM6MHL6A.js.map +0 -7
  477. package/dist/cli-bundle/chunks/chunk-RPRW26NG.js.map +0 -1
  478. package/dist/cli-bundle/chunks/chunk-SNUK7H5J.js.map +0 -7
  479. package/dist/cli-bundle/chunks/chunk-T7ZMQI4J.js.map +0 -1
  480. package/dist/cli-bundle/chunks/chunk-UB3V5WUI.js.map +0 -1
  481. package/dist/cli-bundle/chunks/chunk-UFKNF23C.js.map +0 -7
  482. package/dist/cli-bundle/chunks/chunk-V3KLX7U7.js.map +0 -1
  483. package/dist/cli-bundle/chunks/chunk-VD3LKZFX.js.map +0 -1
  484. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js +0 -32
  485. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js.map +0 -1
  486. package/dist/cli-bundle/chunks/chunk-WTRUDJ3R.js.map +0 -1
  487. package/dist/cli-bundle/chunks/chunk-Z55WX4IQ.js.map +0 -1
  488. package/dist/cli-bundle/chunks/chunk-Z5BM2FKQ.js.map +0 -7
  489. package/dist/cli-bundle/chunks/chunk-ZEATCVAC.js.map +0 -7
  490. package/dist/cli-bundle/chunks/chunk-ZFIEEDTJ.js.map +0 -7
  491. package/dist/cli-bundle/chunks/chunk-ZIE6WXJ2.js.map +0 -1
  492. package/dist/cli-bundle/chunks/close-37KEHLYM.js +0 -14
  493. package/dist/cli-bundle/chunks/close-many-BFMP6HHK.js.map +0 -7
  494. package/dist/cli-bundle/chunks/close-many-CXJBOWWY.js.map +0 -1
  495. package/dist/cli-bundle/chunks/config-FIXJZEQK.js +0 -1541
  496. package/dist/cli-bundle/chunks/config-FIXJZEQK.js.map +0 -7
  497. package/dist/cli-bundle/chunks/config-X3ZVCUUG.js +0 -1531
  498. package/dist/cli-bundle/chunks/config-X3ZVCUUG.js.map +0 -1
  499. package/dist/cli-bundle/chunks/contracts-KP4QAGVW.js.map +0 -1
  500. package/dist/cli-bundle/chunks/contracts-SMOAN5NF.js.map +0 -7
  501. package/dist/cli-bundle/chunks/create-DFMNBKBS.js +0 -28
  502. package/dist/cli-bundle/chunks/get-AWK324RS.js.map +0 -7
  503. package/dist/cli-bundle/chunks/get-VYPIICPC.js.map +0 -1
  504. package/dist/cli-bundle/chunks/health-FBCVZGSX.js.map +0 -7
  505. package/dist/cli-bundle/chunks/health-Q66C43GN.js.map +0 -1
  506. package/dist/cli-bundle/chunks/history-5XUSLAJA.js +0 -18
  507. package/dist/cli-bundle/chunks/history-compact-2GHT32UX.js.map +0 -1
  508. package/dist/cli-bundle/chunks/history-compact-WLCQEKXS.js.map +0 -7
  509. package/dist/cli-bundle/chunks/history-redact-BVHWDXPR.js +0 -19
  510. package/dist/cli-bundle/chunks/history-repair-FY75IC26.js.map +0 -1
  511. package/dist/cli-bundle/chunks/history-repair-GABSDSVD.js.map +0 -7
  512. package/dist/cli-bundle/chunks/init-TRYJELH4.js +0 -21
  513. package/dist/cli-bundle/chunks/next-66BJB4N2.js.map +0 -7
  514. package/dist/cli-bundle/chunks/next-N5MWJTBY.js.map +0 -1
  515. package/dist/cli-bundle/chunks/plan-DQ7G4EDC.js.map +0 -7
  516. package/dist/cli-bundle/chunks/plan-ZHKZ7JVF.js.map +0 -1
  517. package/dist/cli-bundle/chunks/register-list-query-KY6Z6WV7.js.map +0 -7
  518. package/dist/cli-bundle/chunks/register-list-query-Y2VRHPCL.js.map +0 -1
  519. package/dist/cli-bundle/chunks/register-mutation-N6AYSKPM.js.map +0 -7
  520. package/dist/cli-bundle/chunks/register-mutation-PCARIGZS.js.map +0 -1
  521. package/dist/cli-bundle/chunks/register-operations-L6CYTOIH.js.map +0 -7
  522. package/dist/cli-bundle/chunks/register-operations-YAT6FUUB.js.map +0 -1
  523. package/dist/cli-bundle/chunks/register-setup-MPANILQF.js.map +0 -7
  524. package/dist/cli-bundle/chunks/register-setup-N7UGXYJC.js.map +0 -1
  525. package/dist/cli-bundle/chunks/restore-IRAKSWIW.js +0 -17
  526. package/dist/cli-bundle/chunks/telemetry-DIFPXCAT.js.map +0 -7
  527. package/dist/cli-bundle/chunks/telemetry-WTYFUPRL.js.map +0 -1
  528. package/dist/cli-bundle/chunks/test-all-PZTBLLQ6.js +0 -360
  529. package/dist/cli-bundle/chunks/test-all-PZTBLLQ6.js.map +0 -7
  530. package/dist/cli-bundle/chunks/test-all-XLPI4USF.js +0 -357
  531. package/dist/cli-bundle/chunks/test-all-XLPI4USF.js.map +0 -1
  532. package/dist/cli-bundle/chunks/test-runs-CA6K32RD.js.map +0 -1
  533. package/dist/cli-bundle/chunks/test-runs-LANLLPVO.js.map +0 -7
  534. package/dist/cli-bundle/chunks/update-UXDLTEOZ.js +0 -24
  535. package/dist/cli-bundle/chunks/validate-2G566PKQ.js.map +0 -7
  536. package/dist/cli-bundle/chunks/validate-BDPVXHHH.js.map +0 -1
  537. /package/dist/cli-bundle/chunks/{activity-MVSEND6D.js.map → activity-CUC4JY3U.js.map} +0 -0
  538. /package/dist/cli-bundle/chunks/{activity-EJBMXUBH.js.map → activity-WEIEMM73.js.map} +0 -0
  539. /package/dist/cli-bundle/chunks/{append-KDHT4GHI.js.map → append-H32VOR2Y.js.map} +0 -0
  540. /package/dist/cli-bundle/chunks/{append-LEDBAM3K.js.map → append-UBM632FK.js.map} +0 -0
  541. /package/dist/cli-bundle/chunks/{chunk-SJZTPVFT.js.map → chunk-2ASNV4DH.js.map} +0 -0
  542. /package/dist/cli-bundle/chunks/{chunk-JVQ7UOYC.js.map → chunk-2CHRYUXL.js.map} +0 -0
  543. /package/dist/cli-bundle/chunks/{chunk-DRPF274X.js.map → chunk-3LCUASYG.js.map} +0 -0
  544. /package/dist/cli-bundle/chunks/{chunk-JJ4SG243.js.map → chunk-3Q2HBMTI.js.map} +0 -0
  545. /package/dist/cli-bundle/chunks/{chunk-TQ6E76BE.js.map → chunk-55XRYWEG.js.map} +0 -0
  546. /package/dist/cli-bundle/chunks/{chunk-IBU2LLWM.js.map → chunk-A6VOGKBA.js.map} +0 -0
  547. /package/dist/cli-bundle/chunks/{chunk-MLHX6DN5.js.map → chunk-AIAIXG7I.js.map} +0 -0
  548. /package/dist/cli-bundle/chunks/{chunk-5ABGFWR4.js.map → chunk-BTX5MIQF.js.map} +0 -0
  549. /package/dist/cli-bundle/chunks/{chunk-3JWQCLR5.js.map → chunk-CYBDUHNO.js.map} +0 -0
  550. /package/dist/cli-bundle/chunks/{chunk-WFJZDUM7.js.map → chunk-CZPVDLD2.js.map} +0 -0
  551. /package/dist/cli-bundle/chunks/{chunk-HUYYMTGW.js.map → chunk-EUKTMRN3.js.map} +0 -0
  552. /package/dist/cli-bundle/chunks/{chunk-EVWYAG46.js.map → chunk-FFOQHGNH.js.map} +0 -0
  553. /package/dist/cli-bundle/chunks/{chunk-IF4ERU6A.js.map → chunk-GFMSLORL.js.map} +0 -0
  554. /package/dist/cli-bundle/chunks/{chunk-IDYCAK35.js.map → chunk-H4GRLYJS.js.map} +0 -0
  555. /package/dist/cli-bundle/chunks/{chunk-VMY7MZEM.js.map → chunk-HQTPRV4D.js.map} +0 -0
  556. /package/dist/cli-bundle/chunks/{chunk-7L6TXOOC.js.map → chunk-JMK5GCK2.js.map} +0 -0
  557. /package/dist/cli-bundle/chunks/{chunk-KRASIL6M.js.map → chunk-K2VYLVX4.js.map} +0 -0
  558. /package/dist/cli-bundle/chunks/{chunk-4YIMPANT.js.map → chunk-KCO2EAN5.js.map} +0 -0
  559. /package/dist/cli-bundle/chunks/{chunk-D6USKAMA.js.map → chunk-KLXF7NCC.js.map} +0 -0
  560. /package/dist/cli-bundle/chunks/{chunk-OB3RJV5F.js.map → chunk-LRKMWUUV.js.map} +0 -0
  561. /package/dist/cli-bundle/chunks/{chunk-74PUWBGN.js.map → chunk-LTRAF2D7.js.map} +0 -0
  562. /package/dist/cli-bundle/chunks/{chunk-4TXTVZL3.js.map → chunk-MRD4T5LF.js.map} +0 -0
  563. /package/dist/cli-bundle/chunks/{chunk-E2Q2ULMR.js.map → chunk-N2JSWVWG.js.map} +0 -0
  564. /package/dist/cli-bundle/chunks/{chunk-7RIJGN4R.js.map → chunk-QH3FSKRJ.js.map} +0 -0
  565. /package/dist/cli-bundle/chunks/{chunk-OUQ5JEFM.js.map → chunk-S62UANU7.js.map} +0 -0
  566. /package/dist/cli-bundle/chunks/{chunk-DLDCPF5X.js.map → chunk-U2BEEM2X.js.map} +0 -0
  567. /package/dist/cli-bundle/chunks/{chunk-73PTKMAE.js.map → chunk-UT73HUPC.js.map} +0 -0
  568. /package/dist/cli-bundle/chunks/{chunk-F7G53BOA.js.map → chunk-UTSH5GWX.js.map} +0 -0
  569. /package/dist/cli-bundle/chunks/{chunk-JIP67N2K.js.map → chunk-Y4NRKBFW.js.map} +0 -0
  570. /package/dist/cli-bundle/chunks/{chunk-FBZ5XAAF.js.map → chunk-YPKFV2JR.js.map} +0 -0
  571. /package/dist/cli-bundle/chunks/{chunk-BN3CWK6G.js.map → chunk-ZNHEYCDD.js.map} +0 -0
  572. /package/dist/cli-bundle/chunks/{chunk-YEDFE4DC.js.map → chunk-ZNT7KEWE.js.map} +0 -0
  573. /package/dist/cli-bundle/chunks/{claim-HMCLSLUE.js.map → claim-SENTPZBN.js.map} +0 -0
  574. /package/dist/cli-bundle/chunks/{claim-6NINZYB3.js.map → claim-Z7MEQCBT.js.map} +0 -0
  575. /package/dist/cli-bundle/chunks/{close-OP3LK7Z2.js.map → close-424MX4CU.js.map} +0 -0
  576. /package/dist/cli-bundle/chunks/{close-37KEHLYM.js.map → close-YCWQQPDS.js.map} +0 -0
  577. /package/dist/cli-bundle/chunks/{comments-ETHABIY6.js.map → comments-4FGNTSNV.js.map} +0 -0
  578. /package/dist/cli-bundle/chunks/{comments-MU2WMBUY.js.map → comments-7YS5MY5X.js.map} +0 -0
  579. /package/dist/cli-bundle/chunks/{context-7ZEZV3BV.js.map → context-LHVKJSPJ.js.map} +0 -0
  580. /package/dist/cli-bundle/chunks/{context-XDI4DKKT.js.map → context-ZQY54JNS.js.map} +0 -0
  581. /package/dist/cli-bundle/chunks/{copy-JJ3KOQW2.js.map → copy-GYNQQPW2.js.map} +0 -0
  582. /package/dist/cli-bundle/chunks/{copy-CWM6SBY6.js.map → copy-TLW7JTQT.js.map} +0 -0
  583. /package/dist/cli-bundle/chunks/{create-J5Q2ELZT.js.map → create-VSKYSOCD.js.map} +0 -0
  584. /package/dist/cli-bundle/chunks/{create-DFMNBKBS.js.map → create-XTMAPS7I.js.map} +0 -0
  585. /package/dist/cli-bundle/chunks/{delete-2GZLQEUQ.js.map → delete-4W5JYCEG.js.map} +0 -0
  586. /package/dist/cli-bundle/chunks/{delete-OOQS4KVD.js.map → delete-ANTOTI2I.js.map} +0 -0
  587. /package/dist/cli-bundle/chunks/{deps-IF4IGL4R.js.map → deps-HPPE6MJN.js.map} +0 -0
  588. /package/dist/cli-bundle/chunks/{deps-ZVGGCRR6.js.map → deps-ZQZN54EZ.js.map} +0 -0
  589. /package/dist/cli-bundle/chunks/{docs-NFTBCQQC.js.map → docs-RPOVFMP3.js.map} +0 -0
  590. /package/dist/cli-bundle/chunks/{docs-2TIFR62T.js.map → docs-XJNYBJGE.js.map} +0 -0
  591. /package/dist/cli-bundle/chunks/{eval-2F6EH4XN.js.map → eval-DM6JBZTS.js.map} +0 -0
  592. /package/dist/cli-bundle/chunks/{eval-PFKXQR3B.js.map → eval-RFBI5FGS.js.map} +0 -0
  593. /package/dist/cli-bundle/chunks/{extension-GMVOIP4O.js.map → extension-B3YY4WY5.js.map} +0 -0
  594. /package/dist/cli-bundle/chunks/{extension-3LRYX7SW.js.map → extension-TTSEFQTS.js.map} +0 -0
  595. /package/dist/cli-bundle/chunks/{files-DF3HO6XK.js.map → files-5D65CHGE.js.map} +0 -0
  596. /package/dist/cli-bundle/chunks/{files-T5ODMETM.js.map → files-GPIG77EN.js.map} +0 -0
  597. /package/dist/cli-bundle/chunks/{focus-MY5ARIEK.js.map → focus-C3PEJV2C.js.map} +0 -0
  598. /package/dist/cli-bundle/chunks/{focus-DLXKK4AH.js.map → focus-ZHN7WIGX.js.map} +0 -0
  599. /package/dist/cli-bundle/chunks/{gc-MDGRR2SU.js.map → gc-D4JQ6OWN.js.map} +0 -0
  600. /package/dist/cli-bundle/chunks/{gc-FULIVYR4.js.map → gc-VZIXDL32.js.map} +0 -0
  601. /package/dist/cli-bundle/chunks/{history-5XUSLAJA.js.map → history-DD7L7BNL.js.map} +0 -0
  602. /package/dist/cli-bundle/chunks/{history-X4OSES6K.js.map → history-IL7XCEX2.js.map} +0 -0
  603. /package/dist/cli-bundle/chunks/{history-redact-BVHWDXPR.js.map → history-redact-IX4YEWMY.js.map} +0 -0
  604. /package/dist/cli-bundle/chunks/{history-redact-45YW65BK.js.map → history-redact-VYCWQFK7.js.map} +0 -0
  605. /package/dist/cli-bundle/chunks/{init-KO7CGIRQ.js.map → init-F27NHENZ.js.map} +0 -0
  606. /package/dist/cli-bundle/chunks/{init-TRYJELH4.js.map → init-HHVQQP6C.js.map} +0 -0
  607. /package/dist/cli-bundle/chunks/{learnings-LHZT5BHW.js.map → learnings-HJVDQIGY.js.map} +0 -0
  608. /package/dist/cli-bundle/chunks/{learnings-3F7YLI45.js.map → learnings-XSFSUUWK.js.map} +0 -0
  609. /package/dist/cli-bundle/chunks/{list-Y6AU5BJS.js.map → list-HPMEKCAA.js.map} +0 -0
  610. /package/dist/cli-bundle/chunks/{list-ROT7JF62.js.map → list-VMPWTURB.js.map} +0 -0
  611. /package/dist/cli-bundle/chunks/{notes-FW6YFLND.js.map → notes-GDZIKGR6.js.map} +0 -0
  612. /package/dist/cli-bundle/chunks/{notes-EVJZ3VAB.js.map → notes-WDDBPC4D.js.map} +0 -0
  613. /package/dist/cli-bundle/chunks/{profile-CHAW6SEA.js.map → profile-CCOKZ2IQ.js.map} +0 -0
  614. /package/dist/cli-bundle/chunks/{profile-UPZGCDOG.js.map → profile-HUCENIEQ.js.map} +0 -0
  615. /package/dist/cli-bundle/chunks/{restore-DKMCLPI5.js.map → restore-4CBWUMCX.js.map} +0 -0
  616. /package/dist/cli-bundle/chunks/{restore-IRAKSWIW.js.map → restore-5UEAGG3W.js.map} +0 -0
  617. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-3F4QUEDH.js.map → scheduling-shortcuts-6VFKNKCM.js.map} +0 -0
  618. /package/dist/cli-bundle/chunks/{scheduling-shortcuts-BNZLQK36.js.map → scheduling-shortcuts-ERHCVTEM.js.map} +0 -0
  619. /package/dist/cli-bundle/chunks/{schema-OLT6LVKH.js.map → schema-TDGK6N3I.js.map} +0 -0
  620. /package/dist/cli-bundle/chunks/{schema-XJXKJQF5.js.map → schema-UE5KKAUX.js.map} +0 -0
  621. /package/dist/cli-bundle/chunks/{search-KP6H7COV.js.map → search-FP7MEU4S.js.map} +0 -0
  622. /package/dist/cli-bundle/chunks/{search-CX5UMV4H.js.map → search-K4CFLQ5S.js.map} +0 -0
  623. /package/dist/cli-bundle/chunks/{stats-QZUG6MX5.js.map → stats-NJJCALEZ.js.map} +0 -0
  624. /package/dist/cli-bundle/chunks/{stats-7XW4OEMK.js.map → stats-XT6QRKQY.js.map} +0 -0
  625. /package/dist/cli-bundle/chunks/{test-QNDXZQCW.js.map → test-UFSJ5YIO.js.map} +0 -0
  626. /package/dist/cli-bundle/chunks/{test-HU2BS7EY.js.map → test-YCDAUBWF.js.map} +0 -0
  627. /package/dist/cli-bundle/chunks/{update-UXDLTEOZ.js.map → update-MTCFES6X.js.map} +0 -0
  628. /package/dist/cli-bundle/chunks/{update-DJKWLBWJ.js.map → update-Y5WQVT5O.js.map} +0 -0
@@ -90,7 +90,7 @@ import {
90
90
  UPGRADE_FLAG_CONTRACTS,
91
91
  VALIDATE_FLAG_CONTRACTS,
92
92
  compactFlagAliasContracts
93
- } from "./chunk-6T5ZIWBS.js";
93
+ } from "./chunk-XWGEMNBR.js";
94
94
  import {
95
95
  EXIT_CODE,
96
96
  PmCliError,
@@ -108,7 +108,7 @@ import {
108
108
  resolvePmRoot,
109
109
  resolveRuntimeFieldRegistry,
110
110
  resolveRuntimeStatusRegistry
111
- } from "./chunk-SNUK7H5J.js";
111
+ } from "./chunk-7NSPKJUS.js";
112
112
 
113
113
  // dist/mcp/tool-definitions.js
114
114
  !(function() {
@@ -493,7 +493,7 @@ function buildMcpToolContracts() {
493
493
  !(function() {
494
494
  try {
495
495
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
496
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "98b192d1-a27b-513e-8089-5626e03f2be1");
496
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "24d15738-45bd-5dd2-95e1-699f9c6061bd");
497
497
  } catch (e2) {
498
498
  }
499
499
  })();
@@ -844,6 +844,11 @@ function normalizeStringList(values) {
844
844
  }
845
845
  return normalized;
846
846
  }
847
+ function assignExtensionFlagBoolean(contract, key, enabled) {
848
+ if (enabled) {
849
+ contract[key] = true;
850
+ }
851
+ }
847
852
  function toExtensionFlagContract(definition) {
848
853
  const longName = toOptionalTrimmedString(definition.long);
849
854
  const shortName = toOptionalTrimmedString(definition.short);
@@ -857,16 +862,13 @@ function toExtensionFlagContract(definition) {
857
862
  if (normalizedShort && normalizedLong) {
858
863
  contract.short = normalizedShort;
859
864
  }
865
+ assignExtensionFlagBoolean(contract, "required", definition.required === true);
866
+ assignExtensionFlagBoolean(contract, "repeatable", definition.repeatable === true);
867
+ assignExtensionFlagBoolean(contract, "list", definition.list === true);
860
868
  const description = toOptionalTrimmedString(definition.description);
861
869
  if (description) {
862
870
  contract.description = description;
863
871
  }
864
- if (definition.required === true) {
865
- contract.required = true;
866
- }
867
- if (definition.repeatable === true) {
868
- contract.repeatable = true;
869
- }
870
872
  const valueName = toOptionalTrimmedString(definition.value_name);
871
873
  if (valueName) {
872
874
  contract.value_name = valueName;
@@ -1010,6 +1012,29 @@ function extensionSchemaPropertyNameFromFlag(flag) {
1010
1012
  const cleaned = camelCased.replace(/[^a-zA-Z0-9]/g, "");
1011
1013
  return cleaned.length > 0 ? cleaned : null;
1012
1014
  }
1015
+ function buildExtensionArgumentSchema(argument, action) {
1016
+ if (argument.variadic) {
1017
+ return {
1018
+ type: "array",
1019
+ items: { type: "string" },
1020
+ description: argument.description ?? `Variadic argument '${argument.name}' for extension action '${action}'.`
1021
+ };
1022
+ }
1023
+ return {
1024
+ type: "string",
1025
+ description: argument.description ?? `Argument '${argument.name}' for extension action '${action}'.`
1026
+ };
1027
+ }
1028
+ function buildExtensionFlagSchema(flag, action) {
1029
+ const valueType = flag.value_type ?? "boolean";
1030
+ const schemaType = valueType === "boolean" ? "boolean" : valueType === "number" ? ["number", "string"] : "string";
1031
+ const acceptsMultipleValues = flag.repeatable === true || flag.list === true;
1032
+ return {
1033
+ type: acceptsMultipleValues ? "array" : schemaType,
1034
+ ...acceptsMultipleValues ? { items: { type: schemaType } } : {},
1035
+ description: flag.description ?? `Extension option '${flag.flag}' for action '${action}'.`
1036
+ };
1037
+ }
1013
1038
  function buildExtensionActionSchemaBranch(contract) {
1014
1039
  const commands = contract.command.split("|").map((command) => command.trim()).filter((command) => command.length > 0);
1015
1040
  const properties = {
@@ -1021,18 +1046,7 @@ function buildExtensionActionSchemaBranch(contract) {
1021
1046
  };
1022
1047
  const required = ["action"];
1023
1048
  for (const argument of contract.arguments) {
1024
- if (argument.variadic) {
1025
- properties[argument.name] = {
1026
- type: "array",
1027
- items: { type: "string" },
1028
- description: argument.description ?? `Variadic argument '${argument.name}' for extension action '${contract.action}'.`
1029
- };
1030
- } else {
1031
- properties[argument.name] = {
1032
- type: "string",
1033
- description: argument.description ?? `Argument '${argument.name}' for extension action '${contract.action}'.`
1034
- };
1035
- }
1049
+ properties[argument.name] = buildExtensionArgumentSchema(argument, contract.action);
1036
1050
  if (argument.required) {
1037
1051
  required.push(argument.name);
1038
1052
  }
@@ -1042,13 +1056,7 @@ function buildExtensionActionSchemaBranch(contract) {
1042
1056
  if (!propertyName || properties[propertyName] !== void 0) {
1043
1057
  continue;
1044
1058
  }
1045
- const valueType = flag.value_type ?? "boolean";
1046
- const schemaType = valueType === "boolean" ? "boolean" : valueType === "number" ? ["number", "string"] : "string";
1047
- properties[propertyName] = {
1048
- type: flag.repeatable ? "array" : schemaType,
1049
- ...flag.repeatable ? { items: { type: schemaType } } : {},
1050
- description: flag.description ?? `Extension option '${flag.flag}' for action '${contract.action}'.`
1051
- };
1059
+ properties[propertyName] = buildExtensionFlagSchema(flag, contract.action);
1052
1060
  if (flag.required === true) {
1053
1061
  required.push(propertyName);
1054
1062
  }
@@ -1470,57 +1478,89 @@ function attachCreateRequiredOptionContracts(schema, metadata) {
1470
1478
  oneOf: enrichedBranches
1471
1479
  };
1472
1480
  }
1473
- async function runContracts(options, global2) {
1474
- const selectedAction = normalizeToken(options.action);
1475
- const selectedCommand = normalizeToken(options.command);
1481
+ function resolveContractsSelection(options) {
1476
1482
  const schemaOnly = options.schemaOnly === true;
1477
1483
  const flagsOnly = options.flagsOnly === true;
1478
1484
  const availabilityOnly = options.availabilityOnly === true;
1479
1485
  const runtimeOnly = options.runtimeOnly === true;
1480
1486
  const fullOutput = options.full === true;
1487
+ const selectedAction = normalizeToken(options.action);
1488
+ const selectedCommand = normalizeToken(options.command);
1481
1489
  const unfilteredDefaultBriefMode = !fullOutput && !schemaOnly && !flagsOnly && !availabilityOnly && !selectedAction && !selectedCommand;
1482
- const omitUnfilteredSchema = unfilteredDefaultBriefMode;
1483
- const omitUnfilteredCommandFlags = unfilteredDefaultBriefMode;
1484
- const omitUnfilteredCommanderAliases = unfilteredDefaultBriefMode;
1485
- const projectionFlagsEnabled = [
1490
+ return {
1491
+ selectedAction,
1492
+ selectedCommand,
1486
1493
  schemaOnly,
1487
1494
  flagsOnly,
1488
- availabilityOnly
1495
+ availabilityOnly,
1496
+ runtimeOnly,
1497
+ fullOutput,
1498
+ omitUnfilteredSchema: unfilteredDefaultBriefMode,
1499
+ omitUnfilteredCommandFlags: unfilteredDefaultBriefMode,
1500
+ omitUnfilteredCommanderAliases: unfilteredDefaultBriefMode
1501
+ };
1502
+ }
1503
+ function assertSingleContractsProjection(selection) {
1504
+ const projectionFlagsEnabled = [
1505
+ selection.schemaOnly,
1506
+ selection.flagsOnly,
1507
+ selection.availabilityOnly
1489
1508
  ].filter((value) => value).length;
1490
1509
  if (projectionFlagsEnabled > 1) {
1491
1510
  throw new PmCliError("Choose only one projection flag: --schema-only, --flags-only, or --availability-only.", EXIT_CODE.USAGE);
1492
1511
  }
1493
- const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1494
- let settings = structuredClone(SETTINGS_DEFAULTS);
1512
+ }
1513
+ async function readContractsSettings(pmRoot) {
1495
1514
  try {
1496
- settings = await readSettings(pmRoot);
1515
+ return await readSettings(pmRoot);
1497
1516
  } catch {
1498
- settings = structuredClone(SETTINGS_DEFAULTS);
1517
+ return structuredClone(SETTINGS_DEFAULTS);
1499
1518
  }
1519
+ }
1520
+ async function resolveContractsRuntimeContext(global2, pmRoot) {
1521
+ const settings = await readContractsSettings(pmRoot);
1500
1522
  const runtimeProbe = await resolveRuntimeExtensionActionProbe(global2);
1501
1523
  const typeRegistry = resolveItemTypeRegistry(settings, runtimeProbe.registrations ?? getActiveExtensionRegistrations());
1502
- const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
1503
1524
  const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);
1504
- const runtimeFieldFlagMap = buildRuntimeFieldFlagContracts(runtimeFieldRegistry);
1505
- const createRequiredOptionContracts = buildCreateRequiredOptionContracts(typeRegistry);
1506
1525
  const extensionContracts = collectExtensionCommandContracts(runtimeProbe);
1507
- const mergedExtensionContracts = mergeExtensionContractsByAction(extensionContracts);
1508
- const extensionFlagMap = collectExtensionFlagContractsByCommand(runtimeProbe.flagRegistrations);
1509
- const includePackageOwnedActions = selectedAction !== void 0 && PACKAGE_OWNED_ACTIONS.has(selectedAction) && availabilityOnly || selectedCommand !== void 0 && PACKAGE_OWNED_COMMANDS.has(selectedCommand) && availabilityOnly;
1510
- const actionDescriptors = collectActionContractDescriptors(mergedExtensionContracts, { includePackageOwnedActions });
1511
- if (includePackageOwnedActions && selectedCommand !== void 0 && PACKAGE_OWNED_COMMANDS.has(selectedCommand) && !actionDescriptors.some((entry) => entry.command_path === selectedCommand)) {
1526
+ return {
1527
+ settings,
1528
+ runtimeProbe,
1529
+ typeRegistry,
1530
+ statusRegistry: resolveRuntimeStatusRegistry(settings.schema),
1531
+ runtimeFieldRegistry,
1532
+ runtimeFieldFlagMap: buildRuntimeFieldFlagContracts(runtimeFieldRegistry),
1533
+ createRequiredOptionContracts: buildCreateRequiredOptionContracts(typeRegistry),
1534
+ extensionContracts,
1535
+ mergedExtensionContracts: mergeExtensionContractsByAction(extensionContracts),
1536
+ extensionFlagMap: collectExtensionFlagContractsByCommand(runtimeProbe.flagRegistrations)
1537
+ };
1538
+ }
1539
+ function shouldIncludePackageOwnedActions(selection) {
1540
+ return selection.availabilityOnly && (selection.selectedAction !== void 0 && PACKAGE_OWNED_ACTIONS.has(selection.selectedAction) || selection.selectedCommand !== void 0 && PACKAGE_OWNED_COMMANDS.has(selection.selectedCommand));
1541
+ }
1542
+ function collectContractsActionDescriptors(selection, mergedExtensionContracts) {
1543
+ const actionDescriptors = collectActionContractDescriptors(mergedExtensionContracts, {
1544
+ includePackageOwnedActions: shouldIncludePackageOwnedActions(selection)
1545
+ });
1546
+ if (shouldIncludePackageOwnedActions(selection) && selection.selectedCommand !== void 0 && PACKAGE_OWNED_COMMANDS.has(selection.selectedCommand) && !actionDescriptors.some((entry) => entry.command_path === selection.selectedCommand)) {
1512
1547
  actionDescriptors.push({
1513
- action: packageOwnedActionForCommand(selectedCommand),
1548
+ action: packageOwnedActionForCommand(selection.selectedCommand),
1514
1549
  provider: "extension",
1515
1550
  requires_extension: true,
1516
- command_path: selectedCommand
1551
+ command_path: selection.selectedCommand
1517
1552
  });
1518
1553
  }
1554
+ return actionDescriptors;
1555
+ }
1556
+ function assertKnownContractsAction(selection, actionDescriptors) {
1519
1557
  const actionNames = new Set(actionDescriptors.map((entry) => entry.action));
1520
- if (selectedAction && !actionNames.has(selectedAction)) {
1521
- throw new PmCliError(`Unknown action: "${options.action}".`, EXIT_CODE.USAGE);
1558
+ if (selection.selectedAction && !actionNames.has(selection.selectedAction)) {
1559
+ throw new PmCliError(`Unknown action: "${selection.selectedAction}".`, EXIT_CODE.USAGE);
1522
1560
  }
1523
- const commandCatalog = [
1561
+ }
1562
+ function buildContractsCommandCatalog(actionDescriptors, mergedExtensionContracts) {
1563
+ return [
1524
1564
  .../* @__PURE__ */ new Set([
1525
1565
  ...PM_CORE_COMMAND_NAMES.filter((entry) => !PACKAGE_OWNED_COMMANDS.has(entry)),
1526
1566
  ...[...CORE_COMMAND_FLAG_CONTRACTS_BY_COMMAND.keys()].filter((entry) => !PACKAGE_OWNED_COMMANDS.has(entry)),
@@ -1529,66 +1569,103 @@ async function runContracts(options, global2) {
1529
1569
  ...mergedExtensionContracts.flatMap((entry) => entry.command.split("|"))
1530
1570
  ])
1531
1571
  ].map((entry) => normalizeCommandPath(entry)).filter((entry) => entry.length > 0).sort((left, right) => left.localeCompare(right));
1532
- const commandNames = new Set(commandCatalog);
1533
- if (selectedCommand && !commandNames.has(selectedCommand)) {
1534
- const namespaceChildren = commandCatalog.filter((command) => command.startsWith(`${selectedCommand} `));
1535
- if (namespaceChildren.length > 0) {
1536
- const displayedNamespaceChildren = namespaceChildren.slice(0, COMMAND_NAMESPACE_DISPLAY_LIMIT);
1537
- const hiddenNamespaceChildCount = namespaceChildren.length - displayedNamespaceChildren.length;
1538
- const displayedChildCommandList = hiddenNamespaceChildCount > 0 ? `${displayedNamespaceChildren.join(", ")}, and ${hiddenNamespaceChildCount} more` : displayedNamespaceChildren.join(", ");
1539
- const fallbackCandidates = namespaceChildren.slice(0, COMMAND_NAMESPACE_FALLBACK_LIMIT);
1540
- const childCommandExamples = namespaceChildren.slice(0, 5).map((command) => `pm contracts --command "${command}" --flags-only --json`);
1541
- const suggestedChildCommand = namespaceChildren[0];
1542
- throw new PmCliError(`Command "${options.command}" is a command namespace. Choose a concrete child command: ${displayedChildCommandList}.`, EXIT_CODE.USAGE, {
1543
- code: "command_namespace",
1544
- required: "Use a concrete child command path listed under this namespace.",
1545
- why: "Command groups expose help at the namespace root, but command flag contracts belong to executable child commands.",
1546
- examples: childCommandExamples,
1547
- nextSteps: [
1548
- `Retry with a child command, for example: ${childCommandExamples[0]}`
1549
- ],
1550
- recovery: {
1551
- suggested_retry: `pm contracts --command "${suggestedChildCommand}" --flags-only --json`,
1552
- fallback_candidates: fallbackCandidates.map((command) => ({
1553
- source: "command_namespace",
1554
- command: `pm contracts --command "${command}" --flags-only --json`,
1555
- reason: `Child command under ${selectedCommand}`
1556
- }))
1557
- }
1558
- });
1572
+ }
1573
+ function buildCommandNamespaceError(command, namespaceChildren) {
1574
+ const displayedNamespaceChildren = namespaceChildren.slice(0, COMMAND_NAMESPACE_DISPLAY_LIMIT);
1575
+ const hiddenNamespaceChildCount = namespaceChildren.length - displayedNamespaceChildren.length;
1576
+ const displayedChildCommandList = hiddenNamespaceChildCount > 0 ? `${displayedNamespaceChildren.join(", ")}, and ${hiddenNamespaceChildCount} more` : displayedNamespaceChildren.join(", ");
1577
+ const fallbackCandidates = namespaceChildren.slice(0, COMMAND_NAMESPACE_FALLBACK_LIMIT);
1578
+ const childCommandExamples = namespaceChildren.slice(0, 5).map((childCommand) => `pm contracts --command "${childCommand}" --flags-only --json`);
1579
+ const suggestedChildCommand = namespaceChildren[0];
1580
+ return new PmCliError(`Command "${command}" is a command namespace. Choose a concrete child command: ${displayedChildCommandList}.`, EXIT_CODE.USAGE, {
1581
+ code: "command_namespace",
1582
+ required: "Use a concrete child command path listed under this namespace.",
1583
+ why: "Command groups expose help at the namespace root, but command flag contracts belong to executable child commands.",
1584
+ examples: childCommandExamples,
1585
+ nextSteps: [`Retry with a child command, for example: ${childCommandExamples[0]}`],
1586
+ recovery: {
1587
+ suggested_retry: `pm contracts --command "${suggestedChildCommand}" --flags-only --json`,
1588
+ fallback_candidates: fallbackCandidates.map((childCommand) => ({
1589
+ source: "command_namespace",
1590
+ command: `pm contracts --command "${childCommand}" --flags-only --json`,
1591
+ reason: `Child command under ${command}`
1592
+ }))
1559
1593
  }
1560
- const packageHint = PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(selectedCommand);
1561
- if (packageHint) {
1562
- throw new PmCliError(`Unknown command: "${options.command}". Command "${selectedCommand}" is provided by the optional "${packageHint}" package. Run "pm install ${packageHint} --project" and retry.`, EXIT_CODE.USAGE, {
1563
- code: "unknown_command",
1564
- required: `Install the optional "${packageHint}" package, or choose a command from pm contracts --flags-only --json.`,
1565
- why: "Command contracts include core commands plus commands registered by active packages and extensions.",
1566
- examples: [`pm install ${packageHint} --project`, `pm contracts --command ${selectedCommand} --flags-only --json`],
1567
- nextSteps: [`Install the optional package first: pm install ${packageHint} --project`],
1568
- recovery: {
1569
- suggested_retry: `pm install ${packageHint} --project`
1570
- }
1571
- });
1594
+ });
1595
+ }
1596
+ function buildPackageOwnedCommandError(command, packageHint) {
1597
+ return new PmCliError(`Unknown command: "${command}". Command "${command}" is provided by the optional "${packageHint}" package. Run "pm install ${packageHint} --project" and retry.`, EXIT_CODE.USAGE, {
1598
+ code: "unknown_command",
1599
+ required: `Install the optional "${packageHint}" package, or choose a command from pm contracts --flags-only --json.`,
1600
+ why: "Command contracts include core commands plus commands registered by active packages and extensions.",
1601
+ examples: [`pm install ${packageHint} --project`, `pm contracts --command ${command} --flags-only --json`],
1602
+ nextSteps: [`Install the optional package first: pm install ${packageHint} --project`],
1603
+ recovery: {
1604
+ suggested_retry: `pm install ${packageHint} --project`
1572
1605
  }
1573
- throw new PmCliError(`Unknown command: "${options.command}".`, EXIT_CODE.USAGE, {
1574
- code: "unknown_command",
1575
- required: "Use a command path listed by pm contracts --flags-only --json.",
1576
- why: "Command contracts are generated from the active core, package, and extension command registry.",
1577
- examples: ["pm contracts --flags-only --json", "pm --help"],
1578
- nextSteps: ["Verify spelling and active packages/extensions, then rerun with a known command path."],
1579
- recovery: {
1580
- suggested_retry: "pm contracts --flags-only --json"
1581
- }
1582
- });
1606
+ });
1607
+ }
1608
+ function buildUnknownCommandError(command) {
1609
+ return new PmCliError(`Unknown command: "${command}".`, EXIT_CODE.USAGE, {
1610
+ code: "unknown_command",
1611
+ required: "Use a command path listed by pm contracts --flags-only --json.",
1612
+ why: "Command contracts are generated from the active core, package, and extension command registry.",
1613
+ examples: ["pm contracts --flags-only --json", "pm --help"],
1614
+ nextSteps: ["Verify spelling and active packages/extensions, then rerun with a known command path."],
1615
+ recovery: {
1616
+ suggested_retry: "pm contracts --flags-only --json"
1617
+ }
1618
+ });
1619
+ }
1620
+ function assertKnownContractsCommand(selection, commandCatalog) {
1621
+ if (!selection.selectedCommand) {
1622
+ return;
1583
1623
  }
1584
- const selectedPackageOwnedAction = selectedCommand ? PACKAGE_OWNED_COMMAND_ACTIONS.get(selectedCommand) : void 0;
1585
- const commandScopedDescriptors = selectedCommand ? actionDescriptors.filter((descriptor) => selectedPackageOwnedAction ? descriptor.action === selectedPackageOwnedAction : actionDescriptorMatchesSelectedCommand(descriptor, selectedCommand)) : actionDescriptors;
1586
- if (selectedCommand && selectedAction && !commandScopedDescriptors.some((descriptor) => descriptor.action === selectedAction)) {
1587
- throw new PmCliError(`Action "${options.action}" is not mapped to command "${options.command}" in contracts output.`, EXIT_CODE.USAGE);
1624
+ const commandNames = new Set(commandCatalog);
1625
+ if (commandNames.has(selection.selectedCommand)) {
1626
+ return;
1588
1627
  }
1589
- const schema = PM_TOOL_PARAMETERS_SCHEMA;
1590
- const schemaBranches = extractActionBranches(schema);
1591
- const schemaActionSet = new Set(schemaBranches.map((entry) => {
1628
+ const namespaceChildren = commandCatalog.filter((command) => command.startsWith(`${selection.selectedCommand} `));
1629
+ if (namespaceChildren.length > 0) {
1630
+ throw buildCommandNamespaceError(selection.selectedCommand, namespaceChildren);
1631
+ }
1632
+ const packageHint = PACKAGE_OWNED_COMMAND_INSTALL_HINTS.get(selection.selectedCommand);
1633
+ if (packageHint) {
1634
+ throw buildPackageOwnedCommandError(selection.selectedCommand, packageHint);
1635
+ }
1636
+ throw buildUnknownCommandError(selection.selectedCommand);
1637
+ }
1638
+ function resolveContractsActionContext(selection, runtime) {
1639
+ const actionDescriptors = collectContractsActionDescriptors(selection, runtime.mergedExtensionContracts);
1640
+ assertKnownContractsAction(selection, actionDescriptors);
1641
+ const commandCatalog = buildContractsCommandCatalog(actionDescriptors, runtime.mergedExtensionContracts);
1642
+ assertKnownContractsCommand(selection, commandCatalog);
1643
+ const selectedPackageOwnedAction = selection.selectedCommand ? PACKAGE_OWNED_COMMAND_ACTIONS.get(selection.selectedCommand) : void 0;
1644
+ const commandScopedDescriptors = selection.selectedCommand ? actionDescriptors.filter((descriptor) => selectedPackageOwnedAction ? descriptor.action === selectedPackageOwnedAction : actionDescriptorMatchesSelectedCommand(descriptor, selection.selectedCommand)) : actionDescriptors;
1645
+ if (selection.selectedCommand && selection.selectedAction && !commandScopedDescriptors.some((descriptor) => descriptor.action === selection.selectedAction)) {
1646
+ throw new PmCliError(`Action "${selection.selectedAction}" is not mapped to command "${selection.selectedCommand}" in contracts output.`, EXIT_CODE.USAGE);
1647
+ }
1648
+ const scopedActionDescriptors = selection.selectedAction ? commandScopedDescriptors.filter((descriptor) => descriptor.action === selection.selectedAction) : commandScopedDescriptors;
1649
+ const allActionAvailability = [
1650
+ ...new Map(scopedActionDescriptors.map((descriptor) => resolveActionAvailability(descriptor, runtime.runtimeProbe)).map((entry) => [
1651
+ /* c8 ignore next -- keyed dedupe by action|path is covered by runtime policy integration tests. */
1652
+ selectedPackageOwnedAction ? entry.action : `${entry.action}|${entry.command_path ?? ""}`,
1653
+ entry
1654
+ ])).values()
1655
+ ];
1656
+ const actionAvailability = selection.runtimeOnly && !selection.selectedAction && !selection.availabilityOnly ? allActionAvailability.filter((entry) => entry.invocable) : allActionAvailability;
1657
+ return {
1658
+ actionDescriptors,
1659
+ commandCatalog,
1660
+ commandScopedDescriptors,
1661
+ scopedActionDescriptors,
1662
+ selectedPackageOwnedAction,
1663
+ actionAvailability,
1664
+ actions: [...new Set(actionAvailability.map((entry) => entry.action))]
1665
+ };
1666
+ }
1667
+ function buildSchemaActionSet(schema) {
1668
+ return new Set(extractActionBranches(schema).map((entry) => {
1592
1669
  const properties = entry.properties;
1593
1670
  if (typeof properties !== "object" || properties === null) {
1594
1671
  return null;
@@ -1600,113 +1677,157 @@ async function runContracts(options, global2) {
1600
1677
  const actionConst = actionProperty.const;
1601
1678
  return typeof actionConst === "string" ? actionConst : null;
1602
1679
  }).filter((entry) => entry !== null));
1680
+ }
1681
+ function buildMergedContractsSchema(mergedExtensionContracts) {
1682
+ const schema = PM_TOOL_PARAMETERS_SCHEMA;
1683
+ const schemaBranches = extractActionBranches(schema);
1684
+ const schemaActionSet = buildSchemaActionSet(schema);
1603
1685
  const extensionBranches = mergedExtensionContracts.filter((contract) => !schemaActionSet.has(contract.action)).map((contract) => buildExtensionActionSchemaBranch(contract));
1604
- const mergedSchema = extensionBranches.length > 0 ? {
1686
+ return extensionBranches.length > 0 ? {
1605
1687
  ...schema,
1606
1688
  oneOf: [...schemaBranches, ...extensionBranches]
1607
1689
  } : schema;
1608
- const scopedActionDescriptors = selectedAction ? commandScopedDescriptors.filter((descriptor) => descriptor.action === selectedAction) : commandScopedDescriptors;
1609
- const allActionAvailability = [
1610
- ...new Map(scopedActionDescriptors.map((descriptor) => resolveActionAvailability(descriptor, runtimeProbe)).map((entry) => [
1611
- /* c8 ignore next -- keyed dedupe by action|path is covered by runtime policy integration tests. */
1612
- selectedPackageOwnedAction ? entry.action : `${entry.action}|${entry.command_path ?? ""}`,
1613
- entry
1614
- ])).values()
1615
- ];
1616
- const actionAvailability = runtimeOnly && !selectedAction && !availabilityOnly ? allActionAvailability.filter((entry) => entry.invocable) : allActionAvailability;
1617
- const actions = [...new Set(actionAvailability.map((entry) => entry.action))];
1618
- const descriptorActionSet = new Set(actionDescriptors.map((descriptor) => descriptor.action));
1619
- let filteredSchema = selectedAction ? filterSchemaByAction(mergedSchema, selectedAction) : selectedCommand ? filterSchemaByActions(mergedSchema, new Set(scopedActionDescriptors.map((descriptor) => descriptor.action))) : filterSchemaByActions(mergedSchema, descriptorActionSet);
1620
- if (runtimeOnly && !selectedAction) {
1621
- filteredSchema = filterSchemaByActions(filteredSchema, new Set(actions));
1622
- }
1623
- const includeSchemaSurface = !flagsOnly && !availabilityOnly;
1624
- if (includeSchemaSurface) {
1625
- filteredSchema = attachCreateRequiredOptionContracts(filteredSchema, createRequiredOptionContracts);
1626
- }
1627
- const commands = selectedCommand !== void 0 ? [selectedCommand] : selectedAction ? resolveScopedCommandsFromActionDescriptors(scopedActionDescriptors, commandCatalog) : commandCatalog;
1628
- const outputCommands = flagsOnly && selectedCommand === void 0 && selectedAction === void 0 ? compactCommandAliasSurface(commands) : commands;
1629
- const commandAliases = buildCommandAliasSurface(commands);
1630
- const extensionCommandContracts = selectedCommand ? extensionContracts.filter((entry) => entry.command === selectedCommand) : selectedAction ? extensionContracts.filter((entry) => outputCommands.includes(normalizeCommandPath(entry.command))) : extensionContracts;
1631
- const includeRuntimeContractSections = !(flagsOnly && !fullOutput);
1632
- const result = {
1690
+ }
1691
+ function filterContractsSchema(selection, actionContext, mergedSchema) {
1692
+ const descriptorActionSet = new Set(actionContext.actionDescriptors.map((descriptor) => descriptor.action));
1693
+ const filteredSchema = selection.selectedAction ? filterSchemaByAction(mergedSchema, selection.selectedAction) : selection.selectedCommand ? filterSchemaByActions(mergedSchema, new Set(actionContext.scopedActionDescriptors.map((descriptor) => descriptor.action))) : filterSchemaByActions(mergedSchema, descriptorActionSet);
1694
+ return selection.runtimeOnly && !selection.selectedAction ? filterSchemaByActions(filteredSchema, new Set(actionContext.actions)) : filteredSchema;
1695
+ }
1696
+ function resolveContractsSchemaContext(selection, runtime, actionContext) {
1697
+ const mergedSchema = buildMergedContractsSchema(runtime.mergedExtensionContracts);
1698
+ const includeSchemaSurface = !selection.flagsOnly && !selection.availabilityOnly;
1699
+ const filteredSchema = includeSchemaSurface ? attachCreateRequiredOptionContracts(filterContractsSchema(selection, actionContext, mergedSchema), runtime.createRequiredOptionContracts) : filterContractsSchema(selection, actionContext, mergedSchema);
1700
+ return { mergedSchema, filteredSchema };
1701
+ }
1702
+ function resolveContractsCommands(selection, actionContext) {
1703
+ if (selection.selectedCommand !== void 0) {
1704
+ return [selection.selectedCommand];
1705
+ }
1706
+ if (selection.selectedAction) {
1707
+ return resolveScopedCommandsFromActionDescriptors(actionContext.scopedActionDescriptors, actionContext.commandCatalog);
1708
+ }
1709
+ return actionContext.commandCatalog;
1710
+ }
1711
+ function resolveOutputCommands(selection, commands) {
1712
+ return selection.flagsOnly && selection.selectedCommand === void 0 && selection.selectedAction === void 0 ? compactCommandAliasSurface(commands) : commands;
1713
+ }
1714
+ function resolveExtensionCommandContracts(selection, runtime, outputCommands) {
1715
+ if (selection.selectedCommand) {
1716
+ return runtime.extensionContracts.filter((entry) => splitCommandPathAliases(entry.command).includes(selection.selectedCommand));
1717
+ }
1718
+ if (selection.selectedAction) {
1719
+ const outputCommandSet = new Set(outputCommands);
1720
+ return runtime.extensionContracts.filter((entry) => splitCommandPathAliases(entry.command).some((command) => outputCommandSet.has(command)));
1721
+ }
1722
+ return runtime.extensionContracts;
1723
+ }
1724
+ function createContractsResult(selection, schemaContext, actionContext, outputCommands) {
1725
+ return {
1633
1726
  schema_version: (
1634
1727
  /* c8 ignore next -- schema version/id fallbacks are exercised by schema snapshot tests. */
1635
- typeof mergedSchema["x-schema-version"] === "string" ? mergedSchema["x-schema-version"] : null
1728
+ typeof schemaContext.mergedSchema["x-schema-version"] === "string" ? schemaContext.mergedSchema["x-schema-version"] : null
1636
1729
  ),
1637
1730
  schema_id: (
1638
1731
  /* c8 ignore next -- schema version/id fallbacks are exercised by schema snapshot tests. */
1639
- typeof mergedSchema.$id === "string" ? mergedSchema.$id : null
1732
+ typeof schemaContext.mergedSchema.$id === "string" ? schemaContext.mergedSchema.$id : null
1640
1733
  ),
1641
1734
  selected: {
1642
- action: selectedAction ?? null,
1643
- command: selectedCommand ?? null,
1644
- schema_only: schemaOnly,
1645
- flags_only: flagsOnly,
1646
- availability_only: availabilityOnly,
1647
- runtime_only: runtimeOnly,
1648
- command_scoped: selectedCommand !== void 0
1735
+ action: selection.selectedAction ?? null,
1736
+ command: selection.selectedCommand ?? null,
1737
+ schema_only: selection.schemaOnly,
1738
+ flags_only: selection.flagsOnly,
1739
+ availability_only: selection.availabilityOnly,
1740
+ runtime_only: selection.runtimeOnly,
1741
+ command_scoped: selection.selectedCommand !== void 0
1649
1742
  },
1650
- commands: outputCommands
1743
+ commands: outputCommands,
1744
+ ...!selection.flagsOnly ? {
1745
+ actions: actionContext.actions,
1746
+ action_availability: actionContext.actionAvailability
1747
+ } : {}
1651
1748
  };
1652
- if (includeRuntimeContractSections) {
1653
- result.runtime_schema = {
1654
- statuses: statusRegistry.definitions.map((definition) => definition.id),
1655
- open_status: statusRegistry.open_status,
1656
- close_status: statusRegistry.close_status,
1657
- canceled_status: statusRegistry.canceled_status,
1658
- types: [...typeRegistry.types],
1659
- fields_by_command: Object.fromEntries([...runtimeFieldRegistry.command_to_fields.entries()].map(([command, definitions]) => [
1660
- command,
1661
- [
1662
- ...new Set(definitions.map((definition) => `--${definition.cli_flag}`))
1663
- ].sort((left, right) => left.localeCompare(right))
1664
- ]))
1665
- };
1666
- result.extension_contracts = {
1667
- capabilities: [...PM_EXTENSION_CAPABILITY_CONTRACTS],
1668
- services: [...PM_EXTENSION_SERVICE_NAME_CONTRACTS],
1669
- policy_modes: [...PM_EXTENSION_POLICY_MODE_CONTRACTS],
1670
- policy_surfaces: [...PM_EXTENSION_POLICY_SURFACE_CONTRACTS],
1671
- trust_modes: [...PM_EXTENSION_TRUST_MODE_CONTRACTS],
1672
- sandbox_profiles: [...PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS],
1673
- manifest_versions: [1, 2],
1674
- compatibility: {
1675
- current: "v2",
1676
- previous: ["v1"],
1677
- breaking_strategy: "versioned_breaking"
1678
- }
1679
- };
1680
- }
1681
- if (!flagsOnly) {
1682
- result.actions = actions;
1683
- result.action_availability = actionAvailability;
1749
+ }
1750
+ function attachRuntimeContractsResult(result, runtime) {
1751
+ result.runtime_schema = {
1752
+ statuses: runtime.statusRegistry.definitions.map((definition) => definition.id),
1753
+ open_status: runtime.statusRegistry.open_status,
1754
+ close_status: runtime.statusRegistry.close_status,
1755
+ canceled_status: runtime.statusRegistry.canceled_status,
1756
+ types: [...runtime.typeRegistry.types],
1757
+ fields_by_command: Object.fromEntries([...runtime.runtimeFieldRegistry.command_to_fields.entries()].map(([command, definitions]) => [
1758
+ command,
1759
+ [...new Set(definitions.map((definition) => `--${definition.cli_flag}`))].sort((left, right) => left.localeCompare(right))
1760
+ ]))
1761
+ };
1762
+ result.extension_contracts = {
1763
+ capabilities: [...PM_EXTENSION_CAPABILITY_CONTRACTS],
1764
+ services: [...PM_EXTENSION_SERVICE_NAME_CONTRACTS],
1765
+ policy_modes: [...PM_EXTENSION_POLICY_MODE_CONTRACTS],
1766
+ policy_surfaces: [...PM_EXTENSION_POLICY_SURFACE_CONTRACTS],
1767
+ trust_modes: [...PM_EXTENSION_TRUST_MODE_CONTRACTS],
1768
+ sandbox_profiles: [...PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS],
1769
+ manifest_versions: [1, 2],
1770
+ compatibility: {
1771
+ current: "v2",
1772
+ previous: ["v1"],
1773
+ breaking_strategy: "versioned_breaking"
1774
+ }
1775
+ };
1776
+ }
1777
+ function attachSchemaContractsResult(result, selection, schemaContext, extensionCommandContracts) {
1778
+ if (selection.flagsOnly || selection.availabilityOnly) {
1779
+ return;
1684
1780
  }
1685
- if (includeSchemaSurface && !omitUnfilteredSchema) {
1686
- result.schema = filteredSchema;
1687
- result.extension_commands = extensionCommandContracts;
1688
- } else if (includeSchemaSurface && omitUnfilteredSchema) {
1689
- result.schema_omitted_reason = "unfiltered_default_brief";
1781
+ if (!selection.omitUnfilteredSchema) {
1782
+ result.schema = schemaContext.filteredSchema;
1690
1783
  result.extension_commands = extensionCommandContracts;
1784
+ return;
1691
1785
  }
1692
- if (!schemaOnly && !availabilityOnly) {
1693
- if (!omitUnfilteredCommandFlags) {
1694
- result.command_flags = buildCommandFlagSurface(outputCommands, extensionFlagMap, runtimeFieldFlagMap);
1695
- } else {
1696
- result.command_flags_omitted_reason = "unfiltered_default_brief";
1697
- }
1698
- if (commandAliases.length > 0) {
1699
- result.command_aliases = commandAliases;
1700
- }
1786
+ result.schema_omitted_reason = "unfiltered_default_brief";
1787
+ result.extension_commands = extensionCommandContracts;
1788
+ }
1789
+ function attachFlagContractsResult(result, selection, runtime, outputCommands, commandAliases) {
1790
+ if (selection.schemaOnly || selection.availabilityOnly) {
1791
+ return;
1701
1792
  }
1702
- if (!schemaOnly && !flagsOnly && !availabilityOnly) {
1703
- if (!omitUnfilteredCommanderAliases) {
1704
- result.commander_aliases = buildCommanderAliasSurface();
1705
- } else {
1706
- result.commander_aliases_omitted_reason = "unfiltered_default_brief";
1707
- }
1793
+ if (!selection.omitUnfilteredCommandFlags) {
1794
+ result.command_flags = buildCommandFlagSurface(outputCommands, runtime.extensionFlagMap, runtime.runtimeFieldFlagMap);
1795
+ } else {
1796
+ result.command_flags_omitted_reason = "unfiltered_default_brief";
1797
+ }
1798
+ if (commandAliases.length > 0) {
1799
+ result.command_aliases = commandAliases;
1708
1800
  }
1709
- if (fullOutput && !schemaOnly && !flagsOnly && !availabilityOnly) {
1801
+ }
1802
+ function attachCommanderAliasContractsResult(result, selection) {
1803
+ if (selection.schemaOnly || selection.flagsOnly || selection.availabilityOnly) {
1804
+ return;
1805
+ }
1806
+ if (!selection.omitUnfilteredCommanderAliases) {
1807
+ result.commander_aliases = buildCommanderAliasSurface();
1808
+ return;
1809
+ }
1810
+ result.commander_aliases_omitted_reason = "unfiltered_default_brief";
1811
+ }
1812
+ async function runContracts(options, global2) {
1813
+ const selection = resolveContractsSelection(options);
1814
+ assertSingleContractsProjection(selection);
1815
+ const pmRoot = resolvePmRoot(process.cwd(), global2.path);
1816
+ const runtime = await resolveContractsRuntimeContext(global2, pmRoot);
1817
+ const actionContext = resolveContractsActionContext(selection, runtime);
1818
+ const schemaContext = resolveContractsSchemaContext(selection, runtime, actionContext);
1819
+ const commands = resolveContractsCommands(selection, actionContext);
1820
+ const outputCommands = resolveOutputCommands(selection, commands);
1821
+ const commandAliases = buildCommandAliasSurface(commands);
1822
+ const extensionCommandContracts = resolveExtensionCommandContracts(selection, runtime, outputCommands);
1823
+ const result = createContractsResult(selection, schemaContext, actionContext, outputCommands);
1824
+ if (!(selection.flagsOnly && !selection.fullOutput)) {
1825
+ attachRuntimeContractsResult(result, runtime);
1826
+ }
1827
+ attachSchemaContractsResult(result, selection, schemaContext, extensionCommandContracts);
1828
+ attachFlagContractsResult(result, selection, runtime, outputCommands, commandAliases);
1829
+ attachCommanderAliasContractsResult(result, selection);
1830
+ if (selection.fullOutput && !selection.schemaOnly && !selection.flagsOnly && !selection.availabilityOnly) {
1710
1831
  result.mcp_tools = buildMcpToolContracts();
1711
1832
  }
1712
1833
  return result;
@@ -1741,4 +1862,4 @@ export {
1741
1862
  _testOnlyContractsCommand,
1742
1863
  runContracts
1743
1864
  };
1744
- //# sourceMappingURL=contracts-SMOAN5NF.js.map
1865
+ //# sourceMappingURL=contracts-CP2EZJC7.js.map