@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
@@ -11,7 +11,7 @@ import {
11
11
  createStdinTokenResolver,
12
12
  looksLikeGenericKeyValueEntry,
13
13
  parseCsvKv
14
- } from "./chunk-3SHDAKMF.js";
14
+ } from "./chunk-GPPWUJMR.js";
15
15
  import {
16
16
  splitCommaList
17
17
  } from "./chunk-P4SESZGT.js";
@@ -23,7 +23,7 @@ import {
23
23
  mutateItem,
24
24
  readLocatedItem,
25
25
  readSettings
26
- } from "./chunk-NTOOEVJ4.js";
26
+ } from "./chunk-Y5Q4FEE4.js";
27
27
  import {
28
28
  EXIT_CODE,
29
29
  SCOPE_VALUES,
@@ -31,7 +31,7 @@ import {
31
31
  pathExists,
32
32
  resolveItemTypeRegistry,
33
33
  resolvePmRoot
34
- } from "./chunk-MFLLULHU.js";
34
+ } from "./chunk-TB2CZJAQ.js";
35
35
 
36
36
  // dist/cli/commands/linked-artifacts.js
37
37
  import fs from "node:fs/promises";
@@ -391,6 +391,6 @@ export {
391
391
  runLinkedArtifacts,
392
392
  renameArtifactsResultKey
393
393
  };
394
- //# sourceMappingURL=chunk-6FU5BVRB.js.map
394
+ //# sourceMappingURL=chunk-RAE2SLNO.js.map
395
395
 
396
396
  //# debugId=e455daa2-7c3a-5a87-ad9a-570e05956efd
@@ -5,31 +5,31 @@ import {
5
5
  loadMutationCheckpoint,
6
6
  restoreCheckpointItems,
7
7
  writeMutationCheckpoint
8
- } from "./chunk-W2VFNVSJ.js";
8
+ } from "./chunk-H3HKQXQJ.js";
9
9
  import {
10
10
  runRestore
11
- } from "./chunk-PAWPLIWW.js";
11
+ } from "./chunk-7THLDY3D.js";
12
12
  import {
13
13
  runUpdate
14
- } from "./chunk-MCZK7LY6.js";
14
+ } from "./chunk-5BFBDJ4R.js";
15
15
  import {
16
16
  resolveAuthor
17
17
  } from "./chunk-T5RRNDA7.js";
18
18
  import {
19
19
  hasListFilters,
20
20
  runList
21
- } from "./chunk-TI7QSUFK.js";
21
+ } from "./chunk-6PBZBIS6.js";
22
22
  import {
23
23
  resolvePriority
24
- } from "./chunk-ASSVI7FP.js";
24
+ } from "./chunk-NQTIOKHL.js";
25
25
  import {
26
26
  applyTagRemovals,
27
27
  mergeAdditiveTags,
28
28
  parseTags
29
- } from "./chunk-3SHDAKMF.js";
29
+ } from "./chunk-GPPWUJMR.js";
30
30
  import {
31
31
  buildInvalidTypeError
32
- } from "./chunk-7QKSLAHB.js";
32
+ } from "./chunk-AIWGQK6K.js";
33
33
  import {
34
34
  PmCliError,
35
35
  collectRuntimeUpdateFieldValues,
@@ -40,7 +40,7 @@ import {
40
40
  resolveIsoOrRelative,
41
41
  stableValueEquals,
42
42
  toItemRecord
43
- } from "./chunk-NTOOEVJ4.js";
43
+ } from "./chunk-Y5Q4FEE4.js";
44
44
  import {
45
45
  EXIT_CODE,
46
46
  getSettingsPath,
@@ -52,7 +52,7 @@ import {
52
52
  resolveRuntimeStatusRegistry,
53
53
  resolveTypeName,
54
54
  toErrorMessage
55
- } from "./chunk-MFLLULHU.js";
55
+ } from "./chunk-TB2CZJAQ.js";
56
56
 
57
57
  // dist/cli/commands/update-many.js
58
58
  var UPDATE_MANY_CHECKPOINT_SCHEMA_VERSION = 1;
@@ -642,6 +642,6 @@ export {
642
642
  runUpdateMany,
643
643
  _testOnlyUpdateManyCommand
644
644
  };
645
- //# sourceMappingURL=chunk-S7J3GEHL.js.map
645
+ //# sourceMappingURL=chunk-RYA7QE7B.js.map
646
646
 
647
647
  //# debugId=a42cb130-5b20-548d-b69f-6a985b9f544e
