@unbrained/pm-cli 2026.7.9 → 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 (405) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cli/bootstrap-args.js +6 -3
  3. package/dist/cli/bootstrap-args.js.map +1 -1
  4. package/dist/cli/commands/context.d.ts +23 -0
  5. package/dist/cli/commands/context.js +96 -7
  6. package/dist/cli/commands/context.js.map +1 -1
  7. package/dist/cli/commands/extension.d.ts +1 -1
  8. package/dist/cli/commands/extension.js +91 -32
  9. package/dist/cli/commands/extension.js.map +1 -1
  10. package/dist/cli/commands/init.d.ts +19 -3
  11. package/dist/cli/commands/init.js +57 -24
  12. package/dist/cli/commands/init.js.map +1 -1
  13. package/dist/cli/commands/next.d.ts +3 -1
  14. package/dist/cli/commands/next.js +19 -7
  15. package/dist/cli/commands/next.js.map +1 -1
  16. package/dist/cli/commands/update.js +20 -10
  17. package/dist/cli/commands/update.js.map +1 -1
  18. package/dist/cli/register-list-query.js +8 -4
  19. package/dist/cli/register-list-query.js.map +1 -1
  20. package/dist/cli/register-setup.js +11 -2
  21. package/dist/cli/register-setup.js.map +1 -1
  22. package/dist/cli-bundle/chunks/append-G7NGOQVU.js +11 -0
  23. package/dist/cli-bundle/chunks/{append-RSPHC423.js → append-SIECQAPH.js} +5 -5
  24. package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js → chunk-22PW73KV.js} +3 -3
  25. package/dist/cli-bundle/chunks/{chunk-NBJCIAVV.js → chunk-2RW5DWHQ.js} +13 -8
  26. package/dist/cli-bundle/chunks/chunk-2RW5DWHQ.js.map +1 -0
  27. package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js → chunk-35U3AVRY.js} +3 -3
  28. package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js → chunk-3JFQRPOI.js} +2 -2
  29. package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js → chunk-3THCOPYI.js} +4 -4
  30. package/dist/cli-bundle/chunks/{chunk-D6J5673C.js → chunk-4BINCIRM.js} +4 -4
  31. package/dist/cli-bundle/chunks/{chunk-26MFLA7K.js → chunk-4P2GYOM5.js} +7 -7
  32. package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js → chunk-4QE5HOJY.js} +5 -5
  33. package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js → chunk-56J3MPGE.js} +2 -2
  34. package/dist/cli-bundle/chunks/{chunk-MCZK7LY6.js → chunk-5BFBDJ4R.js} +24 -16
  35. package/dist/cli-bundle/chunks/chunk-5BFBDJ4R.js.map +1 -0
  36. package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js → chunk-62ECRG6J.js} +3 -3
  37. package/dist/cli-bundle/chunks/{chunk-VCGHRLJU.js → chunk-62KPBB2W.js} +10 -10
  38. package/dist/cli-bundle/chunks/{chunk-3FUXM574.js → chunk-6MK6M35B.js} +4 -4
  39. package/dist/cli-bundle/chunks/{chunk-TI7QSUFK.js → chunk-6PBZBIS6.js} +5 -5
  40. package/dist/cli-bundle/chunks/{chunk-Y2736PT5.js → chunk-6WIP52LQ.js} +8 -8
  41. package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js → chunk-75NAGPEL.js} +3 -3
  42. package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js → chunk-77CWXIAC.js} +4 -4
  43. package/dist/cli-bundle/chunks/{chunk-CEX2DQXZ.js → chunk-7S2UC7S6.js} +37 -73
  44. package/dist/cli-bundle/chunks/chunk-7S2UC7S6.js.map +7 -0
  45. package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js → chunk-7THLDY3D.js} +5 -5
  46. package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js → chunk-7TRCAREE.js} +3 -3
  47. package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js → chunk-7TRVVYPI.js} +5 -5
  48. package/dist/cli-bundle/chunks/{chunk-ONADVBMD.js → chunk-A62N3BM3.js} +5 -5
  49. package/dist/cli-bundle/chunks/{chunk-MBLHA6LR.js → chunk-A7DJG5EF.js} +55 -6
  50. package/dist/cli-bundle/chunks/chunk-A7DJG5EF.js.map +7 -0
  51. package/dist/cli-bundle/chunks/{chunk-GZ365M6E.js → chunk-AD4HJKQZ.js} +49 -7
  52. package/dist/cli-bundle/chunks/chunk-AD4HJKQZ.js.map +1 -0
  53. package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js → chunk-AIWGQK6K.js} +2 -2
  54. package/dist/cli-bundle/chunks/{chunk-WDNPNW22.js → chunk-AKCHJXJ4.js} +7 -7
  55. package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js → chunk-AYPXY3HF.js} +2 -2
  56. package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js → chunk-B7FCPO65.js} +4 -4
  57. package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js → chunk-BC7QBM2A.js} +7 -7
  58. package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js → chunk-BST7GFIX.js} +3 -3
  59. package/dist/cli-bundle/chunks/{chunk-P5SUMCU5.js → chunk-CUBPPDDF.js} +145 -62
  60. package/dist/cli-bundle/chunks/chunk-CUBPPDDF.js.map +1 -0
  61. package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js → chunk-CYBW4HK7.js} +7 -7
  62. package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js → chunk-DDF7UMVV.js} +2 -2
  63. package/dist/cli-bundle/chunks/{chunk-DQLP22K2.js → chunk-DLHFJZ2S.js} +7 -7
  64. package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js → chunk-DMD2TENU.js} +4 -4
  65. package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js → chunk-DN67YDFH.js} +3 -3
  66. package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js → chunk-DNHILSD7.js} +4 -4
  67. package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js → chunk-DT6NDP53.js} +3 -3
  68. package/dist/cli-bundle/chunks/{chunk-DBV5A7FT.js → chunk-DWGHHSDC.js} +5 -5
  69. package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js → chunk-DYUAQVDK.js} +2 -2
  70. package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js → chunk-E2RJZQNW.js} +3 -3
  71. package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js → chunk-ECXJ7OHI.js} +3 -3
  72. package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js → chunk-ESXG6VFX.js} +5 -5
  73. package/dist/cli-bundle/chunks/{chunk-K4NMHZR3.js → chunk-EXG6XTJC.js} +13 -8
  74. package/dist/cli-bundle/chunks/chunk-EXG6XTJC.js.map +7 -0
  75. package/dist/cli-bundle/chunks/{chunk-BPJ5NYSJ.js → chunk-F7UA74OZ.js} +54 -7
  76. package/dist/cli-bundle/chunks/chunk-F7UA74OZ.js.map +7 -0
  77. package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js → chunk-FBD2WUNS.js} +4 -4
  78. package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js → chunk-FSD7W7Y2.js} +3 -3
  79. package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js → chunk-FWL5XVYI.js} +4 -4
  80. package/dist/cli-bundle/chunks/{chunk-BPYVKTZE.js → chunk-FYMHD6VX.js} +16 -16
  81. package/dist/cli-bundle/chunks/{chunk-SIQGG335.js → chunk-GMNCW27N.js} +7 -7
  82. package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js → chunk-GPPWUJMR.js} +3 -3
  83. package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js → chunk-H3HKQXQJ.js} +3 -3
  84. package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js → chunk-HFQ7QQZL.js} +7 -7
  85. package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js → chunk-HLUB7G6J.js} +3 -3
  86. package/dist/cli-bundle/chunks/{chunk-NRYZ4QLH.js → chunk-HWUIK7YL.js} +16 -16
  87. package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js → chunk-INAZHXOI.js} +3 -3
  88. package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js → chunk-J3ELHLOJ.js} +5 -5
  89. package/dist/cli-bundle/chunks/{chunk-2BVD4ZD2.js → chunk-J3FDNQWM.js} +4 -3
  90. package/dist/cli-bundle/chunks/chunk-J3FDNQWM.js.map +7 -0
  91. package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js → chunk-J3Z2JMDV.js} +3 -3
  92. package/dist/cli-bundle/chunks/{chunk-2FKIIQMJ.js → chunk-JDEXIVKQ.js} +372 -20
  93. package/dist/cli-bundle/chunks/chunk-JDEXIVKQ.js.map +1 -0
  94. package/dist/cli-bundle/chunks/{chunk-KAJNWMBE.js → chunk-JFOBTM4D.js} +8 -8
  95. package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js → chunk-JNELC5UO.js} +2 -2
  96. package/dist/cli-bundle/chunks/{chunk-YPE5MFPJ.js → chunk-JQ5NB6O2.js} +4 -4
  97. package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js → chunk-KFC6X4PI.js} +3 -3
  98. package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js → chunk-L2SWAZ3S.js} +2 -2
  99. package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js → chunk-LVVZLEW5.js} +4 -4
  100. package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js → chunk-M66PC7JI.js} +3 -3
  101. package/dist/cli-bundle/chunks/{chunk-63PZJCKO.js → chunk-M7DWRMNY.js} +4 -4
  102. package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js → chunk-M7JYEBPT.js} +2 -2
  103. package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js → chunk-MQ632QRB.js} +2 -2
  104. package/dist/cli-bundle/chunks/{chunk-5ZMZF53A.js → chunk-N7N3PUUP.js} +7 -7
  105. package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js → chunk-NPJLTZQZ.js} +3 -3
  106. package/dist/cli-bundle/chunks/{chunk-ASSVI7FP.js → chunk-NQTIOKHL.js} +8 -8
  107. package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js → chunk-O67XP4FD.js} +3 -3
  108. package/dist/cli-bundle/chunks/{chunk-K2OKKYSO.js → chunk-OVYXSZOQ.js} +8 -8
  109. package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js → chunk-P7PDLLCE.js} +5 -5
  110. package/dist/cli-bundle/chunks/{chunk-XXN2B2MJ.js → chunk-PEACKWHL.js} +4 -4
  111. package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js → chunk-PFRGQZG2.js} +3 -3
  112. package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js → chunk-PMU2OJ3N.js} +4 -4
  113. package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js → chunk-PUMTJMMF.js} +4 -4
  114. package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js → chunk-QTJCMK2S.js} +5 -5
  115. package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js → chunk-RAE2SLNO.js} +4 -4
  116. package/dist/cli-bundle/chunks/{chunk-S7J3GEHL.js → chunk-RYA7QE7B.js} +10 -10
  117. package/dist/cli-bundle/chunks/{chunk-N4S7BV43.js → chunk-SL337EYZ.js} +379 -20
  118. package/dist/cli-bundle/chunks/chunk-SL337EYZ.js.map +7 -0
  119. package/dist/cli-bundle/chunks/{chunk-NSPSJWGL.js → chunk-SMKQFGDI.js} +4 -4
  120. package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js → chunk-SWQMU4AD.js} +2 -2
  121. package/dist/cli-bundle/chunks/{chunk-MFLLULHU.js → chunk-TB2CZJAQ.js} +5 -4
  122. package/dist/cli-bundle/chunks/chunk-TB2CZJAQ.js.map +1 -0
  123. package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js → chunk-TEKAGPZV.js} +3 -3
  124. package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js → chunk-TM5E2IED.js} +5 -5
  125. package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js → chunk-TTRL5GE6.js} +3 -3
  126. package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js → chunk-UA2VI62P.js} +3 -3
  127. package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js → chunk-UYK26VRP.js} +3 -3
  128. package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js → chunk-VBDQTL3Z.js} +3 -3
  129. package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js → chunk-W2FXYQ6D.js} +5 -5
  130. package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js → chunk-WZ7EPGUX.js} +5 -5
  131. package/dist/cli-bundle/chunks/{chunk-PPY3GXFK.js → chunk-XES6AVCK.js} +39 -68
  132. package/dist/cli-bundle/chunks/chunk-XES6AVCK.js.map +1 -0
  133. package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js → chunk-XVCB574W.js} +4 -4
  134. package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js → chunk-XWS3Z57Q.js} +3 -3
  135. package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js → chunk-XXJB4GLJ.js} +2 -2
  136. package/dist/cli-bundle/chunks/{chunk-NTOOEVJ4.js → chunk-Y5Q4FEE4.js} +47 -7
  137. package/dist/cli-bundle/chunks/chunk-Y5Q4FEE4.js.map +1 -0
  138. package/dist/cli-bundle/chunks/{chunk-CHSXGTWF.js → chunk-YA4B6P3L.js} +23 -15
  139. package/dist/cli-bundle/chunks/chunk-YA4B6P3L.js.map +7 -0
  140. package/dist/cli-bundle/chunks/{chunk-YHKXNGLA.js → chunk-Z3R2Z5KW.js} +145 -62
  141. package/dist/cli-bundle/chunks/chunk-Z3R2Z5KW.js.map +7 -0
  142. package/dist/cli-bundle/chunks/{chunk-5RJ4LFD3.js → chunk-Z5MFM54X.js} +5 -5
  143. package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js → chunk-ZGDJA6WI.js} +5 -5
  144. package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js → chunk-ZIU35KME.js} +5 -5
  145. package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js → chunk-ZQ2KEWE7.js} +3 -3
  146. package/dist/cli-bundle/chunks/close-2NVUCJXV.js +12 -0
  147. package/dist/cli-bundle/chunks/{close-TKTFRL7N.js → close-BZPS37KL.js} +5 -5
  148. package/dist/cli-bundle/chunks/{close-many-HEPL66EG.js → close-many-KKNCGLVR.js} +13 -13
  149. package/dist/cli-bundle/chunks/close-many-S5WKLWVO.js +22 -0
  150. package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js → comments-PV5XG342.js} +7 -7
  151. package/dist/cli-bundle/chunks/comments-XAM2ADHO.js +13 -0
  152. package/dist/cli-bundle/chunks/copy-OJ2YNJ7S.js +9 -0
  153. package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js → copy-OZDYDQUG.js} +4 -4
  154. package/dist/cli-bundle/chunks/create-5O3QK3PX.js +25 -0
  155. package/dist/cli-bundle/chunks/{create-LD4SEUD6.js → create-WGFKEJAK.js} +9 -9
  156. package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js → delete-NTYXFL7A.js} +4 -4
  157. package/dist/cli-bundle/chunks/delete-V7FPW6JL.js +10 -0
  158. package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js → deps-7WVENNH3.js} +4 -4
  159. package/dist/cli-bundle/chunks/{deps-SZXQHV73.js → deps-Z6RD6RWW.js} +4 -4
  160. package/dist/cli-bundle/chunks/{docs-DR74ITCD.js → docs-2NIRGHAN.js} +6 -6
  161. package/dist/cli-bundle/chunks/docs-SOY2CMH3.js +14 -0
  162. package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js → files-4OH2I663.js} +6 -6
  163. package/dist/cli-bundle/chunks/{files-H5YCA74Z.js → files-5KNAFW67.js} +6 -6
  164. package/dist/cli-bundle/chunks/{focus-55TRYSNA.js → focus-CLNZWWKW.js} +5 -5
  165. package/dist/cli-bundle/chunks/focus-JUKXZN3J.js +10 -0
  166. package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js → history-compact-R3T3XPD4.js} +9 -9
  167. package/dist/cli-bundle/chunks/history-compact-WKAKPLFQ.js +21 -0
  168. package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js → history-redact-CLJDCBNF.js} +7 -7
  169. package/dist/cli-bundle/chunks/history-redact-Y67UDKD3.js +17 -0
  170. package/dist/cli-bundle/chunks/history-repair-2WLXWQAM.js +19 -0
  171. package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js → history-repair-LNA7V2VI.js} +9 -9
  172. package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js → learnings-2L72KBOE.js} +7 -7
  173. package/dist/cli-bundle/chunks/learnings-PNK7WUWO.js +13 -0
  174. package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js → notes-USDIABZV.js} +7 -7
  175. package/dist/cli-bundle/chunks/notes-X4SWEJSB.js +13 -0
  176. package/dist/cli-bundle/chunks/plan-JU454RMZ.js +24 -0
  177. package/dist/cli-bundle/chunks/{plan-LUR7C24X.js → plan-U4RWU56Z.js} +10 -10
  178. package/dist/cli-bundle/chunks/{profile-JRDMDGT5.js → profile-COBKZJUQ.js} +9 -9
  179. package/dist/cli-bundle/chunks/{profile-5F75MO5O.js → profile-RKIRCXH7.js} +9 -9
  180. package/dist/cli-bundle/chunks/{register-list-query-GZYRZLQZ.js → register-list-query-2VBANNFM.js} +19 -17
  181. package/dist/cli-bundle/chunks/{register-list-query-GZYRZLQZ.js.map → register-list-query-2VBANNFM.js.map} +1 -1
  182. package/dist/cli-bundle/chunks/{register-list-query-W2W7RQJJ.js → register-list-query-4AZEKWZ5.js} +18 -16
  183. package/dist/cli-bundle/chunks/{register-list-query-W2W7RQJJ.js.map → register-list-query-4AZEKWZ5.js.map} +2 -2
  184. package/dist/cli-bundle/chunks/{register-mutation-7DMOYDPC.js → register-mutation-JGXTDEIZ.js} +29 -29
  185. package/dist/cli-bundle/chunks/{register-mutation-5UDT3WL3.js → register-mutation-XVO4GGZI.js} +29 -29
  186. package/dist/cli-bundle/chunks/{register-operations-Y4E32W4D.js → register-operations-4EEFV5KJ.js} +26 -26
  187. package/dist/cli-bundle/chunks/{register-operations-NW43IUPE.js → register-operations-UV25Z4BN.js} +26 -26
  188. package/dist/cli-bundle/chunks/{register-setup-3GVJ7XPE.js → register-setup-MMXQQC5J.js} +27 -19
  189. package/dist/cli-bundle/chunks/register-setup-MMXQQC5J.js.map +1 -0
  190. package/dist/cli-bundle/chunks/{register-setup-MPTTS52V.js → register-setup-NQE5MW63.js} +26 -18
  191. package/dist/cli-bundle/chunks/register-setup-NQE5MW63.js.map +7 -0
  192. package/dist/cli-bundle/chunks/restore-54HR2EYD.js +15 -0
  193. package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js → restore-BINCHJIY.js} +7 -7
  194. package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js → schema-2JZNEQSG.js} +6 -6
  195. package/dist/cli-bundle/chunks/{schema-HAIBEE24.js → schema-VV3K5WZI.js} +6 -6
  196. package/dist/cli-bundle/chunks/{update-ZMYVXM77.js → update-DK3GAY5D.js} +12 -12
  197. package/dist/cli-bundle/chunks/update-OIMRKTX6.js +21 -0
  198. package/dist/cli-bundle/chunks/update-many-5KI6MW76.js +31 -0
  199. package/dist/cli-bundle/chunks/update-many-IOLDHIZT.js +35 -0
  200. package/dist/cli-bundle/main.js +16 -54
  201. package/dist/cli-bundle/main.js.map +3 -3
  202. package/dist/cli-bundle/sdk-runtime.js +52 -52
  203. package/dist/cli-bundle/sdk-testing.js +6 -6
  204. package/dist/cli-bundle/sdk.js +75 -55
  205. package/dist/cli-bundle/sdk.js.map +2 -2
  206. package/dist/core/extensions/extension-types.d.ts +1 -1
  207. package/dist/core/extensions/extension-types.js +3 -2
  208. package/dist/core/extensions/extension-types.js.map +1 -1
  209. package/dist/core/extensions/index.d.ts +1 -0
  210. package/dist/core/extensions/index.js +3 -2
  211. package/dist/core/extensions/index.js.map +1 -1
  212. package/dist/core/store/front-matter-cache.d.ts +8 -0
  213. package/dist/core/store/front-matter-cache.js +22 -9
  214. package/dist/core/store/front-matter-cache.js.map +1 -1
  215. package/dist/sdk/cli-contracts/commander-mutation-options.js +4 -4
  216. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  217. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  218. package/dist/sdk/cli-contracts/flag-contracts.js +7 -2
  219. package/dist/sdk/cli-contracts/flag-contracts.js.map +1 -1
  220. package/dist/sdk/context-relevance.d.ts +166 -0
  221. package/dist/sdk/context-relevance.js +299 -0
  222. package/dist/sdk/context-relevance.js.map +1 -0
  223. package/dist/sdk/index.d.ts +1 -0
  224. package/dist/sdk/index.js +3 -2
  225. package/dist/sdk/index.js.map +1 -1
  226. package/docs/COMMANDS.md +7 -1
  227. package/docs/EXTENSIONS.md +3 -1
  228. package/docs/SDK.md +78 -0
  229. package/docs/TESTING.md +40 -1
  230. package/package.json +4 -2
  231. package/dist/cli-bundle/chunks/append-CDPAYYSB.js +0 -11
  232. package/dist/cli-bundle/chunks/chunk-2BVD4ZD2.js.map +0 -7
  233. package/dist/cli-bundle/chunks/chunk-2FKIIQMJ.js.map +0 -1
  234. package/dist/cli-bundle/chunks/chunk-BPJ5NYSJ.js.map +0 -7
  235. package/dist/cli-bundle/chunks/chunk-CEX2DQXZ.js.map +0 -7
  236. package/dist/cli-bundle/chunks/chunk-CHSXGTWF.js.map +0 -7
  237. package/dist/cli-bundle/chunks/chunk-GZ365M6E.js.map +0 -1
  238. package/dist/cli-bundle/chunks/chunk-K4NMHZR3.js.map +0 -7
  239. package/dist/cli-bundle/chunks/chunk-MBLHA6LR.js.map +0 -7
  240. package/dist/cli-bundle/chunks/chunk-MCZK7LY6.js.map +0 -1
  241. package/dist/cli-bundle/chunks/chunk-MFLLULHU.js.map +0 -1
  242. package/dist/cli-bundle/chunks/chunk-N4S7BV43.js.map +0 -7
  243. package/dist/cli-bundle/chunks/chunk-NBJCIAVV.js.map +0 -1
  244. package/dist/cli-bundle/chunks/chunk-NTOOEVJ4.js.map +0 -1
  245. package/dist/cli-bundle/chunks/chunk-P5SUMCU5.js.map +0 -1
  246. package/dist/cli-bundle/chunks/chunk-PPY3GXFK.js.map +0 -1
  247. package/dist/cli-bundle/chunks/chunk-YHKXNGLA.js.map +0 -7
  248. package/dist/cli-bundle/chunks/close-5WY6QO5F.js +0 -12
  249. package/dist/cli-bundle/chunks/close-many-U2KLQ3NL.js +0 -22
  250. package/dist/cli-bundle/chunks/comments-ZNOD5PTV.js +0 -13
  251. package/dist/cli-bundle/chunks/copy-F7BUFY4J.js +0 -9
  252. package/dist/cli-bundle/chunks/create-KCQM6UYM.js +0 -25
  253. package/dist/cli-bundle/chunks/delete-6KQHZYIP.js +0 -10
  254. package/dist/cli-bundle/chunks/docs-WCVYY6I7.js +0 -14
  255. package/dist/cli-bundle/chunks/focus-N2QGNS5D.js +0 -10
  256. package/dist/cli-bundle/chunks/history-compact-GWQ4UOEI.js +0 -21
  257. package/dist/cli-bundle/chunks/history-redact-4GJOLXCM.js +0 -17
  258. package/dist/cli-bundle/chunks/history-repair-HVCVCGUF.js +0 -19
  259. package/dist/cli-bundle/chunks/learnings-YYY3U2Y7.js +0 -13
  260. package/dist/cli-bundle/chunks/notes-BGG7VL72.js +0 -13
  261. package/dist/cli-bundle/chunks/plan-B42KBMX7.js +0 -24
  262. package/dist/cli-bundle/chunks/register-setup-3GVJ7XPE.js.map +0 -1
  263. package/dist/cli-bundle/chunks/register-setup-MPTTS52V.js.map +0 -7
  264. package/dist/cli-bundle/chunks/restore-EX4UUZL6.js +0 -15
  265. package/dist/cli-bundle/chunks/update-76CRUMC7.js +0 -21
  266. package/dist/cli-bundle/chunks/update-many-QYQRGNPU.js +0 -31
  267. package/dist/cli-bundle/chunks/update-many-U4CEQWI4.js +0 -35
  268. /package/dist/cli-bundle/chunks/{append-CDPAYYSB.js.map → append-G7NGOQVU.js.map} +0 -0
  269. /package/dist/cli-bundle/chunks/{append-RSPHC423.js.map → append-SIECQAPH.js.map} +0 -0
  270. /package/dist/cli-bundle/chunks/{chunk-CGDUIPJL.js.map → chunk-22PW73KV.js.map} +0 -0
  271. /package/dist/cli-bundle/chunks/{chunk-GO2X6ZRB.js.map → chunk-35U3AVRY.js.map} +0 -0
  272. /package/dist/cli-bundle/chunks/{chunk-4I7KS5ES.js.map → chunk-3JFQRPOI.js.map} +0 -0
  273. /package/dist/cli-bundle/chunks/{chunk-NRMDT4OV.js.map → chunk-3THCOPYI.js.map} +0 -0
  274. /package/dist/cli-bundle/chunks/{chunk-D6J5673C.js.map → chunk-4BINCIRM.js.map} +0 -0
  275. /package/dist/cli-bundle/chunks/{chunk-26MFLA7K.js.map → chunk-4P2GYOM5.js.map} +0 -0
  276. /package/dist/cli-bundle/chunks/{chunk-LHDHS4Z6.js.map → chunk-4QE5HOJY.js.map} +0 -0
  277. /package/dist/cli-bundle/chunks/{chunk-5VAZHYVQ.js.map → chunk-56J3MPGE.js.map} +0 -0
  278. /package/dist/cli-bundle/chunks/{chunk-IINCZYM3.js.map → chunk-62ECRG6J.js.map} +0 -0
  279. /package/dist/cli-bundle/chunks/{chunk-VCGHRLJU.js.map → chunk-62KPBB2W.js.map} +0 -0
  280. /package/dist/cli-bundle/chunks/{chunk-3FUXM574.js.map → chunk-6MK6M35B.js.map} +0 -0
  281. /package/dist/cli-bundle/chunks/{chunk-TI7QSUFK.js.map → chunk-6PBZBIS6.js.map} +0 -0
  282. /package/dist/cli-bundle/chunks/{chunk-Y2736PT5.js.map → chunk-6WIP52LQ.js.map} +0 -0
  283. /package/dist/cli-bundle/chunks/{chunk-GLMJLBLR.js.map → chunk-75NAGPEL.js.map} +0 -0
  284. /package/dist/cli-bundle/chunks/{chunk-6TD5QGIB.js.map → chunk-77CWXIAC.js.map} +0 -0
  285. /package/dist/cli-bundle/chunks/{chunk-PAWPLIWW.js.map → chunk-7THLDY3D.js.map} +0 -0
  286. /package/dist/cli-bundle/chunks/{chunk-QJZM5WO5.js.map → chunk-7TRCAREE.js.map} +0 -0
  287. /package/dist/cli-bundle/chunks/{chunk-EEJKHF7M.js.map → chunk-7TRVVYPI.js.map} +0 -0
  288. /package/dist/cli-bundle/chunks/{chunk-ONADVBMD.js.map → chunk-A62N3BM3.js.map} +0 -0
  289. /package/dist/cli-bundle/chunks/{chunk-7QKSLAHB.js.map → chunk-AIWGQK6K.js.map} +0 -0
  290. /package/dist/cli-bundle/chunks/{chunk-WDNPNW22.js.map → chunk-AKCHJXJ4.js.map} +0 -0
  291. /package/dist/cli-bundle/chunks/{chunk-KFL3XHMA.js.map → chunk-AYPXY3HF.js.map} +0 -0
  292. /package/dist/cli-bundle/chunks/{chunk-RL24NAUX.js.map → chunk-B7FCPO65.js.map} +0 -0
  293. /package/dist/cli-bundle/chunks/{chunk-4OCWJ2AP.js.map → chunk-BC7QBM2A.js.map} +0 -0
  294. /package/dist/cli-bundle/chunks/{chunk-LD2NBQ5T.js.map → chunk-BST7GFIX.js.map} +0 -0
  295. /package/dist/cli-bundle/chunks/{chunk-FJR2S7S4.js.map → chunk-CYBW4HK7.js.map} +0 -0
  296. /package/dist/cli-bundle/chunks/{chunk-7UCBLJDF.js.map → chunk-DDF7UMVV.js.map} +0 -0
  297. /package/dist/cli-bundle/chunks/{chunk-DQLP22K2.js.map → chunk-DLHFJZ2S.js.map} +0 -0
  298. /package/dist/cli-bundle/chunks/{chunk-PCBZ2VJD.js.map → chunk-DMD2TENU.js.map} +0 -0
  299. /package/dist/cli-bundle/chunks/{chunk-SCJPFQQT.js.map → chunk-DN67YDFH.js.map} +0 -0
  300. /package/dist/cli-bundle/chunks/{chunk-7TBUV7XS.js.map → chunk-DNHILSD7.js.map} +0 -0
  301. /package/dist/cli-bundle/chunks/{chunk-FFB3WITE.js.map → chunk-DT6NDP53.js.map} +0 -0
  302. /package/dist/cli-bundle/chunks/{chunk-DBV5A7FT.js.map → chunk-DWGHHSDC.js.map} +0 -0
  303. /package/dist/cli-bundle/chunks/{chunk-3V5C7PUH.js.map → chunk-DYUAQVDK.js.map} +0 -0
  304. /package/dist/cli-bundle/chunks/{chunk-MCH6IKK7.js.map → chunk-E2RJZQNW.js.map} +0 -0
  305. /package/dist/cli-bundle/chunks/{chunk-6ZKDMEVT.js.map → chunk-ECXJ7OHI.js.map} +0 -0
  306. /package/dist/cli-bundle/chunks/{chunk-LG4N6YOK.js.map → chunk-ESXG6VFX.js.map} +0 -0
  307. /package/dist/cli-bundle/chunks/{chunk-GSQVQINP.js.map → chunk-FBD2WUNS.js.map} +0 -0
  308. /package/dist/cli-bundle/chunks/{chunk-YSRXFGNV.js.map → chunk-FSD7W7Y2.js.map} +0 -0
  309. /package/dist/cli-bundle/chunks/{chunk-JYVPLGOW.js.map → chunk-FWL5XVYI.js.map} +0 -0
  310. /package/dist/cli-bundle/chunks/{chunk-BPYVKTZE.js.map → chunk-FYMHD6VX.js.map} +0 -0
  311. /package/dist/cli-bundle/chunks/{chunk-SIQGG335.js.map → chunk-GMNCW27N.js.map} +0 -0
  312. /package/dist/cli-bundle/chunks/{chunk-3SHDAKMF.js.map → chunk-GPPWUJMR.js.map} +0 -0
  313. /package/dist/cli-bundle/chunks/{chunk-W2VFNVSJ.js.map → chunk-H3HKQXQJ.js.map} +0 -0
  314. /package/dist/cli-bundle/chunks/{chunk-UIHDZS6X.js.map → chunk-HFQ7QQZL.js.map} +0 -0
  315. /package/dist/cli-bundle/chunks/{chunk-Z6RLSNUX.js.map → chunk-HLUB7G6J.js.map} +0 -0
  316. /package/dist/cli-bundle/chunks/{chunk-NRYZ4QLH.js.map → chunk-HWUIK7YL.js.map} +0 -0
  317. /package/dist/cli-bundle/chunks/{chunk-U72GF3I2.js.map → chunk-INAZHXOI.js.map} +0 -0
  318. /package/dist/cli-bundle/chunks/{chunk-INOWVPUD.js.map → chunk-J3ELHLOJ.js.map} +0 -0
  319. /package/dist/cli-bundle/chunks/{chunk-UH6VFRV6.js.map → chunk-J3Z2JMDV.js.map} +0 -0
  320. /package/dist/cli-bundle/chunks/{chunk-KAJNWMBE.js.map → chunk-JFOBTM4D.js.map} +0 -0
  321. /package/dist/cli-bundle/chunks/{chunk-J6AD3GWC.js.map → chunk-JNELC5UO.js.map} +0 -0
  322. /package/dist/cli-bundle/chunks/{chunk-YPE5MFPJ.js.map → chunk-JQ5NB6O2.js.map} +0 -0
  323. /package/dist/cli-bundle/chunks/{chunk-3UXIMY62.js.map → chunk-KFC6X4PI.js.map} +0 -0
  324. /package/dist/cli-bundle/chunks/{chunk-C3YU3TXX.js.map → chunk-L2SWAZ3S.js.map} +0 -0
  325. /package/dist/cli-bundle/chunks/{chunk-QLEH6FTQ.js.map → chunk-LVVZLEW5.js.map} +0 -0
  326. /package/dist/cli-bundle/chunks/{chunk-RFHLRMLQ.js.map → chunk-M66PC7JI.js.map} +0 -0
  327. /package/dist/cli-bundle/chunks/{chunk-63PZJCKO.js.map → chunk-M7DWRMNY.js.map} +0 -0
  328. /package/dist/cli-bundle/chunks/{chunk-UEATYUZW.js.map → chunk-M7JYEBPT.js.map} +0 -0
  329. /package/dist/cli-bundle/chunks/{chunk-Z2JQH2MG.js.map → chunk-MQ632QRB.js.map} +0 -0
  330. /package/dist/cli-bundle/chunks/{chunk-5ZMZF53A.js.map → chunk-N7N3PUUP.js.map} +0 -0
  331. /package/dist/cli-bundle/chunks/{chunk-3YJDIJIE.js.map → chunk-NPJLTZQZ.js.map} +0 -0
  332. /package/dist/cli-bundle/chunks/{chunk-ASSVI7FP.js.map → chunk-NQTIOKHL.js.map} +0 -0
  333. /package/dist/cli-bundle/chunks/{chunk-BFNFTHWQ.js.map → chunk-O67XP4FD.js.map} +0 -0
  334. /package/dist/cli-bundle/chunks/{chunk-K2OKKYSO.js.map → chunk-OVYXSZOQ.js.map} +0 -0
  335. /package/dist/cli-bundle/chunks/{chunk-FOJEBRDD.js.map → chunk-P7PDLLCE.js.map} +0 -0
  336. /package/dist/cli-bundle/chunks/{chunk-XXN2B2MJ.js.map → chunk-PEACKWHL.js.map} +0 -0
  337. /package/dist/cli-bundle/chunks/{chunk-HZZ3AC27.js.map → chunk-PFRGQZG2.js.map} +0 -0
  338. /package/dist/cli-bundle/chunks/{chunk-Q3CFSOQZ.js.map → chunk-PMU2OJ3N.js.map} +0 -0
  339. /package/dist/cli-bundle/chunks/{chunk-5STY7NVM.js.map → chunk-PUMTJMMF.js.map} +0 -0
  340. /package/dist/cli-bundle/chunks/{chunk-K52C6YPA.js.map → chunk-QTJCMK2S.js.map} +0 -0
  341. /package/dist/cli-bundle/chunks/{chunk-6FU5BVRB.js.map → chunk-RAE2SLNO.js.map} +0 -0
  342. /package/dist/cli-bundle/chunks/{chunk-S7J3GEHL.js.map → chunk-RYA7QE7B.js.map} +0 -0
  343. /package/dist/cli-bundle/chunks/{chunk-NSPSJWGL.js.map → chunk-SMKQFGDI.js.map} +0 -0
  344. /package/dist/cli-bundle/chunks/{chunk-UFNFHCAC.js.map → chunk-SWQMU4AD.js.map} +0 -0
  345. /package/dist/cli-bundle/chunks/{chunk-WVEMZZCR.js.map → chunk-TEKAGPZV.js.map} +0 -0
  346. /package/dist/cli-bundle/chunks/{chunk-JH5XDDYS.js.map → chunk-TM5E2IED.js.map} +0 -0
  347. /package/dist/cli-bundle/chunks/{chunk-C6XSTACC.js.map → chunk-TTRL5GE6.js.map} +0 -0
  348. /package/dist/cli-bundle/chunks/{chunk-AEOFBBWO.js.map → chunk-UA2VI62P.js.map} +0 -0
  349. /package/dist/cli-bundle/chunks/{chunk-6RR4XM5H.js.map → chunk-UYK26VRP.js.map} +0 -0
  350. /package/dist/cli-bundle/chunks/{chunk-CXH7EMSB.js.map → chunk-VBDQTL3Z.js.map} +0 -0
  351. /package/dist/cli-bundle/chunks/{chunk-NGBWEYNY.js.map → chunk-W2FXYQ6D.js.map} +0 -0
  352. /package/dist/cli-bundle/chunks/{chunk-UURYLDDC.js.map → chunk-WZ7EPGUX.js.map} +0 -0
  353. /package/dist/cli-bundle/chunks/{chunk-QYZMZD4L.js.map → chunk-XVCB574W.js.map} +0 -0
  354. /package/dist/cli-bundle/chunks/{chunk-F5DDGY6R.js.map → chunk-XWS3Z57Q.js.map} +0 -0
  355. /package/dist/cli-bundle/chunks/{chunk-EP2CKDS7.js.map → chunk-XXJB4GLJ.js.map} +0 -0
  356. /package/dist/cli-bundle/chunks/{chunk-5RJ4LFD3.js.map → chunk-Z5MFM54X.js.map} +0 -0
  357. /package/dist/cli-bundle/chunks/{chunk-6WCXSC5V.js.map → chunk-ZGDJA6WI.js.map} +0 -0
  358. /package/dist/cli-bundle/chunks/{chunk-TKWTJGD6.js.map → chunk-ZIU35KME.js.map} +0 -0
  359. /package/dist/cli-bundle/chunks/{chunk-YUMNZS3X.js.map → chunk-ZQ2KEWE7.js.map} +0 -0
  360. /package/dist/cli-bundle/chunks/{close-5WY6QO5F.js.map → close-2NVUCJXV.js.map} +0 -0
  361. /package/dist/cli-bundle/chunks/{close-TKTFRL7N.js.map → close-BZPS37KL.js.map} +0 -0
  362. /package/dist/cli-bundle/chunks/{close-many-HEPL66EG.js.map → close-many-KKNCGLVR.js.map} +0 -0
  363. /package/dist/cli-bundle/chunks/{close-many-U2KLQ3NL.js.map → close-many-S5WKLWVO.js.map} +0 -0
  364. /package/dist/cli-bundle/chunks/{comments-PLFK5ZKK.js.map → comments-PV5XG342.js.map} +0 -0
  365. /package/dist/cli-bundle/chunks/{comments-ZNOD5PTV.js.map → comments-XAM2ADHO.js.map} +0 -0
  366. /package/dist/cli-bundle/chunks/{copy-F7BUFY4J.js.map → copy-OJ2YNJ7S.js.map} +0 -0
  367. /package/dist/cli-bundle/chunks/{copy-VH3L4MN2.js.map → copy-OZDYDQUG.js.map} +0 -0
  368. /package/dist/cli-bundle/chunks/{create-KCQM6UYM.js.map → create-5O3QK3PX.js.map} +0 -0
  369. /package/dist/cli-bundle/chunks/{create-LD4SEUD6.js.map → create-WGFKEJAK.js.map} +0 -0
  370. /package/dist/cli-bundle/chunks/{delete-ZNXUNCZR.js.map → delete-NTYXFL7A.js.map} +0 -0
  371. /package/dist/cli-bundle/chunks/{delete-6KQHZYIP.js.map → delete-V7FPW6JL.js.map} +0 -0
  372. /package/dist/cli-bundle/chunks/{deps-CVDY7FFK.js.map → deps-7WVENNH3.js.map} +0 -0
  373. /package/dist/cli-bundle/chunks/{deps-SZXQHV73.js.map → deps-Z6RD6RWW.js.map} +0 -0
  374. /package/dist/cli-bundle/chunks/{docs-DR74ITCD.js.map → docs-2NIRGHAN.js.map} +0 -0
  375. /package/dist/cli-bundle/chunks/{docs-WCVYY6I7.js.map → docs-SOY2CMH3.js.map} +0 -0
  376. /package/dist/cli-bundle/chunks/{files-QEFQ2M3H.js.map → files-4OH2I663.js.map} +0 -0
  377. /package/dist/cli-bundle/chunks/{files-H5YCA74Z.js.map → files-5KNAFW67.js.map} +0 -0
  378. /package/dist/cli-bundle/chunks/{focus-55TRYSNA.js.map → focus-CLNZWWKW.js.map} +0 -0
  379. /package/dist/cli-bundle/chunks/{focus-N2QGNS5D.js.map → focus-JUKXZN3J.js.map} +0 -0
  380. /package/dist/cli-bundle/chunks/{history-compact-JJZ4EFL3.js.map → history-compact-R3T3XPD4.js.map} +0 -0
  381. /package/dist/cli-bundle/chunks/{history-compact-GWQ4UOEI.js.map → history-compact-WKAKPLFQ.js.map} +0 -0
  382. /package/dist/cli-bundle/chunks/{history-redact-TPPUT3A5.js.map → history-redact-CLJDCBNF.js.map} +0 -0
  383. /package/dist/cli-bundle/chunks/{history-redact-4GJOLXCM.js.map → history-redact-Y67UDKD3.js.map} +0 -0
  384. /package/dist/cli-bundle/chunks/{history-repair-HVCVCGUF.js.map → history-repair-2WLXWQAM.js.map} +0 -0
  385. /package/dist/cli-bundle/chunks/{history-repair-J7PIZ6ZP.js.map → history-repair-LNA7V2VI.js.map} +0 -0
  386. /package/dist/cli-bundle/chunks/{learnings-KB6BT4NR.js.map → learnings-2L72KBOE.js.map} +0 -0
  387. /package/dist/cli-bundle/chunks/{learnings-YYY3U2Y7.js.map → learnings-PNK7WUWO.js.map} +0 -0
  388. /package/dist/cli-bundle/chunks/{notes-ZTHXVOKM.js.map → notes-USDIABZV.js.map} +0 -0
  389. /package/dist/cli-bundle/chunks/{notes-BGG7VL72.js.map → notes-X4SWEJSB.js.map} +0 -0
  390. /package/dist/cli-bundle/chunks/{plan-B42KBMX7.js.map → plan-JU454RMZ.js.map} +0 -0
  391. /package/dist/cli-bundle/chunks/{plan-LUR7C24X.js.map → plan-U4RWU56Z.js.map} +0 -0
  392. /package/dist/cli-bundle/chunks/{profile-JRDMDGT5.js.map → profile-COBKZJUQ.js.map} +0 -0
  393. /package/dist/cli-bundle/chunks/{profile-5F75MO5O.js.map → profile-RKIRCXH7.js.map} +0 -0
  394. /package/dist/cli-bundle/chunks/{register-mutation-7DMOYDPC.js.map → register-mutation-JGXTDEIZ.js.map} +0 -0
  395. /package/dist/cli-bundle/chunks/{register-mutation-5UDT3WL3.js.map → register-mutation-XVO4GGZI.js.map} +0 -0
  396. /package/dist/cli-bundle/chunks/{register-operations-Y4E32W4D.js.map → register-operations-4EEFV5KJ.js.map} +0 -0
  397. /package/dist/cli-bundle/chunks/{register-operations-NW43IUPE.js.map → register-operations-UV25Z4BN.js.map} +0 -0
  398. /package/dist/cli-bundle/chunks/{restore-EX4UUZL6.js.map → restore-54HR2EYD.js.map} +0 -0
  399. /package/dist/cli-bundle/chunks/{restore-BTBEZ5CK.js.map → restore-BINCHJIY.js.map} +0 -0
  400. /package/dist/cli-bundle/chunks/{schema-DGSTYYQB.js.map → schema-2JZNEQSG.js.map} +0 -0
  401. /package/dist/cli-bundle/chunks/{schema-HAIBEE24.js.map → schema-VV3K5WZI.js.map} +0 -0
  402. /package/dist/cli-bundle/chunks/{update-ZMYVXM77.js.map → update-DK3GAY5D.js.map} +0 -0
  403. /package/dist/cli-bundle/chunks/{update-76CRUMC7.js.map → update-OIMRKTX6.js.map} +0 -0
  404. /package/dist/cli-bundle/chunks/{update-many-QYQRGNPU.js.map → update-many-5KI6MW76.js.map} +0 -0
  405. /package/dist/cli-bundle/chunks/{update-many-U4CEQWI4.js.map → update-many-IOLDHIZT.js.map} +0 -0
