@unbrained/pm-cli 2026.7.8 → 2026.7.10

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 (446) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +1 -0
  3. package/dist/cli/bootstrap-args.js +6 -3
  4. package/dist/cli/bootstrap-args.js.map +1 -1
  5. package/dist/cli/commands/close.js +5 -2
  6. package/dist/cli/commands/close.js.map +1 -1
  7. package/dist/cli/commands/completion.js +8 -2
  8. package/dist/cli/commands/completion.js.map +1 -1
  9. package/dist/cli/commands/context.d.ts +23 -0
  10. package/dist/cli/commands/context.js +96 -7
  11. package/dist/cli/commands/context.js.map +1 -1
  12. package/dist/cli/commands/contracts.d.ts +11 -0
  13. package/dist/cli/commands/contracts.js +112 -15
  14. package/dist/cli/commands/contracts.js.map +1 -1
  15. package/dist/cli/commands/create.js +4 -2
  16. package/dist/cli/commands/create.js.map +1 -1
  17. package/dist/cli/commands/extension.d.ts +1 -1
  18. package/dist/cli/commands/extension.js +91 -32
  19. package/dist/cli/commands/extension.js.map +1 -1
  20. package/dist/cli/commands/init.d.ts +19 -3
  21. package/dist/cli/commands/init.js +57 -24
  22. package/dist/cli/commands/init.js.map +1 -1
  23. package/dist/cli/commands/list.d.ts +4 -0
  24. package/dist/cli/commands/list.js +32 -3
  25. package/dist/cli/commands/list.js.map +1 -1
  26. package/dist/cli/commands/next.d.ts +3 -1
  27. package/dist/cli/commands/next.js +19 -7
  28. package/dist/cli/commands/next.js.map +1 -1
  29. package/dist/cli/commands/update.d.ts +32 -1
  30. package/dist/cli/commands/update.js +37 -10
  31. package/dist/cli/commands/update.js.map +1 -1
  32. package/dist/cli/register-list-query.js +10 -4
  33. package/dist/cli/register-list-query.js.map +1 -1
  34. package/dist/cli/register-operations.js +4 -2
  35. package/dist/cli/register-operations.js.map +1 -1
  36. package/dist/cli/register-setup.js +11 -2
  37. package/dist/cli/register-setup.js.map +1 -1
  38. package/dist/cli/registration-helpers.js +4 -2
  39. package/dist/cli/registration-helpers.js.map +1 -1
  40. package/dist/cli-bundle/chunks/append-G7NGOQVU.js +11 -0
  41. package/dist/cli-bundle/chunks/{append-RSPHC423.js → append-SIECQAPH.js} +5 -5
  42. package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js → chunk-22PW73KV.js} +3 -3
  43. package/dist/cli-bundle/chunks/{chunk-ML27MHNM.js → chunk-2RW5DWHQ.js} +98 -22
  44. package/dist/cli-bundle/chunks/chunk-2RW5DWHQ.js.map +1 -0
  45. package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js → chunk-35U3AVRY.js} +3 -3
  46. package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js → chunk-3JFQRPOI.js} +2 -2
  47. package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js → chunk-3THCOPYI.js} +4 -4
  48. package/dist/cli-bundle/chunks/{chunk-D6J5673C.js → chunk-4BINCIRM.js} +4 -4
  49. package/dist/cli-bundle/chunks/{chunk-D63PEJTB.js → chunk-4P2GYOM5.js} +7 -7
  50. package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js → chunk-4QE5HOJY.js} +5 -5
  51. package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js → chunk-56J3MPGE.js} +2 -2
  52. package/dist/cli-bundle/chunks/{chunk-UCRYCT5M.js → chunk-5BFBDJ4R.js} +38 -16
  53. package/dist/cli-bundle/chunks/chunk-5BFBDJ4R.js.map +1 -0
  54. package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js → chunk-62ECRG6J.js} +3 -3
  55. package/dist/cli-bundle/chunks/{chunk-EYPIUFWJ.js → chunk-62KPBB2W.js} +10 -10
  56. package/dist/cli-bundle/chunks/{chunk-3FUXM574.js → chunk-6MK6M35B.js} +4 -4
  57. package/dist/cli-bundle/chunks/{chunk-XN5BEN2B.js → chunk-6PBZBIS6.js} +35 -8
  58. package/dist/cli-bundle/chunks/chunk-6PBZBIS6.js.map +1 -0
  59. package/dist/cli-bundle/chunks/{chunk-GQOKFX2G.js → chunk-6WIP52LQ.js} +8 -8
  60. package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js → chunk-75NAGPEL.js} +3 -3
  61. package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js → chunk-77CWXIAC.js} +4 -4
  62. package/dist/cli-bundle/chunks/{chunk-3FRNNVWY.js → chunk-7S2UC7S6.js} +427 -133
  63. package/dist/cli-bundle/chunks/chunk-7S2UC7S6.js.map +7 -0
  64. package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js → chunk-7THLDY3D.js} +5 -5
  65. package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js → chunk-7TRCAREE.js} +3 -3
  66. package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js → chunk-7TRVVYPI.js} +5 -5
  67. package/dist/cli-bundle/chunks/{chunk-PJPZTE7P.js → chunk-A62N3BM3.js} +8 -6
  68. package/dist/cli-bundle/chunks/chunk-A62N3BM3.js.map +7 -0
  69. package/dist/cli-bundle/chunks/{chunk-TU5P744I.js → chunk-A7DJG5EF.js} +55 -6
  70. package/dist/cli-bundle/chunks/chunk-A7DJG5EF.js.map +7 -0
  71. package/dist/cli-bundle/chunks/{chunk-ZMOPZFVT.js → chunk-AD4HJKQZ.js} +49 -7
  72. package/dist/cli-bundle/chunks/chunk-AD4HJKQZ.js.map +1 -0
  73. package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js → chunk-AIWGQK6K.js} +2 -2
  74. package/dist/cli-bundle/chunks/{chunk-P2WE5KCU.js → chunk-AKCHJXJ4.js} +7 -7
  75. package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js → chunk-AYPXY3HF.js} +2 -2
  76. package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js → chunk-B7FCPO65.js} +4 -4
  77. package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js → chunk-BC7QBM2A.js} +7 -7
  78. package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js → chunk-BST7GFIX.js} +3 -3
  79. package/dist/cli-bundle/chunks/{chunk-GE44TQMC.js → chunk-CUBPPDDF.js} +145 -62
  80. package/dist/cli-bundle/chunks/chunk-CUBPPDDF.js.map +1 -0
  81. package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js → chunk-CYBW4HK7.js} +7 -7
  82. package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js → chunk-DDF7UMVV.js} +2 -2
  83. package/dist/cli-bundle/chunks/{chunk-YQEKE4FO.js → chunk-DLHFJZ2S.js} +7 -7
  84. package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js → chunk-DMD2TENU.js} +4 -4
  85. package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js → chunk-DN67YDFH.js} +3 -3
  86. package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js → chunk-DNHILSD7.js} +4 -4
  87. package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js → chunk-DT6NDP53.js} +3 -3
  88. package/dist/cli-bundle/chunks/{chunk-G4FKP4ID.js → chunk-DWGHHSDC.js} +9 -7
  89. package/dist/cli-bundle/chunks/chunk-DWGHHSDC.js.map +1 -0
  90. package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js → chunk-DYUAQVDK.js} +2 -2
  91. package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js → chunk-E2RJZQNW.js} +3 -3
  92. package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js → chunk-ECXJ7OHI.js} +3 -3
  93. package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js → chunk-ESXG6VFX.js} +5 -5
  94. package/dist/cli-bundle/chunks/{chunk-TR2C6V5T.js → chunk-EXG6XTJC.js} +101 -25
  95. package/dist/cli-bundle/chunks/chunk-EXG6XTJC.js.map +7 -0
  96. package/dist/cli-bundle/chunks/{chunk-BPJ5NYSJ.js → chunk-F7UA74OZ.js} +54 -7
  97. package/dist/cli-bundle/chunks/chunk-F7UA74OZ.js.map +7 -0
  98. package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js → chunk-FBD2WUNS.js} +4 -4
  99. package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js → chunk-FSD7W7Y2.js} +3 -3
  100. package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js → chunk-FWL5XVYI.js} +4 -4
  101. package/dist/cli-bundle/chunks/{chunk-KMXVZ2P7.js → chunk-FYMHD6VX.js} +122 -27
  102. package/dist/cli-bundle/chunks/chunk-FYMHD6VX.js.map +1 -0
  103. package/dist/cli-bundle/chunks/{chunk-SIQGG335.js → chunk-GMNCW27N.js} +7 -7
  104. package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js → chunk-GPPWUJMR.js} +3 -3
  105. package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js → chunk-H3HKQXQJ.js} +3 -3
  106. package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js → chunk-HFQ7QQZL.js} +7 -7
  107. package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js → chunk-HLUB7G6J.js} +3 -3
  108. package/dist/cli-bundle/chunks/{chunk-ASMRSIDX.js → chunk-HWUIK7YL.js} +121 -26
  109. package/dist/cli-bundle/chunks/chunk-HWUIK7YL.js.map +7 -0
  110. package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js → chunk-INAZHXOI.js} +3 -3
  111. package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js → chunk-J3ELHLOJ.js} +5 -5
  112. package/dist/cli-bundle/chunks/{chunk-2BVD4ZD2.js → chunk-J3FDNQWM.js} +4 -3
  113. package/dist/cli-bundle/chunks/chunk-J3FDNQWM.js.map +7 -0
  114. package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js → chunk-J3Z2JMDV.js} +3 -3
  115. package/dist/cli-bundle/chunks/{chunk-HI27UADG.js → chunk-JDEXIVKQ.js} +372 -20
  116. package/dist/cli-bundle/chunks/chunk-JDEXIVKQ.js.map +1 -0
  117. package/dist/cli-bundle/chunks/{chunk-MYHFZNBO.js → chunk-JFOBTM4D.js} +8 -8
  118. package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js → chunk-JNELC5UO.js} +2 -2
  119. package/dist/cli-bundle/chunks/{chunk-YUCKM3MD.js → chunk-JQ5NB6O2.js} +4 -4
  120. package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js → chunk-KFC6X4PI.js} +3 -3
  121. package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js → chunk-L2SWAZ3S.js} +2 -2
  122. package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js → chunk-LVVZLEW5.js} +4 -4
  123. package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js → chunk-M66PC7JI.js} +3 -3
  124. package/dist/cli-bundle/chunks/{chunk-UVFJSKTF.js → chunk-M7DWRMNY.js} +10 -7
  125. package/dist/cli-bundle/chunks/chunk-M7DWRMNY.js.map +1 -0
  126. package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js → chunk-M7JYEBPT.js} +2 -2
  127. package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js → chunk-MQ632QRB.js} +2 -2
  128. package/dist/cli-bundle/chunks/{chunk-IYRG5AEC.js → chunk-N7N3PUUP.js} +7 -7
  129. package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js → chunk-NPJLTZQZ.js} +3 -3
  130. package/dist/cli-bundle/chunks/{chunk-TUDAYIO7.js → chunk-NQTIOKHL.js} +12 -10
  131. package/dist/cli-bundle/chunks/{chunk-TUDAYIO7.js.map → chunk-NQTIOKHL.js.map} +1 -1
  132. package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js → chunk-O67XP4FD.js} +3 -3
  133. package/dist/cli-bundle/chunks/{chunk-XPSGJ4IV.js → chunk-OVYXSZOQ.js} +11 -9
  134. package/dist/cli-bundle/chunks/{chunk-XPSGJ4IV.js.map → chunk-OVYXSZOQ.js.map} +2 -2
  135. package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js → chunk-P7PDLLCE.js} +5 -5
  136. package/dist/cli-bundle/chunks/{chunk-SN5X5GTU.js → chunk-PEACKWHL.js} +4 -4
  137. package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js → chunk-PFRGQZG2.js} +3 -3
  138. package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js → chunk-PMU2OJ3N.js} +4 -4
  139. package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js → chunk-PUMTJMMF.js} +4 -4
  140. package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js → chunk-QTJCMK2S.js} +5 -5
  141. package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js → chunk-RAE2SLNO.js} +4 -4
  142. package/dist/cli-bundle/chunks/{chunk-YR5R4FMQ.js → chunk-RYA7QE7B.js} +10 -10
  143. package/dist/cli-bundle/chunks/{chunk-TTCJCKUJ.js → chunk-SL337EYZ.js} +379 -20
  144. package/dist/cli-bundle/chunks/chunk-SL337EYZ.js.map +7 -0
  145. package/dist/cli-bundle/chunks/{chunk-RDJXIAJB.js → chunk-SMKQFGDI.js} +9 -6
  146. package/dist/cli-bundle/chunks/chunk-SMKQFGDI.js.map +7 -0
  147. package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js → chunk-SWQMU4AD.js} +2 -2
  148. package/dist/cli-bundle/chunks/{chunk-MFLLULHU.js → chunk-TB2CZJAQ.js} +5 -4
  149. package/dist/cli-bundle/chunks/chunk-TB2CZJAQ.js.map +1 -0
  150. package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js → chunk-TEKAGPZV.js} +3 -3
  151. package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js → chunk-TM5E2IED.js} +5 -5
  152. package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js → chunk-TTRL5GE6.js} +3 -3
  153. package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js → chunk-UA2VI62P.js} +3 -3
  154. package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js → chunk-UYK26VRP.js} +3 -3
  155. package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js → chunk-VBDQTL3Z.js} +3 -3
  156. package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js → chunk-W2FXYQ6D.js} +5 -5
  157. package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js → chunk-WZ7EPGUX.js} +5 -5
  158. package/dist/cli-bundle/chunks/{chunk-2RADY7IB.js → chunk-XES6AVCK.js} +427 -126
  159. package/dist/cli-bundle/chunks/chunk-XES6AVCK.js.map +1 -0
  160. package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js → chunk-XVCB574W.js} +4 -4
  161. package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js → chunk-XWS3Z57Q.js} +3 -3
  162. package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js → chunk-XXJB4GLJ.js} +2 -2
  163. package/dist/cli-bundle/chunks/{chunk-NTOOEVJ4.js → chunk-Y5Q4FEE4.js} +47 -7
  164. package/dist/cli-bundle/chunks/chunk-Y5Q4FEE4.js.map +1 -0
  165. package/dist/cli-bundle/chunks/{chunk-DUBC6TI3.js → chunk-YA4B6P3L.js} +37 -15
  166. package/dist/cli-bundle/chunks/chunk-YA4B6P3L.js.map +7 -0
  167. package/dist/cli-bundle/chunks/{chunk-FL625JJM.js → chunk-Z3R2Z5KW.js} +145 -62
  168. package/dist/cli-bundle/chunks/chunk-Z3R2Z5KW.js.map +7 -0
  169. package/dist/cli-bundle/chunks/{chunk-RLHQ3G4M.js → chunk-Z5MFM54X.js} +34 -7
  170. package/dist/cli-bundle/chunks/chunk-Z5MFM54X.js.map +7 -0
  171. package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js → chunk-ZGDJA6WI.js} +5 -5
  172. package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js → chunk-ZIU35KME.js} +5 -5
  173. package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js → chunk-ZQ2KEWE7.js} +3 -3
  174. package/dist/cli-bundle/chunks/close-2NVUCJXV.js +12 -0
  175. package/dist/cli-bundle/chunks/{close-K6BFI3OX.js → close-BZPS37KL.js} +5 -5
  176. package/dist/cli-bundle/chunks/{close-many-6NBL3PM4.js → close-many-KKNCGLVR.js} +13 -13
  177. package/dist/cli-bundle/chunks/close-many-S5WKLWVO.js +22 -0
  178. package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js → comments-PV5XG342.js} +7 -7
  179. package/dist/cli-bundle/chunks/comments-XAM2ADHO.js +13 -0
  180. package/dist/cli-bundle/chunks/copy-OJ2YNJ7S.js +9 -0
  181. package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js → copy-OZDYDQUG.js} +4 -4
  182. package/dist/cli-bundle/chunks/create-5O3QK3PX.js +25 -0
  183. package/dist/cli-bundle/chunks/{create-TRIBYORN.js → create-WGFKEJAK.js} +9 -9
  184. package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js → delete-NTYXFL7A.js} +4 -4
  185. package/dist/cli-bundle/chunks/delete-V7FPW6JL.js +10 -0
  186. package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js → deps-7WVENNH3.js} +4 -4
  187. package/dist/cli-bundle/chunks/{deps-SZXQHV73.js → deps-Z6RD6RWW.js} +4 -4
  188. package/dist/cli-bundle/chunks/{docs-DR74ITCD.js → docs-2NIRGHAN.js} +6 -6
  189. package/dist/cli-bundle/chunks/docs-SOY2CMH3.js +14 -0
  190. package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js → files-4OH2I663.js} +6 -6
  191. package/dist/cli-bundle/chunks/{files-H5YCA74Z.js → files-5KNAFW67.js} +6 -6
  192. package/dist/cli-bundle/chunks/{focus-55TRYSNA.js → focus-CLNZWWKW.js} +5 -5
  193. package/dist/cli-bundle/chunks/focus-JUKXZN3J.js +10 -0
  194. package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js → history-compact-R3T3XPD4.js} +9 -9
  195. package/dist/cli-bundle/chunks/history-compact-WKAKPLFQ.js +21 -0
  196. package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js → history-redact-CLJDCBNF.js} +7 -7
  197. package/dist/cli-bundle/chunks/history-redact-Y67UDKD3.js +17 -0
  198. package/dist/cli-bundle/chunks/history-repair-2WLXWQAM.js +19 -0
  199. package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js → history-repair-LNA7V2VI.js} +9 -9
  200. package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js → learnings-2L72KBOE.js} +7 -7
  201. package/dist/cli-bundle/chunks/learnings-PNK7WUWO.js +13 -0
  202. package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js → notes-USDIABZV.js} +7 -7
  203. package/dist/cli-bundle/chunks/notes-X4SWEJSB.js +13 -0
  204. package/dist/cli-bundle/chunks/plan-JU454RMZ.js +24 -0
  205. package/dist/cli-bundle/chunks/{plan-CJPKFRBK.js → plan-U4RWU56Z.js} +10 -10
  206. package/dist/cli-bundle/chunks/{profile-AQNHXOYA.js → profile-COBKZJUQ.js} +9 -9
  207. package/dist/cli-bundle/chunks/{profile-HTBFINKQ.js → profile-RKIRCXH7.js} +9 -9
  208. package/dist/cli-bundle/chunks/{register-list-query-EEF33SUJ.js → register-list-query-2VBANNFM.js} +20 -18
  209. package/dist/cli-bundle/chunks/register-list-query-2VBANNFM.js.map +1 -0
  210. package/dist/cli-bundle/chunks/{register-list-query-S4FBWIWN.js → register-list-query-4AZEKWZ5.js} +19 -17
  211. package/dist/cli-bundle/chunks/register-list-query-4AZEKWZ5.js.map +7 -0
  212. package/dist/cli-bundle/chunks/{register-mutation-QFLRBCI7.js → register-mutation-JGXTDEIZ.js} +29 -29
  213. package/dist/cli-bundle/chunks/{register-mutation-L5Q7AUDN.js → register-mutation-XVO4GGZI.js} +29 -29
  214. package/dist/cli-bundle/chunks/{register-operations-HDE4FVW4.js → register-operations-4EEFV5KJ.js} +30 -29
  215. package/dist/cli-bundle/chunks/register-operations-4EEFV5KJ.js.map +1 -0
  216. package/dist/cli-bundle/chunks/{register-operations-QDU43FCG.js → register-operations-UV25Z4BN.js} +29 -28
  217. package/dist/cli-bundle/chunks/register-operations-UV25Z4BN.js.map +7 -0
  218. package/dist/cli-bundle/chunks/{register-setup-EGMTAXDC.js → register-setup-MMXQQC5J.js} +27 -19
  219. package/dist/cli-bundle/chunks/register-setup-MMXQQC5J.js.map +1 -0
  220. package/dist/cli-bundle/chunks/{register-setup-PNIO3L2P.js → register-setup-NQE5MW63.js} +26 -18
  221. package/dist/cli-bundle/chunks/register-setup-NQE5MW63.js.map +7 -0
  222. package/dist/cli-bundle/chunks/restore-54HR2EYD.js +15 -0
  223. package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js → restore-BINCHJIY.js} +7 -7
  224. package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js → schema-2JZNEQSG.js} +6 -6
  225. package/dist/cli-bundle/chunks/{schema-HAIBEE24.js → schema-VV3K5WZI.js} +6 -6
  226. package/dist/cli-bundle/chunks/{update-MP4XLU56.js → update-DK3GAY5D.js} +12 -12
  227. package/dist/cli-bundle/chunks/update-OIMRKTX6.js +21 -0
  228. package/dist/cli-bundle/chunks/update-many-5KI6MW76.js +31 -0
  229. package/dist/cli-bundle/chunks/update-many-IOLDHIZT.js +35 -0
  230. package/dist/cli-bundle/main.js +16 -54
  231. package/dist/cli-bundle/main.js.map +3 -3
  232. package/dist/cli-bundle/sdk-runtime.js +117 -53
  233. package/dist/cli-bundle/sdk-testing.js +6 -6
  234. package/dist/cli-bundle/sdk.js +142 -58
  235. package/dist/cli-bundle/sdk.js.map +3 -3
  236. package/dist/core/extensions/extension-types.d.ts +1 -1
  237. package/dist/core/extensions/extension-types.js +3 -2
  238. package/dist/core/extensions/extension-types.js.map +1 -1
  239. package/dist/core/extensions/index.d.ts +1 -0
  240. package/dist/core/extensions/index.js +3 -2
  241. package/dist/core/extensions/index.js.map +1 -1
  242. package/dist/core/store/front-matter-cache.d.ts +8 -0
  243. package/dist/core/store/front-matter-cache.js +22 -9
  244. package/dist/core/store/front-matter-cache.js.map +1 -1
  245. package/dist/sdk/cli-contracts/commander-mutation-options.js +4 -4
  246. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  247. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  248. package/dist/sdk/cli-contracts/flag-contracts.js +10 -2
  249. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  250. package/dist/sdk/cli-contracts/tool-option-contracts.js +10 -5
  251. package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -1
  252. package/dist/sdk/cli-contracts/tool-parameter-tables.js +12 -4
  253. package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -1
  254. package/dist/sdk/cli-contracts/tool-schema.d.ts +4 -0
  255. package/dist/sdk/cli-contracts/tool-schema.js +66 -11
  256. package/dist/sdk/cli-contracts/tool-schema.js.map +1 -1
  257. package/dist/sdk/context-relevance.d.ts +166 -0
  258. package/dist/sdk/context-relevance.js +299 -0
  259. package/dist/sdk/context-relevance.js.map +1 -0
  260. package/dist/sdk/index.d.ts +2 -1
  261. package/dist/sdk/index.js +4 -3
  262. package/dist/sdk/index.js.map +1 -1
  263. package/dist/sdk/runtime.d.ts +340 -25
  264. package/dist/sdk/runtime.js +413 -25
  265. package/dist/sdk/runtime.js.map +1 -1
  266. package/docs/AGENT_GUIDE.md +3 -0
  267. package/docs/COMMANDS.md +17 -2
  268. package/docs/EXTENSIONS.md +3 -1
  269. package/docs/SDK.md +115 -0
  270. package/docs/TESTING.md +40 -1
  271. package/package.json +4 -2
  272. package/dist/cli-bundle/chunks/append-CDPAYYSB.js +0 -11
  273. package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +0 -7
  274. package/dist/cli-bundle/chunks/chunk-2RADY7IB.js.map +0 -1
  275. package/dist/cli-bundle/chunks/chunk-3FRNNVWY.js.map +0 -7
  276. package/dist/cli-bundle/chunks/chunk-ASMRSIDX.js.map +0 -7
  277. package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js.map +0 -7
  278. package/dist/cli-bundle/chunks/chunk-DUBC6TI3.js.map +0 -7
  279. package/dist/cli-bundle/chunks/chunk-FL625JJM.js.map +0 -7
  280. package/dist/cli-bundle/chunks/chunk-G4FKP4ID.js.map +0 -1
  281. package/dist/cli-bundle/chunks/chunk-GE44TQMC.js.map +0 -1
  282. package/dist/cli-bundle/chunks/chunk-HI27UADG.js.map +0 -1
  283. package/dist/cli-bundle/chunks/chunk-KMXVZ2P7.js.map +0 -1
  284. package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +0 -1
  285. package/dist/cli-bundle/chunks/chunk-ML27MHNM.js.map +0 -1
  286. package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js.map +0 -1
  287. package/dist/cli-bundle/chunks/chunk-PJPZTE7P.js.map +0 -7
  288. package/dist/cli-bundle/chunks/chunk-RDJXIAJB.js.map +0 -7
  289. package/dist/cli-bundle/chunks/chunk-RLHQ3G4M.js.map +0 -7
  290. package/dist/cli-bundle/chunks/chunk-TR2C6V5T.js.map +0 -7
  291. package/dist/cli-bundle/chunks/chunk-TTCJCKUJ.js.map +0 -7
  292. package/dist/cli-bundle/chunks/chunk-TU5P744I.js.map +0 -7
  293. package/dist/cli-bundle/chunks/chunk-UCRYCT5M.js.map +0 -1
  294. package/dist/cli-bundle/chunks/chunk-UVFJSKTF.js.map +0 -1
  295. package/dist/cli-bundle/chunks/chunk-XN5BEN2B.js.map +0 -1
  296. package/dist/cli-bundle/chunks/chunk-ZMOPZFVT.js.map +0 -1
  297. package/dist/cli-bundle/chunks/close-E3RLZSP2.js +0 -12
  298. package/dist/cli-bundle/chunks/close-many-X4YKS3RO.js +0 -22
  299. package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +0 -13
  300. package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +0 -9
  301. package/dist/cli-bundle/chunks/create-AMBMYP6F.js +0 -25
  302. package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +0 -10
  303. package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +0 -14
  304. package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +0 -10
  305. package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +0 -21
  306. package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +0 -17
  307. package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +0 -19
  308. package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +0 -13
  309. package/dist/cli-bundle/chunks/notes-BGG7VL72.js +0 -13
  310. package/dist/cli-bundle/chunks/plan-MK2QY3GA.js +0 -24
  311. package/dist/cli-bundle/chunks/register-list-query-EEF33SUJ.js.map +0 -1
  312. package/dist/cli-bundle/chunks/register-list-query-S4FBWIWN.js.map +0 -7
  313. package/dist/cli-bundle/chunks/register-operations-HDE4FVW4.js.map +0 -1
  314. package/dist/cli-bundle/chunks/register-operations-QDU43FCG.js.map +0 -7
  315. package/dist/cli-bundle/chunks/register-setup-EGMTAXDC.js.map +0 -1
  316. package/dist/cli-bundle/chunks/register-setup-PNIO3L2P.js.map +0 -7
  317. package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +0 -15
  318. package/dist/cli-bundle/chunks/update-SDIRJGSY.js +0 -21
  319. package/dist/cli-bundle/chunks/update-many-34AIU6W7.js +0 -31
  320. package/dist/cli-bundle/chunks/update-many-JUPCNOKV.js +0 -35
  321. /package/dist/cli-bundle/chunks/{append-CDPAYYSB.js.map → append-G7NGOQVU.js.map} +0 -0
  322. /package/dist/cli-bundle/chunks/{append-RSPHC423.js.map → append-SIECQAPH.js.map} +0 -0
  323. /package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js.map → chunk-22PW73KV.js.map} +0 -0
  324. /package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js.map → chunk-35U3AVRY.js.map} +0 -0
  325. /package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js.map → chunk-3JFQRPOI.js.map} +0 -0
  326. /package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js.map → chunk-3THCOPYI.js.map} +0 -0
  327. /package/dist/cli-bundle/chunks/{chunk-D6J5673C.js.map → chunk-4BINCIRM.js.map} +0 -0
  328. /package/dist/cli-bundle/chunks/{chunk-D63PEJTB.js.map → chunk-4P2GYOM5.js.map} +0 -0
  329. /package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js.map → chunk-4QE5HOJY.js.map} +0 -0
  330. /package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js.map → chunk-56J3MPGE.js.map} +0 -0
  331. /package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js.map → chunk-62ECRG6J.js.map} +0 -0
  332. /package/dist/cli-bundle/chunks/{chunk-EYPIUFWJ.js.map → chunk-62KPBB2W.js.map} +0 -0
  333. /package/dist/cli-bundle/chunks/{chunk-3FUXM574.js.map → chunk-6MK6M35B.js.map} +0 -0
  334. /package/dist/cli-bundle/chunks/{chunk-GQOKFX2G.js.map → chunk-6WIP52LQ.js.map} +0 -0
  335. /package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js.map → chunk-75NAGPEL.js.map} +0 -0
  336. /package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js.map → chunk-77CWXIAC.js.map} +0 -0
  337. /package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js.map → chunk-7THLDY3D.js.map} +0 -0
  338. /package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js.map → chunk-7TRCAREE.js.map} +0 -0
  339. /package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js.map → chunk-7TRVVYPI.js.map} +0 -0
  340. /package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js.map → chunk-AIWGQK6K.js.map} +0 -0
  341. /package/dist/cli-bundle/chunks/{chunk-P2WE5KCU.js.map → chunk-AKCHJXJ4.js.map} +0 -0
  342. /package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js.map → chunk-AYPXY3HF.js.map} +0 -0
  343. /package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js.map → chunk-B7FCPO65.js.map} +0 -0
  344. /package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js.map → chunk-BC7QBM2A.js.map} +0 -0
  345. /package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js.map → chunk-BST7GFIX.js.map} +0 -0
  346. /package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js.map → chunk-CYBW4HK7.js.map} +0 -0
  347. /package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js.map → chunk-DDF7UMVV.js.map} +0 -0
  348. /package/dist/cli-bundle/chunks/{chunk-YQEKE4FO.js.map → chunk-DLHFJZ2S.js.map} +0 -0
  349. /package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js.map → chunk-DMD2TENU.js.map} +0 -0
  350. /package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js.map → chunk-DN67YDFH.js.map} +0 -0
  351. /package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js.map → chunk-DNHILSD7.js.map} +0 -0
  352. /package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js.map → chunk-DT6NDP53.js.map} +0 -0
  353. /package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js.map → chunk-DYUAQVDK.js.map} +0 -0
  354. /package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js.map → chunk-E2RJZQNW.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js.map → chunk-ECXJ7OHI.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js.map → chunk-ESXG6VFX.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js.map → chunk-FBD2WUNS.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js.map → chunk-FSD7W7Y2.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js.map → chunk-FWL5XVYI.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{chunk-SIQGG335.js.map → chunk-GMNCW27N.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js.map → chunk-GPPWUJMR.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js.map → chunk-H3HKQXQJ.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js.map → chunk-HFQ7QQZL.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js.map → chunk-HLUB7G6J.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js.map → chunk-INAZHXOI.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js.map → chunk-J3ELHLOJ.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js.map → chunk-J3Z2JMDV.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{chunk-MYHFZNBO.js.map → chunk-JFOBTM4D.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js.map → chunk-JNELC5UO.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{chunk-YUCKM3MD.js.map → chunk-JQ5NB6O2.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js.map → chunk-KFC6X4PI.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js.map → chunk-L2SWAZ3S.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js.map → chunk-LVVZLEW5.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js.map → chunk-M66PC7JI.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js.map → chunk-M7JYEBPT.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js.map → chunk-MQ632QRB.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{chunk-IYRG5AEC.js.map → chunk-N7N3PUUP.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js.map → chunk-NPJLTZQZ.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js.map → chunk-O67XP4FD.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js.map → chunk-P7PDLLCE.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{chunk-SN5X5GTU.js.map → chunk-PEACKWHL.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js.map → chunk-PFRGQZG2.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js.map → chunk-PMU2OJ3N.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js.map → chunk-PUMTJMMF.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js.map → chunk-QTJCMK2S.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js.map → chunk-RAE2SLNO.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{chunk-YR5R4FMQ.js.map → chunk-RYA7QE7B.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js.map → chunk-SWQMU4AD.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js.map → chunk-TEKAGPZV.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js.map → chunk-TM5E2IED.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js.map → chunk-TTRL5GE6.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js.map → chunk-UA2VI62P.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js.map → chunk-UYK26VRP.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js.map → chunk-VBDQTL3Z.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js.map → chunk-W2FXYQ6D.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js.map → chunk-WZ7EPGUX.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js.map → chunk-XVCB574W.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js.map → chunk-XWS3Z57Q.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js.map → chunk-XXJB4GLJ.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js.map → chunk-ZGDJA6WI.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js.map → chunk-ZIU35KME.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js.map → chunk-ZQ2KEWE7.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{close-E3RLZSP2.js.map → close-2NVUCJXV.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{close-K6BFI3OX.js.map → close-BZPS37KL.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{close-many-6NBL3PM4.js.map → close-many-KKNCGLVR.js.map} +0 -0
  406. /package/dist/cli-bundle/chunks/{close-many-X4YKS3RO.js.map → close-many-S5WKLWVO.js.map} +0 -0
  407. /package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js.map → comments-PV5XG342.js.map} +0 -0
  408. /package/dist/cli-bundle/chunks/{comments-ZNOD5PTV.js.map → comments-XAM2ADHO.js.map} +0 -0
  409. /package/dist/cli-bundle/chunks/{copy-F7BUFY4J.js.map → copy-OJ2YNJ7S.js.map} +0 -0
  410. /package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js.map → copy-OZDYDQUG.js.map} +0 -0
  411. /package/dist/cli-bundle/chunks/{create-AMBMYP6F.js.map → create-5O3QK3PX.js.map} +0 -0
  412. /package/dist/cli-bundle/chunks/{create-TRIBYORN.js.map → create-WGFKEJAK.js.map} +0 -0
  413. /package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js.map → delete-NTYXFL7A.js.map} +0 -0
  414. /package/dist/cli-bundle/chunks/{delete-6KQHZYIP.js.map → delete-V7FPW6JL.js.map} +0 -0
  415. /package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js.map → deps-7WVENNH3.js.map} +0 -0
  416. /package/dist/cli-bundle/chunks/{deps-SZXQHV73.js.map → deps-Z6RD6RWW.js.map} +0 -0
  417. /package/dist/cli-bundle/chunks/{docs-DR74ITCD.js.map → docs-2NIRGHAN.js.map} +0 -0
  418. /package/dist/cli-bundle/chunks/{docs-WCVYY6I7.js.map → docs-SOY2CMH3.js.map} +0 -0
  419. /package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js.map → files-4OH2I663.js.map} +0 -0
  420. /package/dist/cli-bundle/chunks/{files-H5YCA74Z.js.map → files-5KNAFW67.js.map} +0 -0
  421. /package/dist/cli-bundle/chunks/{focus-55TRYSNA.js.map → focus-CLNZWWKW.js.map} +0 -0
  422. /package/dist/cli-bundle/chunks/{focus-N2QGNS5D.js.map → focus-JUKXZN3J.js.map} +0 -0
  423. /package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js.map → history-compact-R3T3XPD4.js.map} +0 -0
  424. /package/dist/cli-bundle/chunks/{history-compact-GWQ4UOEI.js.map → history-compact-WKAKPLFQ.js.map} +0 -0
  425. /package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js.map → history-redact-CLJDCBNF.js.map} +0 -0
  426. /package/dist/cli-bundle/chunks/{history-redact-4GJOLXCM.js.map → history-redact-Y67UDKD3.js.map} +0 -0
  427. /package/dist/cli-bundle/chunks/{history-repair-HVCVCGUF.js.map → history-repair-2WLXWQAM.js.map} +0 -0
  428. /package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js.map → history-repair-LNA7V2VI.js.map} +0 -0
  429. /package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js.map → learnings-2L72KBOE.js.map} +0 -0
  430. /package/dist/cli-bundle/chunks/{learnings-YYY3U2Y7.js.map → learnings-PNK7WUWO.js.map} +0 -0
  431. /package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js.map → notes-USDIABZV.js.map} +0 -0
  432. /package/dist/cli-bundle/chunks/{notes-BGG7VL72.js.map → notes-X4SWEJSB.js.map} +0 -0
  433. /package/dist/cli-bundle/chunks/{plan-MK2QY3GA.js.map → plan-JU454RMZ.js.map} +0 -0
  434. /package/dist/cli-bundle/chunks/{plan-CJPKFRBK.js.map → plan-U4RWU56Z.js.map} +0 -0
  435. /package/dist/cli-bundle/chunks/{profile-AQNHXOYA.js.map → profile-COBKZJUQ.js.map} +0 -0
  436. /package/dist/cli-bundle/chunks/{profile-HTBFINKQ.js.map → profile-RKIRCXH7.js.map} +0 -0
  437. /package/dist/cli-bundle/chunks/{register-mutation-QFLRBCI7.js.map → register-mutation-JGXTDEIZ.js.map} +0 -0
  438. /package/dist/cli-bundle/chunks/{register-mutation-L5Q7AUDN.js.map → register-mutation-XVO4GGZI.js.map} +0 -0
  439. /package/dist/cli-bundle/chunks/{restore-EX4UUZL6.js.map → restore-54HR2EYD.js.map} +0 -0
  440. /package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js.map → restore-BINCHJIY.js.map} +0 -0
  441. /package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js.map → schema-2JZNEQSG.js.map} +0 -0
  442. /package/dist/cli-bundle/chunks/{schema-HAIBEE24.js.map → schema-VV3K5WZI.js.map} +0 -0
  443. /package/dist/cli-bundle/chunks/{update-MP4XLU56.js.map → update-DK3GAY5D.js.map} +0 -0
  444. /package/dist/cli-bundle/chunks/{update-SDIRJGSY.js.map → update-OIMRKTX6.js.map} +0 -0
  445. /package/dist/cli-bundle/chunks/{update-many-34AIU6W7.js.map → update-many-5KI6MW76.js.map} +0 -0
  446. /package/dist/cli-bundle/chunks/{update-many-JUPCNOKV.js.map → update-many-IOLDHIZT.js.map} +0 -0
