@unbrained/pm-cli 2026.6.24 → 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 (744) hide show
  1. package/AGENTS.md +2 -0
  2. package/CHANGELOG.md +113 -1
  3. package/CONTRIBUTING.md +30 -0
  4. package/README.md +16 -3
  5. package/dist/cli/bootstrap-args.js +89 -79
  6. package/dist/cli/bootstrap-args.js.map +1 -1
  7. package/dist/cli/commander-usage.js +3 -3
  8. package/dist/cli/commander-usage.js.map +1 -1
  9. package/dist/cli/commands/aggregate.js +8 -7
  10. package/dist/cli/commands/aggregate.js.map +1 -1
  11. package/dist/cli/commands/calendar.js +63 -62
  12. package/dist/cli/commands/calendar.js.map +1 -1
  13. package/dist/cli/commands/close.d.ts +2 -4
  14. package/dist/cli/commands/close.js +5 -17
  15. package/dist/cli/commands/close.js.map +1 -1
  16. package/dist/cli/commands/completion.js +158 -9
  17. package/dist/cli/commands/completion.js.map +1 -1
  18. package/dist/cli/commands/config.d.ts +1 -1
  19. package/dist/cli/commands/config.js +2 -2
  20. package/dist/cli/commands/config.js.map +1 -1
  21. package/dist/cli/commands/context.d.ts +31 -4
  22. package/dist/cli/commands/context.js +33 -10
  23. package/dist/cli/commands/context.js.map +1 -1
  24. package/dist/cli/commands/contracts.js +48 -8
  25. package/dist/cli/commands/contracts.js.map +1 -1
  26. package/dist/cli/commands/create.d.ts +1 -6
  27. package/dist/cli/commands/create.js +491 -587
  28. package/dist/cli/commands/create.js.map +1 -1
  29. package/dist/cli/commands/extension/bundled-catalog.js +59 -46
  30. package/dist/cli/commands/extension/bundled-catalog.js.map +1 -1
  31. package/dist/cli/commands/extension/describe.d.ts +15 -0
  32. package/dist/cli/commands/extension/describe.js +48 -2
  33. package/dist/cli/commands/extension/describe.js.map +1 -1
  34. package/dist/cli/commands/extension/doctor.js +129 -75
  35. package/dist/cli/commands/extension/doctor.js.map +1 -1
  36. package/dist/cli/commands/extension/install-sources.js +37 -7
  37. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  38. package/dist/cli/commands/extension/managed-state.js +101 -57
  39. package/dist/cli/commands/extension/managed-state.js.map +1 -1
  40. package/dist/cli/commands/extension/scaffold.d.ts +38 -8
  41. package/dist/cli/commands/extension/scaffold.js +1956 -242
  42. package/dist/cli/commands/extension/scaffold.js.map +1 -1
  43. package/dist/cli/commands/extension.d.ts +28 -3
  44. package/dist/cli/commands/extension.js +1181 -880
  45. package/dist/cli/commands/extension.js.map +1 -1
  46. package/dist/cli/commands/index.d.ts +3 -1
  47. package/dist/cli/commands/index.js +5 -3
  48. package/dist/cli/commands/index.js.map +1 -1
  49. package/dist/cli/commands/item-filter-options.d.ts +63 -0
  50. package/dist/cli/commands/item-filter-options.js +10 -0
  51. package/dist/cli/commands/item-filter-options.js.map +1 -0
  52. package/dist/cli/commands/legacy-none-tokens.d.ts +14 -0
  53. package/dist/cli/commands/legacy-none-tokens.js +31 -2
  54. package/dist/cli/commands/legacy-none-tokens.js.map +1 -1
  55. package/dist/cli/commands/linked-artifacts.d.ts +7 -0
  56. package/dist/cli/commands/linked-artifacts.js +12 -2
  57. package/dist/cli/commands/linked-artifacts.js.map +1 -1
  58. package/dist/cli/commands/list-filter-shared.js +55 -48
  59. package/dist/cli/commands/list-filter-shared.js.map +1 -1
  60. package/dist/cli/commands/list.d.ts +16 -39
  61. package/dist/cli/commands/list.js +127 -118
  62. package/dist/cli/commands/list.js.map +1 -1
  63. package/dist/cli/commands/next.d.ts +98 -0
  64. package/dist/cli/commands/next.js +304 -0
  65. package/dist/cli/commands/next.js.map +1 -0
  66. package/dist/cli/commands/profile.d.ts +208 -0
  67. package/dist/cli/commands/profile.js +418 -0
  68. package/dist/cli/commands/profile.js.map +1 -0
  69. package/dist/cli/commands/repeatable-metadata-parsers.js +12 -13
  70. package/dist/cli/commands/repeatable-metadata-parsers.js.map +1 -1
  71. package/dist/cli/commands/schema.d.ts +7 -0
  72. package/dist/cli/commands/schema.js +9 -3
  73. package/dist/cli/commands/schema.js.map +1 -1
  74. package/dist/cli/commands/search.d.ts +2 -39
  75. package/dist/cli/commands/search.js +196 -172
  76. package/dist/cli/commands/search.js.map +1 -1
  77. package/dist/cli/commands/shared-unset-fields.d.ts +30 -0
  78. package/dist/cli/commands/shared-unset-fields.js +161 -0
  79. package/dist/cli/commands/shared-unset-fields.js.map +1 -0
  80. package/dist/cli/commands/stats.js +15 -3
  81. package/dist/cli/commands/stats.js.map +1 -1
  82. package/dist/cli/commands/test.js +115 -125
  83. package/dist/cli/commands/test.js.map +1 -1
  84. package/dist/cli/commands/update.d.ts +1 -6
  85. package/dist/cli/commands/update.js +37 -232
  86. package/dist/cli/commands/update.js.map +1 -1
  87. package/dist/cli/commands/validate.js +20 -5
  88. package/dist/cli/commands/validate.js.map +1 -1
  89. package/dist/cli/extension-command-options.js +48 -21
  90. package/dist/cli/extension-command-options.js.map +1 -1
  91. package/dist/cli/help-content.js +26 -2
  92. package/dist/cli/help-content.js.map +1 -1
  93. package/dist/cli/help-json-payload.js +3 -3
  94. package/dist/cli/help-json-payload.js.map +1 -1
  95. package/dist/cli/main.js +27 -12
  96. package/dist/cli/main.js.map +1 -1
  97. package/dist/cli/register-list-query.js +42 -3
  98. package/dist/cli/register-list-query.js.map +1 -1
  99. package/dist/cli/register-mutation.js +86 -2
  100. package/dist/cli/register-mutation.js.map +1 -1
  101. package/dist/cli/register-setup.js +67 -6
  102. package/dist/cli/register-setup.js.map +1 -1
  103. package/dist/cli/registration-helpers.d.ts +9 -1
  104. package/dist/cli/registration-helpers.js +149 -123
  105. package/dist/cli/registration-helpers.js.map +1 -1
  106. package/dist/cli-bundle/chunks/activity-AW6XVFH6.js +16 -0
  107. package/dist/cli-bundle/chunks/{activity-N7RVTLBQ.js → activity-DBLQVIP6.js} +9 -11
  108. package/dist/cli-bundle/chunks/{aggregate-63NWNIBR.js → aggregate-JTEF4BP7.js} +17 -18
  109. package/dist/cli-bundle/chunks/aggregate-JTEF4BP7.js.map +1 -0
  110. package/dist/cli-bundle/chunks/{aggregate-YHCYX2EV.js → aggregate-SDF7DUOD.js} +16 -17
  111. package/dist/cli-bundle/chunks/aggregate-SDF7DUOD.js.map +7 -0
  112. package/dist/cli-bundle/chunks/{append-VLQQDHMJ.js → append-LOVPGVPT.js} +8 -10
  113. package/dist/cli-bundle/chunks/{append-VLQQDHMJ.js.map → append-LOVPGVPT.js.map} +1 -1
  114. package/dist/cli-bundle/chunks/{append-PUKREFV5.js → append-QCFJSDFL.js} +10 -12
  115. package/dist/cli-bundle/chunks/{append-PUKREFV5.js.map → append-QCFJSDFL.js.map} +1 -1
  116. package/dist/cli-bundle/chunks/{chunk-ABYCA5VX.js → chunk-22WKIL3H.js} +9 -11
  117. package/dist/cli-bundle/chunks/{chunk-ABYCA5VX.js.map → chunk-22WKIL3H.js.map} +1 -1
  118. package/dist/cli-bundle/chunks/{chunk-A66VYUOV.js → chunk-2466X6E4.js} +9 -11
  119. package/dist/cli-bundle/chunks/{chunk-A66VYUOV.js.map → chunk-2466X6E4.js.map} +1 -1
  120. package/dist/cli-bundle/chunks/{chunk-F32L4HR6.js → chunk-27BXPBAY.js} +3 -3
  121. package/dist/cli-bundle/chunks/{schema-QO5I4FBL.js → chunk-2D4HATP2.js} +136 -66
  122. package/dist/cli-bundle/chunks/chunk-2D4HATP2.js.map +1 -0
  123. package/dist/cli-bundle/chunks/{chunk-J7I4C5ZB.js → chunk-3J6JRJ3I.js} +153 -125
  124. package/dist/cli-bundle/chunks/chunk-3J6JRJ3I.js.map +7 -0
  125. package/dist/cli-bundle/chunks/{chunk-OHDQNKJB.js → chunk-3K2M5OYU.js} +106 -34
  126. package/dist/cli-bundle/chunks/chunk-3K2M5OYU.js.map +7 -0
  127. package/dist/cli-bundle/chunks/{chunk-XVYKWZNL.js → chunk-3S2KT7NG.js} +127 -127
  128. package/dist/cli-bundle/chunks/chunk-3S2KT7NG.js.map +7 -0
  129. package/dist/cli-bundle/chunks/{chunk-5BBEWX6C.js → chunk-3VGN2UWE.js} +2 -2
  130. package/dist/cli-bundle/chunks/{chunk-N5B6WZC5.js → chunk-3XZCOZ5J.js} +115 -123
  131. package/dist/cli-bundle/chunks/chunk-3XZCOZ5J.js.map +1 -0
  132. package/dist/cli-bundle/chunks/chunk-4A3BJ675.js +799 -0
  133. package/dist/cli-bundle/chunks/chunk-4A3BJ675.js.map +1 -0
  134. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js +87 -0
  135. package/dist/cli-bundle/chunks/chunk-4BU75MF4.js.map +7 -0
  136. package/dist/cli-bundle/chunks/{chunk-HZF5RLKX.js → chunk-4DSGXSBL.js} +5 -7
  137. package/dist/cli-bundle/chunks/{chunk-HZF5RLKX.js.map → chunk-4DSGXSBL.js.map} +1 -1
  138. package/dist/cli-bundle/chunks/{chunk-JV27C7OZ.js → chunk-4DUVCVLZ.js} +4 -6
  139. package/dist/cli-bundle/chunks/{chunk-JV27C7OZ.js.map → chunk-4DUVCVLZ.js.map} +1 -1
  140. package/dist/cli-bundle/chunks/{chunk-IAP5KYBQ.js → chunk-4XOIEKSD.js} +563 -506
  141. package/dist/cli-bundle/chunks/chunk-4XOIEKSD.js.map +1 -0
  142. package/dist/cli-bundle/chunks/{context-5LB7UGKE.js → chunk-55SNVXRQ.js} +79 -82
  143. package/dist/cli-bundle/chunks/chunk-55SNVXRQ.js.map +7 -0
  144. package/dist/cli-bundle/chunks/{chunk-BFFO3AIB.js → chunk-5CGRF3L5.js} +128 -128
  145. package/dist/cli-bundle/chunks/chunk-5CGRF3L5.js.map +1 -0
  146. package/dist/cli-bundle/chunks/{chunk-JKL6HRMV.js → chunk-5QFDBI4F.js} +1260 -1046
  147. package/dist/cli-bundle/chunks/chunk-5QFDBI4F.js.map +7 -0
  148. package/dist/cli-bundle/chunks/{chunk-LU36E6GU.js → chunk-64HNBBFQ.js} +8 -12
  149. package/dist/cli-bundle/chunks/{chunk-LU36E6GU.js.map → chunk-64HNBBFQ.js.map} +1 -1
  150. package/dist/cli-bundle/chunks/chunk-6AQZPVHQ.js +2444 -0
  151. package/dist/cli-bundle/chunks/chunk-6AQZPVHQ.js.map +1 -0
  152. package/dist/cli-bundle/chunks/chunk-7M2HAZEB.js +17 -0
  153. package/dist/cli-bundle/chunks/chunk-7M2HAZEB.js.map +7 -0
  154. package/dist/cli-bundle/chunks/{chunk-VSAABFGQ.js → chunk-7R4QEMZZ.js} +1490 -734
  155. package/dist/cli-bundle/chunks/chunk-7R4QEMZZ.js.map +1 -0
  156. package/dist/cli-bundle/chunks/{chunk-M6TUBOGW.js → chunk-A7FPBAQS.js} +19 -12
  157. package/dist/cli-bundle/chunks/chunk-A7FPBAQS.js.map +1 -0
  158. package/dist/cli-bundle/chunks/{chunk-GQYJEEFX.js → chunk-AVEE5EHK.js} +53 -54
  159. package/dist/cli-bundle/chunks/chunk-AVEE5EHK.js.map +1 -0
  160. package/dist/cli-bundle/chunks/{chunk-FMWW2JDU.js → chunk-AXIDKKAT.js} +2 -2
  161. package/dist/cli-bundle/chunks/{chunk-TIM4OD74.js → chunk-BDTISOSD.js} +2 -2
  162. package/dist/cli-bundle/chunks/{chunk-C4C3EJCJ.js → chunk-BHO33VBQ.js} +509 -363
  163. package/dist/cli-bundle/chunks/chunk-BHO33VBQ.js.map +7 -0
  164. package/dist/cli-bundle/chunks/{chunk-6W3Y65PL.js → chunk-BZCEN4JA.js} +198 -177
  165. package/dist/cli-bundle/chunks/chunk-BZCEN4JA.js.map +7 -0
  166. package/dist/cli-bundle/chunks/{chunk-RRP6D345.js → chunk-CF7RL6FR.js} +12 -16
  167. package/dist/cli-bundle/chunks/{chunk-RRP6D345.js.map → chunk-CF7RL6FR.js.map} +1 -1
  168. package/dist/cli-bundle/chunks/{chunk-HC2S36NB.js → chunk-CWFNTKQJ.js} +154 -126
  169. package/dist/cli-bundle/chunks/chunk-CWFNTKQJ.js.map +1 -0
  170. package/dist/cli-bundle/chunks/chunk-CZVISY5A.js +87 -0
  171. package/dist/cli-bundle/chunks/chunk-CZVISY5A.js.map +7 -0
  172. package/dist/cli-bundle/chunks/{chunk-CZIFFMZI.js → chunk-DDPTYJIM.js} +2 -2
  173. package/dist/cli-bundle/chunks/{chunk-AYPQUFCX.js → chunk-EJUDVUYZ.js} +3 -3
  174. package/dist/cli-bundle/chunks/{chunk-EOGBMLCE.js → chunk-EVMTBV6V.js} +3 -3
  175. package/dist/cli-bundle/chunks/{chunk-RAWA3Y7O.js → chunk-FFMQB7WR.js} +199 -178
  176. package/dist/cli-bundle/chunks/chunk-FFMQB7WR.js.map +1 -0
  177. package/dist/cli-bundle/chunks/{chunk-CG3KP6I5.js → chunk-G7I7DEZA.js} +4 -4
  178. package/dist/cli-bundle/chunks/{chunk-MEXZ5XUM.js → chunk-GJ326ZKX.js} +53 -54
  179. package/dist/cli-bundle/chunks/chunk-GJ326ZKX.js.map +7 -0
  180. package/dist/cli-bundle/chunks/chunk-HPPFYYOV.js +119 -0
  181. package/dist/cli-bundle/chunks/chunk-HPPFYYOV.js.map +7 -0
  182. package/dist/cli-bundle/chunks/{chunk-OF7V47P3.js → chunk-HXTQJXWT.js} +2172 -2146
  183. package/dist/cli-bundle/chunks/chunk-HXTQJXWT.js.map +1 -0
  184. package/dist/cli-bundle/chunks/{chunk-F4BNR2IN.js → chunk-HYTGA6GI.js} +3 -3
  185. package/dist/cli-bundle/chunks/{chunk-2WCYE3IF.js → chunk-HZZEHPRG.js} +2 -2
  186. package/dist/cli-bundle/chunks/chunk-IBMFIKVS.js +14 -0
  187. package/dist/cli-bundle/chunks/chunk-IBMFIKVS.js.map +1 -0
  188. package/dist/cli-bundle/chunks/{chunk-YV2OSAMS.js → chunk-IJYK2T43.js} +2 -2
  189. package/dist/cli-bundle/chunks/{chunk-4XDGYFHL.js → chunk-IPYBJWTE.js} +10 -14
  190. package/dist/cli-bundle/chunks/{chunk-4XDGYFHL.js.map → chunk-IPYBJWTE.js.map} +1 -1
  191. package/dist/cli-bundle/chunks/{chunk-6EBNFQOR.js → chunk-IZBR4NRW.js} +10 -14
  192. package/dist/cli-bundle/chunks/{chunk-6EBNFQOR.js.map → chunk-IZBR4NRW.js.map} +1 -1
  193. package/dist/cli-bundle/chunks/{chunk-VFJYVXHL.js → chunk-JLM7BHI7.js} +7 -9
  194. package/dist/cli-bundle/chunks/{chunk-VFJYVXHL.js.map → chunk-JLM7BHI7.js.map} +1 -1
  195. package/dist/cli-bundle/chunks/{chunk-6EL7SW5C.js → chunk-JMP4E6D7.js} +114 -122
  196. package/dist/cli-bundle/chunks/chunk-JMP4E6D7.js.map +7 -0
  197. package/dist/cli-bundle/chunks/{chunk-QOUOMPHO.js → chunk-JPECA746.js} +2 -2
  198. package/dist/cli-bundle/chunks/{chunk-KJZOSF7J.js → chunk-JSU5P7VS.js} +100 -35
  199. package/dist/cli-bundle/chunks/chunk-JSU5P7VS.js.map +1 -0
  200. package/dist/cli-bundle/chunks/{context-55VEOYI3.js → chunk-JWXRETDF.js} +79 -82
  201. package/dist/cli-bundle/chunks/chunk-JWXRETDF.js.map +1 -0
  202. package/dist/cli-bundle/chunks/{chunk-OQ2E64FH.js → chunk-KNPEF7QG.js} +4 -4
  203. package/dist/cli-bundle/chunks/{chunk-3BKH2CL3.js → chunk-L5OEFZQG.js} +3 -3
  204. package/dist/cli-bundle/chunks/{chunk-DTABLLVE.js → chunk-LB6TP6MC.js} +5 -7
  205. package/dist/cli-bundle/chunks/{chunk-DTABLLVE.js.map → chunk-LB6TP6MC.js.map} +2 -2
  206. package/dist/cli-bundle/chunks/{chunk-TSI32UEL.js → chunk-MAUKX7JC.js} +6 -8
  207. package/dist/cli-bundle/chunks/{chunk-TSI32UEL.js.map → chunk-MAUKX7JC.js.map} +1 -1
  208. package/dist/cli-bundle/chunks/{chunk-SMXSDY7J.js → chunk-MDPEOIGN.js} +2221 -2172
  209. package/dist/cli-bundle/chunks/chunk-MDPEOIGN.js.map +7 -0
  210. package/dist/cli-bundle/chunks/{chunk-5S4ZGDB2.js → chunk-N74UMG5H.js} +2 -2
  211. package/dist/cli-bundle/chunks/{chunk-IXAZI443.js → chunk-NFDPYAIP.js} +2 -2
  212. package/dist/cli-bundle/chunks/{chunk-SKC4UTRP.js → chunk-NKZAN7BD.js} +3 -3
  213. package/dist/cli-bundle/chunks/chunk-NOLPZMSV.js +116 -0
  214. package/dist/cli-bundle/chunks/chunk-NOLPZMSV.js.map +1 -0
  215. package/dist/cli-bundle/chunks/{chunk-L7UXKP2I.js → chunk-NU2UEROZ.js} +1257 -1029
  216. package/dist/cli-bundle/chunks/chunk-NU2UEROZ.js.map +1 -0
  217. package/dist/cli-bundle/chunks/{chunk-HBAEFWX3.js → chunk-NUHHPVVS.js} +65 -335
  218. package/dist/cli-bundle/chunks/chunk-NUHHPVVS.js.map +7 -0
  219. package/dist/cli-bundle/chunks/{chunk-JPJDP4VU.js → chunk-NWMZWYYB.js} +2 -2
  220. package/dist/cli-bundle/chunks/{chunk-MWMHZOZZ.js → chunk-OGXLACHC.js} +10 -14
  221. package/dist/cli-bundle/chunks/{chunk-MWMHZOZZ.js.map → chunk-OGXLACHC.js.map} +1 -1
  222. package/dist/cli-bundle/chunks/chunk-OKQ22KTH.js +379 -0
  223. package/dist/cli-bundle/chunks/chunk-OKQ22KTH.js.map +1 -0
  224. package/dist/cli-bundle/chunks/{chunk-KKX4Z2SE.js → chunk-OTUHB4HS.js} +4 -4
  225. package/dist/cli-bundle/chunks/{chunk-ZLWRPBOW.js → chunk-QCWF6IYD.js} +510 -364
  226. package/dist/cli-bundle/chunks/chunk-QCWF6IYD.js.map +1 -0
  227. package/dist/cli-bundle/chunks/{chunk-PRVTGX64.js → chunk-RGEMWD6Q.js} +11 -23
  228. package/dist/cli-bundle/chunks/chunk-RGEMWD6Q.js.map +7 -0
  229. package/dist/cli-bundle/chunks/chunk-RH5ZBYFD.js +809 -0
  230. package/dist/cli-bundle/chunks/chunk-RH5ZBYFD.js.map +7 -0
  231. package/dist/cli-bundle/chunks/{chunk-ALQKV6U7.js → chunk-RLDHZHQS.js} +12 -16
  232. package/dist/cli-bundle/chunks/{chunk-ALQKV6U7.js.map → chunk-RLDHZHQS.js.map} +1 -1
  233. package/dist/cli-bundle/chunks/{schema-C6QA367T.js → chunk-RMMQ74TG.js} +144 -67
  234. package/dist/cli-bundle/chunks/chunk-RMMQ74TG.js.map +7 -0
  235. package/dist/cli-bundle/chunks/{chunk-EYPINTFR.js → chunk-RVUALSJF.js} +1516 -753
  236. package/dist/cli-bundle/chunks/chunk-RVUALSJF.js.map +7 -0
  237. package/dist/cli-bundle/chunks/chunk-SDR5J34Q.js +2468 -0
  238. package/dist/cli-bundle/chunks/chunk-SDR5J34Q.js.map +7 -0
  239. package/dist/cli-bundle/chunks/{chunk-WB5BYQMF.js → chunk-SLMUGTK3.js} +4 -4
  240. package/dist/cli-bundle/chunks/{chunk-SUREE24M.js → chunk-TP5Q5ZD3.js} +12 -24
  241. package/dist/cli-bundle/chunks/chunk-TP5Q5ZD3.js.map +1 -0
  242. package/dist/cli-bundle/chunks/{chunk-UACWNBL2.js → chunk-UYUYDGIB.js} +7 -9
  243. package/dist/cli-bundle/chunks/{chunk-UACWNBL2.js.map → chunk-UYUYDGIB.js.map} +1 -1
  244. package/dist/cli-bundle/chunks/{chunk-V4UYNSEM.js → chunk-UZIWVBE6.js} +6 -8
  245. package/dist/cli-bundle/chunks/{chunk-V4UYNSEM.js.map → chunk-UZIWVBE6.js.map} +1 -1
  246. package/dist/cli-bundle/chunks/{chunk-EWRSXOIZ.js → chunk-V3NOKJF2.js} +11 -13
  247. package/dist/cli-bundle/chunks/{chunk-EWRSXOIZ.js.map → chunk-V3NOKJF2.js.map} +1 -1
  248. package/dist/cli-bundle/chunks/{chunk-XXKV4UWE.js → chunk-VARHOHYV.js} +571 -507
  249. package/dist/cli-bundle/chunks/chunk-VARHOHYV.js.map +7 -0
  250. package/dist/cli-bundle/chunks/{chunk-AEACLRVH.js → chunk-VICZWYGZ.js} +18 -11
  251. package/dist/cli-bundle/chunks/chunk-VICZWYGZ.js.map +7 -0
  252. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js +84 -0
  253. package/dist/cli-bundle/chunks/chunk-VY3VQ22F.js.map +1 -0
  254. package/dist/cli-bundle/chunks/chunk-VZDBVEZR.js +382 -0
  255. package/dist/cli-bundle/chunks/chunk-VZDBVEZR.js.map +7 -0
  256. package/dist/cli-bundle/chunks/{chunk-GDUMGZK3.js → chunk-W4ULYO7Z.js} +11 -13
  257. package/dist/cli-bundle/chunks/{chunk-GDUMGZK3.js.map → chunk-W4ULYO7Z.js.map} +1 -1
  258. package/dist/cli-bundle/chunks/{chunk-I6QMJ2XT.js → chunk-WYDHYJPO.js} +2 -2
  259. package/dist/cli-bundle/chunks/{chunk-ALKFCIIB.js → chunk-YITK2PJ6.js} +9 -11
  260. package/dist/cli-bundle/chunks/{chunk-ALKFCIIB.js.map → chunk-YITK2PJ6.js.map} +1 -1
  261. package/dist/cli-bundle/chunks/chunk-YJIEJRZB.js +84 -0
  262. package/dist/cli-bundle/chunks/chunk-YJIEJRZB.js.map +1 -0
  263. package/dist/cli-bundle/chunks/{chunk-LNEDHJNQ.js → chunk-ZETXE4SE.js} +66 -329
  264. package/dist/cli-bundle/chunks/chunk-ZETXE4SE.js.map +1 -0
  265. package/dist/cli-bundle/chunks/{chunk-KIEAK7YE.js → chunk-ZRP4VG5U.js} +2 -2
  266. package/dist/cli-bundle/chunks/{claim-FZZZCAY6.js → claim-EMQLYPRW.js} +10 -12
  267. package/dist/cli-bundle/chunks/{claim-FZZZCAY6.js.map → claim-EMQLYPRW.js.map} +1 -1
  268. package/dist/cli-bundle/chunks/{claim-XK5QBZE3.js → claim-T3GCKV7C.js} +8 -10
  269. package/dist/cli-bundle/chunks/{claim-XK5QBZE3.js.map → claim-T3GCKV7C.js.map} +1 -1
  270. package/dist/cli-bundle/chunks/close-E6ZZGCJY.js +14 -0
  271. package/dist/cli-bundle/chunks/{close-QHMVWM7M.js → close-TQYAAFJP.js} +7 -8
  272. package/dist/cli-bundle/chunks/{close-many-OIXJE2JZ.js → close-many-BG5QQIDQ.js} +16 -18
  273. package/dist/cli-bundle/chunks/{close-many-OIXJE2JZ.js.map → close-many-BG5QQIDQ.js.map} +1 -1
  274. package/dist/cli-bundle/chunks/{close-many-SUU5BS2C.js → close-many-LDRVEQY2.js} +18 -20
  275. package/dist/cli-bundle/chunks/{close-many-SUU5BS2C.js.map → close-many-LDRVEQY2.js.map} +1 -1
  276. package/dist/cli-bundle/chunks/{comments-5YM62D75.js → comments-QCKR2YY2.js} +11 -13
  277. package/dist/cli-bundle/chunks/{comments-5YM62D75.js.map → comments-QCKR2YY2.js.map} +1 -1
  278. package/dist/cli-bundle/chunks/{comments-RH3IBIRH.js → comments-YUXJRZPQ.js} +9 -11
  279. package/dist/cli-bundle/chunks/{comments-RH3IBIRH.js.map → comments-YUXJRZPQ.js.map} +1 -1
  280. package/dist/cli-bundle/chunks/{config-NCNNWF6R.js → config-DMSU64QO.js} +18 -387
  281. package/dist/cli-bundle/chunks/config-DMSU64QO.js.map +7 -0
  282. package/dist/cli-bundle/chunks/{config-SW3U7XP2.js → config-QH2DICD6.js} +18 -380
  283. package/dist/cli-bundle/chunks/config-QH2DICD6.js.map +1 -0
  284. package/dist/cli-bundle/chunks/context-B6275WPX.js +46 -0
  285. package/dist/cli-bundle/chunks/context-OCZ3FJ4Z.js +42 -0
  286. package/dist/cli-bundle/chunks/{contracts-SY6PDFIK.js → contracts-HN7ABKLP.js} +72 -15
  287. package/dist/cli-bundle/chunks/contracts-HN7ABKLP.js.map +7 -0
  288. package/dist/cli-bundle/chunks/{contracts-JXFGBOYT.js → contracts-W4FZVVD6.js} +72 -15
  289. package/dist/cli-bundle/chunks/contracts-W4FZVVD6.js.map +1 -0
  290. package/dist/cli-bundle/chunks/{copy-N3GE6FYS.js → copy-BTJOSKKT.js} +7 -11
  291. package/dist/cli-bundle/chunks/{copy-N3GE6FYS.js.map → copy-BTJOSKKT.js.map} +1 -1
  292. package/dist/cli-bundle/chunks/{copy-IEDBJOOX.js → copy-DEM4DATS.js} +9 -13
  293. package/dist/cli-bundle/chunks/{copy-IEDBJOOX.js.map → copy-DEM4DATS.js.map} +1 -1
  294. package/dist/cli-bundle/chunks/create-OH3BDGBB.js +28 -0
  295. package/dist/cli-bundle/chunks/{create-O4VONGPG.js → create-RLRJMRTM.js} +12 -14
  296. package/dist/cli-bundle/chunks/{delete-LPEIF7RU.js → delete-BHK7VB2Z.js} +5 -7
  297. package/dist/cli-bundle/chunks/{delete-LPEIF7RU.js.map → delete-BHK7VB2Z.js.map} +1 -1
  298. package/dist/cli-bundle/chunks/{delete-724EQ6OS.js → delete-LSVHAB4Y.js} +7 -9
  299. package/dist/cli-bundle/chunks/{delete-724EQ6OS.js.map → delete-LSVHAB4Y.js.map} +1 -1
  300. package/dist/cli-bundle/chunks/{deps-RSBU4SIU.js → deps-4UDFJRUA.js} +8 -11
  301. package/dist/cli-bundle/chunks/{deps-RSBU4SIU.js.map → deps-4UDFJRUA.js.map} +1 -1
  302. package/dist/cli-bundle/chunks/{deps-T3Y6Y7RT.js → deps-XHYXWEPT.js} +6 -9
  303. package/dist/cli-bundle/chunks/{deps-T3Y6Y7RT.js.map → deps-XHYXWEPT.js.map} +1 -1
  304. package/dist/cli-bundle/chunks/{docs-IFS7HZPP.js → docs-26S44RXU.js} +8 -9
  305. package/dist/cli-bundle/chunks/{docs-IFS7HZPP.js.map → docs-26S44RXU.js.map} +1 -1
  306. package/dist/cli-bundle/chunks/{docs-75ZLCO3G.js → docs-GYZNVS26.js} +10 -11
  307. package/dist/cli-bundle/chunks/{docs-75ZLCO3G.js.map → docs-GYZNVS26.js.map} +1 -1
  308. package/dist/cli-bundle/chunks/{eval-L2KD7W3M.js → eval-PGRVIJQU.js} +12 -14
  309. package/dist/cli-bundle/chunks/{eval-L2KD7W3M.js.map → eval-PGRVIJQU.js.map} +1 -1
  310. package/dist/cli-bundle/chunks/{eval-QGR7JCQO.js → eval-UYF3ZPVO.js} +10 -12
  311. package/dist/cli-bundle/chunks/{eval-QGR7JCQO.js.map → eval-UYF3ZPVO.js.map} +1 -1
  312. package/dist/cli-bundle/chunks/{extension-YQF4CPIR.js → extension-CPSLJQVE.js} +12 -7
  313. package/dist/cli-bundle/chunks/{extension-3JYWJ5K2.js → extension-CXJ6RELI.js} +12 -7
  314. package/dist/cli-bundle/chunks/{files-EPEJMJHQ.js → files-MBNICQFM.js} +9 -11
  315. package/dist/cli-bundle/chunks/{files-EPEJMJHQ.js.map → files-MBNICQFM.js.map} +1 -1
  316. package/dist/cli-bundle/chunks/{files-5BQWDRDT.js → files-NQHEXUZD.js} +11 -13
  317. package/dist/cli-bundle/chunks/{files-5BQWDRDT.js.map → files-NQHEXUZD.js.map} +1 -1
  318. package/dist/cli-bundle/chunks/{focus-RWGKD76E.js → focus-DWYIG7GU.js} +10 -14
  319. package/dist/cli-bundle/chunks/{focus-RWGKD76E.js.map → focus-DWYIG7GU.js.map} +1 -1
  320. package/dist/cli-bundle/chunks/{focus-DQVJAPOE.js → focus-XZW5423D.js} +8 -12
  321. package/dist/cli-bundle/chunks/{focus-DQVJAPOE.js.map → focus-XZW5423D.js.map} +1 -1
  322. package/dist/cli-bundle/chunks/{gc-BEJMQT64.js → gc-7GQYOS2G.js} +3 -3
  323. package/dist/cli-bundle/chunks/{gc-JEFQDJPA.js → gc-LPVMKJQJ.js} +3 -3
  324. package/dist/cli-bundle/chunks/{get-LQG6PEVG.js → get-A7MAOHCU.js} +10 -13
  325. package/dist/cli-bundle/chunks/{get-LQG6PEVG.js.map → get-A7MAOHCU.js.map} +1 -1
  326. package/dist/cli-bundle/chunks/{get-WVN75H42.js → get-DSDEKJ3L.js} +12 -15
  327. package/dist/cli-bundle/chunks/{get-WVN75H42.js.map → get-DSDEKJ3L.js.map} +1 -1
  328. package/dist/cli-bundle/chunks/{health-JJJOY7DJ.js → health-3IPFLKXB.js} +17 -17
  329. package/dist/cli-bundle/chunks/{health-P67NZ6TT.js → health-GZXGBZ36.js} +17 -17
  330. package/dist/cli-bundle/chunks/{history-RUKPKNY7.js → history-NERDJNUB.js} +8 -10
  331. package/dist/cli-bundle/chunks/history-WSZHY3PN.js +18 -0
  332. package/dist/cli-bundle/chunks/{history-compact-NQ7VPRVT.js → history-compact-2WRZ2WK4.js} +11 -14
  333. package/dist/cli-bundle/chunks/{history-compact-NQ7VPRVT.js.map → history-compact-2WRZ2WK4.js.map} +1 -1
  334. package/dist/cli-bundle/chunks/{history-compact-ZAOWR7GD.js → history-compact-HR7BB4LR.js} +13 -16
  335. package/dist/cli-bundle/chunks/{history-compact-ZAOWR7GD.js.map → history-compact-HR7BB4LR.js.map} +1 -1
  336. package/dist/cli-bundle/chunks/history-redact-MP6CH7U5.js +19 -0
  337. package/dist/cli-bundle/chunks/{history-redact-YY4XYVEP.js → history-redact-O3NBCNWC.js} +9 -11
  338. package/dist/cli-bundle/chunks/{history-repair-EHL4ODQY.js → history-repair-LCMOS45X.js} +11 -14
  339. package/dist/cli-bundle/chunks/{history-repair-EHL4ODQY.js.map → history-repair-LCMOS45X.js.map} +1 -1
  340. package/dist/cli-bundle/chunks/{history-repair-YSQH6SY6.js → history-repair-XA3LC4GA.js} +13 -16
  341. package/dist/cli-bundle/chunks/{history-repair-YSQH6SY6.js.map → history-repair-XA3LC4GA.js.map} +1 -1
  342. package/dist/cli-bundle/chunks/{init-HBFGYS66.js → init-64XDLQJB.js} +12 -11
  343. package/dist/cli-bundle/chunks/init-PAX32BJA.js +22 -0
  344. package/dist/cli-bundle/chunks/{learnings-KFQO7GEZ.js → learnings-JR6MA5TI.js} +9 -11
  345. package/dist/cli-bundle/chunks/{learnings-KFQO7GEZ.js.map → learnings-JR6MA5TI.js.map} +1 -1
  346. package/dist/cli-bundle/chunks/{learnings-J555ZFPD.js → learnings-LPKCSJX7.js} +11 -13
  347. package/dist/cli-bundle/chunks/{learnings-J555ZFPD.js.map → learnings-LPKCSJX7.js.map} +1 -1
  348. package/dist/cli-bundle/chunks/{list-C7R33MD5.js → list-DNBJVO3E.js} +10 -10
  349. package/dist/cli-bundle/chunks/{list-DSN6UNFB.js → list-G5Y65VF6.js} +10 -10
  350. package/dist/cli-bundle/chunks/next-BCERKDUR.js +277 -0
  351. package/dist/cli-bundle/chunks/next-BCERKDUR.js.map +7 -0
  352. package/dist/cli-bundle/chunks/next-FYTQF6HG.js +274 -0
  353. package/dist/cli-bundle/chunks/next-FYTQF6HG.js.map +1 -0
  354. package/dist/cli-bundle/chunks/{notes-V4VNIQL4.js → notes-2BMU3VVQ.js} +9 -11
  355. package/dist/cli-bundle/chunks/{notes-V4VNIQL4.js.map → notes-2BMU3VVQ.js.map} +1 -1
  356. package/dist/cli-bundle/chunks/{notes-VYJFN2A3.js → notes-6KTGO2OJ.js} +11 -13
  357. package/dist/cli-bundle/chunks/{notes-VYJFN2A3.js.map → notes-6KTGO2OJ.js.map} +1 -1
  358. package/dist/cli-bundle/chunks/{plan-RBHQ5PO7.js → plan-4WXEQCTN.js} +15 -18
  359. package/dist/cli-bundle/chunks/{plan-RBHQ5PO7.js.map → plan-4WXEQCTN.js.map} +1 -1
  360. package/dist/cli-bundle/chunks/{plan-DHRSVSHR.js → plan-RKZHQVXR.js} +17 -20
  361. package/dist/cli-bundle/chunks/{plan-DHRSVSHR.js.map → plan-RKZHQVXR.js.map} +1 -1
  362. package/dist/cli-bundle/chunks/profile-4OMM32CD.js +1235 -0
  363. package/dist/cli-bundle/chunks/profile-4OMM32CD.js.map +7 -0
  364. package/dist/cli-bundle/chunks/profile-QLER5ENE.js +1197 -0
  365. package/dist/cli-bundle/chunks/profile-QLER5ENE.js.map +1 -0
  366. package/dist/cli-bundle/chunks/{register-list-query-OM3E2KMY.js → register-list-query-7LV46VAU.js} +45 -21
  367. package/dist/cli-bundle/chunks/register-list-query-7LV46VAU.js.map +1 -0
  368. package/dist/cli-bundle/chunks/{register-list-query-CCMHGZTF.js → register-list-query-SNG5PGA4.js} +44 -20
  369. package/dist/cli-bundle/chunks/register-list-query-SNG5PGA4.js.map +7 -0
  370. package/dist/cli-bundle/chunks/{register-mutation-N3CDEGZU.js → register-mutation-ENNDUAZG.js} +106 -40
  371. package/dist/cli-bundle/chunks/register-mutation-ENNDUAZG.js.map +1 -0
  372. package/dist/cli-bundle/chunks/{register-mutation-UXTTWL6N.js → register-mutation-KK7PHYYU.js} +105 -39
  373. package/dist/cli-bundle/chunks/register-mutation-KK7PHYYU.js.map +7 -0
  374. package/dist/cli-bundle/chunks/{register-operations-UDIFMQKD.js → register-operations-C6OWLDSH.js} +32 -34
  375. package/dist/cli-bundle/chunks/{register-operations-UDIFMQKD.js.map → register-operations-C6OWLDSH.js.map} +1 -1
  376. package/dist/cli-bundle/chunks/{register-operations-R2FLOCRI.js → register-operations-HZ6XERQG.js} +30 -32
  377. package/dist/cli-bundle/chunks/{register-operations-R2FLOCRI.js.map → register-operations-HZ6XERQG.js.map} +1 -1
  378. package/dist/cli-bundle/chunks/{register-setup-G5LTSFYK.js → register-setup-P67EMBDJ.js} +68 -25
  379. package/dist/cli-bundle/chunks/register-setup-P67EMBDJ.js.map +1 -0
  380. package/dist/cli-bundle/chunks/{register-setup-TWHKICM2.js → register-setup-ZKJ53RS7.js} +67 -24
  381. package/dist/cli-bundle/chunks/register-setup-ZKJ53RS7.js.map +7 -0
  382. package/dist/cli-bundle/chunks/{restore-LL2WLEDG.js → restore-4MHZFJ2E.js} +9 -11
  383. package/dist/cli-bundle/chunks/restore-YALDGTQR.js +17 -0
  384. package/dist/cli-bundle/chunks/{scheduling-shortcuts-M4H2ZI64.js → scheduling-shortcuts-LB6DOLRL.js} +14 -16
  385. package/dist/cli-bundle/chunks/{scheduling-shortcuts-M4H2ZI64.js.map → scheduling-shortcuts-LB6DOLRL.js.map} +1 -1
  386. package/dist/cli-bundle/chunks/{scheduling-shortcuts-255GI3BU.js → scheduling-shortcuts-UTOYKLXQ.js} +12 -14
  387. package/dist/cli-bundle/chunks/{scheduling-shortcuts-255GI3BU.js.map → scheduling-shortcuts-UTOYKLXQ.js.map} +1 -1
  388. package/dist/cli-bundle/chunks/schema-73HR2OJW.js +75 -0
  389. package/dist/cli-bundle/chunks/schema-U6LJKSIR.js +71 -0
  390. package/dist/cli-bundle/chunks/{search-2EI6EAXH.js → search-AXPXKZER.js} +10 -12
  391. package/dist/cli-bundle/chunks/{search-QBFBLQRO.js → search-KILGT37L.js} +10 -12
  392. package/dist/cli-bundle/chunks/{stats-TKC6CAKB.js → stats-PSYVVTNZ.js} +21 -13
  393. package/dist/cli-bundle/chunks/stats-PSYVVTNZ.js.map +1 -0
  394. package/dist/cli-bundle/chunks/{stats-TCW2SZQG.js → stats-W5KNVJWQ.js} +20 -12
  395. package/dist/cli-bundle/chunks/stats-W5KNVJWQ.js.map +7 -0
  396. package/dist/cli-bundle/chunks/{telemetry-BT2VSWU2.js → telemetry-BZUF6H7G.js} +4 -4
  397. package/dist/cli-bundle/chunks/{telemetry-LQ6FRTUT.js → telemetry-GAHHQTOS.js} +4 -4
  398. package/dist/cli-bundle/chunks/test-ACD52Z3S.js +35 -0
  399. package/dist/cli-bundle/chunks/test-ACD52Z3S.js.map +7 -0
  400. package/dist/cli-bundle/chunks/{test-NV2DRPUS.js → test-PWDIZ255.js} +15 -16
  401. package/dist/cli-bundle/chunks/test-PWDIZ255.js.map +1 -0
  402. package/dist/cli-bundle/chunks/{test-all-DZ76VTPQ.js → test-all-L2MDDUCA.js} +20 -22
  403. package/dist/cli-bundle/chunks/{test-all-DZ76VTPQ.js.map → test-all-L2MDDUCA.js.map} +1 -1
  404. package/dist/cli-bundle/chunks/{test-all-REW67LXT.js → test-all-RBZ6DLU2.js} +18 -20
  405. package/dist/cli-bundle/chunks/{test-all-REW67LXT.js.map → test-all-RBZ6DLU2.js.map} +1 -1
  406. package/dist/cli-bundle/chunks/{test-runs-PX73DMMI.js → test-runs-PLRAZEFW.js} +5 -6
  407. package/dist/cli-bundle/chunks/test-runs-PLRAZEFW.js.map +7 -0
  408. package/dist/cli-bundle/chunks/{test-runs-FQ5WNQLP.js → test-runs-UXIXPDKU.js} +6 -7
  409. package/dist/cli-bundle/chunks/test-runs-UXIXPDKU.js.map +1 -0
  410. package/dist/cli-bundle/chunks/update-AMRSOIWP.js +24 -0
  411. package/dist/cli-bundle/chunks/update-AMRSOIWP.js.map +7 -0
  412. package/dist/cli-bundle/chunks/update-KFX2SIAC.js +28 -0
  413. package/dist/cli-bundle/chunks/update-KFX2SIAC.js.map +1 -0
  414. package/dist/cli-bundle/chunks/{update-many-Q5ZEI64S.js → update-many-RNSBX2TA.js} +35 -36
  415. package/dist/cli-bundle/chunks/{update-many-Q5ZEI64S.js.map → update-many-RNSBX2TA.js.map} +1 -1
  416. package/dist/cli-bundle/chunks/{update-many-2ILP6E4Y.js → update-many-Z5GJS5LC.js} +33 -34
  417. package/dist/cli-bundle/chunks/{update-many-2ILP6E4Y.js.map → update-many-Z5GJS5LC.js.map} +1 -1
  418. package/dist/cli-bundle/chunks/{upgrade-FOZKQTQF.js → upgrade-BRL6KCOJ.js} +13 -8
  419. package/dist/cli-bundle/chunks/{upgrade-FOZKQTQF.js.map → upgrade-BRL6KCOJ.js.map} +1 -1
  420. package/dist/cli-bundle/chunks/{upgrade-DHL74PQH.js → upgrade-HAK6JG2O.js} +11 -6
  421. package/dist/cli-bundle/chunks/{upgrade-DHL74PQH.js.map → upgrade-HAK6JG2O.js.map} +1 -1
  422. package/dist/cli-bundle/chunks/{validate-HYZNIB6W.js → validate-MTUVL5VC.js} +38 -28
  423. package/dist/cli-bundle/chunks/validate-MTUVL5VC.js.map +7 -0
  424. package/dist/cli-bundle/chunks/{validate-54SYJ7QW.js → validate-X5W76YJL.js} +39 -29
  425. package/dist/cli-bundle/chunks/validate-X5W76YJL.js.map +1 -0
  426. package/dist/cli-bundle/main.js +95 -724
  427. package/dist/cli-bundle/main.js.map +4 -4
  428. package/dist/core/config/positional-value.d.ts +2 -0
  429. package/dist/core/config/positional-value.js +2 -2
  430. package/dist/core/config/positional-value.js.map +1 -1
  431. package/dist/core/extensions/activation-summary-markdown.d.ts +71 -0
  432. package/dist/core/extensions/activation-summary-markdown.js +151 -0
  433. package/dist/core/extensions/activation-summary-markdown.js.map +1 -0
  434. package/dist/core/extensions/activation-summary.d.ts +2 -0
  435. package/dist/core/extensions/activation-summary.js +3 -2
  436. package/dist/core/extensions/activation-summary.js.map +1 -1
  437. package/dist/core/extensions/capability-usage.d.ts +1 -1
  438. package/dist/core/extensions/capability-usage.js +4 -3
  439. package/dist/core/extensions/capability-usage.js.map +1 -1
  440. package/dist/core/extensions/extension-policy.d.ts +18 -3
  441. package/dist/core/extensions/extension-policy.js +116 -106
  442. package/dist/core/extensions/extension-policy.js.map +1 -1
  443. package/dist/core/extensions/extension-registries.js +3 -2
  444. package/dist/core/extensions/extension-registries.js.map +1 -1
  445. package/dist/core/extensions/extension-types.d.ts +21 -1
  446. package/dist/core/extensions/extension-types.js +3 -2
  447. package/dist/core/extensions/extension-types.js.map +1 -1
  448. package/dist/core/extensions/loader.js +439 -232
  449. package/dist/core/extensions/loader.js.map +1 -1
  450. package/dist/core/fs/fs-utils.js +27 -2
  451. package/dist/core/fs/fs-utils.js.map +1 -1
  452. package/dist/core/item/actionability.d.ts +57 -0
  453. package/dist/core/item/actionability.js +178 -0
  454. package/dist/core/item/actionability.js.map +1 -0
  455. package/dist/core/item/item-format.js +523 -410
  456. package/dist/core/item/item-format.js.map +1 -1
  457. package/dist/core/item/type-registry.js +18 -45
  458. package/dist/core/item/type-registry.js.map +1 -1
  459. package/dist/core/profile/profile-describe.d.ts +64 -0
  460. package/dist/core/profile/profile-describe.js +83 -0
  461. package/dist/core/profile/profile-describe.js.map +1 -0
  462. package/dist/core/profile/profile-lint.d.ts +53 -0
  463. package/dist/core/profile/profile-lint.js +422 -0
  464. package/dist/core/profile/profile-lint.js.map +1 -0
  465. package/dist/core/profile/profile-plan.d.ts +145 -0
  466. package/dist/core/profile/profile-plan.js +0 -0
  467. package/dist/core/profile/profile-plan.js.map +1 -0
  468. package/dist/core/profile/profile-presets.d.ts +218 -0
  469. package/dist/core/profile/profile-presets.js +325 -0
  470. package/dist/core/profile/profile-presets.js.map +1 -0
  471. package/dist/core/schema/fields-file.js +25 -25
  472. package/dist/core/schema/fields-file.js.map +1 -1
  473. package/dist/core/schema/item-types-file.js +3 -3
  474. package/dist/core/schema/item-types-file.js.map +1 -1
  475. package/dist/core/schema/runtime-schema.js +4 -4
  476. package/dist/core/schema/runtime-schema.js.map +1 -1
  477. package/dist/core/schema/status-defs-file.js +3 -3
  478. package/dist/core/schema/status-defs-file.js.map +1 -1
  479. package/dist/core/shared/serialization.js +83 -62
  480. package/dist/core/shared/serialization.js.map +1 -1
  481. package/dist/core/store/item-store.d.ts +1 -0
  482. package/dist/core/store/item-store.js +16 -8
  483. package/dist/core/store/item-store.js.map +1 -1
  484. package/dist/core/store/paths.js +4 -32
  485. package/dist/core/store/paths.js.map +1 -1
  486. package/dist/core/store/settings.js +14 -14
  487. package/dist/core/store/settings.js.map +1 -1
  488. package/dist/core/telemetry/observability.js +50 -54
  489. package/dist/core/telemetry/observability.js.map +1 -1
  490. package/dist/core/telemetry/runtime.js +11 -2
  491. package/dist/core/telemetry/runtime.js.map +1 -1
  492. package/dist/core/test/background-runs.js +3 -2
  493. package/dist/core/test/background-runs.js.map +1 -1
  494. package/dist/core/validate/linked-artifact-reference.d.ts +24 -0
  495. package/dist/core/validate/linked-artifact-reference.js +41 -0
  496. package/dist/core/validate/linked-artifact-reference.js.map +1 -0
  497. package/dist/mcp/server.js +540 -420
  498. package/dist/mcp/server.js.map +1 -1
  499. package/dist/mcp/tool-definitions.js +33 -2
  500. package/dist/mcp/tool-definitions.js.map +1 -1
  501. package/dist/sdk/cli-contracts/commander-types.d.ts +1 -0
  502. package/dist/sdk/cli-contracts/commander-types.js +15 -2
  503. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  504. package/dist/sdk/cli-contracts/enum-contracts.d.ts +3 -3
  505. package/dist/sdk/cli-contracts/enum-contracts.js +6 -2
  506. package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -1
  507. package/dist/sdk/cli-contracts/flag-contracts.d.ts +149 -0
  508. package/dist/sdk/cli-contracts/flag-contracts.js +1514 -0
  509. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -0
  510. package/dist/sdk/cli-contracts/string-lists.d.ts +14 -0
  511. package/dist/sdk/cli-contracts/string-lists.js +20 -0
  512. package/dist/sdk/cli-contracts/string-lists.js.map +1 -0
  513. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +1 -1
  514. package/dist/sdk/cli-contracts/tool-option-contracts.js +51 -109
  515. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  516. package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +17 -0
  517. package/dist/sdk/cli-contracts/tool-parameter-tables.js +54 -5
  518. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  519. package/dist/sdk/cli-contracts/tool-schema.d.ts +74 -0
  520. package/dist/sdk/cli-contracts/tool-schema.js +871 -0
  521. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -0
  522. package/dist/sdk/cli-contracts.d.ts +13 -193
  523. package/dist/sdk/cli-contracts.js +5 -2277
  524. package/dist/sdk/cli-contracts.js.map +1 -1
  525. package/dist/sdk/compose.d.ts +11 -5
  526. package/dist/sdk/compose.js +240 -124
  527. package/dist/sdk/compose.js.map +1 -1
  528. package/dist/sdk/define.d.ts +14 -0
  529. package/dist/sdk/define.js +17 -2
  530. package/dist/sdk/define.js.map +1 -1
  531. package/dist/sdk/index.d.ts +14 -3
  532. package/dist/sdk/index.js +14 -3
  533. package/dist/sdk/index.js.map +1 -1
  534. package/dist/sdk/testing.d.ts +82 -2
  535. package/dist/sdk/testing.js +74 -3
  536. package/dist/sdk/testing.js.map +1 -1
  537. package/docs/AGENT_GUIDE.md +2 -0
  538. package/docs/CLAUDE_CODE_PLUGIN.md +2 -2
  539. package/docs/COMMANDS.md +37 -0
  540. package/docs/EXTENSIONS.md +12 -13
  541. package/docs/RELEASING.md +8 -4
  542. package/docs/SDK.md +184 -17
  543. package/docs/TESTING.md +12 -0
  544. package/docs/examples/policy-restricted-extension/README.md +6 -0
  545. package/docs/examples/policy-restricted-extension/index.ts +40 -0
  546. package/docs/examples/policy-restricted-extension/manifest.json +2 -2
  547. package/docs/examples/starter-extension/README.md +14 -2
  548. package/docs/examples/starter-extension/{index.js → index.ts} +51 -6
  549. package/docs/examples/starter-extension/manifest.json +2 -2
  550. package/package.json +20 -7
  551. package/packages/pm-beads/extensions/beads/index.ts +3 -3
  552. package/packages/pm-beads/extensions/beads/manifest.json +2 -2
  553. package/packages/pm-beads/extensions/beads/runtime-loader.ts +19 -7
  554. package/packages/pm-beads/extensions/beads/runtime.ts +155 -37
  555. package/packages/pm-calendar/extensions/calendar/index.ts +3 -3
  556. package/packages/pm-calendar/extensions/calendar/manifest.json +2 -2
  557. package/packages/pm-calendar/extensions/calendar/runtime.ts +2 -2
  558. package/packages/pm-command-kit/extensions/command-kit/index.ts +1 -1
  559. package/packages/pm-command-kit/extensions/command-kit/manifest.json +2 -2
  560. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +2 -2
  561. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +2 -2
  562. package/packages/pm-governance-audit/extensions/governance-audit/runtime.ts +1 -1
  563. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +2 -2
  564. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +2 -2
  565. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +1 -1
  566. package/packages/pm-kanban/README.md +97 -0
  567. package/packages/pm-kanban/extensions/kanban/index.ts +191 -0
  568. package/packages/pm-kanban/extensions/kanban/manifest.json +19 -0
  569. package/packages/pm-kanban/package.json +57 -0
  570. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.ts +1 -1
  571. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/manifest.json +2 -2
  572. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.ts +2 -2
  573. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +2 -2
  574. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.ts +1 -1
  575. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +2 -2
  576. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +2 -2
  577. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +1 -1
  578. package/packages/pm-templates/extensions/templates/index.ts +2 -2
  579. package/packages/pm-templates/extensions/templates/manifest.json +2 -2
  580. package/packages/pm-templates/extensions/templates/runtime.ts +1 -1
  581. package/packages/pm-todos/extensions/todos/index.ts +3 -3
  582. package/packages/pm-todos/extensions/todos/manifest.json +2 -2
  583. package/packages/pm-todos/extensions/todos/runtime-loader.ts +19 -7
  584. package/packages/pm-todos/extensions/todos/runtime.ts +177 -43
  585. package/plugins/pm-claude/scripts/pm-mcp-server.mjs +2 -2
  586. package/plugins/pm-codex/scripts/pm-mcp-server.mjs +2 -2
  587. package/scripts/bundle-cli.mjs +1 -1
  588. package/dist/cli-bundle/chunks/activity-54TXGJ2T.js +0 -18
  589. package/dist/cli-bundle/chunks/aggregate-63NWNIBR.js.map +0 -1
  590. package/dist/cli-bundle/chunks/aggregate-YHCYX2EV.js.map +0 -7
  591. package/dist/cli-bundle/chunks/chunk-6EL7SW5C.js.map +0 -7
  592. package/dist/cli-bundle/chunks/chunk-6W3Y65PL.js.map +0 -7
  593. package/dist/cli-bundle/chunks/chunk-AEACLRVH.js.map +0 -7
  594. package/dist/cli-bundle/chunks/chunk-B74BP6IS.js +0 -78
  595. package/dist/cli-bundle/chunks/chunk-B74BP6IS.js.map +0 -7
  596. package/dist/cli-bundle/chunks/chunk-BFFO3AIB.js.map +0 -1
  597. package/dist/cli-bundle/chunks/chunk-C4C3EJCJ.js.map +0 -7
  598. package/dist/cli-bundle/chunks/chunk-EYPINTFR.js.map +0 -7
  599. package/dist/cli-bundle/chunks/chunk-FBLT6WGK.js +0 -75
  600. package/dist/cli-bundle/chunks/chunk-FBLT6WGK.js.map +0 -1
  601. package/dist/cli-bundle/chunks/chunk-GQYJEEFX.js.map +0 -1
  602. package/dist/cli-bundle/chunks/chunk-HBAEFWX3.js.map +0 -7
  603. package/dist/cli-bundle/chunks/chunk-HC2S36NB.js.map +0 -1
  604. package/dist/cli-bundle/chunks/chunk-IAP5KYBQ.js.map +0 -1
  605. package/dist/cli-bundle/chunks/chunk-INPHFO33.js +0 -764
  606. package/dist/cli-bundle/chunks/chunk-INPHFO33.js.map +0 -7
  607. package/dist/cli-bundle/chunks/chunk-IOT6WRL5.js +0 -86
  608. package/dist/cli-bundle/chunks/chunk-IOT6WRL5.js.map +0 -7
  609. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js +0 -35
  610. package/dist/cli-bundle/chunks/chunk-ISEKN64V.js.map +0 -7
  611. package/dist/cli-bundle/chunks/chunk-J3NMWFIN.js +0 -115
  612. package/dist/cli-bundle/chunks/chunk-J3NMWFIN.js.map +0 -1
  613. package/dist/cli-bundle/chunks/chunk-J7I4C5ZB.js.map +0 -7
  614. package/dist/cli-bundle/chunks/chunk-JKL6HRMV.js.map +0 -7
  615. package/dist/cli-bundle/chunks/chunk-KJZOSF7J.js.map +0 -1
  616. package/dist/cli-bundle/chunks/chunk-L7UXKP2I.js.map +0 -1
  617. package/dist/cli-bundle/chunks/chunk-LNEDHJNQ.js.map +0 -1
  618. package/dist/cli-bundle/chunks/chunk-M6TUBOGW.js.map +0 -1
  619. package/dist/cli-bundle/chunks/chunk-MEXZ5XUM.js.map +0 -7
  620. package/dist/cli-bundle/chunks/chunk-N5B6WZC5.js.map +0 -1
  621. package/dist/cli-bundle/chunks/chunk-NJ73ALW2.js +0 -761
  622. package/dist/cli-bundle/chunks/chunk-NJ73ALW2.js.map +0 -1
  623. package/dist/cli-bundle/chunks/chunk-NVXGVEFD.js +0 -83
  624. package/dist/cli-bundle/chunks/chunk-NVXGVEFD.js.map +0 -1
  625. package/dist/cli-bundle/chunks/chunk-OF7V47P3.js.map +0 -1
  626. package/dist/cli-bundle/chunks/chunk-OHDQNKJB.js.map +0 -7
  627. package/dist/cli-bundle/chunks/chunk-PEL2NLQE.js +0 -118
  628. package/dist/cli-bundle/chunks/chunk-PEL2NLQE.js.map +0 -7
  629. package/dist/cli-bundle/chunks/chunk-PRVTGX64.js.map +0 -7
  630. package/dist/cli-bundle/chunks/chunk-RAWA3Y7O.js.map +0 -1
  631. package/dist/cli-bundle/chunks/chunk-SMXSDY7J.js.map +0 -7
  632. package/dist/cli-bundle/chunks/chunk-SUREE24M.js.map +0 -1
  633. package/dist/cli-bundle/chunks/chunk-TKPP4GOO.js +0 -654
  634. package/dist/cli-bundle/chunks/chunk-TKPP4GOO.js.map +0 -1
  635. package/dist/cli-bundle/chunks/chunk-VSAABFGQ.js.map +0 -1
  636. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js +0 -32
  637. package/dist/cli-bundle/chunks/chunk-W2VMLL5S.js.map +0 -1
  638. package/dist/cli-bundle/chunks/chunk-XVYKWZNL.js.map +0 -7
  639. package/dist/cli-bundle/chunks/chunk-XXKV4UWE.js.map +0 -7
  640. package/dist/cli-bundle/chunks/chunk-ZLWRPBOW.js.map +0 -1
  641. package/dist/cli-bundle/chunks/chunk-ZV7IQ23N.js +0 -657
  642. package/dist/cli-bundle/chunks/chunk-ZV7IQ23N.js.map +0 -7
  643. package/dist/cli-bundle/chunks/close-JEBZXONN.js +0 -15
  644. package/dist/cli-bundle/chunks/config-NCNNWF6R.js.map +0 -7
  645. package/dist/cli-bundle/chunks/config-SW3U7XP2.js.map +0 -1
  646. package/dist/cli-bundle/chunks/context-55VEOYI3.js.map +0 -1
  647. package/dist/cli-bundle/chunks/context-5LB7UGKE.js.map +0 -7
  648. package/dist/cli-bundle/chunks/contracts-JXFGBOYT.js.map +0 -1
  649. package/dist/cli-bundle/chunks/contracts-SY6PDFIK.js.map +0 -7
  650. package/dist/cli-bundle/chunks/create-CLSCHGJJ.js +0 -30
  651. package/dist/cli-bundle/chunks/history-ALTM2RRP.js +0 -20
  652. package/dist/cli-bundle/chunks/history-redact-5YGLWUDH.js +0 -21
  653. package/dist/cli-bundle/chunks/init-C4CRHW22.js +0 -21
  654. package/dist/cli-bundle/chunks/register-list-query-CCMHGZTF.js.map +0 -7
  655. package/dist/cli-bundle/chunks/register-list-query-OM3E2KMY.js.map +0 -1
  656. package/dist/cli-bundle/chunks/register-mutation-N3CDEGZU.js.map +0 -1
  657. package/dist/cli-bundle/chunks/register-mutation-UXTTWL6N.js.map +0 -7
  658. package/dist/cli-bundle/chunks/register-setup-G5LTSFYK.js.map +0 -1
  659. package/dist/cli-bundle/chunks/register-setup-TWHKICM2.js.map +0 -7
  660. package/dist/cli-bundle/chunks/restore-LQHXBAY5.js +0 -19
  661. package/dist/cli-bundle/chunks/schema-C6QA367T.js.map +0 -7
  662. package/dist/cli-bundle/chunks/schema-QO5I4FBL.js.map +0 -1
  663. package/dist/cli-bundle/chunks/stats-TCW2SZQG.js.map +0 -7
  664. package/dist/cli-bundle/chunks/stats-TKC6CAKB.js.map +0 -1
  665. package/dist/cli-bundle/chunks/test-WA6RZGM2.js +0 -36
  666. package/dist/cli-bundle/chunks/test-runs-FQ5WNQLP.js.map +0 -1
  667. package/dist/cli-bundle/chunks/test-runs-PX73DMMI.js.map +0 -7
  668. package/dist/cli-bundle/chunks/update-BSKMQOYH.js +0 -28
  669. package/dist/cli-bundle/chunks/update-FIGYNQ2I.js +0 -24
  670. package/dist/cli-bundle/chunks/validate-54SYJ7QW.js.map +0 -1
  671. package/dist/cli-bundle/chunks/validate-HYZNIB6W.js.map +0 -7
  672. package/docs/examples/policy-restricted-extension/index.js +0 -21
  673. package/packages/pm-beads/extensions/beads/index.js +0 -64
  674. package/packages/pm-beads/extensions/beads/runtime-loader.js +0 -86
  675. package/packages/pm-beads/extensions/beads/runtime.js +0 -482
  676. package/packages/pm-calendar/extensions/calendar/index.js +0 -150
  677. package/packages/pm-calendar/extensions/calendar/runtime.js +0 -126
  678. package/packages/pm-command-kit/extensions/command-kit/index.js +0 -181
  679. package/packages/pm-governance-audit/extensions/governance-audit/index.js +0 -177
  680. package/packages/pm-governance-audit/extensions/governance-audit/runtime.js +0 -153
  681. package/packages/pm-guide-shell/extensions/guide-shell/index.js +0 -98
  682. package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +0 -294
  683. package/packages/pm-lifecycle-hooks/extensions/lifecycle-hooks/index.js +0 -18
  684. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.js +0 -124
  685. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.js +0 -110
  686. package/packages/pm-search-advanced/extensions/search-advanced/index.js +0 -258
  687. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +0 -361
  688. package/packages/pm-templates/extensions/templates/index.js +0 -132
  689. package/packages/pm-templates/extensions/templates/runtime.js +0 -35
  690. package/packages/pm-todos/extensions/todos/index.js +0 -81
  691. package/packages/pm-todos/extensions/todos/runtime-loader.js +0 -86
  692. package/packages/pm-todos/extensions/todos/runtime.js +0 -545
  693. /package/dist/cli-bundle/chunks/{activity-54TXGJ2T.js.map → activity-AW6XVFH6.js.map} +0 -0
  694. /package/dist/cli-bundle/chunks/{activity-N7RVTLBQ.js.map → activity-DBLQVIP6.js.map} +0 -0
  695. /package/dist/cli-bundle/chunks/{chunk-F32L4HR6.js.map → chunk-27BXPBAY.js.map} +0 -0
  696. /package/dist/cli-bundle/chunks/{chunk-5BBEWX6C.js.map → chunk-3VGN2UWE.js.map} +0 -0
  697. /package/dist/cli-bundle/chunks/{chunk-FMWW2JDU.js.map → chunk-AXIDKKAT.js.map} +0 -0
  698. /package/dist/cli-bundle/chunks/{chunk-TIM4OD74.js.map → chunk-BDTISOSD.js.map} +0 -0
  699. /package/dist/cli-bundle/chunks/{chunk-CZIFFMZI.js.map → chunk-DDPTYJIM.js.map} +0 -0
  700. /package/dist/cli-bundle/chunks/{chunk-AYPQUFCX.js.map → chunk-EJUDVUYZ.js.map} +0 -0
  701. /package/dist/cli-bundle/chunks/{chunk-EOGBMLCE.js.map → chunk-EVMTBV6V.js.map} +0 -0
  702. /package/dist/cli-bundle/chunks/{chunk-CG3KP6I5.js.map → chunk-G7I7DEZA.js.map} +0 -0
  703. /package/dist/cli-bundle/chunks/{chunk-F4BNR2IN.js.map → chunk-HYTGA6GI.js.map} +0 -0
  704. /package/dist/cli-bundle/chunks/{chunk-2WCYE3IF.js.map → chunk-HZZEHPRG.js.map} +0 -0
  705. /package/dist/cli-bundle/chunks/{chunk-YV2OSAMS.js.map → chunk-IJYK2T43.js.map} +0 -0
  706. /package/dist/cli-bundle/chunks/{chunk-QOUOMPHO.js.map → chunk-JPECA746.js.map} +0 -0
  707. /package/dist/cli-bundle/chunks/{chunk-OQ2E64FH.js.map → chunk-KNPEF7QG.js.map} +0 -0
  708. /package/dist/cli-bundle/chunks/{chunk-3BKH2CL3.js.map → chunk-L5OEFZQG.js.map} +0 -0
  709. /package/dist/cli-bundle/chunks/{chunk-5S4ZGDB2.js.map → chunk-N74UMG5H.js.map} +0 -0
  710. /package/dist/cli-bundle/chunks/{chunk-IXAZI443.js.map → chunk-NFDPYAIP.js.map} +0 -0
  711. /package/dist/cli-bundle/chunks/{chunk-SKC4UTRP.js.map → chunk-NKZAN7BD.js.map} +0 -0
  712. /package/dist/cli-bundle/chunks/{chunk-JPJDP4VU.js.map → chunk-NWMZWYYB.js.map} +0 -0
  713. /package/dist/cli-bundle/chunks/{chunk-KKX4Z2SE.js.map → chunk-OTUHB4HS.js.map} +0 -0
  714. /package/dist/cli-bundle/chunks/{chunk-WB5BYQMF.js.map → chunk-SLMUGTK3.js.map} +0 -0
  715. /package/dist/cli-bundle/chunks/{chunk-I6QMJ2XT.js.map → chunk-WYDHYJPO.js.map} +0 -0
  716. /package/dist/cli-bundle/chunks/{chunk-KIEAK7YE.js.map → chunk-ZRP4VG5U.js.map} +0 -0
  717. /package/dist/cli-bundle/chunks/{close-JEBZXONN.js.map → close-E6ZZGCJY.js.map} +0 -0
  718. /package/dist/cli-bundle/chunks/{close-QHMVWM7M.js.map → close-TQYAAFJP.js.map} +0 -0
  719. /package/dist/cli-bundle/chunks/{create-O4VONGPG.js.map → context-B6275WPX.js.map} +0 -0
  720. /package/dist/cli-bundle/chunks/{create-CLSCHGJJ.js.map → context-OCZ3FJ4Z.js.map} +0 -0
  721. /package/dist/cli-bundle/chunks/{extension-YQF4CPIR.js.map → create-OH3BDGBB.js.map} +0 -0
  722. /package/dist/cli-bundle/chunks/{extension-3JYWJ5K2.js.map → create-RLRJMRTM.js.map} +0 -0
  723. /package/dist/cli-bundle/chunks/{history-ALTM2RRP.js.map → extension-CPSLJQVE.js.map} +0 -0
  724. /package/dist/cli-bundle/chunks/{history-RUKPKNY7.js.map → extension-CXJ6RELI.js.map} +0 -0
  725. /package/dist/cli-bundle/chunks/{gc-BEJMQT64.js.map → gc-7GQYOS2G.js.map} +0 -0
  726. /package/dist/cli-bundle/chunks/{gc-JEFQDJPA.js.map → gc-LPVMKJQJ.js.map} +0 -0
  727. /package/dist/cli-bundle/chunks/{health-JJJOY7DJ.js.map → health-3IPFLKXB.js.map} +0 -0
  728. /package/dist/cli-bundle/chunks/{health-P67NZ6TT.js.map → health-GZXGBZ36.js.map} +0 -0
  729. /package/dist/cli-bundle/chunks/{history-redact-YY4XYVEP.js.map → history-NERDJNUB.js.map} +0 -0
  730. /package/dist/cli-bundle/chunks/{history-redact-5YGLWUDH.js.map → history-WSZHY3PN.js.map} +0 -0
  731. /package/dist/cli-bundle/chunks/{init-C4CRHW22.js.map → history-redact-MP6CH7U5.js.map} +0 -0
  732. /package/dist/cli-bundle/chunks/{init-HBFGYS66.js.map → history-redact-O3NBCNWC.js.map} +0 -0
  733. /package/dist/cli-bundle/chunks/{list-C7R33MD5.js.map → init-64XDLQJB.js.map} +0 -0
  734. /package/dist/cli-bundle/chunks/{list-DSN6UNFB.js.map → init-PAX32BJA.js.map} +0 -0
  735. /package/dist/cli-bundle/chunks/{restore-LL2WLEDG.js.map → list-DNBJVO3E.js.map} +0 -0
  736. /package/dist/cli-bundle/chunks/{restore-LQHXBAY5.js.map → list-G5Y65VF6.js.map} +0 -0
  737. /package/dist/cli-bundle/chunks/{search-2EI6EAXH.js.map → restore-4MHZFJ2E.js.map} +0 -0
  738. /package/dist/cli-bundle/chunks/{search-QBFBLQRO.js.map → restore-YALDGTQR.js.map} +0 -0
  739. /package/dist/cli-bundle/chunks/{test-NV2DRPUS.js.map → schema-73HR2OJW.js.map} +0 -0
  740. /package/dist/cli-bundle/chunks/{test-WA6RZGM2.js.map → schema-U6LJKSIR.js.map} +0 -0
  741. /package/dist/cli-bundle/chunks/{update-BSKMQOYH.js.map → search-AXPXKZER.js.map} +0 -0
  742. /package/dist/cli-bundle/chunks/{update-FIGYNQ2I.js.map → search-KILGT37L.js.map} +0 -0
  743. /package/dist/cli-bundle/chunks/{telemetry-BT2VSWU2.js.map → telemetry-BZUF6H7G.js.map} +0 -0
  744. /package/dist/cli-bundle/chunks/{telemetry-LQ6FRTUT.js.map → telemetry-GAHHQTOS.js.map} +0 -0