@@ -6,13 +6,13 @@ import {
6
6
  deleteItem,
7
7
  readSettings,
8
8
  toItemRecord
9
- } from "./chunk-BPJ5NYSJ.js";
9
+ } from "./chunk-F7UA74OZ.js";
10
10
  import {
11
11
  EXIT_CODE,
12
12
  getSettingsPath,
13
13
  pathExists,
14
14
  resolvePmRoot
15
- } from "./chunk-2BVD4ZD2.js";
15
+ } from "./chunk-J3FDNQWM.js";
16
16
 
17
17
  // dist/cli/commands/delete.js
18
18
  import path from "node:path";
@@ -52,4 +52,4 @@ async function runDelete(id, options, global2) {
52
52
  export {
53
53
  runDelete
54
54
  };
55
- //# sourceMappingURL=chunk-UH6VFRV6.js.map
55
+ //# sourceMappingURL=chunk-J3Z2JMDV.js.map
@@ -1,5 +1,5 @@
1
1
 
2
- !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]="aeca411c-81f3-59f5-a9aa-aec1f3098c77")}catch(e){}}();
2
+ !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]="cbb6210e-994c-5872-8a50-8301cc4a8d62")}catch(e){}}();
3
3
  import {
4
4
  collectStaleVectorizationIds
5
5
  } from "./chunk-ROGZTCCB.js";