@@ -7,7 +7,7 @@
7
7
  * consumers from a single source of truth.
8
8
  */
9
9
 
10
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5c3e7ffe-4b6a-5348-a40d-217591182b02")}catch(e){}}();
10
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9e5e0763-b8ec-5aed-8b8d-9acf8c2cb056")}catch(e){}}();
11
11
  import { normalizeUniqueStringList } from "./string-lists.js";
12
12
  import { PM_TOOL_ACTIONS } from "./enum-contracts.js";
13
13
  import { TOOL_CREATE_OPTION_CONTRACTS, TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS, TOOL_UPDATE_OPTION_CONTRACTS, TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS, TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS, TOOL_CONTEXT_OPTION_CONTRACTS, TOOL_ACTIVITY_OPTION_CONTRACTS, TOOL_LIST_FILTER_OPTION_CONTRACTS, TOOL_AGGREGATE_OPTION_CONTRACTS, TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS, TOOL_SEARCH_FILTER_OPTION_CONTRACTS, TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS, } from "./tool-option-contracts.js";
@@ -93,6 +93,46 @@ const LIST_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
93
93
  "brief",
94
94
  "full",
95
95
  ]);
96
+ const LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS = [
97
+ [
98
+ { property: "today", schema: { const: true } },
99
+ { property: "recent", schema: { const: true } },
100
+ ],
101
+ [
102
+ { property: "today", schema: { const: true } },
103
+ { property: "updatedAfter", schema: { type: "string", pattern: "\\S" } },
104
+ ],
105
+ [
106
+ { property: "recent", schema: { const: true } },
107
+ { property: "updatedAfter", schema: { type: "string", pattern: "\\S" } },
108
+ ],
109
+ ];
110
+ const CONTRACTS_PROJECTION_MUTUALLY_EXCLUSIVE_GROUPS = [
111
+ [
112
+ { property: "summary", schema: { const: true } },
113
+ { property: "schemaOnly", schema: { const: true } },
114
+ ],
115
+ [
116
+ { property: "summary", schema: { const: true } },
117
+ { property: "flagsOnly", schema: { const: true } },
118
+ ],
119
+ [
120
+ { property: "summary", schema: { const: true } },
121
+ { property: "availabilityOnly", schema: { const: true } },
122
+ ],
123
+ [
124
+ { property: "schemaOnly", schema: { const: true } },
125
+ { property: "flagsOnly", schema: { const: true } },
126
+ ],
127
+ [
128
+ { property: "schemaOnly", schema: { const: true } },
129
+ { property: "availabilityOnly", schema: { const: true } },
130
+ ],
131
+ [
132
+ { property: "flagsOnly", schema: { const: true } },
133
+ { property: "availabilityOnly", schema: { const: true } },
134
+ ],
135
+ ];
96
136
  const AGGREGATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