@@ -13,7 +13,7 @@ import {
13
13
  resolveContentFieldFilters,
14
14
  resolveMissingMetadataFilters,
15
15
  runList
16
- } from "./chunk-5RJ4LFD3.js";
16
+ } from "./chunk-Z5MFM54X.js";
17
17
  import {
18
18
  hasContentFieldFilter,
19
19
  itemMatchesContentFilters
@@ -21,21 +21,21 @@ import {
21
21
  import {
22
22
  collectBlockedByIds,
23
23
  computeActionabilityReport
24
- } from "./chunk-5VAZHYVQ.js";
24
+ } from "./chunk-56J3MPGE.js";
25
25
  import {
26
26
  hasMissingMetadataFilter,
27
27
  itemMatchesMissingMetadata,
28
28
  lifecycleClassifierFromStatusRegistry
29
- } from "./chunk-UEATYUZW.js";
29
+ } from "./chunk-M7JYEBPT.js";
30
30
  import {
31
31
  readHistoryEntries
32
- } from "./chunk-LHDHS4Z6.js";
32
+ } from "./chunk-4QE5HOJY.js";
33
33
  import {
34
34
  parseIntegerLimit,
35
35
  parseLimit,
36
36
  parsePriority,
37
37
  parseType
38
- } from "./chunk-BFNFTHWQ.js";
38
+ } from "./chunk-O67XP4FD.js";
39
39
  import {
40
40
  resolveRegisteredSearchProvider,
41
41
  resolveRegisteredVectorStoreAdapter
@@ -52,7 +52,7 @@ import {
52
52
  resolveSearchCorpusFields,
53
53
  resolveSettingsWithSemanticRuntimeDefaults,
54
54
  resolveVectorStores
55
- } from "./chunk-ONADVBMD.js";
55
+ } from "./chunk-A62N3BM3.js";
56
56
  import {
57
57
  splitCommaList
58
58
  } from "./chunk-5HIZDR5A.js";
@@ -76,8 +76,9 @@ import {
76
76
  readSettings,
77
77
  resolveIsoOrRelative,
78
78
  runActiveOnReadHooks,
79
+ runActiveServiceOverride,
79
80
  toItemRecord
80
- } from "./chunk-BPJ5NYSJ.js";
81
+ } from "./chunk-F7UA74OZ.js";
81
82
  import {
82
83
  CONTEXT_DEPTH_VALUES,
83
84
  CONTEXT_SECTION_VALUES,
@@ -100,7 +101,7 @@ import {
100
101
  toNonEmptyString,
101
102
  toNonEmptyStringOrUndefined,
102
103
  weekdayOrderIndex
103
- } from "./chunk-2BVD4ZD2.js";
104
+ } from "./chunk-J3FDNQWM.js";
104
105
 
105
106
  // dist/cli/commands/activity.js
106
107
  import fs from "node:fs/promises";
@@ -1477,11 +1478,276 @@ async function runCalendar(options, global2) {
1477
1478
  };
1478
1479
  }
1479
1480
 