@@ -15,7 +15,7 @@ import {
15
15
  resolveContentFieldFilters,
16
16
  resolveMissingMetadataFilters,
17
17
  runList
18
- } from "./chunk-TI7QSUFK.js";
18
+ } from "./chunk-6PBZBIS6.js";
19
19
  import {
20
20
  hasContentFieldFilter,
21
21
  itemMatchesContentFilters
@@ -23,21 +23,21 @@ import {
23
23
  import {
24
24
  collectBlockedByIds,
25
25
  computeActionabilityReport
26
- } from "./chunk-C3YU3TXX.js";
26
+ } from "./chunk-L2SWAZ3S.js";
27
27
  import {
28
28
  hasMissingMetadataFilter,
29
29
  itemMatchesMissingMetadata,
30
30
  lifecycleClassifierFromStatusRegistry
31
- } from "./chunk-J6AD3GWC.js";
31
+ } from "./chunk-JNELC5UO.js";
32
32
  import {
33
33
  readHistoryEntries
34
- } from "./chunk-6WCXSC5V.js";
34
+ } from "./chunk-ZGDJA6WI.js";
35
35
  import {
36
36
  parseIntegerLimit,
37
37
  parseLimit,
38
38
  parsePriority,
39
39
  parseType
40
- } from "./chunk-6RR4XM5H.js";
40
+ } from "./chunk-UYK26VRP.js";
41
41
  import {
42
42
  resolveRegisteredSearchProvider,
43
43
  resolveRegisteredVectorStoreAdapter
@@ -54,7 +54,7 @@ import {
54
54
  resolveSearchCorpusFields,
55
55
  resolveSettingsWithSemanticRuntimeDefaults,
56
56
  resolveVectorStores
57
- } from "./chunk-DBV5A7FT.js";
57
+ } from "./chunk-DWGHHSDC.js";
58
58
  import {
59
59
  splitCommaList
60
60
  } from "./chunk-P4SESZGT.js";