97
137
  ...TOOL_AGGREGATE_OPTION_CONTRACTS.map((entry) => entry.param),
98
138
  "count",
@@ -206,14 +246,14 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
206
246
  },
207
247
  copy: { required: ["id"], optional: ["title", "author", "message"] },
208
248
  focus: { optional: ["id", "clear"], mutuallyExclusive: [["id", "clear"]] },
209
- list: { optional: LIST_CONTRACT_PARAMETER_KEYS },
210
- "list-all": { optional: LIST_CONTRACT_PARAMETER_KEYS },
211
- "list-draft": { optional: LIST_CONTRACT_PARAMETER_KEYS },
212
- "list-open": { optional: LIST_CONTRACT_PARAMETER_KEYS },
213
- "list-in-progress": { optional: LIST_CONTRACT_PARAMETER_KEYS },
214
- "list-blocked": { optional: LIST_CONTRACT_PARAMETER_KEYS },
215
- "list-closed": { optional: LIST_CONTRACT_PARAMETER_KEYS },
216
- "list-canceled": { optional: LIST_CONTRACT_PARAMETER_KEYS },
249
+ list: { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },
250
+ "list-all": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },
251
+ "list-draft": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },
252
+ "list-open": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },
253
+ "list-in-progress": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },
254
+ "list-blocked": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },
255
+ "list-closed": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },
256
+ "list-canceled": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },
217
257
  aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },
218
258
  "dedupe-audit": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },
219
259
  guide: { optional: ["list", "format", "depth"] },
@@ -557,7 +597,10 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
557
597
  ],
558
598
  },
559
599
  gc: { optional: ["dryRun", "gcScope"] },
560
- contracts: { optional: ["contractAction", "command", "schemaOnly", "flagsOnly", "availabilityOnly", "runtimeOnly", "activeOnly", "full"] },
600
+ contracts: {
601
+ optional: ["contractAction", "command", "summary", "schemaOnly", "flagsOnly", "availabilityOnly", "runtimeOnly", "activeOnly", "full"],
602
+ mutuallyExclusiveWhen: CONTRACTS_PROJECTION_MUTUALLY_EXCLUSIVE_GROUPS,
603
+ },
561
604
  completion: { required: ["shell"], optional: ["eagerTags"] },