1481
+ // dist/sdk/context-relevance.js
1482
+ !(function() {
1483
+ try {
1484
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1485
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "0ede5e2d-3e25-5e4a-8cc5-574ae470c796");
1486
+ } catch (e2) {
1487
+ }
1488
+ })();
1489
+ var CONTEXT_RELEVANCE_SIGNAL_NAMES = [
1490
+ "structural",
1491
+ "recency",
1492
+ "activity_density",
1493
+ "graph_proximity",
1494
+ "claim_focus",
1495
+ "priority_pressure",
1496
+ "risk_pressure",
1497
+ "deadline_pressure",
1498
+ "knowledge_density",
1499
+ "author_affinity",
1500
+ "semantic_similarity"
1501
+ ];
1502
+ var CONTEXT_RELEVANCE_SERVICE = "context_relevance";
1503
+ var DEFAULT_CONTEXT_RELEVANCE_WEIGHTS = {
1504
+ structural: 0.4,
1505
+ recency: 0.35,
1506
+ activity_density: 0.25,
1507
+ graph_proximity: 0.15,
1508
+ claim_focus: 0.6,
1509
+ priority_pressure: 0.35,
1510
+ risk_pressure: 0.2,
1511
+ deadline_pressure: 0.45,
1512
+ knowledge_density: 0.25,
1513
+ author_affinity: 0.2,
1514
+ semantic_similarity: 0.5
1515
+ };
1516
+ var JSON_TOKEN_ENCODER = new TextEncoder();
1517
+ function assertCandidates(candidates) {
1518
+ const ids = /* @__PURE__ */ new Set();
1519
+ for (const candidate of candidates) {
1520
+ if (typeof candidate.id !== "string" || candidate.id.trim().length === 0 || ids.has(candidate.id)) {
1521
+ throw new TypeError("Context relevance candidates require unique non-empty ids");
1522
+ }
1523
+ ids.add(candidate.id);
1524
+ for (const [signal, value] of Object.entries(candidate.signals ?? {})) {
1525
+ if (signal === "structural" || !CONTEXT_RELEVANCE_SIGNAL_NAMES.includes(signal)) {
1526
+ throw new TypeError(`Unknown context relevance signal: ${signal}`);
1527
+ }
1528
+ if (value === void 0)
1529
+ continue;
1530
+ if (!Number.isFinite(value) || value < 0 || value > 1) {
1531
+ throw new TypeError(`Context relevance signal ${signal} must be a finite number from 0 to 1`);
1532
+ }
1533
+ }
1534
+ }
1535
+ }
1536
+ function resolveWeights(overrides) {
1537
+ const weights = { ...DEFAULT_CONTEXT_RELEVANCE_WEIGHTS };
1538
+ for (const [signal, weight] of Object.entries(overrides ?? {})) {
1539
+ if (weight !== void 0 && CONTEXT_RELEVANCE_SIGNAL_NAMES.includes(signal)) {
1540
+ weights[signal] = weight;
1541
+ }
1542
+ }
1543
+ for (const [signal, weight] of Object.entries(weights)) {
1544
+ if (!Number.isFinite(weight) || weight < 0) {
1545
+ throw new TypeError(`Context relevance weight ${signal} must be a finite non-negative number`);
1546
+ }
1547
+ }
1548
+ return weights;
1549
+ }
1550
+ function defaultScoreContextCandidates(candidates, options = {}) {
1551
+ assertCandidates(candidates);
1552
+ const weights = resolveWeights(options.weights);
1553
+ const denominator = Math.max(candidates.length - 1, 1);
1554
+ const available = /* @__PURE__ */ new Set(["structural"]);
1555
+ for (const candidate of candidates) {
1556
+ for (const [signal, value] of Object.entries(candidate.signals ?? {})) {
1557
+ if (value !== void 0)
1558
+ available.add(signal);
1559
+ }
1560
+ }
1561
+ const availableSignals = CONTEXT_RELEVANCE_SIGNAL_NAMES.filter((signal) => available.has(signal));
1562
+ const scored = candidates.map((candidate, index) => {
1563
+ const signalValues = {
1564
+ structural: candidates.length === 1 ? 1 : 1 - index / denominator,
1565
+ ...candidate.signals
1566
+ };
1567
+ const contributions = {};
1568
+ let weightedScore = 0;
1569
+ let totalWeight = 0;
1570
+ for (const signal of availableSignals) {
1571
+ const value = signalValues[signal];
1572
+ if (value === void 0)
1573
+ continue;
1574
+ const contribution = value * weights[signal];
1575
+ contributions[signal] = contribution;
1576
+ weightedScore += contribution;
1577
+ totalWeight += weights[signal];
1578
+ }
1579
+ return {
1580
+ ...candidate,
1581
+ baseline_rank: index + 1,
1582
+ rank: 0,
1583
+ score: totalWeight === 0 ? 0 : weightedScore / totalWeight,
1584
+ contributions
1585
+ };
1586
+ });
1587
+ scored.sort((left, right) => right.score - left.score || left.baseline_rank - right.baseline_rank);
1588
+ scored.forEach((entry, index) => {
1589
+ entry.rank = index + 1;
1590
+ });
1591
+ return { model: "default-weighted-v1", available_signals: availableSignals, ranked: scored };
1592
+ }
1593
+ async function scoreContextCandidates(candidates, options = {}) {
1594
+ const defaultReport = defaultScoreContextCandidates(candidates, options);
1595
+ if (!options.scorer)
1596
+ return defaultReport;
1597
+ const customScores = await options.scorer({ candidates, default_report: defaultReport });
1598
+ const scoreById = /* @__PURE__ */ new Map();
1599
+ for (const entry of customScores) {
1600
+ if (scoreById.has(entry.id) || !Number.isFinite(entry.score)) {
1601
+ throw new TypeError("Context relevance scorer must return one finite score for every candidate");
1602
+ }
1603
+ scoreById.set(entry.id, entry.score);
1604
+ }
1605
+ if (scoreById.size !== candidates.length || candidates.some((candidate) => !scoreById.has(candidate.id))) {
1606
+ throw new TypeError("Context relevance scorer must return one finite score for every candidate");
1607
+ }
1608
+ const ranked = defaultReport.ranked.map((entry) => {
1609
+ const score = scoreById.get(entry.id);
1610
+ return { ...entry, score, contributions: { custom: score } };
1611
+ });
1612
+ ranked.sort((left, right) => right.score - left.score || left.baseline_rank - right.baseline_rank);
1613
+ ranked.forEach((entry, index) => {
1614
+ entry.rank = index + 1;
1615
+ });
1616
+ return { model: "custom", available_signals: defaultReport.available_signals, ranked };
1617
+ }
1618
+ async function scoreContextCandidatesWithActiveExtensions(surface, candidates, options = {}) {
1619
+ const defaultReport = defaultScoreContextCandidates(candidates, options);
1620
+ const override = await runActiveServiceOverride(CONTEXT_RELEVANCE_SERVICE, {
1621
+ surface,
1622
+ candidates,
1623
+ default_report: defaultReport
1624
+ });
1625
+ if (!override.handled) {
1626
+ return override.warnings.length > 0 ? { ...defaultReport, warnings: override.warnings } : defaultReport;
1627
+ }
1628
+ 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))) {
1629
+ return { ...defaultReport, warnings: [...override.warnings, "extension_context_relevance_invalid_result"] };
1630
+ }
1631
+ try {
1632
+ const report = await scoreContextCandidates(candidates, {
1633
+ ...options,
1634
+ scorer: () => override.result
1635
+ });
1636
+ return override.warnings.length > 0 ? { ...report, warnings: override.warnings } : report;
1637
+ } catch {
1638
+ return { ...defaultReport, warnings: [...override.warnings, "extension_context_relevance_invalid_result"] };
1639
+ }
1640
+ }
1641
+ var CONTEXT_EVALUATION_METRIC_NAMES = [
1642
+ "ndcg",
1643
+ "reciprocal_rank",
1644
+ "required_recall",
1645
+ "continuity_coverage",
1646
+ "token_budget_adherence"
1647
+ ];
1648
+ function ratioOfPresent(expected, actual) {
1649
+ if (expected.length === 0)
1650
+ return 1;
1651
+ return expected.filter((id) => actual.has(id)).length / expected.length;
1652
+ }
1653
+ function evaluateContextRanking(input) {
1654
+ if (!Number.isFinite(input.actual_tokens) || input.actual_tokens < 0 || !Number.isFinite(input.token_budget) || input.token_budget <= 0) {
1655
+ throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");
1656
+ }
1657
+ const judgments = input.judgments ?? {};
1658
+ const gains = input.ranked_ids.map((id) => Math.max(0, judgments[id] ?? 0));
1659
+ const idealGains = Object.values(judgments).map((grade) => Math.max(0, grade)).sort((left, right) => right - left).slice(0, gains.length || 1);
1660
+ const discountedGain = (values) => values.reduce((total, grade, index) => total + (2 ** grade - 1) / Math.log2(index + 2), 0);
1661
+ const ideal = discountedGain(idealGains);
1662
+ const firstRelevant = gains.findIndex((grade) => grade > 0);
1663
+ const actualIds = new Set(input.ranked_ids);
1664
+ const withinBudget = input.actual_tokens <= input.token_budget;
1665
+ return {
1666
+ ndcg: ideal === 0 ? 1 : discountedGain(gains) / ideal,
1667
+ reciprocal_rank: firstRelevant < 0 ? 0 : 1 / (firstRelevant + 1),
1668
+ required_recall: ratioOfPresent(input.required_ids ?? [], actualIds),
1669
+ continuity_coverage: ratioOfPresent(input.continuity_ids ?? [], actualIds),
1670
+ token_budget_adherence: withinBudget ? 1 : input.token_budget / input.actual_tokens,
1671
+ within_token_budget: withinBudget
1672
+ };
1673
+ }
1674
+ function estimateJsonTokens(value) {
1675
+ return Math.ceil(JSON_TOKEN_ENCODER.encode(JSON.stringify(value)).byteLength / 4);
1676
+ }
1677
+ function roundEvaluationMetric(value) {
1678
+ return Math.round(value * 1e4) / 1e4;
1679
+ }
1680
+ function rankingPayloadForScenario(result, surface) {
1681
+ const rankedIds = surface === "context" ? [
1682
+ ...result.high_level ?? [],
1683
+ ...result.low_level ?? [],
1684
+ ...result.blocked_fallback ?? []
1685
+ ].map((item) => item.id) : (result.ready ?? []).map((item) => item.id);
1686
+ const servedIds = new Set(rankedIds);
1687
+ const attribution = (result.ranking?.items ?? []).filter((item) => servedIds.has(item.id)).map((item) => ({ id: item.id, contributions: item.contributions }));
1688
+ return { rankedIds, attribution };
1689
+ }
1690
+ async function runContextEvaluationScenario(scenario, reader) {
1691
+ if (scenario.id.trim().length === 0 || scenario.rationale.trim().length === 0) {
1692
+ throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");
1693
+ }
1694
+ const result = scenario.surface === "context" ? await reader.context({ ...scenario.options, explainRanking: true }) : await reader.next({ ...scenario.options, explainRanking: true });
1695
+ const { rankedIds, attribution } = rankingPayloadForScenario(result, scenario.surface);
1696
+ const packet = { ...result, ranking: void 0 };
1697
+ const actualTokens = estimateJsonTokens(packet);
1698
+ return {
1699
+ id: scenario.id,
1700
+ surface: scenario.surface,
1701
+ rationale: scenario.rationale,
1702
+ ranked_ids: rankedIds,
1703
+ actual_tokens: actualTokens,
1704
+ metrics: evaluateContextRanking({
1705
+ ranked_ids: rankedIds,
1706
+ judgments: scenario.judgments,
1707
+ required_ids: scenario.required_ids,
1708
+ continuity_ids: scenario.continuity_ids,
1709
+ actual_tokens: actualTokens,
1710
+ token_budget: scenario.token_budget
1711
+ }),
1712
+ attribution
1713
+ };
1714
+ }
1715
+ function summarizeContextEvaluationReports(reports, thresholds) {
1716
+ if (reports.length === 0) {
1717
+ throw new TypeError("Context evaluation requires at least one scenario report");
1718
+ }
1719
+ const metrics = CONTEXT_EVALUATION_METRIC_NAMES;
1720
+ for (const metric of metrics) {
1721
+ if (!Number.isFinite(thresholds[metric])) {
1722
+ throw new TypeError(`Context evaluation threshold ${metric} must be a finite number`);
1723
+ }
1724
+ }
1725
+ const aggregate = Object.fromEntries(metrics.map((metric) => [
1726
+ metric,
1727
+ roundEvaluationMetric(reports.reduce((total, report) => total + report.metrics[metric], 0) / reports.length)
1728
+ ]));
1729
+ const failures = metrics.filter((metric) => aggregate[metric] < thresholds[metric]).map((metric) => `${metric}:${aggregate[metric]}<${thresholds[metric]}`);
1730
+ return {
1731
+ scenario_count: reports.length,
1732
+ aggregate,
1733
+ scenarios: [...reports],
1734
+ passed: failures.length === 0,
1735
+ failures
1736
+ };
1737
+ }
1738
+ async function runContextEvaluationCorpus(scenarios, reader, thresholds) {
1739
+ const reports = [];
1740
+ for (const scenario of scenarios) {
1741
+ reports.push(await runContextEvaluationScenario(scenario, reader));
1742
+ }
1743
+ return summarizeContextEvaluationReports(reports, thresholds);
1744
+ }
1745
+
1480
1746
  // dist/cli/commands/context.js