@@ -78,8 +78,9 @@ import {
78
78
  readSettings,
79
79
  resolveIsoOrRelative,
80
80
  runActiveOnReadHooks,
81
+ runActiveServiceOverride,
81
82
  toItemRecord
82
- } from "./chunk-NTOOEVJ4.js";
83
+ } from "./chunk-Y5Q4FEE4.js";
83
84
  import {
84
85
  CONTEXT_DEPTH_VALUES,
85
86
  CONTEXT_SECTION_VALUES,
@@ -102,7 +103,7 @@ import {
102
103
  toNonEmptyString,
103
104
  toNonEmptyStringOrUndefined,
104
105
  weekdayOrderIndex
105
- } from "./chunk-MFLLULHU.js";
106
+ } from "./chunk-TB2CZJAQ.js";
106
107
 
107
108
  // dist/cli/commands/activity.js
108
109
  import fs from "node:fs/promises";
@@ -1458,6 +1459,264 @@ async function runCalendar(options, global) {
1458
1459
  };
1459
1460
  }
1460
1461
 
1462
+ // dist/sdk/context-relevance.js
1463
+ var CONTEXT_RELEVANCE_SIGNAL_NAMES = [
1464
+ "structural",
1465
+ "recency",
1466
+ "activity_density",
1467
+ "graph_proximity",
1468
+ "claim_focus",
1469
+ "priority_pressure",
1470
+ "risk_pressure",
1471
+ "deadline_pressure",
1472
+ "knowledge_density",
1473
+ "author_affinity",
1474
+ "semantic_similarity"
1475
+ ];
1476
+ var CONTEXT_RELEVANCE_SERVICE = "context_relevance";
1477
+ var DEFAULT_CONTEXT_RELEVANCE_WEIGHTS = {
1478
+ structural: 0.4,
1479
+ recency: 0.35,
1480
+ activity_density: 0.25,
1481
+ graph_proximity: 0.15,
1482
+ claim_focus: 0.6,
1483
+ priority_pressure: 0.35,
1484
+ risk_pressure: 0.2,
1485
+ deadline_pressure: 0.45,
1486
+ knowledge_density: 0.25,
1487
+ author_affinity: 0.2,
1488
+ semantic_similarity: 0.5
1489
+ };
1490
+ var JSON_TOKEN_ENCODER = new TextEncoder();
1491
+ function assertCandidates(candidates) {
1492
+ const ids = /* @__PURE__ */ new Set();
1493
+ for (const candidate of candidates) {
1494
+ if (typeof candidate.id !== "string" || candidate.id.trim().length === 0 || ids.has(candidate.id)) {
1495
+ throw new TypeError("Context relevance candidates require unique non-empty ids");
1496
+ }
1497
+ ids.add(candidate.id);
1498
+ for (const [signal, value] of Object.entries(candidate.signals ?? {})) {
1499
+ if (signal === "structural" || !CONTEXT_RELEVANCE_SIGNAL_NAMES.includes(signal)) {
1500
+ throw new TypeError(`Unknown context relevance signal: ${signal}`);
1501
+ }
1502
+ if (value === void 0)
1503
+ continue;
1504
+ if (!Number.isFinite(value) || value < 0 || value > 1) {
1505
+ throw new TypeError(`Context relevance signal ${signal} must be a finite number from 0 to 1`);
1506
+ }
1507
+ }
1508
+ }
1509
+ }
1510
+ function resolveWeights(overrides) {
1511
+ const weights = { ...DEFAULT_CONTEXT_RELEVANCE_WEIGHTS };
1512
+ for (const [signal, weight] of Object.entries(overrides ?? {})) {
1513
+ if (weight !== void 0 && CONTEXT_RELEVANCE_SIGNAL_NAMES.includes(signal)) {
1514
+ weights[signal] = weight;
1515
+ }
1516
+ }
1517
+ for (const [signal, weight] of Object.entries(weights)) {
1518
+ if (!Number.isFinite(weight) || weight < 0) {
1519
+ throw new TypeError(`Context relevance weight ${signal} must be a finite non-negative number`);
1520
+ }
1521
+ }
1522
+ return weights;
1523
+ }
1524
+ function defaultScoreContextCandidates(candidates, options = {}) {
1525
+ assertCandidates(candidates);
1526
+ const weights = resolveWeights(options.weights);
1527
+ const denominator = Math.max(candidates.length - 1, 1);
1528
+ const available = /* @__PURE__ */ new Set(["structural"]);
1529
+ for (const candidate of candidates) {
1530
+ for (const [signal, value] of Object.entries(candidate.signals ?? {})) {
1531
+ if (value !== void 0)
1532
+ available.add(signal);
1533
+ }
1534
+ }
1535
+ const availableSignals = CONTEXT_RELEVANCE_SIGNAL_NAMES.filter((signal) => available.has(signal));
1536
+ const scored = candidates.map((candidate, index) => {
1537
+ const signalValues = {
1538
+ structural: candidates.length === 1 ? 1 : 1 - index / denominator,
1539
+ ...candidate.signals
1540
+ };
1541
+ const contributions = {};
1542
+ let weightedScore = 0;
1543
+ let totalWeight = 0;
1544
+ for (const signal of availableSignals) {
1545
+ const value = signalValues[signal];
1546
+ if (value === void 0)
1547
+ continue;
1548
+ const contribution = value * weights[signal];
1549
+ contributions[signal] = contribution;
1550
+ weightedScore += contribution;
1551
+ totalWeight += weights[signal];
1552
+ }
1553
+ return {
1554
+ ...candidate,
1555
+ baseline_rank: index + 1,
1556
+ rank: 0,
1557
+ score: totalWeight === 0 ? 0 : weightedScore / totalWeight,
1558
+ contributions
1559
+ };
1560
+ });
1561
+ scored.sort((left, right) => right.score - left.score || left.baseline_rank - right.baseline_rank);
1562
+ scored.forEach((entry, index) => {
1563
+ entry.rank = index + 1;
1564
+ });
1565
+ return { model: "default-weighted-v1", available_signals: availableSignals, ranked: scored };
1566
+ }
1567
+ async function scoreContextCandidates(candidates, options = {}) {
1568
+ const defaultReport = defaultScoreContextCandidates(candidates, options);
1569
+ if (!options.scorer)
1570
+ return defaultReport;
1571
+ const customScores = await options.scorer({ candidates, default_report: defaultReport });
1572
+ const scoreById = /* @__PURE__ */ new Map();
1573
+ for (const entry of customScores) {
1574
+ if (scoreById.has(entry.id) || !Number.isFinite(entry.score)) {
1575
+ throw new TypeError("Context relevance scorer must return one finite score for every candidate");
1576
+ }
1577
+ scoreById.set(entry.id, entry.score);
1578
+ }
1579
+ if (scoreById.size !== candidates.length || candidates.some((candidate) => !scoreById.has(candidate.id))) {
1580
+ throw new TypeError("Context relevance scorer must return one finite score for every candidate");
1581
+ }
1582
+ const ranked = defaultReport.ranked.map((entry) => {
1583
+ const score = scoreById.get(entry.id);
1584
+ return { ...entry, score, contributions: { custom: score } };
1585
+ });
1586
+ ranked.sort((left, right) => right.score - left.score || left.baseline_rank - right.baseline_rank);
1587
+ ranked.forEach((entry, index) => {
1588
+ entry.rank = index + 1;
1589
+ });
1590
+ return { model: "custom", available_signals: defaultReport.available_signals, ranked };
1591
+ }
1592
+ async function scoreContextCandidatesWithActiveExtensions(surface, candidates, options = {}) {
1593
+ const defaultReport = defaultScoreContextCandidates(candidates, options);
1594
+ const override = await runActiveServiceOverride(CONTEXT_RELEVANCE_SERVICE, {
1595
+ surface,
1596
+ candidates,
1597
+ default_report: defaultReport
1598
+ });
1599
+ if (!override.handled) {
1600
+ return override.warnings.length > 0 ? { ...defaultReport, warnings: override.warnings } : defaultReport;
1601
+ }
1602
+ if (!Array.isArray(override.result) || !override.result.every((entry) => typeof entry === "object" && entry !== null && typeof entry.id === "string" && typeof entry.score === "number" && Number.isFinite(entry.score))) {
1603
+ return { ...defaultReport, warnings: [...override.warnings, "extension_context_relevance_invalid_result"] };
1604
+ }
1605
+ try {
1606
+ const report = await scoreContextCandidates(candidates, {
1607
+ ...options,
1608
+ scorer: () => override.result
1609
+ });
1610
+ return override.warnings.length > 0 ? { ...report, warnings: override.warnings } : report;
1611
+ } catch {
1612
+ return { ...defaultReport, warnings: [...override.warnings, "extension_context_relevance_invalid_result"] };
1613
+ }
1614
+ }
1615
+ var CONTEXT_EVALUATION_METRIC_NAMES = [
1616
+ "ndcg",
1617
+ "reciprocal_rank",
1618
+ "required_recall",
1619
+ "continuity_coverage",
1620
+ "token_budget_adherence"
1621
+ ];
1622
+ function ratioOfPresent(expected, actual) {
1623
+ if (expected.length === 0)
1624
+ return 1;
1625
+ return expected.filter((id) => actual.has(id)).length / expected.length;
1626
+ }
1627
+ function evaluateContextRanking(input) {
1628
+ if (!Number.isFinite(input.actual_tokens) || input.actual_tokens < 0 || !Number.isFinite(input.token_budget) || input.token_budget <= 0) {
1629
+ throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");
1630
+ }
1631
+ const judgments = input.judgments ?? {};
1632
+ const gains = input.ranked_ids.map((id) => Math.max(0, judgments[id] ?? 0));
1633
+ const idealGains = Object.values(judgments).map((grade) => Math.max(0, grade)).sort((left, right) => right - left).slice(0, gains.length || 1);
1634
+ const discountedGain = (values) => values.reduce((total, grade, index) => total + (2 ** grade - 1) / Math.log2(index + 2), 0);
1635
+ const ideal = discountedGain(idealGains);
1636
+ const firstRelevant = gains.findIndex((grade) => grade > 0);
1637
+ const actualIds = new Set(input.ranked_ids);
1638
+ const withinBudget = input.actual_tokens <= input.token_budget;
1639
+ return {
1640
+ ndcg: ideal === 0 ? 1 : discountedGain(gains) / ideal,
1641
+ reciprocal_rank: firstRelevant < 0 ? 0 : 1 / (firstRelevant + 1),
1642
+ required_recall: ratioOfPresent(input.required_ids ?? [], actualIds),
1643
+ continuity_coverage: ratioOfPresent(input.continuity_ids ?? [], actualIds),
1644
+ token_budget_adherence: withinBudget ? 1 : input.token_budget / input.actual_tokens,
1645
+ within_token_budget: withinBudget
1646
+ };
1647
+ }
1648
+ function estimateJsonTokens(value) {
1649
+ return Math.ceil(JSON_TOKEN_ENCODER.encode(JSON.stringify(value)).byteLength / 4);
1650
+ }
1651
+ function roundEvaluationMetric(value) {
1652
+ return Math.round(value * 1e4) / 1e4;
1653
+ }
1654
+ function rankingPayloadForScenario(result, surface) {
1655
+ const rankedIds = surface === "context" ? [
1656
+ ...result.high_level ?? [],
1657
+ ...result.low_level ?? [],
1658
+ ...result.blocked_fallback ?? []
1659
+ ].map((item) => item.id) : (result.ready ?? []).map((item) => item.id);
1660
+ const servedIds = new Set(rankedIds);
1661
+ const attribution = (result.ranking?.items ?? []).filter((item) => servedIds.has(item.id)).map((item) => ({ id: item.id, contributions: item.contributions }));
1662
+ return { rankedIds, attribution };
1663
+ }
1664
+ async function runContextEvaluationScenario(scenario, reader) {
1665
+ if (scenario.id.trim().length === 0 || scenario.rationale.trim().length === 0) {
1666
+ throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");
1667
+ }
1668
+ const result = scenario.surface === "context" ? await reader.context({ ...scenario.options, explainRanking: true }) : await reader.next({ ...scenario.options, explainRanking: true });
1669
+ const { rankedIds, attribution } = rankingPayloadForScenario(result, scenario.surface);
1670
+ const packet = { ...result, ranking: void 0 };
1671
+ const actualTokens = estimateJsonTokens(packet);
1672
+ return {
1673
+ id: scenario.id,
1674
+ surface: scenario.surface,
1675
+ rationale: scenario.rationale,
1676
+ ranked_ids: rankedIds,
1677
+ actual_tokens: actualTokens,
1678
+ metrics: evaluateContextRanking({
1679
+ ranked_ids: rankedIds,
1680
+ judgments: scenario.judgments,
1681
+ required_ids: scenario.required_ids,
1682
+ continuity_ids: scenario.continuity_ids,
1683
+ actual_tokens: actualTokens,
1684
+ token_budget: scenario.token_budget
1685
+ }),
1686
+ attribution
1687
+ };
1688
+ }
1689
+ function summarizeContextEvaluationReports(reports, thresholds) {
1690
+ if (reports.length === 0) {
1691
+ throw new TypeError("Context evaluation requires at least one scenario report");
1692
+ }
1693
+ const metrics = CONTEXT_EVALUATION_METRIC_NAMES;
1694
+ for (const metric of metrics) {
1695
+ if (!Number.isFinite(thresholds[metric])) {
1696
+ throw new TypeError(`Context evaluation threshold ${metric} must be a finite number`);
1697
+ }
1698
+ }
1699
+ const aggregate = Object.fromEntries(metrics.map((metric) => [
1700
+ metric,
1701
+ roundEvaluationMetric(reports.reduce((total, report) => total + report.metrics[metric], 0) / reports.length)
1702
+ ]));
1703
+ const failures = metrics.filter((metric) => aggregate[metric] < thresholds[metric]).map((metric) => `${metric}:${aggregate[metric]}<${thresholds[metric]}`);
1704
+ return {
1705
+ scenario_count: reports.length,
1706
+ aggregate,
1707
+ scenarios: [...reports],
1708
+ passed: failures.length === 0,
1709
+ failures
1710
+ };
1711
+ }
1712
+ async function runContextEvaluationCorpus(scenarios, reader, thresholds) {
1713
+ const reports = [];
1714
+ for (const scenario of scenarios) {
1715
+ reports.push(await runContextEvaluationScenario(scenario, reader));
1716
+ }
1717
+ return summarizeContextEvaluationReports(reports, thresholds);
1718
+ }
1719
+
1461
1720
  // dist/cli/commands/context.js