562
605
  claim: { required: ["id"], optional: LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
563
606
  release: { required: ["id"], optional: ["allowAuditRelease", ...LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
@@ -696,6 +739,18 @@ function buildActionScopedAllOf(contract) {
696
739
  allOf.push({ not: { required: toSchemaKeyList(group) } });
697
740
  }
698
741
  }
742
+ if (contract.mutuallyExclusiveWhen && contract.mutuallyExclusiveWhen.length > 0) {
743
+ for (const group of contract.mutuallyExclusiveWhen) {
744
+ allOf.push({
745
+ not: {
746
+ allOf: group.map((condition) => ({
747
+ properties: { [condition.property]: condition.schema },
748
+ required: [condition.property],
749
+ })),
750
+ },
751
+ });
752
+ }
753
+ }
699
754
  return allOf;
700
755
  }
701
756
  function buildActionScopedToolSchema(action) {
@@ -835,4 +890,4 @@ export const _testOnlyCliContracts = {
835
890
  withFlagAliasMetadata,
836
891
  };
837
892
  //# sourceMappingURL=tool-schema.js.map
838
- //# debugId=5c3e7ffe-4b6a-5348-a40d-217591182b02
893
+ //# debugId=9e5e0763-b8ec-5aed-8b8d-9acf8c2cb056
@@ -1 +1 @@
1
- {"version":3,"file":"tool-schema.js","sources":["sdk/cli-contracts/tool-schema.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/cli-contracts/tool-schema\n *\n * MCP tool-parameter schema contracts: the per-action required/optional key sets\n * and the lazily-built strict (action-scoped) and provider-compatible (flat)\n * JSON Schemas served to MCP clients, the `pm contracts` command, and SDK\n * consumers from a single source of truth.\n */\nimport { normalizeUniqueStringList } from \"./string-lists.js\";\nimport { PM_TOOL_ACTIONS, type PmToolAction } from \"./enum-contracts.js\";\nimport {\n TOOL_CREATE_OPTION_CONTRACTS,\n TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS,\n TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS,\n TOOL_CONTEXT_OPTION_CONTRACTS,\n TOOL_ACTIVITY_OPTION_CONTRACTS,\n TOOL_LIST_FILTER_OPTION_CONTRACTS,\n TOOL_AGGREGATE_OPTION_CONTRACTS,\n TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS,\n TOOL_SEARCH_FILTER_OPTION_CONTRACTS,\n TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS,\n} from \"./tool-option-contracts.js\";\nimport {\n PM_TOOL_PARAMETER_PROPERTIES,\n PM_TOOL_PARAMETER_METADATA,\n PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA,\n PLAN_ACTION_PARAMETER_PROPERTIES,\n PLAN_ACTION_PARAMETER_METADATA,\n} from \"./tool-parameter-tables.js\";\nimport { toUniqueFlagContracts, withFlagAliasMetadata } from \"./flag-contracts.js\";\n\nconst PM_TOOL_GLOBAL_PARAMETER_KEYS = [\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"path\",\n \"pmExecutable\",\n \"timeoutMs\",\n] as const;\n\nconst PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS: Partial<Record<PmToolAction, readonly string[]>> = {\n create: [\"fullChangedFields\", \"idOnly\"],\n copy: [\"fullChangedFields\", \"idOnly\"],\n update: [\"fullChangedFields\", \"idOnly\"],\n close: [\"fullChangedFields\", \"idOnly\"],\n restore: [\"fullChangedFields\", \"idOnly\"],\n append: [\"fullChangedFields\"],\n \"update-many\": [\"fullChangedFields\"],\n \"close-many\": [\"fullChangedFields\"],\n};\n\n/**\n * Declarative description of one pm action's MCP parameter constraints —\n * required/optional keys plus JSON-Schema-style cross-field rules (anyOf, oneOf,\n * conditional, dependent, and mutually-exclusive groups) — from which the strict\n * action-scoped tool schema is built.\n */\nexport interface PmActionSchemaContract {\n required?: string[];\n optional?: string[];\n anyOfRequired?: Array<string[]>;\n oneOfRequired?: Array<string[]>;\n dependentAnyOfRequired?: Array<{\n property: string;\n anyOfRequired: Array<string[]>;\n }>;\n conditionalRequired?: Array<{\n property: string;\n value: string;\n required: string[];\n }>;\n /**\n * Groups of parameters that must not be supplied together. Each group emits a\n * JSON Schema `not: { required: [...] }` constraint so MCP clients validating\n * against the contract reject the same combinations the runtime rejects\n * (e.g. focus `id` + `clear`), keeping schema and runtime in lock-step.\n */\n mutuallyExclusive?: Array<string[]>;\n}\n\nfunction toSchemaKeyList(values: string[]): string[] {\n return normalizeUniqueStringList(values);\n}\n\nconst CREATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CREATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"assignee\",\n]);\n\nconst UPDATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"force\",\n]);\n\nconst UPDATE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n ...UPDATE_CONTRACT_PARAMETER_KEYS,\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n]);\n\nconst NORMALIZE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"dryRun\",\n \"apply\",\n \"author\",\n \"message\",\n \"allowAuditUpdate\",\n \"force\",\n]);\n\nconst CLOSE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"reason\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n \"validateClose\",\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n \"author\",\n \"message\",\n \"force\",\n]);\n\nconst CONTEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CONTEXT_OPTION_CONTRACTS.map((entry) => entry.param),\n \"past\",\n \"section\",\n]);\n\nconst ACTIVITY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_ACTIVITY_OPTION_CONTRACTS.map((entry) => entry.param),\n \"stream\",\n]);\n\nconst LIST_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_LIST_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"includeBody\",\n \"noTruncate\",\n \"compact\",\n \"brief\",\n \"full\",\n]);\nconst AGGREGATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_AGGREGATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"count\",\n \"completion\",\n \"includeUnparented\",\n]);\nconst DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList(TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS.map((entry) => entry.param));\nconst SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"query\",\n \"keywords\",\n \"mode\",\n \"semantic\",\n \"hybrid\",\n \"includeLinked\",\n \"titleExact\",\n \"phraseExact\",\n \"highlight\",\n \"compact\",\n \"full\",\n ...TOOL_SEARCH_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n]);\n\nconst NEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"type\",\n \"tag\",\n \"priority\",\n \"assignee\",\n \"assigneeFilter\",\n \"sprint\",\n \"release\",\n \"parent\",\n \"limit\",\n \"blockedLimit\",\n \"readyOnly\",\n \"format\",\n]);\n\nconst AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = [\"author\", \"message\", \"force\"];\nconst LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = [\"author\", \"assignee\", \"message\", \"force\"];\n\nconst MANAGED_EXTENSION_PACKAGE_OPTION_KEYS = [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"isolated\",\n \"ignoreGlobal\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n];\n\nfunction managedLifecycleSchemaContracts(prefix: \"extension\" | \"package\"): Record<string, PmActionSchemaContract> {\n return {\n [`${prefix}-init`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-install`]: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n [`${prefix}-uninstall`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-explore`]: { optional: [\"scope\"] },\n [`${prefix}-manage`]: { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n [`${prefix}-describe`]: { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n [`${prefix}-reload`]: { optional: [\"scope\", \"watch\"] },\n [`${prefix}-doctor`]: {\n optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"isolated\", \"ignoreGlobal\", \"strictExit\", \"failOnWarn\"],\n },\n [`${prefix}-catalog`]: { optional: [\"scope\", \"fields\"] },\n [`${prefix}-adopt`]: { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n [`${prefix}-adopt-all`]: { optional: [\"scope\"] },\n [`${prefix}-activate`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-deactivate`]: { required: [\"target\"], optional: [\"scope\"] },\n [prefix]: {\n optional: MANAGED_EXTENSION_PACKAGE_OPTION_KEYS,\n },\n };\n}\n\nconst PM_TOOL_ACTION_SCHEMA_CONTRACTS: Record<string, PmActionSchemaContract> = {\n init: { optional: [\"prefix\", \"preset\", \"typePreset\", \"defaults\", \"author\", \"agentGuidance\", \"withPackages\", \"force\", \"verbose\"] },\n config: {\n required: [\"scope\", \"configAction\"],\n optional: [\"key\", \"value\", \"criterion\", \"clearCriteria\", \"format\", \"policy\"],\n },\n ...managedLifecycleSchemaContracts(\"extension\"),\n ...managedLifecycleSchemaContracts(\"package\"),\n install: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n upgrade: {\n optional: [\"target\", \"scope\", \"dryRun\", \"cliOnly\", \"packagesOnly\", \"repair\", \"tag\", \"packageName\"],\n },\n create: {\n required: [\"title\", \"description\", \"type\", \"status\", \"priority\", \"message\"],\n optional: CREATE_CONTRACT_PARAMETER_KEYS,\n },\n copy: { required: [\"id\"], optional: [\"title\", \"author\", \"message\"] },\n focus: { optional: [\"id\", \"clear\"], mutuallyExclusive: [[\"id\", \"clear\"]] },\n list: { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-all\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-draft\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-open\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-in-progress\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-blocked\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-closed\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n \"list-canceled\": { optional: LIST_CONTRACT_PARAMETER_KEYS },\n aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },\n \"dedupe-audit\": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },\n guide: { optional: [\"list\", \"format\", \"depth\"] },\n context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n get: { required: [\"id\"], optional: [\"depth\", \"full\", \"fields\", \"tree\", \"treeDepth\", \"format\"] },\n search: {\n optional: SEARCH_CONTRACT_PARAMETER_KEYS,\n anyOfRequired: [[\"query\"], [\"keywords\"]],\n },\n next: { optional: NEXT_CONTRACT_PARAMETER_KEYS },\n reindex: { optional: [\"mode\", \"progress\"] },\n history: { required: [\"id\"], optional: [\"limit\", \"compact\", \"full\", \"diff\", \"verify\", \"format\"] },\n \"history-redact\": {\n required: [\"id\"],\n optional: [\"literal\", \"regex\", \"replacement\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n anyOfRequired: [[\"literal\"], [\"regex\"]],\n },\n \"history-repair\": {\n // Exactly one of `id` (single stream) or `all` (bulk drift repair) is required.\n optional: [\"id\", \"all\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n oneOfRequired: [[\"id\"], [\"all\"]],\n },\n \"history-compact\": {\n // Single-id mode (`id` + optional `before`) or bulk mode (any of `ids` /\n // `allOver` / `closed` / `allStreams`, with optional `minEntries`). Scan\n // selectors (`allOver` + `closed`/`allStreams`) legitimately combine, so the\n // mode/exclusivity contract is enforced at runtime by assertHistoryCompactTarget\n // rather than a one-of schema rule.\n optional: [\"id\", \"before\", \"ids\", \"allOver\", \"closed\", \"allStreams\", \"minEntries\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n schema: {\n required: [\"subcommand\"],\n // No --message: schema mutations write config files, not item history.\n optional: [\n \"name\",\n \"description\",\n \"defaultStatus\",\n \"folder\",\n \"alias\",\n \"role\",\n \"order\",\n \"fieldType\",\n \"commands\",\n \"cliFlag\",\n \"required\",\n \"requiredOnCreate\",\n \"allowUnset\",\n \"requiredTypes\",\n \"typePreset\",\n \"infer\",\n \"minCount\",\n \"apply\",\n \"author\",\n \"force\",\n ],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"add-type\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-type\", required: [\"name\"] },\n // show-status/add-status/remove-status pass the status id as `name`.\n { property: \"subcommand\", value: \"add-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-status\", required: [\"name\"] },\n // field subcommands pass the field key as `name`.\n { property: \"subcommand\", value: \"add-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-field\", required: [\"name\"] },\n // apply-preset passes the preset name as `typePreset`.\n { property: \"subcommand\", value: \"apply-preset\", required: [\"typePreset\"] },\n ],\n },\n profile: {\n required: [\"subcommand\"],\n // No --message: profile staging writes config/schema files, not item history.\n optional: [\"name\", \"dryRun\", \"author\", \"force\"],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"apply\", required: [\"name\"] },\n { property: \"subcommand\", value: \"lint\", required: [\"name\"] },\n ],\n },\n plan: {\n required: [\"subcommand\"],\n optional: [\n \"id\",\n \"stepRef\",\n \"reorderTo\",\n \"title\",\n \"description\",\n \"scope\",\n \"parent\",\n \"related\",\n \"blocks\",\n \"blockedBy\",\n \"harness\",\n \"mode\",\n \"resumeContext\",\n \"tags\",\n \"priority\",\n \"body\",\n \"claim\",\n \"fromSearch\",\n \"stepTitle\",\n \"step\",\n \"stepBody\",\n \"stepOwner\",\n \"stepStatus\",\n \"stepEvidence\",\n \"stepBlockedReason\",\n \"stepReplacement\",\n \"dependsOn\",\n \"link\",\n \"linkKind\",\n \"linkNote\",\n \"promoteToItemDep\",\n \"allowMultipleActive\",\n \"file\",\n \"test\",\n \"doc\",\n \"decisionText\",\n \"decision\",\n \"decisionRationale\",\n \"decisionEvidence\",\n \"discoveryText\",\n \"discovery\",\n \"validationText\",\n \"validation\",\n \"validationCommand\",\n \"validationExpected\",\n \"depth\",\n \"fields\",\n \"steps\",\n \"materializeType\",\n \"materializeParent\",\n \"materializeTags\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n activity: { optional: ACTIVITY_CONTRACT_PARAMETER_KEYS },\n restore: { required: [\"id\", \"target\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n update: { required: [\"id\"], optional: UPDATE_CONTRACT_PARAMETER_KEYS },\n \"update-many\": { optional: UPDATE_MANY_CONTRACT_PARAMETER_KEYS },\n normalize: { optional: NORMALIZE_CONTRACT_PARAMETER_KEYS },\n close: {\n required: [\"id\"],\n optional: [\n \"text\",\n \"reason\",\n \"closeReason\",\n \"duplicateOf\",\n \"validateClose\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"close-many\": { optional: CLOSE_MANY_CONTRACT_PARAMETER_KEYS },\n delete: { required: [\"id\"], optional: [\"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n append: { required: [\"id\", \"body\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n comments: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"stdin\", \"file\", \"edit\", \"delete\", \"limit\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n \"comments-audit\": {\n optional: [\n \"status\",\n \"type\",\n \"assignee\",\n \"assigneeFilter\",\n \"parent\",\n \"tag\",\n \"sprint\",\n \"release\",\n \"priority\",\n \"limitItems\",\n \"limit\",\n \"fullHistory\",\n \"latest\",\n ],\n },\n notes: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditNote\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n learnings: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditLearning\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n files: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"list\",\n // GH-170 (pm-pfnx): `addNote` is the MCP spelling of the CLI --note flag\n // (the shared `note` parameter is the array-typed create/update note\n // seed, so files/docs use a distinct single-string key).\n \"addNote\",\n \"discover\",\n \"apply\",\n \"discoveryNote\",\n \"appendStable\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n docs: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"addNote\",\n \"list\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n deps: { required: [\"id\"], optional: [\"format\", \"maxDepth\", \"collapse\", \"summary\"] },\n test: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addJson\",\n \"remove\",\n \"run\",\n \"match\",\n \"onlyIndex\",\n \"onlyLast\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"test-all\": {\n optional: [\n \"status\",\n \"limit\",\n \"offset\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ],\n },\n telemetry: {\n optional: [\"subcommand\", \"limit\"],\n },\n \"test-runs-list\": {\n optional: [\"status\", \"limit\"],\n },\n \"test-runs-status\": {\n required: [\"runId\"],\n },\n \"test-runs-logs\": {\n required: [\"runId\"],\n optional: [\"stream\", \"tail\"],\n },\n \"test-runs-stop\": {\n required: [\"runId\"],\n optional: [\"force\"],\n },\n \"test-runs-resume\": {\n required: [\"runId\"],\n optional: [\"author\"],\n },\n stats: { optional: [\"storage\", \"metadataCoverage\", \"fieldUtilization\", \"byAssignee\", \"byTag\", \"byPriority\", \"tagPrefix\"] },\n health: {\n optional: [\n \"strictDirectories\",\n \"strictExit\",\n \"failOnWarn\",\n \"checkOnly\",\n \"checkTelemetry\",\n \"noRefresh\",\n \"refreshVectors\",\n \"verboseStaleItems\",\n \"brief\",\n \"summary\",\n \"skipVectors\",\n \"skipIntegrity\",\n \"skipDrift\",\n \"full\",\n ],\n },\n validate: {\n optional: [\n \"checkMetadata\",\n \"metadataProfile\",\n \"checkResolution\",\n \"checkLifecycle\",\n \"checkStaleBlockers\",\n \"dependencyCycleSeverity\",\n \"parentCycleSeverity\",\n \"checkFiles\",\n \"scanMode\",\n \"includePmInternals\",\n \"verboseFileLists\",\n \"verboseDiagnostics\",\n \"allAffectedIds\",\n \"strictExit\",\n \"failOnWarn\",\n \"fixHints\",\n \"autoFix\",\n \"dryRun\",\n \"fixScope\",\n \"pruneMissing\",\n \"checkHistoryDrift\",\n \"checkCommandReferences\",\n ],\n },\n gc: { optional: [\"dryRun\", \"gcScope\"] },\n contracts: { optional: [\"contractAction\", \"command\", \"schemaOnly\", \"flagsOnly\", \"availabilityOnly\", \"runtimeOnly\", \"activeOnly\", \"full\"] },\n completion: { required: [\"shell\"], optional: [\"eagerTags\"] },\n claim: { required: [\"id\"], optional: LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n release: { required: [\"id\"], optional: [\"allowAuditRelease\", ...LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n \"start-task\": { required: [\"id\"], optional: LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"pause-task\": { required: [\"id\"], optional: LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"close-task\": { required: [\"id\"], optional: [\"text\", \"validateClose\", ...LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n};\n\nexport const PM_TOOL_ACTION_PARAMETER_CONTRACTS: Readonly<Record<PmToolAction, PmActionSchemaContract>> =\n Object.freeze(\n Object.fromEntries(PM_TOOL_ACTIONS.map((action) => [action, PM_TOOL_ACTION_SCHEMA_CONTRACTS[action]])),\n ) as Readonly<Record<PmToolAction, PmActionSchemaContract>>;\n\nfunction fallbackToolParameterDescription(key: string): string {\n return key\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/[_-]/g, \" \")\n .trim()\n .replace(/^./, (value) => value.toUpperCase())\n .concat(\".\");\n}\n\nfunction decorateToolParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = PM_TOOL_PARAMETER_METADATA[key];\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterMetadata(\n action: PmToolAction,\n key: string,\n): { description: string; examples?: unknown[] } | undefined {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_METADATA, key)) {\n return PLAN_ACTION_PARAMETER_METADATA[key];\n }\n const actionOverrides = PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA[action];\n if (actionOverrides && Object.prototype.hasOwnProperty.call(actionOverrides, key)) {\n return actionOverrides[key];\n }\n return PM_TOOL_PARAMETER_METADATA[key];\n}\n\nfunction decorateActionScopedToolParameterDefinition(\n action: PmToolAction,\n key: string,\n definition: unknown,\n): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = actionScopedToolParameterMetadata(action, key);\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterDefinition(action: PmToolAction, key: string): unknown {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_PROPERTIES, key)) {\n return PLAN_ACTION_PARAMETER_PROPERTIES[key];\n }\n if ((action === \"get\" || action === \"history\" || action === \"search\") && key === \"format\") {\n return { type: \"string\", enum: [\"json\", \"toon\"] };\n }\n return PM_TOOL_PARAMETER_PROPERTIES[key];\n}\n\n/**\n * Build the `properties` map for one action-scoped schema: the fixed `action`\n * literal followed by every allowed parameter that resolves to a concrete\n * definition, each decorated with its action-scoped description and examples.\n */\nfunction buildActionScopedSchemaProperties(action: PmToolAction, allowedKeys: string[]): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n const: action,\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n };\n for (const key of allowedKeys) {\n if (key === \"action\") {\n continue;\n }\n const definition = actionScopedToolParameterDefinition(action, key);\n if (definition) {\n properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);\n }\n }\n return properties;\n}\n\n/**\n * Build the `oneOf` branches for an action whose contract requires exactly one of\n * several field groups. Each branch requires its own group and — when sibling\n * groups exist — forbids any field drawn from them, so the schema rejects the same\n * overlapping combinations the runtime rejects; `history-repair`'s `all` branch\n * additionally pins `all` to the literal `true`.\n */\nfunction buildOneOfSchemaEntries(\n action: PmToolAction,\n oneOfRequiredGroups: Array<string[]>,\n): Array<Record<string, unknown>> {\n const allOneOfFields = oneOfRequiredGroups.flat();\n return oneOfRequiredGroups.map((requiredFields) => {\n const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));\n return {\n required: [...requiredFields],\n ...(otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {}),\n ...(action === \"history-repair\" && requiredFields.includes(\"all\") ? { properties: { all: { const: true } } } : {}),\n };\n });\n}\n\n/**\n * Build the consolidated `allOf` constraint list for an action's contract,\n * appending branches in a fixed order — conditional-required (`if`/`then`), then\n * dependent any-of-required, then mutually-exclusive (`not`/`required`) — so a\n * given contract always serializes to a byte-identical schema. Returns an empty\n * array when the contract declares none of these constraints, letting the caller\n * omit the `allOf` key entirely.\n */\nfunction buildActionScopedAllOf(contract: PmActionSchemaContract): Array<Record<string, unknown>> {\n const allOf: Array<Record<string, unknown>> = [];\n if (contract.conditionalRequired && contract.conditionalRequired.length > 0) {\n for (const entry of contract.conditionalRequired) {\n allOf.push({\n if: {\n properties: {\n [entry.property]: { const: entry.value },\n },\n required: [entry.property],\n },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n required: entry.required,\n },\n });\n }\n }\n if (contract.dependentAnyOfRequired && contract.dependentAnyOfRequired.length > 0) {\n for (const entry of contract.dependentAnyOfRequired) {\n allOf.push({\n if: { required: [entry.property] },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n anyOf: entry.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n })),\n },\n });\n }\n }\n if (contract.mutuallyExclusive && contract.mutuallyExclusive.length > 0) {\n for (const group of contract.mutuallyExclusive) {\n allOf.push({ not: { required: toSchemaKeyList(group) } });\n }\n }\n return allOf;\n}\n\nfunction buildActionScopedToolSchema(action: PmToolAction): Record<string, unknown> {\n const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];\n const required = toSchemaKeyList(contract.required ?? []);\n const optional = toSchemaKeyList(contract.optional ?? []);\n const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];\n const allowedKeys = toSchemaKeyList([\"action\", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);\n const schema: Record<string, unknown> = {\n type: \"object\",\n additionalProperties: false,\n required: [\"action\", ...required],\n title: `pm action \"${action}\" parameters`,\n properties: buildActionScopedSchemaProperties(action, allowedKeys),\n };\n if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {\n schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n }));\n }\n if (contract.oneOfRequired && contract.oneOfRequired.length > 0) {\n schema.oneOf = buildOneOfSchemaEntries(action, contract.oneOfRequired);\n }\n const allOf = buildActionScopedAllOf(contract);\n if (allOf.length > 0) {\n schema.allOf = allOf;\n }\n return schema;\n}\n\n// Building the full MCP tool-parameter schemas (one variant per action) is only\n// needed by the MCP server, the `pm contracts` command, and SDK consumers — never\n// on the hot CLI path that imports this module for flag contracts. Wrap them in a\n// memoized lazy Proxy so the build is deferred until first property access and the\n// object API (`.type`, `.oneOf`, spread, JSON.stringify) stays identical.\nfunction createLazyContractSchema(\n build: () => Record<string, unknown>,\n): Record<string, unknown> {\n let value: Record<string, unknown> | undefined;\n const resolve = (): Record<string, unknown> => (value ??= build());\n return new Proxy({} as Record<string, unknown>, {\n get: (_target, prop) => resolve()[prop as string],\n has: (_target, prop) => prop in resolve(),\n ownKeys: () => Reflect.ownKeys(resolve()),\n getOwnPropertyDescriptor: (_target, prop) => {\n const descriptor = Reflect.getOwnPropertyDescriptor(resolve(), prop);\n if (descriptor) {\n descriptor.configurable = true;\n }\n return descriptor;\n },\n });\n}\n\n/**\n * Canonical version of the action-scoped strict MCP tool-parameters schema\n * (`PM_TOOL_PARAMETERS_SCHEMA`). Exported as the single source of truth so the\n * MCP server, the `pm contracts` command, SDK consumers, and the contract tests\n * all bind to one constant instead of re-typing the `\"4.0.2\"` literal (pm-r9sz).\n * Bump the patch/minor for additive, backward-compatible schema changes; bump\n * the MAJOR for breaking changes — the major also drives the `$id`\n * `tool-parameters-v{major}` slug, so the two never drift.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_VERSION = \"4.0.6\" as const;\n\n/**\n * Major component of {@link PM_TOOL_PARAMETERS_SCHEMA_VERSION}, used to build the\n * schema `$id` slug so a breaking version bump renames the document in lockstep.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_MAJOR = PM_TOOL_PARAMETERS_SCHEMA_VERSION.split(\".\")[0];\n\n/**\n * Version of the provider-compatible flat tool-parameters schema\n * (`PM_PROVIDER_TOOL_PARAMETERS_SCHEMA`). Tracked separately from the strict\n * schema because the flat projection evolves independently.\n */\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION = \"1.0.0\" as const;\n\nexport const PM_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(() => ({\n $schema: \"https://json-schema.org/draft/2020-12/schema\",\n $id: `https://schema.unbrained.dev/pm-cli/tool-parameters-v${PM_TOOL_PARAMETERS_SCHEMA_MAJOR}.schema.json`,\n title: \"pm-cli tool parameters (action-scoped strict schema)\",\n \"x-schema-version\": PM_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n oneOf: PM_TOOL_ACTIONS.map((action) => buildActionScopedToolSchema(action)),\n}));\n\nfunction toProviderCompatibleParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const decorated = decorateToolParameterDefinition(key, definition);\n if (typeof decorated.type === \"string\") {\n return decorated;\n }\n const anyOf = Array.isArray(decorated.anyOf) ? (decorated.anyOf as Array<Record<string, unknown>>) : [];\n const firstTypedVariant = anyOf.find((variant) => typeof variant.type === \"string\");\n if (firstTypedVariant) {\n const { anyOf: _anyOf, ...rest } = decorated;\n // Spread the whole typed variant (type plus any enum/minimum/maximum/pattern\n // constraints) so the flat provider schema keeps the variant's validation,\n // then let the decorated top-level fields (description, examples) win.\n return {\n ...firstTypedVariant,\n ...rest,\n };\n }\n const { anyOf: _anyOf, ...rest } = decorated;\n return {\n ...rest,\n type: \"string\",\n };\n}\n\nfunction buildProviderCompatibleToolSchema(): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n options: {\n type: \"object\",\n additionalProperties: true,\n description: \"Advanced command options object forwarded to the selected pm action.\",\n },\n };\n for (const key of Object.keys(PM_TOOL_PARAMETER_PROPERTIES).sort()) {\n properties[key] = toProviderCompatibleParameterDefinition(key, PM_TOOL_PARAMETER_PROPERTIES[key]);\n }\n return {\n title: \"pm-cli tool parameters (provider-compatible flat schema)\",\n \"x-schema-version\": PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n additionalProperties: false,\n required: [\"action\"],\n properties,\n };\n}\n\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(\n buildProviderCompatibleToolSchema,\n);\n\nexport const _testOnlyCliContracts = {\n buildActionScopedToolSchema,\n buildProviderCompatibleToolSchema,\n decorateActionScopedToolParameterDefinition,\n decorateToolParameterDefinition,\n toolActionSchemaContracts: PM_TOOL_ACTION_SCHEMA_CONTRACTS,\n toolParameterMetadata: PM_TOOL_PARAMETER_METADATA,\n toProviderCompatibleParameterDefinition,\n toUniqueFlagContracts,\n withFlagAliasMetadata,\n};\n"],"names":[],"mappings":"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","debugId":"5c3e7ffe-4b6a-5348-a40d-217591182b02"}
1
+ {"version":3,"file":"tool-schema.js","sources":["sdk/cli-contracts/tool-schema.ts"],"sourceRoot":"/","sourcesContent":["/**\n * @module sdk/cli-contracts/tool-schema\n *\n * MCP tool-parameter schema contracts: the per-action required/optional key sets\n * and the lazily-built strict (action-scoped) and provider-compatible (flat)\n * JSON Schemas served to MCP clients, the `pm contracts` command, and SDK\n * consumers from a single source of truth.\n */\nimport { normalizeUniqueStringList } from \"./string-lists.js\";\nimport { PM_TOOL_ACTIONS, type PmToolAction } from \"./enum-contracts.js\";\nimport {\n TOOL_CREATE_OPTION_CONTRACTS,\n TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_OPTION_CONTRACTS,\n TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS,\n TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS,\n TOOL_CONTEXT_OPTION_CONTRACTS,\n TOOL_ACTIVITY_OPTION_CONTRACTS,\n TOOL_LIST_FILTER_OPTION_CONTRACTS,\n TOOL_AGGREGATE_OPTION_CONTRACTS,\n TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS,\n TOOL_SEARCH_FILTER_OPTION_CONTRACTS,\n TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS,\n} from \"./tool-option-contracts.js\";\nimport {\n PM_TOOL_PARAMETER_PROPERTIES,\n PM_TOOL_PARAMETER_METADATA,\n PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA,\n PLAN_ACTION_PARAMETER_PROPERTIES,\n PLAN_ACTION_PARAMETER_METADATA,\n} from \"./tool-parameter-tables.js\";\nimport { toUniqueFlagContracts, withFlagAliasMetadata } from \"./flag-contracts.js\";\n\nconst PM_TOOL_GLOBAL_PARAMETER_KEYS = [\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"path\",\n \"pmExecutable\",\n \"timeoutMs\",\n] as const;\n\nconst PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS: Partial<Record<PmToolAction, readonly string[]>> = {\n create: [\"fullChangedFields\", \"idOnly\"],\n copy: [\"fullChangedFields\", \"idOnly\"],\n update: [\"fullChangedFields\", \"idOnly\"],\n close: [\"fullChangedFields\", \"idOnly\"],\n restore: [\"fullChangedFields\", \"idOnly\"],\n append: [\"fullChangedFields\"],\n \"update-many\": [\"fullChangedFields\"],\n \"close-many\": [\"fullChangedFields\"],\n};\n\n/**\n * Declarative description of one pm action's MCP parameter constraints —\n * required/optional keys plus JSON-Schema-style cross-field rules (anyOf, oneOf,\n * conditional, dependent, and mutually-exclusive groups) — from which the strict\n * action-scoped tool schema is built.\n */\nexport interface PmActionSchemaContract {\n required?: string[];\n optional?: string[];\n anyOfRequired?: Array<string[]>;\n oneOfRequired?: Array<string[]>;\n dependentAnyOfRequired?: Array<{\n property: string;\n anyOfRequired: Array<string[]>;\n }>;\n conditionalRequired?: Array<{\n property: string;\n value: string;\n required: string[];\n }>;\n /**\n * Groups of parameters that must not be supplied together. Each group emits a\n * JSON Schema `not: { required: [...] }` constraint so MCP clients validating\n * against the contract reject the same combinations the runtime rejects\n * (e.g. focus `id` + `clear`), keeping schema and runtime in lock-step.\n */\n mutuallyExclusive?: Array<string[]>;\n mutuallyExclusiveWhen?: Array<Array<{\n property: string;\n schema: Record<string, unknown>;\n }>>;\n}\n\nfunction toSchemaKeyList(values: string[]): string[] {\n return normalizeUniqueStringList(values);\n}\n\nconst CREATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CREATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"assignee\",\n]);\n\nconst UPDATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"force\",\n]);\n\nconst UPDATE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n ...UPDATE_CONTRACT_PARAMETER_KEYS,\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n]);\n\nconst NORMALIZE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"dryRun\",\n \"apply\",\n \"author\",\n \"message\",\n \"allowAuditUpdate\",\n \"force\",\n]);\n\nconst CLOSE_MANY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CLOSE_MANY_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"reason\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n \"validateClose\",\n \"dryRun\",\n \"rollback\",\n \"noCheckpoint\",\n \"author\",\n \"message\",\n \"force\",\n]);\n\nconst CONTEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_CONTEXT_OPTION_CONTRACTS.map((entry) => entry.param),\n \"past\",\n \"section\",\n]);\n\nconst ACTIVITY_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_ACTIVITY_OPTION_CONTRACTS.map((entry) => entry.param),\n \"stream\",\n]);\n\nconst LIST_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_LIST_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n \"includeBody\",\n \"noTruncate\",\n \"compact\",\n \"brief\",\n \"full\",\n]);\nconst LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS = [\n [\n { property: \"today\", schema: { const: true } },\n { property: \"recent\", schema: { const: true } },\n ],\n [\n { property: \"today\", schema: { const: true } },\n { property: \"updatedAfter\", schema: { type: \"string\", pattern: \"\\\\S\" } },\n ],\n [\n { property: \"recent\", schema: { const: true } },\n { property: \"updatedAfter\", schema: { type: \"string\", pattern: \"\\\\S\" } },\n ],\n];\nconst CONTRACTS_PROJECTION_MUTUALLY_EXCLUSIVE_GROUPS = [\n [\n { property: \"summary\", schema: { const: true } },\n { property: \"schemaOnly\", schema: { const: true } },\n ],\n [\n { property: \"summary\", schema: { const: true } },\n { property: \"flagsOnly\", schema: { const: true } },\n ],\n [\n { property: \"summary\", schema: { const: true } },\n { property: \"availabilityOnly\", schema: { const: true } },\n ],\n [\n { property: \"schemaOnly\", schema: { const: true } },\n { property: \"flagsOnly\", schema: { const: true } },\n ],\n [\n { property: \"schemaOnly\", schema: { const: true } },\n { property: \"availabilityOnly\", schema: { const: true } },\n ],\n [\n { property: \"flagsOnly\", schema: { const: true } },\n { property: \"availabilityOnly\", schema: { const: true } },\n ],\n];\nconst AGGREGATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n ...TOOL_AGGREGATE_OPTION_CONTRACTS.map((entry) => entry.param),\n \"count\",\n \"completion\",\n \"includeUnparented\",\n]);\nconst DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList(TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS.map((entry) => entry.param));\nconst SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"query\",\n \"keywords\",\n \"mode\",\n \"semantic\",\n \"hybrid\",\n \"includeLinked\",\n \"titleExact\",\n \"phraseExact\",\n \"highlight\",\n \"compact\",\n \"full\",\n ...TOOL_SEARCH_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),\n]);\n\nconst NEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([\n \"type\",\n \"tag\",\n \"priority\",\n \"assignee\",\n \"assigneeFilter\",\n \"sprint\",\n \"release\",\n \"parent\",\n \"limit\",\n \"blockedLimit\",\n \"readyOnly\",\n \"format\",\n]);\n\nconst AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = [\"author\", \"message\", \"force\"];\nconst LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = [\"author\", \"assignee\", \"message\", \"force\"];\n\nconst MANAGED_EXTENSION_PACKAGE_OPTION_KEYS = [\n \"target\",\n \"scope\",\n \"github\",\n \"ref\",\n \"init\",\n \"install\",\n \"uninstall\",\n \"explore\",\n \"manage\",\n \"describe\",\n \"markdown\",\n \"output\",\n \"reload\",\n \"doctor\",\n \"catalog\",\n \"adopt\",\n \"adoptAll\",\n \"activate\",\n \"deactivate\",\n \"runtimeProbe\",\n \"fixManagedState\",\n \"isolated\",\n \"ignoreGlobal\",\n \"detail\",\n \"trace\",\n \"watch\",\n \"strictExit\",\n \"failOnWarn\",\n];\n\nfunction managedLifecycleSchemaContracts(prefix: \"extension\" | \"package\"): Record<string, PmActionSchemaContract> {\n return {\n [`${prefix}-init`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-install`]: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n [`${prefix}-uninstall`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-explore`]: { optional: [\"scope\"] },\n [`${prefix}-manage`]: { optional: [\"scope\", \"runtimeProbe\", \"fixManagedState\"] },\n [`${prefix}-describe`]: { optional: [\"target\", \"scope\", \"markdown\", \"output\"] },\n [`${prefix}-reload`]: { optional: [\"scope\", \"watch\"] },\n [`${prefix}-doctor`]: {\n optional: [\"scope\", \"detail\", \"trace\", \"fixManagedState\", \"isolated\", \"ignoreGlobal\", \"strictExit\", \"failOnWarn\"],\n },\n [`${prefix}-catalog`]: { optional: [\"scope\", \"fields\"] },\n [`${prefix}-adopt`]: { required: [\"target\"], optional: [\"scope\", \"github\", \"ref\"] },\n [`${prefix}-adopt-all`]: { optional: [\"scope\"] },\n [`${prefix}-activate`]: { required: [\"target\"], optional: [\"scope\"] },\n [`${prefix}-deactivate`]: { required: [\"target\"], optional: [\"scope\"] },\n [prefix]: {\n optional: MANAGED_EXTENSION_PACKAGE_OPTION_KEYS,\n },\n };\n}\n\nconst PM_TOOL_ACTION_SCHEMA_CONTRACTS: Record<string, PmActionSchemaContract> = {\n init: { optional: [\"prefix\", \"preset\", \"typePreset\", \"defaults\", \"author\", \"agentGuidance\", \"withPackages\", \"force\", \"verbose\"] },\n config: {\n required: [\"scope\", \"configAction\"],\n optional: [\"key\", \"value\", \"criterion\", \"clearCriteria\", \"format\", \"policy\"],\n },\n ...managedLifecycleSchemaContracts(\"extension\"),\n ...managedLifecycleSchemaContracts(\"package\"),\n install: {\n optional: [\"target\", \"github\", \"scope\", \"ref\"],\n anyOfRequired: [[\"target\"], [\"github\"]],\n },\n upgrade: {\n optional: [\"target\", \"scope\", \"dryRun\", \"cliOnly\", \"packagesOnly\", \"repair\", \"tag\", \"packageName\"],\n },\n create: {\n required: [\"title\", \"description\", \"type\", \"status\", \"priority\", \"message\"],\n optional: CREATE_CONTRACT_PARAMETER_KEYS,\n },\n copy: { required: [\"id\"], optional: [\"title\", \"author\", \"message\"] },\n focus: { optional: [\"id\", \"clear\"], mutuallyExclusive: [[\"id\", \"clear\"]] },\n list: { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },\n \"list-all\": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },\n \"list-draft\": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },\n \"list-open\": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },\n \"list-in-progress\": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },\n \"list-blocked\": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },\n \"list-closed\": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },\n \"list-canceled\": { optional: LIST_CONTRACT_PARAMETER_KEYS, mutuallyExclusiveWhen: LIST_WINDOW_MUTUALLY_EXCLUSIVE_GROUPS },\n aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },\n \"dedupe-audit\": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },\n guide: { optional: [\"list\", \"format\", \"depth\"] },\n context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },\n get: { required: [\"id\"], optional: [\"depth\", \"full\", \"fields\", \"tree\", \"treeDepth\", \"format\"] },\n search: {\n optional: SEARCH_CONTRACT_PARAMETER_KEYS,\n anyOfRequired: [[\"query\"], [\"keywords\"]],\n },\n next: { optional: NEXT_CONTRACT_PARAMETER_KEYS },\n reindex: { optional: [\"mode\", \"progress\"] },\n history: { required: [\"id\"], optional: [\"limit\", \"compact\", \"full\", \"diff\", \"verify\", \"format\"] },\n \"history-redact\": {\n required: [\"id\"],\n optional: [\"literal\", \"regex\", \"replacement\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n anyOfRequired: [[\"literal\"], [\"regex\"]],\n },\n \"history-repair\": {\n // Exactly one of `id` (single stream) or `all` (bulk drift repair) is required.\n optional: [\"id\", \"all\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n oneOfRequired: [[\"id\"], [\"all\"]],\n },\n \"history-compact\": {\n // Single-id mode (`id` + optional `before`) or bulk mode (any of `ids` /\n // `allOver` / `closed` / `allStreams`, with optional `minEntries`). Scan\n // selectors (`allOver` + `closed`/`allStreams`) legitimately combine, so the\n // mode/exclusivity contract is enforced at runtime by assertHistoryCompactTarget\n // rather than a one-of schema rule.\n optional: [\"id\", \"before\", \"ids\", \"allOver\", \"closed\", \"allStreams\", \"minEntries\", \"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n schema: {\n required: [\"subcommand\"],\n // No --message: schema mutations write config files, not item history.\n optional: [\n \"name\",\n \"description\",\n \"defaultStatus\",\n \"folder\",\n \"alias\",\n \"role\",\n \"order\",\n \"fieldType\",\n \"commands\",\n \"cliFlag\",\n \"required\",\n \"requiredOnCreate\",\n \"allowUnset\",\n \"requiredTypes\",\n \"typePreset\",\n \"infer\",\n \"minCount\",\n \"apply\",\n \"author\",\n \"force\",\n ],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"add-type\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-type\", required: [\"name\"] },\n // show-status/add-status/remove-status pass the status id as `name`.\n { property: \"subcommand\", value: \"add-status\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-status\", required: [\"name\"] },\n // field subcommands pass the field key as `name`.\n { property: \"subcommand\", value: \"add-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"remove-field\", required: [\"name\"] },\n { property: \"subcommand\", value: \"show-field\", required: [\"name\"] },\n // apply-preset passes the preset name as `typePreset`.\n { property: \"subcommand\", value: \"apply-preset\", required: [\"typePreset\"] },\n ],\n },\n profile: {\n required: [\"subcommand\"],\n // No --message: profile staging writes config/schema files, not item history.\n optional: [\"name\", \"dryRun\", \"author\", \"force\"],\n conditionalRequired: [\n { property: \"subcommand\", value: \"show\", required: [\"name\"] },\n { property: \"subcommand\", value: \"apply\", required: [\"name\"] },\n { property: \"subcommand\", value: \"lint\", required: [\"name\"] },\n ],\n },\n plan: {\n required: [\"subcommand\"],\n optional: [\n \"id\",\n \"stepRef\",\n \"reorderTo\",\n \"title\",\n \"description\",\n \"scope\",\n \"parent\",\n \"related\",\n \"blocks\",\n \"blockedBy\",\n \"harness\",\n \"mode\",\n \"resumeContext\",\n \"tags\",\n \"priority\",\n \"body\",\n \"claim\",\n \"fromSearch\",\n \"stepTitle\",\n \"step\",\n \"stepBody\",\n \"stepOwner\",\n \"stepStatus\",\n \"stepEvidence\",\n \"stepBlockedReason\",\n \"stepReplacement\",\n \"dependsOn\",\n \"link\",\n \"linkKind\",\n \"linkNote\",\n \"promoteToItemDep\",\n \"allowMultipleActive\",\n \"file\",\n \"test\",\n \"doc\",\n \"decisionText\",\n \"decision\",\n \"decisionRationale\",\n \"decisionEvidence\",\n \"discoveryText\",\n \"discovery\",\n \"validationText\",\n \"validation\",\n \"validationCommand\",\n \"validationExpected\",\n \"depth\",\n \"fields\",\n \"steps\",\n \"materializeType\",\n \"materializeParent\",\n \"materializeTags\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n activity: { optional: ACTIVITY_CONTRACT_PARAMETER_KEYS },\n restore: { required: [\"id\", \"target\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n update: { required: [\"id\"], optional: UPDATE_CONTRACT_PARAMETER_KEYS },\n \"update-many\": { optional: UPDATE_MANY_CONTRACT_PARAMETER_KEYS },\n normalize: { optional: NORMALIZE_CONTRACT_PARAMETER_KEYS },\n close: {\n required: [\"id\"],\n optional: [\n \"text\",\n \"reason\",\n \"closeReason\",\n \"duplicateOf\",\n \"validateClose\",\n \"resolution\",\n \"expectedResult\",\n \"actualResult\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"close-many\": { optional: CLOSE_MANY_CONTRACT_PARAMETER_KEYS },\n delete: { required: [\"id\"], optional: [\"dryRun\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n append: { required: [\"id\", \"body\"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n comments: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"stdin\", \"file\", \"edit\", \"delete\", \"limit\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n \"comments-audit\": {\n optional: [\n \"status\",\n \"type\",\n \"assignee\",\n \"assigneeFilter\",\n \"parent\",\n \"tag\",\n \"sprint\",\n \"release\",\n \"priority\",\n \"limitItems\",\n \"limit\",\n \"fullHistory\",\n \"latest\",\n ],\n },\n notes: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditNote\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n learnings: {\n required: [\"id\"],\n optional: [\"text\", \"add\", \"limit\", \"allowAuditLearning\", \"allowAuditComment\", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],\n },\n files: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"list\",\n // GH-170 (pm-pfnx): `addNote` is the MCP spelling of the CLI --note flag\n // (the shared `note` parameter is the array-typed create/update note\n // seed, so files/docs use a distinct single-string key).\n \"addNote\",\n \"discover\",\n \"apply\",\n \"discoveryNote\",\n \"appendStable\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n docs: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addGlob\",\n \"remove\",\n \"migrate\",\n \"addNote\",\n \"list\",\n \"validatePaths\",\n \"audit\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n dependentAnyOfRequired: [{ property: \"addNote\", anyOfRequired: [[\"add\"], [\"addGlob\"]] }],\n },\n deps: { required: [\"id\"], optional: [\"format\", \"maxDepth\", \"collapse\", \"summary\"] },\n test: {\n required: [\"id\"],\n optional: [\n \"add\",\n \"addJson\",\n \"remove\",\n \"run\",\n \"match\",\n \"onlyIndex\",\n \"onlyLast\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,\n ],\n },\n \"test-all\": {\n optional: [\n \"status\",\n \"limit\",\n \"offset\",\n \"background\",\n \"timeout\",\n \"progress\",\n \"envSet\",\n \"envClear\",\n \"sharedHostSafe\",\n \"pmContext\",\n \"overrideLinkedPmContext\",\n \"failOnContextMismatch\",\n \"failOnSkipped\",\n \"failOnEmptyTestRun\",\n \"requireAssertionsForPm\",\n \"checkContext\",\n \"autoPmContext\",\n ],\n },\n telemetry: {\n optional: [\"subcommand\", \"limit\"],\n },\n \"test-runs-list\": {\n optional: [\"status\", \"limit\"],\n },\n \"test-runs-status\": {\n required: [\"runId\"],\n },\n \"test-runs-logs\": {\n required: [\"runId\"],\n optional: [\"stream\", \"tail\"],\n },\n \"test-runs-stop\": {\n required: [\"runId\"],\n optional: [\"force\"],\n },\n \"test-runs-resume\": {\n required: [\"runId\"],\n optional: [\"author\"],\n },\n stats: { optional: [\"storage\", \"metadataCoverage\", \"fieldUtilization\", \"byAssignee\", \"byTag\", \"byPriority\", \"tagPrefix\"] },\n health: {\n optional: [\n \"strictDirectories\",\n \"strictExit\",\n \"failOnWarn\",\n \"checkOnly\",\n \"checkTelemetry\",\n \"noRefresh\",\n \"refreshVectors\",\n \"verboseStaleItems\",\n \"brief\",\n \"summary\",\n \"skipVectors\",\n \"skipIntegrity\",\n \"skipDrift\",\n \"full\",\n ],\n },\n validate: {\n optional: [\n \"checkMetadata\",\n \"metadataProfile\",\n \"checkResolution\",\n \"checkLifecycle\",\n \"checkStaleBlockers\",\n \"dependencyCycleSeverity\",\n \"parentCycleSeverity\",\n \"checkFiles\",\n \"scanMode\",\n \"includePmInternals\",\n \"verboseFileLists\",\n \"verboseDiagnostics\",\n \"allAffectedIds\",\n \"strictExit\",\n \"failOnWarn\",\n \"fixHints\",\n \"autoFix\",\n \"dryRun\",\n \"fixScope\",\n \"pruneMissing\",\n \"checkHistoryDrift\",\n \"checkCommandReferences\",\n ],\n },\n gc: { optional: [\"dryRun\", \"gcScope\"] },\n contracts: {\n optional: [\"contractAction\", \"command\", \"summary\", \"schemaOnly\", \"flagsOnly\", \"availabilityOnly\", \"runtimeOnly\", \"activeOnly\", \"full\"],\n mutuallyExclusiveWhen: CONTRACTS_PROJECTION_MUTUALLY_EXCLUSIVE_GROUPS,\n },\n completion: { required: [\"shell\"], optional: [\"eagerTags\"] },\n claim: { required: [\"id\"], optional: LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n release: { required: [\"id\"], optional: [\"allowAuditRelease\", ...LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n \"start-task\": { required: [\"id\"], optional: LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"pause-task\": { required: [\"id\"], optional: LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },\n \"close-task\": { required: [\"id\"], optional: [\"text\", \"validateClose\", ...LIFECYCLE_AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },\n};\n\nexport const PM_TOOL_ACTION_PARAMETER_CONTRACTS: Readonly<Record<PmToolAction, PmActionSchemaContract>> =\n Object.freeze(\n Object.fromEntries(PM_TOOL_ACTIONS.map((action) => [action, PM_TOOL_ACTION_SCHEMA_CONTRACTS[action]])),\n ) as Readonly<Record<PmToolAction, PmActionSchemaContract>>;\n\nfunction fallbackToolParameterDescription(key: string): string {\n return key\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/[_-]/g, \" \")\n .trim()\n .replace(/^./, (value) => value.toUpperCase())\n .concat(\".\");\n}\n\nfunction decorateToolParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = PM_TOOL_PARAMETER_METADATA[key];\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterMetadata(\n action: PmToolAction,\n key: string,\n): { description: string; examples?: unknown[] } | undefined {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_METADATA, key)) {\n return PLAN_ACTION_PARAMETER_METADATA[key];\n }\n const actionOverrides = PM_TOOL_ACTION_SCOPED_PARAMETER_METADATA[action];\n if (actionOverrides && Object.prototype.hasOwnProperty.call(actionOverrides, key)) {\n return actionOverrides[key];\n }\n return PM_TOOL_PARAMETER_METADATA[key];\n}\n\nfunction decorateActionScopedToolParameterDefinition(\n action: PmToolAction,\n key: string,\n definition: unknown,\n): Record<string, unknown> {\n const baseDefinition = typeof definition === \"object\" && definition !== null ? { ...(definition as Record<string, unknown>) } : {};\n const metadata = actionScopedToolParameterMetadata(action, key);\n return {\n ...baseDefinition,\n description: metadata?.description ?? fallbackToolParameterDescription(key),\n ...(metadata?.examples ? { examples: metadata.examples } : {}),\n };\n}\n\nfunction actionScopedToolParameterDefinition(action: PmToolAction, key: string): unknown {\n if (action === \"plan\" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_PROPERTIES, key)) {\n return PLAN_ACTION_PARAMETER_PROPERTIES[key];\n }\n if ((action === \"get\" || action === \"history\" || action === \"search\") && key === \"format\") {\n return { type: \"string\", enum: [\"json\", \"toon\"] };\n }\n return PM_TOOL_PARAMETER_PROPERTIES[key];\n}\n\n/**\n * Build the `properties` map for one action-scoped schema: the fixed `action`\n * literal followed by every allowed parameter that resolves to a concrete\n * definition, each decorated with its action-scoped description and examples.\n */\nfunction buildActionScopedSchemaProperties(action: PmToolAction, allowedKeys: string[]): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n const: action,\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n };\n for (const key of allowedKeys) {\n if (key === \"action\") {\n continue;\n }\n const definition = actionScopedToolParameterDefinition(action, key);\n if (definition) {\n properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);\n }\n }\n return properties;\n}\n\n/**\n * Build the `oneOf` branches for an action whose contract requires exactly one of\n * several field groups. Each branch requires its own group and — when sibling\n * groups exist — forbids any field drawn from them, so the schema rejects the same\n * overlapping combinations the runtime rejects; `history-repair`'s `all` branch\n * additionally pins `all` to the literal `true`.\n */\nfunction buildOneOfSchemaEntries(\n action: PmToolAction,\n oneOfRequiredGroups: Array<string[]>,\n): Array<Record<string, unknown>> {\n const allOneOfFields = oneOfRequiredGroups.flat();\n return oneOfRequiredGroups.map((requiredFields) => {\n const otherFields = allOneOfFields.filter((field) => !requiredFields.includes(field));\n return {\n required: [...requiredFields],\n ...(otherFields.length > 0 ? { not: { anyOf: otherFields.map((field) => ({ required: [field] })) } } : {}),\n ...(action === \"history-repair\" && requiredFields.includes(\"all\") ? { properties: { all: { const: true } } } : {}),\n };\n });\n}\n\n/**\n * Build the consolidated `allOf` constraint list for an action's contract,\n * appending branches in a fixed order — conditional-required (`if`/`then`), then\n * dependent any-of-required, then mutually-exclusive (`not`/`required`) — so a\n * given contract always serializes to a byte-identical schema. Returns an empty\n * array when the contract declares none of these constraints, letting the caller\n * omit the `allOf` key entirely.\n */\nfunction buildActionScopedAllOf(contract: PmActionSchemaContract): Array<Record<string, unknown>> {\n const allOf: Array<Record<string, unknown>> = [];\n if (contract.conditionalRequired && contract.conditionalRequired.length > 0) {\n for (const entry of contract.conditionalRequired) {\n allOf.push({\n if: {\n properties: {\n [entry.property]: { const: entry.value },\n },\n required: [entry.property],\n },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n required: entry.required,\n },\n });\n }\n }\n if (contract.dependentAnyOfRequired && contract.dependentAnyOfRequired.length > 0) {\n for (const entry of contract.dependentAnyOfRequired) {\n allOf.push({\n if: { required: [entry.property] },\n // eslint-disable-next-line unicorn/no-thenable -- JSON Schema conditional keyword, not a Promise-like object.\n then: {\n anyOf: entry.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n })),\n },\n });\n }\n }\n if (contract.mutuallyExclusive && contract.mutuallyExclusive.length > 0) {\n for (const group of contract.mutuallyExclusive) {\n allOf.push({ not: { required: toSchemaKeyList(group) } });\n }\n }\n if (contract.mutuallyExclusiveWhen && contract.mutuallyExclusiveWhen.length > 0) {\n for (const group of contract.mutuallyExclusiveWhen) {\n allOf.push({\n not: {\n allOf: group.map((condition) => ({\n properties: { [condition.property]: condition.schema },\n required: [condition.property],\n })),\n },\n });\n }\n }\n return allOf;\n}\n\nfunction buildActionScopedToolSchema(action: PmToolAction): Record<string, unknown> {\n const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];\n const required = toSchemaKeyList(contract.required ?? []);\n const optional = toSchemaKeyList(contract.optional ?? []);\n const mutationParameterKeys = PM_TOOL_ACTION_MUTATION_PARAMETER_KEYS[action] ?? [];\n const allowedKeys = toSchemaKeyList([\"action\", ...PM_TOOL_GLOBAL_PARAMETER_KEYS, ...mutationParameterKeys, ...required, ...optional]);\n const schema: Record<string, unknown> = {\n type: \"object\",\n additionalProperties: false,\n required: [\"action\", ...required],\n title: `pm action \"${action}\" parameters`,\n properties: buildActionScopedSchemaProperties(action, allowedKeys),\n };\n if (contract.anyOfRequired && contract.anyOfRequired.length > 0) {\n schema.anyOf = contract.anyOfRequired.map((requiredFields) => ({\n required: [...requiredFields],\n }));\n }\n if (contract.oneOfRequired && contract.oneOfRequired.length > 0) {\n schema.oneOf = buildOneOfSchemaEntries(action, contract.oneOfRequired);\n }\n const allOf = buildActionScopedAllOf(contract);\n if (allOf.length > 0) {\n schema.allOf = allOf;\n }\n return schema;\n}\n\n// Building the full MCP tool-parameter schemas (one variant per action) is only\n// needed by the MCP server, the `pm contracts` command, and SDK consumers — never\n// on the hot CLI path that imports this module for flag contracts. Wrap them in a\n// memoized lazy Proxy so the build is deferred until first property access and the\n// object API (`.type`, `.oneOf`, spread, JSON.stringify) stays identical.\nfunction createLazyContractSchema(\n build: () => Record<string, unknown>,\n): Record<string, unknown> {\n let value: Record<string, unknown> | undefined;\n const resolve = (): Record<string, unknown> => (value ??= build());\n return new Proxy({} as Record<string, unknown>, {\n get: (_target, prop) => resolve()[prop as string],\n has: (_target, prop) => prop in resolve(),\n ownKeys: () => Reflect.ownKeys(resolve()),\n getOwnPropertyDescriptor: (_target, prop) => {\n const descriptor = Reflect.getOwnPropertyDescriptor(resolve(), prop);\n if (descriptor) {\n descriptor.configurable = true;\n }\n return descriptor;\n },\n });\n}\n\n/**\n * Canonical version of the action-scoped strict MCP tool-parameters schema\n * (`PM_TOOL_PARAMETERS_SCHEMA`). Exported as the single source of truth so the\n * MCP server, the `pm contracts` command, SDK consumers, and the contract tests\n * all bind to one constant instead of re-typing the `\"4.0.2\"` literal (pm-r9sz).\n * Bump the patch/minor for additive, backward-compatible schema changes; bump\n * the MAJOR for breaking changes — the major also drives the `$id`\n * `tool-parameters-v{major}` slug, so the two never drift.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_VERSION = \"4.0.6\" as const;\n\n/**\n * Major component of {@link PM_TOOL_PARAMETERS_SCHEMA_VERSION}, used to build the\n * schema `$id` slug so a breaking version bump renames the document in lockstep.\n */\nexport const PM_TOOL_PARAMETERS_SCHEMA_MAJOR = PM_TOOL_PARAMETERS_SCHEMA_VERSION.split(\".\")[0];\n\n/**\n * Version of the provider-compatible flat tool-parameters schema\n * (`PM_PROVIDER_TOOL_PARAMETERS_SCHEMA`). Tracked separately from the strict\n * schema because the flat projection evolves independently.\n */\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION = \"1.0.0\" as const;\n\nexport const PM_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(() => ({\n $schema: \"https://json-schema.org/draft/2020-12/schema\",\n $id: `https://schema.unbrained.dev/pm-cli/tool-parameters-v${PM_TOOL_PARAMETERS_SCHEMA_MAJOR}.schema.json`,\n title: \"pm-cli tool parameters (action-scoped strict schema)\",\n \"x-schema-version\": PM_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n oneOf: PM_TOOL_ACTIONS.map((action) => buildActionScopedToolSchema(action)),\n}));\n\nfunction toProviderCompatibleParameterDefinition(key: string, definition: unknown): Record<string, unknown> {\n const decorated = decorateToolParameterDefinition(key, definition);\n if (typeof decorated.type === \"string\") {\n return decorated;\n }\n const anyOf = Array.isArray(decorated.anyOf) ? (decorated.anyOf as Array<Record<string, unknown>>) : [];\n const firstTypedVariant = anyOf.find((variant) => typeof variant.type === \"string\");\n if (firstTypedVariant) {\n const { anyOf: _anyOf, ...rest } = decorated;\n // Spread the whole typed variant (type plus any enum/minimum/maximum/pattern\n // constraints) so the flat provider schema keeps the variant's validation,\n // then let the decorated top-level fields (description, examples) win.\n return {\n ...firstTypedVariant,\n ...rest,\n };\n }\n const { anyOf: _anyOf, ...rest } = decorated;\n return {\n ...rest,\n type: \"string\",\n };\n}\n\nfunction buildProviderCompatibleToolSchema(): Record<string, unknown> {\n const properties: Record<string, unknown> = {\n action: {\n type: \"string\",\n description: PM_TOOL_PARAMETER_METADATA.action?.description ?? \"Tool action to execute.\",\n },\n options: {\n type: \"object\",\n additionalProperties: true,\n description: \"Advanced command options object forwarded to the selected pm action.\",\n },\n };\n for (const key of Object.keys(PM_TOOL_PARAMETER_PROPERTIES).sort()) {\n properties[key] = toProviderCompatibleParameterDefinition(key, PM_TOOL_PARAMETER_PROPERTIES[key]);\n }\n return {\n title: \"pm-cli tool parameters (provider-compatible flat schema)\",\n \"x-schema-version\": PM_PROVIDER_TOOL_PARAMETERS_SCHEMA_VERSION,\n type: \"object\",\n additionalProperties: false,\n required: [\"action\"],\n properties,\n };\n}\n\nexport const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA: Record<string, unknown> = createLazyContractSchema(\n buildProviderCompatibleToolSchema,\n);\n\nexport const _testOnlyCliContracts = {\n buildActionScopedToolSchema,\n buildProviderCompatibleToolSchema,\n decorateActionScopedToolParameterDefinition,\n decorateToolParameterDefinition,\n toolActionSchemaContracts: PM_TOOL_ACTION_SCHEMA_CONTRACTS,\n toolParameterMetadata: PM_TOOL_PARAMETER_METADATA,\n toProviderCompatibleParameterDefinition,\n toUniqueFlagContracts,\n withFlagAliasMetadata,\n};\n"],"names":[],"mappings":"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","debugId":"9e5e0763-b8ec-5aed-8b8d-9acf8c2cb056"}
@@ -0,0 +1,166 @@
1
+ /** Canonical signal keys understood by the built-in relevance model. */
2
+ export declare const CONTEXT_RELEVANCE_SIGNAL_NAMES: readonly ["structural", "recency", "activity_density", "graph_proximity", "claim_focus", "priority_pressure", "risk_pressure", "deadline_pressure", "knowledge_density", "author_affinity", "semantic_similarity"];
3
+ /** A normalized signal consumed by the built-in context relevance scorer. */
4
+ export type ContextRelevanceSignalName = (typeof CONTEXT_RELEVANCE_SIGNAL_NAMES)[number];
5
+ /** Normalized candidate features; omitted signals are excluded from weighting. */
6
+ export type ContextRelevanceSignals = Partial<Record<Exclude<ContextRelevanceSignalName, "structural">, number>>;
7
+ /** A project-management object and its derived relevance signals. */
8
+ export interface ContextRelevanceCandidate<TItem> {
9
+ id: string;
10
+ item: TItem;
11
+ signals?: ContextRelevanceSignals;
12
+ }
13
+ /** Per-signal weighted contributions used to explain a ranked result. */
14
+ export type ContextRelevanceContributions = Record<string, number>;
15
+ /** One ranked candidate with deterministic score and explanation metadata. */
16
+ export interface RankedContextCandidate<TItem> extends ContextRelevanceCandidate<TItem> {
17
+ baseline_rank: number;
18
+ rank: number;
19
+ score: number;
20
+ contributions: ContextRelevanceContributions;
21
+ }
22
+ /** Complete output from a context relevance scorer. */
23
+ export interface ContextRelevanceReport<TItem> {
24
+ model: string;
25
+ available_signals: ContextRelevanceSignalName[];
26
+ ranked: RankedContextCandidate<TItem>[];
27
+ warnings?: string[];
28
+ }
29
+ /** Minimal custom score returned by a replacement or wrapper scorer. */
30
+ export interface ContextRelevanceCustomScore {
31
+ id: string;
32
+ score: number;
33
+ }
34
+ /** Input provided to a custom scorer, including the deterministic default. */
35
+ export interface ContextRelevanceScorerInput<TItem> {
36
+ candidates: readonly ContextRelevanceCandidate<TItem>[];
37
+ default_report: ContextRelevanceReport<TItem>;
38
+ }
39
+ /** Replaceable package/extension scorer contract. */
40
+ export type ContextRelevanceScorer<TItem> = (input: ContextRelevanceScorerInput<TItem>) => readonly ContextRelevanceCustomScore[] | Promise<readonly ContextRelevanceCustomScore[]>;
41
+ /** Options for the built-in or replaceable context relevance scorer. */
42
+ export interface ScoreContextCandidatesOptions<TItem> {
43
+ weights?: Partial<Record<ContextRelevanceSignalName, number>>;
44
+ scorer?: ContextRelevanceScorer<TItem>;
45
+ }
46
+ /** Governed extension service used to replace or wrap context ranking. */
47
+ export declare const CONTEXT_RELEVANCE_SERVICE: "context_relevance";
48
+ /** Command surface requesting an active extension relevance override. */
49
+ export type ContextRelevanceSurface = "context" | "next";
50
+ /**
51
+ * Score candidates with pm's deterministic weighted model. Candidate order is
52
+ * the structural baseline and remains unchanged when no advanced signals exist.
53
+ */
54
+ export declare function defaultScoreContextCandidates<TItem>(candidates: readonly ContextRelevanceCandidate<TItem>[], options?: Pick<ScoreContextCandidatesOptions<TItem>, "weights">): ContextRelevanceReport<TItem>;
55
+ /** Score candidates with the default model or a validated replacement/wrapper. */
56
+ export declare function scoreContextCandidates<TItem>(candidates: readonly ContextRelevanceCandidate<TItem>[], options?: ScoreContextCandidatesOptions<TItem>): Promise<ContextRelevanceReport<TItem>>;
57
+ /**
58
+ * Score command candidates through the public default model and then the active
59
+ * governed `context_relevance` service override, when one is registered.
60
+ */
61
+ export declare function scoreContextCandidatesWithActiveExtensions<TItem>(surface: ContextRelevanceSurface, candidates: readonly ContextRelevanceCandidate<TItem>[], options?: Pick<ScoreContextCandidatesOptions<TItem>, "weights">): Promise<ContextRelevanceReport<TItem>>;
62
+ /** Input for rank-aware context/next quality evaluation. */
63
+ export interface ContextRankingEvaluationInput {
64
+ ranked_ids: string[];
65
+ judgments: Record<string, number>;
66
+ required_ids?: string[];
67
+ continuity_ids?: string[];
68
+ actual_tokens: number;
69
+ token_budget: number;
70
+ }
71
+ /** Rank-quality, continuity, recall, and token-budget metrics for one scenario. */
72
+ export interface ContextRankingEvaluation {
73
+ ndcg: number;
74
+ reciprocal_rank: number;
75
+ required_recall: number;
76
+ continuity_coverage: number;
77
+ token_budget_adherence: number;
78
+ within_token_budget: boolean;
79
+ }
80
+ /** Flexible read options accepted by context evaluation scenarios. */
81
+ export interface ContextEvaluationReadOptions {
82
+ explainRanking?: boolean;
83
+ [key: string]: unknown;
84
+ }
85
+ /** Minimal item identity consumed by the context evaluation runner. */
86
+ export interface ContextEvaluationResultItem {
87
+ id: string;
88
+ }
89
+ /** Optional scorer attribution returned by an evaluated read primitive. */
90
+ export interface ContextEvaluationResultRanking {
91
+ items?: Array<{
92
+ id: string;
93
+ contributions: ContextRelevanceContributions;
94
+ }>;
95
+ }
96
+ /** Structural context result consumed by the evaluation runner. */
97
+ export interface ContextEvaluationContextResult {
98
+ high_level?: ContextEvaluationResultItem[];
99
+ low_level?: ContextEvaluationResultItem[];
100
+ blocked_fallback?: ContextEvaluationResultItem[];
101
+ ranking?: ContextEvaluationResultRanking;
102
+ [key: string]: unknown;
103
+ }
104
+ /** Structural next result consumed by the evaluation runner. */
105
+ export interface ContextEvaluationNextResult {
106
+ ready?: ContextEvaluationResultItem[];
107
+ ranking?: ContextEvaluationResultRanking;
108
+ [key: string]: unknown;
109
+ }
110
+ /** Read-only SDK surface required by the context evaluation runner. */
111
+ export interface ContextEvaluationReader {
112
+ context(options?: ContextEvaluationReadOptions): Promise<ContextEvaluationContextResult>;
113
+ next(options?: ContextEvaluationReadOptions): Promise<ContextEvaluationNextResult>;
114
+ }
115
+ /** One graded context or next scenario evaluated against a real SDK reader. */
116
+ export interface ContextEvaluationScenario {
117
+ id: string;
118
+ surface: ContextRelevanceSurface;
119
+ options?: ContextEvaluationReadOptions;
120
+ judgments: Record<string, number>;
121
+ required_ids?: string[];
122
+ continuity_ids?: string[];
123
+ token_budget: number;
124
+ rationale: string;
125
+ }
126
+ /** Per-item signal attribution retained by a context evaluation report. */
127
+ export interface ContextEvaluationAttribution {
128
+ id: string;
129
+ contributions: ContextRelevanceContributions;
130
+ }
131
+ /** Result of executing and grading one context evaluation scenario. */
132
+ export interface ContextEvaluationScenarioReport {
133
+ id: string;
134
+ surface: ContextRelevanceSurface;
135
+ rationale: string;
136
+ ranked_ids: string[];
137
+ actual_tokens: number;
138
+ metrics: ContextRankingEvaluation;
139
+ attribution: ContextEvaluationAttribution[];
140
+ }
141
+ /** Minimum acceptable aggregate metrics for a context evaluation corpus. */
142
+ export interface ContextEvaluationThresholds {
143
+ ndcg: number;
144
+ reciprocal_rank: number;
145
+ required_recall: number;
146
+ continuity_coverage: number;
147
+ token_budget_adherence: number;
148
+ }
149
+ /** Canonical aggregate metrics required by every context evaluation corpus. */
150
+ export declare const CONTEXT_EVALUATION_METRIC_NAMES: readonly ["ndcg", "reciprocal_rank", "required_recall", "continuity_coverage", "token_budget_adherence"];
151
+ /** Aggregate context evaluation report suitable for a CI quality gate. */
152
+ export interface ContextEvaluationCorpusReport {
153
+ scenario_count: number;
154
+ aggregate: ContextEvaluationThresholds;
155
+ scenarios: ContextEvaluationScenarioReport[];
156
+ passed: boolean;
157
+ failures: string[];
158
+ }
159
+ /** Evaluate one ranked context packet against graded human judgments. */
160
+ export declare function evaluateContextRanking(input: ContextRankingEvaluationInput): ContextRankingEvaluation;
161
+ /** Execute one graded scenario through public SDK context/next read primitives. */
162
+ export declare function runContextEvaluationScenario(scenario: ContextEvaluationScenario, reader: ContextEvaluationReader): Promise<ContextEvaluationScenarioReport>;
163
+ /** Aggregate scenario reports and evaluate every metric against explicit thresholds. */
164
+ export declare function summarizeContextEvaluationReports(reports: readonly ContextEvaluationScenarioReport[], thresholds: ContextEvaluationThresholds): ContextEvaluationCorpusReport;
165
+ /** Execute a same-workspace scenario corpus through public SDK read primitives. */
166
+ export declare function runContextEvaluationCorpus(scenarios: readonly ContextEvaluationScenario[], reader: ContextEvaluationReader, thresholds: ContextEvaluationThresholds): Promise<ContextEvaluationCorpusReport>;