1481
1747
  !(function() {
1482
1748
  try {
1483
1749
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
1484
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "d3d46914-7405-5ff8-9b6b-1fb5b466274b");
1750
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "4b85e6bf-047c-5f60-8b77-afe386ba8a10");
1485
1751
  } catch (e2) {
1486
1752
  }
1487
1753
  })();
@@ -1775,6 +2041,75 @@ function compareCriticalItems(left, right, statusRegistry) {
1775
2041
  const byId = left.id.localeCompare(right.id);
1776
2042
  return byUpdated !== 0 ? byUpdated : byId;
1777
2043
  }
2044
+ function normalizedPressure(value, maximum) {
2045
+ const parsed = typeof value === "number" ? value : typeof value === "string" ? Number.parseFloat(value) : Number.NaN;
2046
+ if (!Number.isFinite(parsed))
2047
+ return 0;
2048
+ return 1 - Math.min(Math.max(parsed, 0), maximum) / maximum;
2049
+ }
2050
+ function resolveDeadlinePressure(deadline, nowMs) {
2051
+ const deadlineMs = typeof deadline === "string" ? Date.parse(deadline) : deadline instanceof Date ? deadline.getTime() : typeof deadline === "number" ? deadline : Number.NaN;
2052
+ if (!Number.isFinite(deadlineMs) || !Number.isFinite(nowMs))
2053
+ return 0;
2054
+ const deadlineDays = (deadlineMs - nowMs) / (24 * 60 * 60 * 1e3);
2055
+ return deadlineDays <= 0 ? 1 : 1 / (1 + deadlineDays / 30);
2056
+ }
2057
+ function resolveRiskPressure(risk) {
2058
+ const normalized = typeof risk === "string" ? risk.trim().toLowerCase() : void 0;
2059
+ if (normalized === "critical" || normalized === "high")
2060
+ return 1;
2061
+ if (normalized === "medium")
2062
+ return 0.5;
2063
+ return normalized === "low" ? 0.1 : 0;
2064
+ }
2065
+ function buildItemContextRelevanceCandidate(item, params) {
2066
+ const assignedToAuthor = params.normalizedAuthor !== void 0 && typeof item.assignee === "string" && item.assignee.trim().toLowerCase() === params.normalizedAuthor;
2067
+ const claimFocus = isInProgressStatus(item.status, params.statusRegistry) ? 1 : assignedToAuthor ? 0.75 : 0;
2068
+ const riskPressure = resolveRiskPressure(item.risk);
2069
+ const knowledgeEntries = (item.comments?.length ?? 0) + (item.notes?.length ?? 0) + (item.learnings?.length ?? 0);
2070
+ return {
2071
+ id: item.id,
2072
+ item,
2073
+ signals: {
2074
+ recency: params.itemCount === 1 ? 1 : 1 - params.recencyRank.get(item.id) / params.recencyDenominator,
2075
+ graph_proximity: item.parent ? 0.3 : 0,
2076
+ claim_focus: claimFocus,
2077
+ priority_pressure: normalizedPressure(item.priority, 4),
2078
+ risk_pressure: riskPressure,
2079
+ deadline_pressure: resolveDeadlinePressure(item.deadline, params.nowMs),
2080
+ knowledge_density: Math.min(knowledgeEntries / 5, 1),
2081
+ author_affinity: assignedToAuthor ? 1 : 0
2082
+ }
2083
+ };
2084
+ }
2085
+ function buildItemContextRelevanceCandidates(items, statusRegistry, now, author) {
2086
+ const recencyOrder = [...items].sort((left, right) => compareTimestampStrings(sortableTimestamp(right.updated_at), sortableTimestamp(left.updated_at)) || left.id.localeCompare(right.id));
2087
+ const recencyRank = new Map(recencyOrder.map((item, index) => [item.id, index]));
2088
+ const recencyDenominator = Math.max(items.length - 1, 1);
2089
+ const normalizedAuthor = author?.trim().toLowerCase();
2090
+ const nowMs = Date.parse(now);
2091
+ return items.map((item) => buildItemContextRelevanceCandidate(item, {
2092
+ statusRegistry,
2093
+ nowMs,
2094
+ normalizedAuthor,
2095
+ recencyRank,
2096
+ recencyDenominator,
2097
+ itemCount: items.length
2098
+ }));
2099
+ }
2100
+ function toContextRankingSummary(report) {
2101
+ return {
2102
+ model: report.model,
2103
+ available_signals: report.available_signals,
2104
+ items: report.ranked.map((entry) => ({
2105
+ id: entry.id,
2106
+ rank: entry.rank,
2107
+ baseline_rank: entry.baseline_rank,
2108
+ score: entry.score,
2109
+ contributions: entry.contributions
2110
+ }))
2111
+ };
2112
+ }
1778
2113
  function completionPct2(closed, total) {
1779
2114
  return total > 0 ? Math.round(closed / total * 100) : 0;
1780
2115
  }