1462
1721
  var CONTEXT_OUTPUT_VALUES = ["markdown", "toon", "json"];
1463
1722
  var HIGH_LEVEL_TYPES = /* @__PURE__ */ new Set(["Epic", "Feature"]);
@@ -1749,6 +2008,75 @@ function compareCriticalItems(left, right, statusRegistry) {
1749
2008
  const byId = left.id.localeCompare(right.id);
1750
2009
  return byUpdated !== 0 ? byUpdated : byId;
1751
2010
  }
2011
+ function normalizedPressure(value, maximum) {
2012
+ const parsed = typeof value === "number" ? value : typeof value === "string" ? Number.parseFloat(value) : Number.NaN;
2013
+ if (!Number.isFinite(parsed))
2014
+ return 0;
2015
+ return 1 - Math.min(Math.max(parsed, 0), maximum) / maximum;
2016
+ }
2017
+ function resolveDeadlinePressure(deadline, nowMs) {
2018
+ const deadlineMs = typeof deadline === "string" ? Date.parse(deadline) : deadline instanceof Date ? deadline.getTime() : typeof deadline === "number" ? deadline : Number.NaN;
2019
+ if (!Number.isFinite(deadlineMs) || !Number.isFinite(nowMs))
2020
+ return 0;
2021
+ const deadlineDays = (deadlineMs - nowMs) / (24 * 60 * 60 * 1e3);
2022
+ return deadlineDays <= 0 ? 1 : 1 / (1 + deadlineDays / 30);
2023
+ }
2024
+ function resolveRiskPressure(risk) {
2025
+ const normalized = typeof risk === "string" ? risk.trim().toLowerCase() : void 0;
2026
+ if (normalized === "critical" || normalized === "high")
2027
+ return 1;
2028
+ if (normalized === "medium")
2029
+ return 0.5;
2030
+ return normalized === "low" ? 0.1 : 0;
2031
+ }
2032
+ function buildItemContextRelevanceCandidate(item, params) {
2033
+ const assignedToAuthor = params.normalizedAuthor !== void 0 && typeof item.assignee === "string" && item.assignee.trim().toLowerCase() === params.normalizedAuthor;
2034
+ const claimFocus = isInProgressStatus(item.status, params.statusRegistry) ? 1 : assignedToAuthor ? 0.75 : 0;
2035
+ const riskPressure = resolveRiskPressure(item.risk);
2036
+ const knowledgeEntries = (item.comments?.length ?? 0) + (item.notes?.length ?? 0) + (item.learnings?.length ?? 0);
2037
+ return {
2038
+ id: item.id,
2039
+ item,
2040
+ signals: {
2041
+ recency: params.itemCount === 1 ? 1 : 1 - params.recencyRank.get(item.id) / params.recencyDenominator,
2042
+ graph_proximity: item.parent ? 0.3 : 0,
2043
+ claim_focus: claimFocus,
2044
+ priority_pressure: normalizedPressure(item.priority, 4),
2045
+ risk_pressure: riskPressure,
2046
+ deadline_pressure: resolveDeadlinePressure(item.deadline, params.nowMs),
2047
+ knowledge_density: Math.min(knowledgeEntries / 5, 1),
2048
+ author_affinity: assignedToAuthor ? 1 : 0
2049
+ }
2050
+ };
2051
+ }
2052
+ function buildItemContextRelevanceCandidates(items, statusRegistry, now, author) {
2053
+ const recencyOrder = [...items].sort((left, right) => compareTimestampStrings(sortableTimestamp(right.updated_at), sortableTimestamp(left.updated_at)) || left.id.localeCompare(right.id));
2054
+ const recencyRank = new Map(recencyOrder.map((item, index) => [item.id, index]));
2055
+ const recencyDenominator = Math.max(items.length - 1, 1);
2056
+ const normalizedAuthor = author?.trim().toLowerCase();
2057
+ const nowMs = Date.parse(now);
2058
+ return items.map((item) => buildItemContextRelevanceCandidate(item, {
2059
+ statusRegistry,
2060
+ nowMs,
2061
+ normalizedAuthor,
2062
+ recencyRank,
2063
+ recencyDenominator,
2064
+ itemCount: items.length
2065
+ }));
2066
+ }
2067
+ function toContextRankingSummary(report) {
2068
+ return {
2069
+ model: report.model,
2070
+ available_signals: report.available_signals,
2071
+ items: report.ranked.map((entry) => ({
2072
+ id: entry.id,
2073
+ rank: entry.rank,
2074
+ baseline_rank: entry.baseline_rank,
2075
+ score: entry.score,
2076
+ contributions: entry.contributions
2077
+ }))
2078
+ };
2079
+ }
1752
2080
  function completionPct2(closed, total) {
1753
2081
  return total > 0 ? Math.round(closed / total * 100) : 0;
1754
2082
  }