@@ -9,13 +9,13 @@ import {
9
9
  PLAN_MODE_VALUES,
10
10
  PLAN_STEP_LINK_KIND_VALUES,
11
11
  PLAN_STEP_STATUS_VALUES
12
- } from "./chunk-EYPINTFR.js";
12
+ } from "./chunk-RVUALSJF.js";
13
13
 
14
14
  // dist/sdk/cli-contracts/commander-types.js
15
15
  !(function() {
16
16
  try {
17
17
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
18
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "c351906d-27e9-5ec8-a98f-151af851c1eb");
18
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "240b5f92-6ceb-5cf9-8739-9e921df6c27b");
19
19
  } catch (e2) {
20
20
  }
21
21
  })();
@@ -104,6 +104,19 @@ var CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS = [
104
104
  { target: "activityLimit", keys: ["activityLimit", "activity_limit"] },
105
105
  { target: "staleThreshold", keys: ["staleThreshold", "stale_threshold"] }
106
106
  ];
107
+ var NEXT_COMMANDER_STRING_OPTION_CONTRACTS = [
108
+ { target: "type", keys: ["type"] },
109
+ { target: "tag", keys: ["tag"] },
110
+ { target: "priority", keys: ["priority"] },
111
+ { target: "assignee", keys: ["assignee"] },
112
+ { target: "assigneeFilter", keys: ["assigneeFilter", "assignee_filter"] },
113
+ { target: "sprint", keys: ["sprint"] },
114
+ { target: "release", keys: ["release"] },
115
+ { target: "parent", keys: ["parent"] },
116
+ { target: "limit", keys: ["limit"] },
117
+ { target: "blockedLimit", keys: ["blockedLimit", "blocked_limit"] },
118
+ { target: "format", keys: ["format"] }
119
+ ];
107
120
  var ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS = [
108
121
  { target: "id", keys: ["id"] },
109
122
  { target: "op", keys: ["op"] },
@@ -675,7 +688,7 @@ var UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS = UPDATE_COMMANDER_OPTION_REGIS
675
688
  !(function() {
676
689
  try {
677
690
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
678
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "7cc4ad23-817c-5a14-9ed1-ab73f91718bf");
691
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "6c161a7b-d1ca-5ed2-8348-024739a81bc4");
679
692
  } catch (e2) {
680
693
  }
681
694
  })();
@@ -710,11 +723,13 @@ var PM_CORE_COMMAND_NAMES = [
710
723
  "get",
711
724
  "search",
712
725
  "eval",
726
+ "next",
713
727
  "history",
714
728
  "history-redact",
715
729
  "history-repair",
716
730
  "history-compact",
717
731
  "schema",
732
+ "profile",
718
733
  "activity",
719
734
  "restore",
720
735
  "update",
@@ -797,11 +812,13 @@ var PM_TOOL_ACTIONS = [
797
812
  "ctx",
798
813
  "get",
799
814
  "search",
815
+ "next",
800
816
  "history",
801
817
  "history-redact",
802
818
  "history-repair",
803
819
  "history-compact",
804
820
  "schema",
821
+ "profile",
805
822
  "activity",
806
823
  "restore",
807
824
  "update",
@@ -832,1847 +849,280 @@ var PM_TOOL_ACTIONS = [
832
849
  "close-task"
833
850
  ];
834
851
 
835
- // dist/sdk/cli-contracts/tool-option-contracts.js
852
+ // dist/sdk/cli-contracts/string-lists.js
836
853
  !(function() {
837
854
  try {
838
855
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
839
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "047fac46-859f-55a6-807b-43129fef8335");
856
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "0a0a1dd5-dcbf-5761-9fbd-2a6295769b97");
840
857
  } catch (e2) {
841
858
  }
842
859
  })();