@@ -2360,8 +2695,10 @@ function resolveContextSubtreeIds(parentScope, fullCorpus) {
2360
2695
  }
2361
2696
  return subtree.ids;
2362
2697
  }
2363
- function resolveContextFocusGroups(listedFrontMatter, allItems, statusRegistry, sectionsIncluded, limit) {
2364
- const ranked = [...listedFrontMatter].sort((left, right) => compareCriticalItems(left, right, statusRegistry));
2698
+ async function resolveContextFocusGroups(listedFrontMatter, allItems, statusRegistry, sectionsIncluded, limit, now, author) {
2699
+ const structural = [...listedFrontMatter].sort((left, right) => compareCriticalItems(left, right, statusRegistry));
2700
+ const ranking = await scoreContextCandidatesWithActiveExtensions("context", buildItemContextRelevanceCandidates(structural, statusRegistry, now, author));
2701
+ const ranked = ranking.ranked.map((entry) => entry.item);
2365
2702
  const activeStatuses = statusRegistry.active_statuses;
2366
2703
  const activeItems = ranked.filter((item) => activeStatuses.has(normalizeStatusForRegistry(item.status, statusRegistry)));
2367
2704
  const blockedItems = ranked.filter((item) => statusRegistry.blocked_statuses.has(normalizeStatusForRegistry(item.status, statusRegistry)));
@@ -2376,7 +2713,8 @@ function resolveContextFocusGroups(listedFrontMatter, allItems, statusRegistry,
2376
2713
  highLevel,
2377
2714
  lowLevel,
2378
2715
  blockedFallback: blockedFallbackUsed ? blockedItems.slice(0, limit).map((item) => toContextFocusItem(item, statusRegistry, focusChildrenByParent)) : [],
2379
- blockedFallbackUsed
2716
+ blockedFallbackUsed,
2717
+ ranking
2380
2718
  };
2381
2719
  }
2382
2720
  async function buildContextAgenda(options, global2, runtime, subtreeIds) {
@@ -2476,9 +2814,9 @@ function maybeAttachEmptyContextSuggestions(result, activeItems, blockedItems) {
2476
2814
  async function runContext(options, global2) {
2477
2815
  const runtime = await resolveContextRuntime(options, global2);
2478
2816
  const corpus = await loadContextCorpus(options, global2, runtime);
2479
- const focusGroups = resolveContextFocusGroups(corpus.listedFrontMatter, corpus.allItems, runtime.statusRegistry, runtime.sectionsIncluded, runtime.limit);
2817
+ const focusGroups = await resolveContextFocusGroups(corpus.listedFrontMatter, corpus.allItems, runtime.statusRegistry, runtime.sectionsIncluded, runtime.limit, nowIso(), process.env.PM_AUTHOR);
2480
2818
  const agendaContext = await buildContextAgenda(options, global2, runtime, corpus.subtreeIds);
2481
- const warnings = mergeSortedWarnings(corpus.listed.warnings, agendaContext.agenda.warnings);
2819
+ const warnings = mergeSortedWarnings(corpus.listed.warnings, agendaContext.agenda.warnings, focusGroups.ranking.warnings);
2482
2820
  const inProgressCount = countContextStatus(focusGroups.activeItems, normalizeStatusInput("in_progress", runtime.statusRegistry), runtime.statusRegistry);
2483
2821
  const openCount = countContextStatus(focusGroups.activeItems, normalizeStatusInput("open", runtime.statusRegistry), runtime.statusRegistry);
2484
2822
  const sections = await buildOptionalContextSections({
@@ -2536,6 +2874,8 @@ async function runContext(options, global2) {
2536
2874
  }
2537
2875
  };
2538
2876
  attachOptionalContextSections(result, sections);
2877
+ if (options.explainRanking === true)
2878
+ result.ranking = toContextRankingSummary(focusGroups.ranking);
2539
2879
  applyContextFocusProjection(result, runtime.focusFields);
2540
2880
  if (warnings.length > 0)
2541
2881
  result.warnings = warnings;
@@ -5234,7 +5574,7 @@ async function runGet(id, global2, options = {}) {
5234
5574
  !(function() {
5235
5575
  try {
5236
5576
  var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5237
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "d9a631ec-bdfe-5b4d-8b69-60965965f73f");
5577
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "d5cba08f-3c08-5e34-a556-42a3920b20ec");
5238
5578
  } catch (e2) {
5239
5579
  }
5240
5580
  })();
@@ -5375,6 +5715,14 @@ function filterCandidatesByParentScope(candidates, corpus, parentScope) {
5375
5715
  }
5376
5716
  return candidates.filter((item) => subtree.ids.has(item.id.trim().toLowerCase()));
5377
5717
  }
5718
+ async function rankReadyEntriesWithRelevance(rankedReady, childrenByParent, statusRegistry, now) {
5719
+ const concreteReady = rankedReady.filter((entry) => !hasCompletedDescendants(entry.item, childrenByParent));
5720
+ const structuralReady = concreteReady.length > 0 ? concreteReady : rankedReady;
5721
+ const ranking = await scoreContextCandidatesWithActiveExtensions("next", buildItemContextRelevanceCandidates(structuralReady.map((entry) => entry.item), statusRegistry, now, process.env.PM_AUTHOR));
5722
+ const readyById = new Map(structuralReady.map((entry) => [entry.item.id, entry]));
5723
+ const projectedReady = ranking.ranked.map((entry) => readyById.get(entry.id)).filter((entry) => entry !== void 0);
5724
+ return { projectedReady, ranking, completedContainer: concreteReady.length === 0 };
5725
+ }
5378
5726
  async function runNext(options, global2) {
5379
5727
  const pmRoot = resolvePmRoot(process.cwd(), global2.path);
5380
5728
  const settings = await readSettings(pmRoot);
@@ -5392,8 +5740,7 @@ async function runNext(options, global2) {
5392
5740
  const childrenByParent = buildChildrenByParent(corpus);
5393
5741
  const rankedReady = rankNextReadyEntries(report.ready, childrenByParent, statusRegistry);
5394
5742
  const rankedBlocked = [...report.blocked].sort((left, right) => compareCriticalItems(left.item, right.item, statusRegistry));
5395
- const concreteReady = rankedReady.filter((entry) => !hasCompletedDescendants(entry.item, childrenByParent));
5396
- const projectedReady = concreteReady.length > 0 ? concreteReady : rankedReady;
5743
+ const { projectedReady, ranking: readyRanking, completedContainer } = await rankReadyEntriesWithRelevance(rankedReady, childrenByParent, statusRegistry, now);
5397
5744
  const readyRows = projectedReady.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));
5398
5745
  const blockedRows = rankedBlocked.map((entry) => toNextActionableItem(entry, statusRegistry, childrenByParent));
5399
5746
  const recommended = buildNextRecommendation({
@@ -5401,7 +5748,7 @@ async function runNext(options, global2) {
5401
5748
  readyRows,
5402
5749
  statusRegistry,
5403
5750
  now,
5404
- completedContainer: concreteReady.length === 0
5751
+ completedContainer
5405
5752
  });
5406
5753
  const result = {
5407
5754
  output_default: "toon",
@@ -5431,9 +5778,11 @@ async function runNext(options, global2) {
5431
5778
  ready_only: readyOnly
5432
5779
  }
5433
5780
  };
5434
- const warnings = [.../* @__PURE__ */ new Set([...candidatesList.warnings ?? [], ...corpusList.warnings ?? []])].sort((a, b) => a.localeCompare(b));
5781
+ const warnings = [.../* @__PURE__ */ new Set([...candidatesList.warnings ?? [], ...corpusList.warnings ?? [], ...readyRanking.warnings ?? []])].sort((a, b) => a.localeCompare(b));
5435
5782
  if (warnings.length > 0)
5436
5783
  result.warnings = warnings;
5784
+ if (options.explainRanking === true)
5785
+ result.ranking = toContextRankingSummary(readyRanking);
5437
5786
  result.suggestions = buildNextSuggestions(recommended, blockedRows);
5438
5787
  return result;
5439
5788
  }
@@ -5496,6 +5845,16 @@ export {
5496
5845
  renderCalendarMarkdown,
5497
5846
  renderCalendarToon,
5498
5847
  runCalendar,
5848
+ CONTEXT_RELEVANCE_SIGNAL_NAMES,
5849
+ CONTEXT_RELEVANCE_SERVICE,
5850
+ defaultScoreContextCandidates,
5851
+ scoreContextCandidates,
5852
+ scoreContextCandidatesWithActiveExtensions,
5853
+ CONTEXT_EVALUATION_METRIC_NAMES,
5854
+ evaluateContextRanking,
5855
+ runContextEvaluationScenario,
5856
+ summarizeContextEvaluationReports,
5857
+ runContextEvaluationCorpus,
5499
5858
  CONTEXT_OUTPUT_VALUES,
5500
5859
  resolveContextOutputFormat,
5501
5860
  renderContextMarkdown,
@@ -5511,4 +5870,4 @@ export {
5511
5870
  runNext,
5512
5871
  renderNextMarkdown
5513
5872
  };
5514
- //# sourceMappingURL=chunk-N4S7BV43.js.map
5873
+ //# sourceMappingURL=chunk-SL337EYZ.js.map