@@ -2334,8 +2662,10 @@ function resolveContextSubtreeIds(parentScope, fullCorpus) {
2334
2662
  }
2335
2663
  return subtree.ids;
2336
2664
  }
2337
- function resolveContextFocusGroups(listedFrontMatter, allItems, statusRegistry, sectionsIncluded, limit) {
2338
- const ranked = [...listedFrontMatter].sort((left, right) => compareCriticalItems(left, right, statusRegistry));
2665
+ async function resolveContextFocusGroups(listedFrontMatter, allItems, statusRegistry, sectionsIncluded, limit, now, author) {
2666
+ const structural = [...listedFrontMatter].sort((left, right) => compareCriticalItems(left, right, statusRegistry));
2667
+ const ranking = await scoreContextCandidatesWithActiveExtensions("context", buildItemContextRelevanceCandidates(structural, statusRegistry, now, author));
2668
+ const ranked = ranking.ranked.map((entry) => entry.item);
2339
2669
  const activeStatuses = statusRegistry.active_statuses;
2340
2670
  const activeItems = ranked.filter((item) => activeStatuses.has(normalizeStatusForRegistry(item.status, statusRegistry)));
2341
2671
  const blockedItems = ranked.filter((item) => statusRegistry.blocked_statuses.has(normalizeStatusForRegistry(item.status, statusRegistry)));
@@ -2350,7 +2680,8 @@ function resolveContextFocusGroups(listedFrontMatter, allItems, statusRegistry,
2350
2680
  highLevel,
2351
2681
  lowLevel,
2352
2682
  blockedFallback: blockedFallbackUsed ? blockedItems.slice(0, limit).map((item) => toContextFocusItem(item, statusRegistry, focusChildrenByParent)) : [],
2353
- blockedFallbackUsed
2683
+ blockedFallbackUsed,
2684
+ ranking
2354
2685
  };
2355
2686
  }
2356
2687
  async function buildContextAgenda(options, global, runtime, subtreeIds) {
@@ -2450,9 +2781,9 @@ function maybeAttachEmptyContextSuggestions(result, activeItems, blockedItems) {
2450
2781
  async function runContext(options, global) {
2451
2782
  const runtime = await resolveContextRuntime(options, global);
2452
2783
  const corpus = await loadContextCorpus(options, global, runtime);
2453
- const focusGroups = resolveContextFocusGroups(corpus.listedFrontMatter, corpus.allItems, runtime.statusRegistry, runtime.sectionsIncluded, runtime.limit);
2784
+ const focusGroups = await resolveContextFocusGroups(corpus.listedFrontMatter, corpus.allItems, runtime.statusRegistry, runtime.sectionsIncluded, runtime.limit, nowIso(), process.env.PM_AUTHOR);
2454
2785
  const agendaContext = await buildContextAgenda(options, global, runtime, corpus.subtreeIds);
2455
- const warnings = mergeSortedWarnings(corpus.listed.warnings, agendaContext.agenda.warnings);
2786
+ const warnings = mergeSortedWarnings(corpus.listed.warnings, agendaContext.agenda.warnings, focusGroups.ranking.warnings);
2456
2787
  const inProgressCount = countContextStatus(focusGroups.activeItems, normalizeStatusInput("in_progress", runtime.statusRegistry), runtime.statusRegistry);
2457
2788
  const openCount = countContextStatus(focusGroups.activeItems, normalizeStatusInput("open", runtime.statusRegistry), runtime.statusRegistry);
2458
2789
  const sections = await buildOptionalContextSections({
@@ -2510,6 +2841,8 @@ async function runContext(options, global) {
2510
2841
  }
2511
2842
  };
2512
2843
  attachOptionalContextSections(result, sections);
2844
+ if (options.explainRanking === true)
2845
+ result.ranking = toContextRankingSummary(focusGroups.ranking);
2513
2846
  applyContextFocusProjection(result, runtime.focusFields);
2514
2847
  if (warnings.length > 0)
2515
2848
  result.warnings = warnings;
@@ -5293,6 +5626,14 @@ function filterCandidatesByParentScope(candidates, corpus, parentScope) {
5293
5626
  }
5294
5627
  return candidates.filter((item) => subtree.ids.has(item.id.trim().toLowerCase()));
5295
5628
  }
5629
+ async function rankReadyEntriesWithRelevance(rankedReady, childrenByParent, statusRegistry, now) {
5630
+ const concreteReady = rankedReady.filter((entry) => !hasCompletedDescendants(entry.item, childrenByParent));
5631
+ const structuralReady = concreteReady.length > 0 ? concreteReady : rankedReady;
5632
+ const ranking = await scoreContextCandidatesWithActiveExtensions("next", buildItemContextRelevanceCandidates(structuralReady.map((entry) => entry.item), statusRegistry, now, process.env.PM_AUTHOR));
5633
+ const readyById = new Map(structuralReady.map((entry) => [entry.item.id, entry]));
5634
+ const projectedReady = ranking.ranked.map((entry) => readyById.get(entry.id)).filter((entry) => entry !== void 0);
5635
+ return { projectedReady, ranking, completedContainer: concreteReady.length === 0 };
5636
+ }
5296
5637
  async function runNext(options, global) {
5297
5638
  const pmRoot = resolvePmRoot(process.cwd(), global.path);
5298
5639
  const settings = await readSettings(pmRoot);
@@ -5310,8 +5651,7 @@ async function runNext(options, global) {
5310
5651
  const childrenByParent = buildChildrenByParent(corpus);
5311
5652
  const rankedReady = rankNextReadyEntries(report.ready, childrenByParent, statusRegistry);
5312
5653
  const rankedBlocked = [...report.blocked].sort((left, right) => compareCriticalItems(left.item, right.item, statusRegistry));
5313
- const concreteReady = rankedReady.filter((entry) => !hasCompletedDescendants(entry.item, childrenByParent));
5314
- const projectedReady = concreteReady.length > 0 ? concreteReady : rankedReady;
5654
+ const { projectedReady, ranking: readyRanking, completedContainer } = await rankReadyEntriesWithRelevance(rankedReady, childrenByParent, statusRegistry, now);
5315
5655
  const readyRows = projectedReady.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));
5316
5656
  const blockedRows = rankedBlocked.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));
5317
5657
  const recommended = buildNextRecommendation({
@@ -5319,7 +5659,7 @@ async function runNext(options, global) {
5319
5659
  readyRows,
5320
5660
  statusRegistry,
5321
5661
  now,
5322
- completedContainer: concreteReady.length === 0
5662
+ completedContainer
5323
5663
  });
5324
5664
  const result = {
5325
5665
  output_default: "toon",
@@ -5349,9 +5689,11 @@ async function runNext(options, global) {
5349
5689
  ready_only: readyOnly
5350
5690
  }
5351
5691
  };
5352
- const warnings = [.../* @__PURE__ */ new Set([...candidatesList.warnings ?? [], ...corpusList.warnings ?? []])].sort((a, b) => a.localeCompare(b));
5692
+ const warnings = [.../* @__PURE__ */ new Set([...candidatesList.warnings ?? [], ...corpusList.warnings ?? [], ...readyRanking.warnings ?? []])].sort((a, b) => a.localeCompare(b));
5353
5693
  if (warnings.length > 0)
5354
5694
  result.warnings = warnings;
5695
+ if (options.explainRanking === true)
5696
+ result.ranking = toContextRankingSummary(readyRanking);
5355
5697
  result.suggestions = buildNextSuggestions(recommended, blockedRows);
5356
5698
  return result;
5357
5699
  }
@@ -5414,6 +5756,16 @@ export {
5414
5756
  renderCalendarMarkdown,
5415
5757
  renderCalendarToon,
5416
5758
  runCalendar,
5759
+ CONTEXT_RELEVANCE_SIGNAL_NAMES,
5760
+ CONTEXT_RELEVANCE_SERVICE,
5761
+ defaultScoreContextCandidates,
5762
+ scoreContextCandidates,
5763
+ scoreContextCandidatesWithActiveExtensions,
5764
+ CONTEXT_EVALUATION_METRIC_NAMES,
5765
+ evaluateContextRanking,
5766
+ runContextEvaluationScenario,
5767
+ summarizeContextEvaluationReports,
5768
+ runContextEvaluationCorpus,
5417
5769
  CONTEXT_OUTPUT_VALUES,
5418
5770
  resolveContextOutputFormat,
5419
5771
  renderContextMarkdown,
@@ -5429,6 +5781,6 @@ export {
5429
5781
  runNext,
5430
5782
  renderNextMarkdown
5431
5783
  };
5432
- //# sourceMappingURL=chunk-2FKIIQMJ.js.map
5784
+ //# sourceMappingURL=chunk-JDEXIVKQ.js.map
5433
5785
 
5434
- //# debugId=aeca411c-81f3-59f5-a9aa-aec1f3098c77
5786
+ //# debugId=cbb6210e-994c-5872-8a50-8301cc4a8d62