@remnic/core 9.65.7 → 9.66.0

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 (713) hide show
  1. package/dist/access-admin-ops-surface.d.ts +15 -14
  2. package/dist/access-admin-ops-surface.js +65 -62
  3. package/dist/access-authorization-probe.d.ts +15 -14
  4. package/dist/access-authorization-probe.js +66 -63
  5. package/dist/access-boundary.d.ts +15 -14
  6. package/dist/access-boundary.js +65 -62
  7. package/dist/access-citation-namespace.js +3 -3
  8. package/dist/access-cli.js +182 -174
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-coding-context-resolution.d.ts +2 -2
  11. package/dist/access-coding-context-resolution.js +2 -2
  12. package/dist/access-extraction-force-flush.d.ts +15 -14
  13. package/dist/access-extraction-force-flush.js +65 -62
  14. package/dist/access-health-types.d.ts +2 -2
  15. package/dist/access-http-lcm-compaction.d.ts +15 -14
  16. package/dist/access-http-lifecycle-flush.d.ts +15 -14
  17. package/dist/access-http-offline-stream.d.ts +15 -14
  18. package/dist/access-http-query.d.ts +3 -3
  19. package/dist/access-http-query.js +67 -64
  20. package/dist/access-http.d.ts +16 -15
  21. package/dist/access-http.js +87 -84
  22. package/dist/access-identity-continuity-surface.d.ts +13 -12
  23. package/dist/access-identity-continuity-surface.js +65 -62
  24. package/dist/access-lcm-surface.d.ts +15 -14
  25. package/dist/access-lcm-surface.js +65 -62
  26. package/dist/access-mcp-output-schemas.js +1 -1
  27. package/dist/access-mcp.d.ts +15 -14
  28. package/dist/access-mcp.js +77 -74
  29. package/dist/access-memory-search-fanout.d.ts +3 -3
  30. package/dist/{access-namespace-preflight-8VYKmRX0.d.ts → access-namespace-preflight-CLWUoMyW.d.ts} +1 -1
  31. package/dist/access-namespace-preflight.d.ts +4 -4
  32. package/dist/access-namespace-preflight.js +65 -62
  33. package/dist/access-observe-write-surface.d.ts +15 -14
  34. package/dist/access-observe-write-surface.js +65 -62
  35. package/dist/access-offline-manifest.d.ts +13 -12
  36. package/dist/access-offline-manifest.js +16 -16
  37. package/dist/access-operations-batch.js +69 -66
  38. package/dist/access-operations.d.ts +16 -15
  39. package/dist/access-operations.js +74 -71
  40. package/dist/access-recall-concurrency.d.ts +15 -14
  41. package/dist/access-recall-concurrency.js +65 -62
  42. package/dist/access-recall-response.d.ts +15 -14
  43. package/dist/access-recall-response.js +65 -62
  44. package/dist/access-recall-surface.d.ts +15 -14
  45. package/dist/access-recall-surface.js +65 -62
  46. package/dist/access-schema.js +7 -7
  47. package/dist/{access-service-Crk__Git.d.ts → access-service-CEUE1Isj.d.ts} +14 -14
  48. package/dist/access-service-helpers.d.ts +15 -14
  49. package/dist/access-service.d.ts +15 -14
  50. package/dist/access-service.js +65 -62
  51. package/dist/access-surface-catalog.d.ts +15 -14
  52. package/dist/access-surface-catalog.js +69 -64
  53. package/dist/access-surface-catalog.js.map +1 -1
  54. package/dist/access-wearables-meetings-surface.d.ts +6 -4
  55. package/dist/action-confidence.d.ts +2 -2
  56. package/dist/active-context-config.d.ts +27 -0
  57. package/dist/active-context-config.js +14 -0
  58. package/dist/active-context-transform.d.ts +267 -0
  59. package/dist/active-context-transform.js +31 -0
  60. package/dist/active-memory-bridge.d.ts +2 -2
  61. package/dist/active-memory-bridge.js +2 -2
  62. package/dist/active-recall.d.ts +2 -2
  63. package/dist/active-recall.js +17 -16
  64. package/dist/active-recall.js.map +1 -1
  65. package/dist/adapters/index.js +7 -7
  66. package/dist/adapters/registry.js +3 -3
  67. package/dist/ambient-provenance.d.ts +2 -2
  68. package/dist/artifact-search.d.ts +2 -2
  69. package/dist/{auto-sync-XVMLL2RH.js → auto-sync-Q6Q2FVSC.js} +10 -10
  70. package/dist/behavior-learner.d.ts +2 -2
  71. package/dist/behavior-signals.d.ts +2 -2
  72. package/dist/bootstrap.d.ts +13 -12
  73. package/dist/briefing-window.d.ts +5 -3
  74. package/dist/briefing.d.ts +5 -3
  75. package/dist/briefing.js +33 -33
  76. package/dist/buffer-surprise-report.d.ts +2 -2
  77. package/dist/buffer-turn-helpers.d.ts +2 -2
  78. package/dist/buffer.d.ts +5 -3
  79. package/dist/buffer.js +24 -8
  80. package/dist/bulk-import/index.d.ts +4 -4
  81. package/dist/calibration.d.ts +2 -2
  82. package/dist/calibration.js +1 -1
  83. package/dist/capabilities.d.ts +2 -2
  84. package/dist/{capsule-merge-SGIVB3WA.js → capsule-merge-SEHERWWP.js} +4 -4
  85. package/dist/{catalog-DybwVNW3.d.ts → catalog-D1HgugTA.d.ts} +1 -1
  86. package/dist/causal-behavior.d.ts +4 -4
  87. package/dist/causal-consolidation.d.ts +2 -2
  88. package/dist/causal-consolidation.js +34 -34
  89. package/dist/causal-trajectory-graph.d.ts +2 -2
  90. package/dist/{chunk-CFGU52XJ.js → chunk-23CVL7HS.js} +2 -2
  91. package/dist/{chunk-PO7NXBG2.js → chunk-2GF27PGH.js} +5 -5
  92. package/dist/{chunk-6CPUQ5D6.js → chunk-2LBAFHOQ.js} +15 -15
  93. package/dist/{chunk-JBPKEARU.js → chunk-2QSZNTDO.js} +7 -7
  94. package/dist/{chunk-IP4ZNT4U.js → chunk-33MFRY25.js} +2 -2
  95. package/dist/{chunk-VFYRYFLL.js → chunk-3TSU662L.js} +3 -3
  96. package/dist/chunk-43HUVDTD.js +114 -0
  97. package/dist/chunk-43HUVDTD.js.map +1 -0
  98. package/dist/{chunk-VXVZ2GM3.js → chunk-4FHRZD5T.js} +2 -2
  99. package/dist/{chunk-FP7YTTVO.js → chunk-4OFKZAJG.js} +2 -1
  100. package/dist/chunk-4OFKZAJG.js.map +1 -0
  101. package/dist/{chunk-5VPQSRQO.js → chunk-4STAANV7.js} +3 -3
  102. package/dist/{chunk-46WM6JX2.js → chunk-4ZWCQJNM.js} +5 -5
  103. package/dist/{chunk-LLQCM2U2.js → chunk-56IV4J5W.js} +617 -167
  104. package/dist/chunk-56IV4J5W.js.map +1 -0
  105. package/dist/{chunk-52II7PB6.js → chunk-645WOU5I.js} +4 -4
  106. package/dist/{chunk-YKWFK7XA.js → chunk-6CEGSTBD.js} +7 -7
  107. package/dist/{chunk-I7EX6KSH.js → chunk-6QDXA26G.js} +264 -210
  108. package/dist/chunk-6QDXA26G.js.map +1 -0
  109. package/dist/{chunk-GEPACVWN.js → chunk-6RUHELWR.js} +3 -3
  110. package/dist/{chunk-ZAOHJDKH.js → chunk-72OIT7KS.js} +4 -4
  111. package/dist/{chunk-KQAFEZQX.js → chunk-7LCGFUMB.js} +4 -4
  112. package/dist/{chunk-7TCGNUVP.js → chunk-7UTDHQZ5.js} +3 -3
  113. package/dist/{chunk-5HK3CJAR.js → chunk-7XOG75AU.js} +3 -3
  114. package/dist/{chunk-7BDZTALN.js → chunk-AJTG3CP7.js} +12 -2
  115. package/dist/chunk-AJTG3CP7.js.map +1 -0
  116. package/dist/{chunk-2LWQSV6A.js → chunk-AL3UYZ5N.js} +3 -2
  117. package/dist/chunk-AL3UYZ5N.js.map +1 -0
  118. package/dist/chunk-B32WYRXX.js +77 -0
  119. package/dist/chunk-B32WYRXX.js.map +1 -0
  120. package/dist/{chunk-C24UZSFW.js → chunk-CEH2AFXG.js} +6 -6
  121. package/dist/{chunk-YOXVZJFM.js → chunk-CFVTRUR3.js} +2 -2
  122. package/dist/{chunk-ACOC27BB.js → chunk-CN4VKV3S.js} +2 -2
  123. package/dist/{chunk-PMVPCZJZ.js → chunk-CTCGHNWN.js} +6 -6
  124. package/dist/{chunk-EGBDFJ36.js → chunk-DD5JFCWM.js} +2 -2
  125. package/dist/{chunk-T42L3S6A.js → chunk-DDX6KIXF.js} +2 -2
  126. package/dist/{chunk-JIYDRBVZ.js → chunk-DJORULH3.js} +2 -2
  127. package/dist/{chunk-WTOZBZNN.js → chunk-DMEHOEC7.js} +6 -6
  128. package/dist/{chunk-OPPBTPUU.js → chunk-DUAJKRR2.js} +4 -4
  129. package/dist/{chunk-XDL5CYZN.js → chunk-EEOUMG3J.js} +2 -1
  130. package/dist/{chunk-XDL5CYZN.js.map → chunk-EEOUMG3J.js.map} +1 -1
  131. package/dist/{chunk-SVVIASVX.js → chunk-EFQCDJZ2.js} +7 -7
  132. package/dist/{chunk-Q57GOHLF.js → chunk-EGALNSZ4.js} +3 -3
  133. package/dist/{chunk-KCT36JAW.js → chunk-ESNFSSO4.js} +2 -2
  134. package/dist/{chunk-XQ3HXAQH.js → chunk-ET2CNMLD.js} +4 -4
  135. package/dist/{chunk-Z4U3UN56.js → chunk-EZSCW4EM.js} +6 -6
  136. package/dist/{chunk-F6QHHRWP.js → chunk-FESUGFIL.js} +3 -3
  137. package/dist/{chunk-S3K2CIK5.js → chunk-FKKGCGYL.js} +3 -3
  138. package/dist/{chunk-BWGCOLEL.js → chunk-FTTJRVB7.js} +2 -2
  139. package/dist/{chunk-JAQXUGLN.js → chunk-FYWLSFFS.js} +2 -2
  140. package/dist/{chunk-BJTHRFFC.js → chunk-GEJKYA7D.js} +77 -36
  141. package/dist/chunk-GEJKYA7D.js.map +1 -0
  142. package/dist/chunk-GSKINLAK.js +267 -0
  143. package/dist/chunk-GSKINLAK.js.map +1 -0
  144. package/dist/{chunk-OPGL46PX.js → chunk-GX6FTSYH.js} +2 -2
  145. package/dist/{chunk-A32YEQAM.js → chunk-H7VDIF2V.js} +2 -2
  146. package/dist/{chunk-PDDSFELN.js → chunk-HJXA6ZM7.js} +2 -2
  147. package/dist/{chunk-RGCF4XNH.js → chunk-HNPE66LB.js} +8 -8
  148. package/dist/{chunk-SEA6M7SS.js → chunk-I5VB44ZK.js} +2 -2
  149. package/dist/{chunk-SDEPLF7V.js → chunk-IBJ6U753.js} +2 -2
  150. package/dist/{chunk-EUYWQ7TS.js → chunk-IEZ6CGTW.js} +2 -2
  151. package/dist/{chunk-RQE4TITU.js → chunk-IHGMRDEE.js} +431 -1834
  152. package/dist/chunk-IHGMRDEE.js.map +1 -0
  153. package/dist/{chunk-3RI5Y7KU.js → chunk-IVIAHQBR.js} +2 -2
  154. package/dist/{chunk-7WR462EM.js → chunk-J3OND5QT.js} +4 -4
  155. package/dist/{chunk-UW5NPZJ2.js → chunk-JALOAKSZ.js} +59 -7
  156. package/dist/chunk-JALOAKSZ.js.map +1 -0
  157. package/dist/{chunk-T3JQTCCO.js → chunk-JI7U6AS3.js} +4 -4
  158. package/dist/{chunk-DVYRD4HY.js → chunk-JRRQ747T.js} +36 -7
  159. package/dist/chunk-JRRQ747T.js.map +1 -0
  160. package/dist/{chunk-I32NKXE2.js → chunk-JTWZKNUH.js} +5 -5
  161. package/dist/chunk-K66OY4EI.js +202 -0
  162. package/dist/chunk-K66OY4EI.js.map +1 -0
  163. package/dist/{chunk-XAB6STPO.js → chunk-KODXCHXJ.js} +17 -3
  164. package/dist/chunk-KODXCHXJ.js.map +1 -0
  165. package/dist/{chunk-ZPUIRTIZ.js → chunk-KOLJJN5G.js} +12 -75
  166. package/dist/chunk-KOLJJN5G.js.map +1 -0
  167. package/dist/{chunk-FMQ4MOQO.js → chunk-KXIXO76C.js} +32 -19
  168. package/dist/chunk-KXIXO76C.js.map +1 -0
  169. package/dist/{chunk-VKCAHCBI.js → chunk-L4X4PJYK.js} +2 -2
  170. package/dist/chunk-LB7WCZHY.js +553 -0
  171. package/dist/chunk-LB7WCZHY.js.map +1 -0
  172. package/dist/{chunk-W4BMEGQA.js → chunk-LUDBXTBJ.js} +8 -8
  173. package/dist/{chunk-I4343FIA.js → chunk-MAH64N55.js} +28 -10
  174. package/dist/chunk-MAH64N55.js.map +1 -0
  175. package/dist/{chunk-RIAM7DND.js → chunk-ME35HVDJ.js} +2 -2
  176. package/dist/{chunk-H63EDPFJ.js → chunk-MI2OTWV5.js} +15 -2
  177. package/dist/{chunk-H63EDPFJ.js.map → chunk-MI2OTWV5.js.map} +1 -1
  178. package/dist/{chunk-LBFFNDFM.js → chunk-MINHJ55X.js} +1 -1
  179. package/dist/chunk-MINHJ55X.js.map +1 -0
  180. package/dist/{chunk-NG3MBQV4.js → chunk-MJRGVXPQ.js} +2 -2
  181. package/dist/{chunk-773TRRGT.js → chunk-MJUCDM3C.js} +2 -2
  182. package/dist/{chunk-7F27PCSN.js → chunk-MN5NOOI7.js} +2 -2
  183. package/dist/{chunk-JCWY73FK.js → chunk-N4F7ZSSG.js} +2 -2
  184. package/dist/{chunk-TR7DGXGI.js → chunk-NACLNNFQ.js} +5 -5
  185. package/dist/{chunk-LC2BDILZ.js → chunk-NBP4EX5N.js} +2 -2
  186. package/dist/{chunk-ZVPVTPGI.js → chunk-NNZFPYYX.js} +4 -4
  187. package/dist/{chunk-MFOSZUIT.js → chunk-NPIBN2VL.js} +2 -2
  188. package/dist/{chunk-IY7UXD3J.js → chunk-O57GM3FR.js} +2 -2
  189. package/dist/{chunk-I2HTKOOP.js → chunk-O7ERGZDA.js} +5 -5
  190. package/dist/{chunk-GTSVEEP3.js → chunk-OAJMQKQR.js} +3 -3
  191. package/dist/{chunk-HSZMX3ZJ.js → chunk-ODW5GDFE.js} +2 -2
  192. package/dist/{chunk-D4QVPP3G.js → chunk-PEBH5DCK.js} +18 -11
  193. package/dist/chunk-PEBH5DCK.js.map +1 -0
  194. package/dist/{chunk-J2WC5LF4.js → chunk-QBC33MPY.js} +2 -1
  195. package/dist/{chunk-EOHKUWXW.js → chunk-QCRJMU5V.js} +2 -2
  196. package/dist/chunk-QJCWK2A7.js +1466 -0
  197. package/dist/chunk-QJCWK2A7.js.map +1 -0
  198. package/dist/{chunk-THG4GYIE.js → chunk-RDGKVH6T.js} +11 -7
  199. package/dist/{chunk-THG4GYIE.js.map → chunk-RDGKVH6T.js.map} +1 -1
  200. package/dist/{chunk-5DH6PG4B.js → chunk-RZ3IZIJG.js} +3 -3
  201. package/dist/{chunk-AAXJNINV.js → chunk-SN4JXNLL.js} +2 -2
  202. package/dist/chunk-TB2MJRI6.js +866 -0
  203. package/dist/chunk-TB2MJRI6.js.map +1 -0
  204. package/dist/{chunk-7PHI6GUI.js → chunk-TEZ2HTC7.js} +42 -2
  205. package/dist/chunk-TEZ2HTC7.js.map +1 -0
  206. package/dist/{chunk-SVSRPG6M.js → chunk-TNGH4ZYI.js} +2 -2
  207. package/dist/{chunk-HZNYJN77.js → chunk-TNXNECAN.js} +6 -6
  208. package/dist/{chunk-JOEJG4SD.js → chunk-TVW4C7PV.js} +5 -5
  209. package/dist/{chunk-UFKPQBXH.js → chunk-U62OK7BB.js} +2 -2
  210. package/dist/{chunk-R2MZCYA6.js → chunk-UNUMFURP.js} +3 -3
  211. package/dist/{chunk-AX7UXCHJ.js → chunk-UYA36DQ7.js} +2 -1
  212. package/dist/chunk-UYA36DQ7.js.map +1 -0
  213. package/dist/{chunk-AFR6AIM4.js → chunk-VCKWULAK.js} +112 -87
  214. package/dist/chunk-VCKWULAK.js.map +1 -0
  215. package/dist/chunk-VOSWUO3K.js +100 -0
  216. package/dist/chunk-VOSWUO3K.js.map +1 -0
  217. package/dist/{chunk-YRVAKONL.js → chunk-VQ4AMTGZ.js} +1 -1
  218. package/dist/{chunk-3BCULS4U.js → chunk-VQNRICAQ.js} +145 -507
  219. package/dist/chunk-VQNRICAQ.js.map +1 -0
  220. package/dist/{chunk-RAIUTAZZ.js → chunk-WKAXBXVA.js} +2 -2
  221. package/dist/{chunk-ZIJDI4CP.js → chunk-WKJFIMVN.js} +2 -2
  222. package/dist/{chunk-SXIMQLGV.js → chunk-WVGXCBOC.js} +2 -2
  223. package/dist/{chunk-7BEPVIH3.js → chunk-X5YYSAZX.js} +4 -4
  224. package/dist/{chunk-FZEEWOI2.js → chunk-XJJYSX6F.js} +2 -2
  225. package/dist/{chunk-F635GAL7.js → chunk-XKNHFDTT.js} +33 -13
  226. package/dist/chunk-XKNHFDTT.js.map +1 -0
  227. package/dist/{chunk-UG6VXIOK.js → chunk-XSTNGNJP.js} +2 -2
  228. package/dist/{chunk-YDPAE2RD.js → chunk-YFLLGRXO.js} +2 -2
  229. package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
  230. package/dist/{chunk-ANJXPFRS.js → chunk-YXFCALVT.js} +14 -14
  231. package/dist/{chunk-Q4WONDMJ.js → chunk-YYGZJPOK.js} +2 -2
  232. package/dist/{chunk-5HERQ5FX.js → chunk-Z3YEGSR4.js} +10 -10
  233. package/dist/{chunk-YWSQD2IB.js → chunk-ZJPM7GZ3.js} +2 -2
  234. package/dist/{chunk-5S4LQOPE.js → chunk-ZW4VXELZ.js} +2 -2
  235. package/dist/{cli-B322UMvB.d.ts → cli-BEkm2MEf.d.ts} +5 -5
  236. package/dist/cli.d.ts +17 -16
  237. package/dist/cli.js +126 -120
  238. package/dist/coding/export-okf-codegraph.d.ts +56 -0
  239. package/dist/coding/export-okf-codegraph.js +526 -0
  240. package/dist/coding/export-okf-codegraph.js.map +1 -0
  241. package/dist/coding/pre-action-gate.d.ts +2 -2
  242. package/dist/compounding/engine.d.ts +5 -3
  243. package/dist/compounding/engine.js +34 -34
  244. package/dist/compounding/preference-consolidator.d.ts +4 -4
  245. package/dist/compression-optimizer.d.ts +2 -2
  246. package/dist/config-security.js +2 -2
  247. package/dist/config.d.ts +2 -2
  248. package/dist/config.js +17 -16
  249. package/dist/connectors/codex-materialize-runner.d.ts +2 -2
  250. package/dist/connectors/codex-materialize-runner.js +33 -33
  251. package/dist/connectors/codex-materialize.d.ts +2 -2
  252. package/dist/connectors/index.d.ts +2 -2
  253. package/dist/connectors/index.js +33 -33
  254. package/dist/consolidation-provenance-check.d.ts +5 -3
  255. package/dist/consolidation-provenance-check.js +5 -5
  256. package/dist/consolidation-undo.d.ts +5 -3
  257. package/dist/consolidation-undo.js +3 -3
  258. package/dist/context-summary.d.ts +43 -0
  259. package/dist/context-summary.js +14 -0
  260. package/dist/context-summary.js.map +1 -0
  261. package/dist/contradiction/index.d.ts +6 -4
  262. package/dist/contradiction/index.js +10 -10
  263. package/dist/{contradiction-scan-AKUWPX5N.js → contradiction-scan-NOYMFG66.js} +3 -3
  264. package/dist/contradiction-scan-NOYMFG66.js.map +1 -0
  265. package/dist/converge-config.d.ts +2 -2
  266. package/dist/convergence-refresh.d.ts +5 -3
  267. package/dist/convergence-refresh.js +36 -36
  268. package/dist/conversation-index/backend.d.ts +2 -2
  269. package/dist/conversation-index/chunker.d.ts +2 -2
  270. package/dist/conversation-index/faiss-adapter.d.ts +2 -2
  271. package/dist/conversation-index/indexer.d.ts +2 -2
  272. package/dist/conversation-index/search.d.ts +2 -2
  273. package/dist/corpus-watermark.d.ts +2 -2
  274. package/dist/corpus-watermark.js +35 -35
  275. package/dist/cross-lingual-recall.d.ts +2 -2
  276. package/dist/dashboard-runtime.js +2 -2
  277. package/dist/day-summary.d.ts +2 -2
  278. package/dist/delinearize.d.ts +2 -2
  279. package/dist/dependency-propagation-config.d.ts +2 -2
  280. package/dist/{dependency-propagation-delivery-BGcNairQ.d.ts → dependency-propagation-delivery-BCpeo14F.d.ts} +1 -1
  281. package/dist/direct-answer-wiring.d.ts +2 -2
  282. package/dist/direct-answer.d.ts +2 -2
  283. package/dist/embedding-fallback.d.ts +2 -2
  284. package/dist/enrichment/index.d.ts +2 -2
  285. package/dist/entity-origin-fields.d.ts +2 -2
  286. package/dist/entity-retrieval.d.ts +5 -3
  287. package/dist/entity-retrieval.js +34 -34
  288. package/dist/entity-schema.d.ts +2 -2
  289. package/dist/episodic-context.d.ts +2 -2
  290. package/dist/eval-trajectory-contracts.d.ts +2 -2
  291. package/dist/eval-trajectory-store.d.ts +2 -2
  292. package/dist/eval-trajectory.d.ts +2 -2
  293. package/dist/event-order-recall.js +3 -3
  294. package/dist/explicit-capture.d.ts +13 -12
  295. package/dist/explicit-capture.js +12 -12
  296. package/dist/external-wiki-access.d.ts +15 -14
  297. package/dist/external-wiki-access.js +66 -63
  298. package/dist/external-wiki-collection-registration.d.ts +2 -2
  299. package/dist/external-wiki-collection.d.ts +2 -2
  300. package/dist/external-wiki-mcp-tools.d.ts +15 -14
  301. package/dist/extraction-error-classification.d.ts +2 -2
  302. package/dist/extraction-faithfulness.d.ts +2 -2
  303. package/dist/extraction-faithfulness.js +2 -2
  304. package/dist/extraction-judge-telemetry.d.ts +2 -2
  305. package/dist/extraction-judge-training.d.ts +2 -2
  306. package/dist/extraction-judge.d.ts +2 -2
  307. package/dist/extraction-judge.js +2 -2
  308. package/dist/extraction-liveness.d.ts +2 -2
  309. package/dist/extraction-normalization.d.ts +2 -2
  310. package/dist/extraction-prompt.d.ts +2 -2
  311. package/dist/extraction-source-grounding-rules.d.ts +2 -2
  312. package/dist/extraction-source-grounding.d.ts +2 -2
  313. package/dist/extraction.d.ts +2 -2
  314. package/dist/extraction.js +47 -44
  315. package/dist/fallback-llm.d.ts +8 -2
  316. package/dist/fallback-llm.js +1 -1
  317. package/dist/{first-start-migration-4NETATFF.js → first-start-migration-KHIMCBIC.js} +3 -3
  318. package/dist/{forget-SZ2BXDGF.js → forget-2AE4MDK3.js} +3 -3
  319. package/dist/graph-dashboard-diff.d.ts +2 -2
  320. package/dist/graph-dashboard-key.d.ts +2 -2
  321. package/dist/graph-dashboard-parser.d.ts +2 -2
  322. package/dist/graph-edge-reinforcement.d.ts +2 -2
  323. package/dist/graph-path-reconstruction.d.ts +2 -2
  324. package/dist/graph-path-scoring.d.ts +2 -2
  325. package/dist/graph-snapshot.d.ts +2 -2
  326. package/dist/graph.d.ts +2 -2
  327. package/dist/harmonic-retrieval.js +1 -1
  328. package/dist/importance.d.ts +2 -2
  329. package/dist/importers/index.d.ts +2 -2
  330. package/dist/in-flight-reads.d.ts +2 -2
  331. package/dist/{index-By2QUAMh.d.ts → index-D_pyMUaP.d.ts} +2 -2
  332. package/dist/index.d.ts +261 -30
  333. package/dist/index.js +321 -257
  334. package/dist/intent.d.ts +2 -2
  335. package/dist/lcm/engine.d.ts +3 -3
  336. package/dist/lcm/engine.js +5 -4
  337. package/dist/lcm/index.d.ts +4 -3
  338. package/dist/lcm/index.js +12 -11
  339. package/dist/lcm/summarizer.d.ts +4 -6
  340. package/dist/lcm/summarizer.js +2 -1
  341. package/dist/lcm/tools.d.ts +4 -4
  342. package/dist/lifecycle.d.ts +2 -2
  343. package/dist/live-connectors-runner.d.ts +2 -2
  344. package/dist/local-llm.d.ts +2 -2
  345. package/dist/local-model-endpoint.d.ts +2 -2
  346. package/dist/location/index.d.ts +315 -6
  347. package/dist/location/index.js +151 -19
  348. package/dist/maintenance/memory-governance.d.ts +2 -2
  349. package/dist/maintenance/memory-governance.js +34 -34
  350. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +5 -3
  351. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +33 -33
  352. package/dist/maintenance/rebuild-memory-projection.d.ts +5 -3
  353. package/dist/maintenance/rebuild-memory-projection.js +35 -35
  354. package/dist/{maintenance-Dm2McrIx.d.ts → maintenance-DDUX9d6D.d.ts} +3 -3
  355. package/dist/mcp-memory-inspector-app.d.ts +15 -14
  356. package/dist/mcp-read-only-tools.js +1 -1
  357. package/dist/memory-action-policy.d.ts +18 -3
  358. package/dist/memory-action-policy.js +3 -1
  359. package/dist/memory-cache.d.ts +2 -2
  360. package/dist/memory-controller.d.ts +2 -2
  361. package/dist/memory-controller.js +2 -2
  362. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -2
  363. package/dist/memory-projection-mutations.js +3 -3
  364. package/dist/memory-projection-store.d.ts +2 -2
  365. package/dist/memory-projection-store.js +1 -1
  366. package/dist/memory-provenance.d.ts +2 -2
  367. package/dist/memory-snapshot.d.ts +2 -2
  368. package/dist/memory-subject-cli.d.ts +15 -14
  369. package/dist/memory-subject.d.ts +15 -14
  370. package/dist/memory-subject.js +5 -5
  371. package/dist/memory-worth-outcomes.d.ts +5 -3
  372. package/dist/models-json.d.ts +2 -2
  373. package/dist/namespaces/migrate.d.ts +6 -4
  374. package/dist/namespaces/migrate.js +34 -34
  375. package/dist/namespaces/principal.d.ts +2 -2
  376. package/dist/namespaces/search.d.ts +2 -2
  377. package/dist/namespaces/search.js +8 -8
  378. package/dist/namespaces/storage.d.ts +6 -4
  379. package/dist/namespaces/storage.js +33 -33
  380. package/dist/native-knowledge.d.ts +2 -2
  381. package/dist/offline-sync-file-io.js +3 -3
  382. package/dist/offline-sync-impression-drain.d.ts +2 -2
  383. package/dist/offline-sync-impression-drain.js +9 -9
  384. package/dist/offline-sync.js +4 -4
  385. package/dist/operator-doctor-corpus.d.ts +2 -2
  386. package/dist/operator-doctor-corpus.js +36 -36
  387. package/dist/operator-doctor-replica.d.ts +2 -2
  388. package/dist/operator-toolkit.d.ts +6 -4
  389. package/dist/operator-toolkit.js +56 -55
  390. package/dist/orchestration/compression-guideline-coordinator.d.ts +5 -3
  391. package/dist/orchestration/maintenance.d.ts +7 -5
  392. package/dist/orchestration/maintenance.js +48 -47
  393. package/dist/{orchestrator-Co1DyfuP.d.ts → orchestrator-3F4jihCo.d.ts} +8 -8
  394. package/dist/orchestrator.d.ts +13 -12
  395. package/dist/orchestrator.js +182 -174
  396. package/dist/page-versioning.js +3 -3
  397. package/dist/patterns-cli.d.ts +2 -2
  398. package/dist/{pipeline-DotMnb6y.d.ts → pipeline-CB1dj6Uh.d.ts} +1 -1
  399. package/dist/policy-runtime.d.ts +2 -2
  400. package/dist/proactive-contention.d.ts +2 -2
  401. package/dist/provenance.d.ts +2 -2
  402. package/dist/{public-http-PJRtnSi-.d.ts → public-http-34-JIAGQ.d.ts} +1 -1
  403. package/dist/{purge-GB7PZHT2.js → purge-OP6BEDFY.js} +2 -2
  404. package/dist/{qmd-BP0n11fR.d.ts → qmd-edLLZXc5.d.ts} +1 -1
  405. package/dist/qmd-preflight.d.ts +3 -3
  406. package/dist/qmd-recall-cache.d.ts +2 -2
  407. package/dist/qmd.d.ts +3 -3
  408. package/dist/qmd.js +4 -4
  409. package/dist/recall-concurrency-config.d.ts +2 -2
  410. package/dist/recall-disclosure-escalation.d.ts +2 -2
  411. package/dist/recall-explain-renderer.d.ts +2 -2
  412. package/dist/recall-explain-renderer.js +3 -3
  413. package/dist/recall-memory-map.d.ts +2 -2
  414. package/dist/recall-planner-llm.d.ts +2 -2
  415. package/dist/recall-planner-llm.js +1 -1
  416. package/dist/recall-state.d.ts +2 -2
  417. package/dist/recall-tag-filter.d.ts +2 -2
  418. package/dist/recall-timings.d.ts +2 -2
  419. package/dist/recall-xray-cli.d.ts +2 -2
  420. package/dist/recall-xray-cli.js +4 -4
  421. package/dist/recall-xray-renderer.d.ts +2 -2
  422. package/dist/recall-xray-renderer.js +3 -3
  423. package/dist/recall-xray.d.ts +2 -2
  424. package/dist/recall-xray.js +2 -2
  425. package/dist/reconcile/cursor.d.ts +2 -2
  426. package/dist/reconcile/manifest.d.ts +2 -2
  427. package/dist/reconcile/manifest.js +5 -5
  428. package/dist/reconcile/plan.d.ts +2 -2
  429. package/dist/replay/normalizers/chatgpt.d.ts +2 -2
  430. package/dist/replay/normalizers/claude.d.ts +2 -2
  431. package/dist/replay/normalizers/openclaw.d.ts +2 -2
  432. package/dist/replay/normalizers/shared.d.ts +2 -2
  433. package/dist/replay/runner.d.ts +2 -2
  434. package/dist/replay/types.d.ts +2 -2
  435. package/dist/replica-divergence.d.ts +2 -2
  436. package/dist/replica-peers-config.d.ts +2 -2
  437. package/dist/{resolution-4552BNRV.js → resolution-4DLI3IOR.js} +11 -11
  438. package/dist/resolution-4DLI3IOR.js.map +1 -0
  439. package/dist/resolve-auth-token.d.ts +2 -2
  440. package/dist/resume-bundles.js +18 -17
  441. package/dist/retrieval-agents.d.ts +3 -3
  442. package/dist/retrieval-tiers.d.ts +2 -2
  443. package/dist/routing/engine.d.ts +2 -2
  444. package/dist/routing/store.d.ts +2 -2
  445. package/dist/salvage-envelope.d.ts +2 -2
  446. package/dist/salvage-envelope.js +7 -7
  447. package/dist/schemas.d.ts +572 -107
  448. package/dist/schemas.js +3 -1
  449. package/dist/{scope-profiles-6ChZKTy-.d.ts → scope-profiles-BF2lu81V.d.ts} +1 -1
  450. package/dist/search/document-scanner.js +1 -1
  451. package/dist/search/embed-helper.d.ts +2 -2
  452. package/dist/search/factory.d.ts +2 -2
  453. package/dist/search/factory.js +7 -7
  454. package/dist/search/index.d.ts +2 -2
  455. package/dist/search/index.js +13 -13
  456. package/dist/search/lancedb-backend.d.ts +2 -2
  457. package/dist/search/lancedb-backend.js +1 -1
  458. package/dist/search/meilisearch-backend.d.ts +2 -2
  459. package/dist/search/meilisearch-backend.js +1 -1
  460. package/dist/search/noop-backend.d.ts +2 -2
  461. package/dist/search/orama-backend.d.ts +2 -2
  462. package/dist/search/orama-backend.js +1 -1
  463. package/dist/search/port.d.ts +2 -2
  464. package/dist/search/remote-backend.d.ts +2 -2
  465. package/dist/secure-store/index.js +3 -3
  466. package/dist/{semantic-consolidation-DziYcW5J.d.ts → semantic-consolidation-5OuWXBRt.d.ts} +1 -1
  467. package/dist/semantic-consolidation.d.ts +3 -3
  468. package/dist/semantic-consolidation.js +37 -37
  469. package/dist/semantic-rule-promotion.js +33 -33
  470. package/dist/semantic-rule-verifier.d.ts +2 -2
  471. package/dist/semantic-rule-verifier.js +33 -33
  472. package/dist/{service-C7rIBuK_.d.ts → service-CrqEhLXD.d.ts} +2 -2
  473. package/dist/session-observer-bands.d.ts +2 -2
  474. package/dist/session-observer-state.d.ts +2 -2
  475. package/dist/shared-context/manager.d.ts +2 -2
  476. package/dist/signal.d.ts +2 -2
  477. package/dist/source-agent-qualifier.d.ts +2 -2
  478. package/dist/source-agent-qualifier.js +42 -39
  479. package/dist/standup/build.d.ts +16 -0
  480. package/dist/standup/build.js +17 -0
  481. package/dist/standup/build.js.map +1 -0
  482. package/dist/{storage-B1hEx8Xg.d.ts → storage-BQn-xnxm.d.ts} +4 -1
  483. package/dist/storage.d.ts +5 -3
  484. package/dist/storage.js +32 -32
  485. package/dist/subject-config.d.ts +2 -2
  486. package/dist/subject-config.js +6 -6
  487. package/dist/summarizer.d.ts +2 -2
  488. package/dist/summarizer.js +2 -2
  489. package/dist/summary-snapshot.d.ts +2 -2
  490. package/dist/support-passport/index.d.ts +20 -19
  491. package/dist/support-passport/index.js +68 -65
  492. package/dist/temporal-supersession.d.ts +3 -3
  493. package/dist/temporal-timeline-recall.d.ts +2 -2
  494. package/dist/temporal-validity.d.ts +2 -2
  495. package/dist/threading.d.ts +2 -2
  496. package/dist/tier-migration.d.ts +5 -3
  497. package/dist/tier-routing.d.ts +2 -2
  498. package/dist/tier-routing.js +2 -2
  499. package/dist/{tier-stats-4B5IJ3NE.js → tier-stats-2TOW3QNL.js} +3 -3
  500. package/dist/topics.d.ts +2 -2
  501. package/dist/transcript.d.ts +2 -2
  502. package/dist/transfer/capsule-export.js +2 -2
  503. package/dist/transfer/capsule-import.js +5 -5
  504. package/dist/transfer/export-okf.d.ts +39 -0
  505. package/dist/transfer/export-okf.js +112 -0
  506. package/dist/transfer/export-okf.js.map +1 -0
  507. package/dist/transfer/types.d.ts +12 -12
  508. package/dist/trust-score-stage.d.ts +2 -2
  509. package/dist/trust-score.d.ts +2 -2
  510. package/dist/{types-BHDNxGTT.d.ts → types-BRpcNjHZ.d.ts} +119 -3
  511. package/dist/types.d.ts +2 -2
  512. package/dist/types.js +1 -1
  513. package/dist/utility-runtime.d.ts +2 -2
  514. package/dist/verified-recall.js +33 -33
  515. package/dist/who-knows-cli.d.ts +15 -14
  516. package/dist/who-knows-cli.js +34 -34
  517. package/dist/who-knows.d.ts +15 -14
  518. package/dist/who-knows.js +33 -33
  519. package/dist/write-envelope.d.ts +2 -2
  520. package/dist/write-envelope.js +6 -6
  521. package/package.json +54 -3
  522. package/src/access-admin-ops-surface.ts +6 -1
  523. package/src/access-boundary.ts +1 -0
  524. package/src/access-http.ts +3 -1
  525. package/src/access-mcp-output-schemas.ts +1 -0
  526. package/src/access-mcp.ts +3 -3
  527. package/src/access-operations.ts +1 -0
  528. package/src/access-service-offline-file-content.test.ts +63 -0
  529. package/src/access-surface-catalog.ts +2 -0
  530. package/src/active-context-config.ts +98 -0
  531. package/src/active-context-transform.test.ts +533 -0
  532. package/src/active-context-transform.ts +981 -0
  533. package/src/activity/config.test.ts +1 -0
  534. package/src/activity/config.ts +21 -1
  535. package/src/activity/index.ts +1 -0
  536. package/src/activity/timeline/build.ts +279 -0
  537. package/src/activity/timeline/categories.ts +111 -0
  538. package/src/activity/timeline/classify.ts +110 -0
  539. package/src/activity/timeline/corrections.ts +145 -0
  540. package/src/activity/timeline/index.ts +6 -0
  541. package/src/activity/timeline/timeline.test.ts +277 -0
  542. package/src/activity/timeline/types.ts +106 -0
  543. package/src/activity/types.ts +6 -0
  544. package/src/cli/okf-commands.ts +45 -0
  545. package/src/cli.ts +2 -2
  546. package/src/coding/export-okf-codegraph.test.ts +381 -0
  547. package/src/coding/export-okf-codegraph.ts +565 -0
  548. package/src/config.test.ts +1 -0
  549. package/src/config.ts +3 -5
  550. package/src/context-summary.ts +182 -0
  551. package/src/extraction-prompt-safety.test.ts +14 -2
  552. package/src/extraction.ts +21 -1
  553. package/src/fallback-llm.test.ts +134 -0
  554. package/src/fallback-llm.ts +77 -5
  555. package/src/index.ts +4 -11
  556. package/src/lcm/summarizer.ts +14 -93
  557. package/src/location/access-operations.ts +17 -8
  558. package/src/location/backfill.ts +137 -0
  559. package/src/location/config.test.ts +3 -0
  560. package/src/location/config.ts +46 -2
  561. package/src/location/http-glue.ts +1 -1
  562. package/src/location/index.ts +3 -0
  563. package/src/location/intervals.ts +1 -0
  564. package/src/location/matching.test.ts +65 -0
  565. package/src/location/matching.ts +354 -0
  566. package/src/location/mcp-tools.ts +2 -1
  567. package/src/location/surfaces.test.ts +15 -2
  568. package/src/location/surfaces.ts +95 -18
  569. package/src/location/tagging.test.ts +119 -0
  570. package/src/location/tagging.ts +277 -0
  571. package/src/location/types.ts +23 -1
  572. package/src/mcp-read-only-tools.ts +1 -0
  573. package/src/memory-action-policy.ts +28 -0
  574. package/src/memory-projection-store.ts +3 -1
  575. package/src/okf/cli.ts +18 -5
  576. package/src/okf/config.ts +5 -0
  577. package/src/okf/index-files.test.ts +60 -0
  578. package/src/okf/index-files.ts +114 -0
  579. package/src/okf/render.ts +133 -0
  580. package/src/okf/type-mapping.test.ts +3 -0
  581. package/src/okf/type-mapping.ts +2 -0
  582. package/src/orchestration/extraction-run.ts +2 -1
  583. package/src/orchestration/generic-recall-paths.ts +4 -3
  584. package/src/schemas.ts +17 -1
  585. package/src/standup/access-operations.ts +14 -0
  586. package/src/standup/build.test.ts +34 -0
  587. package/src/standup/build.ts +115 -0
  588. package/src/standup/http-glue.ts +15 -0
  589. package/src/standup/mcp-tools.ts +16 -0
  590. package/src/storage/context-transform-ledger.ts +39 -0
  591. package/src/storage/secure-line-reader.ts +50 -1
  592. package/src/storage.ts +4 -1
  593. package/src/support-passport/card-projection.ts +1 -0
  594. package/src/support-passport/card-service-commit-forwarding.test.ts +1 -0
  595. package/src/support-passport/card-service.test.ts +75 -1
  596. package/src/support-passport/card-service.ts +6 -3
  597. package/src/support-passport/card-state.ts +5 -1
  598. package/src/support-passport/offline-sync-guard.ts +14 -1
  599. package/src/transfer/export-okf.test.ts +164 -0
  600. package/src/transfer/export-okf.ts +286 -0
  601. package/src/types.ts +2 -3
  602. package/dist/chunk-2LWQSV6A.js.map +0 -1
  603. package/dist/chunk-3BCULS4U.js.map +0 -1
  604. package/dist/chunk-7BDZTALN.js.map +0 -1
  605. package/dist/chunk-7PHI6GUI.js.map +0 -1
  606. package/dist/chunk-AFR6AIM4.js.map +0 -1
  607. package/dist/chunk-AX7UXCHJ.js.map +0 -1
  608. package/dist/chunk-BJTHRFFC.js.map +0 -1
  609. package/dist/chunk-D4QVPP3G.js.map +0 -1
  610. package/dist/chunk-DVYRD4HY.js.map +0 -1
  611. package/dist/chunk-F635GAL7.js.map +0 -1
  612. package/dist/chunk-FMQ4MOQO.js.map +0 -1
  613. package/dist/chunk-FP7YTTVO.js.map +0 -1
  614. package/dist/chunk-I4343FIA.js.map +0 -1
  615. package/dist/chunk-I7EX6KSH.js.map +0 -1
  616. package/dist/chunk-LBFFNDFM.js.map +0 -1
  617. package/dist/chunk-LLQCM2U2.js.map +0 -1
  618. package/dist/chunk-RQE4TITU.js.map +0 -1
  619. package/dist/chunk-UW5NPZJ2.js.map +0 -1
  620. package/dist/chunk-XAB6STPO.js.map +0 -1
  621. package/dist/chunk-ZPUIRTIZ.js.map +0 -1
  622. package/dist/types-CM86alG1.d.ts +0 -89
  623. /package/dist/{contradiction-scan-AKUWPX5N.js.map → active-context-config.js.map} +0 -0
  624. /package/dist/{resolution-4552BNRV.js.map → active-context-transform.js.map} +0 -0
  625. /package/dist/{auto-sync-XVMLL2RH.js.map → auto-sync-Q6Q2FVSC.js.map} +0 -0
  626. /package/dist/{capsule-merge-SGIVB3WA.js.map → capsule-merge-SEHERWWP.js.map} +0 -0
  627. /package/dist/{chunk-CFGU52XJ.js.map → chunk-23CVL7HS.js.map} +0 -0
  628. /package/dist/{chunk-PO7NXBG2.js.map → chunk-2GF27PGH.js.map} +0 -0
  629. /package/dist/{chunk-6CPUQ5D6.js.map → chunk-2LBAFHOQ.js.map} +0 -0
  630. /package/dist/{chunk-JBPKEARU.js.map → chunk-2QSZNTDO.js.map} +0 -0
  631. /package/dist/{chunk-IP4ZNT4U.js.map → chunk-33MFRY25.js.map} +0 -0
  632. /package/dist/{chunk-VFYRYFLL.js.map → chunk-3TSU662L.js.map} +0 -0
  633. /package/dist/{chunk-VXVZ2GM3.js.map → chunk-4FHRZD5T.js.map} +0 -0
  634. /package/dist/{chunk-5VPQSRQO.js.map → chunk-4STAANV7.js.map} +0 -0
  635. /package/dist/{chunk-46WM6JX2.js.map → chunk-4ZWCQJNM.js.map} +0 -0
  636. /package/dist/{chunk-52II7PB6.js.map → chunk-645WOU5I.js.map} +0 -0
  637. /package/dist/{chunk-YKWFK7XA.js.map → chunk-6CEGSTBD.js.map} +0 -0
  638. /package/dist/{chunk-GEPACVWN.js.map → chunk-6RUHELWR.js.map} +0 -0
  639. /package/dist/{chunk-ZAOHJDKH.js.map → chunk-72OIT7KS.js.map} +0 -0
  640. /package/dist/{chunk-KQAFEZQX.js.map → chunk-7LCGFUMB.js.map} +0 -0
  641. /package/dist/{chunk-7TCGNUVP.js.map → chunk-7UTDHQZ5.js.map} +0 -0
  642. /package/dist/{chunk-5HK3CJAR.js.map → chunk-7XOG75AU.js.map} +0 -0
  643. /package/dist/{chunk-C24UZSFW.js.map → chunk-CEH2AFXG.js.map} +0 -0
  644. /package/dist/{chunk-YOXVZJFM.js.map → chunk-CFVTRUR3.js.map} +0 -0
  645. /package/dist/{chunk-ACOC27BB.js.map → chunk-CN4VKV3S.js.map} +0 -0
  646. /package/dist/{chunk-PMVPCZJZ.js.map → chunk-CTCGHNWN.js.map} +0 -0
  647. /package/dist/{chunk-EGBDFJ36.js.map → chunk-DD5JFCWM.js.map} +0 -0
  648. /package/dist/{chunk-T42L3S6A.js.map → chunk-DDX6KIXF.js.map} +0 -0
  649. /package/dist/{chunk-JIYDRBVZ.js.map → chunk-DJORULH3.js.map} +0 -0
  650. /package/dist/{chunk-WTOZBZNN.js.map → chunk-DMEHOEC7.js.map} +0 -0
  651. /package/dist/{chunk-OPPBTPUU.js.map → chunk-DUAJKRR2.js.map} +0 -0
  652. /package/dist/{chunk-SVVIASVX.js.map → chunk-EFQCDJZ2.js.map} +0 -0
  653. /package/dist/{chunk-Q57GOHLF.js.map → chunk-EGALNSZ4.js.map} +0 -0
  654. /package/dist/{chunk-KCT36JAW.js.map → chunk-ESNFSSO4.js.map} +0 -0
  655. /package/dist/{chunk-XQ3HXAQH.js.map → chunk-ET2CNMLD.js.map} +0 -0
  656. /package/dist/{chunk-Z4U3UN56.js.map → chunk-EZSCW4EM.js.map} +0 -0
  657. /package/dist/{chunk-F6QHHRWP.js.map → chunk-FESUGFIL.js.map} +0 -0
  658. /package/dist/{chunk-S3K2CIK5.js.map → chunk-FKKGCGYL.js.map} +0 -0
  659. /package/dist/{chunk-BWGCOLEL.js.map → chunk-FTTJRVB7.js.map} +0 -0
  660. /package/dist/{chunk-JAQXUGLN.js.map → chunk-FYWLSFFS.js.map} +0 -0
  661. /package/dist/{chunk-OPGL46PX.js.map → chunk-GX6FTSYH.js.map} +0 -0
  662. /package/dist/{chunk-A32YEQAM.js.map → chunk-H7VDIF2V.js.map} +0 -0
  663. /package/dist/{chunk-PDDSFELN.js.map → chunk-HJXA6ZM7.js.map} +0 -0
  664. /package/dist/{chunk-RGCF4XNH.js.map → chunk-HNPE66LB.js.map} +0 -0
  665. /package/dist/{chunk-SEA6M7SS.js.map → chunk-I5VB44ZK.js.map} +0 -0
  666. /package/dist/{chunk-SDEPLF7V.js.map → chunk-IBJ6U753.js.map} +0 -0
  667. /package/dist/{chunk-EUYWQ7TS.js.map → chunk-IEZ6CGTW.js.map} +0 -0
  668. /package/dist/{chunk-3RI5Y7KU.js.map → chunk-IVIAHQBR.js.map} +0 -0
  669. /package/dist/{chunk-7WR462EM.js.map → chunk-J3OND5QT.js.map} +0 -0
  670. /package/dist/{chunk-T3JQTCCO.js.map → chunk-JI7U6AS3.js.map} +0 -0
  671. /package/dist/{chunk-I32NKXE2.js.map → chunk-JTWZKNUH.js.map} +0 -0
  672. /package/dist/{chunk-VKCAHCBI.js.map → chunk-L4X4PJYK.js.map} +0 -0
  673. /package/dist/{chunk-W4BMEGQA.js.map → chunk-LUDBXTBJ.js.map} +0 -0
  674. /package/dist/{chunk-RIAM7DND.js.map → chunk-ME35HVDJ.js.map} +0 -0
  675. /package/dist/{chunk-NG3MBQV4.js.map → chunk-MJRGVXPQ.js.map} +0 -0
  676. /package/dist/{chunk-773TRRGT.js.map → chunk-MJUCDM3C.js.map} +0 -0
  677. /package/dist/{chunk-7F27PCSN.js.map → chunk-MN5NOOI7.js.map} +0 -0
  678. /package/dist/{chunk-JCWY73FK.js.map → chunk-N4F7ZSSG.js.map} +0 -0
  679. /package/dist/{chunk-TR7DGXGI.js.map → chunk-NACLNNFQ.js.map} +0 -0
  680. /package/dist/{chunk-LC2BDILZ.js.map → chunk-NBP4EX5N.js.map} +0 -0
  681. /package/dist/{chunk-ZVPVTPGI.js.map → chunk-NNZFPYYX.js.map} +0 -0
  682. /package/dist/{chunk-MFOSZUIT.js.map → chunk-NPIBN2VL.js.map} +0 -0
  683. /package/dist/{chunk-IY7UXD3J.js.map → chunk-O57GM3FR.js.map} +0 -0
  684. /package/dist/{chunk-I2HTKOOP.js.map → chunk-O7ERGZDA.js.map} +0 -0
  685. /package/dist/{chunk-GTSVEEP3.js.map → chunk-OAJMQKQR.js.map} +0 -0
  686. /package/dist/{chunk-HSZMX3ZJ.js.map → chunk-ODW5GDFE.js.map} +0 -0
  687. /package/dist/{chunk-J2WC5LF4.js.map → chunk-QBC33MPY.js.map} +0 -0
  688. /package/dist/{chunk-EOHKUWXW.js.map → chunk-QCRJMU5V.js.map} +0 -0
  689. /package/dist/{chunk-5DH6PG4B.js.map → chunk-RZ3IZIJG.js.map} +0 -0
  690. /package/dist/{chunk-AAXJNINV.js.map → chunk-SN4JXNLL.js.map} +0 -0
  691. /package/dist/{chunk-SVSRPG6M.js.map → chunk-TNGH4ZYI.js.map} +0 -0
  692. /package/dist/{chunk-HZNYJN77.js.map → chunk-TNXNECAN.js.map} +0 -0
  693. /package/dist/{chunk-JOEJG4SD.js.map → chunk-TVW4C7PV.js.map} +0 -0
  694. /package/dist/{chunk-UFKPQBXH.js.map → chunk-U62OK7BB.js.map} +0 -0
  695. /package/dist/{chunk-R2MZCYA6.js.map → chunk-UNUMFURP.js.map} +0 -0
  696. /package/dist/{chunk-YRVAKONL.js.map → chunk-VQ4AMTGZ.js.map} +0 -0
  697. /package/dist/{chunk-RAIUTAZZ.js.map → chunk-WKAXBXVA.js.map} +0 -0
  698. /package/dist/{chunk-ZIJDI4CP.js.map → chunk-WKJFIMVN.js.map} +0 -0
  699. /package/dist/{chunk-SXIMQLGV.js.map → chunk-WVGXCBOC.js.map} +0 -0
  700. /package/dist/{chunk-7BEPVIH3.js.map → chunk-X5YYSAZX.js.map} +0 -0
  701. /package/dist/{chunk-FZEEWOI2.js.map → chunk-XJJYSX6F.js.map} +0 -0
  702. /package/dist/{chunk-UG6VXIOK.js.map → chunk-XSTNGNJP.js.map} +0 -0
  703. /package/dist/{chunk-YDPAE2RD.js.map → chunk-YFLLGRXO.js.map} +0 -0
  704. /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
  705. /package/dist/{chunk-ANJXPFRS.js.map → chunk-YXFCALVT.js.map} +0 -0
  706. /package/dist/{chunk-Q4WONDMJ.js.map → chunk-YYGZJPOK.js.map} +0 -0
  707. /package/dist/{chunk-5HERQ5FX.js.map → chunk-Z3YEGSR4.js.map} +0 -0
  708. /package/dist/{chunk-YWSQD2IB.js.map → chunk-ZJPM7GZ3.js.map} +0 -0
  709. /package/dist/{chunk-5S4LQOPE.js.map → chunk-ZW4VXELZ.js.map} +0 -0
  710. /package/dist/{first-start-migration-4NETATFF.js.map → first-start-migration-KHIMCBIC.js.map} +0 -0
  711. /package/dist/{forget-SZ2BXDGF.js.map → forget-2AE4MDK3.js.map} +0 -0
  712. /package/dist/{purge-GB7PZHT2.js.map → purge-OP6BEDFY.js.map} +0 -0
  713. /package/dist/{tier-stats-4B5IJ3NE.js.map → tier-stats-2TOW3QNL.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/active-context-transform.ts"],"sourcesContent":["/**\n * Host-agnostic active-context SUMMARY/FILTER plans (issue #2347).\n *\n * Core receives a short message list, checks the trusted scope first,\n * then IDs and limits, and returns a content-addressed plan. Core never\n * mutates host state or saved memory: the host adapter owns save, apply,\n * and undo; it reports back through {@link ActiveContextApplyReceipt}.\n * Plans and telemetry carry hashes and counts only — never raw message\n * text, keep rules, or summary output.\n *\n * Paper basis: AgeMem (arXiv:2601.01885v3) §3.1/A.1 eq. (14) Summary and\n * eq. (15) Filter. Selection is host-bounded (explicit IDs or one closed\n * span); `all` / last-N spans are never inferred. Filter keeps messages\n * with `score >= threshold` using a caller-supplied fixed score rule — an\n * LLM never picks drop IDs. Event counts back the design; no ship claim.\n */\nimport { createHash } from \"node:crypto\";\nimport { DEFAULT_ACTIVE_CONTEXT_CAPS, type ActiveContextCapabilitySet } from \"./active-context-config.js\";\nimport {\n ContextSummaryUnavailableError,\n summarizeContextPure,\n type SummarizeFn,\n} from \"./context-summary.js\";\nimport { evaluateActiveContextTransformPolicy } from \"./memory-action-policy.js\";\n\nexport const ACTIVE_CONTEXT_ALGORITHM_VERSION = \"active-context-transform/1\";\nexport const ACTIVE_CONTEXT_SNAPSHOT_SCHEMA_VERSION = 1;\nexport const ACTIVE_CONTEXT_PLAN_SCHEMA_VERSION = 1;\nexport const ACTIVE_CONTEXT_RECEIPT_SCHEMA_VERSION = 1;\nexport const ACTIVE_CONTEXT_RECORD_SCHEMA_VERSION = 1;\n\nexport type ActiveContextOperation = \"SUMMARY\" | \"FILTER\";\nexport type ActiveContextPhase = \"plan\" | \"prepare\";\nexport type ActiveContextMessageRole = \"system\" | \"developer\" | \"user\" | \"assistant\" | \"tool\";\n\nexport type ActiveContextErrorCode =\n | \"feature_disabled\"\n | \"scope_mismatch\"\n | \"invalid_request\"\n | \"stale_context\"\n | \"plan_conflict\"\n | \"preserve_conflict\"\n | \"filter_unavailable\"\n | \"summary_unavailable\"\n | \"unsupported\"\n | \"retention_unavailable\"\n | \"retention_expired\"\n | \"invalid_receipt\"\n | \"host_error\";\n\n/** Roles that can never be removed by any operation or selector. */\nconst PROTECTED_ROLES: Record<string, true> = { system: true, developer: true };\n\nexport interface ActiveContextMessage {\n id: string;\n /** Snapshot order; plans sort by it and never reorder sources. */\n ordinal: number;\n role: ActiveContextMessageRole;\n content: string;\n /** Caller-marked protection; equivalent to a preserve-listed ID. */\n protected?: boolean;\n}\n\nexport interface ActiveContextSnapshot {\n schemaVersion: 1;\n sessionKey: string;\n /** Data routing only — never authorization. */\n namespace: string;\n /** Host revision/turn identifier the plan binds as a precondition. */\n revision: string | number;\n messages: ActiveContextMessage[];\n}\n\n/**\n * Trusted scope resolved by the access layer BEFORE any plan work\n * (mirrors `ResolvedIdentity` from adapters/types.ts). Core never treats\n * `snapshot.namespace` as auth.\n */\nexport interface ActiveContextResolvedScope {\n sessionKey: string;\n namespace: string;\n principal: string;\n adapterId: string;\n}\n\n/** Fixed, caller-supplied score rule. Must return a finite score in [0,1]. */\nexport type ActiveContextScoreMessageFn = (message: ActiveContextMessage) => number | undefined;\n\nexport interface ActiveContextTransformDeps {\n resolvedScope: ActiveContextResolvedScope;\n /** Filter score rule — required for FILTER plans. */\n scoreMessage?: ActiveContextScoreMessageFn;\n /** Model seam for SUMMARY; the same pure seam LCM uses. */\n summarize?: SummarizeFn;\n /** Config-projected caps; defaults are conservative (see capabilities.ts). */\n caps?: ActiveContextCapabilitySet;\n /** Gate override; defaults to `caps.activeContextTransforms`. */\n actionsEnabled?: boolean;\n /** Clock seam for deterministic expiry tests. */\n now?: () => Date;\n}\n\nexport interface ActiveContextSpanSelector {\n /** Closed span: inclusive start (by snapshot order). */\n startMessageId: string;\n /** Closed span: inclusive end (by snapshot order). */\n endMessageId: string;\n}\n\nexport interface ActiveContextTransformRequest {\n schemaVersion: 1;\n operation: ActiveContextOperation;\n phase: ActiveContextPhase;\n snapshot: ActiveContextSnapshot;\n /** Exactly one of `messageIds` or `span`. */\n selector: { messageIds?: string[]; span?: ActiveContextSpanSelector };\n preserve?: {\n messageIds?: string[];\n roles?: ActiveContextMessageRole[];\n minRetainedMessages?: number;\n };\n summary?: { method: \"deterministic\" | \"llm\" | \"auto\"; targetTokens?: number };\n filter?: { keepCriterion: string; threshold: number };\n expectedRevision?: string | number;\n requestId?: string;\n sourcePromptHash?: string;\n}\n\nexport interface ActiveContextScoreRow {\n messageId: string;\n score: number;\n decision: \"keep\" | \"drop\";\n}\n\nexport interface ActiveContextPlanReplacement {\n messageId: string;\n /** Filled by prepare — plans never carry raw text. */\n contentHash?: string;\n sourceMessageIds: string[];\n method: \"deterministic\" | \"llm\";\n /** Whether prepare may degrade to deterministic output (auto mode only). */\n fallbackPolicy: \"allowed\" | \"none\";\n targetTokens: number;\n modelUsed?: string;\n fallback?: boolean;\n}\n\nexport interface ActiveContextTransformPlan {\n schemaVersion: 1;\n planId: string;\n planHash: string;\n operation: ActiveContextOperation;\n status: \"ready\" | \"rejected\";\n errorCode?: ActiveContextErrorCode;\n precondition: {\n principal: string;\n sessionKey: string;\n namespace: string;\n adapterId: string;\n snapshotRevision: string | number;\n expiresAt: string;\n };\n /** Selected sources in snapshot order. */\n selectedMessageIds: string[];\n /** Messages that stay after the plan applies. */\n retainedMessageIds: string[];\n /** Removable IDs the plan proposes to drop or fold into a replacement. */\n proposedRemovalIds: string[];\n scoreRows?: ActiveContextScoreRow[];\n replacement?: ActiveContextPlanReplacement;\n preserve: { protectedMessageIds: string[]; minimumRetainedMessages: number };\n inverse: {\n kind: \"restore-source-message-ids\";\n sourceMessageIds: string[];\n removeReplacementMessageId?: string;\n expectedAppliedPlanHash?: string;\n };\n retention: {\n planId: string;\n mode: \"adapter-local\";\n expiresAt: string;\n maxBytes: number;\n snapshotContentHash: string;\n };\n provenance: {\n algorithmVersion: string;\n selectorHash: string;\n snapshotContentHash: string;\n criterionHash?: string;\n sourcePromptHash?: string;\n generatedAt: string;\n };\n policy: { decision: \"allow\" | \"deny\"; rationale: string };\n}\n\nexport interface ActiveContextHostCapability {\n capabilityId: string;\n trustedScope: ActiveContextResolvedScope;\n hostRevision: string | number;\n operations: ActiveContextOperation[];\n expiresAt: string;\n}\n\nexport interface ActiveContextApplyReceipt {\n schemaVersion: 1;\n planId: string;\n planHash: string;\n adapterId: string;\n outcome: \"applied\" | \"skipped\" | \"failed\";\n errorCode?: ActiveContextErrorCode;\n hostRevisionBefore?: string | number;\n hostRevisionAfter?: string | number;\n appliedMessageIds?: string[];\n removedMessageIds?: string[];\n replacementMessageId?: string;\n retentionExpiresAt?: string;\n appliedAt: string;\n}\n\n/** Discriminated ledger record appended to `state/memory-actions.jsonl`. */\nexport interface ContextTransformTelemetryRecord {\n recordKind: \"context_transform\";\n schemaVersion: 1;\n timestamp: string;\n /** Plan ID doubles as the record action ID. */\n actionId: string;\n action: \"summarize_context\" | \"filter_context\";\n outcome: \"applied\" | \"skipped\" | \"failed\";\n status: \"validated\" | \"applied\" | \"rejected\";\n actor?: string;\n subsystem: string;\n namespace: string;\n sourceSessionKey: string;\n planHash: string;\n snapshotRevision: string | number;\n adapterId?: string;\n algorithmVersion?: string;\n selectedCount: number;\n retainedCount: number;\n proposedRemovalCount: number;\n receiptOutcome?: \"applied\" | \"skipped\" | \"failed\";\n selectorHash: string;\n snapshotContentHash: string;\n criterionHash?: string;\n sourcePromptHash?: string;\n replacementContentHash?: string;\n policyDecision?: \"allow\" | \"defer\" | \"deny\";\n policyRationale?: string;\n telemetryRecorded?: boolean;\n}\n\nexport interface ActiveContextPreparedReplacement {\n messageId: string;\n text: string;\n contentHash: string;\n method: \"deterministic\" | \"llm\";\n modelUsed?: string;\n fallback: boolean;\n sourceMessageIds: string[];\n}\n\nexport interface ActiveContextPreparedTransform {\n status: \"ready\" | \"rejected\" | \"failed\";\n plan: ActiveContextTransformPlan;\n replacement?: ActiveContextPreparedReplacement;\n errorCode?: ActiveContextErrorCode;\n}\n\n// ── hashing ────────────────────────────────────────────────────────────────\n\nfunction sha256Hex(value: string): string {\n return createHash(\"sha256\").update(value, \"utf8\").digest(\"hex\");\n}\n\n/** Deterministic JSON: sorted keys, so field order never changes a hash. */\nfunction canonicalJson(value: unknown): string {\n if (value === null || typeof value !== \"object\") return JSON.stringify(value);\n if (Array.isArray(value)) return `[${value.map(canonicalJson).join(\",\")}]`;\n const entries = Object.entries(value as Record<string, unknown>)\n .filter(([, v]) => v !== undefined)\n .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))\n .map(([k, v]) => `${JSON.stringify(k)}:${canonicalJson(v)}`);\n return `{${entries.join(\",\")}}`;\n}\n\nfunction hashSnapshot(snapshot: ActiveContextSnapshot): string {\n return sha256Hex(\n canonicalJson({\n namespace: snapshot.namespace,\n revision: snapshot.revision,\n sessionKey: snapshot.sessionKey,\n messages: snapshot.messages.map((m) => ({\n contentHash: sha256Hex(m.content),\n id: m.id,\n ordinal: m.ordinal,\n role: m.role,\n })),\n }),\n );\n}\n\n// ── shared validation ──────────────────────────────────────────────────────\n\ninterface PlanContext {\n caps: ActiveContextCapabilitySet;\n scope: ActiveContextResolvedScope;\n snapshotRevision: string | number;\n byId: Map<string, ActiveContextMessage>;\n ordered: ActiveContextMessage[];\n snapshotContentHash: string;\n generatedAt: string;\n expiresAt: string;\n}\n\nconst VALID_PHASES: Record<string, true> = { plan: true, prepare: true };\nconst VALID_ROLES: Record<string, true> = {\n system: true,\n developer: true,\n user: true,\n assistant: true,\n tool: true,\n};\n\nfunction rejectedPlan(\n operation: ActiveContextOperation,\n errorCode: ActiveContextErrorCode,\n context: PlanContext | null,\n policy: { decision: \"allow\" | \"deny\"; rationale: string },\n): ActiveContextTransformPlan {\n const planId = `actx-rejected-${sha256Hex(`${operation}:${errorCode}:${policy.rationale}`).slice(0, 12)}`;\n return {\n schemaVersion: ACTIVE_CONTEXT_PLAN_SCHEMA_VERSION,\n planId,\n planHash: sha256Hex(canonicalJson({ planId, errorCode, operation })),\n operation,\n status: \"rejected\",\n errorCode,\n precondition: context\n ? {\n principal: context.scope.principal,\n sessionKey: context.scope.sessionKey,\n namespace: context.scope.namespace,\n adapterId: context.scope.adapterId,\n snapshotRevision: context.snapshotRevision,\n expiresAt: context.expiresAt,\n }\n : {\n principal: \"\",\n sessionKey: \"\",\n namespace: \"\",\n adapterId: \"\",\n snapshotRevision: \"\",\n expiresAt: \"\",\n },\n selectedMessageIds: [],\n retainedMessageIds: [],\n proposedRemovalIds: [],\n preserve: { protectedMessageIds: [], minimumRetainedMessages: 0 },\n inverse: { kind: \"restore-source-message-ids\", sourceMessageIds: [] },\n retention: {\n planId,\n mode: \"adapter-local\",\n expiresAt: \"\",\n maxBytes: 0,\n snapshotContentHash: context?.snapshotContentHash ?? \"\",\n },\n provenance: {\n algorithmVersion: ACTIVE_CONTEXT_ALGORITHM_VERSION,\n selectorHash: \"\",\n snapshotContentHash: context?.snapshotContentHash ?? \"\",\n generatedAt: context?.generatedAt ?? new Date().toISOString(),\n },\n policy,\n };\n}\n\n/** Scope + snapshot validation shared by plan and prepare. Throws PlanReject. */\nclass PlanReject extends Error {\n constructor(readonly code: ActiveContextErrorCode) {\n super(code);\n }\n}\n\nfunction buildContext(\n request: ActiveContextTransformRequest,\n deps: ActiveContextTransformDeps,\n): PlanContext {\n const caps = deps.caps ?? {\n ...DEFAULT_ACTIVE_CONTEXT_CAPS,\n activeContextTransforms: true,\n activeContextLlm: false,\n };\n const scope = deps.resolvedScope;\n if (!scope || !scope.sessionKey || !scope.namespace || !scope.principal || !scope.adapterId) {\n throw new PlanReject(\"scope_mismatch\");\n }\n // Trusted-scope checks run before any ID selection or model work.\n if (request.snapshot.sessionKey !== scope.sessionKey) throw new PlanReject(\"scope_mismatch\");\n if (request.snapshot.namespace !== scope.namespace) throw new PlanReject(\"scope_mismatch\");\n\n const snapshot = request.snapshot;\n if (snapshot.schemaVersion !== ACTIVE_CONTEXT_SNAPSHOT_SCHEMA_VERSION) {\n throw new PlanReject(\"invalid_request\");\n }\n if (!Array.isArray(snapshot.messages) || snapshot.messages.length === 0) {\n throw new PlanReject(\"invalid_request\");\n }\n const byId = new Map<string, ActiveContextMessage>();\n let totalChars = 0;\n for (const message of snapshot.messages) {\n if (\n typeof message?.id !== \"string\" ||\n message.id.length === 0 ||\n typeof message.content !== \"string\" ||\n VALID_ROLES[message.role] !== true\n ) {\n throw new PlanReject(\"invalid_request\");\n }\n if (byId.has(message.id)) throw new PlanReject(\"invalid_request\"); // duplicate IDs\n byId.set(message.id, message);\n totalChars += message.content.length;\n }\n if (snapshot.messages.length > caps.activeContextMaxMessages) throw new PlanReject(\"invalid_request\");\n if (totalChars > caps.activeContextMaxSnapshotChars) throw new PlanReject(\"invalid_request\");\n\n const now = (deps.now ?? (() => new Date()))();\n const generatedAt = now.toISOString();\n const expiresAt = new Date(now.getTime() + caps.activeContextPlanTtlMinutes * 60_000).toISOString();\n return {\n caps,\n scope,\n snapshotRevision: snapshot.revision,\n byId,\n ordered: [...snapshot.messages].sort((a, b) => a.ordinal - b.ordinal || a.id.localeCompare(b.id)),\n snapshotContentHash: hashSnapshot(snapshot),\n generatedAt,\n expiresAt,\n };\n}\n\n/** Resolve the selector to ordered source messages. Exactly one form allowed. */\nfunction resolveSelection(\n request: ActiveContextTransformRequest,\n context: PlanContext,\n): ActiveContextMessage[] {\n const messageIds = request.selector?.messageIds;\n const span = request.selector?.span;\n const hasIds = Array.isArray(messageIds) && messageIds.length > 0;\n if (hasIds === (span !== undefined)) throw new PlanReject(\"invalid_request\"); // both or neither\n\n if (hasIds && messageIds) {\n const seen = new Set<string>();\n const picked: ActiveContextMessage[] = [];\n for (const id of messageIds) {\n if (seen.has(id)) throw new PlanReject(\"invalid_request\"); // duplicate IDs\n seen.add(id);\n const message = context.byId.get(id);\n if (!message) throw new PlanReject(\"invalid_request\"); // unknown IDs\n picked.push(message);\n }\n return picked.sort((a, b) => a.ordinal - b.ordinal || a.id.localeCompare(b.id)); // snapshot order\n }\n\n if (!span) throw new PlanReject(\"invalid_request\");\n const { startMessageId, endMessageId } = span;\n const start = context.byId.get(startMessageId);\n const end = context.byId.get(endMessageId);\n if (!start || !end) throw new PlanReject(\"invalid_request\");\n if (start.ordinal > end.ordinal) throw new PlanReject(\"invalid_request\"); // inverted span\n const inSpan = context.ordered.filter(\n (m) => m.ordinal >= start.ordinal && m.ordinal <= end.ordinal, // closed and full\n );\n if (inSpan.length === 0) throw new PlanReject(\"invalid_request\"); // empty span\n return inSpan;\n}\n\nfunction protectedIdSet(\n request: ActiveContextTransformRequest,\n context: PlanContext,\n): Set<string> {\n const protectedIds = new Set<string>();\n for (const message of context.ordered) {\n if (PROTECTED_ROLES[message.role] === true || message.protected === true) {\n protectedIds.add(message.id);\n }\n }\n for (const role of request.preserve?.roles ?? []) {\n if (PROTECTED_ROLES[role] === true) continue;\n for (const message of context.ordered) {\n if (message.role === role) protectedIds.add(message.id);\n }\n }\n for (const id of request.preserve?.messageIds ?? []) {\n if (context.byId.has(id)) protectedIds.add(id);\n }\n return protectedIds;\n}\n\n// ── plan ───────────────────────────────────────────────────────────────────\n\n/**\n * Build one bounded, content-addressed SUMMARY or FILTER plan. Returns a\n * rejected plan (with a stable error code) instead of throwing on bad\n * input — bad input is never hidden behind a no-op. `planHash` binds the\n * scope, revision, and every selected/removal/replacement ID; replay\n * across principal, session, namespace, adapter, or revision therefore\n * fails the adapter's comparisons before retain, apply, or undo.\n */\nexport function planActiveContextTransform(\n request: ActiveContextTransformRequest,\n deps: ActiveContextTransformDeps,\n): ActiveContextTransformPlan {\n const caps =\n deps.caps ?? { ...DEFAULT_ACTIVE_CONTEXT_CAPS, activeContextTransforms: true, activeContextLlm: false };\n const policy = evaluateActiveContextTransformPolicy({\n actionsEnabled: deps.actionsEnabled ?? caps.activeContextTransforms,\n operation: request.operation,\n });\n if (policy.decision === \"deny\") {\n // feature_disabled — evaluated before scope or selection work.\n return rejectedPlan(request.operation, \"feature_disabled\", null, policy);\n }\n let context: PlanContext | null = null;\n try {\n if (request.schemaVersion !== ACTIVE_CONTEXT_SNAPSHOT_SCHEMA_VERSION) {\n throw new PlanReject(\"invalid_request\");\n }\n if (request.operation !== \"SUMMARY\" && request.operation !== \"FILTER\") {\n throw new PlanReject(\"invalid_request\");\n }\n if (VALID_PHASES[request.phase] !== true) throw new PlanReject(\"invalid_request\");\n context = buildContext(request, deps);\n\n if (\n request.expectedRevision !== undefined &&\n request.expectedRevision !== request.snapshot.revision\n ) {\n throw new PlanReject(\"stale_context\");\n }\n\n const selected = resolveSelection(request, context);\n const protectedIds = protectedIdSet(request, context);\n const removable = selected.filter((m) => !protectedIds.has(m.id));\n if (removable.length === 0) {\n throw new PlanReject(\"preserve_conflict\"); // nothing chosen is removable\n }\n\n const minimumRetained = Math.max(\n 1,\n request.preserve?.minRetainedMessages ?? caps.activeContextMinRetainedMessages,\n );\n const idList = (messages: ActiveContextMessage[]) => messages.map((m) => m.id);\n const allIds = idList(context.ordered);\n const selectorHash = sha256Hex(canonicalJson(request.selector ?? {}));\n\n if (request.operation === \"FILTER\") {\n return buildFilterPlan(request, deps, context, {\n selected,\n removable,\n protectedIds,\n minimumRetained,\n allIds,\n selectorHash,\n policy,\n });\n }\n return buildSummaryPlan(request, deps, context, {\n selected,\n removable,\n protectedIds,\n minimumRetained,\n allIds,\n selectorHash,\n policy,\n });\n } catch (err) {\n if (err instanceof PlanReject) {\n return rejectedPlan(request.operation, err.code, context, policy);\n }\n throw err;\n }\n}\n\ninterface SelectionBundle {\n selected: ActiveContextMessage[];\n removable: ActiveContextMessage[];\n protectedIds: Set<string>;\n minimumRetained: number;\n allIds: string[];\n selectorHash: string;\n policy: { decision: \"allow\" | \"deny\"; rationale: string };\n}\n\nfunction finalizePlan(\n operation: ActiveContextOperation,\n context: PlanContext,\n bundle: SelectionBundle,\n proposedRemovalIds: string[],\n extras: {\n scoreRows?: ActiveContextScoreRow[];\n replacement?: ActiveContextPlanReplacement;\n criterionHash?: string;\n sourcePromptHash?: string;\n },\n): ActiveContextTransformPlan {\n const retainedIds = bundle.allIds.filter((id) => !proposedRemovalIds.includes(id));\n if (retainedIds.length < bundle.minimumRetained) {\n throw new PlanReject(\"preserve_conflict\"); // below keep floor / no safe message left\n }\n const sourceMessageIds = bundle.removable.map((m) => m.id);\n const precondition = {\n principal: context.scope.principal,\n sessionKey: context.scope.sessionKey,\n namespace: context.scope.namespace,\n adapterId: context.scope.adapterId,\n snapshotRevision: context.snapshotRevision,\n expiresAt: context.expiresAt,\n };\n const provenance = {\n algorithmVersion: ACTIVE_CONTEXT_ALGORITHM_VERSION,\n selectorHash: bundle.selectorHash,\n snapshotContentHash: context.snapshotContentHash,\n ...(extras.criterionHash ? { criterionHash: extras.criterionHash } : {}),\n ...(extras.sourcePromptHash ? { sourcePromptHash: extras.sourcePromptHash } : {}),\n generatedAt: context.generatedAt,\n };\n const planId = `actx-${sha256Hex(\n canonicalJson({\n adapterId: precondition.adapterId,\n criterionHash: extras.criterionHash,\n namespace: precondition.namespace,\n operation,\n principal: precondition.principal,\n selectorHash: bundle.selectorHash,\n sessionKey: precondition.sessionKey,\n snapshotContentHash: context.snapshotContentHash,\n }),\n ).slice(0, 16)}`;\n const planBody = {\n operation,\n planId,\n precondition,\n proposedRemovalIds,\n replacementMessageId: extras.replacement?.messageId,\n replacementSourceIds: extras.replacement?.sourceMessageIds,\n retainedIds,\n selectedIds: bundle.selected.map((m) => m.id),\n };\n const planHash = sha256Hex(canonicalJson(planBody));\n return {\n schemaVersion: ACTIVE_CONTEXT_PLAN_SCHEMA_VERSION,\n planId,\n planHash,\n operation,\n status: \"ready\",\n precondition,\n selectedMessageIds: planBody.selectedIds,\n retainedMessageIds: retainedIds,\n proposedRemovalIds,\n ...(extras.scoreRows ? { scoreRows: extras.scoreRows } : {}),\n ...(extras.replacement ? { replacement: extras.replacement } : {}),\n preserve: {\n protectedMessageIds: [...bundle.protectedIds],\n minimumRetainedMessages: bundle.minimumRetained,\n },\n inverse: {\n kind: \"restore-source-message-ids\",\n sourceMessageIds,\n ...(extras.replacement ? { removeReplacementMessageId: extras.replacement.messageId } : {}),\n expectedAppliedPlanHash: planHash,\n },\n retention: {\n planId,\n mode: \"adapter-local\",\n expiresAt: context.expiresAt,\n maxBytes: context.caps.activeContextRetentionMaxBytes,\n snapshotContentHash: context.snapshotContentHash,\n },\n provenance,\n policy: bundle.policy,\n };\n}\n\nfunction buildFilterPlan(\n request: ActiveContextTransformRequest,\n deps: ActiveContextTransformDeps,\n context: PlanContext,\n bundle: SelectionBundle,\n): ActiveContextTransformPlan {\n const filter = request.filter;\n if (!filter || typeof filter.keepCriterion !== \"string\" || filter.keepCriterion.length === 0) {\n throw new PlanReject(\"invalid_request\"); // Filter needs keepCriterion\n }\n const threshold = filter.threshold;\n if (typeof threshold !== \"number\" || !Number.isFinite(threshold) || threshold < 0 || threshold > 1) {\n throw new PlanReject(\"invalid_request\"); // fixed limit in [0,1], never defaulted\n }\n if (!deps.scoreMessage) {\n throw new PlanReject(\"filter_unavailable\"); // Filter needs a score function\n }\n\n const scoreRows: ActiveContextScoreRow[] = [];\n const removalIds: string[] = [];\n for (const message of bundle.removable) {\n const score = deps.scoreMessage(message);\n if (typeof score !== \"number\" || !Number.isFinite(score) || score < 0 || score > 1) {\n throw new PlanReject(\"filter_unavailable\"); // missing / NaN / out of range\n }\n const decision = score >= threshold ? \"keep\" : \"drop\"; // fixed keep rule\n scoreRows.push({ messageId: message.id, score, decision });\n if (decision === \"drop\") removalIds.push(message.id);\n }\n\n return finalizePlan(\"FILTER\", context, bundle, removalIds, {\n scoreRows,\n criterionHash: sha256Hex(filter.keepCriterion), // hash, never the rule text\n sourcePromptHash: request.sourcePromptHash,\n });\n}\n\nfunction buildSummaryPlan(\n request: ActiveContextTransformRequest,\n deps: ActiveContextTransformDeps,\n context: PlanContext,\n bundle: SelectionBundle,\n): ActiveContextTransformPlan {\n const requested = request.summary?.method ?? \"deterministic\";\n const llmEnabled = context.caps.activeContextLlm;\n let method: \"deterministic\" | \"llm\";\n let fallbackPolicy: \"allowed\" | \"none\";\n if (requested === \"deterministic\") {\n method = \"deterministic\";\n fallbackPolicy = \"none\";\n } else if (requested === \"llm\") {\n if (!llmEnabled) throw new PlanReject(\"unsupported\"); // explicit llm behind a closed gate\n method = \"llm\";\n fallbackPolicy = \"none\"; // fallback only in auto mode\n } else {\n // auto: prefer the LLM seam when allowed; deterministic otherwise.\n method = llmEnabled && deps.summarize ? \"llm\" : \"deterministic\";\n fallbackPolicy = method === \"llm\" ? \"allowed\" : \"none\";\n }\n\n const requestedTokens = request.summary?.targetTokens ?? context.caps.activeContextSummaryMaxTokens;\n if (\n typeof requestedTokens !== \"number\" ||\n !Number.isFinite(requestedTokens) ||\n requestedTokens <= 0 ||\n requestedTokens > context.caps.activeContextSummaryMaxTokens\n ) {\n throw new PlanReject(\"invalid_request\");\n }\n const targetTokens = Math.floor(requestedTokens);\n\n // planId is derived inside finalizePlan; the replacement ID must be stable\n // relative to it, so derive from the same stable inputs.\n const replacementSeed = sha256Hex(\n canonicalJson({\n operation: \"SUMMARY\",\n selectorHash: bundle.selectorHash,\n snapshotContentHash: context.snapshotContentHash,\n sessionKey: context.scope.sessionKey,\n namespace: context.scope.namespace,\n principal: context.scope.principal,\n adapterId: context.scope.adapterId,\n }),\n );\n const replacement: ActiveContextPlanReplacement = {\n messageId: `actxr-${replacementSeed.slice(0, 16)}`,\n sourceMessageIds: bundle.removable.map((m) => m.id),\n method,\n fallbackPolicy,\n targetTokens,\n };\n\n const plan = finalizePlan(\"SUMMARY\", context, bundle, [...replacement.sourceMessageIds], {\n replacement,\n sourcePromptHash: request.sourcePromptHash,\n });\n return plan;\n}\n\n// ── prepare ────────────────────────────────────────────────────────────────\n\n/**\n * Produce the SUMMARY replacement text for a ready plan through the pure\n * summary seam (context-summary.ts). Never calls `LcmSummarizer`. FILTER\n * plans pass through unchanged after revalidation. The caller must supply\n * the same snapshot the plan was built from; a changed transcript fence\n * rejects with `plan_conflict`.\n */\nexport async function prepareActiveContextTransform(\n plan: ActiveContextTransformPlan,\n deps: ActiveContextTransformDeps & { snapshot: ActiveContextSnapshot },\n): Promise<ActiveContextPreparedTransform> {\n if (plan.status !== \"ready\") {\n return { status: \"rejected\", plan, errorCode: plan.errorCode ?? \"invalid_request\" };\n }\n\n const scope = deps.resolvedScope;\n const p = plan.precondition;\n if (\n !scope ||\n scope.principal !== p.principal ||\n scope.sessionKey !== p.sessionKey ||\n scope.namespace !== p.namespace ||\n scope.adapterId !== p.adapterId\n ) {\n return { status: \"rejected\", plan, errorCode: \"scope_mismatch\" };\n }\n const now = deps.now?.() ?? new Date();\n if (now.getTime() >= new Date(plan.retention.expiresAt).getTime()) {\n return { status: \"rejected\", plan, errorCode: \"stale_context\" }; // expired plan\n }\n if (deps.snapshot.sessionKey !== p.sessionKey || deps.snapshot.namespace !== p.namespace) {\n return { status: \"rejected\", plan, errorCode: \"scope_mismatch\" };\n }\n const fenceHash = hashSnapshot(deps.snapshot);\n if (fenceHash !== plan.provenance.snapshotContentHash) {\n return { status: \"rejected\", plan, errorCode: \"plan_conflict\" }; // changed fence\n }\n\n if (plan.operation === \"FILTER\") {\n return { status: \"ready\", plan };\n }\n\n const replacement = plan.replacement;\n if (!replacement) {\n return { status: \"failed\", plan, errorCode: \"invalid_request\" };\n }\n const byId = new Map(deps.snapshot.messages.map((m) => [m.id, m] as const));\n const sourceText = replacement.sourceMessageIds\n .map((id) => byId.get(id))\n .filter((m): m is ActiveContextMessage => m !== undefined)\n .sort((a, b) => a.ordinal - b.ordinal || a.id.localeCompare(b.id))\n .map((m) => m.content)\n .join(\"\\n\\n\"); // exact order, exact text\n\n const method =\n replacement.method === \"deterministic\"\n ? \"deterministic\"\n : replacement.fallbackPolicy === \"allowed\"\n ? \"auto\"\n : \"llm\";\n try {\n const result = await summarizeContextPure(sourceText, replacement.targetTokens, method, {\n llm: deps.summarize,\n deterministicMaxTokens: deps.caps?.activeContextSummaryMaxTokens ?? replacement.targetTokens,\n });\n if (result.text.trim().length === 0) {\n return { status: \"failed\", plan, errorCode: \"summary_unavailable\" }; // bad model text\n }\n return {\n status: \"ready\",\n plan,\n replacement: {\n messageId: replacement.messageId,\n text: result.text,\n contentHash: sha256Hex(result.text),\n method: result.method,\n ...(result.modelUsed ? { modelUsed: result.modelUsed } : {}),\n fallback: result.fallback,\n sourceMessageIds: replacement.sourceMessageIds,\n },\n };\n } catch (err) {\n if (err instanceof ContextSummaryUnavailableError) {\n return { status: \"failed\", plan, errorCode: \"summary_unavailable\" };\n }\n throw err;\n }\n}\n\n// ── receipts and telemetry ─────────────────────────────────────────────────\n\n/**\n * Validate a host receipt against the plan's bindings and append one\n * context record to the ledger. Order of checks: scope → hash → revision →\n * shape. One-time use is enforced by the adapter's persisted apply/undo\n * markers (retention store); this recorder appends only. A ledger write\n * failure returns `recorded: false` and never fabricates an apply.\n */\nexport async function recordActiveContextApplyReceipt(\n plan: ActiveContextTransformPlan,\n receipt: ActiveContextApplyReceipt,\n trustedScope: ActiveContextResolvedScope,\n recorder: {\n append(record: ContextTransformTelemetryRecord): Promise<boolean>;\n },\n): Promise<{ recorded: boolean; event: ContextTransformTelemetryRecord }> {\n const p = plan.precondition;\n const scopeMatch =\n trustedScope.principal === p.principal &&\n trustedScope.sessionKey === p.sessionKey &&\n trustedScope.namespace === p.namespace &&\n trustedScope.adapterId === p.adapterId &&\n receipt.adapterId === trustedScope.adapterId;\n if (!scopeMatch) throw new PlanReject(\"scope_mismatch\");\n if (receipt.planHash !== plan.planHash) throw new PlanReject(\"plan_conflict\"); // bad hash\n if (receipt.hostRevisionBefore === undefined || receipt.hostRevisionBefore !== p.snapshotRevision) {\n throw new PlanReject(\"stale_context\"); // old plan / bad revision\n }\n const shapeOk =\n receipt.schemaVersion === ACTIVE_CONTEXT_RECEIPT_SCHEMA_VERSION &&\n receipt.planId === plan.planId &&\n (receipt.outcome === \"applied\" || receipt.outcome === \"skipped\" || receipt.outcome === \"failed\") &&\n typeof receipt.appliedAt === \"string\" &&\n !Number.isNaN(Date.parse(receipt.appliedAt));\n if (!shapeOk) throw new PlanReject(\"invalid_receipt\");\n\n const event: ContextTransformTelemetryRecord = {\n recordKind: \"context_transform\",\n schemaVersion: ACTIVE_CONTEXT_RECORD_SCHEMA_VERSION,\n timestamp: receipt.appliedAt,\n actionId: plan.planId,\n action: plan.operation === \"SUMMARY\" ? \"summarize_context\" : \"filter_context\",\n outcome: receipt.outcome,\n status: receipt.outcome === \"applied\" ? \"applied\" : receipt.outcome === \"failed\" ? \"rejected\" : \"validated\",\n subsystem: \"active-context\",\n namespace: p.namespace,\n sourceSessionKey: p.sessionKey,\n planHash: plan.planHash,\n snapshotRevision: p.snapshotRevision,\n adapterId: receipt.adapterId,\n algorithmVersion: plan.provenance.algorithmVersion,\n selectedCount: plan.selectedMessageIds.length,\n retainedCount: plan.retainedMessageIds.length,\n proposedRemovalCount: plan.proposedRemovalIds.length,\n receiptOutcome: receipt.outcome,\n selectorHash: plan.provenance.selectorHash,\n snapshotContentHash: plan.provenance.snapshotContentHash,\n ...(plan.provenance.criterionHash ? { criterionHash: plan.provenance.criterionHash } : {}),\n ...(plan.provenance.sourcePromptHash ? { sourcePromptHash: plan.provenance.sourcePromptHash } : {}),\n policyDecision: plan.policy.decision,\n policyRationale: plan.policy.rationale,\n };\n\n let recorded = false;\n try {\n recorded = await recorder.append(event);\n } catch {\n recorded = false; // ledger errors surface in the result, never as an apply\n }\n return { recorded, event: { ...event, telemetryRecorded: recorded } };\n}\n\n/**\n * Build a plan-stage ledger record (plan produced, rejected, skipped, or\n * failed before host apply). Receipt-backed applies use\n * {@link recordActiveContextApplyReceipt} instead.\n */\nexport function buildContextTransformPlanEvent(\n plan: ActiveContextTransformPlan,\n outcome: \"skipped\" | \"failed\",\n): ContextTransformTelemetryRecord {\n return {\n recordKind: \"context_transform\",\n schemaVersion: ACTIVE_CONTEXT_RECORD_SCHEMA_VERSION,\n timestamp: plan.provenance.generatedAt,\n actionId: plan.planId,\n action: plan.operation === \"SUMMARY\" ? \"summarize_context\" : \"filter_context\",\n outcome,\n status: plan.status === \"ready\" ? \"validated\" : \"rejected\",\n subsystem: \"active-context\",\n namespace: plan.precondition.namespace,\n sourceSessionKey: plan.precondition.sessionKey,\n planHash: plan.planHash,\n snapshotRevision: plan.precondition.snapshotRevision,\n algorithmVersion: plan.provenance.algorithmVersion,\n selectedCount: plan.selectedMessageIds.length,\n retainedCount: plan.retainedMessageIds.length,\n proposedRemovalCount: plan.proposedRemovalIds.length,\n selectorHash: plan.provenance.selectorHash,\n snapshotContentHash: plan.provenance.snapshotContentHash,\n ...(plan.provenance.criterionHash ? { criterionHash: plan.provenance.criterionHash } : {}),\n ...(plan.provenance.sourcePromptHash ? { sourcePromptHash: plan.provenance.sourcePromptHash } : {}),\n policyDecision: plan.policy.decision,\n policyRationale: plan.policy.rationale,\n telemetryRecorded: true,\n };\n}\n"],"mappings":"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","names":[]}