843
- var TOOL_LIST_FILTER_OPTION_CONTRACTS = [
844
- { param: "status", flag: "--status" },
845
- { param: "type", flag: "--type" },
846
- { param: "tag", flag: "--tag" },
847
- { param: "priority", flag: "--priority" },
848
- { param: "deadlineBefore", flag: "--deadline-before" },
849
- { param: "deadlineAfter", flag: "--deadline-after" },
850
- { param: "updatedAfter", flag: "--updated-after" },
851
- { param: "updatedBefore", flag: "--updated-before" },
852
- { param: "createdAfter", flag: "--created-after" },
853
- { param: "createdBefore", flag: "--created-before" },
854
- { param: "ids", flag: "--ids" },
855
- { param: "assignee", flag: "--assignee" },
856
- { param: "assigneeFilter", flag: "--assignee-filter" },
857
- { param: "parent", flag: "--parent" },
858
- { param: "sprint", flag: "--sprint" },
859
- { param: "release", flag: "--release" },
860
- { param: "filterAcMissing", flag: "--filter-ac-missing" },
861
- { param: "filterEstimatesMissing", flag: "--filter-estimates-missing" },
862
- { param: "filterResolutionMissing", flag: "--filter-resolution-missing" },
863
- { param: "filterMetadataMissing", flag: "--filter-metadata-missing" },
864
- { param: "filterReviewerMissing", flag: "--filter-reviewer-missing" },
865
- { param: "filterRiskMissing", flag: "--filter-risk-missing" },
866
- { param: "filterConfidenceMissing", flag: "--filter-confidence-missing" },
867
- { param: "filterSprintMissing", flag: "--filter-sprint-missing" },
868
- { param: "filterReleaseMissing", flag: "--filter-release-missing" },
869
- { param: "hasNotes", flag: "--has-notes" },
870
- { param: "noNotes", flag: "--no-notes" },
871
- { param: "hasLearnings", flag: "--has-learnings" },
872
- { param: "noLearnings", flag: "--no-learnings" },
873
- { param: "hasFiles", flag: "--has-files" },
874
- { param: "noFiles", flag: "--no-files" },
875
- { param: "hasDocs", flag: "--has-docs" },
876
- { param: "noDocs", flag: "--no-docs" },
877
- { param: "hasTests", flag: "--has-tests" },
878
- { param: "noTests", flag: "--no-tests" },
879
- { param: "hasComments", flag: "--has-comments" },
880
- { param: "noComments", flag: "--no-comments" },
881
- { param: "hasDeps", flag: "--has-deps" },
882
- { param: "noDeps", flag: "--no-deps" },
883
- { param: "hasBody", flag: "--has-body" },
884
- { param: "emptyBody", flag: "--empty-body" },
885
- { param: "hasLinkedCommand", flag: "--has-linked-command" },
886
- { param: "noLinkedCommand", flag: "--no-linked-command" },
887
- { param: "limit", flag: "--limit" },
888
- { param: "offset", flag: "--offset" },
889
- { param: "fields", flag: "--fields" },
890
- { param: "sort", flag: "--sort" },
891
- { param: "order", flag: "--order" },
892
- { param: "tree", flag: "--tree" },
893
- { param: "treeDepth", flag: "--tree-depth" }
860
+ function normalizeUniqueStringList(values) {
861
+ return [...new Set(Array.from(values, (value) => value.trim()).filter((value) => value.length > 0))];
862
+ }
863
+
864
+ // dist/sdk/cli-contracts/flag-contracts.js
865
+ !(function() {
866
+ try {
867
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
868
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "ad4e11af-1bc5-5eda-8cc6-cd6e83a80749");
869
+ } catch (e2) {
870
+ }
871
+ })();
872
+ function normalizeFlagAliasKey(flag) {
873
+ if (!flag.startsWith("--")) {
874
+ return flag;
875
+ }
876
+ return `--${flag.slice(2).replaceAll("_", "-")}`;
877
+ }
878
+ function withFlagAliasMetadata(flagContracts) {
879
+ const aliasesByCanonical = /* @__PURE__ */ new Map();
880
+ for (const contract of flagContracts) {
881
+ const canonical = normalizeFlagAliasKey(contract.flag);
882
+ const bucket = aliasesByCanonical.get(canonical) ?? /* @__PURE__ */ new Set();
883
+ if (contract.flag !== canonical) {
884
+ bucket.add(contract.flag);
885
+ }
886
+ for (const alias of contract.aliases ?? []) {
887
+ if (alias !== canonical) {
888
+ bucket.add(alias);
889
+ }
890
+ }
891
+ aliasesByCanonical.set(canonical, bucket);
892
+ }
893
+ return flagContracts.map((contract) => {
894
+ const canonical = normalizeFlagAliasKey(contract.flag);
895
+ if (contract.flag !== canonical) {
896
+ return contract;
897
+ }
898
+ const aliases = normalizeUniqueStringList([
899
+ ...contract.aliases ?? [],
900
+ ...aliasesByCanonical.get(canonical)
901
+ ]).filter((alias) => alias !== canonical);
902
+ if (aliases.length === 0) {
903
+ return contract;
904
+ }
905
+ return {
906
+ ...contract,
907
+ aliases
908
+ };
909
+ });
910
+ }
911
+ function compactFlagAliasContracts(flagContracts) {
912
+ const withAliases = withFlagAliasMetadata(flagContracts);
913
+ const canonicalFlags = new Set(withAliases.map((contract) => contract.flag));
914
+ return withAliases.filter((contract) => {
915
+ const canonical = normalizeFlagAliasKey(contract.flag);
916
+ return contract.flag === canonical || !canonicalFlags.has(canonical);
917
+ });
918
+ }
919
+ var SUBCOMMAND_GLOBAL_FLAG_CONTRACTS = [
920
+ { flag: "--json" },
921
+ { flag: "--quiet" },
922
+ { flag: "--no-changed-fields" },
923
+ { flag: "--id-only" },
924
+ { flag: "--pm-path", aliases: ["--path"] },
925
+ { flag: "--no-extensions" },
926
+ { flag: "--no-pager" },
927
+ { flag: "--profile" },
928
+ { flag: "--help" }
894
929
  ];