@@ -2,17 +2,17 @@ import {
2
2
  pathMayCarryEntityRefs,
3
3
  requestEntityCanonicalIdReconcile,
4
4
  withRawEntityPageMutation
5
- } from "./chunk-ZVPVTPGI.js";
5
+ } from "./chunk-NNZFPYYX.js";
6
6
  import {
7
7
  bumpArchiveMutationForPath
8
8
  } from "./chunk-W5BIQOAJ.js";
9
9
  import {
10
10
  markProjectedMemoryPathInvalid
11
- } from "./chunk-2LWQSV6A.js";
11
+ } from "./chunk-AL3UYZ5N.js";
12
12
  import {
13
13
  CONTENT_HASH_INDEX_RETRY_MAX_DELAY_MS,
14
14
  ContentHashIndex
15
- } from "./chunk-JOEJG4SD.js";
15
+ } from "./chunk-TVW4C7PV.js";
16
16
  import {
17
17
  withHeldFileLock
18
18
  } from "./chunk-FFAZ2XFU.js";
@@ -22,13 +22,13 @@ import {
22
22
  import {
23
23
  readMaybeEncryptedFileFromChunks,
24
24
  writeMaybeEncryptedFileFromChunks
25
- } from "./chunk-XQ3HXAQH.js";
26
- import {
27
- isErrnoCode
28
- } from "./chunk-5UZXUTVO.js";
25
+ } from "./chunk-ET2CNMLD.js";
29
26
  import {
30
27
  RECALL_FALLBACK_DIRS
31
28
  } from "./chunk-VS2IYZRU.js";