895
- var TOOL_AGGREGATE_OPTION_CONTRACTS = [
896
- { param: "groupBy", flag: "--group-by" },
897
- { param: "sum", flag: "--sum" },
898
- { param: "avg", flag: "--avg" },
899
- { param: "status", flag: "--status" },
900
- { param: "type", flag: "--type" },
901
- { param: "tag", flag: "--tag" },
902
- { param: "priority", flag: "--priority" },
903
- { param: "deadlineBefore", flag: "--deadline-before" },
904
- { param: "deadlineAfter", flag: "--deadline-after" },
905
- { param: "assignee", flag: "--assignee" },
906
- { param: "assigneeFilter", flag: "--assignee-filter" },
907
- { param: "parent", flag: "--parent" },
908
- { param: "sprint", flag: "--sprint" },
909
- { param: "release", flag: "--release" }
930
+ var GLOBAL_FLAG_CONTRACTS = [
931
+ ...SUBCOMMAND_GLOBAL_FLAG_CONTRACTS,
932
+ { flag: "--version" }
910
933
  ];
911
- var TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS = [
912
- { param: "mode", flag: "--mode" },
913
- { param: "limit", flag: "--limit" },
914
- { param: "threshold", flag: "--threshold" },
915
- { param: "status", flag: "--status" },
916
- { param: "type", flag: "--type" },
917
- { param: "tag", flag: "--tag" },
918
- { param: "priority", flag: "--priority" },
919
- { param: "deadlineBefore", flag: "--deadline-before" },
920
- { param: "deadlineAfter", flag: "--deadline-after" },
921
- { param: "assignee", flag: "--assignee" },
922
- { param: "assigneeFilter", flag: "--assignee-filter" },
923
- { param: "parent", flag: "--parent" },
924
- { param: "sprint", flag: "--sprint" },
925
- { param: "release", flag: "--release" }
934
+ var LIST_FILTER_FLAG_CONTRACTS = [
935
+ { flag: "--status", list: true },
936
+ { flag: "--type" },
937
+ { flag: "--tag", aliases: ["--tags"] },
938
+ { flag: "--priority" },
939
+ { flag: "--deadline-before" },
940
+ { flag: "--deadline-after" },
941
+ { flag: "--updated-after" },
942
+ { flag: "--updated-before" },
943
+ { flag: "--created-after" },
944
+ { flag: "--created-before" },
945
+ { flag: "--ids", list: true },
946
+ { flag: "--assignee" },
947
+ { flag: "--assignee-filter" },
948
+ { flag: "--assignee_filter" },
949
+ { flag: "--parent" },
950
+ { flag: "--sprint" },
951
+ { flag: "--release" },
952
+ { flag: "--filter-ac-missing" },
953
+ { flag: "--filter-estimates-missing", aliases: ["--filter-estimate-missing"] },
954
+ { flag: "--filter-resolution-missing" },
955
+ { flag: "--filter-metadata-missing" },
956
+ { flag: "--filter-reviewer-missing" },
957
+ { flag: "--filter-risk-missing" },
958
+ { flag: "--filter-confidence-missing" },
959
+ { flag: "--filter-sprint-missing" },
960
+ { flag: "--filter-release-missing" },
961
+ { flag: "--has-notes" },
962
+ { flag: "--no-notes" },
963
+ { flag: "--has-learnings" },
964
+ { flag: "--no-learnings" },
965
+ { flag: "--has-files" },
966
+ { flag: "--no-files" },
967
+ { flag: "--has-docs" },
968
+ { flag: "--no-docs" },
969
+ { flag: "--has-tests" },
970
+ { flag: "--no-tests" },
971
+ { flag: "--has-comments" },
972
+ { flag: "--no-comments" },
973
+ { flag: "--has-deps" },
974
+ { flag: "--no-deps" },
975
+ { flag: "--has-body" },
976
+ { flag: "--empty-body" },
977
+ { flag: "--has-linked-command" },
978
+ { flag: "--no-linked-command" },
979
+ { flag: "--limit" },
980
+ { flag: "--offset" },
981
+ { flag: "--no-truncate", aliases: ["--all"] },
982
+ { flag: "--compact" },
983
+ { flag: "--brief" },
984
+ { flag: "--full" },
985
+ { flag: "--fields", list: true },
986
+ { flag: "--sort" },
987
+ { flag: "--order" },
988
+ { flag: "--tree" },
989
+ { flag: "--tree-depth" },
990
+ { flag: "--tree_depth" },
991
+ { flag: "--include-body" },
992
+ { flag: "--format" },
993
+ { flag: "--stream" }
926
994
  ];
927
- var TOOL_SEARCH_FILTER_OPTION_CONTRACTS = [
928
- { param: "matchMode", flag: "--match-mode" },
929
- { param: "minScore", flag: "--min-score" },
930
- { param: "count", flag: "--count", booleanish: true },
931
- { param: "semanticWeight", flag: "--semantic-weight" },
932
- { param: "status", flag: "--status" },
933
- { param: "type", flag: "--type" },
934
- { param: "tag", flag: "--tag" },
935
- { param: "priority", flag: "--priority" },
936
- { param: "deadlineBefore", flag: "--deadline-before" },
937
- { param: "deadlineAfter", flag: "--deadline-after" },
938
- { param: "updatedAfter", flag: "--updated-after" },
939
- { param: "updatedBefore", flag: "--updated-before" },
940
- { param: "createdAfter", flag: "--created-after" },
941
- { param: "createdBefore", flag: "--created-before" },
942
- { param: "assignee", flag: "--assignee" },
943
- { param: "sprint", flag: "--sprint" },
944
- { param: "release", flag: "--release" },
945
- { param: "parent", flag: "--parent" },
946
- { param: "filterReviewerMissing", flag: "--filter-reviewer-missing" },
947
- { param: "filterRiskMissing", flag: "--filter-risk-missing" },
948
- { param: "filterConfidenceMissing", flag: "--filter-confidence-missing" },
949
- { param: "filterSprintMissing", flag: "--filter-sprint-missing" },
950
- { param: "filterReleaseMissing", flag: "--filter-release-missing" },
951
- { param: "hasNotes", flag: "--has-notes" },
952
- { param: "noNotes", flag: "--no-notes" },
953
- { param: "hasLearnings", flag: "--has-learnings" },
954
- { param: "noLearnings", flag: "--no-learnings" },
955
- { param: "hasFiles", flag: "--has-files" },
956
- { param: "noFiles", flag: "--no-files" },
957
- { param: "hasDocs", flag: "--has-docs" },
958
- { param: "noDocs", flag: "--no-docs" },
959
- { param: "hasTests", flag: "--has-tests" },
960
- { param: "noTests", flag: "--no-tests" },
961
- { param: "hasComments", flag: "--has-comments" },
962
- { param: "noComments", flag: "--no-comments" },
963
- { param: "hasDeps", flag: "--has-deps" },
964
- { param: "noDeps", flag: "--no-deps" },
965
- { param: "hasBody", flag: "--has-body" },
966
- { param: "emptyBody", flag: "--empty-body" },
967
- { param: "hasLinkedCommand", flag: "--has-linked-command" },
968
- { param: "noLinkedCommand", flag: "--no-linked-command" },
969
- { param: "fields", flag: "--fields" },
970
- { param: "limit", flag: "--limit" }
995
+ var AGGREGATE_FLAG_CONTRACTS = [
996
+ { flag: "--group-by", list: true },
997
+ { flag: "--count" },
998
+ { flag: "--completion" },
999
+ { flag: "--sum" },
1000
+ { flag: "--avg" },
1001
+ { flag: "--include-unparented" },
1002
+ { flag: "--include_unparented" },
1003
+ { flag: "--status" },
1004
+ { flag: "--type" },
1005
+ { flag: "--tag" },
1006
+ { flag: "--priority" },
1007
+ { flag: "--deadline-before" },
1008
+ { flag: "--deadline-after" },
1009
+ { flag: "--assignee" },
1010
+ { flag: "--assignee-filter" },
1011
+ { flag: "--assignee_filter" },
1012
+ { flag: "--parent" },
1013
+ { flag: "--sprint" },
1014
+ { flag: "--release" }
971
1015
  ];
972
- var TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS = [
973
- { param: "parent", flag: "--parent" },
974
- { param: "reviewer", flag: "--reviewer" },
975
- { param: "risk", flag: "--risk" },
976
- { param: "confidence", flag: "--confidence" },
977
- { param: "sprint", flag: "--sprint" },
978
- { param: "release", flag: "--release" },
979
- { param: "blockedBy", flag: "--blocked-by" },
980
- { param: "blockedReason", flag: "--blocked-reason" },
981
- { param: "unblockNote", flag: "--unblock-note" },
982
- { param: "reporter", flag: "--reporter" },
983
- { param: "severity", flag: "--severity" },
984
- { param: "environment", flag: "--environment" },
985
- { param: "reproSteps", flag: "--repro-steps" },
986
- { param: "resolution", flag: "--resolution" },
987
- { param: "expectedResult", flag: "--expected-result" },
988
- { param: "actualResult", flag: "--actual-result" },
989
- { param: "affectedVersion", flag: "--affected-version" },
990
- { param: "fixedVersion", flag: "--fixed-version" },
991
- { param: "component", flag: "--component" },
992
- { param: "regression", flag: "--regression", booleanish: true },
993
- { param: "customerImpact", flag: "--customer-impact" },
994
- { param: "definitionOfReady", flag: "--definition-of-ready", allowEmpty: true },
995
- { param: "order", flag: "--order" },
996
- { param: "goal", flag: "--goal" },
997
- { param: "objective", flag: "--objective" },
998
- { param: "value", flag: "--value" },
999
- { param: "impact", flag: "--impact" },
1000
- { param: "outcome", flag: "--outcome" },
1001
- { param: "whyNow", flag: "--why-now" }
1016
+ var DEDUPE_AUDIT_FLAG_CONTRACTS = [
1017
+ { flag: "--mode" },
1018
+ { flag: "--limit" },
1019
+ { flag: "--threshold" },
1020
+ { flag: "--status" },
1021
+ { flag: "--type" },
1022
+ { flag: "--tag" },
1023
+ { flag: "--priority" },
1024
+ { flag: "--deadline-before" },
1025
+ { flag: "--deadline-after" },
1026
+ { flag: "--assignee" },
1027
+ { flag: "--assignee-filter" },
1028
+ { flag: "--assignee_filter" },
1029
+ { flag: "--parent" },
1030
+ { flag: "--sprint" },
1031
+ { flag: "--release" }
1002
1032
  ];
1003
- var TOOL_CREATE_OPTION_CONTRACTS = [
1004
- { param: "title", flag: "--title" },
1005
- { param: "description", flag: "--description", allowEmpty: true },
1006
- { param: "type", flag: "--type" },
1007
- { param: "template", flag: "--template" },
1008
- { param: "createMode", flag: "--create-mode" },
1009
- { param: "schedulePreset", flag: "--schedule-preset" },
1010
- { param: "status", flag: "--status" },
1011
- { param: "priority", flag: "--priority" },
1012
- { param: "tags", flag: "--tags", allowEmpty: true },
1013
- { param: "addTags", flag: "--add-tags", repeatable: true },
1014
- { param: "body", flag: "--body", allowEmpty: true },
1015
- { param: "deadline", flag: "--deadline" },
1016
- { param: "estimate", flag: "--estimate" },
1017
- { param: "acceptanceCriteria", flag: "--acceptance-criteria", allowEmpty: true },
1018
- { param: "author", flag: "--author" },
1019
- { param: "message", flag: "--message", allowEmpty: true },
1020
- { param: "assignee", flag: "--assignee" },
1021
- { param: "allowMissingParent", flag: "--allow-missing-parent" },
1022
- { param: "reminder", flag: "--reminder", repeatable: true },
1023
- { param: "event", flag: "--event", repeatable: true },
1024
- { param: "typeOption", flag: "--type-option", repeatable: true },
1025
- { param: "field", flag: "--field", repeatable: true },
1026
- { param: "dep", flag: "--dep", repeatable: true },
1027
- { param: "comment", flag: "--comment", repeatable: true },
1028
- { param: "note", flag: "--note", repeatable: true },
1029
- { param: "learning", flag: "--learning", repeatable: true },
1030
- { param: "linkedFile", flag: "--file", repeatable: true },
1031
- { param: "linkedTest", flag: "--test", repeatable: true },
1032
- { param: "doc", flag: "--doc", repeatable: true },
1033
- { param: "unset", flag: "--unset", repeatable: true },
1034
- { param: "clearDeps", flag: "--clear-deps" },
1035
- { param: "clearComments", flag: "--clear-comments" },
1036
- { param: "clearNotes", flag: "--clear-notes" },
1037
- { param: "clearLearnings", flag: "--clear-learnings" },
1038
- { param: "clearFiles", flag: "--clear-files" },
1039
- { param: "clearTests", flag: "--clear-tests" },
1040
- { param: "clearDocs", flag: "--clear-docs" },
1041
- { param: "clearReminders", flag: "--clear-reminders" },
1042
- { param: "clearEvents", flag: "--clear-events" },
1043
- { param: "clearTypeOptions", flag: "--clear-type-options" }
1033
+ var DEDUPE_MERGE_FLAG_CONTRACTS = [
1034
+ { flag: "--keep" },
1035
+ { flag: "--close", list: true },
1036
+ { flag: "--apply" },
1037
+ { flag: "--dry-run" },
1038
+ { flag: "--skip-children" },
1039
+ { flag: "--author" },
1040
+ { flag: "--message" }
1044
1041
  ];
1045
- var TOOL_UPDATE_OPTION_CONTRACTS = [
1046
- { param: "title", flag: "--title" },
1047
- { param: "description", flag: "--description", allowEmpty: true },
1048
- { param: "body", flag: "--body", allowEmpty: true },
1049
- { param: "status", flag: "--status" },
1050
- { param: "closeReason", flag: "--close-reason" },
1051
- { param: "priority", flag: "--priority" },
1052
- { param: "type", flag: "--type" },
1053
- { param: "tags", flag: "--tags", allowEmpty: true },
1054
- { param: "addTags", flag: "--add-tags", repeatable: true },
1055
- { param: "removeTags", flag: "--remove-tags", repeatable: true },
1056
- { param: "deadline", flag: "--deadline" },
1057
- { param: "estimate", flag: "--estimate" },
1058
- { param: "acceptanceCriteria", flag: "--acceptance-criteria", allowEmpty: true },
1059
- { param: "author", flag: "--author" },
1060
- { param: "message", flag: "--message", allowEmpty: true },
1061
- { param: "assignee", flag: "--assignee" },
1062
- { param: "dep", flag: "--dep", repeatable: true },
1063
- { param: "depRemove", flag: "--dep-remove", repeatable: true },
1064
- { param: "replaceDeps", flag: "--replace-deps" },
1065
- { param: "replaceTests", flag: "--replace-tests" },
1066
- { param: "comment", flag: "--comment", repeatable: true },
1067
- { param: "note", flag: "--note", repeatable: true },
1068
- { param: "learning", flag: "--learning", repeatable: true },
1069
- { param: "linkedFile", flag: "--file", repeatable: true },
1070
- { param: "linkedTest", flag: "--test", repeatable: true },
1071
- { param: "doc", flag: "--doc", repeatable: true },
1072
- { param: "reminder", flag: "--reminder", repeatable: true },
1073
- { param: "event", flag: "--event", repeatable: true },
1074
- { param: "typeOption", flag: "--type-option", repeatable: true },
1075
- { param: "field", flag: "--field", repeatable: true },
1076
- { param: "unset", flag: "--unset", repeatable: true },
1077
- { param: "clearDeps", flag: "--clear-deps" },
1078
- { param: "clearComments", flag: "--clear-comments" },
1079
- { param: "clearNotes", flag: "--clear-notes" },
1080
- { param: "clearLearnings", flag: "--clear-learnings" },
1081
- { param: "clearFiles", flag: "--clear-files" },
1082
- { param: "clearTests", flag: "--clear-tests" },
1083
- { param: "clearDocs", flag: "--clear-docs" },
1084
- { param: "clearReminders", flag: "--clear-reminders" },
1085
- { param: "clearEvents", flag: "--clear-events" },
1086
- { param: "clearTypeOptions", flag: "--clear-type-options" },
1087
- { param: "allowAuditUpdate", flag: "--allow-audit-update" },
1088
- { param: "allowAuditDepUpdate", flag: "--allow-audit-dep-update" }
1042
+ var COMMENTS_AUDIT_FLAG_CONTRACTS = [
1043
+ { flag: "--status" },
1044
+ { flag: "--type" },
1045
+ { flag: "--assignee" },
1046
+ { flag: "--assignee-filter" },
1047
+ { flag: "--assignee_filter" },
1048
+ { flag: "--parent" },
1049
+ { flag: "--tag" },
1050
+ { flag: "--sprint" },
1051
+ { flag: "--release" },
1052
+ { flag: "--priority" },
1053
+ { flag: "--limit-items" },
1054
+ { flag: "--limit" },
1055
+ { flag: "--full-history" },
1056
+ { flag: "--latest" }
1089
1057
  ];
1090
- var TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS = [
1091
- { param: "filterStatus", flag: "--filter-status" },
1092
- { param: "filterType", flag: "--filter-type" },
1093
- { param: "filterTag", flag: "--filter-tag" },
1094
- { param: "filterPriority", flag: "--filter-priority" },
1095
- { param: "filterDeadlineBefore", flag: "--filter-deadline-before" },
1096
- { param: "filterDeadlineAfter", flag: "--filter-deadline-after" },
1097
- { param: "filterUpdatedAfter", flag: "--filter-updated-after" },
1098
- { param: "filterUpdatedBefore", flag: "--filter-updated-before" },
1099
- { param: "filterCreatedAfter", flag: "--filter-created-after" },
1100
- { param: "filterCreatedBefore", flag: "--filter-created-before" },
1101
- { param: "filterAssignee", flag: "--filter-assignee" },
1102
- { param: "filterAssigneeFilter", flag: "--filter-assignee-filter" },
1103
- { param: "filterParent", flag: "--filter-parent" },
1104
- { param: "filterSprint", flag: "--filter-sprint" },
1105
- { param: "filterRelease", flag: "--filter-release" },
1106
- { param: "filterReviewerMissing", flag: "--filter-reviewer-missing" },
1107
- { param: "filterRiskMissing", flag: "--filter-risk-missing" },
1108
- { param: "filterConfidenceMissing", flag: "--filter-confidence-missing" },
1109
- { param: "filterSprintMissing", flag: "--filter-sprint-missing" },
1110
- { param: "filterReleaseMissing", flag: "--filter-release-missing" },
1111
- { param: "filterHasNotes", flag: "--filter-has-notes" },
1112
- { param: "filterNoNotes", flag: "--filter-no-notes" },
1113
- { param: "filterHasLearnings", flag: "--filter-has-learnings" },
1114
- { param: "filterNoLearnings", flag: "--filter-no-learnings" },
1115
- { param: "filterHasFiles", flag: "--filter-has-files" },
1116
- { param: "filterNoFiles", flag: "--filter-no-files" },
1117
- { param: "filterHasDocs", flag: "--filter-has-docs" },
1118
- { param: "filterNoDocs", flag: "--filter-no-docs" },
1119
- { param: "filterHasTests", flag: "--filter-has-tests" },
1120
- { param: "filterNoTests", flag: "--filter-no-tests" },
1121
- { param: "filterHasComments", flag: "--filter-has-comments" },
1122
- { param: "filterNoComments", flag: "--filter-no-comments" },
1123
- { param: "filterHasDeps", flag: "--filter-has-deps" },
1124
- { param: "filterNoDeps", flag: "--filter-no-deps" },
1125
- { param: "filterHasBody", flag: "--filter-has-body" },
1126
- { param: "filterEmptyBody", flag: "--filter-empty-body" },
1127
- { param: "filterHasLinkedCommand", flag: "--filter-has-linked-command" },
1128
- { param: "filterNoLinkedCommand", flag: "--filter-no-linked-command" },
1129
- { param: "ids", flag: "--ids" },
1130
- { param: "limit", flag: "--limit" },
1131
- { param: "offset", flag: "--offset" }
1058
+ var COMMENTS_FLAG_CONTRACTS = [
1059
+ { flag: "--add", aliases: ["--comment"] },
1060
+ { flag: "--stdin" },
1061
+ { flag: "--file" },
1062
+ { flag: "--edit" },
1063
+ { flag: "--delete" },
1064
+ { flag: "--limit" },
1065
+ { flag: "--author" },
1066
+ { flag: "--message" },
1067
+ { flag: "--allow-audit-comment" },
1068
+ { flag: "--force" }
1132
1069
  ];
1133
- var TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS = [
1134
- { param: "filterStatus", flag: "--filter-status" },
1135
- { param: "filterType", flag: "--filter-type" },
1136
- { param: "filterTag", flag: "--filter-tag" },
1137
- { param: "filterPriority", flag: "--filter-priority" },
1138
- { param: "filterDeadlineBefore", flag: "--filter-deadline-before" },
1139
- { param: "filterDeadlineAfter", flag: "--filter-deadline-after" },
1140
- { param: "filterAssignee", flag: "--filter-assignee" },
1141
- { param: "filterAssigneeFilter", flag: "--filter-assignee-filter" },
1142
- { param: "filterParent", flag: "--filter-parent" },
1143
- { param: "filterSprint", flag: "--filter-sprint" },
1144
- { param: "filterRelease", flag: "--filter-release" },
1145
- { param: "limit", flag: "--limit" },
1146
- { param: "offset", flag: "--offset" }
1070
+ var NOTES_FLAG_CONTRACTS = [
1071
+ { flag: "--add", aliases: ["--note"] },
1072
+ { flag: "--limit" },
1073
+ { flag: "--author" },
1074
+ { flag: "--message" },
1075
+ { flag: "--allow-audit-note" },
1076
+ { flag: "--allow-audit-comment" },
1077
+ { flag: "--force" }
1147
1078
  ];
1148
- var TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS = [
1149
- { param: "filterStatus", flag: "--filter-status" },
1150
- { param: "filterType", flag: "--filter-type" },
1151
- { param: "filterTag", flag: "--filter-tag" },
1152
- { param: "filterPriority", flag: "--filter-priority" },
1153
- { param: "filterDeadlineBefore", flag: "--filter-deadline-before" },
1154
- { param: "filterDeadlineAfter", flag: "--filter-deadline-after" },
1155
- { param: "filterUpdatedAfter", flag: "--filter-updated-after" },
1156
- { param: "filterUpdatedBefore", flag: "--filter-updated-before" },
1157
- { param: "filterCreatedAfter", flag: "--filter-created-after" },
1158
- { param: "filterCreatedBefore", flag: "--filter-created-before" },
1159
- { param: "filterAssignee", flag: "--filter-assignee" },
1160
- { param: "filterAssigneeFilter", flag: "--filter-assignee-filter" },
1161
- { param: "filterParent", flag: "--filter-parent" },
1162
- { param: "filterSprint", flag: "--filter-sprint" },
1163
- { param: "filterRelease", flag: "--filter-release" },
1164
- { param: "filterReviewerMissing", flag: "--filter-reviewer-missing" },
1165
- { param: "filterRiskMissing", flag: "--filter-risk-missing" },
1166
- { param: "filterConfidenceMissing", flag: "--filter-confidence-missing" },
1167
- { param: "filterSprintMissing", flag: "--filter-sprint-missing" },
1168
- { param: "filterReleaseMissing", flag: "--filter-release-missing" },
1169
- { param: "filterHasNotes", flag: "--filter-has-notes" },
1170
- { param: "filterNoNotes", flag: "--filter-no-notes" },
1171
- { param: "filterHasLearnings", flag: "--filter-has-learnings" },
1172
- { param: "filterNoLearnings", flag: "--filter-no-learnings" },
1173
- { param: "filterHasFiles", flag: "--filter-has-files" },
1174
- { param: "filterNoFiles", flag: "--filter-no-files" },
1175
- { param: "filterHasDocs", flag: "--filter-has-docs" },
1176
- { param: "filterNoDocs", flag: "--filter-no-docs" },
1177
- { param: "filterHasTests", flag: "--filter-has-tests" },
1178
- { param: "filterNoTests", flag: "--filter-no-tests" },
1179
- { param: "filterHasComments", flag: "--filter-has-comments" },
1180
- { param: "filterNoComments", flag: "--filter-no-comments" },
1181
- { param: "filterHasDeps", flag: "--filter-has-deps" },
1182
- { param: "filterNoDeps", flag: "--filter-no-deps" },
1183
- { param: "filterHasBody", flag: "--filter-has-body" },
1184
- { param: "filterEmptyBody", flag: "--filter-empty-body" },
1185
- { param: "filterHasLinkedCommand", flag: "--filter-has-linked-command" },
1186
- { param: "filterNoLinkedCommand", flag: "--filter-no-linked-command" },
1187
- { param: "ids", flag: "--ids" },
1188
- { param: "limit", flag: "--limit" },
1189
- { param: "offset", flag: "--offset" }
1079
+ var LEARNINGS_FLAG_CONTRACTS = [
1080
+ { flag: "--add", aliases: ["--learning"] },
1081
+ { flag: "--limit" },
1082
+ { flag: "--author" },
1083
+ { flag: "--message" },
1084
+ { flag: "--allow-audit-learning" },
1085
+ { flag: "--allow-audit-comment" },
1086
+ { flag: "--force" }
1190
1087
  ];
1191
- var TOOL_ACTIVITY_OPTION_CONTRACTS = [
1192
- { param: "id", flag: "--id" },
1193
- { param: "op", flag: "--op" },
1194
- { param: "author", flag: "--author" },
1195
- { param: "from", flag: "--from" },
1196
- { param: "to", flag: "--to" },
1197
- { param: "limit", flag: "--limit" },
1198
- { param: "compact", flag: "--compact" },
1199
- { param: "full", flag: "--full" }
1088
+ var FILES_FLAG_CONTRACTS = [
1089
+ { flag: "--add" },
1090
+ { flag: "--add-glob" },
1091
+ { flag: "--remove" },
1092
+ { flag: "--migrate" },
1093
+ // GH-170 (pm-pfnx): single-value note applied to every --add/--add-glob link
1094
+ // in the invocation (embedded note= wins; usage error without an add).
1095
+ { flag: "--note" },
1096
+ { flag: "--list" },
1097
+ { flag: "--append-stable" },
1098
+ { flag: "--validate-paths" },
1099
+ { flag: "--audit" },
1100
+ { flag: "--author" },
1101
+ { flag: "--message" },
1102
+ { flag: "--force" }
1200
1103
  ];
1201
- var TOOL_CONTEXT_OPTION_CONTRACTS = [
1202
- { param: "date", flag: "--date" },
1203
- { param: "from", flag: "--from" },
1204
- { param: "to", flag: "--to" },
1205
- { param: "type", flag: "--type" },
1206
- { param: "tag", flag: "--tag" },
1207
- { param: "priority", flag: "--priority" },
1208
- { param: "assignee", flag: "--assignee" },
1209
- { param: "assigneeFilter", flag: "--assignee-filter" },
1210
- { param: "sprint", flag: "--sprint" },
1211
- { param: "release", flag: "--release" },
1212
- { param: "parent", flag: "--parent" },
1213
- { param: "limit", flag: "--limit" },
1214
- { param: "format", flag: "--format" },
1215
- { param: "depth", flag: "--depth" },
1216
- { param: "fields", flag: "--fields" },
1217
- { param: "section", flag: "--section", repeatable: true },
1218
- { param: "activityLimit", flag: "--activity-limit" },
1219
- { param: "staleThreshold", flag: "--stale-threshold" }
1104
+ var DOCS_FLAG_CONTRACTS = [
1105
+ { flag: "--add" },
1106
+ { flag: "--add-glob" },
1107
+ { flag: "--remove" },
1108
+ { flag: "--migrate" },
1109
+ // GH-170 (pm-pfnx): see FILES_FLAG_CONTRACTS --note.
1110
+ { flag: "--note" },
1111
+ { flag: "--list" },
1112
+ { flag: "--validate-paths" },
1113
+ { flag: "--audit" },
1114
+ { flag: "--author" },
1115
+ { flag: "--message" },
1116
+ { flag: "--force" }
1220
1117
  ];
1221
-
1222
- // dist/sdk/cli-contracts/tool-parameter-tables.js
1223
- !(function() {
1224
- try {
1225
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1226
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "954484ef-80b2-5300-a388-a169e7e03881");
1227
- } catch (e2) {
1228
- }
1229
- })();
1230
- var PM_TOOL_PARAMETER_PROPERTIES = {
1231
- json: { type: "boolean", default: true },
1232
- quiet: { type: "boolean" },
1233
- profile: { type: "boolean" },
1234
- noExtensions: { type: "boolean" },
1235
- noPager: { type: "boolean" },
1236
- path: { type: "string" },
1237
- pmExecutable: { type: "string" },
1238
- timeoutMs: { type: "number" },
1239
- id: { type: "string" },
1240
- target: { type: "string" },
1241
- github: { type: "string" },
1242
- ref: { type: "string" },
1243
- query: { type: "string" },
1244
- keywords: { type: "string" },
1245
- fields: { type: "string" },
1246
- sort: { type: "string", enum: ["priority", "deadline", "updated_at", "created_at", "title", "parent"] },
1247
- prefix: { type: "string" },
1248
- preset: { type: "string", enum: ["minimal", "default", "strict", "custom"] },
1249
- typePreset: { type: "string", enum: ["agile", "ops", "research"] },
1250
- defaults: { type: "boolean" },
1251
- verbose: { type: "boolean" },
1252
- agentGuidance: { type: "string", enum: ["ask", "add", "skip", "status"] },
1253
- withPackages: { type: "boolean" },
1254
- scope: { type: "string", enum: ["project", "global"] },
1255
- allOver: { type: "number" },
1256
- minEntries: { type: "number" },
1257
- closed: { type: "boolean" },
1258
- allStreams: { type: "boolean" },
1259
- contractAction: { type: "string" },
1260
- command: { type: "string" },
1261
- schemaOnly: { type: "boolean" },
1262
- flagsOnly: { type: "boolean" },
1263
- availabilityOnly: { type: "boolean" },
1264
- runtimeOnly: { type: "boolean" },
1265
- activeOnly: { type: "boolean" },
1266
- eagerTags: { type: "boolean" },
1267
- fullChangedFields: { type: "boolean" },
1268
- idOnly: { type: "boolean" },
1269
- allowMissingParent: { type: "boolean" },
1270
- duplicateOf: { type: "string" },
1271
- configAction: { type: "string", enum: ["get", "set", "list", "export"] },
1272
- key: { type: "string" },
1273
- title: { type: "string" },
1274
- description: { type: "string" },
1275
- type: { type: "string" },
1276
- template: { type: "string" },
1277
- createMode: { type: "string", enum: ["strict", "progressive"] },
1278
- schedulePreset: { type: "string", enum: ["lightweight"] },
1279
- status: { type: "string" },
1280
- filterStatus: { type: "string" },
1281
- filterType: { type: "string" },
1282
- filterTag: { type: "string" },
1283
- filterPriority: { anyOf: [{ type: "string" }, { type: "number" }] },
1284
- filterDeadlineBefore: { type: "string" },
1285
- filterDeadlineAfter: { type: "string" },
1286
- filterUpdatedAfter: { type: "string" },
1287
- filterUpdatedBefore: { type: "string" },
1288
- filterCreatedAfter: { type: "string" },
1289
- filterCreatedBefore: { type: "string" },
1290
- filterAssignee: { type: "string" },
1291
- filterAssigneeFilter: { type: "string", enum: ["assigned", "unassigned"] },
1292
- filterParent: { type: "string" },
1293
- filterSprint: { type: "string" },
1294
- filterRelease: { type: "string" },
1295
- closeReason: { type: "string" },
1296
- reason: { type: "string" },
1297
- priority: { anyOf: [{ type: "string" }, { type: "number" }] },
1298
- tags: { type: "string" },
1299
- addTags: { type: "array", items: { type: "string" } },
1300
- removeTags: { type: "array", items: { type: "string" } },
1301
- body: { type: "string" },
1302
- deadline: { type: "string" },
1303
- estimate: { anyOf: [{ type: "string" }, { type: "number" }] },
1304
- acceptanceCriteria: { type: "string" },
1305
- author: { type: "string" },
1306
- message: { type: "string" },
1307
- assignee: { type: "string" },
1308
- assigneeFilter: { type: "string", enum: ["assigned", "unassigned"] },
1309
- parent: { type: "string" },
1310
- reviewer: { type: "string" },
1311
- risk: { type: "string" },
1312
- confidence: { anyOf: [{ type: "string" }, { type: "number" }] },
1313
- sprint: { type: "string" },
1314
- release: { type: "string" },
1315
- blockedBy: { type: "string" },
1316
- blockedReason: { type: "string" },
1317
- unblockNote: { type: "string" },
1318
- reporter: { type: "string" },
1319
- severity: { type: "string" },
1320
- environment: { type: "string" },
1321
- reproSteps: { type: "string" },
1322
- resolution: { type: "string" },
1323
- expectedResult: { type: "string" },
1324
- actualResult: { type: "string" },
1325
- affectedVersion: { type: "string" },
1326
- fixedVersion: { type: "string" },
1327
- component: { type: "string" },
1328
- regression: { anyOf: [{ type: "boolean" }, { type: "string" }, { type: "number" }] },
1329
- customerImpact: { type: "string" },
1330
- definitionOfReady: { type: "string" },
1331
- order: { anyOf: [{ type: "string" }, { type: "number" }] },
1332
- goal: { type: "string" },
1333
- objective: { type: "string" },
1334
- value: { type: "string" },
1335
- impact: { type: "string" },
1336
- outcome: { type: "string" },
1337
- whyNow: { type: "string" },
1338
- mode: {
1339
- type: "string",
1340
- enum: ["keyword", "semantic", "hybrid", "title_exact", "title_fuzzy", "parent_scope"]
1341
- },
1342
- semanticWeight: { anyOf: [{ type: "string" }, { type: "number" }] },
1343
- op: { type: "string" },
1344
- compact: { type: "boolean" },
1345
- brief: { type: "boolean" },
1346
- full: { type: "boolean" },
1347
- view: { type: "string", enum: ["agenda", "day", "week", "month"] },
1348
- date: { type: "string" },
1349
- from: { type: "string" },
1350
- before: { type: "string" },
1351
- to: { type: "string" },
1352
- past: { type: "boolean" },
1353
- fullPeriod: { type: "boolean" },
1354
- include: { type: "string" },
1355
- recurrenceLookaheadDays: { anyOf: [{ type: "string" }, { type: "number" }] },
1356
- recurrenceLookbackDays: { anyOf: [{ type: "string" }, { type: "number" }] },
1357
- occurrenceLimit: { anyOf: [{ type: "string" }, { type: "number" }] },
1358
- includeLinked: { type: "boolean" },
1359
- semantic: { type: "boolean" },
1360
- hybrid: { type: "boolean" },
1361
- titleExact: { type: "boolean" },
1362
- phraseExact: { type: "boolean" },
1363
- highlight: { type: "boolean" },
1364
- includeBody: { type: "boolean" },
1365
- noTruncate: { type: "boolean" },
1366
- tag: { type: "string" },
1367
- deadlineBefore: { type: "string" },
1368
- deadlineAfter: { type: "string" },
1369
- updatedAfter: { type: "string" },
1370
- updatedBefore: { type: "string" },
1371
- createdAfter: { type: "string" },
1372
- createdBefore: { type: "string" },
1373
- filterAcMissing: { type: "boolean" },
1374
- filterEstimatesMissing: { type: "boolean" },
1375
- filterResolutionMissing: { type: "boolean" },
1376
- filterMetadataMissing: { type: "boolean" },
1377
- filterReviewerMissing: { type: "boolean" },
1378
- filterRiskMissing: { type: "boolean" },
1379
- filterConfidenceMissing: { type: "boolean" },
1380
- filterSprintMissing: { type: "boolean" },
1381
- filterReleaseMissing: { type: "boolean" },
1382
- // Content-field presence/absence filters (list/search). The --no-* variants
1383
- // select items where the field is empty/absent.
1384
- hasNotes: { type: "boolean" },
1385
- noNotes: { type: "boolean" },
1386
- hasLearnings: { type: "boolean" },
1387
- noLearnings: { type: "boolean" },
1388
- hasFiles: { type: "boolean" },
1389
- noFiles: { type: "boolean" },
1390
- hasDocs: { type: "boolean" },
1391
- noDocs: { type: "boolean" },
1392
- hasTests: { type: "boolean" },
1393
- noTests: { type: "boolean" },
1394
- hasComments: { type: "boolean" },
1395
- noComments: { type: "boolean" },
1396
- hasDeps: { type: "boolean" },
1397
- noDeps: { type: "boolean" },
1398
- hasBody: { type: "boolean" },
1399
- emptyBody: { type: "boolean" },
1400
- hasLinkedCommand: { type: "boolean" },
1401
- noLinkedCommand: { type: "boolean" },
1402
- // Bulk-selection (update-many/close-many) content + governance filters mirror
1403
- // the list/search presence filters under the --filter- prefix.
1404
- filterHasNotes: { type: "boolean" },
1405
- filterNoNotes: { type: "boolean" },
1406
- filterHasLearnings: { type: "boolean" },
1407
- filterNoLearnings: { type: "boolean" },
1408
- filterHasFiles: { type: "boolean" },
1409
- filterNoFiles: { type: "boolean" },
1410
- filterHasDocs: { type: "boolean" },
1411
- filterNoDocs: { type: "boolean" },
1412
- filterHasTests: { type: "boolean" },
1413
- filterNoTests: { type: "boolean" },
1414
- filterHasComments: { type: "boolean" },
1415
- filterNoComments: { type: "boolean" },
1416
- filterHasDeps: { type: "boolean" },
1417
- filterNoDeps: { type: "boolean" },
1418
- filterHasBody: { type: "boolean" },
1419
- filterEmptyBody: { type: "boolean" },
1420
- filterHasLinkedCommand: { type: "boolean" },
1421
- filterNoLinkedCommand: { type: "boolean" },
1422
- ids: { type: "string" },
1423
- limit: { anyOf: [{ type: "string" }, { type: "number" }] },
1424
- limitItems: { anyOf: [{ type: "string" }, { type: "number" }] },
1425
- fullHistory: { type: "boolean" },
1426
- latest: { anyOf: [{ type: "string" }, { type: "number" }] },
1427
- offset: { anyOf: [{ type: "string" }, { type: "number" }] },
1428
- progress: { type: "boolean" },
1429
- background: { type: "boolean" },
1430
- runId: { type: "string" },
1431
- stream: {
1432
- anyOf: [{ type: "boolean" }, { type: "string", enum: ["stdout", "stderr", "both", "rows", "ndjson", "jsonl"] }]
1433
- },
1434
- tail: { anyOf: [{ type: "string" }, { type: "number" }] },
1435
- addJson: { type: "array", items: { type: "string" } },
1436
- match: { type: "string" },
1437
- onlyIndex: { anyOf: [{ type: "string" }, { type: "number" }] },
1438
- onlyLast: { type: "boolean" },
1439
- envSet: { type: "array", items: { type: "string" } },
1440
- envClear: { type: "array", items: { type: "string" } },
1441
- sharedHostSafe: { type: "boolean" },
1442
- detail: { type: "string", enum: ["summary", "deep"] },
1443
- trace: { type: "boolean" },
1444
- reload: { type: "boolean" },
1445
- watch: { type: "boolean" },
1446
- runtimeProbe: { type: "boolean" },
1447
- fixManagedState: { type: "boolean" },
1448
- pmContext: { type: "string", enum: ["schema", "tracker", "auto"] },
1449
- overrideLinkedPmContext: { type: "boolean" },
1450
- failOnContextMismatch: { type: "boolean" },
1451
- failOnSkipped: { type: "boolean" },
1452
- failOnEmptyTestRun: { type: "boolean" },
1453
- requireAssertionsForPm: { type: "boolean" },
1454
- checkContext: { type: "boolean" },
1455
- autoPmContext: { type: "boolean" },
1456
- diff: { type: "boolean" },
1457
- storage: { type: "boolean" },
1458
- metadataCoverage: { type: "boolean" },
1459
- fieldUtilization: { type: "boolean" },
1460
- byAssignee: { type: "boolean" },
1461
- byTag: { type: "boolean" },
1462
- byPriority: { type: "boolean" },
1463
- tagPrefix: { type: "string" },
1464
- verify: { type: "boolean" },
1465
- literal: { type: "array", items: { type: "string" } },
1466
- regex: { type: "array", items: { type: "string" } },
1467
- replacement: { type: "string" },
1468
- timeout: { anyOf: [{ type: "string" }, { type: "number" }] },
1469
- validateClose: { type: "string", enum: ["off", "warn", "strict"] },
1470
- checkMetadata: { type: "boolean" },
1471
- metadataProfile: { type: "string", enum: ["core", "strict", "custom"] },
1472
- checkResolution: { type: "boolean" },
1473
- checkLifecycle: { type: "boolean" },
1474
- checkStaleBlockers: { type: "boolean" },
1475
- dependencyCycleSeverity: { type: "string", enum: ["off", "warn", "error"] },
1476
- checkFiles: { type: "boolean" },
1477
- strictDirectories: { type: "boolean" },
1478
- checkOnly: { type: "boolean" },
1479
- checkTelemetry: { type: "boolean" },
1480
- noRefresh: { type: "boolean" },
1481
- refreshVectors: { type: "boolean" },
1482
- verboseStaleItems: { type: "boolean" },
1483
- skipVectors: { type: "boolean" },
1484
- skipIntegrity: { type: "boolean" },
1485
- skipDrift: { type: "boolean" },
1486
- verboseDiagnostics: { type: "boolean" },
1487
- allAffectedIds: { type: "boolean" },
1488
- scanMode: { type: "string", enum: ["default", "tracked-all", "tracked-all-strict"] },
1489
- includePmInternals: { type: "boolean" },
1490
- verboseFileLists: { type: "boolean" },
1491
- strictExit: { type: "boolean" },
1492
- failOnWarn: { type: "boolean" },
1493
- fixHints: { type: "boolean" },
1494
- autoFix: { type: "boolean" },
1495
- fixScope: { type: "array", items: { type: "string", enum: ["metadata", "resolution", "estimates", "lifecycle"] } },
1496
- pruneMissing: { type: "boolean" },
1497
- checkHistoryDrift: { type: "boolean" },
1498
- checkCommandReferences: { type: "boolean" },
1499
- allowAuditNote: { type: "boolean" },
1500
- allowAuditLearning: { type: "boolean" },
1501
- allowAuditComment: { type: "boolean" },
1502
- edit: { type: "integer", minimum: 1 },
1503
- delete: { type: "integer", minimum: 1 },
1504
- allowAuditUpdate: { type: "boolean" },
1505
- allowAuditDepUpdate: { type: "boolean" },
1506
- allowAuditRelease: { type: "boolean" },
1507
- dryRun: { type: "boolean" },
1508
- all: { type: "boolean" },
1509
- clear: { type: "boolean" },
1510
- cliOnly: { type: "boolean" },
1511
- packagesOnly: { type: "boolean" },
1512
- repair: { type: "boolean" },
1513
- packageName: { type: "string" },
1514
- rollback: { type: "string" },
1515
- noCheckpoint: { type: "boolean" },
1516
- force: { type: "boolean" },
1517
- run: { type: "boolean" },
1518
- count: { type: "boolean" },
1519
- sum: { type: "string" },
1520
- avg: { type: "string" },
1521
- tree: { type: "boolean" },
1522
- treeDepth: { anyOf: [{ type: "string" }, { type: "number" }] },
1523
- includeUnparented: { type: "boolean" },
1524
- gcScope: {
1525
- type: "array",
1526
- items: { type: "string", enum: ["index", "embeddings", "runtime", "locks"] }
1527
- },
1528
- maxDepth: { anyOf: [{ type: "string" }, { type: "number" }] },
1529
- collapse: { type: "string", enum: ["none", "repeated"] },
1530
- summary: { type: "boolean" },
1531
- shell: { type: "string", enum: ["bash", "zsh", "fish"] },
1532
- stdin: { type: "boolean" },
1533
- file: { type: "string" },
1534
- preserveSourceIds: { type: "boolean" },
1535
- folder: { type: "string" },
1536
- subcommand: { type: "string" },
1537
- name: { type: "string" },
1538
- defaultStatus: { type: "string" },
1539
- alias: { type: "array", items: { type: "string" } },
1540
- role: { type: "array", items: { type: "string" } },
1541
- fieldType: { type: "string", enum: ["string", "number", "boolean", "string_array"] },
1542
- commands: { type: "array", items: { type: "string" } },
1543
- cliFlag: { type: "string" },
1544
- required: { type: "boolean" },
1545
- requiredOnCreate: { type: "boolean" },
1546
- allowUnset: { type: "boolean" },
1547
- requiredTypes: { type: "array", items: { type: "string" } },
1548
- infer: { type: "boolean" },
1549
- minCount: { type: "number" },
1550
- text: { type: "string" },
1551
- add: { type: "array", items: { type: "string" } },
1552
- addGlob: { type: "array", items: { type: "string" } },
1553
- remove: { type: "array", items: { type: "string" } },
1554
- migrate: { type: "array", items: { type: "string" } },
1555
- discover: { type: "boolean" },
1556
- apply: { type: "boolean" },
1557
- discoveryNote: { type: "string" },
1558
- // GH-170 (pm-pfnx): single-string note for files/docs add batches (the shared
1559
- // `note` key below is the array-typed create/update note seed).
1560
- addNote: { type: "string" },
1561
- list: { type: "boolean" },
1562
- appendStable: { type: "boolean" },
1563
- validatePaths: { type: "boolean" },
1564
- audit: { type: "boolean" },
1565
- dep: { type: "array", items: { type: "string" } },
1566
- depRemove: { type: "array", items: { type: "string" } },
1567
- replaceDeps: { type: "boolean" },
1568
- replaceTests: { type: "boolean" },
1569
- comment: { type: "array", items: { type: "string" } },
1570
- note: { type: "array", items: { type: "string" } },
1571
- learning: { type: "array", items: { type: "string" } },
1572
- linkedFile: { type: "array", items: { type: "string" } },
1573
- linkedTest: { type: "array", items: { type: "string" } },
1574
- doc: { type: "array", items: { type: "string" } },
1575
- reminder: { type: "array", items: { type: "string" } },
1576
- event: { type: "array", items: { type: "string" } },
1577
- typeOption: { type: "array", items: { type: "string" } },
1578
- field: { type: "array", items: { type: "string" } },
1579
- unset: { type: "array", items: { type: "string" } },
1580
- clearDeps: { type: "boolean" },
1581
- clearComments: { type: "boolean" },
1582
- clearNotes: { type: "boolean" },
1583
- clearLearnings: { type: "boolean" },
1584
- clearFiles: { type: "boolean" },
1585
- clearTests: { type: "boolean" },
1586
- clearDocs: { type: "boolean" },
1587
- clearReminders: { type: "boolean" },
1588
- clearEvents: { type: "boolean" },
1589
- clearTypeOptions: { type: "boolean" },
1590
- criterion: { type: "array", items: { type: "string" } },
1591
- clearCriteria: { type: "boolean" },
1592
- groupBy: { type: "string" },
1593
- completion: { type: "boolean" },
1594
- threshold: { anyOf: [{ type: "string" }, { type: "number" }] },
1595
- format: { type: "string" },
1596
- depth: { type: "string", enum: ["brief", "standard", "deep", "full"] },
1597
- section: { type: "array", items: { type: "string", enum: ["hierarchy", "activity", "progress", "blockers", "files", "workload", "staleness", "tests"] } },
1598
- activityLimit: { anyOf: [{ type: "string" }, { type: "number" }] },
1599
- staleThreshold: { type: "string" },
1600
- policy: { type: "string" }
1601
- };
1602
- var PLAN_SUBCOMMAND_VALUES = [
1603
- "create",
1604
- "show",
1605
- "add-step",
1606
- "update-step",
1607
- "complete-step",
1608
- "block-step",
1609
- "reorder-step",
1610
- "remove-step",
1611
- "link",
1612
- "unlink",
1613
- "decision",
1614
- "discovery",
1615
- "validation",
1616
- "resume",
1617
- "approve",
1618
- "materialize"
1619
- ];
1620
- var PLAN_ACTION_PARAMETER_PROPERTIES = {
1621
- subcommand: { type: "string", enum: [...PLAN_SUBCOMMAND_VALUES] },
1622
- stepRef: { type: "string" },
1623
- reorderTo: { anyOf: [{ type: "string" }, { type: "number" }] },
1624
- scope: { type: "string" },
1625
- harness: { type: "string", enum: [...PLAN_HARNESS_VALUES] },
1626
- mode: { type: "string", enum: [...PLAN_MODE_VALUES] },
1627
- resumeContext: { type: "string" },
1628
- related: { type: "string" },
1629
- blocks: { type: "string" },
1630
- claim: { type: "boolean" },
1631
- fromSearch: { type: "string" },
1632
- stepTitle: { type: "string" },
1633
- // pm-6mit: ordered step titles for create (string or array; values are never
1634
- // comma-split). On step subcommands a single value aliases stepTitle.
1635
- step: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
1636
- stepBody: { type: "string" },
1637
- stepOwner: { type: "string" },
1638
- stepStatus: { type: "string", enum: [...PLAN_STEP_STATUS_VALUES] },
1639
- stepEvidence: { type: "string" },
1640
- stepBlockedReason: { type: "string" },
1641
- stepReplacement: { type: "string" },
1642
- dependsOn: { type: "string" },
1643
- link: { type: "string" },
1644
- linkKind: { type: "string", enum: [...PLAN_STEP_LINK_KIND_VALUES] },
1645
- linkNote: { type: "string" },
1646
- promoteToItemDep: { type: "boolean" },
1647
- allowMultipleActive: { type: "boolean" },
1648
- file: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
1649
- test: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
1650
- doc: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
1651
- decisionText: { type: "string" },
1652
- decision: { type: "string" },
1653
- decisionRationale: { type: "string" },
1654
- decisionEvidence: { type: "string" },
1655
- discoveryText: { type: "string" },
1656
- discovery: { type: "string" },
1657
- validationText: { type: "string" },
1658
- validation: { type: "string" },
1659
- validationCommand: { type: "string" },
1660
- validationExpected: { type: "string" },
1661
- steps: { type: "array", items: { type: "string" } },
1662
- materializeType: { type: "string" },
1663
- materializeParent: { type: "string" },
1664
- materializeTags: { type: "string" }
1665
- };
1666
- var PLAN_ACTION_PARAMETER_METADATA = {
1667
- subcommand: {
1668
- description: "Plan workflow operation to run.",
1669
- examples: ["create", "show", "add-step", "approve"]
1670
- },
1671
- stepRef: {
1672
- description: "Plan step id or order for step lifecycle subcommands.",
1673
- examples: ["plan-step-001", "1"]
1674
- },
1675
- reorderTo: {
1676
- description: "New integer order for reorder-step.",
1677
- examples: [1, "2"]
1678
- },
1679
- scope: {
1680
- description: "Short free-text scope statement describing what the Plan covers.",
1681
- examples: ["Release readiness audit", "Search package migration"]
1682
- },
1683
- mode: {
1684
- description: "Plan lifecycle mode.",
1685
- examples: ["draft", "research", "approved"]
1686
- },
1687
- step: {
1688
- description: "Ordered initial step titles for create (string or array, never comma-split; stepTitle, when also set, becomes the first step). For step subcommands a single value aliases stepTitle.",
1689
- examples: [["Read the code", "Write the fix", "Run the tests"]]
1690
- },
1691
- file: {
1692
- description: "File link to attach while creating or materializing a Plan.",
1693
- examples: ["path=src/cli.ts,note=implementation surface"]
1694
- },
1695
- test: {
1696
- description: "Test command link to attach while creating or materializing a Plan.",
1697
- examples: ["command=pnpm build,timeout_seconds=300"]
1698
- },
1699
- doc: {
1700
- description: "Documentation link to attach while creating or materializing a Plan.",
1701
- examples: ["path=docs/SDK.md,note=public API reference"]
1702
- }
1703
- };
1704
- var PM_TOOL_PARAMETER_METADATA = {
1705
- action: {
1706
- description: "Tool action to execute."
1707
- },
1708
- path: {
1709
- description: "Optional PM data root override for this invocation.",
1710
- examples: [".agents/pm"]
1711
- },
1712
- scope: {
1713
- description: "Scope selector for commands that operate on project or global state. Linked files, docs, and tests default to project scope when omitted.",
1714
- examples: ["project", "global"]
1715
- },
1716
- detail: {
1717
- description: "Detail mode for commands that support concise and deep diagnostics.",
1718
- examples: ["summary", "deep"]
1719
- },
1720
- trace: {
1721
- description: "When true for extension-doctor, include actionable registration traces in deep diagnostics."
1722
- },
1723
- reload: {
1724
- description: "When true for extension action payloads, trigger cache-busted extension module reload."
1725
- },
1726
- watch: {
1727
- description: "When true for extension-reload/extension action payloads, enable watch mode semantics."
1728
- },
1729
- runtimeProbe: {
1730
- description: "When true for extension-manage, run a doctor-like runtime activation probe for parity fields."
1731
- },
1732
- fixManagedState: {
1733
- description: "When true for extension-manage/extension-doctor, adopt unmanaged extensions before diagnostics/update checks."
1734
- },
1735
- target: {
1736
- description: "Positional target argument for the selected action (ID, source, package source, or extension name).",
1737
- examples: ["pm-a1b2", ".agents/pm/extensions/sample", "sample-extension"]
1738
- },
1739
- github: {
1740
- description: "GitHub shorthand owner/repo[/path] source for package/extension install actions.",
1741
- examples: ["org/repo/extensions/sample"]
1742
- },
1743
- ref: {
1744
- description: "Git ref/branch/tag used when installing from GitHub shorthand/URL sources.",
1745
- examples: ["main", "v1.0.0"]
1746
- },
1747
- cliOnly: {
1748
- description: "Restrict upgrade to the pm CLI/SDK npm package."
1749
- },
1750
- packagesOnly: {
1751
- description: "Restrict upgrade to managed installable pm packages."
1752
- },
1753
- repair: {
1754
- description: "Force npm global reinstall semantics when upgrading the pm CLI/SDK."
1755
- },
1756
- tag: {
1757
- description: "npm version or dist-tag used for CLI and registry package upgrades.",
1758
- examples: ["latest", "next", "2026.5.11"]
1759
- },
1760
- packageName: {
1761
- description: "Override the pm CLI package name for self-upgrade automation and tests.",
1762
- examples: ["@unbrained/pm-cli"]
1763
- },
1764
- json: {
1765
- description: "Emit machine-readable JSON output."
1766
- },
1767
- quiet: {
1768
- description: "Suppress stdout payload output."
1769
- },
1770
- noExtensions: {
1771
- description: "Disable extension loading for this invocation."
1772
- },
1773
- noPager: {
1774
- description: "Disable pager integration for help and long output."
1775
- },
1776
- profile: {
1777
- description: "Emit deterministic timing diagnostics to stderr."
1778
- },
1779
- timeoutMs: {
1780
- description: "Tool execution timeout in milliseconds.",
1781
- examples: [12e4]
1782
- },
1783
- id: {
1784
- description: "Item identifier for read or mutation actions.",
1785
- examples: ["pm-a1b2"]
1786
- },
1787
- runId: {
1788
- description: "Background test run identifier.",
1789
- examples: ["tr-kq9x3f-93acde"]
1790
- },
1791
- title: {
1792
- description: "Item title text."
1793
- },
1794
- description: {
1795
- description: "Item description text."
1796
- },
1797
- type: {
1798
- description: "Item type name from the active runtime type registry.",
1799
- examples: ["Task", "Feature"]
1800
- },
1801
- subcommand: {
1802
- description: "Subcommand selector for schema and telemetry actions."
1803
- },
1804
- name: {
1805
- description: "Custom item type name (schema add-type/remove-type/show), custom status id (schema show-status/add-status/remove-status), or custom field key (schema add-field/remove-field/show-field).",
1806
- examples: ["Spike", "review", "component"]
1807
- },
1808
- defaultStatus: {
1809
- description: "Default status hint recorded for a custom item type.",
1810
- examples: ["open"]
1811
- },
1812
- alias: {
1813
- description: "Aliases for the custom item type or status (repeatable).",
1814
- examples: [["spike", "research"]]
1815
- },
1816
- role: {
1817
- description: "Lifecycle roles for a custom status (schema add-status): draft, active, blocked, terminal, terminal_done, terminal_canceled, default_open, default_close, default_cancel.",
1818
- examples: [["active"], ["terminal", "terminal_done"]]
1819
- },
1820
- fieldType: {
1821
- description: "Value type for a custom field (schema add-field): string, number, boolean, or string_array.",
1822
- examples: ["string", "number", "string_array"]
1823
- },
1824
- commands: {
1825
- description: "Commands a custom field is wired onto (schema add-field): create, update, update_many, list, search, calendar, context.",
1826
- examples: [["create", "update"], ["create", "update", "list"]]
1827
- },
1828
- cliFlag: {
1829
- description: "Override the auto-derived CLI flag for a custom field (schema add-field).",
1830
- examples: ["--owner"]
1831
- },
1832
- required: {
1833
- description: "Mark a custom field as always required (schema add-field)."
1834
- },
1835
- requiredOnCreate: {
1836
- description: "Mark a custom field as required at create time (schema add-field)."
1837
- },
1838
- allowUnset: {
1839
- description: "Whether a custom field may be cleared via --unset (schema add-field); defaults to true."
1840
- },
1841
- requiredTypes: {
1842
- description: "Restrict a custom field's requirement to specific item types (schema add-field).",
1843
- examples: [["Bug"], ["Story", "Spike"]]
1844
- },
1845
- infer: {
1846
- description: "Infer custom item types from title-prefix conventions (schema add-type); previews unless apply is true."
1847
- },
1848
- minCount: {
1849
- description: "Minimum number of items sharing a title prefix for schema add-type inference (default 10).",
1850
- examples: [10, 25]
1851
- },
1852
- preset: {
1853
- description: "Governance preset for initialization flows.",
1854
- examples: ["minimal", "default", "strict"]
1855
- },
1856
- typePreset: {
1857
- description: "Domain item-type preset registered during initialization.",
1858
- examples: ["agile", "ops", "research"]
1859
- },
1860
- defaults: {
1861
- description: "Use non-interactive setup defaults during initialization."
1862
- },
1863
- verbose: {
1864
- description: "Include the full resolved settings tree in init output."
1865
- },
1866
- agentGuidance: {
1867
- description: "Control AGENTS.md/CLAUDE.md guidance behavior during init: ask, add, skip, or status.",
1868
- examples: ["ask", "add", "skip", "status"]
1869
- },
1870
- withPackages: {
1871
- description: "Install all bundled first-party pm packages during initialization."
1872
- },
1873
- createMode: {
1874
- description: "Create required-option policy mode.",
1875
- examples: ["strict", "progressive"]
1876
- },
1877
- schedulePreset: {
1878
- description: "Schedule-centric create preset for Reminder, Meeting, and Event types.",
1879
- examples: ["lightweight"]
1880
- },
1881
- status: {
1882
- description: "Item status value. Statuses are project-configurable via .agents/pm/settings.json (schema block); the built-in defaults are draft, open, in_progress, blocked, closed, canceled. Custom statuses defined for the project are accepted \u2014 discover the active set with the pm_contracts tool (workspace.statuses) or `pm contracts`. Unknown statuses are rejected at runtime with a did-you-mean hint rather than blocked by a fixed schema enum.",
1883
- examples: ["open", "in_progress"]
1884
- },
1885
- priority: {
1886
- description: "Priority value in range 0..4.",
1887
- examples: [0, 1, "2"]
1888
- },
1889
- order: {
1890
- description: "Planning order/rank value for create/update, or sort direction (asc|desc) for list-family sorting.",
1891
- examples: [0, 1, "2", "asc", "desc"]
1892
- },
1893
- sort: {
1894
- description: "List-family sort field selector.",
1895
- examples: ["priority", "deadline", "updated_at", "created_at", "title", "parent"]
1896
- },
1897
- tags: {
1898
- description: "Comma-delimited tag list.",
1899
- examples: ["pm-cli,agent-ux"]
1900
- },
1901
- addTags: {
1902
- description: "Tags to add to the existing list without replacing it. Each entry may be CSV or a JSON array.",
1903
- examples: [["agent-ux"], ["fix", "security"]]
1904
- },
1905
- removeTags: {
1906
- description: "Tags to remove from the existing list. Each entry may be CSV or a JSON array.",
1907
- examples: [["stale"], ["legacy", "wontfix"]]
1908
- },
1909
- deadline: {
1910
- description: "ISO/date timestamp or relative offset (+6h/+1d/+2w/+6m).",
1911
- examples: ["2026-04-01T00:00:00.000Z", "+1d"]
1912
- },
1913
- reminder: {
1914
- description: "Repeatable reminder seed entries at=<iso|relative>,text=<text>.",
1915
- examples: [["at=+2d,text=Review PR"]]
1916
- },
1917
- event: {
1918
- description: "Repeatable event seed entries start=<iso|relative> with end=<iso|relative> or duration=<relative|30min|PT30M>. Bare `m` remains months for backward compatibility.",
1919
- examples: [
1920
- ["start=2026-07-01T10:00:00Z,duration=2h,title=planning"],
1921
- ["start=2026-07-01T10:00:00Z,duration=30min,title=standup"],
1922
- ["start=2026-07-01T10:00:00Z,duration=PT30M,title=window"]
1923
- ]
1924
- },
1925
- estimate: {
1926
- description: "Estimated effort in minutes.",
1927
- examples: [60, "120"]
1928
- },
1929
- acceptanceCriteria: {
1930
- description: "Acceptance criteria text."
1931
- },
1932
- author: {
1933
- description: "Mutation author identity.",
1934
- examples: ["codex-agent"]
1935
- },
1936
- message: {
1937
- description: "History message for mutation audit trail."
1938
- },
1939
- assignee: {
1940
- description: "Assignee identity.",
1941
- examples: ["codex-agent"]
1942
- },
1943
- assigneeFilter: {
1944
- description: "Assignee presence selector for list/calendar/context/comments-audit filters.",
1945
- examples: ["assigned", "unassigned"]
1946
- },
1947
- parent: {
1948
- description: "Parent item ID filter for hierarchical list queries.",
1949
- examples: ["pm-epic01"]
1950
- },
1951
- unset: {
1952
- description: "Repeatable list of front-matter fields to clear explicitly during create/update mutations.",
1953
- examples: [["deadline", "assignee"], ["close-reason"]]
1954
- },
1955
- clearDeps: {
1956
- description: "When true, clear linked dependencies."
1957
- },
1958
- replaceDeps: {
1959
- description: "When true for update, atomically replace dependencies with the supplied --dep values."
1960
- },
1961
- replaceTests: {
1962
- description: "When true for update, atomically replace linked tests with the supplied --test values."
1963
- },
1964
- clearComments: {
1965
- description: "When true, clear item comments."
1966
- },
1967
- clearNotes: {
1968
- description: "When true, clear item notes."
1969
- },
1970
- clearLearnings: {
1971
- description: "When true, clear item learnings."
1972
- },
1973
- clearFiles: {
1974
- description: "When true, clear linked files."
1975
- },
1976
- clearTests: {
1977
- description: "When true, clear linked tests."
1978
- },
1979
- clearDocs: {
1980
- description: "When true, clear linked docs."
1981
- },
1982
- clearReminders: {
1983
- description: "When true, clear reminders."
1984
- },
1985
- clearEvents: {
1986
- description: "When true, clear events."
1987
- },
1988
- clearTypeOptions: {
1989
- description: "When true, clear type option metadata."
1990
- },
1991
- clearCriteria: {
1992
- description: "When true for config set criteria-list keys (definition-of-done, metadata-required-fields, lifecycle pattern lists), clear the criteria list."
1993
- },
1994
- mode: {
1995
- description: "Mode selector for search/reindex (keyword|semantic|hybrid) and dedupe-audit (title_exact|title_fuzzy|parent_scope).",
1996
- examples: ["keyword", "hybrid", "title_exact"]
1997
- },
1998
- semanticWeight: {
1999
- description: "Per-query hybrid semantic weight override in [0,1] for search action; invalid values fall back to settings.",
2000
- examples: [0.2, "0.7"]
2001
- },
2002
- op: {
2003
- description: "History operation filter for activity output.",
2004
- examples: ["create", "update", "close", "update_audit"]
2005
- },
2006
- fullPeriod: {
2007
- description: "For day/week/month calendar views, include the full anchored period instead of clipping the start to now."
2008
- },
2009
- progress: {
2010
- description: "Emit progress diagnostics to stderr for long-running operations."
2011
- },
2012
- background: {
2013
- description: "Run linked tests in managed background mode."
2014
- },
2015
- addJson: {
2016
- description: "Repeatable JSON object or array input for adding linked-test entries without CSV escaping loss.",
2017
- examples: [[`{"command":"node scripts/run-tests.mjs test -- tests/unit/output.spec.ts","timeout_seconds":240}`]]
2018
- },
2019
- match: {
2020
- description: "Run only linked tests whose command or path contains this case-insensitive substring.",
2021
- examples: ["output.spec.ts", "coverage"]
2022
- },
2023
- onlyIndex: {
2024
- description: "Run only the 1-based linked-test index from pm test <id> --list order.",
2025
- examples: [1, "2"]
2026
- },
2027
- onlyLast: {
2028
- description: "Run only the most recently added linked-test entry."
2029
- },
2030
- envSet: {
2031
- description: "Repeatable runtime environment KEY=VALUE overrides for linked-test execution.",
2032
- examples: [["PORT=0", "PLAYWRIGHT_HTML_OPEN=never"]]
2033
- },
2034
- envClear: {
2035
- description: "Repeatable runtime environment variable names to clear before linked-test execution.",
2036
- examples: [["PLAYWRIGHT_BASE_URL"]]
2037
- },
2038
- sharedHostSafe: {
2039
- description: "Apply additive shared-host-safe runtime defaults during linked-test execution."
2040
- },
2041
- pmContext: {
2042
- description: "PM linked-test context mode (schema keeps isolated tracker data; tracker seeds source tracker data; auto uses tracker for PM tracker-read linked commands).",
2043
- examples: ["schema", "tracker", "auto"]
2044
- },
2045
- overrideLinkedPmContext: {
2046
- description: "Force run-level --pm-context to override per-linked-test pm_context_mode metadata for all linked-test entries."
2047
- },
2048
- failOnContextMismatch: {
2049
- description: "Fail linked PM command runs when source and sandbox tracker item counts differ."
2050
- },
2051
- failOnSkipped: {
2052
- description: "Treat skipped linked tests as dependency-failed policy violations."
2053
- },
2054
- failOnEmptyTestRun: {
2055
- description: "Treat successful linked-test commands that report zero executed tests as failures."
2056
- },
2057
- requireAssertionsForPm: {
2058
- description: "Require assertion metadata for linked PM command test entries during run execution."
2059
- },
2060
- checkContext: {
2061
- description: "Run linked PM command context preflight diagnostics before command execution."
2062
- },
2063
- autoPmContext: {
2064
- description: "Auto-remediate PM tracker-read linked commands by routing those entries through tracker context regardless of linked-test pm_context_mode overrides."
2065
- },
2066
- dryRun: {
2067
- description: "Preview command effects without mutating storage artifacts."
2068
- },
2069
- all: {
2070
- description: "For history-repair action: scan every stream for drift and repair each drifted stream in one audited pass (mutually exclusive with id)."
2071
- },
2072
- clear: {
2073
- description: "For focus action: clear the session focused item instead of setting it (mutually exclusive with id)."
2074
- },
2075
- gcScope: {
2076
- description: "Repeatable gc scope selector values (index, embeddings, runtime, locks, checkpoints).",
2077
- examples: [["index", "embeddings"], ["runtime"], ["locks"], ["checkpoints"]]
2078
- },
2079
- storage: {
2080
- description: "For stats action: include aggregate history-stream storage metrics (total streams/lines/bytes, largest + deepest streams, oldest/newest entries) for compaction and storage planning."
2081
- },
2082
- fieldUtilization: {
2083
- description: "For stats action: include a field_utilization block reporting present/total/percent for content fields (notes, learnings, files, docs, tests, comments, deps, body, linked_command) across all items so under-documented dimensions are visible at a glance."
2084
- },
2085
- offset: {
2086
- description: "Number of matching rows to skip before limit is applied.",
2087
- examples: [0, 50, "100"]
2088
- },
2089
- before: {
2090
- description: "For history-compact, compact entries strictly before this boundary (version number or ISO timestamp). Single-id mode only.",
2091
- examples: ["5", "2026-06-01T00:00:00.000Z"]
2092
- },
2093
- allOver: {
2094
- description: "For history-compact bulk mode, compact every stream with more than N entries. When history.compact_policy is enabled and this is omitted, the policy's max_entries is used.",
2095
- examples: [200, "500"]
2096
- },
2097
- minEntries: {
2098
- description: "For history-compact bulk mode, skip streams with at most N entries as already-compact (default 3).",
2099
- examples: [3, "10"]
2100
- },
2101
- closed: {
2102
- description: "For history-compact bulk mode, compact only closed (terminal) items' history streams."
2103
- },
2104
- allStreams: {
2105
- description: "For history-compact bulk mode, compact every history stream regardless of lifecycle state."
2106
- },
2107
- limitItems: {
2108
- description: "Maximum number of filtered items to include in comments-audit output (alias: --limit).",
2109
- examples: [10, "25"]
2110
- },
2111
- fullHistory: {
2112
- description: "When true for comments-audit, export full per-item comment history rows; cannot be combined with latest."
2113
- },
2114
- latest: {
2115
- description: "Number of most recent comments to include per item in comments-audit output (use 0 for summary-only item rows).",
2116
- examples: [0, 1, "3"]
2117
- },
2118
- literal: {
2119
- description: "Repeatable literal matcher used by history-redact to scrub exact string values.",
2120
- examples: ["[redacted_path_prefix]/private/path"]
2121
- },
2122
- regex: {
2123
- description: "Repeatable regex matcher used by history-redact. Accepts either /pattern/flags or a raw pattern (global mode is auto-enabled).",
2124
- examples: ["/192\\\\.168\\\\.[0-9.]+/g", "token=[A-Za-z0-9_-]+"]
2125
- },
2126
- replacement: {
2127
- description: 'Replacement text used by history-redact (defaults to "[redacted]").',
2128
- examples: ["[scrubbed_path]"]
2129
- },
2130
- validateClose: {
2131
- description: 'Close-time metadata validation mode ("off", "warn", or "strict").',
2132
- examples: ["off", "warn", "strict"]
2133
- },
2134
- checkMetadata: {
2135
- description: "Run metadata completeness checks."
2136
- },
2137
- metadataProfile: {
2138
- description: "Select metadata validation profile for --check-metadata.",
2139
- examples: ["core", "strict", "custom"]
2140
- },
2141
- checkResolution: {
2142
- description: "Run closed-item resolution metadata checks."
2143
- },
2144
- checkLifecycle: {
2145
- description: "Run active-item lifecycle governance drift checks."
2146
- },
2147
- checkStaleBlockers: {
2148
- description: "Include stale blocker-pattern diagnostics in lifecycle checks."
2149
- },
2150
- dependencyCycleSeverity: {
2151
- description: "Set dependency-cycle warning policy for lifecycle checks.",
2152
- examples: ["off", "warn", "error"]
2153
- },
2154
- checkFiles: {
2155
- description: "Run linked-file and orphaned-file checks."
2156
- },
2157
- strictDirectories: {
2158
- description: "Treat optional item-type directories as required health failures."
2159
- },
2160
- checkOnly: {
2161
- description: "For health action, run read-only diagnostics without refreshing vectors."
2162
- },
2163
- checkTelemetry: {
2164
- description: "For health action, probe telemetry endpoint health and include network diagnostics."
2165
- },
2166
- noRefresh: {
2167
- description: "For health action, skip vector refresh while still running checks."
2168
- },
2169
- refreshVectors: {
2170
- description: "For health action, explicitly refresh stale vectors."
2171
- },
2172
- verboseStaleItems: {
2173
- description: "For health action, include full stale-item arrays in vectorization details."
2174
- },
2175
- skipVectors: {
2176
- description: "For health action, skip vectorization checks for a faster diagnostic run."
2177
- },
2178
- skipIntegrity: {
2179
- description: "For health action, skip item/history file integrity checks for a faster diagnostic run."
2180
- },
2181
- skipDrift: {
2182
- description: "For health action, skip history drift hash checks for a faster diagnostic run."
2183
- },
2184
- scanMode: {
2185
- description: "Select file candidate scan mode for --check-files.",
2186
- examples: ["default", "tracked-all", "tracked-all-strict"]
2187
- },
2188
- includePmInternals: {
2189
- description: "Include PM storage internals in tracked-all candidate scans."
2190
- },
2191
- verboseFileLists: {
2192
- description: "For validate action, include full file-path lists for --check-files details."
2193
- },
2194
- verboseDiagnostics: {
2195
- description: "For validate action, include full diagnostic ID lists instead of compact summaries."
2196
- },
2197
- strictExit: {
2198
- description: "Return non-zero exit when health/validate/extension-doctor warnings are present."
2199
- },
2200
- failOnWarn: {
2201
- description: "Alias for strictExit in health/validate/extension-doctor action payloads."
2202
- },
2203
- fixHints: {
2204
- description: "For validate action, add a machine-executable fix_hints[] of pm commands to each failing check's details."
2205
- },
2206
- autoFix: {
2207
- description: "For validate action, apply the safe, deterministic subset of fix-hint remediations (field backfills) automatically; combine with dryRun to preview and fixScope to grant gated scopes."
2208
- },
2209
- fixScope: {
2210
- description: "For validate action, grant --auto-fix scopes (metadata, resolution, estimates, lifecycle). Defaults to the safe scopes metadata and resolution; estimates (per-type default estimated_minutes backfill) and lifecycle must be named explicitly.",
2211
- examples: [["estimates"], ["lifecycle"], ["metadata", "resolution"]]
2212
- },
2213
- pruneMissing: {
2214
- description: "For validate action, remove stale linked-file/doc LINKS whose paths classified as deleted (link removal only \u2014 never touches real files); honors dryRun."
2215
- },
2216
- checkHistoryDrift: {
2217
- description: "Run item/history hash drift checks."
2218
- },
2219
- checkCommandReferences: {
2220
- description: "Run linked-command PM-ID reference checks."
2221
- },
2222
- allowAuditNote: {
2223
- description: "For notes action, allow non-owner append-only note audits without requiring --force."
2224
- },
2225
- allowAuditLearning: {
2226
- description: "For learnings action, allow non-owner append-only learning audits without requiring --force."
2227
- },
2228
- allowAuditComment: {
2229
- description: "For comments action, allow non-owner append-only comment audits without requiring --force."
2230
- },
2231
- edit: {
2232
- description: "For comments action, replace the comment at this 1-based index with the supplied replacement text (add/stdin/file)."
2233
- },
2234
- delete: {
2235
- description: "For comments action, delete the comment at this 1-based index."
2236
- },
2237
- stdin: {
2238
- description: "When true for comments action, read comment text from piped stdin (supports multiline markdown)."
2239
- },
2240
- file: {
2241
- description: "Path to input file for actions that read payload text, such as comments --file.",
2242
- examples: ["notes/comment.md"]
2243
- },
2244
- allowAuditUpdate: {
2245
- description: "Allow non-owner metadata-only update audits without requiring --force."
2246
- },
2247
- allowAuditDepUpdate: {
2248
- description: "Allow non-owner append-only dependency update audits without requiring --force."
2249
- },
2250
- allowAuditRelease: {
2251
- description: "Allow non-owner release handoffs that clear assignee metadata without requiring --force."
2252
- },
2253
- preserveSourceIds: {
2254
- description: "Preserve explicit source IDs during Beads imports instead of normalizing to tracker prefix.",
2255
- examples: [true]
2256
- },
2257
- appendStable: {
2258
- description: "When true for files action, preserve existing linked-file order and append new links without full-array resorting."
2259
- },
2260
- discover: {
2261
- description: "When true for files action, use `pm files discover <id>` to scan item text for referenced file paths."
2262
- },
2263
- apply: {
2264
- description: "Persist changes instead of returning a dry-run preview: for files discovery, add the missing discovered file links; for schema add-type --infer, register the inferred custom item types."
2265
- },
2266
- discoveryNote: {
2267
- description: "Note attached to file links added by files discovery.",
2268
- examples: ["discovered from item text"]
2269
- },
2270
- addNote: {
2271
- description: "Note attached to every link added by add/addGlob in this call (per-entry embedded note= wins; requires add or addGlob). Maps to the CLI --note flag on pm files/pm docs.",
2272
- examples: ["command wiring"]
2273
- },
2274
- list: {
2275
- description: "When true for files/docs action, list the current linked paths without mutating them.",
2276
- examples: [true]
2277
- },
2278
- stream: {
2279
- description: "Stream selector: test-runs logs accepts stdout|stderr|both; activity accepts boolean/rows|ndjson|jsonl for line-delimited output.",
2280
- examples: ["stderr", "stdout", "both", "rows", "ndjson", "jsonl", true]
2281
- },
2282
- tail: {
2283
- description: "Number of lines to tail for background run logs.",
2284
- examples: [100]
2285
- },
2286
- query: {
2287
- description: "Search query text for search action."
2288
- },
2289
- keywords: {
2290
- description: "Alias for query in search action payloads."
2291
- },
2292
- includeLinked: {
2293
- description: "Include readable linked docs/files/tests content in keyword and hybrid lexical scoring."
2294
- },
2295
- titleExact: {
2296
- description: "For search action, require exact normalized title match for the full query string."
2297
- },
2298
- phraseExact: {
2299
- description: "For search action, require exact normalized query phrase match in item text fields."
2300
- },
2301
- highlight: {
2302
- description: "For search action, emit per-field matched-text snippets (wrapped in \xAB\u2026\xBB) on each hit. Off by default."
2303
- },
2304
- includeBody: {
2305
- description: "When true for list-family actions, include item body text in projected rows."
2306
- },
2307
- noTruncate: {
2308
- description: "When true for list-family actions, return every matched row, overriding any limit (surfaces total when rows were dropped)."
2309
- },
2310
- compact: {
2311
- description: "Render compact projection output for search and list-family actions."
2312
- },
2313
- full: {
2314
- description: "Enable command-specific full/detail output mode when supported, such as deep item reads for get or full payload mode for search/history."
2315
- },
2316
- fields: {
2317
- description: "Comma-separated projection fields for get, search, list-family, or context outputs. Valid field names are command-specific (e.g. score/matched_fields apply to search; context projects focus-row fields such as priority/deadline/completion_pct).",
2318
- examples: ["id,title,status,parent,type", "id,title,score,matched_fields", "id,title,priority,deadline"]
2319
- },
2320
- groupBy: {
2321
- description: "Comma-separated aggregate grouping fields (supported: parent,type,priority,status,assignee,tags,sprint,release).",
2322
- examples: ["parent,type", "type,status", "priority,assignee", "tags", "sprint,release"]
2323
- },
2324
- count: {
2325
- description: "Enable grouped count output for aggregate action."
2326
- },
2327
- completion: {
2328
- description: "For aggregate action, add open/in_progress/closed/other counts and completion_pct per group."
2329
- },
2330
- sum: {
2331
- description: "Numeric field to sum per aggregate group (count and null_count are still returned).",
2332
- examples: ["estimated_minutes", "priority"]
2333
- },
2334
- avg: {
2335
- description: "Numeric field to average per aggregate group (count and null_count are still returned).",
2336
- examples: ["estimated_minutes", "priority"]
2337
- },
2338
- tree: {
2339
- description: "When true for list/get actions, render recursive parent/child tree ordering."
2340
- },
2341
- treeDepth: {
2342
- description: "Maximum recursion depth for tree output (0 keeps root rows only).",
2343
- examples: [0, 1, "2"]
2344
- },
2345
- includeUnparented: {
2346
- description: "Include unparented rows when aggregate grouping includes parent."
2347
- },
2348
- maxDepth: {
2349
- description: "Maximum dependency traversal depth for deps action (0 keeps only the root node).",
2350
- examples: [0, 1, "2"]
2351
- },
2352
- collapse: {
2353
- description: 'Dependency tree collapse mode for deps action ("none" or "repeated").',
2354
- examples: ["none", "repeated"]
2355
- },
2356
- summary: {
2357
- description: "When true for deps action, return counts only without full tree/graph payloads."
2358
- },
2359
- threshold: {
2360
- description: "Dedupe-audit fuzzy title similarity threshold between 0 and 1.",
2361
- examples: [0.5, "0.75"]
2362
- },
2363
- shell: {
2364
- description: "Shell target for completion generation.",
2365
- examples: ["bash"]
2366
- },
2367
- eagerTags: {
2368
- description: "When true for completion, eagerly embed current tracker tags into generated scripts (legacy mode)."
2369
- },
2370
- contractAction: {
2371
- description: "Filter contracts schema to one tool action.",
2372
- examples: ["create", "update"]
2373
- },
2374
- command: {
2375
- description: "Scope contracts output to one CLI command name; action/schema surfaces narrow by default.",
2376
- examples: ["create", "search", "list"]
2377
- },
2378
- schemaOnly: {
2379
- description: "When true, contracts action returns schema-focused payloads (mutually exclusive with flagsOnly/availabilityOnly)."
2380
- },
2381
- flagsOnly: {
2382
- description: "When true, contracts action returns only command flag surface payloads (mutually exclusive projection mode)."
2383
- },
2384
- availabilityOnly: {
2385
- description: "When true, contracts action returns only action availability payloads (mutually exclusive projection mode)."
2386
- },
2387
- runtimeOnly: {
2388
- description: "When true, contracts action only includes actions invocable in the current runtime."
2389
- },
2390
- activeOnly: {
2391
- description: "Alias for runtimeOnly in contracts action payloads."
2392
- },
2393
- depth: {
2394
- description: "Context depth level controlling how many sections are included (brief=focus+agenda, standard=+hierarchy/activity/progress/workload, deep=all sections, full=every section with no per-section row cap).",
2395
- examples: ["brief", "standard", "deep", "full"]
2396
- },
2397
- section: {
2398
- description: "Repeatable section selector for context; overrides --depth when provided.",
2399
- examples: [["hierarchy", "activity"], ["blockers", "files", "staleness"]]
2400
- },
2401
- activityLimit: {
2402
- description: "Maximum number of recent activity entries to include in context output.",
2403
- examples: [5, 10, "20"]
2404
- },
2405
- staleThreshold: {
2406
- description: "Staleness cutoff in days for context staleness section (e.g. 7 or 7d).",
2407
- examples: ["7", "14d", "30"]
2408
- }
2409
- };
2410
-
2411
- // dist/sdk/cli-contracts.js
2412
- !(function() {
2413
- try {
2414
- var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
2415
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "9a1b19ca-247e-5b4a-a916-b17be9b5c95d");
2416
- } catch (e2) {
2417
- }
2418
- })();
2419
- function normalizeUniqueStringList(values) {
2420
- return [...new Set(Array.from(values).filter((value) => value.trim().length > 0))];
2421
- }
2422
- function normalizeFlagAliasKey(flag) {
2423
- if (!flag.startsWith("--")) {
2424
- return flag;
2425
- }
2426
- return `--${flag.slice(2).replaceAll("_", "-")}`;
2427
- }
2428
- function withFlagAliasMetadata(flagContracts) {
2429
- const aliasesByCanonical = /* @__PURE__ */ new Map();
2430
- for (const contract of flagContracts) {
2431
- const canonical = normalizeFlagAliasKey(contract.flag);
2432
- const bucket = aliasesByCanonical.get(canonical) ?? /* @__PURE__ */ new Set();
2433
- if (contract.flag !== canonical) {
2434
- bucket.add(contract.flag);
2435
- }
2436
- for (const alias of contract.aliases ?? []) {
2437
- if (alias !== canonical) {
2438
- bucket.add(alias);
2439
- }
2440
- }
2441
- aliasesByCanonical.set(canonical, bucket);
2442
- }
2443
- return flagContracts.map((contract) => {
2444
- const canonical = normalizeFlagAliasKey(contract.flag);
2445
- if (contract.flag !== canonical) {
2446
- return contract;
2447
- }
2448
- const aliases = normalizeUniqueStringList([
2449
- ...contract.aliases ?? [],
2450
- ...aliasesByCanonical.get(canonical)
2451
- ]).filter((alias) => alias !== canonical);
2452
- if (aliases.length === 0) {
2453
- return contract;
2454
- }
2455
- return {
2456
- ...contract,
2457
- aliases
2458
- };
2459
- });
2460
- }
2461
- function compactFlagAliasContracts(flagContracts) {
2462
- const withAliases = withFlagAliasMetadata(flagContracts);
2463
- const canonicalFlags = new Set(withAliases.map((contract) => contract.flag));
2464
- return withAliases.filter((contract) => {
2465
- const canonical = normalizeFlagAliasKey(contract.flag);
2466
- return contract.flag === canonical || !canonicalFlags.has(canonical);
2467
- });
2468
- }
2469
- var SUBCOMMAND_GLOBAL_FLAG_CONTRACTS = [
2470
- { flag: "--json" },
2471
- { flag: "--quiet" },
2472
- { flag: "--no-changed-fields" },
2473
- { flag: "--id-only" },
2474
- { flag: "--pm-path", aliases: ["--path"] },
2475
- { flag: "--no-extensions" },
2476
- { flag: "--no-pager" },
2477
- { flag: "--profile" },
2478
- { flag: "--help" }
2479
- ];
2480
- var GLOBAL_FLAG_CONTRACTS = [
2481
- ...SUBCOMMAND_GLOBAL_FLAG_CONTRACTS,
2482
- { flag: "--version" }
2483
- ];
2484
- var LIST_FILTER_FLAG_CONTRACTS = [
2485
- { flag: "--status", list: true },
2486
- { flag: "--type" },
2487
- { flag: "--tag", aliases: ["--tags"] },
2488
- { flag: "--priority" },
2489
- { flag: "--deadline-before" },
2490
- { flag: "--deadline-after" },
2491
- { flag: "--updated-after" },
2492
- { flag: "--updated-before" },
2493
- { flag: "--created-after" },
2494
- { flag: "--created-before" },
2495
- { flag: "--ids", list: true },
2496
- { flag: "--assignee" },
2497
- { flag: "--assignee-filter" },
2498
- { flag: "--assignee_filter" },
2499
- { flag: "--parent" },
2500
- { flag: "--sprint" },
2501
- { flag: "--release" },
2502
- { flag: "--filter-ac-missing" },
2503
- { flag: "--filter-estimates-missing", aliases: ["--filter-estimate-missing"] },
2504
- { flag: "--filter-resolution-missing" },
2505
- { flag: "--filter-metadata-missing" },
2506
- { flag: "--filter-reviewer-missing" },
2507
- { flag: "--filter-risk-missing" },
2508
- { flag: "--filter-confidence-missing" },
2509
- { flag: "--filter-sprint-missing" },
2510
- { flag: "--filter-release-missing" },
2511
- { flag: "--has-notes" },
2512
- { flag: "--no-notes" },
2513
- { flag: "--has-learnings" },
2514
- { flag: "--no-learnings" },
2515
- { flag: "--has-files" },
2516
- { flag: "--no-files" },
2517
- { flag: "--has-docs" },
2518
- { flag: "--no-docs" },
2519
- { flag: "--has-tests" },
2520
- { flag: "--no-tests" },
2521
- { flag: "--has-comments" },
2522
- { flag: "--no-comments" },
2523
- { flag: "--has-deps" },
2524
- { flag: "--no-deps" },
2525
- { flag: "--has-body" },
2526
- { flag: "--empty-body" },
2527
- { flag: "--has-linked-command" },
2528
- { flag: "--no-linked-command" },
2529
- { flag: "--limit" },
2530
- { flag: "--offset" },
2531
- { flag: "--no-truncate", aliases: ["--all"] },
2532
- { flag: "--compact" },
2533
- { flag: "--brief" },
2534
- { flag: "--full" },
2535
- { flag: "--fields", list: true },
2536
- { flag: "--sort" },
2537
- { flag: "--order" },
2538
- { flag: "--tree" },
2539
- { flag: "--tree-depth" },
2540
- { flag: "--tree_depth" },
2541
- { flag: "--include-body" },
2542
- { flag: "--format" },
2543
- { flag: "--stream" }
2544
- ];
2545
- var AGGREGATE_FLAG_CONTRACTS = [
2546
- { flag: "--group-by", list: true },
2547
- { flag: "--count" },
2548
- { flag: "--completion" },
2549
- { flag: "--sum" },
2550
- { flag: "--avg" },
2551
- { flag: "--include-unparented" },
2552
- { flag: "--include_unparented" },
2553
- { flag: "--status" },
2554
- { flag: "--type" },
2555
- { flag: "--tag" },
2556
- { flag: "--priority" },
2557
- { flag: "--deadline-before" },
2558
- { flag: "--deadline-after" },
2559
- { flag: "--assignee" },
2560
- { flag: "--assignee-filter" },
2561
- { flag: "--assignee_filter" },
2562
- { flag: "--parent" },
2563
- { flag: "--sprint" },
2564
- { flag: "--release" }
2565
- ];
2566
- var DEDUPE_AUDIT_FLAG_CONTRACTS = [
2567
- { flag: "--mode" },
2568
- { flag: "--limit" },
2569
- { flag: "--threshold" },
2570
- { flag: "--status" },
2571
- { flag: "--type" },
2572
- { flag: "--tag" },
2573
- { flag: "--priority" },
2574
- { flag: "--deadline-before" },
2575
- { flag: "--deadline-after" },
2576
- { flag: "--assignee" },
2577
- { flag: "--assignee-filter" },
2578
- { flag: "--assignee_filter" },
2579
- { flag: "--parent" },
2580
- { flag: "--sprint" },
2581
- { flag: "--release" }
2582
- ];
2583
- var DEDUPE_MERGE_FLAG_CONTRACTS = [
2584
- { flag: "--keep" },
2585
- { flag: "--close", list: true },
2586
- { flag: "--apply" },
2587
- { flag: "--dry-run" },
2588
- { flag: "--skip-children" },
2589
- { flag: "--author" },
2590
- { flag: "--message" }
2591
- ];
2592
- var COMMENTS_AUDIT_FLAG_CONTRACTS = [
2593
- { flag: "--status" },
2594
- { flag: "--type" },
2595
- { flag: "--assignee" },
2596
- { flag: "--assignee-filter" },
2597
- { flag: "--assignee_filter" },
2598
- { flag: "--parent" },
2599
- { flag: "--tag" },
2600
- { flag: "--sprint" },
2601
- { flag: "--release" },
2602
- { flag: "--priority" },
2603
- { flag: "--limit-items" },
2604
- { flag: "--limit" },
2605
- { flag: "--full-history" },
2606
- { flag: "--latest" }
2607
- ];
2608
- var COMMENTS_FLAG_CONTRACTS = [
2609
- { flag: "--add", aliases: ["--comment"] },
2610
- { flag: "--stdin" },
2611
- { flag: "--file" },
2612
- { flag: "--edit" },
2613
- { flag: "--delete" },
2614
- { flag: "--limit" },
2615
- { flag: "--author" },
2616
- { flag: "--message" },
2617
- { flag: "--allow-audit-comment" },
2618
- { flag: "--force" }
2619
- ];
2620
- var NOTES_FLAG_CONTRACTS = [
2621
- { flag: "--add", aliases: ["--note"] },
2622
- { flag: "--limit" },
2623
- { flag: "--author" },
2624
- { flag: "--message" },
2625
- { flag: "--allow-audit-note" },
2626
- { flag: "--allow-audit-comment" },
2627
- { flag: "--force" }
2628
- ];
2629
- var LEARNINGS_FLAG_CONTRACTS = [
2630
- { flag: "--add", aliases: ["--learning"] },
2631
- { flag: "--limit" },
2632
- { flag: "--author" },
2633
- { flag: "--message" },
2634
- { flag: "--allow-audit-learning" },
2635
- { flag: "--allow-audit-comment" },
2636
- { flag: "--force" }
2637
- ];
2638
- var FILES_FLAG_CONTRACTS = [
2639
- { flag: "--add" },
2640
- { flag: "--add-glob" },
2641
- { flag: "--remove" },
2642
- { flag: "--migrate" },
2643
- // GH-170 (pm-pfnx): single-value note applied to every --add/--add-glob link
2644
- // in the invocation (embedded note= wins; usage error without an add).
2645
- { flag: "--note" },
2646
- { flag: "--list" },
2647
- { flag: "--append-stable" },
2648
- { flag: "--validate-paths" },
2649
- { flag: "--audit" },
2650
- { flag: "--author" },
2651
- { flag: "--message" },
2652
- { flag: "--force" }
2653
- ];
2654
- var DOCS_FLAG_CONTRACTS = [
2655
- { flag: "--add" },
2656
- { flag: "--add-glob" },
2657
- { flag: "--remove" },
2658
- { flag: "--migrate" },
2659
- // GH-170 (pm-pfnx): see FILES_FLAG_CONTRACTS --note.
2660
- { flag: "--note" },
2661
- { flag: "--list" },
2662
- { flag: "--validate-paths" },
2663
- { flag: "--audit" },
2664
- { flag: "--author" },
2665
- { flag: "--message" },
2666
- { flag: "--force" }
2667
- ];
2668
- var HISTORY_FLAG_CONTRACTS = [
2669
- { flag: "--limit" },
2670
- { flag: "--compact" },
2671
- { flag: "--full" },
2672
- { flag: "--diff" },
2673
- { flag: "--field" },
2674
- { flag: "--verify" },
2675
- { flag: "--format" }
1118
+ var HISTORY_FLAG_CONTRACTS = [
1119
+ { flag: "--limit" },
1120
+ { flag: "--compact" },
1121
+ { flag: "--full" },
1122
+ { flag: "--diff" },
1123
+ { flag: "--field" },
1124
+ { flag: "--verify" },
1125
+ { flag: "--format" }
2676
1126
  ];
2677
1127
  var HISTORY_REDACT_FLAG_CONTRACTS = [
2678
1128
  { flag: "--literal" },
@@ -2729,6 +1179,11 @@ var SCHEMA_FLAG_CONTRACTS = [
2729
1179
  { flag: "--author" },
2730
1180
  { flag: "--force" }
2731
1181
  ];
1182
+ var PROFILE_FLAG_CONTRACTS = [
1183
+ { flag: "--dry-run" },
1184
+ { flag: "--author" },
1185
+ { flag: "--force" }
1186
+ ];
2732
1187
  var PLAN_FLAG_CONTRACTS = [
2733
1188
  { flag: "--title" },
2734
1189
  { flag: "--description" },
@@ -2821,6 +1276,8 @@ var EXTENSION_FLAG_CONTRACTS = [
2821
1276
  { flag: "--list" },
2822
1277
  { flag: "--manage" },
2823
1278
  { flag: "--describe" },
1279
+ { flag: "--markdown" },
1280
+ { flag: "--output" },
2824
1281
  { flag: "--reload" },
2825
1282
  { flag: "--watch" },
2826
1283
  { flag: "--doctor" },
@@ -2851,6 +1308,8 @@ var EXTENSION_INIT_FLAG_CONTRACTS = [
2851
1308
  ...EXTENSION_SCOPE_FLAG_CONTRACTS,
2852
1309
  { flag: "--capability" }
2853
1310
  ];
1311
+ var PACKAGE_FLAG_CONTRACTS = [...EXTENSION_FLAG_CONTRACTS, { flag: "--declarative" }];
1312
+ var PACKAGE_INIT_FLAG_CONTRACTS = [...EXTENSION_INIT_FLAG_CONTRACTS, { flag: "--declarative" }];
2854
1313
  var EXTENSION_INSTALL_FLAG_CONTRACTS = [
2855
1314
  { flag: "--project" },
2856
1315
  { flag: "--local" },
@@ -2861,7 +1320,11 @@ var EXTENSION_INSTALL_FLAG_CONTRACTS = [
2861
1320
  ];
2862
1321
  var EXTENSION_UNINSTALL_FLAG_CONTRACTS = EXTENSION_SCOPE_FLAG_CONTRACTS;
2863
1322
  var EXTENSION_EXPLORE_FLAG_CONTRACTS = EXTENSION_SCOPE_FLAG_CONTRACTS;
2864
- var EXTENSION_DESCRIBE_FLAG_CONTRACTS = EXTENSION_SCOPE_FLAG_CONTRACTS;
1323
+ var EXTENSION_DESCRIBE_FLAG_CONTRACTS = [
1324
+ ...EXTENSION_SCOPE_FLAG_CONTRACTS,
1325
+ { flag: "--markdown" },
1326
+ { flag: "--output" }
1327
+ ];
2865
1328
  var EXTENSION_ADOPT_ALL_FLAG_CONTRACTS = EXTENSION_SCOPE_FLAG_CONTRACTS;
2866
1329
  var EXTENSION_ACTIVATE_FLAG_CONTRACTS = EXTENSION_SCOPE_FLAG_CONTRACTS;
2867
1330
  var EXTENSION_DEACTIVATE_FLAG_CONTRACTS = EXTENSION_SCOPE_FLAG_CONTRACTS;
@@ -3579,314 +2042,1824 @@ var CONTEXT_FLAG_CONTRACTS = [
3579
2042
  { flag: "--tag" },
3580
2043
  { flag: "--priority" },
3581
2044
  { flag: "--assignee" },
3582
- { flag: "--assignee-filter" },
3583
- { flag: "--assignee_filter" },
2045
+ { flag: "--assignee-filter" },
2046
+ { flag: "--assignee_filter" },
2047
+ { flag: "--sprint" },
2048
+ { flag: "--release" },
2049
+ { flag: "--parent" },
2050
+ { flag: "--limit" },
2051
+ { flag: "--format" },
2052
+ { flag: "--depth" },
2053
+ { flag: "--fields", list: true },
2054
+ { flag: "--section" },
2055
+ { flag: "--activity-limit" },
2056
+ { flag: "--stale-threshold" }
2057
+ ];
2058
+ var GET_FLAG_CONTRACTS = [
2059
+ { flag: "--depth" },
2060
+ { flag: "--full" },
2061
+ { flag: "--fields", list: true },
2062
+ { flag: "--tree" },
2063
+ { flag: "--tree-depth" },
2064
+ { flag: "--tree_depth" },
2065
+ { flag: "--format" }
2066
+ ];
2067
+ var GUIDE_FLAG_CONTRACTS = [
2068
+ { flag: "--list" },
2069
+ { flag: "--format" },
2070
+ { flag: "--depth" }
2071
+ ];
2072
+ var DEPS_FLAG_CONTRACTS = [
2073
+ { flag: "--format" },
2074
+ { flag: "--max-depth" },
2075
+ { flag: "--collapse" },
2076
+ { flag: "--summary" }
2077
+ ];
2078
+ var EVAL_FLAG_CONTRACTS = [
2079
+ { flag: "--mode" },
2080
+ { flag: "--k" },
2081
+ { flag: "--fail-under" },
2082
+ { flag: "--queries" },
2083
+ { flag: "--format" }
2084
+ ];
2085
+ var NEXT_FLAG_CONTRACTS = [
2086
+ { flag: "--type" },
2087
+ { flag: "--tag" },
2088
+ { flag: "--priority" },
2089
+ { flag: "--assignee" },
2090
+ { flag: "--assignee-filter" },
2091
+ { flag: "--assignee_filter" },
2092
+ { flag: "--sprint" },
2093
+ { flag: "--release" },
2094
+ { flag: "--parent" },
2095
+ { flag: "--limit" },
2096
+ { flag: "--blocked-limit" },
2097
+ { flag: "--blocked_limit" },
2098
+ { flag: "--ready-only" },
2099
+ { flag: "--ready_only" },
2100
+ { flag: "--format" }
2101
+ ];
2102
+ var SEARCH_FLAG_CONTRACTS = [
2103
+ { flag: "--mode" },
2104
+ { flag: "--semantic" },
2105
+ { flag: "--hybrid" },
2106
+ { flag: "--match-mode" },
2107
+ { flag: "--min-score" },
2108
+ { flag: "--count" },
2109
+ { flag: "--semantic-weight" },
2110
+ { flag: "--include-linked" },
2111
+ { flag: "--title-exact" },
2112
+ { flag: "--phrase-exact" },
2113
+ { flag: "--highlight" },
2114
+ { flag: "--compact" },
2115
+ { flag: "--full" },
2116
+ { flag: "--fields", list: true },
2117
+ { flag: "--format" },
2118
+ { flag: "--limit" },
2119
+ { flag: "--status", list: true },
2120
+ { flag: "--type" },
2121
+ { flag: "--tag", aliases: ["--tags"] },
2122
+ { flag: "--priority" },
2123
+ { flag: "--deadline-before" },
2124
+ { flag: "--deadline-after" },
2125
+ { flag: "--updated-after" },
2126
+ { flag: "--updated-before" },
2127
+ { flag: "--created-after" },
2128
+ { flag: "--created-before" },
2129
+ { flag: "--assignee" },
3584
2130
  { flag: "--sprint" },
3585
2131
  { flag: "--release" },
3586
2132
  { flag: "--parent" },
3587
- { flag: "--limit" },
3588
- { flag: "--format" },
3589
- { flag: "--depth" },
3590
- { flag: "--fields", list: true },
3591
- { flag: "--section" },
3592
- { flag: "--activity-limit" },
3593
- { flag: "--stale-threshold" }
2133
+ { flag: "--filter-reviewer-missing" },
2134
+ { flag: "--filter-risk-missing" },
2135
+ { flag: "--filter-confidence-missing" },
2136
+ { flag: "--filter-sprint-missing" },
2137
+ { flag: "--filter-release-missing" },
2138
+ { flag: "--has-notes" },
2139
+ { flag: "--no-notes" },
2140
+ { flag: "--has-learnings" },
2141
+ { flag: "--no-learnings" },
2142
+ { flag: "--has-files" },
2143
+ { flag: "--no-files" },
2144
+ { flag: "--has-docs" },
2145
+ { flag: "--no-docs" },
2146
+ { flag: "--has-tests" },
2147
+ { flag: "--no-tests" },
2148
+ { flag: "--has-comments" },
2149
+ { flag: "--no-comments" },
2150
+ { flag: "--has-deps" },
2151
+ { flag: "--no-deps" },
2152
+ { flag: "--has-body" },
2153
+ { flag: "--empty-body" },
2154
+ { flag: "--has-linked-command" },
2155
+ { flag: "--no-linked-command" }
2156
+ ];
2157
+ var CONTRACTS_FLAG_CONTRACTS = [
2158
+ { flag: "--action" },
2159
+ { flag: "--command" },
2160
+ { flag: "--schema-only" },
2161
+ { flag: "--flags-only" },
2162
+ { flag: "--availability-only" },
2163
+ { flag: "--runtime-only" },
2164
+ { flag: "--active-only" },
2165
+ { flag: "--full" }
2166
+ ];
2167
+ var COMPLETION_FLAG_CONTRACTS = [
2168
+ { flag: "--eager-tags" }
2169
+ ];
2170
+ function toUniqueFlagContracts(contracts) {
2171
+ const seen = /* @__PURE__ */ new Set();
2172
+ const unique = [];
2173
+ for (const contract of contracts) {
2174
+ const aliasKey = (contract.aliases ?? []).join(",");
2175
+ const key = `${contract.flag}|${contract.short ?? ""}|${aliasKey}`;
2176
+ if (seen.has(key)) {
2177
+ continue;
2178
+ }
2179
+ seen.add(key);
2180
+ unique.push(contract);
2181
+ }
2182
+ return unique;
2183
+ }
2184
+ function withSubcommandGlobalFlags(contracts) {
2185
+ return withFlagAliasMetadata(toUniqueFlagContracts([...SUBCOMMAND_GLOBAL_FLAG_CONTRACTS, ...contracts]));
2186
+ }
2187
+ var LIST_COMMAND_FLAG_ALIASES = [
2188
+ "list",
2189
+ "list-all",
2190
+ "list-draft",
2191
+ "list-open",
2192
+ "list-in-progress",
2193
+ "list-blocked",
2194
+ "list-closed",
2195
+ "list-canceled"
2196
+ ];
2197
+ var SUBCOMMAND_FLAG_CONTRACTS_BY_COMMAND = new Map([
2198
+ ...LIST_COMMAND_FLAG_ALIASES.map((command) => [command, LIST_FILTER_FLAG_CONTRACTS]),
2199
+ ["templates", CREATE_FLAG_CONTRACTS],
2200
+ ["cal", CALENDAR_FLAG_CONTRACTS],
2201
+ ["ctx", CONTEXT_FLAG_CONTRACTS],
2202
+ ["test-runs-worker", TEST_RUNS_FLAG_CONTRACTS],
2203
+ ["init", INIT_FLAG_CONTRACTS],
2204
+ ["config", CONFIG_FLAG_CONTRACTS],
2205
+ ["extension", EXTENSION_FLAG_CONTRACTS],
2206
+ // `--declarative` is package-only (see PACKAGE_FLAG_CONTRACTS).
2207
+ ["package", PACKAGE_FLAG_CONTRACTS],
2208
+ ["packages", PACKAGE_FLAG_CONTRACTS],
2209
+ ["install", INSTALL_FLAG_CONTRACTS],
2210
+ ["upgrade", UPGRADE_FLAG_CONTRACTS],
2211
+ ["create", CREATE_FLAG_CONTRACTS],
2212
+ ["copy", COPY_FLAG_CONTRACTS],
2213
+ ["focus", FOCUS_FLAG_CONTRACTS],
2214
+ ["aggregate", AGGREGATE_FLAG_CONTRACTS],
2215
+ ["dedupe-audit", DEDUPE_AUDIT_FLAG_CONTRACTS],
2216
+ ["dedupe-merge", DEDUPE_MERGE_FLAG_CONTRACTS],
2217
+ ["normalize", NORMALIZE_FLAG_CONTRACTS],
2218
+ ["calendar", CALENDAR_FLAG_CONTRACTS],
2219
+ ["context", CONTEXT_FLAG_CONTRACTS],
2220
+ ["get", GET_FLAG_CONTRACTS],
2221
+ ["guide", GUIDE_FLAG_CONTRACTS],
2222
+ ["search", SEARCH_FLAG_CONTRACTS],
2223
+ ["next", NEXT_FLAG_CONTRACTS],
2224
+ ["eval", EVAL_FLAG_CONTRACTS],
2225
+ ["history", HISTORY_FLAG_CONTRACTS],
2226
+ ["history-redact", HISTORY_REDACT_FLAG_CONTRACTS],
2227
+ ["history-repair", HISTORY_REPAIR_FLAG_CONTRACTS],
2228
+ ["history-compact", HISTORY_COMPACT_FLAG_CONTRACTS],
2229
+ ["schema", SCHEMA_FLAG_CONTRACTS],
2230
+ ["profile", PROFILE_FLAG_CONTRACTS],
2231
+ ["plan", PLAN_FLAG_CONTRACTS],
2232
+ ["activity", ACTIVITY_FLAG_CONTRACTS],
2233
+ ["restore", RESTORE_FLAG_CONTRACTS],
2234
+ ["update", UPDATE_FLAG_CONTRACTS],
2235
+ ["update-many", UPDATE_MANY_FLAG_CONTRACTS],
2236
+ ["close", CLOSE_FLAG_CONTRACTS],
2237
+ ["close-many", CLOSE_MANY_FLAG_CONTRACTS],
2238
+ ["delete", DELETE_FLAG_CONTRACTS],
2239
+ ["append", APPEND_FLAG_CONTRACTS],
2240
+ ["comments", COMMENTS_FLAG_CONTRACTS],
2241
+ ["comments-audit", COMMENTS_AUDIT_FLAG_CONTRACTS],
2242
+ ["notes", NOTES_FLAG_CONTRACTS],
2243
+ ["learnings", LEARNINGS_FLAG_CONTRACTS],
2244
+ ["files", FILES_FLAG_CONTRACTS],
2245
+ ["docs", DOCS_FLAG_CONTRACTS],
2246
+ ["deps", DEPS_FLAG_CONTRACTS],
2247
+ ["test", TEST_FLAG_CONTRACTS],
2248
+ ["test-all", TEST_ALL_FLAG_CONTRACTS],
2249
+ ["telemetry", TELEMETRY_FLAG_CONTRACTS],
2250
+ ["health", HEALTH_FLAG_CONTRACTS],
2251
+ ["validate", VALIDATE_FLAG_CONTRACTS],
2252
+ ["gc", GC_FLAG_CONTRACTS],
2253
+ ["stats", STATS_FLAG_CONTRACTS],
2254
+ ["contracts", CONTRACTS_FLAG_CONTRACTS],
2255
+ ["completion", COMPLETION_FLAG_CONTRACTS],
2256
+ ["claim", CLAIM_FLAG_CONTRACTS],
2257
+ ["release", RELEASE_FLAG_CONTRACTS],
2258
+ ["start-task", START_TASK_FLAG_CONTRACTS],
2259
+ ["pause-task", PAUSE_TASK_FLAG_CONTRACTS],
2260
+ ["close-task", CLOSE_TASK_FLAG_CONTRACTS],
2261
+ ["meet", MEET_FLAG_CONTRACTS],
2262
+ ["event", EVENT_FLAG_CONTRACTS],
2263
+ ["remind", REMIND_FLAG_CONTRACTS]
2264
+ ]);
2265
+ var EXTENSION_LIFECYCLE_FLAG_CONTRACTS_BY_SUBCOMMAND = /* @__PURE__ */ new Map([
2266
+ ["install", EXTENSION_INSTALL_FLAG_CONTRACTS],
2267
+ ["uninstall", EXTENSION_UNINSTALL_FLAG_CONTRACTS],
2268
+ ["explore", EXTENSION_EXPLORE_FLAG_CONTRACTS],
2269
+ ["manage", EXTENSION_MANAGE_FLAG_CONTRACTS],
2270
+ ["describe", EXTENSION_DESCRIBE_FLAG_CONTRACTS],
2271
+ ["reload", EXTENSION_RELOAD_FLAG_CONTRACTS],
2272
+ ["doctor", EXTENSION_DOCTOR_FLAG_CONTRACTS],
2273
+ ["catalog", EXTENSION_CATALOG_FLAG_CONTRACTS],
2274
+ ["adopt", EXTENSION_ADOPT_FLAG_CONTRACTS],
2275
+ ["adopt-all", EXTENSION_ADOPT_ALL_FLAG_CONTRACTS],
2276
+ ["activate", EXTENSION_ACTIVATE_FLAG_CONTRACTS],
2277
+ ["deactivate", EXTENSION_DEACTIVATE_FLAG_CONTRACTS]
2278
+ ]);
2279
+ function normalizeCommandNameForContracts(commandName) {
2280
+ if (typeof commandName !== "string") {
2281
+ return "";
2282
+ }
2283
+ return commandName.trim().toLowerCase();
2284
+ }
2285
+ function resolveExtensionLifecycleFlagContracts(rootCommand, lifecycleSubcommand) {
2286
+ if (lifecycleSubcommand === "init") {
2287
+ return rootCommand === "extension" ? EXTENSION_INIT_FLAG_CONTRACTS : PACKAGE_INIT_FLAG_CONTRACTS;
2288
+ }
2289
+ return EXTENSION_LIFECYCLE_FLAG_CONTRACTS_BY_SUBCOMMAND.get(lifecycleSubcommand) ?? [];
2290
+ }
2291
+ function resolveSubcommandFlagContractsForCommand(commandName) {
2292
+ const normalized = normalizeCommandNameForContracts(commandName);
2293
+ if (normalized.length === 0) {
2294
+ return withSubcommandGlobalFlags([]);
2295
+ }
2296
+ const [rootCommand, lifecycleSubcommand, ...extraParts] = normalized.split(/\s+/);
2297
+ if ((rootCommand === "extension" || rootCommand === "package" || rootCommand === "packages") && lifecycleSubcommand !== void 0 && extraParts.length === 0) {
2298
+ return withSubcommandGlobalFlags(resolveExtensionLifecycleFlagContracts(rootCommand, lifecycleSubcommand));
2299
+ }
2300
+ return withSubcommandGlobalFlags(SUBCOMMAND_FLAG_CONTRACTS_BY_COMMAND.get(normalized) ?? []);
2301
+ }
2302
+
2303
+ // dist/sdk/cli-contracts/tool-option-contracts.js
2304
+ !(function() {
2305
+ try {
2306
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
2307
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "5ea2abac-4d8e-54ee-8e6a-1fd195aa6007");
2308
+ } catch (e2) {
2309
+ }
2310
+ })();
2311
+ function cloneOptionContracts(contracts) {
2312
+ return contracts.map((contract) => ({ ...contract }));
2313
+ }
2314
+ var TOOL_ITEM_BASE_FILTER_OPTION_CONTRACTS = [
2315
+ { param: "status", flag: "--status" },
2316
+ { param: "type", flag: "--type" },
2317
+ { param: "tag", flag: "--tag" },
2318
+ { param: "priority", flag: "--priority" },
2319
+ { param: "deadlineBefore", flag: "--deadline-before" },
2320
+ { param: "deadlineAfter", flag: "--deadline-after" }
2321
+ ];
2322
+ var TOOL_ITEM_WINDOW_FILTER_OPTION_CONTRACTS = [
2323
+ { param: "updatedAfter", flag: "--updated-after" },
2324
+ { param: "updatedBefore", flag: "--updated-before" },
2325
+ { param: "createdAfter", flag: "--created-after" },
2326
+ { param: "createdBefore", flag: "--created-before" }
2327
+ ];
2328
+ var TOOL_ITEM_RELATION_FILTER_OPTION_CONTRACTS = [
2329
+ { param: "assignee", flag: "--assignee" },
2330
+ { param: "assigneeFilter", flag: "--assignee-filter" },
2331
+ { param: "parent", flag: "--parent" },
2332
+ { param: "sprint", flag: "--sprint" },
2333
+ { param: "release", flag: "--release" }
2334
+ ];
2335
+ var TOOL_SEARCH_RELATION_FILTER_OPTION_CONTRACTS = [
2336
+ { param: "assignee", flag: "--assignee" },
2337
+ { param: "sprint", flag: "--sprint" },
2338
+ { param: "release", flag: "--release" },
2339
+ { param: "parent", flag: "--parent" }
2340
+ ];
2341
+ var TOOL_BASIC_ITEM_FILTER_OPTION_CONTRACTS = [
2342
+ ...TOOL_ITEM_BASE_FILTER_OPTION_CONTRACTS,
2343
+ ...TOOL_ITEM_RELATION_FILTER_OPTION_CONTRACTS
2344
+ ];
2345
+ var TOOL_GOVERNANCE_MISSING_OPTION_CONTRACTS = [
2346
+ { param: "filterReviewerMissing", flag: "--filter-reviewer-missing" },
2347
+ { param: "filterRiskMissing", flag: "--filter-risk-missing" },
2348
+ { param: "filterConfidenceMissing", flag: "--filter-confidence-missing" },
2349
+ { param: "filterSprintMissing", flag: "--filter-sprint-missing" },
2350
+ { param: "filterReleaseMissing", flag: "--filter-release-missing" }
2351
+ ];
2352
+ var TOOL_CONTENT_PRESENCE_OPTION_CONTRACTS = [
2353
+ { param: "hasNotes", flag: "--has-notes" },
2354
+ { param: "noNotes", flag: "--no-notes" },
2355
+ { param: "hasLearnings", flag: "--has-learnings" },
2356
+ { param: "noLearnings", flag: "--no-learnings" },
2357
+ { param: "hasFiles", flag: "--has-files" },
2358
+ { param: "noFiles", flag: "--no-files" },
2359
+ { param: "hasDocs", flag: "--has-docs" },
2360
+ { param: "noDocs", flag: "--no-docs" },
2361
+ { param: "hasTests", flag: "--has-tests" },
2362
+ { param: "noTests", flag: "--no-tests" },
2363
+ { param: "hasComments", flag: "--has-comments" },
2364
+ { param: "noComments", flag: "--no-comments" },
2365
+ { param: "hasDeps", flag: "--has-deps" },
2366
+ { param: "noDeps", flag: "--no-deps" },
2367
+ { param: "hasBody", flag: "--has-body" },
2368
+ { param: "emptyBody", flag: "--empty-body" },
2369
+ { param: "hasLinkedCommand", flag: "--has-linked-command" },
2370
+ { param: "noLinkedCommand", flag: "--no-linked-command" }
2371
+ ];
2372
+ var TOOL_LIST_FILTER_OPTION_CONTRACTS = [
2373
+ ...cloneOptionContracts(TOOL_ITEM_BASE_FILTER_OPTION_CONTRACTS),
2374
+ ...cloneOptionContracts(TOOL_ITEM_WINDOW_FILTER_OPTION_CONTRACTS),
2375
+ { param: "ids", flag: "--ids" },
2376
+ ...cloneOptionContracts(TOOL_ITEM_RELATION_FILTER_OPTION_CONTRACTS),
2377
+ { param: "filterAcMissing", flag: "--filter-ac-missing" },
2378
+ { param: "filterEstimatesMissing", flag: "--filter-estimates-missing" },
2379
+ { param: "filterResolutionMissing", flag: "--filter-resolution-missing" },
2380
+ { param: "filterMetadataMissing", flag: "--filter-metadata-missing" },
2381
+ ...cloneOptionContracts(TOOL_GOVERNANCE_MISSING_OPTION_CONTRACTS),
2382
+ ...cloneOptionContracts(TOOL_CONTENT_PRESENCE_OPTION_CONTRACTS),
2383
+ { param: "limit", flag: "--limit" },
2384
+ { param: "offset", flag: "--offset" },
2385
+ { param: "fields", flag: "--fields" },
2386
+ { param: "sort", flag: "--sort" },
2387
+ { param: "order", flag: "--order" },
2388
+ { param: "tree", flag: "--tree" },
2389
+ { param: "treeDepth", flag: "--tree-depth" }
2390
+ ];
2391
+ var TOOL_AGGREGATE_OPTION_CONTRACTS = [
2392
+ { param: "groupBy", flag: "--group-by" },
2393
+ { param: "sum", flag: "--sum" },
2394
+ { param: "avg", flag: "--avg" },
2395
+ ...cloneOptionContracts(TOOL_BASIC_ITEM_FILTER_OPTION_CONTRACTS)
2396
+ ];
2397
+ var TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS = [
2398
+ { param: "mode", flag: "--mode" },
2399
+ { param: "limit", flag: "--limit" },
2400
+ { param: "threshold", flag: "--threshold" },
2401
+ ...cloneOptionContracts(TOOL_BASIC_ITEM_FILTER_OPTION_CONTRACTS)
2402
+ ];
2403
+ var TOOL_SEARCH_FILTER_OPTION_CONTRACTS = [
2404
+ { param: "matchMode", flag: "--match-mode" },
2405
+ { param: "minScore", flag: "--min-score" },
2406
+ { param: "count", flag: "--count", booleanish: true },
2407
+ { param: "semanticWeight", flag: "--semantic-weight" },
2408
+ ...cloneOptionContracts(TOOL_ITEM_BASE_FILTER_OPTION_CONTRACTS),
2409
+ ...cloneOptionContracts(TOOL_ITEM_WINDOW_FILTER_OPTION_CONTRACTS),
2410
+ ...cloneOptionContracts(TOOL_SEARCH_RELATION_FILTER_OPTION_CONTRACTS),
2411
+ ...cloneOptionContracts(TOOL_GOVERNANCE_MISSING_OPTION_CONTRACTS),
2412
+ ...cloneOptionContracts(TOOL_CONTENT_PRESENCE_OPTION_CONTRACTS),
2413
+ { param: "fields", flag: "--fields" },
2414
+ { param: "limit", flag: "--limit" }
2415
+ ];
2416
+ var TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS = [
2417
+ { param: "parent", flag: "--parent" },
2418
+ { param: "reviewer", flag: "--reviewer" },
2419
+ { param: "risk", flag: "--risk" },
2420
+ { param: "confidence", flag: "--confidence" },
2421
+ { param: "sprint", flag: "--sprint" },
2422
+ { param: "release", flag: "--release" },
2423
+ { param: "blockedBy", flag: "--blocked-by" },
2424
+ { param: "blockedReason", flag: "--blocked-reason" },
2425
+ { param: "unblockNote", flag: "--unblock-note" },
2426
+ { param: "reporter", flag: "--reporter" },
2427
+ { param: "severity", flag: "--severity" },
2428
+ { param: "environment", flag: "--environment" },
2429
+ { param: "reproSteps", flag: "--repro-steps" },
2430
+ { param: "resolution", flag: "--resolution" },
2431
+ { param: "expectedResult", flag: "--expected-result" },
2432
+ { param: "actualResult", flag: "--actual-result" },
2433
+ { param: "affectedVersion", flag: "--affected-version" },
2434
+ { param: "fixedVersion", flag: "--fixed-version" },
2435
+ { param: "component", flag: "--component" },
2436
+ { param: "regression", flag: "--regression", booleanish: true },
2437
+ { param: "customerImpact", flag: "--customer-impact" },
2438
+ { param: "definitionOfReady", flag: "--definition-of-ready", allowEmpty: true },
2439
+ { param: "order", flag: "--order" },
2440
+ { param: "goal", flag: "--goal" },
2441
+ { param: "objective", flag: "--objective" },
2442
+ { param: "value", flag: "--value" },
2443
+ { param: "impact", flag: "--impact" },
2444
+ { param: "outcome", flag: "--outcome" },
2445
+ { param: "whyNow", flag: "--why-now" }
2446
+ ];
2447
+ var TOOL_CREATE_OPTION_CONTRACTS = [
2448
+ { param: "title", flag: "--title" },
2449
+ { param: "description", flag: "--description", allowEmpty: true },
2450
+ { param: "type", flag: "--type" },
2451
+ { param: "template", flag: "--template" },
2452
+ { param: "createMode", flag: "--create-mode" },
2453
+ { param: "schedulePreset", flag: "--schedule-preset" },
2454
+ { param: "status", flag: "--status" },
2455
+ { param: "priority", flag: "--priority" },
2456
+ { param: "tags", flag: "--tags", allowEmpty: true },
2457
+ { param: "addTags", flag: "--add-tags", repeatable: true },
2458
+ { param: "body", flag: "--body", allowEmpty: true },
2459
+ { param: "deadline", flag: "--deadline" },
2460
+ { param: "estimate", flag: "--estimate" },
2461
+ { param: "acceptanceCriteria", flag: "--acceptance-criteria", allowEmpty: true },
2462
+ { param: "author", flag: "--author" },
2463
+ { param: "message", flag: "--message", allowEmpty: true },
2464
+ { param: "assignee", flag: "--assignee" },
2465
+ { param: "allowMissingParent", flag: "--allow-missing-parent" },
2466
+ { param: "reminder", flag: "--reminder", repeatable: true },
2467
+ { param: "event", flag: "--event", repeatable: true },
2468
+ { param: "typeOption", flag: "--type-option", repeatable: true },
2469
+ { param: "field", flag: "--field", repeatable: true },
2470
+ { param: "dep", flag: "--dep", repeatable: true },
2471
+ { param: "comment", flag: "--comment", repeatable: true },
2472
+ { param: "note", flag: "--note", repeatable: true },
2473
+ { param: "learning", flag: "--learning", repeatable: true },
2474
+ { param: "linkedFile", flag: "--file", repeatable: true },
2475
+ { param: "linkedTest", flag: "--test", repeatable: true },
2476
+ { param: "doc", flag: "--doc", repeatable: true },
2477
+ { param: "unset", flag: "--unset", repeatable: true },
2478
+ { param: "clearDeps", flag: "--clear-deps" },
2479
+ { param: "clearComments", flag: "--clear-comments" },
2480
+ { param: "clearNotes", flag: "--clear-notes" },
2481
+ { param: "clearLearnings", flag: "--clear-learnings" },
2482
+ { param: "clearFiles", flag: "--clear-files" },
2483
+ { param: "clearTests", flag: "--clear-tests" },
2484
+ { param: "clearDocs", flag: "--clear-docs" },
2485
+ { param: "clearReminders", flag: "--clear-reminders" },
2486
+ { param: "clearEvents", flag: "--clear-events" },
2487
+ { param: "clearTypeOptions", flag: "--clear-type-options" }
2488
+ ];
2489
+ var TOOL_UPDATE_OPTION_CONTRACTS = [
2490
+ { param: "title", flag: "--title" },
2491
+ { param: "description", flag: "--description", allowEmpty: true },
2492
+ { param: "body", flag: "--body", allowEmpty: true },
2493
+ { param: "status", flag: "--status" },
2494
+ { param: "closeReason", flag: "--close-reason" },
2495
+ { param: "priority", flag: "--priority" },
2496
+ { param: "type", flag: "--type" },
2497
+ { param: "tags", flag: "--tags", allowEmpty: true },
2498
+ { param: "addTags", flag: "--add-tags", repeatable: true },
2499
+ { param: "removeTags", flag: "--remove-tags", repeatable: true },
2500
+ { param: "deadline", flag: "--deadline" },
2501
+ { param: "estimate", flag: "--estimate" },
2502
+ { param: "acceptanceCriteria", flag: "--acceptance-criteria", allowEmpty: true },
2503
+ { param: "author", flag: "--author" },
2504
+ { param: "message", flag: "--message", allowEmpty: true },
2505
+ { param: "assignee", flag: "--assignee" },
2506
+ { param: "dep", flag: "--dep", repeatable: true },
2507
+ { param: "depRemove", flag: "--dep-remove", repeatable: true },
2508
+ { param: "replaceDeps", flag: "--replace-deps" },
2509
+ { param: "replaceTests", flag: "--replace-tests" },
2510
+ { param: "comment", flag: "--comment", repeatable: true },
2511
+ { param: "note", flag: "--note", repeatable: true },
2512
+ { param: "learning", flag: "--learning", repeatable: true },
2513
+ { param: "linkedFile", flag: "--file", repeatable: true },
2514
+ { param: "linkedTest", flag: "--test", repeatable: true },
2515
+ { param: "doc", flag: "--doc", repeatable: true },
2516
+ { param: "reminder", flag: "--reminder", repeatable: true },
2517
+ { param: "event", flag: "--event", repeatable: true },
2518
+ { param: "typeOption", flag: "--type-option", repeatable: true },
2519
+ { param: "field", flag: "--field", repeatable: true },
2520
+ { param: "unset", flag: "--unset", repeatable: true },
2521
+ { param: "clearDeps", flag: "--clear-deps" },
2522
+ { param: "clearComments", flag: "--clear-comments" },
2523
+ { param: "clearNotes", flag: "--clear-notes" },
2524
+ { param: "clearLearnings", flag: "--clear-learnings" },
2525
+ { param: "clearFiles", flag: "--clear-files" },
2526
+ { param: "clearTests", flag: "--clear-tests" },
2527
+ { param: "clearDocs", flag: "--clear-docs" },
2528
+ { param: "clearReminders", flag: "--clear-reminders" },
2529
+ { param: "clearEvents", flag: "--clear-events" },
2530
+ { param: "clearTypeOptions", flag: "--clear-type-options" },
2531
+ { param: "allowAuditUpdate", flag: "--allow-audit-update" },
2532
+ { param: "allowAuditDepUpdate", flag: "--allow-audit-dep-update" }
3594
2533
  ];
3595
- var GET_FLAG_CONTRACTS = [
3596
- { flag: "--depth" },
3597
- { flag: "--full" },
3598
- { flag: "--fields", list: true },
3599
- { flag: "--tree" },
3600
- { flag: "--tree-depth" },
3601
- { flag: "--tree_depth" },
3602
- { flag: "--format" }
2534
+ var TOOL_BULK_MUTATION_FILTER_OPTION_CONTRACTS = [
2535
+ { param: "filterStatus", flag: "--filter-status" },
2536
+ { param: "filterType", flag: "--filter-type" },
2537
+ { param: "filterTag", flag: "--filter-tag" },
2538
+ { param: "filterPriority", flag: "--filter-priority" },
2539
+ { param: "filterDeadlineBefore", flag: "--filter-deadline-before" },
2540
+ { param: "filterDeadlineAfter", flag: "--filter-deadline-after" },
2541
+ { param: "filterUpdatedAfter", flag: "--filter-updated-after" },
2542
+ { param: "filterUpdatedBefore", flag: "--filter-updated-before" },
2543
+ { param: "filterCreatedAfter", flag: "--filter-created-after" },
2544
+ { param: "filterCreatedBefore", flag: "--filter-created-before" },
2545
+ { param: "filterAssignee", flag: "--filter-assignee" },
2546
+ { param: "filterAssigneeFilter", flag: "--filter-assignee-filter" },
2547
+ { param: "filterParent", flag: "--filter-parent" },
2548
+ { param: "filterSprint", flag: "--filter-sprint" },
2549
+ { param: "filterRelease", flag: "--filter-release" },
2550
+ { param: "filterReviewerMissing", flag: "--filter-reviewer-missing" },
2551
+ { param: "filterRiskMissing", flag: "--filter-risk-missing" },
2552
+ { param: "filterConfidenceMissing", flag: "--filter-confidence-missing" },
2553
+ { param: "filterSprintMissing", flag: "--filter-sprint-missing" },
2554
+ { param: "filterReleaseMissing", flag: "--filter-release-missing" },
2555
+ { param: "filterHasNotes", flag: "--filter-has-notes" },
2556
+ { param: "filterNoNotes", flag: "--filter-no-notes" },
2557
+ { param: "filterHasLearnings", flag: "--filter-has-learnings" },
2558
+ { param: "filterNoLearnings", flag: "--filter-no-learnings" },
2559
+ { param: "filterHasFiles", flag: "--filter-has-files" },
2560
+ { param: "filterNoFiles", flag: "--filter-no-files" },
2561
+ { param: "filterHasDocs", flag: "--filter-has-docs" },
2562
+ { param: "filterNoDocs", flag: "--filter-no-docs" },
2563
+ { param: "filterHasTests", flag: "--filter-has-tests" },
2564
+ { param: "filterNoTests", flag: "--filter-no-tests" },
2565
+ { param: "filterHasComments", flag: "--filter-has-comments" },
2566
+ { param: "filterNoComments", flag: "--filter-no-comments" },
2567
+ { param: "filterHasDeps", flag: "--filter-has-deps" },
2568
+ { param: "filterNoDeps", flag: "--filter-no-deps" },
2569
+ { param: "filterHasBody", flag: "--filter-has-body" },
2570
+ { param: "filterEmptyBody", flag: "--filter-empty-body" },
2571
+ { param: "filterHasLinkedCommand", flag: "--filter-has-linked-command" },
2572
+ { param: "filterNoLinkedCommand", flag: "--filter-no-linked-command" },
2573
+ { param: "ids", flag: "--ids" },
2574
+ { param: "limit", flag: "--limit" },
2575
+ { param: "offset", flag: "--offset" }
3603
2576
  ];
3604
- var GUIDE_FLAG_CONTRACTS = [
3605
- { flag: "--list" },
3606
- { flag: "--format" },
3607
- { flag: "--depth" }
2577
+ var TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS = [
2578
+ ...cloneOptionContracts(TOOL_BULK_MUTATION_FILTER_OPTION_CONTRACTS)
3608
2579
  ];
3609
- var DEPS_FLAG_CONTRACTS = [
3610
- { flag: "--format" },
3611
- { flag: "--max-depth" },
3612
- { flag: "--collapse" },
3613
- { flag: "--summary" }
2580
+ var TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS = [
2581
+ { param: "filterStatus", flag: "--filter-status" },
2582
+ { param: "filterType", flag: "--filter-type" },
2583
+ { param: "filterTag", flag: "--filter-tag" },
2584
+ { param: "filterPriority", flag: "--filter-priority" },
2585
+ { param: "filterDeadlineBefore", flag: "--filter-deadline-before" },
2586
+ { param: "filterDeadlineAfter", flag: "--filter-deadline-after" },
2587
+ { param: "filterAssignee", flag: "--filter-assignee" },
2588
+ { param: "filterAssigneeFilter", flag: "--filter-assignee-filter" },
2589
+ { param: "filterParent", flag: "--filter-parent" },
2590
+ { param: "filterSprint", flag: "--filter-sprint" },
2591
+ { param: "filterRelease", flag: "--filter-release" },
2592
+ { param: "limit", flag: "--limit" },
2593
+ { param: "offset", flag: "--offset" }
3614
2594
  ];
3615
- var EVAL_FLAG_CONTRACTS = [
3616
- { flag: "--mode" },
3617
- { flag: "--k" },
3618
- { flag: "--fail-under" },
3619
- { flag: "--queries" },
3620
- { flag: "--format" }
2595
+ var TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS = [
2596
+ ...cloneOptionContracts(TOOL_BULK_MUTATION_FILTER_OPTION_CONTRACTS)
3621
2597
  ];
3622
- var SEARCH_FLAG_CONTRACTS = [
3623
- { flag: "--mode" },
3624
- { flag: "--semantic" },
3625
- { flag: "--hybrid" },
3626
- { flag: "--match-mode" },
3627
- { flag: "--min-score" },
3628
- { flag: "--count" },
3629
- { flag: "--semantic-weight" },
3630
- { flag: "--include-linked" },
3631
- { flag: "--title-exact" },
3632
- { flag: "--phrase-exact" },
3633
- { flag: "--highlight" },
3634
- { flag: "--compact" },
3635
- { flag: "--full" },
3636
- { flag: "--fields", list: true },
3637
- { flag: "--format" },
3638
- { flag: "--limit" },
3639
- { flag: "--status", list: true },
3640
- { flag: "--type" },
3641
- { flag: "--tag", aliases: ["--tags"] },
3642
- { flag: "--priority" },
3643
- { flag: "--deadline-before" },
3644
- { flag: "--deadline-after" },
3645
- { flag: "--updated-after" },
3646
- { flag: "--updated-before" },
3647
- { flag: "--created-after" },
3648
- { flag: "--created-before" },
3649
- { flag: "--assignee" },
3650
- { flag: "--sprint" },
3651
- { flag: "--release" },
3652
- { flag: "--parent" },
3653
- { flag: "--filter-reviewer-missing" },
3654
- { flag: "--filter-risk-missing" },
3655
- { flag: "--filter-confidence-missing" },
3656
- { flag: "--filter-sprint-missing" },
3657
- { flag: "--filter-release-missing" },
3658
- { flag: "--has-notes" },
3659
- { flag: "--no-notes" },
3660
- { flag: "--has-learnings" },
3661
- { flag: "--no-learnings" },
3662
- { flag: "--has-files" },
3663
- { flag: "--no-files" },
3664
- { flag: "--has-docs" },
3665
- { flag: "--no-docs" },
3666
- { flag: "--has-tests" },
3667
- { flag: "--no-tests" },
3668
- { flag: "--has-comments" },
3669
- { flag: "--no-comments" },
3670
- { flag: "--has-deps" },
3671
- { flag: "--no-deps" },
3672
- { flag: "--has-body" },
3673
- { flag: "--empty-body" },
3674
- { flag: "--has-linked-command" },
3675
- { flag: "--no-linked-command" }
2598
+ var TOOL_ACTIVITY_OPTION_CONTRACTS = [
2599
+ { param: "id", flag: "--id" },
2600
+ { param: "op", flag: "--op" },
2601
+ { param: "author", flag: "--author" },
2602
+ { param: "from", flag: "--from" },
2603
+ { param: "to", flag: "--to" },
2604
+ { param: "limit", flag: "--limit" },
2605
+ { param: "compact", flag: "--compact" },
2606
+ { param: "full", flag: "--full" }
3676
2607
  ];
3677
- var CONTRACTS_FLAG_CONTRACTS = [
3678
- { flag: "--action" },
3679
- { flag: "--command" },
3680
- { flag: "--schema-only" },
3681
- { flag: "--flags-only" },
3682
- { flag: "--availability-only" },
3683
- { flag: "--runtime-only" },
3684
- { flag: "--active-only" },
3685
- { flag: "--full" }
2608
+ var TOOL_CONTEXT_OPTION_CONTRACTS = [
2609
+ { param: "date", flag: "--date" },
2610
+ { param: "from", flag: "--from" },
2611
+ { param: "to", flag: "--to" },
2612
+ { param: "type", flag: "--type" },
2613
+ { param: "tag", flag: "--tag" },
2614
+ { param: "priority", flag: "--priority" },
2615
+ { param: "assignee", flag: "--assignee" },
2616
+ { param: "assigneeFilter", flag: "--assignee-filter" },
2617
+ { param: "sprint", flag: "--sprint" },
2618
+ { param: "release", flag: "--release" },
2619
+ { param: "parent", flag: "--parent" },
2620
+ { param: "limit", flag: "--limit" },
2621
+ { param: "format", flag: "--format" },
2622
+ { param: "depth", flag: "--depth" },
2623
+ { param: "fields", flag: "--fields" },
2624
+ { param: "section", flag: "--section", repeatable: true },
2625
+ { param: "activityLimit", flag: "--activity-limit" },
2626
+ { param: "staleThreshold", flag: "--stale-threshold" }
3686
2627
  ];
3687
- var COMPLETION_FLAG_CONTRACTS = [
3688
- { flag: "--eager-tags" }
2628
+
2629
+ // dist/sdk/cli-contracts/tool-parameter-tables.js
2630
+ !(function() {
2631
+ try {
2632
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
2633
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "75c2e15d-069f-562a-8309-ceaa9ffcde14");
2634
+ } catch (e2) {
2635
+ }
2636
+ })();
2637
+ var PM_TOOL_PARAMETER_PROPERTIES = {
2638
+ json: { type: "boolean", default: true },
2639
+ quiet: { type: "boolean" },
2640
+ profile: { type: "boolean" },
2641
+ noExtensions: { type: "boolean" },
2642
+ noPager: { type: "boolean" },
2643
+ path: { type: "string" },
2644
+ pmExecutable: { type: "string" },
2645
+ timeoutMs: { type: "number" },
2646
+ id: { type: "string" },
2647
+ target: { type: "string" },
2648
+ output: { type: "string", minLength: 1 },
2649
+ github: { type: "string" },
2650
+ ref: { type: "string" },
2651
+ query: { type: "string" },
2652
+ keywords: { type: "string" },
2653
+ fields: { type: "string" },
2654
+ sort: { type: "string", enum: ["priority", "deadline", "updated_at", "created_at", "title", "parent"] },
2655
+ prefix: { type: "string" },
2656
+ preset: { type: "string", enum: ["minimal", "default", "strict", "custom"] },
2657
+ typePreset: { type: "string", enum: ["agile", "ops", "research"] },
2658
+ defaults: { type: "boolean" },
2659
+ verbose: { type: "boolean" },
2660
+ agentGuidance: { type: "string", enum: ["ask", "add", "skip", "status"] },
2661
+ withPackages: { type: "boolean" },
2662
+ scope: { type: "string", enum: ["project", "global"] },
2663
+ allOver: { type: "number" },
2664
+ minEntries: { type: "number" },
2665
+ closed: { type: "boolean" },
2666
+ allStreams: { type: "boolean" },
2667
+ contractAction: { type: "string" },
2668
+ command: { type: "string" },
2669
+ schemaOnly: { type: "boolean" },
2670
+ flagsOnly: { type: "boolean" },
2671
+ availabilityOnly: { type: "boolean" },
2672
+ runtimeOnly: { type: "boolean" },
2673
+ activeOnly: { type: "boolean" },
2674
+ eagerTags: { type: "boolean" },
2675
+ fullChangedFields: { type: "boolean" },
2676
+ idOnly: { type: "boolean" },
2677
+ allowMissingParent: { type: "boolean" },
2678
+ duplicateOf: { type: "string" },
2679
+ configAction: { type: "string", enum: ["get", "set", "list", "export"] },
2680
+ key: { type: "string" },
2681
+ title: { type: "string" },
2682
+ description: { type: "string" },
2683
+ type: { type: "string" },
2684
+ template: { type: "string" },
2685
+ createMode: { type: "string", enum: ["strict", "progressive"] },
2686
+ schedulePreset: { type: "string", enum: ["lightweight"] },
2687
+ status: { type: "string" },
2688
+ filterStatus: { type: "string" },
2689
+ filterType: { type: "string" },
2690
+ filterTag: { type: "string" },
2691
+ filterPriority: { anyOf: [{ type: "string" }, { type: "number" }] },
2692
+ filterDeadlineBefore: { type: "string" },
2693
+ filterDeadlineAfter: { type: "string" },
2694
+ filterUpdatedAfter: { type: "string" },
2695
+ filterUpdatedBefore: { type: "string" },
2696
+ filterCreatedAfter: { type: "string" },
2697
+ filterCreatedBefore: { type: "string" },
2698
+ filterAssignee: { type: "string" },
2699
+ filterAssigneeFilter: { type: "string", enum: ["assigned", "unassigned"] },
2700
+ filterParent: { type: "string" },
2701
+ filterSprint: { type: "string" },
2702
+ filterRelease: { type: "string" },
2703
+ closeReason: { type: "string" },
2704
+ reason: { type: "string" },
2705
+ priority: { anyOf: [{ type: "string" }, { type: "number" }] },
2706
+ tags: { type: "string" },
2707
+ addTags: { type: "array", items: { type: "string" } },
2708
+ removeTags: { type: "array", items: { type: "string" } },
2709
+ body: { type: "string" },
2710
+ deadline: { type: "string" },
2711
+ estimate: { anyOf: [{ type: "string" }, { type: "number" }] },
2712
+ acceptanceCriteria: { type: "string" },
2713
+ author: { type: "string" },
2714
+ message: { type: "string" },
2715
+ assignee: { type: "string" },
2716
+ assigneeFilter: { type: "string", enum: ["assigned", "unassigned"] },
2717
+ parent: { type: "string" },
2718
+ reviewer: { type: "string" },
2719
+ risk: { type: "string" },
2720
+ confidence: { anyOf: [{ type: "string" }, { type: "number" }] },
2721
+ sprint: { type: "string" },
2722
+ release: { type: "string" },
2723
+ blockedBy: { type: "string" },
2724
+ blockedReason: { type: "string" },
2725
+ unblockNote: { type: "string" },
2726
+ reporter: { type: "string" },
2727
+ severity: { type: "string" },
2728
+ environment: { type: "string" },
2729
+ reproSteps: { type: "string" },
2730
+ resolution: { type: "string" },
2731
+ expectedResult: { type: "string" },
2732
+ actualResult: { type: "string" },
2733
+ affectedVersion: { type: "string" },
2734
+ fixedVersion: { type: "string" },
2735
+ component: { type: "string" },
2736
+ regression: { anyOf: [{ type: "boolean" }, { type: "string" }, { type: "number" }] },
2737
+ customerImpact: { type: "string" },
2738
+ definitionOfReady: { type: "string" },
2739
+ order: { anyOf: [{ type: "string" }, { type: "number" }] },
2740
+ goal: { type: "string" },
2741
+ objective: { type: "string" },
2742
+ value: { type: "string" },
2743
+ impact: { type: "string" },
2744
+ outcome: { type: "string" },
2745
+ whyNow: { type: "string" },
2746
+ mode: {
2747
+ type: "string",
2748
+ enum: ["keyword", "semantic", "hybrid", "title_exact", "title_fuzzy", "parent_scope"]
2749
+ },
2750
+ semanticWeight: { anyOf: [{ type: "string" }, { type: "number" }] },
2751
+ op: { type: "string" },
2752
+ compact: { type: "boolean" },
2753
+ brief: { type: "boolean" },
2754
+ full: { type: "boolean" },
2755
+ view: { type: "string", enum: ["agenda", "day", "week", "month"] },
2756
+ date: { type: "string" },
2757
+ from: { type: "string" },
2758
+ before: { type: "string" },
2759
+ to: { type: "string" },
2760
+ past: { type: "boolean" },
2761
+ fullPeriod: { type: "boolean" },
2762
+ include: { type: "string" },
2763
+ recurrenceLookaheadDays: { anyOf: [{ type: "string" }, { type: "number" }] },
2764
+ recurrenceLookbackDays: { anyOf: [{ type: "string" }, { type: "number" }] },
2765
+ occurrenceLimit: { anyOf: [{ type: "string" }, { type: "number" }] },
2766
+ includeLinked: { type: "boolean" },
2767
+ semantic: { type: "boolean" },
2768
+ hybrid: { type: "boolean" },
2769
+ titleExact: { type: "boolean" },
2770
+ phraseExact: { type: "boolean" },
2771
+ highlight: { type: "boolean" },
2772
+ includeBody: { type: "boolean" },
2773
+ noTruncate: { type: "boolean" },
2774
+ tag: { type: "string" },
2775
+ deadlineBefore: { type: "string" },
2776
+ deadlineAfter: { type: "string" },
2777
+ updatedAfter: { type: "string" },
2778
+ updatedBefore: { type: "string" },
2779
+ createdAfter: { type: "string" },
2780
+ createdBefore: { type: "string" },
2781
+ filterAcMissing: { type: "boolean" },
2782
+ filterEstimatesMissing: { type: "boolean" },
2783
+ filterResolutionMissing: { type: "boolean" },
2784
+ filterMetadataMissing: { type: "boolean" },
2785
+ filterReviewerMissing: { type: "boolean" },
2786
+ filterRiskMissing: { type: "boolean" },
2787
+ filterConfidenceMissing: { type: "boolean" },
2788
+ filterSprintMissing: { type: "boolean" },
2789
+ filterReleaseMissing: { type: "boolean" },
2790
+ // Content-field presence/absence filters (list/search). The --no-* variants
2791
+ // select items where the field is empty/absent.
2792
+ hasNotes: { type: "boolean" },
2793
+ noNotes: { type: "boolean" },
2794
+ hasLearnings: { type: "boolean" },
2795
+ noLearnings: { type: "boolean" },
2796
+ hasFiles: { type: "boolean" },
2797
+ noFiles: { type: "boolean" },
2798
+ hasDocs: { type: "boolean" },
2799
+ noDocs: { type: "boolean" },
2800
+ hasTests: { type: "boolean" },
2801
+ noTests: { type: "boolean" },
2802
+ hasComments: { type: "boolean" },
2803
+ noComments: { type: "boolean" },
2804
+ hasDeps: { type: "boolean" },
2805
+ noDeps: { type: "boolean" },
2806
+ hasBody: { type: "boolean" },
2807
+ emptyBody: { type: "boolean" },
2808
+ hasLinkedCommand: { type: "boolean" },
2809
+ noLinkedCommand: { type: "boolean" },
2810
+ // Bulk-selection (update-many/close-many) content + governance filters mirror
2811
+ // the list/search presence filters under the --filter- prefix.
2812
+ filterHasNotes: { type: "boolean" },
2813
+ filterNoNotes: { type: "boolean" },
2814
+ filterHasLearnings: { type: "boolean" },
2815
+ filterNoLearnings: { type: "boolean" },
2816
+ filterHasFiles: { type: "boolean" },
2817
+ filterNoFiles: { type: "boolean" },
2818
+ filterHasDocs: { type: "boolean" },
2819
+ filterNoDocs: { type: "boolean" },
2820
+ filterHasTests: { type: "boolean" },
2821
+ filterNoTests: { type: "boolean" },
2822
+ filterHasComments: { type: "boolean" },
2823
+ filterNoComments: { type: "boolean" },
2824
+ filterHasDeps: { type: "boolean" },
2825
+ filterNoDeps: { type: "boolean" },
2826
+ filterHasBody: { type: "boolean" },
2827
+ filterEmptyBody: { type: "boolean" },
2828
+ filterHasLinkedCommand: { type: "boolean" },
2829
+ filterNoLinkedCommand: { type: "boolean" },
2830
+ ids: { type: "string" },
2831
+ limit: { anyOf: [{ type: "string" }, { type: "number" }] },
2832
+ blockedLimit: { anyOf: [{ type: "string" }, { type: "number" }] },
2833
+ readyOnly: { type: "boolean" },
2834
+ limitItems: { anyOf: [{ type: "string" }, { type: "number" }] },
2835
+ fullHistory: { type: "boolean" },
2836
+ latest: { anyOf: [{ type: "string" }, { type: "number" }] },
2837
+ offset: { anyOf: [{ type: "string" }, { type: "number" }] },
2838
+ progress: { type: "boolean" },
2839
+ background: { type: "boolean" },
2840
+ runId: { type: "string" },
2841
+ stream: {
2842
+ anyOf: [{ type: "boolean" }, { type: "string", enum: ["stdout", "stderr", "both", "rows", "ndjson", "jsonl"] }]
2843
+ },
2844
+ tail: { anyOf: [{ type: "string" }, { type: "number" }] },
2845
+ addJson: { type: "array", items: { type: "string" } },
2846
+ match: { type: "string" },
2847
+ onlyIndex: { anyOf: [{ type: "string" }, { type: "number" }] },
2848
+ onlyLast: { type: "boolean" },
2849
+ envSet: { type: "array", items: { type: "string" } },
2850
+ envClear: { type: "array", items: { type: "string" } },
2851
+ sharedHostSafe: { type: "boolean" },
2852
+ detail: { type: "string", enum: ["summary", "deep"] },
2853
+ trace: { type: "boolean" },
2854
+ reload: { type: "boolean" },
2855
+ watch: { type: "boolean" },
2856
+ runtimeProbe: { type: "boolean" },
2857
+ fixManagedState: { type: "boolean" },
2858
+ pmContext: { type: "string", enum: ["schema", "tracker", "auto"] },
2859
+ overrideLinkedPmContext: { type: "boolean" },
2860
+ failOnContextMismatch: { type: "boolean" },
2861
+ failOnSkipped: { type: "boolean" },
2862
+ failOnEmptyTestRun: { type: "boolean" },
2863
+ requireAssertionsForPm: { type: "boolean" },
2864
+ checkContext: { type: "boolean" },
2865
+ autoPmContext: { type: "boolean" },
2866
+ diff: { type: "boolean" },
2867
+ storage: { type: "boolean" },
2868
+ metadataCoverage: { type: "boolean" },
2869
+ fieldUtilization: { type: "boolean" },
2870
+ byAssignee: { type: "boolean" },
2871
+ byTag: { type: "boolean" },
2872
+ byPriority: { type: "boolean" },
2873
+ tagPrefix: { type: "string" },
2874
+ verify: { type: "boolean" },
2875
+ literal: { type: "array", items: { type: "string" } },
2876
+ regex: { type: "array", items: { type: "string" } },
2877
+ replacement: { type: "string" },
2878
+ timeout: { anyOf: [{ type: "string" }, { type: "number" }] },
2879
+ validateClose: { type: "string", enum: ["off", "warn", "strict"] },
2880
+ checkMetadata: { type: "boolean" },
2881
+ metadataProfile: { type: "string", enum: ["core", "strict", "custom"] },
2882
+ checkResolution: { type: "boolean" },
2883
+ checkLifecycle: { type: "boolean" },
2884
+ checkStaleBlockers: { type: "boolean" },
2885
+ dependencyCycleSeverity: { type: "string", enum: ["off", "warn", "error"] },
2886
+ parentCycleSeverity: { type: "string", enum: ["off", "warn", "error"] },
2887
+ checkFiles: { type: "boolean" },
2888
+ strictDirectories: { type: "boolean" },
2889
+ checkOnly: { type: "boolean" },
2890
+ checkTelemetry: { type: "boolean" },
2891
+ noRefresh: { type: "boolean" },
2892
+ refreshVectors: { type: "boolean" },
2893
+ verboseStaleItems: { type: "boolean" },
2894
+ skipVectors: { type: "boolean" },
2895
+ skipIntegrity: { type: "boolean" },
2896
+ skipDrift: { type: "boolean" },
2897
+ verboseDiagnostics: { type: "boolean" },
2898
+ allAffectedIds: { type: "boolean" },
2899
+ scanMode: { type: "string", enum: ["default", "tracked-all", "tracked-all-strict"] },
2900
+ includePmInternals: { type: "boolean" },
2901
+ verboseFileLists: { type: "boolean" },
2902
+ strictExit: { type: "boolean" },
2903
+ failOnWarn: { type: "boolean" },
2904
+ fixHints: { type: "boolean" },
2905
+ autoFix: { type: "boolean" },
2906
+ fixScope: { type: "array", items: { type: "string", enum: ["metadata", "resolution", "estimates", "lifecycle"] } },
2907
+ pruneMissing: { type: "boolean" },
2908
+ checkHistoryDrift: { type: "boolean" },
2909
+ checkCommandReferences: { type: "boolean" },
2910
+ allowAuditNote: { type: "boolean" },
2911
+ allowAuditLearning: { type: "boolean" },
2912
+ allowAuditComment: { type: "boolean" },
2913
+ edit: { type: "integer", minimum: 1 },
2914
+ delete: { type: "integer", minimum: 1 },
2915
+ allowAuditUpdate: { type: "boolean" },
2916
+ allowAuditDepUpdate: { type: "boolean" },
2917
+ allowAuditRelease: { type: "boolean" },
2918
+ dryRun: { type: "boolean" },
2919
+ all: { type: "boolean" },
2920
+ clear: { type: "boolean" },
2921
+ cliOnly: { type: "boolean" },
2922
+ packagesOnly: { type: "boolean" },
2923
+ repair: { type: "boolean" },
2924
+ packageName: { type: "string" },
2925
+ rollback: { type: "string" },
2926
+ noCheckpoint: { type: "boolean" },
2927
+ force: { type: "boolean" },
2928
+ run: { type: "boolean" },
2929
+ count: { type: "boolean" },
2930
+ sum: { type: "string" },
2931
+ avg: { type: "string" },
2932
+ tree: { type: "boolean" },
2933
+ treeDepth: { anyOf: [{ type: "string" }, { type: "number" }] },
2934
+ includeUnparented: { type: "boolean" },
2935
+ gcScope: {
2936
+ type: "array",
2937
+ items: { type: "string", enum: ["index", "embeddings", "runtime", "locks"] }
2938
+ },
2939
+ maxDepth: { anyOf: [{ type: "string" }, { type: "number" }] },
2940
+ collapse: { type: "string", enum: ["none", "repeated"] },
2941
+ summary: { type: "boolean" },
2942
+ shell: { type: "string", enum: ["bash", "zsh", "fish"] },
2943
+ stdin: { type: "boolean" },
2944
+ file: { type: "string" },
2945
+ preserveSourceIds: { type: "boolean" },
2946
+ folder: { type: "string" },
2947
+ subcommand: { type: "string" },
2948
+ name: { type: "string" },
2949
+ defaultStatus: { type: "string" },
2950
+ alias: { type: "array", items: { type: "string" } },
2951
+ role: { type: "array", items: { type: "string" } },
2952
+ fieldType: { type: "string", enum: ["string", "number", "boolean", "string_array"] },
2953
+ commands: { type: "array", items: { type: "string" } },
2954
+ cliFlag: { type: "string" },
2955
+ required: { type: "boolean" },
2956
+ requiredOnCreate: { type: "boolean" },
2957
+ allowUnset: { type: "boolean" },
2958
+ requiredTypes: { type: "array", items: { type: "string" } },
2959
+ infer: { type: "boolean" },
2960
+ minCount: { type: "number" },
2961
+ text: { type: "string" },
2962
+ add: { type: "array", items: { type: "string" } },
2963
+ addGlob: { type: "array", items: { type: "string" } },
2964
+ remove: { type: "array", items: { type: "string" } },
2965
+ migrate: { type: "array", items: { type: "string" } },
2966
+ discover: { type: "boolean" },
2967
+ apply: { type: "boolean" },
2968
+ discoveryNote: { type: "string" },
2969
+ // GH-170 (pm-pfnx): single-string note for files/docs add batches (the shared
2970
+ // `note` key below is the array-typed create/update note seed).
2971
+ addNote: { type: "string" },
2972
+ list: { type: "boolean" },
2973
+ appendStable: { type: "boolean" },
2974
+ validatePaths: { type: "boolean" },
2975
+ audit: { type: "boolean" },
2976
+ dep: { type: "array", items: { type: "string" } },
2977
+ depRemove: { type: "array", items: { type: "string" } },
2978
+ replaceDeps: { type: "boolean" },
2979
+ replaceTests: { type: "boolean" },
2980
+ comment: { type: "array", items: { type: "string" } },
2981
+ note: { type: "array", items: { type: "string" } },
2982
+ learning: { type: "array", items: { type: "string" } },
2983
+ linkedFile: { type: "array", items: { type: "string" } },
2984
+ linkedTest: { type: "array", items: { type: "string" } },
2985
+ doc: { type: "array", items: { type: "string" } },
2986
+ reminder: { type: "array", items: { type: "string" } },
2987
+ event: { type: "array", items: { type: "string" } },
2988
+ typeOption: { type: "array", items: { type: "string" } },
2989
+ field: { type: "array", items: { type: "string" } },
2990
+ unset: { type: "array", items: { type: "string" } },
2991
+ clearDeps: { type: "boolean" },
2992
+ clearComments: { type: "boolean" },
2993
+ clearNotes: { type: "boolean" },
2994
+ clearLearnings: { type: "boolean" },
2995
+ clearFiles: { type: "boolean" },
2996
+ clearTests: { type: "boolean" },
2997
+ clearDocs: { type: "boolean" },
2998
+ clearReminders: { type: "boolean" },
2999
+ clearEvents: { type: "boolean" },
3000
+ clearTypeOptions: { type: "boolean" },
3001
+ criterion: { type: "array", items: { type: "string" } },
3002
+ clearCriteria: { type: "boolean" },
3003
+ groupBy: { type: "string" },
3004
+ completion: { type: "boolean" },
3005
+ threshold: { anyOf: [{ type: "string" }, { type: "number" }] },
3006
+ format: { type: "string" },
3007
+ depth: { type: "string", enum: ["brief", "standard", "deep", "full"] },
3008
+ section: { type: "array", items: { type: "string", enum: ["hierarchy", "activity", "progress", "blockers", "files", "workload", "staleness", "tests"] } },
3009
+ activityLimit: { anyOf: [{ type: "string" }, { type: "number" }] },
3010
+ staleThreshold: { type: "string" },
3011
+ policy: { type: "string" }
3012
+ };
3013
+ var PLAN_SUBCOMMAND_VALUES = [
3014
+ "create",
3015
+ "show",
3016
+ "add-step",
3017
+ "update-step",
3018
+ "complete-step",
3019
+ "block-step",
3020
+ "reorder-step",
3021
+ "remove-step",
3022
+ "link",
3023
+ "unlink",
3024
+ "decision",
3025
+ "discovery",
3026
+ "validation",
3027
+ "resume",
3028
+ "approve",
3029
+ "materialize"
3689
3030
  ];
3690
- function toUniqueFlagContracts(contracts) {
3691
- const seen = /* @__PURE__ */ new Set();
3692
- const unique = [];
3693
- for (const contract of contracts) {
3694
- const aliasKey = (contract.aliases ?? []).join(",");
3695
- const key = `${contract.flag}|${contract.short ?? ""}|${aliasKey}`;
3696
- if (seen.has(key)) {
3697
- continue;
3698
- }
3699
- seen.add(key);
3700
- unique.push(contract);
3701
- }
3702
- return unique;
3703
- }
3704
- function withSubcommandGlobalFlags(contracts) {
3705
- return withFlagAliasMetadata(toUniqueFlagContracts([...SUBCOMMAND_GLOBAL_FLAG_CONTRACTS, ...contracts]));
3706
- }
3707
- var LIST_COMMAND_NAME_CONTRACTS = /* @__PURE__ */ new Set([
3708
- "list",
3709
- "list-all",
3710
- "list-draft",
3711
- "list-open",
3712
- "list-in-progress",
3713
- "list-blocked",
3714
- "list-closed",
3715
- "list-canceled"
3716
- ]);
3717
- var NO_SURFACE_COMMAND_NAME_CONTRACTS = /* @__PURE__ */ new Set([
3718
- "reindex",
3719
- "help"
3720
- ]);
3721
- function normalizeCommandNameForContracts(commandName) {
3722
- if (typeof commandName !== "string") {
3723
- return "";
3724
- }
3725
- return commandName.trim().toLowerCase();
3726
- }
3727
- function resolveSubcommandFlagContractsForCommand(commandName) {
3728
- const normalized = normalizeCommandNameForContracts(commandName);
3729
- if (normalized.length === 0) {
3730
- return withSubcommandGlobalFlags([]);
3731
- }
3732
- if (LIST_COMMAND_NAME_CONTRACTS.has(normalized)) {
3733
- return withSubcommandGlobalFlags(LIST_FILTER_FLAG_CONTRACTS);
3734
- }
3735
- if (NO_SURFACE_COMMAND_NAME_CONTRACTS.has(normalized)) {
3736
- return withSubcommandGlobalFlags([]);
3737
- }
3738
- if (normalized === "templates") {
3739
- return withSubcommandGlobalFlags(CREATE_FLAG_CONTRACTS);
3740
- }
3741
- if (normalized === "cal") {
3742
- return withSubcommandGlobalFlags(CALENDAR_FLAG_CONTRACTS);
3743
- }
3744
- if (normalized === "ctx") {
3745
- return withSubcommandGlobalFlags(CONTEXT_FLAG_CONTRACTS);
3031
+ var PLAN_ACTION_PARAMETER_PROPERTIES = {
3032
+ subcommand: { type: "string", enum: [...PLAN_SUBCOMMAND_VALUES] },
3033
+ stepRef: { type: "string" },
3034
+ reorderTo: { anyOf: [{ type: "string" }, { type: "number" }] },
3035
+ scope: { type: "string" },
3036
+ harness: { type: "string", enum: [...PLAN_HARNESS_VALUES] },
3037
+ mode: { type: "string", enum: [...PLAN_MODE_VALUES] },
3038
+ resumeContext: { type: "string" },
3039
+ related: { type: "string" },
3040
+ blocks: { type: "string" },
3041
+ claim: { type: "boolean" },
3042
+ fromSearch: { type: "string" },
3043
+ stepTitle: { type: "string" },
3044
+ // pm-6mit: ordered step titles for create (string or array; values are never
3045
+ // comma-split). On step subcommands a single value aliases stepTitle.
3046
+ step: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
3047
+ stepBody: { type: "string" },
3048
+ stepOwner: { type: "string" },
3049
+ stepStatus: { type: "string", enum: [...PLAN_STEP_STATUS_VALUES] },
3050
+ stepEvidence: { type: "string" },
3051
+ stepBlockedReason: { type: "string" },
3052
+ stepReplacement: { type: "string" },
3053
+ dependsOn: { type: "string" },
3054
+ link: { type: "string" },
3055
+ linkKind: { type: "string", enum: [...PLAN_STEP_LINK_KIND_VALUES] },
3056
+ linkNote: { type: "string" },
3057
+ promoteToItemDep: { type: "boolean" },
3058
+ allowMultipleActive: { type: "boolean" },
3059
+ file: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
3060
+ test: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
3061
+ doc: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
3062
+ decisionText: { type: "string" },
3063
+ decision: { type: "string" },
3064
+ decisionRationale: { type: "string" },
3065
+ decisionEvidence: { type: "string" },
3066
+ discoveryText: { type: "string" },
3067
+ discovery: { type: "string" },
3068
+ validationText: { type: "string" },
3069
+ validation: { type: "string" },
3070
+ validationCommand: { type: "string" },
3071
+ validationExpected: { type: "string" },
3072
+ steps: { type: "array", items: { type: "string" } },
3073
+ materializeType: { type: "string" },
3074
+ materializeParent: { type: "string" },
3075
+ materializeTags: { type: "string" }
3076
+ };
3077
+ var PLAN_ACTION_PARAMETER_METADATA = {
3078
+ subcommand: {
3079
+ description: "Plan workflow operation to run.",
3080
+ examples: ["create", "show", "add-step", "approve"]
3081
+ },
3082
+ stepRef: {
3083
+ description: "Plan step id or order for step lifecycle subcommands.",
3084
+ examples: ["plan-step-001", "1"]
3085
+ },
3086
+ reorderTo: {
3087
+ description: "New integer order for reorder-step.",
3088
+ examples: [1, "2"]
3089
+ },
3090
+ scope: {
3091
+ description: "Short free-text scope statement describing what the Plan covers.",
3092
+ examples: ["Release readiness audit", "Search package migration"]
3093
+ },
3094
+ mode: {
3095
+ description: "Plan lifecycle mode.",
3096
+ examples: ["draft", "research", "approved"]
3097
+ },
3098
+ step: {
3099
+ description: "Ordered initial step titles for create (string or array, never comma-split; stepTitle, when also set, becomes the first step). For step subcommands a single value aliases stepTitle.",
3100
+ examples: [["Read the code", "Write the fix", "Run the tests"]]
3101
+ },
3102
+ file: {
3103
+ description: "File link to attach while creating or materializing a Plan.",
3104
+ examples: ["path=src/cli.ts,note=implementation surface"]
3105
+ },
3106
+ test: {
3107
+ description: "Test command link to attach while creating or materializing a Plan.",
3108
+ examples: ["command=pnpm build,timeout_seconds=300"]
3109
+ },
3110
+ doc: {
3111
+ description: "Documentation link to attach while creating or materializing a Plan.",
3112
+ examples: ["path=docs/SDK.md,note=public API reference"]
3746
3113
  }
3747
- if (normalized === "test-runs-worker") {
3748
- return withSubcommandGlobalFlags(TEST_RUNS_FLAG_CONTRACTS);
3114
+ };
3115
+ var PM_TOOL_PARAMETER_METADATA = {
3116
+ action: {
3117
+ description: "Tool action to execute."
3118
+ },
3119
+ path: {
3120
+ description: "Optional PM data root override for this invocation.",
3121
+ examples: [".agents/pm"]
3122
+ },
3123
+ scope: {
3124
+ description: "Scope selector for commands that operate on project or global state. Linked files, docs, and tests default to project scope when omitted.",
3125
+ examples: ["project", "global"]
3126
+ },
3127
+ detail: {
3128
+ description: "Detail mode for commands that support concise and deep diagnostics.",
3129
+ examples: ["summary", "deep"]
3130
+ },
3131
+ trace: {
3132
+ description: "When true for extension-doctor, include actionable registration traces in deep diagnostics."
3133
+ },
3134
+ reload: {
3135
+ description: "When true for extension action payloads, trigger cache-busted extension module reload."
3136
+ },
3137
+ watch: {
3138
+ description: "When true for extension-reload/extension action payloads, enable watch mode semantics."
3139
+ },
3140
+ runtimeProbe: {
3141
+ description: "When true for extension-manage, run a doctor-like runtime activation probe for parity fields."
3142
+ },
3143
+ fixManagedState: {
3144
+ description: "When true for extension-manage/extension-doctor, adopt unmanaged extensions before diagnostics/update checks."
3145
+ },
3146
+ target: {
3147
+ description: "Positional target argument for the selected action (ID, source, package source, or extension name).",
3148
+ examples: ["pm-a1b2", ".agents/pm/extensions/sample", "sample-extension"]
3149
+ },
3150
+ output: {
3151
+ description: "File path for commands that write generated output, such as package/extension describe Markdown references.",
3152
+ examples: ["docs/pm-package-reference.md"]
3153
+ },
3154
+ github: {
3155
+ description: "GitHub shorthand owner/repo[/path] source for package/extension install actions.",
3156
+ examples: ["org/repo/extensions/sample"]
3157
+ },
3158
+ ref: {
3159
+ description: "Git ref/branch/tag used when installing from GitHub shorthand/URL sources.",
3160
+ examples: ["main", "v1.0.0"]
3161
+ },
3162
+ cliOnly: {
3163
+ description: "Restrict upgrade to the pm CLI/SDK npm package."
3164
+ },
3165
+ packagesOnly: {
3166
+ description: "Restrict upgrade to managed installable pm packages."
3167
+ },
3168
+ repair: {
3169
+ description: "Force npm global reinstall semantics when upgrading the pm CLI/SDK."
3170
+ },
3171
+ tag: {
3172
+ description: "npm version or dist-tag used for CLI and registry package upgrades.",
3173
+ examples: ["latest", "next", "2026.5.11"]
3174
+ },
3175
+ packageName: {
3176
+ description: "Override the pm CLI package name for self-upgrade automation and tests.",
3177
+ examples: ["@unbrained/pm-cli"]
3178
+ },
3179
+ json: {
3180
+ description: "Emit machine-readable JSON output."
3181
+ },
3182
+ quiet: {
3183
+ description: "Suppress stdout payload output."
3184
+ },
3185
+ noExtensions: {
3186
+ description: "Disable extension loading for this invocation."
3187
+ },
3188
+ noPager: {
3189
+ description: "Disable pager integration for help and long output."
3190
+ },
3191
+ profile: {
3192
+ description: "Emit deterministic timing diagnostics to stderr."
3193
+ },
3194
+ timeoutMs: {
3195
+ description: "Tool execution timeout in milliseconds.",
3196
+ examples: [12e4]
3197
+ },
3198
+ id: {
3199
+ description: "Item identifier for read or mutation actions.",
3200
+ examples: ["pm-a1b2"]
3201
+ },
3202
+ runId: {
3203
+ description: "Background test run identifier.",
3204
+ examples: ["tr-kq9x3f-93acde"]
3205
+ },
3206
+ title: {
3207
+ description: "Item title text."
3208
+ },
3209
+ description: {
3210
+ description: "Item description text."
3211
+ },
3212
+ type: {
3213
+ description: "Item type name from the active runtime type registry.",
3214
+ examples: ["Task", "Feature"]
3215
+ },
3216
+ subcommand: {
3217
+ description: "Subcommand selector for schema, profile, and telemetry actions."
3218
+ },
3219
+ name: {
3220
+ description: "Custom item type name (schema add-type/remove-type/show), custom status id (schema show-status/add-status/remove-status), custom field key (schema add-field/remove-field/show-field), or profile name (profile show/apply/lint).",
3221
+ examples: ["Spike", "review", "component"]
3222
+ },
3223
+ defaultStatus: {
3224
+ description: "Default status hint recorded for a custom item type.",
3225
+ examples: ["open"]
3226
+ },
3227
+ alias: {
3228
+ description: "Aliases for the custom item type or status (repeatable).",
3229
+ examples: [["spike", "research"]]
3230
+ },
3231
+ role: {
3232
+ description: "Lifecycle roles for a custom status (schema add-status): draft, active, blocked, terminal, terminal_done, terminal_canceled, default_open, default_close, default_cancel.",
3233
+ examples: [["active"], ["terminal", "terminal_done"]]
3234
+ },
3235
+ fieldType: {
3236
+ description: "Value type for a custom field (schema add-field): string, number, boolean, or string_array.",
3237
+ examples: ["string", "number", "string_array"]
3238
+ },
3239
+ commands: {
3240
+ description: "Commands a custom field is wired onto (schema add-field): create, update, update_many, list, search, calendar, context.",
3241
+ examples: [["create", "update"], ["create", "update", "list"]]
3242
+ },
3243
+ cliFlag: {
3244
+ description: "Override the auto-derived CLI flag for a custom field (schema add-field).",
3245
+ examples: ["--owner"]
3246
+ },
3247
+ required: {
3248
+ description: "Mark a custom field as always required (schema add-field)."
3249
+ },
3250
+ requiredOnCreate: {
3251
+ description: "Mark a custom field as required at create time (schema add-field)."
3252
+ },
3253
+ allowUnset: {
3254
+ description: "Whether a custom field may be cleared via --unset (schema add-field); defaults to true."
3255
+ },
3256
+ requiredTypes: {
3257
+ description: "Restrict a custom field's requirement to specific item types (schema add-field).",
3258
+ examples: [["Bug"], ["Story", "Spike"]]
3259
+ },
3260
+ infer: {
3261
+ description: "Infer custom item types from title-prefix conventions (schema add-type); previews unless apply is true."
3262
+ },
3263
+ minCount: {
3264
+ description: "Minimum number of items sharing a title prefix for schema add-type inference (default 10).",
3265
+ examples: [10, 25]
3266
+ },
3267
+ preset: {
3268
+ description: "Governance preset for initialization flows.",
3269
+ examples: ["minimal", "default", "strict"]
3270
+ },
3271
+ typePreset: {
3272
+ description: "Domain item-type preset registered during initialization.",
3273
+ examples: ["agile", "ops", "research"]
3274
+ },
3275
+ defaults: {
3276
+ description: "Use non-interactive setup defaults during initialization."
3277
+ },
3278
+ verbose: {
3279
+ description: "Include the full resolved settings tree in init output."
3280
+ },
3281
+ agentGuidance: {
3282
+ description: "Control AGENTS.md/CLAUDE.md guidance behavior during init: ask, add, skip, or status.",
3283
+ examples: ["ask", "add", "skip", "status"]
3284
+ },
3285
+ withPackages: {
3286
+ description: "Install all bundled first-party pm packages during initialization."
3287
+ },
3288
+ createMode: {
3289
+ description: "Create required-option policy mode.",
3290
+ examples: ["strict", "progressive"]
3291
+ },
3292
+ schedulePreset: {
3293
+ description: "Schedule-centric create preset for Reminder, Meeting, and Event types.",
3294
+ examples: ["lightweight"]
3295
+ },
3296
+ status: {
3297
+ description: "Item status value. Statuses are project-configurable via .agents/pm/settings.json (schema block); the built-in defaults are draft, open, in_progress, blocked, closed, canceled. Custom statuses defined for the project are accepted \u2014 discover the active set with the pm_contracts tool (workspace.statuses) or `pm contracts`. Unknown statuses are rejected at runtime with a did-you-mean hint rather than blocked by a fixed schema enum.",
3298
+ examples: ["open", "in_progress"]
3299
+ },
3300
+ priority: {
3301
+ description: "Priority value in range 0..4.",
3302
+ examples: [0, 1, "2"]
3303
+ },
3304
+ order: {
3305
+ description: "Planning order/rank value for create/update, or sort direction (asc|desc) for list-family sorting.",
3306
+ examples: [0, 1, "2", "asc", "desc"]
3307
+ },
3308
+ sort: {
3309
+ description: "List-family sort field selector.",
3310
+ examples: ["priority", "deadline", "updated_at", "created_at", "title", "parent"]
3311
+ },
3312
+ tags: {
3313
+ description: "Comma-delimited tag list.",
3314
+ examples: ["pm-cli,agent-ux"]
3315
+ },
3316
+ addTags: {
3317
+ description: "Tags to add to the existing list without replacing it. Each entry may be CSV or a JSON array.",
3318
+ examples: [["agent-ux"], ["fix", "security"]]
3319
+ },
3320
+ removeTags: {
3321
+ description: "Tags to remove from the existing list. Each entry may be CSV or a JSON array.",
3322
+ examples: [["stale"], ["legacy", "wontfix"]]
3323
+ },
3324
+ deadline: {
3325
+ description: "ISO/date timestamp or relative offset (+6h/+1d/+2w/+6m).",
3326
+ examples: ["2026-04-01T00:00:00.000Z", "+1d"]
3327
+ },
3328
+ reminder: {
3329
+ description: "Repeatable reminder seed entries at=<iso|relative>,text=<text>.",
3330
+ examples: [["at=+2d,text=Review PR"]]
3331
+ },
3332
+ event: {
3333
+ description: "Repeatable event seed entries start=<iso|relative> with end=<iso|relative> or duration=<relative|30min|PT30M>. Bare `m` remains months for backward compatibility.",
3334
+ examples: [
3335
+ ["start=2026-07-01T10:00:00Z,duration=2h,title=planning"],
3336
+ ["start=2026-07-01T10:00:00Z,duration=30min,title=standup"],
3337
+ ["start=2026-07-01T10:00:00Z,duration=PT30M,title=window"]
3338
+ ]
3339
+ },
3340
+ estimate: {
3341
+ description: "Estimated effort in minutes.",
3342
+ examples: [60, "120"]
3343
+ },
3344
+ acceptanceCriteria: {
3345
+ description: "Acceptance criteria text."
3346
+ },
3347
+ author: {
3348
+ description: "Mutation author identity.",
3349
+ examples: ["codex-agent"]
3350
+ },
3351
+ message: {
3352
+ description: "History message for mutation audit trail."
3353
+ },
3354
+ assignee: {
3355
+ description: "Assignee identity.",
3356
+ examples: ["codex-agent"]
3357
+ },
3358
+ assigneeFilter: {
3359
+ description: "Assignee presence selector for list/calendar/context/comments-audit filters.",
3360
+ examples: ["assigned", "unassigned"]
3361
+ },
3362
+ parent: {
3363
+ description: "Parent item ID filter for hierarchical list queries.",
3364
+ examples: ["pm-epic01"]
3365
+ },
3366
+ blockedLimit: {
3367
+ description: "Cap blocked rows returned by the next action (defaults to the ready --limit).",
3368
+ examples: ["3"]
3369
+ },
3370
+ readyOnly: {
3371
+ description: "When true, the next action omits the blocked companion list."
3372
+ },
3373
+ unset: {
3374
+ description: "Repeatable list of front-matter fields to clear explicitly during create/update mutations.",
3375
+ examples: [["deadline", "assignee"], ["close-reason"]]
3376
+ },
3377
+ clearDeps: {
3378
+ description: "When true, clear linked dependencies."
3379
+ },
3380
+ replaceDeps: {
3381
+ description: "When true for update, atomically replace dependencies with the supplied --dep values."
3382
+ },
3383
+ replaceTests: {
3384
+ description: "When true for update, atomically replace linked tests with the supplied --test values."
3385
+ },
3386
+ clearComments: {
3387
+ description: "When true, clear item comments."
3388
+ },
3389
+ clearNotes: {
3390
+ description: "When true, clear item notes."
3391
+ },
3392
+ clearLearnings: {
3393
+ description: "When true, clear item learnings."
3394
+ },
3395
+ clearFiles: {
3396
+ description: "When true, clear linked files."
3397
+ },
3398
+ clearTests: {
3399
+ description: "When true, clear linked tests."
3400
+ },
3401
+ clearDocs: {
3402
+ description: "When true, clear linked docs."
3403
+ },
3404
+ clearReminders: {
3405
+ description: "When true, clear reminders."
3406
+ },
3407
+ clearEvents: {
3408
+ description: "When true, clear events."
3409
+ },
3410
+ clearTypeOptions: {
3411
+ description: "When true, clear type option metadata."
3412
+ },
3413
+ clearCriteria: {
3414
+ description: "When true for config set criteria-list keys (definition-of-done, metadata-required-fields, lifecycle pattern lists), clear the criteria list."
3415
+ },
3416
+ mode: {
3417
+ description: "Mode selector for search/reindex (keyword|semantic|hybrid) and dedupe-audit (title_exact|title_fuzzy|parent_scope).",
3418
+ examples: ["keyword", "hybrid", "title_exact"]
3419
+ },
3420
+ semanticWeight: {
3421
+ description: "Per-query hybrid semantic weight override in [0,1] for search action; invalid values fall back to settings.",
3422
+ examples: [0.2, "0.7"]
3423
+ },
3424
+ op: {
3425
+ description: "History operation filter for activity output.",
3426
+ examples: ["create", "update", "close", "update_audit"]
3427
+ },
3428
+ fullPeriod: {
3429
+ description: "For day/week/month calendar views, include the full anchored period instead of clipping the start to now."
3430
+ },
3431
+ progress: {
3432
+ description: "Emit progress diagnostics to stderr for long-running operations."
3433
+ },
3434
+ background: {
3435
+ description: "Run linked tests in managed background mode."
3436
+ },
3437
+ addJson: {
3438
+ description: "Repeatable JSON object or array input for adding linked-test entries without CSV escaping loss.",
3439
+ examples: [[`{"command":"node scripts/run-tests.mjs test -- tests/unit/output.spec.ts","timeout_seconds":240}`]]
3440
+ },
3441
+ match: {
3442
+ description: "Run only linked tests whose command or path contains this case-insensitive substring.",
3443
+ examples: ["output.spec.ts", "coverage"]
3444
+ },
3445
+ onlyIndex: {
3446
+ description: "Run only the 1-based linked-test index from pm test <id> --list order.",
3447
+ examples: [1, "2"]
3448
+ },
3449
+ onlyLast: {
3450
+ description: "Run only the most recently added linked-test entry."
3451
+ },
3452
+ envSet: {
3453
+ description: "Repeatable runtime environment KEY=VALUE overrides for linked-test execution.",
3454
+ examples: [["PORT=0", "PLAYWRIGHT_HTML_OPEN=never"]]
3455
+ },
3456
+ envClear: {
3457
+ description: "Repeatable runtime environment variable names to clear before linked-test execution.",
3458
+ examples: [["PLAYWRIGHT_BASE_URL"]]
3459
+ },
3460
+ sharedHostSafe: {
3461
+ description: "Apply additive shared-host-safe runtime defaults during linked-test execution."
3462
+ },
3463
+ pmContext: {
3464
+ description: "PM linked-test context mode (schema keeps isolated tracker data; tracker seeds source tracker data; auto uses tracker for PM tracker-read linked commands).",
3465
+ examples: ["schema", "tracker", "auto"]
3466
+ },
3467
+ overrideLinkedPmContext: {
3468
+ description: "Force run-level --pm-context to override per-linked-test pm_context_mode metadata for all linked-test entries."
3469
+ },
3470
+ failOnContextMismatch: {
3471
+ description: "Fail linked PM command runs when source and sandbox tracker item counts differ."
3472
+ },
3473
+ failOnSkipped: {
3474
+ description: "Treat skipped linked tests as dependency-failed policy violations."
3475
+ },
3476
+ failOnEmptyTestRun: {
3477
+ description: "Treat successful linked-test commands that report zero executed tests as failures."
3478
+ },
3479
+ requireAssertionsForPm: {
3480
+ description: "Require assertion metadata for linked PM command test entries during run execution."
3481
+ },
3482
+ checkContext: {
3483
+ description: "Run linked PM command context preflight diagnostics before command execution."
3484
+ },
3485
+ autoPmContext: {
3486
+ description: "Auto-remediate PM tracker-read linked commands by routing those entries through tracker context regardless of linked-test pm_context_mode overrides."
3487
+ },
3488
+ dryRun: {
3489
+ description: "Preview command effects without mutating storage artifacts."
3490
+ },
3491
+ all: {
3492
+ description: "For history-repair action: scan every stream for drift and repair each drifted stream in one audited pass (mutually exclusive with id)."
3493
+ },
3494
+ clear: {
3495
+ description: "For focus action: clear the session focused item instead of setting it (mutually exclusive with id)."
3496
+ },
3497
+ gcScope: {
3498
+ description: "Repeatable gc scope selector values (index, embeddings, runtime, locks, checkpoints).",
3499
+ examples: [["index", "embeddings"], ["runtime"], ["locks"], ["checkpoints"]]
3500
+ },
3501
+ storage: {
3502
+ description: "For stats action: include aggregate history-stream storage metrics (total streams/lines/bytes, largest + deepest streams, oldest/newest entries) for compaction and storage planning."
3503
+ },
3504
+ fieldUtilization: {
3505
+ description: "For stats action: include a field_utilization block reporting present/total/percent for content fields (notes, learnings, files, docs, tests, comments, deps, body, linked_command) across all items so under-documented dimensions are visible at a glance."
3506
+ },
3507
+ offset: {
3508
+ description: "Number of matching rows to skip before limit is applied.",
3509
+ examples: [0, 50, "100"]
3510
+ },
3511
+ before: {
3512
+ description: "For history-compact, compact entries strictly before this boundary (version number or ISO timestamp). Single-id mode only.",
3513
+ examples: ["5", "2026-06-01T00:00:00.000Z"]
3514
+ },
3515
+ allOver: {
3516
+ description: "For history-compact bulk mode, compact every stream with more than N entries. When history.compact_policy is enabled and this is omitted, the policy's max_entries is used.",
3517
+ examples: [200, "500"]
3518
+ },
3519
+ minEntries: {
3520
+ description: "For history-compact bulk mode, skip streams with at most N entries as already-compact (default 3).",
3521
+ examples: [3, "10"]
3522
+ },
3523
+ closed: {
3524
+ description: "For history-compact bulk mode, compact only closed (terminal) items' history streams."
3525
+ },
3526
+ allStreams: {
3527
+ description: "For history-compact bulk mode, compact every history stream regardless of lifecycle state."
3528
+ },
3529
+ limitItems: {
3530
+ description: "Maximum number of filtered items to include in comments-audit output (alias: --limit).",
3531
+ examples: [10, "25"]
3532
+ },
3533
+ fullHistory: {
3534
+ description: "When true for comments-audit, export full per-item comment history rows; cannot be combined with latest."
3535
+ },
3536
+ latest: {
3537
+ description: "Number of most recent comments to include per item in comments-audit output (use 0 for summary-only item rows).",
3538
+ examples: [0, 1, "3"]
3539
+ },
3540
+ literal: {
3541
+ description: "Repeatable literal matcher used by history-redact to scrub exact string values.",
3542
+ examples: ["[redacted_path_prefix]/private/path"]
3543
+ },
3544
+ regex: {
3545
+ description: "Repeatable regex matcher used by history-redact. Accepts either /pattern/flags or a raw pattern (global mode is auto-enabled).",
3546
+ examples: ["/192\\\\.168\\\\.[0-9.]+/g", "token=[A-Za-z0-9_-]+"]
3547
+ },
3548
+ replacement: {
3549
+ description: 'Replacement text used by history-redact (defaults to "[redacted]").',
3550
+ examples: ["[scrubbed_path]"]
3551
+ },
3552
+ validateClose: {
3553
+ description: 'Close-time metadata validation mode ("off", "warn", or "strict").',
3554
+ examples: ["off", "warn", "strict"]
3555
+ },
3556
+ checkMetadata: {
3557
+ description: "Run metadata completeness checks."
3558
+ },
3559
+ metadataProfile: {
3560
+ description: "Select metadata validation profile for --check-metadata.",
3561
+ examples: ["core", "strict", "custom"]
3562
+ },
3563
+ checkResolution: {
3564
+ description: "Run closed-item resolution metadata checks."
3565
+ },
3566
+ checkLifecycle: {
3567
+ description: "Run active-item lifecycle governance drift checks."
3568
+ },
3569
+ checkStaleBlockers: {
3570
+ description: "Include stale blocker-pattern diagnostics in lifecycle checks."
3571
+ },
3572
+ dependencyCycleSeverity: {
3573
+ description: "Set dependency-cycle warning policy for lifecycle checks.",
3574
+ examples: ["off", "warn", "error"]
3575
+ },
3576
+ parentCycleSeverity: {
3577
+ description: "Set parent-cycle warning policy for lifecycle checks.",
3578
+ examples: ["off", "warn", "error"]
3579
+ },
3580
+ checkFiles: {
3581
+ description: "Run linked-file and orphaned-file checks."
3582
+ },
3583
+ strictDirectories: {
3584
+ description: "Treat optional item-type directories as required health failures."
3585
+ },
3586
+ checkOnly: {
3587
+ description: "For health action, run read-only diagnostics without refreshing vectors."
3588
+ },
3589
+ checkTelemetry: {
3590
+ description: "For health action, probe telemetry endpoint health and include network diagnostics."
3591
+ },
3592
+ noRefresh: {
3593
+ description: "For health action, skip vector refresh while still running checks."
3594
+ },
3595
+ refreshVectors: {
3596
+ description: "For health action, explicitly refresh stale vectors."
3597
+ },
3598
+ verboseStaleItems: {
3599
+ description: "For health action, include full stale-item arrays in vectorization details."
3600
+ },
3601
+ skipVectors: {
3602
+ description: "For health action, skip vectorization checks for a faster diagnostic run."
3603
+ },
3604
+ skipIntegrity: {
3605
+ description: "For health action, skip item/history file integrity checks for a faster diagnostic run."
3606
+ },
3607
+ skipDrift: {
3608
+ description: "For health action, skip history drift hash checks for a faster diagnostic run."
3609
+ },
3610
+ scanMode: {
3611
+ description: "Select file candidate scan mode for --check-files.",
3612
+ examples: ["default", "tracked-all", "tracked-all-strict"]
3613
+ },
3614
+ includePmInternals: {
3615
+ description: "Include PM storage internals in tracked-all candidate scans."
3616
+ },
3617
+ verboseFileLists: {
3618
+ description: "For validate action, include full file-path lists for --check-files details."
3619
+ },
3620
+ verboseDiagnostics: {
3621
+ description: "For validate action, include full diagnostic ID lists instead of compact summaries."
3622
+ },
3623
+ strictExit: {
3624
+ description: "Return non-zero exit when health/validate/extension-doctor warnings are present."
3625
+ },
3626
+ failOnWarn: {
3627
+ description: "Alias for strictExit in health/validate/extension-doctor action payloads."
3628
+ },
3629
+ fixHints: {
3630
+ description: "For validate action, add a machine-executable fix_hints[] of pm commands to each failing check's details."
3631
+ },
3632
+ autoFix: {
3633
+ description: "For validate action, apply the safe, deterministic subset of fix-hint remediations (field backfills) automatically; combine with dryRun to preview and fixScope to grant gated scopes."
3634
+ },
3635
+ fixScope: {
3636
+ description: "For validate action, grant --auto-fix scopes (metadata, resolution, estimates, lifecycle). Defaults to the safe scopes metadata and resolution; estimates (per-type default estimated_minutes backfill) and lifecycle must be named explicitly.",
3637
+ examples: [["estimates"], ["lifecycle"], ["metadata", "resolution"]]
3638
+ },
3639
+ pruneMissing: {
3640
+ description: "For validate action, remove stale linked-file/doc LINKS whose paths classified as deleted (link removal only \u2014 never touches real files); honors dryRun."
3641
+ },
3642
+ checkHistoryDrift: {
3643
+ description: "Run item/history hash drift checks."
3644
+ },
3645
+ checkCommandReferences: {
3646
+ description: "Run linked-command PM-ID reference checks."
3647
+ },
3648
+ allowAuditNote: {
3649
+ description: "For notes action, allow non-owner append-only note audits without requiring --force."
3650
+ },
3651
+ allowAuditLearning: {
3652
+ description: "For learnings action, allow non-owner append-only learning audits without requiring --force."
3653
+ },
3654
+ allowAuditComment: {
3655
+ description: "For comments action, allow non-owner append-only comment audits without requiring --force."
3656
+ },
3657
+ edit: {
3658
+ description: "For comments action, replace the comment at this 1-based index with the supplied replacement text (add/stdin/file)."
3659
+ },
3660
+ delete: {
3661
+ description: "For comments action, delete the comment at this 1-based index."
3662
+ },
3663
+ stdin: {
3664
+ description: "When true for comments action, read comment text from piped stdin (supports multiline markdown)."
3665
+ },
3666
+ file: {
3667
+ description: "Path to input file for actions that read payload text, such as comments --file.",
3668
+ examples: ["notes/comment.md"]
3669
+ },
3670
+ allowAuditUpdate: {
3671
+ description: "Allow non-owner metadata-only update audits without requiring --force."
3672
+ },
3673
+ allowAuditDepUpdate: {
3674
+ description: "Allow non-owner append-only dependency update audits without requiring --force."
3675
+ },
3676
+ allowAuditRelease: {
3677
+ description: "Allow non-owner release handoffs that clear assignee metadata without requiring --force."
3678
+ },
3679
+ preserveSourceIds: {
3680
+ description: "Preserve explicit source IDs during Beads imports instead of normalizing to tracker prefix.",
3681
+ examples: [true]
3682
+ },
3683
+ appendStable: {
3684
+ description: "When true for files action, preserve existing linked-file order and append new links without full-array resorting."
3685
+ },
3686
+ discover: {
3687
+ description: "When true for files action, use `pm files discover <id>` to scan item text for referenced file paths."
3688
+ },
3689
+ apply: {
3690
+ description: "Persist changes instead of returning a dry-run preview: for files discovery, add the missing discovered file links; for schema add-type --infer, register the inferred custom item types."
3691
+ },
3692
+ discoveryNote: {
3693
+ description: "Note attached to file links added by files discovery.",
3694
+ examples: ["discovered from item text"]
3695
+ },
3696
+ addNote: {
3697
+ description: "Note attached to every link added by add/addGlob in this call (per-entry embedded note= wins; requires add or addGlob). Maps to the CLI --note flag on pm files/pm docs.",
3698
+ examples: ["command wiring"]
3699
+ },
3700
+ list: {
3701
+ description: "When true, list command-specific entries without mutating state (for example linked paths for files/docs or topics for guide).",
3702
+ examples: [true]
3703
+ },
3704
+ stream: {
3705
+ description: "Stream selector: test-runs logs accepts stdout|stderr|both; activity accepts boolean/rows|ndjson|jsonl for line-delimited output.",
3706
+ examples: ["stderr", "stdout", "both", "rows", "ndjson", "jsonl", true]
3707
+ },
3708
+ tail: {
3709
+ description: "Number of lines to tail for background run logs.",
3710
+ examples: [100]
3711
+ },
3712
+ query: {
3713
+ description: "Search query text for search action."
3714
+ },
3715
+ keywords: {
3716
+ description: "Alias for query in search action payloads."
3717
+ },
3718
+ includeLinked: {
3719
+ description: "Include readable linked docs/files/tests content in keyword and hybrid lexical scoring."
3720
+ },
3721
+ titleExact: {
3722
+ description: "For search action, require exact normalized title match for the full query string."
3723
+ },
3724
+ phraseExact: {
3725
+ description: "For search action, require exact normalized query phrase match in item text fields."
3726
+ },
3727
+ highlight: {
3728
+ description: "For search action, emit per-field matched-text snippets (wrapped in \xAB\u2026\xBB) on each hit. Off by default."
3729
+ },
3730
+ includeBody: {
3731
+ description: "When true for list-family actions, include item body text in projected rows."
3732
+ },
3733
+ noTruncate: {
3734
+ description: "When true for list-family actions, return every matched row, overriding any limit (surfaces total when rows were dropped)."
3735
+ },
3736
+ compact: {
3737
+ description: "Render compact projection output for search and list-family actions."
3738
+ },
3739
+ brief: {
3740
+ description: "Emit compact low-token output for commands that support terse projections or health details.",
3741
+ examples: [true]
3742
+ },
3743
+ full: {
3744
+ description: "Enable command-specific full/detail output mode when supported, such as deep item reads for get or full payload mode for search/history."
3745
+ },
3746
+ fields: {
3747
+ description: "Comma-separated projection fields for get, search, list-family, or context outputs. Valid field names are command-specific (e.g. score/matched_fields apply to search; context projects focus-row fields such as priority/deadline/completion_pct).",
3748
+ examples: ["id,title,status,parent,type", "id,title,score,matched_fields", "id,title,priority,deadline"]
3749
+ },
3750
+ groupBy: {
3751
+ description: "Comma-separated aggregate grouping fields (supported: parent,type,priority,status,assignee,tags,sprint,release).",
3752
+ examples: ["parent,type", "type,status", "priority,assignee", "tags", "sprint,release"]
3753
+ },
3754
+ count: {
3755
+ description: "Enable grouped count output for aggregate action."
3756
+ },
3757
+ completion: {
3758
+ description: "For aggregate action, add open/in_progress/closed/other counts and completion_pct per group."
3759
+ },
3760
+ sum: {
3761
+ description: "Numeric field to sum per aggregate group (count and null_count are still returned).",
3762
+ examples: ["estimated_minutes", "priority"]
3763
+ },
3764
+ avg: {
3765
+ description: "Numeric field to average per aggregate group (count and null_count are still returned).",
3766
+ examples: ["estimated_minutes", "priority"]
3767
+ },
3768
+ tree: {
3769
+ description: "When true for list/get actions, render recursive parent/child tree ordering."
3770
+ },
3771
+ treeDepth: {
3772
+ description: "Maximum recursion depth for tree output (0 keeps root rows only).",
3773
+ examples: [0, 1, "2"]
3774
+ },
3775
+ includeUnparented: {
3776
+ description: "Include unparented rows when aggregate grouping includes parent."
3777
+ },
3778
+ maxDepth: {
3779
+ description: "Maximum dependency traversal depth for deps action (0 keeps only the root node).",
3780
+ examples: [0, 1, "2"]
3781
+ },
3782
+ collapse: {
3783
+ description: 'Dependency tree collapse mode for deps action ("none" or "repeated").',
3784
+ examples: ["none", "repeated"]
3785
+ },
3786
+ summary: {
3787
+ description: "When true for deps action, return counts only without full tree/graph payloads."
3788
+ },
3789
+ threshold: {
3790
+ description: "Dedupe-audit fuzzy title similarity threshold between 0 and 1.",
3791
+ examples: [0.5, "0.75"]
3792
+ },
3793
+ shell: {
3794
+ description: "Shell target for completion generation.",
3795
+ examples: ["bash"]
3796
+ },
3797
+ eagerTags: {
3798
+ description: "When true for completion, eagerly embed current tracker tags into generated scripts (legacy mode)."
3799
+ },
3800
+ contractAction: {
3801
+ description: "Filter contracts schema to one tool action.",
3802
+ examples: ["create", "update"]
3803
+ },
3804
+ command: {
3805
+ description: "Scope contracts output to one CLI command name; action/schema surfaces narrow by default.",
3806
+ examples: ["create", "search", "list"]
3807
+ },
3808
+ schemaOnly: {
3809
+ description: "When true, contracts action returns schema-focused payloads (mutually exclusive with flagsOnly/availabilityOnly)."
3810
+ },
3811
+ flagsOnly: {
3812
+ description: "When true, contracts action returns only command flag surface payloads (mutually exclusive projection mode)."
3813
+ },
3814
+ availabilityOnly: {
3815
+ description: "When true, contracts action returns only action availability payloads (mutually exclusive projection mode)."
3816
+ },
3817
+ runtimeOnly: {
3818
+ description: "When true, contracts action only includes actions invocable in the current runtime."
3819
+ },
3820
+ activeOnly: {
3821
+ description: "Alias for runtimeOnly in contracts action payloads."
3822
+ },
3823
+ depth: {
3824
+ description: "Context depth level controlling how many sections are included (brief=focus+agenda, standard=+hierarchy/activity/progress/workload, deep=all sections, full=every section with no per-section row cap).",
3825
+ examples: ["brief", "standard", "deep", "full"]
3826
+ },
3827
+ section: {
3828
+ description: "Repeatable section selector for context; overrides --depth when provided.",
3829
+ examples: [["hierarchy", "activity"], ["blockers", "files", "staleness"]]
3830
+ },
3831
+ activityLimit: {
3832
+ description: "Maximum number of recent activity entries to include in context output.",
3833
+ examples: [5, 10, "20"]
3834
+ },
3835
+ staleThreshold: {
3836
+ description: "Staleness cutoff in days for context staleness section (e.g. 7 or 7d).",
3837
+ examples: ["7", "14d", "30"]
3749
3838
  }
3750
- const [rootCommand, lifecycleSubcommand, ...extraParts] = normalized.split(/\s+/);
3751
- if ((rootCommand === "extension" || rootCommand === "package" || rootCommand === "packages") && lifecycleSubcommand && extraParts.length === 0) {
3752
- switch (lifecycleSubcommand) {
3753
- case "init":
3754
- return withSubcommandGlobalFlags(EXTENSION_INIT_FLAG_CONTRACTS);
3755
- case "install":
3756
- return withSubcommandGlobalFlags(EXTENSION_INSTALL_FLAG_CONTRACTS);
3757
- case "uninstall":
3758
- return withSubcommandGlobalFlags(EXTENSION_UNINSTALL_FLAG_CONTRACTS);
3759
- case "explore":
3760
- return withSubcommandGlobalFlags(EXTENSION_EXPLORE_FLAG_CONTRACTS);
3761
- case "manage":
3762
- return withSubcommandGlobalFlags(EXTENSION_MANAGE_FLAG_CONTRACTS);
3763
- case "describe":
3764
- return withSubcommandGlobalFlags(EXTENSION_DESCRIBE_FLAG_CONTRACTS);
3765
- case "reload":
3766
- return withSubcommandGlobalFlags(EXTENSION_RELOAD_FLAG_CONTRACTS);
3767
- case "doctor":
3768
- return withSubcommandGlobalFlags(EXTENSION_DOCTOR_FLAG_CONTRACTS);
3769
- case "catalog":
3770
- return withSubcommandGlobalFlags(EXTENSION_CATALOG_FLAG_CONTRACTS);
3771
- case "adopt":
3772
- return withSubcommandGlobalFlags(EXTENSION_ADOPT_FLAG_CONTRACTS);
3773
- case "adopt-all":
3774
- return withSubcommandGlobalFlags(EXTENSION_ADOPT_ALL_FLAG_CONTRACTS);
3775
- case "activate":
3776
- return withSubcommandGlobalFlags(EXTENSION_ACTIVATE_FLAG_CONTRACTS);
3777
- case "deactivate":
3778
- return withSubcommandGlobalFlags(EXTENSION_DEACTIVATE_FLAG_CONTRACTS);
3779
- default:
3780
- return withSubcommandGlobalFlags([]);
3839
+ };
3840
+ var PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA = {
3841
+ schema: {
3842
+ name: {
3843
+ description: "Custom item type name (add-type/remove-type/show), custom status id (show-status/add-status/remove-status), or custom field key (add-field/remove-field/show-field). Required for those subcommands.",
3844
+ examples: ["Spike", "review", "component"]
3845
+ }
3846
+ },
3847
+ profile: {
3848
+ name: {
3849
+ description: "Profile name for show/apply/lint. Built-in profiles are agile, ops, and research; an active extension can contribute additional archetype names that resolve here too.",
3850
+ examples: ["agile", "ops", "research"]
3781
3851
  }
3782
3852
  }
3783
- switch (normalized) {
3784
- case "init":
3785
- return withSubcommandGlobalFlags(INIT_FLAG_CONTRACTS);
3786
- case "config":
3787
- return withSubcommandGlobalFlags(CONFIG_FLAG_CONTRACTS);
3788
- case "extension":
3789
- case "package":
3790
- case "packages":
3791
- return withSubcommandGlobalFlags(EXTENSION_FLAG_CONTRACTS);
3792
- case "install":
3793
- return withSubcommandGlobalFlags(INSTALL_FLAG_CONTRACTS);
3794
- case "upgrade":
3795
- return withSubcommandGlobalFlags(UPGRADE_FLAG_CONTRACTS);
3796
- case "create":
3797
- return withSubcommandGlobalFlags(CREATE_FLAG_CONTRACTS);
3798
- case "copy":
3799
- return withSubcommandGlobalFlags(COPY_FLAG_CONTRACTS);
3800
- case "focus":
3801
- return withSubcommandGlobalFlags(FOCUS_FLAG_CONTRACTS);
3802
- case "aggregate":
3803
- return withSubcommandGlobalFlags(AGGREGATE_FLAG_CONTRACTS);
3804
- case "calendar":
3805
- return withSubcommandGlobalFlags(CALENDAR_FLAG_CONTRACTS);
3806
- case "context":
3807
- return withSubcommandGlobalFlags(CONTEXT_FLAG_CONTRACTS);
3808
- case "get":
3809
- return withSubcommandGlobalFlags(GET_FLAG_CONTRACTS);
3810
- case "search":
3811
- return withSubcommandGlobalFlags(SEARCH_FLAG_CONTRACTS);
3812
- case "eval":
3813
- return withSubcommandGlobalFlags(EVAL_FLAG_CONTRACTS);
3814
- case "history":
3815
- return withSubcommandGlobalFlags(HISTORY_FLAG_CONTRACTS);
3816
- case "history-redact":
3817
- return withSubcommandGlobalFlags(HISTORY_REDACT_FLAG_CONTRACTS);
3818
- case "history-repair":
3819
- return withSubcommandGlobalFlags(HISTORY_REPAIR_FLAG_CONTRACTS);
3820
- case "history-compact":
3821
- return withSubcommandGlobalFlags(HISTORY_COMPACT_FLAG_CONTRACTS);
3822
- case "schema":
3823
- return withSubcommandGlobalFlags(SCHEMA_FLAG_CONTRACTS);
3824
- case "plan":
3825
- return withSubcommandGlobalFlags(PLAN_FLAG_CONTRACTS);
3826
- case "activity":
3827
- return withSubcommandGlobalFlags(ACTIVITY_FLAG_CONTRACTS);
3828
- case "restore":
3829
- return withSubcommandGlobalFlags(RESTORE_FLAG_CONTRACTS);
3830
- case "update":
3831
- return withSubcommandGlobalFlags(UPDATE_FLAG_CONTRACTS);
3832
- case "update-many":
3833
- return withSubcommandGlobalFlags(UPDATE_MANY_FLAG_CONTRACTS);
3834
- case "close":
3835
- return withSubcommandGlobalFlags(CLOSE_FLAG_CONTRACTS);
3836
- case "close-many":
3837
- return withSubcommandGlobalFlags(CLOSE_MANY_FLAG_CONTRACTS);
3838
- case "delete":
3839
- return withSubcommandGlobalFlags(DELETE_FLAG_CONTRACTS);
3840
- case "append":
3841
- return withSubcommandGlobalFlags(APPEND_FLAG_CONTRACTS);
3842
- case "comments":
3843
- return withSubcommandGlobalFlags(COMMENTS_FLAG_CONTRACTS);
3844
- case "notes":
3845
- return withSubcommandGlobalFlags(NOTES_FLAG_CONTRACTS);
3846
- case "learnings":
3847
- return withSubcommandGlobalFlags(LEARNINGS_FLAG_CONTRACTS);
3848
- case "files":
3849
- return withSubcommandGlobalFlags(FILES_FLAG_CONTRACTS);
3850
- case "docs":
3851
- return withSubcommandGlobalFlags(DOCS_FLAG_CONTRACTS);
3852
- case "deps":
3853
- return withSubcommandGlobalFlags(DEPS_FLAG_CONTRACTS);
3854
- case "test":
3855
- return withSubcommandGlobalFlags(TEST_FLAG_CONTRACTS);
3856
- case "test-all":
3857
- return withSubcommandGlobalFlags(TEST_ALL_FLAG_CONTRACTS);
3858
- case "telemetry":
3859
- return withSubcommandGlobalFlags(TELEMETRY_FLAG_CONTRACTS);
3860
- case "health":
3861
- return withSubcommandGlobalFlags(HEALTH_FLAG_CONTRACTS);
3862
- case "validate":
3863
- return withSubcommandGlobalFlags(VALIDATE_FLAG_CONTRACTS);
3864
- case "gc":
3865
- return withSubcommandGlobalFlags(GC_FLAG_CONTRACTS);
3866
- case "stats":
3867
- return withSubcommandGlobalFlags(STATS_FLAG_CONTRACTS);
3868
- case "contracts":
3869
- return withSubcommandGlobalFlags(CONTRACTS_FLAG_CONTRACTS);
3870
- case "claim":
3871
- return withSubcommandGlobalFlags(CLAIM_FLAG_CONTRACTS);
3872
- case "release":
3873
- return withSubcommandGlobalFlags(RELEASE_FLAG_CONTRACTS);
3874
- case "start-task":
3875
- return withSubcommandGlobalFlags(START_TASK_FLAG_CONTRACTS);
3876
- case "pause-task":
3877
- return withSubcommandGlobalFlags(PAUSE_TASK_FLAG_CONTRACTS);
3878
- case "close-task":
3879
- return withSubcommandGlobalFlags(CLOSE_TASK_FLAG_CONTRACTS);
3880
- case "meet":
3881
- return withSubcommandGlobalFlags(MEET_FLAG_CONTRACTS);
3882
- case "event":
3883
- return withSubcommandGlobalFlags(EVENT_FLAG_CONTRACTS);
3884
- case "remind":
3885
- return withSubcommandGlobalFlags(REMIND_FLAG_CONTRACTS);
3886
- default:
3887
- return withSubcommandGlobalFlags([]);
3853
+ };
3854
+
3855
+ // dist/sdk/cli-contracts/tool-schema.js
3856
+ !(function() {
3857
+ try {
3858
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
3859
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "5c1fba35-3cb1-5029-847a-047dabe7014e");
3860
+ } catch (e2) {
3888
3861
  }
3889
- }
3862
+ })();
3890
3863
  var PM_TOOL_GLOBAL_PARAMETER_KEYS = [
3891
3864
  "json",
3892
3865
  "quiet",
@@ -3987,6 +3960,20 @@ var SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
3987
3960
  "full",
3988
3961
  ...TOOL_SEARCH_FILTER_OPTION_CONTRACTS.map((entry) => entry.param)
3989
3962
  ]);
3963
+ var NEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
3964
+ "type",
3965
+ "tag",
3966
+ "priority",
3967
+ "assignee",
3968
+ "assigneeFilter",
3969
+ "sprint",
3970
+ "release",
3971
+ "parent",
3972
+ "limit",
3973
+ "blockedLimit",
3974
+ "readyOnly",
3975
+ "format"
3976
+ ]);
3990
3977
  var AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = ["author", "message", "force"];
3991
3978
  var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
3992
3979
  init: { optional: ["prefix", "preset", "typePreset", "defaults", "author", "agentGuidance", "withPackages", "force", "verbose"] },
@@ -4002,7 +3989,7 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4002
3989
  "extension-uninstall": { required: ["target"], optional: ["scope"] },
4003
3990
  "extension-explore": { optional: ["scope"] },
4004
3991
  "extension-manage": { optional: ["scope", "runtimeProbe", "fixManagedState"] },
4005
- "extension-describe": { optional: ["target", "scope"] },
3992
+ "extension-describe": { optional: ["target", "scope", "markdown", "output"] },
4006
3993
  "extension-reload": { optional: ["scope", "watch"] },
4007
3994
  "extension-doctor": { optional: ["scope", "detail", "trace", "fixManagedState", "strictExit", "failOnWarn"] },
4008
3995
  "extension-catalog": { optional: ["scope", "fields"] },
@@ -4022,6 +4009,8 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4022
4009
  "explore",
4023
4010
  "manage",
4024
4011
  "describe",
4012
+ "markdown",
4013
+ "output",
4025
4014
  "reload",
4026
4015
  "doctor",
4027
4016
  "catalog",
@@ -4046,7 +4035,7 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4046
4035
  "package-uninstall": { required: ["target"], optional: ["scope"] },
4047
4036
  "package-explore": { optional: ["scope"] },
4048
4037
  "package-manage": { optional: ["scope", "runtimeProbe", "fixManagedState"] },
4049
- "package-describe": { optional: ["target", "scope"] },
4038
+ "package-describe": { optional: ["target", "scope", "markdown", "output"] },
4050
4039
  "package-reload": { optional: ["scope", "watch"] },
4051
4040
  "package-doctor": { optional: ["scope", "detail", "trace", "fixManagedState", "strictExit", "failOnWarn"] },
4052
4041
  "package-catalog": { optional: ["scope", "fields"] },
@@ -4066,6 +4055,8 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4066
4055
  "explore",
4067
4056
  "manage",
4068
4057
  "describe",
4058
+ "markdown",
4059
+ "output",
4069
4060
  "reload",
4070
4061
  "doctor",
4071
4062
  "catalog",
@@ -4105,7 +4096,7 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4105
4096
  "list-canceled": { optional: LIST_CONTRACT_PARAMETER_KEYS },
4106
4097
  aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },
4107
4098
  "dedupe-audit": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },
4108
- guide: { optional: ["format", "depth"] },
4099
+ guide: { optional: ["list", "format", "depth"] },
4109
4100
  context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },
4110
4101
  ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },
4111
4102
  get: { required: ["id"], optional: ["depth", "full", "fields", "tree", "treeDepth", "format"] },
@@ -4113,6 +4104,7 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4113
4104
  optional: SEARCH_CONTRACT_PARAMETER_KEYS,
4114
4105
  anyOfRequired: [["query"], ["keywords"]]
4115
4106
  },
4107
+ next: { optional: NEXT_CONTRACT_PARAMETER_KEYS },
4116
4108
  reindex: { optional: ["mode", "progress"] },
4117
4109
  history: { required: ["id"], optional: ["limit", "compact", "full", "diff", "verify", "format"] },
4118
4110
  "history-redact": {
@@ -4174,6 +4166,16 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4174
4166
  { property: "subcommand", value: "apply-preset", required: ["typePreset"] }
4175
4167
  ]
4176
4168
  },
4169
+ profile: {
4170
+ required: ["subcommand"],
4171
+ // No --message: profile staging writes config/schema files, not item history.
4172
+ optional: ["name", "dryRun", "author", "force"],
4173
+ conditionalRequired: [
4174
+ { property: "subcommand", value: "show", required: ["name"] },
4175
+ { property: "subcommand", value: "apply", required: ["name"] },
4176
+ { property: "subcommand", value: "lint", required: ["name"] }
4177
+ ]
4178
+ },
4177
4179
  plan: {
4178
4180
  required: ["subcommand"],
4179
4181
  optional: [
@@ -4236,7 +4238,20 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4236
4238
  update: { required: ["id"], optional: UPDATE_CONTRACT_PARAMETER_KEYS },
4237
4239
  "update-many": { optional: UPDATE_MANY_CONTRACT_PARAMETER_KEYS },
4238
4240
  normalize: { optional: NORMALIZE_CONTRACT_PARAMETER_KEYS },
4239
- close: { required: ["id"], optional: ["text", "duplicateOf", "validateClose", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
4241
+ close: {
4242
+ required: ["id"],
4243
+ optional: [
4244
+ "text",
4245
+ "reason",
4246
+ "closeReason",
4247
+ "duplicateOf",
4248
+ "validateClose",
4249
+ "resolution",
4250
+ "expectedResult",
4251
+ "actualResult",
4252
+ ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS
4253
+ ]
4254
+ },
4240
4255
  "close-many": { optional: CLOSE_MANY_CONTRACT_PARAMETER_KEYS },
4241
4256
  delete: { required: ["id"], optional: ["dryRun", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
4242
4257
  append: { required: ["id", "body"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
@@ -4276,6 +4291,7 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4276
4291
  "addGlob",
4277
4292
  "remove",
4278
4293
  "migrate",
4294
+ "list",
4279
4295
  // GH-170 (pm-pfnx): `addNote` is the MCP spelling of the CLI --note flag
4280
4296
  // (the shared `note` parameter is the array-typed create/update note
4281
4297
  // seed, so files/docs use a distinct single-string key).
@@ -4386,6 +4402,7 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4386
4402
  "noRefresh",
4387
4403
  "refreshVectors",
4388
4404
  "verboseStaleItems",
4405
+ "brief",
4389
4406
  "summary",
4390
4407
  "skipVectors",
4391
4408
  "skipIntegrity",
@@ -4401,6 +4418,7 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4401
4418
  "checkLifecycle",
4402
4419
  "checkStaleBlockers",
4403
4420
  "dependencyCycleSeverity",
4421
+ "parentCycleSeverity",
4404
4422
  "checkFiles",
4405
4423
  "scanMode",
4406
4424
  "includePmInternals",
@@ -4419,13 +4437,13 @@ var PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
4419
4437
  ]
4420
4438
  },
4421
4439
  gc: { optional: ["dryRun", "gcScope"] },
4422
- contracts: { optional: ["contractAction", "command", "schemaOnly", "flagsOnly", "availabilityOnly", "runtimeOnly", "activeOnly"] },
4440
+ contracts: { optional: ["contractAction", "command", "schemaOnly", "flagsOnly", "availabilityOnly", "runtimeOnly", "activeOnly", "full"] },
4423
4441
  completion: { required: ["shell"], optional: ["eagerTags"] },
4424
4442
  claim: { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
4425
4443
  release: { required: ["id"], optional: ["allowAuditRelease", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
4426
4444
  "start-task": { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
4427
4445
  "pause-task": { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
4428
- "close-task": { required: ["id"], optional: ["text", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] }
4446
+ "close-task": { required: ["id"], optional: ["text", "validateClose", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] }
4429
4447
  };
4430
4448
  var PM_TOOL_ACTION_PARAMETER_CONTRACTS = Object.freeze(Object.fromEntries(PM_TOOL_ACTIONS.map((action) => [action, PM_TOOL_ACTION_SCHEMA_CONTRACTS[action]])));
4431
4449
  function fallbackToolParameterDescription(key) {
@@ -4444,6 +4462,10 @@ function actionScopedToolParameterMetadata(action, key) {
4444
4462
  if (action === "plan" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_METADATA, key)) {
4445
4463
  return PLAN_ACTION_PARAMETER_METADATA[key];
4446
4464
  }
4465
+ const actionOverrides = PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA[action];
4466
+ if (actionOverrides && Object.prototype.hasOwnProperty.call(actionOverrides, key)) {
4467
+ return actionOverrides[key];
4468
+ }
4447
4469
  return PM_TOOL_PARAMETER_METADATA[key];
4448
4470
  }
4449
4471
  function decorateActionScopedToolParameterDefinition(action, key, definition) {
@@ -4464,12 +4486,7 @@ function actionScopedToolParameterDefinition(action, key) {
4464
4486
  }
4465
4487
  return PM_TOOL_PARAMETER_PROPERTIES[key];
4466
4488
  }
4467
- function buildActionScopedToolSchema(action) {
4468
- const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];
4469
- const required = toSchemaKeyList(contract.required ?? []);
4470
- const optional = toSchemaKeyList(contract.optional ?? []);
4471
- const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];
4472
- const allowedKeys = toSchemaKeyList(["action", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);
4489
+ function buildActionScopedSchemaProperties(action, allowedKeys) {
4473
4490
  const properties = {
4474
4491
  action: {
4475
4492
  const: action,
@@ -4485,48 +4502,42 @@ function buildActionScopedToolSchema(action) {
4485
4502
  properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);
4486
4503
  }
4487
4504
  }
4488
- const schema = {
4489
- type: "object",
4490
- additionalProperties: false,
4491
- required: ["action", ...required],
4492
- title: `pm action "${action}" parameters`,
4493
- properties
4494
- };
4495
- if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {
4496
- schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({
4497
- required: [...requiredFields]
4498
- }));
4499
- }
4500
- const oneOfRequiredGroups = contract.oneOfRequired;
4501
- if (oneOfRequiredGroups && oneOfRequiredGroups.length > 0) {
4502
- const allOneOfFields = oneOfRequiredGroups.flat();
4503
- schema.oneOf = oneOfRequiredGroups.map((requiredFields) => {
4504
- const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));
4505
- return {
4506
- required: [...requiredFields],
4507
- ...otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {},
4508
- ...action === "history-repair" && requiredFields.includes("all") ? { properties: { all: { const: true } } } : {}
4509
- };
4510
- });
4511
- }
4505
+ return properties;
4506
+ }
4507
+ function buildOneOfSchemaEntries(action, oneOfRequiredGroups) {
4508
+ const allOneOfFields = oneOfRequiredGroups.flat();
4509
+ return oneOfRequiredGroups.map((requiredFields) => {
4510
+ const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));
4511
+ return {
4512
+ required: [...requiredFields],
4513
+ ...otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {},
4514
+ ...action === "history-repair" && requiredFields.includes("all") ? { properties: { all: { const: true } } } : {}
4515
+ };
4516
+ });
4517
+ }
4518
+ function buildActionScopedAllOf(contract) {
4519
+ const allOf = [];
4512
4520
  if (contract.conditionalRequired && contract.conditionalRequired.length > 0) {
4513
- schema.allOf = contract.conditionalRequired.map((entry) => ({
4514
- if: {
4515
- properties: {
4516
- [entry.property]: { const: entry.value }
4521
+ for (const entry of contract.conditionalRequired) {
4522
+ allOf.push({
4523
+ if: {
4524
+ properties: {
4525
+ [entry.property]: { const: entry.value }
4526
+ },
4527
+ required: [entry.property]
4517
4528
  },
4518
- required: [entry.property]
4519
- },
4520
- then: {
4521
- required: entry.required
4522
- }
4523
- }));
4529
+ // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.
4530
+ then: {
4531
+ required: entry.required
4532
+ }
4533
+ });
4534
+ }
4524
4535
  }
4525
4536
  if (contract.dependentAnyOfRequired && contract.dependentAnyOfRequired.length > 0) {
4526
- const allOf = Array.isArray(schema.allOf) ? [...schema.allOf] : [];
4527
4537
  for (const entry of contract.dependentAnyOfRequired) {
4528
4538
  allOf.push({
4529
4539
  if: { required: [entry.property] },
4540
+ // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.
4530
4541
  then: {
4531
4542
  anyOf: entry.anyOfRequired.map((requiredFields) => ({
4532
4543
  required: [...requiredFields]
@@ -4534,13 +4545,37 @@ function buildActionScopedToolSchema(action) {
4534
4545
  }
4535
4546
  });
4536
4547
  }
4537
- schema.allOf = allOf;
4538
4548
  }
4539
4549
  if (contract.mutuallyExclusive && contract.mutuallyExclusive.length > 0) {
4540
- const allOf = Array.isArray(schema.allOf) ? [...schema.allOf] : [];
4541
4550
  for (const group of contract.mutuallyExclusive) {
4542
4551
  allOf.push({ not: { required: toSchemaKeyList(group) } });
4543
4552
  }
4553
+ }
4554
+ return allOf;
4555
+ }
4556
+ function buildActionScopedToolSchema(action) {
4557
+ const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];
4558
+ const required = toSchemaKeyList(contract.required ?? []);
4559
+ const optional = toSchemaKeyList(contract.optional ?? []);
4560
+ const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];
4561
+ const allowedKeys = toSchemaKeyList(["action", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);
4562
+ const schema = {
4563
+ type: "object",
4564
+ additionalProperties: false,
4565
+ required: ["action", ...required],
4566
+ title: `pm action "${action}" parameters`,
4567
+ properties: buildActionScopedSchemaProperties(action, allowedKeys)
4568
+ };
4569
+ if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {
4570
+ schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({
4571
+ required: [...requiredFields]
4572
+ }));
4573
+ }
4574
+ if (contract.oneOfRequired && contract.oneOfRequired.length > 0) {
4575
+ schema.oneOf = buildOneOfSchemaEntries(action, contract.oneOfRequired);
4576
+ }
4577
+ const allOf = buildActionScopedAllOf(contract);
4578
+ if (allOf.length > 0) {
4544
4579
  schema.allOf = allOf;
4545
4580
  }
4546
4581
  return schema;
@@ -4561,7 +4596,7 @@ function createLazyContractSchema(build) {
4561
4596
  }
4562
4597
  });
4563
4598
  }
4564
- var PM_TOOL_PARAMETERS_SCHEMA_VERSION = "4.0.3";
4599
+ var PM_TOOL_PARAMETERS_SCHEMA_VERSION = "4.0.6";
4565
4600
  var PM_TOOL_PARAMETERS_SCHEMA_MAJOR = PM_TOOL_PARAMETERS_SCHEMA_VERSION.split(".")[0];
4566
4601
  var PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION = "1.0.0";
4567
4602
  var PM_TOOL_PARAMETERS_SCHEMA = createLazyContractSchema(() => ({
@@ -4582,8 +4617,8 @@ function toProviderCompatibleParameterDefinition(key, definition) {
4582
4617
  if (firstTypedVariant) {
4583
4618
  const { anyOf: _anyOf2, ...rest2 } = decorated;
4584
4619
  return {
4585
- ...rest2,
4586
- type: firstTypedVariant.type
4620
+ ...firstTypedVariant,
4621
+ ...rest2
4587
4622
  };
4588
4623
  }
4589
4624
  const { anyOf: _anyOf, ...rest } = decorated;
@@ -4618,11 +4653,21 @@ function buildProviderCompatibleToolSchema() {
4618
4653
  }
4619
4654
  var PM_PROVIDER_TOOL_PARAMETERS_SCHEMA = createLazyContractSchema(buildProviderCompatibleToolSchema);
4620
4655
 
4656
+ // dist/sdk/cli-contracts.js
4657
+ !(function() {
4658
+ try {
4659
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
4660
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "b8aa5310-bff0-59b5-9a34-c6fc6a46582d");
4661
+ } catch (e2) {
4662
+ }
4663
+ })();
4664
+
4621
4665
  export {
4622
4666
  LIST_COMMANDER_STRING_OPTION_CONTRACTS,
4623
4667
  SEARCH_COMMANDER_STRING_OPTION_CONTRACTS,
4624
4668
  CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS,
4625
4669
  CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS,
4670
+ NEXT_COMMANDER_STRING_OPTION_CONTRACTS,
4626
4671
  ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS,
4627
4672
  readFirstStringFromCommanderOptions,
4628
4673
  readFirstValueFromCommanderOptions,
@@ -4658,11 +4703,14 @@ export {
4658
4703
  HISTORY_REPAIR_FLAG_CONTRACTS,
4659
4704
  HISTORY_COMPACT_FLAG_CONTRACTS,
4660
4705
  SCHEMA_FLAG_CONTRACTS,
4706
+ PROFILE_FLAG_CONTRACTS,
4661
4707
  PLAN_FLAG_CONTRACTS,
4662
4708
  INIT_FLAG_CONTRACTS,
4663
4709
  CONFIG_FLAG_CONTRACTS,
4664
4710
  EXTENSION_FLAG_CONTRACTS,
4665
4711
  EXTENSION_INIT_FLAG_CONTRACTS,
4712
+ PACKAGE_FLAG_CONTRACTS,
4713
+ PACKAGE_INIT_FLAG_CONTRACTS,
4666
4714
  EXTENSION_INSTALL_FLAG_CONTRACTS,
4667
4715
  EXTENSION_UNINSTALL_FLAG_CONTRACTS,
4668
4716
  EXTENSION_EXPLORE_FLAG_CONTRACTS,
@@ -4707,10 +4755,11 @@ export {
4707
4755
  GUIDE_FLAG_CONTRACTS,
4708
4756
  DEPS_FLAG_CONTRACTS,
4709
4757
  EVAL_FLAG_CONTRACTS,
4758
+ NEXT_FLAG_CONTRACTS,
4710
4759
  SEARCH_FLAG_CONTRACTS,
4711
4760
  CONTRACTS_FLAG_CONTRACTS,
4712
4761
  COMPLETION_FLAG_CONTRACTS,
4713
4762
  resolveSubcommandFlagContractsForCommand,
4714
4763
  PM_TOOL_PARAMETERS_SCHEMA
4715
4764
  };
4716
- //# sourceMappingURL=chunk-SMXSDY7J.js.map
4765
+ //# sourceMappingURL=chunk-MDPEOIGN.js.map