29
+ import {
30
+ isErrnoCode
31
+ } from "./chunk-5UZXUTVO.js";
32
32
  import {
33
33
  log
34
34
  } from "./chunk-3WCASNQZ.js";
@@ -1815,4 +1815,4 @@ export {
1815
1815
  parseTombstoneBlockedOfflineSyncMemory,
1816
1816
  TombstoneBlockedCaptureIndexHost
1817
1817
  };
1818
- //# sourceMappingURL=chunk-W4BMEGQA.js.map
1818
+ //# sourceMappingURL=chunk-LUDBXTBJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MCP_READ_ONLY_TOOL_SUFFIXES
3
- } from "./chunk-FP7YTTVO.js";
3
+ } from "./chunk-4OFKZAJG.js";
4
4
  import {
5
5
  EXTERNAL_WIKI_MCP_TOOLS
6
6
  } from "./chunk-A5KNZSNA.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-T4WDJPEZ.js";
16
16
  import {
17
17
  validateRequest
18
- } from "./chunk-5HK3CJAR.js";
18
+ } from "./chunk-7XOG75AU.js";
19
19
  import {
20
20
  MCP_ADMIN_OPS_MIGRATED_OPERATIONS,
21
21
  MCP_ADMIN_OPS_TOOLS,
@@ -23,19 +23,19 @@ import {
23
23
  } from "./chunk-AB3A7EFH.js";
24
24
  import {
25
25
  applyToolOutputSchemas
26
- } from "./chunk-AX7UXCHJ.js";
26
+ } from "./chunk-UYA36DQ7.js";
27
27
  import {
28
28
  getOperation
29
- } from "./chunk-RQE4TITU.js";
29
+ } from "./chunk-IHGMRDEE.js";
30
30
  import {
31
31
  WHO_KNOWS_MCP_TOOLS
32
- } from "./chunk-ZIJDI4CP.js";
32
+ } from "./chunk-WKJFIMVN.js";
33
33
  import {
34
34
  PROMOTION_CANDIDATES_MCP_TOOLS
35
- } from "./chunk-RIAM7DND.js";
35
+ } from "./chunk-ME35HVDJ.js";
36
36
  import {
37
37
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
38
- } from "./chunk-XDL5CYZN.js";
38
+ } from "./chunk-EEOUMG3J.js";
39
39
  import {
40
40
  assertOperationAllowed,
41
41
  capabilityAllowsOp,
@@ -1393,12 +1393,13 @@ var LOCATION_MCP_TOOLS = [
1393
1393
  },
1394
1394
  {
1395
1395
  name: "engram.location_backfill",
1396
- description: "Sync an explicit historical day range (inclusive, capped at 90 days) for every enabled location provider. Same shared sync runner as location_sync; never makes an unbounded scan.",
1396
+ description: "Sync an explicit historical day range (inclusive, capped at 90 days) for every enabled location provider, then re-tag overlapping memories with provider-owned location metadata (issue #2046; requires location.tagging.backfillEnabled). dryRun reports the memory changes without persisting anything \u2014 no day files, no memory patches. Never makes an unbounded scan and never calls the LLM.",
1397
1397
  inputSchema: {
1398
1398
  type: "object",
1399
1399
  properties: {
1400
1400
  from: { type: "string", description: "Range start day (YYYY-MM-DD)." },
1401
- to: { type: "string", description: "Range end day (YYYY-MM-DD, inclusive)." }
1401
+ to: { type: "string", description: "Range end day (YYYY-MM-DD, inclusive)." },
1402
+ dryRun: { type: "boolean", description: "Report only; persist nothing." }
1402
1403
  },
1403
1404
  required: ["from", "to"],
1404
1405
  additionalProperties: false
@@ -1418,6 +1419,21 @@ var LOCATION_MCP_TOOLS = [
1418
1419
  }
1419
1420
  ];
1420
1421
 
1422
+ // src/standup/mcp-tools.ts
1423
+ var STANDUP_MCP_TOOLS = [
1424
+ {
1425
+ name: "engram.standup",
1426
+ description: "Deterministic standup brief: yesterday highlights, today priorities, blockers, and an activity grid. Pass date as YYYY-MM-DD; default is today UTC.",
1427
+ inputSchema: {
1428
+ type: "object",
1429
+ properties: {
1430
+ date: { type: "string", description: "Standup day (YYYY-MM-DD). Defaults to today UTC." }
1431
+ },
1432
+ additionalProperties: false
1433
+ }
1434
+ }
1435
+ ];
1436
+
1421
1437
  // src/support-passport/mcp-tools.ts
1422
1438
  var CARD_CATEGORIES = [
1423
1439
  "communication",
@@ -1675,6 +1691,7 @@ var MCP_MIGRATED_OPERATIONS = {
1675
1691
  "engram.meetings_list": "meetings_list",
1676
1692
  "engram.meetings_get": "meetings_get",
1677
1693
  "engram.meetings_build": "meetings_build",
1694
+ "engram.standup": "standup",
1678
1695
  "engram.action_confidence": "action_confidence",
1679
1696
  "engram.chatgpt_memory_inspector": "chatgpt_memory_inspector",
1680
1697
  "engram.day_summary": "day_summary",
@@ -2044,6 +2061,7 @@ var EngramMcpServer = class {
2044
2061
  ...WHO_KNOWS_MCP_TOOLS,
2045
2062
  ...PROMOTION_CANDIDATES_MCP_TOOLS,
2046
2063
  ...LOCATION_MCP_TOOLS,
2064
+ ...STANDUP_MCP_TOOLS,
2047
2065
  ...service.supportPassportEnabled ? SUPPORT_PASSPORT_MCP_TOOLS : [],
2048
2066
  {
2049
2067
  name: "engram.action_confidence",
@@ -4037,4 +4055,4 @@ export {
4037
4055
  MCP_MIGRATED_OPERATIONS,
4038
4056
  EngramMcpServer
4039
4057
  };
4040
- //# sourceMappingURL=chunk-I4343FIA.js.map
4058
+ //# sourceMappingURL=chunk-MAH64N55.js.map