@remnic/core 9.69.40 → 9.69.41

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 (657) hide show
  1. package/dist/access-admin-ops-surface.d.ts +13 -13
  2. package/dist/access-admin-ops-surface.js +69 -68
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-authorization-probe.d.ts +13 -13
  5. package/dist/access-authorization-probe.js +70 -69
  6. package/dist/access-boundary.d.ts +13 -13
  7. package/dist/access-boundary.js +69 -68
  8. package/dist/access-cli.js +157 -155
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-coding-context-resolution.d.ts +1 -1
  11. package/dist/access-extraction-force-flush.d.ts +13 -13
  12. package/dist/access-extraction-force-flush.js +69 -68
  13. package/dist/access-health-types.d.ts +1 -1
  14. package/dist/access-http-briefing.d.ts +13 -13
  15. package/dist/access-http-briefing.js +70 -69
  16. package/dist/access-http-lcm-compaction.d.ts +13 -13
  17. package/dist/access-http-lifecycle-flush.d.ts +13 -13
  18. package/dist/access-http-offline-stream.d.ts +13 -13
  19. package/dist/access-http-query.d.ts +2 -2
  20. package/dist/access-http-query.js +71 -70
  21. package/dist/access-http.d.ts +14 -14
  22. package/dist/access-http.js +90 -87
  23. package/dist/access-identity-continuity-surface.d.ts +11 -11
  24. package/dist/access-identity-continuity-surface.js +69 -68
  25. package/dist/access-lcm-surface.d.ts +13 -13
  26. package/dist/access-lcm-surface.js +69 -68
  27. package/dist/access-mcp-shared-context-tools.d.ts +156 -0
  28. package/dist/access-mcp-shared-context-tools.js +8 -0
  29. package/dist/access-mcp.d.ts +13 -13
  30. package/dist/access-mcp.js +81 -78
  31. package/dist/access-memory-search-fanout.d.ts +2 -2
  32. package/dist/{access-namespace-preflight-CKBumJ8W.d.ts → access-namespace-preflight-DWsMc9Dh.d.ts} +1 -1
  33. package/dist/access-namespace-preflight.d.ts +3 -3
  34. package/dist/access-namespace-preflight.js +69 -68
  35. package/dist/access-observe-transcript.d.ts +11 -11
  36. package/dist/access-observe-write-category.d.ts +1 -1
  37. package/dist/access-observe-write-category.js +4 -4
  38. package/dist/access-observe-write-surface.d.ts +13 -13
  39. package/dist/access-observe-write-surface.js +69 -68
  40. package/dist/access-offline-manifest.d.ts +11 -11
  41. package/dist/access-offline-manifest.js +9 -9
  42. package/dist/access-operations-batch.js +74 -72
  43. package/dist/access-operations.d.ts +13 -13
  44. package/dist/access-operations.js +79 -77
  45. package/dist/access-recall-concurrency.d.ts +13 -13
  46. package/dist/access-recall-concurrency.js +69 -68
  47. package/dist/access-recall-response.d.ts +13 -13
  48. package/dist/access-recall-response.js +69 -68
  49. package/dist/access-recall-surface.d.ts +13 -13
  50. package/dist/access-recall-surface.js +69 -68
  51. package/dist/access-schema.d.ts +1 -1
  52. package/dist/access-schema.js +3 -3
  53. package/dist/{access-service-DJ3qogNt.d.ts → access-service-Cisy5YDq.d.ts} +14 -9
  54. package/dist/access-service-helpers.d.ts +13 -13
  55. package/dist/access-service.d.ts +13 -13
  56. package/dist/access-service.js +69 -68
  57. package/dist/access-surface-catalog.d.ts +13 -13
  58. package/dist/access-surface-catalog.js +71 -70
  59. package/dist/access-surface-catalog.js.map +1 -1
  60. package/dist/access-wearables-meetings-surface.d.ts +4 -4
  61. package/dist/action-confidence.d.ts +1 -1
  62. package/dist/active-memory-bridge.d.ts +1 -1
  63. package/dist/active-memory-bridge.js +3 -3
  64. package/dist/active-recall.d.ts +1 -1
  65. package/dist/active-recall.js +6 -6
  66. package/dist/activity/digest.d.ts +1 -1
  67. package/dist/ambient-provenance.d.ts +1 -1
  68. package/dist/artifact-search.d.ts +1 -1
  69. package/dist/{auto-sync-D6BAPIJV.js → auto-sync-7PGUFY7U.js} +7 -7
  70. package/dist/background-generation.d.ts +1 -1
  71. package/dist/behavior-learner.d.ts +1 -1
  72. package/dist/behavior-signals.d.ts +1 -1
  73. package/dist/bootstrap.d.ts +11 -11
  74. package/dist/briefing-window.d.ts +2 -2
  75. package/dist/briefing.d.ts +2 -2
  76. package/dist/briefing.js +17 -17
  77. package/dist/buffer-surprise-report.d.ts +1 -1
  78. package/dist/buffer-turn-helpers.d.ts +1 -1
  79. package/dist/buffer.d.ts +2 -2
  80. package/dist/buffer.js +5 -5
  81. package/dist/bulk-import/index.d.ts +3 -3
  82. package/dist/calibration.d.ts +1 -1
  83. package/dist/calibration.js +2 -2
  84. package/dist/capabilities.d.ts +1 -1
  85. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  86. package/dist/{capsule-merge-IPG4IOFP.js → capsule-merge-3MNURAQ3.js} +2 -2
  87. package/dist/{catalog-BHXkBVhg.d.ts → catalog-wcX1QhtQ.d.ts} +1 -1
  88. package/dist/causal-behavior.d.ts +1 -1
  89. package/dist/causal-consolidation.d.ts +1 -1
  90. package/dist/causal-consolidation.js +20 -20
  91. package/dist/causal-trajectory-graph.d.ts +1 -1
  92. package/dist/{chunk-M6RORUO5.js → chunk-2EYZ32LH.js} +24 -2
  93. package/dist/{chunk-M6RORUO5.js.map → chunk-2EYZ32LH.js.map} +1 -1
  94. package/dist/{chunk-VHKXRYQN.js → chunk-2HQPE2NM.js} +2 -2
  95. package/dist/{chunk-RDLPFM7I.js → chunk-2ZG2LLZT.js} +2 -2
  96. package/dist/{chunk-IMBQFHRV.js → chunk-3BLHPQHT.js} +5 -5
  97. package/dist/{chunk-6L2II3KS.js → chunk-3D75XIYO.js} +2 -2
  98. package/dist/{chunk-J272ODKJ.js → chunk-42DJ235G.js} +2 -2
  99. package/dist/{chunk-RJQAP333.js → chunk-46RII65S.js} +2 -2
  100. package/dist/{chunk-JUDT33RX.js → chunk-4AX5OYKC.js} +2 -2
  101. package/dist/{chunk-GSSDHAYH.js → chunk-4IGOLIWM.js} +2 -2
  102. package/dist/{chunk-4CMXI55L.js → chunk-54QPOE45.js} +2 -2
  103. package/dist/{chunk-LKFVVN7R.js → chunk-563X6JJX.js} +2 -2
  104. package/dist/{chunk-VQWBUPSJ.js → chunk-5EQT62HH.js} +2 -2
  105. package/dist/{chunk-BYQX4IOG.js → chunk-6MQMYXSQ.js} +2 -2
  106. package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
  107. package/dist/{chunk-K75A5XWU.js → chunk-7ZLC4DTZ.js} +4 -4
  108. package/dist/{chunk-7Z54NXVS.js → chunk-A4OIJYCV.js} +2 -2
  109. package/dist/{chunk-QS5Q5RBV.js → chunk-AFJHNHAM.js} +8 -8
  110. package/dist/{chunk-TZ44E732.js → chunk-AIVRD66I.js} +2 -2
  111. package/dist/{chunk-OEDW4ER7.js → chunk-AJBWVDRV.js} +2 -1
  112. package/dist/chunk-AJBWVDRV.js.map +1 -0
  113. package/dist/{chunk-IOPIGX7Y.js → chunk-AKABVXFS.js} +2 -2
  114. package/dist/{chunk-KOTG3RXE.js → chunk-AUSRUOMQ.js} +2 -2
  115. package/dist/{chunk-K4A6UVPB.js → chunk-BTPCP535.js} +8 -8
  116. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  117. package/dist/{chunk-TEMKBSV6.js → chunk-C3G6MW4W.js} +3 -3
  118. package/dist/{chunk-3QEVOQF5.js → chunk-D6PY63OM.js} +2 -2
  119. package/dist/{chunk-DFVSJFHK.js → chunk-DBB5JPSL.js} +2 -2
  120. package/dist/{chunk-HJUP3K6L.js → chunk-DIXZQTGY.js} +2 -2
  121. package/dist/{chunk-ZX3AYNNV.js → chunk-DM5CU5J7.js} +2 -2
  122. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  123. package/dist/{chunk-BGRTZOJB.js → chunk-E3I3NDUP.js} +4 -4
  124. package/dist/{chunk-ZAEPD4C2.js → chunk-E4LMQTST.js} +2 -2
  125. package/dist/{chunk-NETQXOPY.js → chunk-EH3HNCAM.js} +12 -7
  126. package/dist/{chunk-NETQXOPY.js.map → chunk-EH3HNCAM.js.map} +1 -1
  127. package/dist/{chunk-7D6SER6A.js → chunk-EMSYMYXO.js} +14 -14
  128. package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
  129. package/dist/{chunk-V2ZA4YWE.js → chunk-F5H6YG5P.js} +2 -2
  130. package/dist/{chunk-YTK5MVNF.js → chunk-FGFC2EFR.js} +14 -13
  131. package/dist/chunk-FGFC2EFR.js.map +1 -0
  132. package/dist/{chunk-ZMWSYUUL.js → chunk-GCBIXUPT.js} +2 -2
  133. package/dist/{chunk-IS2IDFJP.js → chunk-GMH5QPUU.js} +22 -22
  134. package/dist/chunk-GMH5QPUU.js.map +1 -0
  135. package/dist/{chunk-LFVZD5EC.js → chunk-GWNSKQDA.js} +3 -3
  136. package/dist/{chunk-JDX2OA4R.js → chunk-HNHIHXSD.js} +2 -2
  137. package/dist/{chunk-2SNCQHJZ.js → chunk-I33QYUAF.js} +6 -6
  138. package/dist/{chunk-UZ6JYPJ6.js → chunk-I46BYY7U.js} +193 -150
  139. package/dist/chunk-I46BYY7U.js.map +1 -0
  140. package/dist/{chunk-MVG3KXON.js → chunk-ICN37XHG.js} +15 -15
  141. package/dist/chunk-IFBSZGW3.js +42 -0
  142. package/dist/chunk-IFBSZGW3.js.map +1 -0
  143. package/dist/{chunk-ICNJ6J46.js → chunk-IYIPXAIJ.js} +2 -2
  144. package/dist/{chunk-AEOOGXMQ.js → chunk-J2MGTGKC.js} +4 -4
  145. package/dist/chunk-JATHBCAV.js +94 -0
  146. package/dist/chunk-JATHBCAV.js.map +1 -0
  147. package/dist/{chunk-5U7K4W6K.js → chunk-JDOBQPJY.js} +3 -3
  148. package/dist/{chunk-TG3FAM2S.js → chunk-JL4TQYM5.js} +48 -1
  149. package/dist/{chunk-TG3FAM2S.js.map → chunk-JL4TQYM5.js.map} +1 -1
  150. package/dist/{chunk-NVVZPBKI.js → chunk-JMWUPUE6.js} +2 -2
  151. package/dist/{chunk-QPVNK2VE.js → chunk-JSD7Q7LD.js} +2 -2
  152. package/dist/{chunk-RLU2Y5GV.js → chunk-K5D2XVNN.js} +4 -4
  153. package/dist/{chunk-YTZN2UZO.js → chunk-KJLLPG26.js} +2 -2
  154. package/dist/{chunk-2SKMZUOW.js → chunk-KLUC2GSG.js} +6 -6
  155. package/dist/{chunk-YRIFXXMI.js → chunk-KZJM7R4F.js} +3 -3
  156. package/dist/{chunk-46Z3VGWF.js → chunk-LE2KZ72G.js} +3 -3
  157. package/dist/{chunk-HIP6DKJJ.js → chunk-LQVXSRAJ.js} +2 -2
  158. package/dist/{chunk-A7GQBJP5.js → chunk-LVFI5LG7.js} +7 -7
  159. package/dist/{chunk-5LYSEZOF.js → chunk-MCMS4VUK.js} +9 -8
  160. package/dist/chunk-MCMS4VUK.js.map +1 -0
  161. package/dist/{chunk-ROEFLU37.js → chunk-N6XTC56E.js} +13 -81
  162. package/dist/chunk-N6XTC56E.js.map +1 -0
  163. package/dist/{chunk-PKUJNICO.js → chunk-ND7MAIJC.js} +2 -2
  164. package/dist/{chunk-DAZANIYU.js → chunk-NYWCFC3K.js} +76 -77
  165. package/dist/{chunk-DAZANIYU.js.map → chunk-NYWCFC3K.js.map} +1 -1
  166. package/dist/{chunk-W23JARAQ.js → chunk-P66QH6R6.js} +2 -2
  167. package/dist/{chunk-62D2PAAM.js → chunk-PAAJWQH5.js} +4 -4
  168. package/dist/{chunk-XM46Y66S.js → chunk-PFKIOYJH.js} +2 -2
  169. package/dist/{chunk-C5R73BON.js → chunk-PGGPRF6J.js} +2 -2
  170. package/dist/{chunk-V6EGNVUT.js → chunk-PIWFNPQT.js} +4 -4
  171. package/dist/{chunk-JOP7W24J.js → chunk-PLJ2MQFT.js} +4 -4
  172. package/dist/{chunk-MJC7UKH7.js → chunk-PQ42DJNG.js} +2 -2
  173. package/dist/{chunk-37CAEC7E.js → chunk-PWPIERBM.js} +4 -4
  174. package/dist/{chunk-BXIJSPCL.js → chunk-Q62GA5U2.js} +2 -2
  175. package/dist/{chunk-CC37E3QM.js → chunk-QKCXRS5A.js} +16 -1
  176. package/dist/chunk-QKCXRS5A.js.map +1 -0
  177. package/dist/{chunk-VKWFNPBH.js → chunk-RQQO3ORQ.js} +2 -2
  178. package/dist/{chunk-SFHLQPBF.js → chunk-S4MJTIPG.js} +85 -81
  179. package/dist/chunk-S4MJTIPG.js.map +1 -0
  180. package/dist/{chunk-THTF2W7M.js → chunk-TRTLWUDD.js} +19 -18
  181. package/dist/chunk-TRTLWUDD.js.map +1 -0
  182. package/dist/{chunk-KTOXQMW3.js → chunk-UHSOPTNB.js} +14 -4
  183. package/dist/chunk-UHSOPTNB.js.map +1 -0
  184. package/dist/{chunk-ES5BUPYB.js → chunk-UZGHKD3T.js} +2 -2
  185. package/dist/{chunk-62HFZNCJ.js → chunk-V2EXYQEQ.js} +11 -10
  186. package/dist/{chunk-62HFZNCJ.js.map → chunk-V2EXYQEQ.js.map} +1 -1
  187. package/dist/{chunk-QE6YVNP5.js → chunk-V2TOGJPM.js} +49 -16
  188. package/dist/chunk-V2TOGJPM.js.map +1 -0
  189. package/dist/{chunk-J4WGTN2N.js → chunk-V62YYBBY.js} +4 -4
  190. package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
  191. package/dist/{chunk-Z4GUX2M6.js → chunk-VSN2DMQK.js} +2 -2
  192. package/dist/{chunk-ZHXSOMYH.js → chunk-VVX5PZFS.js} +2 -2
  193. package/dist/{chunk-KY236SP5.js → chunk-W7UV2ZCA.js} +3 -3
  194. package/dist/{chunk-TO36VPZI.js → chunk-WBQ4ONQJ.js} +2 -2
  195. package/dist/{chunk-WZYHPAG5.js → chunk-WFMQN7JE.js} +3 -3
  196. package/dist/{chunk-G2XZFGYN.js → chunk-WGZHSQDV.js} +4 -4
  197. package/dist/{chunk-MDIEES23.js → chunk-WN2OXGGH.js} +1 -1
  198. package/dist/chunk-WN2OXGGH.js.map +1 -0
  199. package/dist/{chunk-SUEOG2S4.js → chunk-WPGA4RYI.js} +2 -2
  200. package/dist/{chunk-SV4Z2S67.js → chunk-WUUGE7QC.js} +54 -21
  201. package/dist/chunk-WUUGE7QC.js.map +1 -0
  202. package/dist/{chunk-J7FVMLBR.js → chunk-WZIO3TW6.js} +2 -2
  203. package/dist/{chunk-ZZUVBZL2.js → chunk-X2QPKLPL.js} +2 -2
  204. package/dist/{chunk-JAJIMTFB.js → chunk-XRS65T4O.js} +9 -9
  205. package/dist/{chunk-GO5LOHCD.js → chunk-YFXAWGMR.js} +2 -2
  206. package/dist/{chunk-ZRMMXWYI.js → chunk-YR5QT4SR.js} +32 -9
  207. package/dist/chunk-YR5QT4SR.js.map +1 -0
  208. package/dist/{chunk-CARRTDKC.js → chunk-Z22M4JCY.js} +4 -3
  209. package/dist/chunk-Z22M4JCY.js.map +1 -0
  210. package/dist/{chunk-K4JKAXMO.js → chunk-Z535ADTC.js} +3 -3
  211. package/dist/{chunk-23HFXQ5J.js → chunk-Z7NBT6AK.js} +3 -3
  212. package/dist/{chunk-VQYWKCDR.js → chunk-ZX6NNFSY.js} +3 -3
  213. package/dist/{chunk-3XPN7AVY.js → chunk-ZYSOT6HD.js} +2 -2
  214. package/dist/{chunk-ZZCR2QYL.js → chunk-ZZEIL3MI.js} +2 -2
  215. package/dist/{cli-BWri5-am.d.ts → cli-CUlMlS2N.d.ts} +5 -5
  216. package/dist/cli.d.ts +15 -15
  217. package/dist/cli.js +116 -114
  218. package/dist/coding/export-okf-codegraph.d.ts +1 -1
  219. package/dist/coding/export-okf-codegraph.js +16 -16
  220. package/dist/coding/pre-action-gate.d.ts +1 -1
  221. package/dist/compounding/engine.d.ts +2 -2
  222. package/dist/compounding/engine.js +19 -19
  223. package/dist/compounding/preference-consolidator.d.ts +1 -1
  224. package/dist/compression-optimizer.d.ts +1 -1
  225. package/dist/config.d.ts +1 -1
  226. package/dist/config.js +6 -6
  227. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  228. package/dist/connectors/codex-materialize-runner.js +19 -19
  229. package/dist/connectors/codex-materialize.d.ts +1 -1
  230. package/dist/connectors/codex-materialize.js +2 -2
  231. package/dist/connectors/index.d.ts +1 -1
  232. package/dist/connectors/index.js +19 -19
  233. package/dist/consolidation-provenance-check.d.ts +2 -2
  234. package/dist/consolidation-undo.d.ts +2 -2
  235. package/dist/contradiction/index.d.ts +4 -4
  236. package/dist/contradiction/index.js +4 -4
  237. package/dist/{contradiction-scan-BSGKZHYJ.js → contradiction-scan-GVD4JJ7B.js} +4 -4
  238. package/dist/converge-config.d.ts +1 -1
  239. package/dist/convergence-refresh.d.ts +2 -2
  240. package/dist/convergence-refresh.js +20 -20
  241. package/dist/conversation-index/backend.d.ts +1 -1
  242. package/dist/conversation-index/chunker.d.ts +1 -1
  243. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  244. package/dist/conversation-index/indexer.d.ts +1 -1
  245. package/dist/conversation-index/search.d.ts +1 -1
  246. package/dist/corpus-watermark.d.ts +1 -1
  247. package/dist/corpus-watermark.js +19 -19
  248. package/dist/cross-lingual-recall.d.ts +1 -1
  249. package/dist/dashboard-runtime.js +2 -2
  250. package/dist/day-summary.d.ts +1 -1
  251. package/dist/deep-recall-config.d.ts +12 -1
  252. package/dist/deep-recall-config.js +5 -3
  253. package/dist/deep-recall-http-glue.d.ts +16 -14
  254. package/dist/deep-recall-http-glue.js +7 -4
  255. package/dist/deep-recall-mcp-tools.d.ts +13 -13
  256. package/dist/deep-recall-policy-llm.d.ts +12 -2
  257. package/dist/deep-recall-policy-llm.js +3 -3
  258. package/dist/deep-recall-seeds.d.ts +4 -1
  259. package/dist/deep-recall-seeds.js +1 -1
  260. package/dist/deep-recall.d.ts +12 -1
  261. package/dist/deep-recall.js +3 -2
  262. package/dist/delinearize.d.ts +1 -1
  263. package/dist/dependency-propagation-config.d.ts +1 -1
  264. package/dist/{dependency-propagation-delivery-ueZlKTQB.d.ts → dependency-propagation-delivery-BDDjImQn.d.ts} +1 -1
  265. package/dist/direct-answer-wiring.d.ts +1 -1
  266. package/dist/direct-answer.d.ts +1 -1
  267. package/dist/embedding-fallback.d.ts +1 -1
  268. package/dist/enrichment/index.d.ts +1 -1
  269. package/dist/entity-origin-fields.d.ts +1 -1
  270. package/dist/entity-retrieval.d.ts +2 -2
  271. package/dist/entity-retrieval.js +18 -18
  272. package/dist/entity-schema.d.ts +1 -1
  273. package/dist/episodic-context.d.ts +1 -1
  274. package/dist/eval-trajectory-contracts.d.ts +1 -1
  275. package/dist/eval-trajectory-store.d.ts +1 -1
  276. package/dist/eval-trajectory.d.ts +1 -1
  277. package/dist/explicit-capture.d.ts +11 -11
  278. package/dist/explicit-capture.js +3 -3
  279. package/dist/external-wiki-access.d.ts +13 -13
  280. package/dist/external-wiki-access.js +70 -69
  281. package/dist/external-wiki-collection-registration.d.ts +1 -1
  282. package/dist/external-wiki-collection.d.ts +1 -1
  283. package/dist/external-wiki-mcp-tools.d.ts +13 -13
  284. package/dist/extraction-error-classification.d.ts +1 -1
  285. package/dist/extraction-faithfulness.d.ts +2 -2
  286. package/dist/extraction-faithfulness.js +3 -3
  287. package/dist/extraction-judge-telemetry.d.ts +2 -2
  288. package/dist/extraction-judge-training.d.ts +2 -2
  289. package/dist/extraction-judge.d.ts +2 -2
  290. package/dist/extraction-judge.js +3 -3
  291. package/dist/extraction-liveness.d.ts +1 -1
  292. package/dist/extraction-normalization.d.ts +1 -1
  293. package/dist/extraction-prompt.d.ts +1 -1
  294. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  295. package/dist/extraction-source-grounding.d.ts +1 -1
  296. package/dist/extraction-span-config.d.ts +1 -1
  297. package/dist/extraction-span-materialize.d.ts +1 -1
  298. package/dist/extraction.d.ts +2 -2
  299. package/dist/extraction.js +30 -30
  300. package/dist/fallback-llm-codex-subscription.d.ts +15 -5
  301. package/dist/fallback-llm-codex-subscription.js +3 -1
  302. package/dist/fallback-llm.d.ts +1 -1
  303. package/dist/fallback-llm.js +2 -2
  304. package/dist/{first-start-migration-ZWMV5CX4.js → first-start-migration-L3UFX5CU.js} +4 -4
  305. package/dist/{generic-recall-paths-CpyVmA88.d.ts → generic-recall-paths-CpDzNO_I.d.ts} +1 -1
  306. package/dist/graph-append-error.d.ts +1 -1
  307. package/dist/graph-dashboard-diff.d.ts +1 -1
  308. package/dist/graph-dashboard-key.d.ts +1 -1
  309. package/dist/graph-dashboard-parser.d.ts +1 -1
  310. package/dist/graph-edge-reinforcement.d.ts +1 -1
  311. package/dist/graph-jsonl.d.ts +1 -1
  312. package/dist/graph-path-reconstruction.d.ts +1 -1
  313. package/dist/graph-path-scoring.d.ts +1 -1
  314. package/dist/graph-snapshot.d.ts +1 -1
  315. package/dist/graph.d.ts +1 -1
  316. package/dist/harmonic-retrieval.js +3 -3
  317. package/dist/importance.d.ts +1 -1
  318. package/dist/importers/index.d.ts +1 -1
  319. package/dist/importers/test-utils.d.ts +1 -1
  320. package/dist/in-flight-reads.d.ts +1 -1
  321. package/dist/{index-BvUA4S7M.d.ts → index-CtmmCJoo.d.ts} +3 -3
  322. package/dist/index.d.ts +26 -26
  323. package/dist/index.js +279 -275
  324. package/dist/intent.d.ts +1 -1
  325. package/dist/lcm/engine.d.ts +1 -1
  326. package/dist/lcm/engine.js +3 -3
  327. package/dist/lcm/index.d.ts +1 -1
  328. package/dist/lcm/index.js +8 -8
  329. package/dist/lcm/tools.d.ts +1 -1
  330. package/dist/lifecycle.d.ts +1 -1
  331. package/dist/live-connectors-runner.d.ts +1 -1
  332. package/dist/{local-llm-BsJGulur.d.ts → local-llm-DpXIvm6F.d.ts} +1 -1
  333. package/dist/local-llm-helpers.d.ts +2 -2
  334. package/dist/local-llm.d.ts +2 -2
  335. package/dist/local-llm.js +2 -2
  336. package/dist/local-model-endpoint.d.ts +1 -1
  337. package/dist/location/index.d.ts +3 -3
  338. package/dist/location/index.js +19 -19
  339. package/dist/maintenance/memory-governance.d.ts +1 -1
  340. package/dist/maintenance/memory-governance.js +18 -18
  341. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  342. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +17 -17
  343. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  344. package/dist/maintenance/rebuild-memory-projection.js +19 -19
  345. package/dist/{maintenance-CYubtIRr.d.ts → maintenance-CNgoLsoM.d.ts} +7 -6
  346. package/dist/mcp-memory-inspector-app.d.ts +13 -13
  347. package/dist/memory-action-policy.d.ts +1 -1
  348. package/dist/memory-cache.d.ts +1 -1
  349. package/dist/memory-controller.d.ts +1 -1
  350. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  351. package/dist/memory-projection-store.d.ts +1 -1
  352. package/dist/memory-provenance.d.ts +1 -1
  353. package/dist/memory-snapshot.d.ts +1 -1
  354. package/dist/memory-subject-cli.d.ts +13 -13
  355. package/dist/memory-subject.d.ts +13 -13
  356. package/dist/memory-worth-outcomes.d.ts +2 -2
  357. package/dist/models-json.d.ts +1 -1
  358. package/dist/namespaces/migrate.d.ts +3 -3
  359. package/dist/namespaces/migrate.js +18 -18
  360. package/dist/namespaces/principal.d.ts +1 -1
  361. package/dist/namespaces/search.d.ts +1 -1
  362. package/dist/namespaces/search.js +3 -3
  363. package/dist/namespaces/storage.d.ts +3 -3
  364. package/dist/namespaces/storage.js +17 -17
  365. package/dist/native-knowledge.d.ts +1 -1
  366. package/dist/offline-sync-impression-drain.d.ts +1 -1
  367. package/dist/operator-doctor-corpus.d.ts +1 -1
  368. package/dist/operator-doctor-corpus.js +20 -20
  369. package/dist/operator-doctor-replica.d.ts +1 -1
  370. package/dist/operator-toolkit.d.ts +3 -3
  371. package/dist/operator-toolkit.js +35 -35
  372. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  373. package/dist/orchestration/maintenance.d.ts +4 -4
  374. package/dist/orchestration/maintenance.js +29 -29
  375. package/dist/{orchestrator-BWDRJ_0d.d.ts → orchestrator-DT7ybIFz.d.ts} +18 -10
  376. package/dist/orchestrator.d.ts +11 -11
  377. package/dist/orchestrator.js +157 -155
  378. package/dist/patterns-cli.d.ts +1 -1
  379. package/dist/{pipeline-7JMn2yMH.d.ts → pipeline-CgBEmHcz.d.ts} +1 -1
  380. package/dist/policy-runtime.d.ts +1 -1
  381. package/dist/proactive-contention.d.ts +2 -2
  382. package/dist/provenance.d.ts +1 -1
  383. package/dist/{public-http-CJWs3mo9.d.ts → public-http-C8P8fyiO.d.ts} +1 -1
  384. package/dist/{qmd-CxCH9G9m.d.ts → qmd-BkY8KpCh.d.ts} +1 -1
  385. package/dist/qmd-preflight.d.ts +2 -2
  386. package/dist/qmd-recall-cache.d.ts +1 -1
  387. package/dist/qmd.d.ts +2 -2
  388. package/dist/recall-concurrency-config.d.ts +1 -1
  389. package/dist/recall-disclosure-escalation.d.ts +1 -1
  390. package/dist/recall-explain-renderer.d.ts +1 -1
  391. package/dist/recall-explain-renderer.js +3 -3
  392. package/dist/recall-memory-map.d.ts +1 -1
  393. package/dist/recall-navigate-access.d.ts +1 -1
  394. package/dist/recall-navigate-access.js +2 -2
  395. package/dist/recall-navigate-disclosure.d.ts +1 -1
  396. package/dist/recall-navigate-disclosure.js +1 -1
  397. package/dist/recall-navigate.d.ts +1 -1
  398. package/dist/recall-navigate.js +2 -2
  399. package/dist/recall-planner-llm.d.ts +1 -1
  400. package/dist/recall-planner-llm.js +2 -2
  401. package/dist/recall-state-view-admission.d.ts +2 -2
  402. package/dist/recall-state-view-admission.js +7 -7
  403. package/dist/recall-state-view-anchors.d.ts +1 -1
  404. package/dist/recall-state-view-anchors.js +2 -2
  405. package/dist/recall-state-view-inject.js +2 -2
  406. package/dist/recall-state-view-render.js +2 -2
  407. package/dist/recall-state-view-widen.js +2 -2
  408. package/dist/recall-state-view-wire.js +3 -3
  409. package/dist/recall-state-view.d.ts +9 -1
  410. package/dist/recall-state-view.js +5 -3
  411. package/dist/recall-state.d.ts +1 -1
  412. package/dist/recall-tag-filter.d.ts +1 -1
  413. package/dist/recall-timings.d.ts +1 -1
  414. package/dist/recall-xray-cli.d.ts +1 -1
  415. package/dist/recall-xray-cli.js +4 -4
  416. package/dist/recall-xray-renderer.d.ts +1 -1
  417. package/dist/recall-xray-renderer.js +3 -3
  418. package/dist/recall-xray.d.ts +1 -1
  419. package/dist/recall-xray.js +2 -2
  420. package/dist/reconcile/cursor.d.ts +1 -1
  421. package/dist/reconcile/cursor.js +2 -2
  422. package/dist/reconcile/manifest.d.ts +1 -1
  423. package/dist/reconcile/manifest.js +4 -4
  424. package/dist/reconcile/plan.d.ts +1 -1
  425. package/dist/reconcile/plan.js +2 -2
  426. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  427. package/dist/replay/normalizers/claude.d.ts +1 -1
  428. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  429. package/dist/replay/normalizers/shared.d.ts +1 -1
  430. package/dist/replay/runner.d.ts +1 -1
  431. package/dist/replay/types.d.ts +1 -1
  432. package/dist/replica-divergence.d.ts +1 -1
  433. package/dist/replica-peers-config.d.ts +1 -1
  434. package/dist/{resolution-4GG3QZRJ.js → resolution-LXFQQ4AE.js} +5 -5
  435. package/dist/resolution-LXFQQ4AE.js.map +1 -0
  436. package/dist/resolve-auth-token.d.ts +1 -1
  437. package/dist/resume-bundles.js +8 -8
  438. package/dist/retrieval-agents.d.ts +2 -2
  439. package/dist/retrieval-tiers.d.ts +1 -1
  440. package/dist/routing/engine.d.ts +1 -1
  441. package/dist/routing/store.d.ts +1 -1
  442. package/dist/salvage-envelope.d.ts +1 -1
  443. package/dist/{scope-profiles-BGAUqhBR.d.ts → scope-profiles-BBPjZ9jb.d.ts} +1 -1
  444. package/dist/search/embed-helper.d.ts +1 -1
  445. package/dist/search/factory.d.ts +1 -1
  446. package/dist/search/factory.js +2 -2
  447. package/dist/search/index.d.ts +1 -1
  448. package/dist/search/index.js +4 -4
  449. package/dist/search/lancedb-backend.d.ts +1 -1
  450. package/dist/search/meilisearch-backend.d.ts +1 -1
  451. package/dist/search/noop-backend.d.ts +1 -1
  452. package/dist/search/orama-backend.d.ts +1 -1
  453. package/dist/search/port.d.ts +1 -1
  454. package/dist/search/remote-backend.d.ts +1 -1
  455. package/dist/{semantic-consolidation-CCeRD9pV.d.ts → semantic-consolidation-BPFFVO84.d.ts} +1 -1
  456. package/dist/semantic-consolidation.d.ts +2 -2
  457. package/dist/semantic-consolidation.js +20 -20
  458. package/dist/semantic-rule-promotion.js +17 -17
  459. package/dist/semantic-rule-verifier.d.ts +1 -1
  460. package/dist/semantic-rule-verifier.js +17 -17
  461. package/dist/{service-BwpzRduk.d.ts → service-jKcr6Jvr.d.ts} +2 -2
  462. package/dist/session-observer-bands.d.ts +1 -1
  463. package/dist/session-observer-state.d.ts +1 -1
  464. package/dist/shared-context/manager.d.ts +1 -1
  465. package/dist/shared-context/manager.js +2 -2
  466. package/dist/shared-context/write-output-controls.d.ts +34 -0
  467. package/dist/shared-context/write-output-controls.js +10 -0
  468. package/dist/shared-context/write-output-controls.js.map +1 -0
  469. package/dist/signal.d.ts +1 -1
  470. package/dist/source-agent-qualifier.d.ts +1 -1
  471. package/dist/source-agent-qualifier.js +25 -25
  472. package/dist/source-attribution.d.ts +23 -1
  473. package/dist/source-attribution.js +13 -3
  474. package/dist/standup/build.js +17 -17
  475. package/dist/{storage-BprAGBG0.d.ts → storage-C-0Ah5OY.d.ts} +1 -1
  476. package/dist/storage.d.ts +2 -2
  477. package/dist/storage.js +16 -16
  478. package/dist/subject-config.d.ts +1 -1
  479. package/dist/summarizer.d.ts +1 -1
  480. package/dist/summarizer.js +6 -6
  481. package/dist/summary-snapshot.d.ts +1 -1
  482. package/dist/support-passport/index.d.ts +16 -16
  483. package/dist/support-passport/index.js +72 -71
  484. package/dist/temporal-supersession.d.ts +2 -2
  485. package/dist/temporal-timeline-recall.d.ts +1 -1
  486. package/dist/temporal-validity.d.ts +1 -1
  487. package/dist/threading.d.ts +1 -1
  488. package/dist/tier-migration.d.ts +2 -2
  489. package/dist/tier-routing.d.ts +1 -1
  490. package/dist/tier-routing.js +3 -3
  491. package/dist/{tier-stats-LUSUUNU6.js → tier-stats-VK5PCO2L.js} +4 -4
  492. package/dist/topics.d.ts +1 -1
  493. package/dist/transcript.d.ts +1 -1
  494. package/dist/transfer/backup.js +2 -2
  495. package/dist/transfer/capsule-export.js +2 -2
  496. package/dist/transfer/capsule-import.js +3 -3
  497. package/dist/transfer/export-okf.d.ts +1 -1
  498. package/dist/transfer/export-okf.js +17 -17
  499. package/dist/trust-score-stage.d.ts +1 -1
  500. package/dist/trust-score.d.ts +1 -1
  501. package/dist/{types-nJV23pa3.d.ts → types-cK5LydjL.d.ts} +5 -0
  502. package/dist/types.d.ts +1 -1
  503. package/dist/types.js +1 -1
  504. package/dist/utility-runtime.d.ts +1 -1
  505. package/dist/verified-recall.js +17 -17
  506. package/dist/who-knows-cli.d.ts +13 -13
  507. package/dist/who-knows-cli.js +18 -18
  508. package/dist/who-knows.d.ts +13 -13
  509. package/dist/who-knows.js +17 -17
  510. package/dist/write-envelope.d.ts +1 -1
  511. package/package.json +12 -2
  512. package/src/access-http.ts +1 -1
  513. package/src/access-mcp-shared-context-tools.ts +103 -0
  514. package/src/access-mcp.ts +4 -74
  515. package/src/access-operations-batch.ts +45 -2
  516. package/src/access-service.ts +14 -7
  517. package/src/activity/timeline/regenerate.test.ts +48 -0
  518. package/src/activity/timeline/regenerate.ts +7 -5
  519. package/src/cli/deep-recall-commands.ts +22 -10
  520. package/src/config.ts +5 -0
  521. package/src/dedup/merge.test.ts +283 -0
  522. package/src/deep-recall-boundary.test.ts +66 -0
  523. package/src/deep-recall-cli.test.ts +82 -0
  524. package/src/deep-recall-config.test.ts +56 -0
  525. package/src/deep-recall-config.ts +32 -0
  526. package/src/deep-recall-http-glue.ts +10 -10
  527. package/src/deep-recall-policy-llm.test.ts +242 -0
  528. package/src/deep-recall-policy-llm.ts +37 -7
  529. package/src/deep-recall-seeds.test.ts +53 -0
  530. package/src/deep-recall-seeds.ts +7 -1
  531. package/src/deep-recall-surface.test.ts +93 -0
  532. package/src/deep-recall.test.ts +121 -0
  533. package/src/deep-recall.ts +88 -28
  534. package/src/fallback-llm-codex-subscription.ts +27 -5
  535. package/src/fallback-llm.test.ts +120 -0
  536. package/src/fallback-llm.ts +17 -16
  537. package/src/meetings/config.test.ts +58 -0
  538. package/src/orchestration/extraction-persist.ts +1 -1
  539. package/src/orchestration/recall-entry.ts +15 -1
  540. package/src/orchestration/recall-internal.ts +1 -0
  541. package/src/orchestration/recall-section-coordinator.ts +65 -28
  542. package/src/orchestration/recall-state-view-pipeline.test.ts +8 -2
  543. package/src/orchestration/semantic-merge-commit-effects.ts +45 -16
  544. package/src/orchestration/semantic-merge-persist.ts +23 -36
  545. package/src/providers/codex-subscription.test.ts +127 -0
  546. package/src/providers/codex-subscription.ts +1 -1
  547. package/src/recall-state-view-budget.test.ts +424 -0
  548. package/src/recall-state-view.ts +30 -16
  549. package/src/shared-context/envelope-io.ts +25 -0
  550. package/src/shared-context/envelope-wiring.test.ts +4 -2
  551. package/src/shared-context/manager.ts +1 -0
  552. package/src/shared-context/write-output-controls.test.ts +192 -0
  553. package/src/shared-context/write-output-controls.ts +72 -0
  554. package/src/source-attribution.test.ts +39 -0
  555. package/src/source-attribution.ts +72 -0
  556. package/src/types.ts +5 -0
  557. package/dist/chunk-5LYSEZOF.js.map +0 -1
  558. package/dist/chunk-CARRTDKC.js.map +0 -1
  559. package/dist/chunk-CC37E3QM.js.map +0 -1
  560. package/dist/chunk-IS2IDFJP.js.map +0 -1
  561. package/dist/chunk-KTOXQMW3.js.map +0 -1
  562. package/dist/chunk-MDIEES23.js.map +0 -1
  563. package/dist/chunk-OEDW4ER7.js.map +0 -1
  564. package/dist/chunk-QE6YVNP5.js.map +0 -1
  565. package/dist/chunk-ROEFLU37.js.map +0 -1
  566. package/dist/chunk-SFHLQPBF.js.map +0 -1
  567. package/dist/chunk-SV4Z2S67.js.map +0 -1
  568. package/dist/chunk-THTF2W7M.js.map +0 -1
  569. package/dist/chunk-UZ6JYPJ6.js.map +0 -1
  570. package/dist/chunk-YTK5MVNF.js.map +0 -1
  571. package/dist/chunk-ZRMMXWYI.js.map +0 -1
  572. /package/dist/{capsule-crypto-7FJQINUR.js.map → access-mcp-shared-context-tools.js.map} +0 -0
  573. /package/dist/{auto-sync-D6BAPIJV.js.map → auto-sync-7PGUFY7U.js.map} +0 -0
  574. /package/dist/{contradiction-scan-BSGKZHYJ.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  575. /package/dist/{capsule-merge-IPG4IOFP.js.map → capsule-merge-3MNURAQ3.js.map} +0 -0
  576. /package/dist/{chunk-VHKXRYQN.js.map → chunk-2HQPE2NM.js.map} +0 -0
  577. /package/dist/{chunk-RDLPFM7I.js.map → chunk-2ZG2LLZT.js.map} +0 -0
  578. /package/dist/{chunk-IMBQFHRV.js.map → chunk-3BLHPQHT.js.map} +0 -0
  579. /package/dist/{chunk-6L2II3KS.js.map → chunk-3D75XIYO.js.map} +0 -0
  580. /package/dist/{chunk-J272ODKJ.js.map → chunk-42DJ235G.js.map} +0 -0
  581. /package/dist/{chunk-RJQAP333.js.map → chunk-46RII65S.js.map} +0 -0
  582. /package/dist/{chunk-JUDT33RX.js.map → chunk-4AX5OYKC.js.map} +0 -0
  583. /package/dist/{chunk-GSSDHAYH.js.map → chunk-4IGOLIWM.js.map} +0 -0
  584. /package/dist/{chunk-4CMXI55L.js.map → chunk-54QPOE45.js.map} +0 -0
  585. /package/dist/{chunk-LKFVVN7R.js.map → chunk-563X6JJX.js.map} +0 -0
  586. /package/dist/{chunk-VQWBUPSJ.js.map → chunk-5EQT62HH.js.map} +0 -0
  587. /package/dist/{chunk-BYQX4IOG.js.map → chunk-6MQMYXSQ.js.map} +0 -0
  588. /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
  589. /package/dist/{chunk-K75A5XWU.js.map → chunk-7ZLC4DTZ.js.map} +0 -0
  590. /package/dist/{chunk-7Z54NXVS.js.map → chunk-A4OIJYCV.js.map} +0 -0
  591. /package/dist/{chunk-QS5Q5RBV.js.map → chunk-AFJHNHAM.js.map} +0 -0
  592. /package/dist/{chunk-TZ44E732.js.map → chunk-AIVRD66I.js.map} +0 -0
  593. /package/dist/{chunk-IOPIGX7Y.js.map → chunk-AKABVXFS.js.map} +0 -0
  594. /package/dist/{chunk-KOTG3RXE.js.map → chunk-AUSRUOMQ.js.map} +0 -0
  595. /package/dist/{chunk-K4A6UVPB.js.map → chunk-BTPCP535.js.map} +0 -0
  596. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  597. /package/dist/{chunk-TEMKBSV6.js.map → chunk-C3G6MW4W.js.map} +0 -0
  598. /package/dist/{chunk-3QEVOQF5.js.map → chunk-D6PY63OM.js.map} +0 -0
  599. /package/dist/{chunk-DFVSJFHK.js.map → chunk-DBB5JPSL.js.map} +0 -0
  600. /package/dist/{chunk-HJUP3K6L.js.map → chunk-DIXZQTGY.js.map} +0 -0
  601. /package/dist/{chunk-ZX3AYNNV.js.map → chunk-DM5CU5J7.js.map} +0 -0
  602. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  603. /package/dist/{chunk-BGRTZOJB.js.map → chunk-E3I3NDUP.js.map} +0 -0
  604. /package/dist/{chunk-ZAEPD4C2.js.map → chunk-E4LMQTST.js.map} +0 -0
  605. /package/dist/{chunk-7D6SER6A.js.map → chunk-EMSYMYXO.js.map} +0 -0
  606. /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
  607. /package/dist/{chunk-V2ZA4YWE.js.map → chunk-F5H6YG5P.js.map} +0 -0
  608. /package/dist/{chunk-ZMWSYUUL.js.map → chunk-GCBIXUPT.js.map} +0 -0
  609. /package/dist/{chunk-LFVZD5EC.js.map → chunk-GWNSKQDA.js.map} +0 -0
  610. /package/dist/{chunk-JDX2OA4R.js.map → chunk-HNHIHXSD.js.map} +0 -0
  611. /package/dist/{chunk-2SNCQHJZ.js.map → chunk-I33QYUAF.js.map} +0 -0
  612. /package/dist/{chunk-MVG3KXON.js.map → chunk-ICN37XHG.js.map} +0 -0
  613. /package/dist/{chunk-ICNJ6J46.js.map → chunk-IYIPXAIJ.js.map} +0 -0
  614. /package/dist/{chunk-AEOOGXMQ.js.map → chunk-J2MGTGKC.js.map} +0 -0
  615. /package/dist/{chunk-5U7K4W6K.js.map → chunk-JDOBQPJY.js.map} +0 -0
  616. /package/dist/{chunk-NVVZPBKI.js.map → chunk-JMWUPUE6.js.map} +0 -0
  617. /package/dist/{chunk-QPVNK2VE.js.map → chunk-JSD7Q7LD.js.map} +0 -0
  618. /package/dist/{chunk-RLU2Y5GV.js.map → chunk-K5D2XVNN.js.map} +0 -0
  619. /package/dist/{chunk-YTZN2UZO.js.map → chunk-KJLLPG26.js.map} +0 -0
  620. /package/dist/{chunk-2SKMZUOW.js.map → chunk-KLUC2GSG.js.map} +0 -0
  621. /package/dist/{chunk-YRIFXXMI.js.map → chunk-KZJM7R4F.js.map} +0 -0
  622. /package/dist/{chunk-46Z3VGWF.js.map → chunk-LE2KZ72G.js.map} +0 -0
  623. /package/dist/{chunk-HIP6DKJJ.js.map → chunk-LQVXSRAJ.js.map} +0 -0
  624. /package/dist/{chunk-A7GQBJP5.js.map → chunk-LVFI5LG7.js.map} +0 -0
  625. /package/dist/{chunk-PKUJNICO.js.map → chunk-ND7MAIJC.js.map} +0 -0
  626. /package/dist/{chunk-W23JARAQ.js.map → chunk-P66QH6R6.js.map} +0 -0
  627. /package/dist/{chunk-62D2PAAM.js.map → chunk-PAAJWQH5.js.map} +0 -0
  628. /package/dist/{chunk-XM46Y66S.js.map → chunk-PFKIOYJH.js.map} +0 -0
  629. /package/dist/{chunk-C5R73BON.js.map → chunk-PGGPRF6J.js.map} +0 -0
  630. /package/dist/{chunk-V6EGNVUT.js.map → chunk-PIWFNPQT.js.map} +0 -0
  631. /package/dist/{chunk-JOP7W24J.js.map → chunk-PLJ2MQFT.js.map} +0 -0
  632. /package/dist/{chunk-MJC7UKH7.js.map → chunk-PQ42DJNG.js.map} +0 -0
  633. /package/dist/{chunk-37CAEC7E.js.map → chunk-PWPIERBM.js.map} +0 -0
  634. /package/dist/{chunk-BXIJSPCL.js.map → chunk-Q62GA5U2.js.map} +0 -0
  635. /package/dist/{chunk-VKWFNPBH.js.map → chunk-RQQO3ORQ.js.map} +0 -0
  636. /package/dist/{chunk-ES5BUPYB.js.map → chunk-UZGHKD3T.js.map} +0 -0
  637. /package/dist/{chunk-J4WGTN2N.js.map → chunk-V62YYBBY.js.map} +0 -0
  638. /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
  639. /package/dist/{chunk-Z4GUX2M6.js.map → chunk-VSN2DMQK.js.map} +0 -0
  640. /package/dist/{chunk-ZHXSOMYH.js.map → chunk-VVX5PZFS.js.map} +0 -0
  641. /package/dist/{chunk-KY236SP5.js.map → chunk-W7UV2ZCA.js.map} +0 -0
  642. /package/dist/{chunk-TO36VPZI.js.map → chunk-WBQ4ONQJ.js.map} +0 -0
  643. /package/dist/{chunk-WZYHPAG5.js.map → chunk-WFMQN7JE.js.map} +0 -0
  644. /package/dist/{chunk-G2XZFGYN.js.map → chunk-WGZHSQDV.js.map} +0 -0
  645. /package/dist/{chunk-SUEOG2S4.js.map → chunk-WPGA4RYI.js.map} +0 -0
  646. /package/dist/{chunk-J7FVMLBR.js.map → chunk-WZIO3TW6.js.map} +0 -0
  647. /package/dist/{chunk-ZZUVBZL2.js.map → chunk-X2QPKLPL.js.map} +0 -0
  648. /package/dist/{chunk-JAJIMTFB.js.map → chunk-XRS65T4O.js.map} +0 -0
  649. /package/dist/{chunk-GO5LOHCD.js.map → chunk-YFXAWGMR.js.map} +0 -0
  650. /package/dist/{chunk-K4JKAXMO.js.map → chunk-Z535ADTC.js.map} +0 -0
  651. /package/dist/{chunk-23HFXQ5J.js.map → chunk-Z7NBT6AK.js.map} +0 -0
  652. /package/dist/{chunk-VQYWKCDR.js.map → chunk-ZX6NNFSY.js.map} +0 -0
  653. /package/dist/{chunk-3XPN7AVY.js.map → chunk-ZYSOT6HD.js.map} +0 -0
  654. /package/dist/{chunk-ZZCR2QYL.js.map → chunk-ZZEIL3MI.js.map} +0 -0
  655. /package/dist/{resolution-4GG3QZRJ.js.map → contradiction-scan-GVD4JJ7B.js.map} +0 -0
  656. /package/dist/{first-start-migration-ZWMV5CX4.js.map → first-start-migration-L3UFX5CU.js.map} +0 -0
  657. /package/dist/{tier-stats-LUSUUNU6.js.map → tier-stats-VK5PCO2L.js.map} +0 -0
package/src/access-mcp.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { sharedContextMcpTools } from "./access-mcp-shared-context-tools.js";
1
2
  import { randomUUID } from "node:crypto";
2
3
  import {
3
4
  MCP_ADMIN_OPS_MIGRATED_OPERATIONS, MCP_ADMIN_OPS_TOOLS,
@@ -1301,80 +1302,9 @@ export class EngramMcpServer {
1301
1302
  additionalProperties: false,
1302
1303
  },
1303
1304
  },
1304
- // ── Shared Context / Compounding tools ────────────────────────────
1305
- {
1306
- name: "engram.shared_context_write_output",
1307
- description: "Write agent work product into shared-context directory for cross-agent coordination.",
1308
- inputSchema: {
1309
- type: "object",
1310
- properties: {
1311
- agentId: { type: "string", description: "Agent ID producing this output." },
1312
- title: { type: "string", description: "Short title for the output." },
1313
- content: { type: "string", description: "Markdown content to write." },
1314
- },
1315
- required: ["agentId", "title", "content"],
1316
- additionalProperties: false,
1317
- },
1318
- },
1319
- {
1320
- name: "engram.shared_feedback_record",
1321
- description: "Append approval/rejection decision into shared-context feedback inbox for compounding learning.",
1322
- inputSchema: {
1323
- type: "object",
1324
- properties: {
1325
- agent: { type: "string", description: "Agent name that produced the output." },
1326
- decision: { type: "string", enum: ["approved", "approved_with_feedback", "rejected"] },
1327
- reason: { type: "string" },
1328
- date: { type: "string", description: "ISO timestamp. Defaults to now." },
1329
- learning: { type: "string" },
1330
- outcome: { type: "string" },
1331
- severity: { type: "string", enum: ["low", "medium", "high"] },
1332
- confidence: { type: "number", description: "Confidence 0-1." },
1333
- workflow: { type: "string" },
1334
- tags: { type: "array", items: { type: "string" } },
1335
- evidenceWindowStart: { type: "string" },
1336
- evidenceWindowEnd: { type: "string" },
1337
- refs: { type: "array", items: { type: "string" } },
1338
- },
1339
- required: ["agent", "decision", "reason"],
1340
- additionalProperties: false,
1341
- },
1342
- },
1343
- {
1344
- name: "engram.shared_priorities_append",
1345
- description: "Append priorities text into shared-context inbox for curator merge.",
1346
- inputSchema: {
1347
- type: "object",
1348
- properties: {
1349
- agentId: { type: "string" },
1350
- text: { type: "string", description: "Priority notes (markdown)." },
1351
- },
1352
- required: ["agentId", "text"],
1353
- additionalProperties: false,
1354
- },
1355
- },
1356
- {
1357
- name: "engram.shared_context_cross_signals_run",
1358
- description: "Generate cross-signal markdown + JSON artifacts from agent outputs and feedback.",
1359
- inputSchema: {
1360
- type: "object",
1361
- properties: {
1362
- date: { type: "string", description: "YYYY-MM-DD. Defaults to today." },
1363
- },
1364
- additionalProperties: false,
1365
- },
1366
- },
1367
- {
1368
- name: "engram.shared_context_curate_daily",
1369
- description: "Generate daily roundtable summary (deterministic baseline aggregation).",
1370
- inputSchema: {
1371
- type: "object",
1372
- properties: {
1373
- date: { type: "string", description: "YYYY-MM-DD. Defaults to today." },
1374
- },
1375
- additionalProperties: false,
1376
- },
1377
- },
1305
+ // ── Shared Context tools (extracted; access-mcp.ts is at its ratchet
1306
+ // ceiling — issue #2920) ─────────────────────────────────────────
1307
+ ...sharedContextMcpTools,
1378
1308
  {
1379
1309
  name: "engram.compounding_weekly_synthesize",
1380
1310
  description:
@@ -33,7 +33,12 @@ import {
33
33
  } from "./access-namespace-preflight.js";
34
34
  import { expandTildePath } from "./utils/path.js";
35
35
  import { resolvePrincipal } from "./namespaces/principal.js";
36
+ import {
37
+ parseSharedWriteOutputControls,
38
+ type SharedWriteOutputControls,
39
+ } from "./shared-context/write-output-controls.js";
36
40
  import { getRecallTimingStatus, isRecallTimingsOperator } from "./recall-timings.js";
41
+ import { parseDeepRecallMaxSteps } from "./deep-recall-config.js";
37
42
  import { validateBriefingFormat } from "./briefing.js";
38
43
  import {
39
44
  buildChatGptMemoryInspectorActionRequest,
@@ -195,7 +200,19 @@ defineOperation({ name: "meetings_list", description: "List stored meeting recor
195
200
  defineOperation({ name: "meetings_get", description: "Get a stored meeting record by id.", schema: strictSchema({ id: S.str, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.meetingsGet(reqStr(input.id, "id"), { authenticatedPrincipal: ctx.authenticatedPrincipal, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey) }) }) });
196
201
  defineOperation({ name: "meetings_build", description: "Detect + fuse + store a day's meetings.", schema: strictSchema({ date: S.str, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.meetingsBuild(reqStr(input.date, "date"), { authenticatedPrincipal: ctx.authenticatedPrincipal, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey) }) }) });
197
202
  // === DEEP RECALL (issue #2332) — budgeted REFINE/EXPAND/STOP retrieval ===
198
- defineOperation({ name: "deep_recall", description: "Budgeted multi-hop deep recall over the anchor graph.", schema: strictSchema({ query: S.str, maxSteps: S.flexNum, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => { const q = defStr(input.query, ""); if (q.trim().length === 0) throw new EngramAccessInputError("deep_recall: query is required"); return { result: await ctx.service.deepRecall({ query: q, maxSteps: typeof input.maxSteps === "number" ? input.maxSteps : typeof input.maxSteps === "string" && Number.isFinite(Number(input.maxSteps)) ? Number(input.maxSteps) : undefined, authenticatedPrincipal: ctx.authenticatedPrincipal, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey) }) }; } });
203
+ defineOperation({ name: "deep_recall", description: "Budgeted multi-hop deep recall over the anchor graph.", schema: strictSchema({ query: S.str, maxSteps: S.flexNum, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => {
204
+ const q = defStr(input.query, "");
205
+ if (q.trim().length === 0) throw new EngramAccessInputError("deep_recall: query is required");
206
+ // Strict boundary parse (issue #2915): `"abc"` must NOT silently become the
207
+ // configured default and `""` must NOT become 0 — both are rejected.
208
+ let maxSteps: number | undefined;
209
+ try {
210
+ maxSteps = parseDeepRecallMaxSteps(input.maxSteps);
211
+ } catch (err) {
212
+ throw new EngramAccessInputError(`deep_recall: ${err instanceof Error ? err.message : String(err)}`);
213
+ }
214
+ return { result: await ctx.service.deepRecall({ query: q, maxSteps, authenticatedPrincipal: ctx.authenticatedPrincipal, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey), ...(ctx.abortSignal ? { abortSignal: ctx.abortSignal } : {}) }) };
215
+ } });
199
216
 
200
217
  // === ACTION CONFIDENCE + INSPECTOR + CAPSULE ===
201
218
  defineOperation({ name: "action_confidence", description: "Action confidence.", schema: strictSchema({ intendedAction: S.str, confidence: S.num, risk: S.str, contextReadiness: S.str, currentContextScopes: S.strArr, userRules: z.array(z.unknown()).optional(), retrievedMemories: z.array(z.unknown()).optional() }), handler: async (input, ctx) => { const req: Record<string, unknown> = {}; if (input.intendedAction !== undefined) req.intendedAction = optStr(input.intendedAction); if (input.confidence !== undefined) req.confidence = optNum(input.confidence); if (input.risk !== undefined) req.risk = optStr(input.risk) as "low" | "medium" | "high" | "irreversible" | "restricted" | undefined; if (input.contextReadiness !== undefined) req.contextReadiness = optStr(input.contextReadiness) as "none" | "partial" | "sufficient" | undefined; if (input.currentContextScopes !== undefined) req.currentContextScopes = optStrArr(input.currentContextScopes); if (input.userRules !== undefined) req.userRules = input.userRules; if (input.retrievedMemories !== undefined) req.retrievedMemories = input.retrievedMemories; return { result: await ctx.service.actionConfidence(req) }; } });
@@ -306,7 +323,33 @@ defineOperation({ name: "memory_identity", description: "Memory identity.", sche
306
323
  defineOperation({ name: "work_task", description: "Manage work task.", schema: strictSchema({ action: S.str, id: S.str, title: S.str, description: S.str, status: S.str, priority: S.str, owner: S.str, assignee: S.str, projectId: S.str, tags: S.strArr, dueAt: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.workTask({ action: (optStr(input.action) as "update" | "list" | "get" | "create" | "delete" | "transition") ?? "list", id: optStr(input.id), title: optStr(input.title), description: optStr(input.description), status: optStr(input.status), priority: optStr(input.priority), owner: optStr(input.owner), assignee: optStr(input.assignee), projectId: optStr(input.projectId), tags: optStrArr(input.tags), dueAt: optStr(input.dueAt) }) }) });
307
324
  defineOperation({ name: "work_project", description: "Manage work project.", schema: strictSchema({ action: S.str, id: S.str, name: S.str, description: S.str, status: S.str, owner: S.str, tags: S.strArr, taskId: S.str, projectId: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.workProject({ action: (optStr(input.action) as "update" | "list" | "get" | "create" | "delete" | "link_task") ?? "list", id: optStr(input.id), name: optStr(input.name), description: optStr(input.description), status: optStr(input.status), owner: optStr(input.owner), tags: optStrArr(input.tags), taskId: optStr(input.taskId), projectId: optStr(input.projectId) }) }) });
308
325
  defineOperation({ name: "work_board", description: "Manage work board.", schema: strictSchema({ action: S.str, projectId: S.str, snapshotJson: S.str, linkToMemory: S.bool }), handler: async (input, ctx) => ({ result: await ctx.service.workBoard({ action: (optStr(input.action) as "export_markdown" | "export_snapshot" | "import_snapshot") ?? "export_markdown", projectId: optStr(input.projectId) ?? "", snapshotJson: optStr(input.snapshotJson) ?? "", linkToMemory: input.linkToMemory === true }) }) });
309
- defineOperation({ name: "shared_context_write_output", description: "Write shared output.", schema: strictSchema({ agentId: S.str, title: S.str, content: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.sharedContextWriteOutput({ agentId: optStr(input.agentId) ?? "", title: optStr(input.title) ?? "", content: optStr(input.content) ?? "", principal: ctx.authenticatedPrincipal }) }) });
326
+ // Issue #2920: the envelope controls (authority/expiresAt/supersedes) are
327
+ // parsed by the ONE canonical surface module shared with the OpenClaw tool
328
+ // (write-output-controls.ts); semantics stay in composeWriteEnvelope. A
329
+ // client-supplied principal/namespace is rejected here — identity and
330
+ // scoping are server-resolved (ctx.authenticatedPrincipal).
331
+ defineOperation({
332
+ name: "shared_context_write_output",
333
+ description: "Write shared output.",
334
+ schema: strictSchema({ agentId: S.str, title: S.str, content: S.str, authority: S.str, expiresAt: S.str, supersedes: S.str }),
335
+ handler: async (input, ctx) => {
336
+ let controls: SharedWriteOutputControls;
337
+ try {
338
+ controls = parseSharedWriteOutputControls(input);
339
+ } catch (error) {
340
+ throw new EngramAccessInputError(error instanceof Error ? error.message : String(error));
341
+ }
342
+ return {
343
+ result: await ctx.service.sharedContextWriteOutput({
344
+ agentId: optStr(input.agentId) ?? "",
345
+ title: optStr(input.title) ?? "",
346
+ content: optStr(input.content) ?? "",
347
+ ...controls,
348
+ principal: ctx.authenticatedPrincipal,
349
+ }),
350
+ };
351
+ },
352
+ });
310
353
  defineOperation({ name: "shared_feedback_record", description: "Record shared feedback.", schema: strictSchema({ agent: S.str, decision: S.str, reason: S.str, date: S.str, learning: S.str, outcome: S.str, severity: S.str, confidence: S.num, workflow: S.str, tags: S.strArr, evidenceWindowStart: S.str, evidenceWindowEnd: S.str, refs: S.strArr }), handler: async (input, ctx) => { const sv = optStr(input.severity); return { result: await ctx.service.sharedFeedbackRecord({ agent: optStr(input.agent) ?? "", decision: (optStr(input.decision) as "rejected" | "approved" | "approved_with_feedback") ?? "approved", reason: optStr(input.reason) ?? "", date: optStr(input.date), learning: optStr(input.learning), outcome: optStr(input.outcome), severity: sv === "low" || sv === "medium" || sv === "high" ? sv as "low" | "medium" | "high" : undefined, confidence: optNum(input.confidence), workflow: optStr(input.workflow), tags: optStrArr(input.tags), evidenceWindowStart: optStr(input.evidenceWindowStart), evidenceWindowEnd: optStr(input.evidenceWindowEnd), refs: optStrArr(input.refs) }) }; } });
311
354
  defineOperation({ name: "shared_priorities_append", description: "Append priorities.", schema: strictSchema({ agentId: S.str, text: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.sharedPrioritiesAppend({ agentId: optStr(input.agentId) ?? "", text: optStr(input.text) ?? "" }) }) });
312
355
  defineOperation({ name: "shared_context_cross_signals_run", description: "Run cross signals.", fleetWide: true, schema: strictSchema({ date: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.sharedContextCrossSignalsRun({ date: optStr(input.date) }) }) });
@@ -35,6 +35,7 @@ import { ReplicaDivergenceMonitor } from "./replica-divergence.js";
35
35
  import type { ResolveSecretRefFn } from "./resolve-auth-token.js";
36
36
  import { buildAccessWriteRequestFingerprint, buildObserveRequestFingerprint } from "./write-envelope.js";
37
37
  import { UNATTRIBUTED_ACCESS_WRITE_ORIGIN } from "./shared-context/envelope-io.js";
38
+ import { isSharedContextWriteInputError } from "./shared-context/write-output-controls.js";
38
39
  export type { EngramAccessHealthResponse, EngramAccessQmdCollectionState, EngramAccessQmdHealthResponse };
39
40
  import { AccessAuditAdapter, type AccessAuditConfig, type AccessAuditResult } from "./access-audit.js";
40
41
  import {
@@ -2726,6 +2727,8 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
2726
2727
  sessionKey?: string;
2727
2728
  authenticatedPrincipal?: string;
2728
2729
  maxSteps?: number;
2730
+ /** Transport cancellation (issue #2915): MCP tools/call cancelled, HTTP disconnect. */
2731
+ abortSignal?: AbortSignal;
2729
2732
  }): Promise<DeepRecallResult & { rendered: string }> {
2730
2733
  const cfg = this.orchestrator.config.deepRecall;
2731
2734
  if (!cfg.enabled) {
@@ -2787,14 +2790,18 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
2787
2790
  // (which also decodes the raw collection-qualified path forms the
2788
2791
  // namespaces-disabled fanout returns), so no invocation pre-scans the
2789
2792
  // namespace corpus.
2793
+ // The transport cancellation signal reaches the seed router, the graph
2794
+ // read, and the policy legs (issue #2915).
2790
2795
  const result = await runBudgetedDeepRecall(
2791
2796
  {
2792
2797
  config: effective,
2798
+ ...(request.abortSignal ? { signal: request.abortSignal } : {}),
2793
2799
  searchSeed: createDeepRecallSeedSearch({
2794
2800
  namespace: resolvedNamespace,
2795
2801
  storage,
2796
2802
  router: this.orchestrator,
2797
2803
  resolver: this.orchestrator.qmdResultResolver,
2804
+ ...(request.abortSignal ? { signal: request.abortSignal } : {}),
2798
2805
  }),
2799
2806
  // Nodes and anchors are projected against the namespace's CURRENT
2800
2807
  // active memories through the SAME helper searchHarmonicRetrieval
@@ -2807,6 +2814,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
2807
2814
  memoryDir: storage.dir,
2808
2815
  abstractionNodeStoreDir: graphStoreDir,
2809
2816
  anchorsEnabled: true,
2817
+ ...(request.abortSignal ? { abortSignal: request.abortSignal } : {}),
2810
2818
  }),
2811
2819
  loadMemory: async (memoryId) => {
2812
2820
  const memory = await storage.getMemoryById(memoryId);
@@ -2829,6 +2837,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
2829
2837
  localLlm: this.orchestrator.localLlm ?? null,
2830
2838
  fallbackLlm: this.orchestrator.fastGatewayLlm ?? null,
2831
2839
  timeoutMs,
2840
+ ...(request.abortSignal ? { signal: request.abortSignal } : {}),
2832
2841
  }),
2833
2842
  },
2834
2843
  query
@@ -4595,6 +4604,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
4595
4604
  agentId: string;
4596
4605
  title: string;
4597
4606
  content: string;
4607
+ authority?: string; expiresAt?: string; supersedes?: string;
4598
4608
  /** Authenticated principal resolved by the surface, never client-supplied. */
4599
4609
  principal?: string;
4600
4610
  }): Promise<unknown> {
@@ -4607,19 +4617,16 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
4607
4617
  agentId: request.agentId,
4608
4618
  title: request.title,
4609
4619
  content: request.content,
4610
- // The origin is server-owned in BOTH cases (issue #1957 review
4611
- // round 4): the authenticated principal when one resolved, and a
4612
- // reserved unattributed token otherwise — a principal-less
4613
- // authenticated request must never stamp the client's `agentId`
4614
- // as audit metadata. The client label survives only as the
4615
- // producer, which feeds grouping and display, never authority.
4620
+ authority: request.authority,
4621
+ expiresAt: request.expiresAt,
4622
+ supersedes: request.supersedes,
4616
4623
  ...(request.principal
4617
4624
  ? { authenticatedIdentity: request.principal }
4618
4625
  : { unattributedOrigin: UNATTRIBUTED_ACCESS_WRITE_ORIGIN }),
4619
4626
  });
4620
4627
  } catch (error) {
4621
4628
  const message = error instanceof Error ? error.message : String(error);
4622
- if (message.startsWith("shared-context write origin mismatch")) {
4629
+ if (isSharedContextWriteInputError(message)) {
4623
4630
  throw new EngramAccessInputError(message);
4624
4631
  }
4625
4632
  throw error;
@@ -386,6 +386,54 @@ test("resolveTimelineLoadDates keeps a bounded window and expands an unbounded o
386
386
  assert.deepEqual(empty, ["2026-08-23"]);
387
387
  });
388
388
 
389
+ test("resolveTimelineLoadDates loads the local day of a lone bound, never today (#2931)", () => {
390
+ const store = { snapshotCaptureExtent: () => null };
391
+ const base = { timezone: "UTC" as const, today: "2026-08-23", store, persistedDates: [] as string[] };
392
+
393
+ const loneTo = resolveTimelineLoadDates({
394
+ ...base,
395
+ window: { to: "2026-05-02T12:00:00.000Z" },
396
+ });
397
+ assert.deepEqual(loneTo, ["2026-05-02"], "a lone --to must load the day of the to instant, not today");
398
+
399
+ const loneFrom = resolveTimelineLoadDates({
400
+ ...base,
401
+ window: { from: "2026-05-02T12:00:00.000Z" },
402
+ });
403
+ assert.deepEqual(loneFrom, ["2026-05-02"], "a lone --from keeps loading its own day");
404
+
405
+ const futureTo = resolveTimelineLoadDates({
406
+ ...base,
407
+ window: { to: "2026-09-01T12:00:00.000Z" },
408
+ });
409
+ assert.deepEqual(futureTo, ["2026-09-01"], "a lone future --to loads that future day, not today");
410
+ });
411
+
412
+ test("resolveTimelineLoadDates resolves a lone --to day through the configured timezone (#2931)", () => {
413
+ const store = { snapshotCaptureExtent: () => null };
414
+ // 2026-08-20T23:30Z is 2026-08-21 13:30 in Kiritimati (UTC+14) but still
415
+ // 2026-08-20 in Adak (UTC-10): the same instant must load different local
416
+ // days under the two configured zones, proving the configured timezone —
417
+ // not UTC and not today — drives the resolution.
418
+ const east = resolveTimelineLoadDates({
419
+ window: { to: "2026-08-20T23:30:00.000Z" },
420
+ timezone: "Pacific/Kiritimati",
421
+ today: "2026-08-23",
422
+ store,
423
+ persistedDates: [],
424
+ });
425
+ assert.deepEqual(east, ["2026-08-21"]);
426
+
427
+ const west = resolveTimelineLoadDates({
428
+ window: { to: "2026-08-20T23:30:00.000Z" },
429
+ timezone: "America/Adak",
430
+ today: "2026-08-23",
431
+ store,
432
+ persistedDates: [],
433
+ });
434
+ assert.deepEqual(west, ["2026-08-20"]);
435
+ });
436
+
389
437
  test("localDatesForUtcRange covers a multi-year span for unbounded search", () => {
390
438
  const dates = localDatesForUtcRange(
391
439
  Date.parse("2020-01-01T00:00:00.000Z"),
@@ -143,9 +143,10 @@ export function listPersistedTimelineDates(memoryDir: string): string[] {
143
143
 
144
144
  /**
145
145
  * Local days a CLI window must load. Bounded windows keep the explicit
146
- * from/to span. An unbounded search loads every day the snapshot store or a
147
- * persisted day file covers (plus today), so historical cards enter the
148
- * search pool instead of only the current day.
146
+ * from/to span; a window with a single bound loads the local day containing
147
+ * that instant (never today). An unbounded search loads every day the
148
+ * snapshot store or a persisted day file covers (plus today), so historical
149
+ * cards enter the search pool instead of only the current day.
149
150
  */
150
151
  export function resolveTimelineLoadDates(input: {
151
152
  window: { from?: string; to?: string };
@@ -156,8 +157,9 @@ export function resolveTimelineLoadDates(input: {
156
157
  }): string[] {
157
158
  const { window, timezone, today, store, persistedDates } = input;
158
159
  if (window.from !== undefined || window.to !== undefined) {
159
- const fromMs = window.from === undefined ? Date.now() : Date.parse(window.from);
160
- const toMs = window.to === undefined ? fromMs + 1 : Date.parse(window.to);
160
+ const parsedTo = window.to === undefined ? Number.NaN : Date.parse(window.to);
161
+ const fromMs = window.from === undefined ? parsedTo : Date.parse(window.from);
162
+ const toMs = window.to === undefined ? fromMs + 1 : parsedTo;
161
163
  if (!Number.isFinite(fromMs) || !Number.isFinite(toMs)) return [];
162
164
  return localDatesForUtcRange(fromMs, toMs > fromMs ? toMs : fromMs + 1, timezone);
163
165
  }
@@ -4,20 +4,20 @@
4
4
  * meetings-commands.ts). `engram deep-recall <query>` runs the budgeted
5
5
  * REFINE/EXPAND/STOP loop through EngramAccessService — the same single
6
6
  * implementation MCP and HTTP call.
7
+ *
8
+ * Identity (issue #2915): with namespaces enabled the read path requires an
9
+ * authenticated principal, and this standalone CLI runs without a transport
10
+ * to authenticate one. It therefore exposes the SAME identity pattern the
11
+ * access CLI already uses — `--principal` (the authenticated identity) or
12
+ * `--session-key` (resolved through the configured principal mapping) — so a
13
+ * namespace-enabled deployment is usable from the CLI instead of refusing
14
+ * every invocation as unauthenticated.
7
15
  */
8
16
 
9
17
  import type { Orchestrator } from "../orchestrator.js";
10
18
  import type { CliCommand } from "../cli.js";
11
19
  import { EngramAccessService } from "../access-service.js";
12
-
13
- function parseMaxSteps(raw: unknown): number | undefined {
14
- if (raw === undefined || raw === null) return undefined;
15
- const value = typeof raw === "string" ? Number(raw) : raw;
16
- if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
17
- throw new Error(`--max-steps must be a non-negative integer; got ${JSON.stringify(raw)}`);
18
- }
19
- return value;
20
- }
20
+ import { parseDeepRecallMaxSteps } from "../deep-recall-config.js";
21
21
 
22
22
  export function registerDeepRecallCommands(cmd: CliCommand, orchestrator: Orchestrator): void {
23
23
  cmd
@@ -25,18 +25,28 @@ export function registerDeepRecallCommands(cmd: CliCommand, orchestrator: Orches
25
25
  .description("Budgeted multi-hop retrieval over the anchor graph (slow, thorough; issue #2332)")
26
26
  .option("--max-steps <n>", "Policy-step ceiling (cannot exceed the configured deepRecall.maxSteps)")
27
27
  .option("--namespace <ns>", "Namespace to scope the retrieval to")
28
+ .option("--session-key <key>", "Session key for principal/namespace resolution (namespaces enabled)")
29
+ .option("--principal <principal>", "Authenticated principal for namespace authorization (namespaces enabled)")
28
30
  .option("--json", "JSON output (full entries + trace)")
29
31
  .action(async (...args: unknown[]) => {
30
32
  const query = String(args[0] ?? "");
31
33
  const options = (args[args.length - 1] ?? {}) as Record<string, unknown>;
32
34
  let maxSteps: number | undefined;
33
35
  try {
34
- maxSteps = parseMaxSteps(options.maxSteps);
36
+ maxSteps = parseDeepRecallMaxSteps(options.maxSteps);
35
37
  } catch (err) {
36
38
  console.error(err instanceof Error ? err.message : String(err));
37
39
  process.exitCode = 1;
38
40
  return;
39
41
  }
42
+ const sessionKey =
43
+ typeof options.sessionKey === "string" && options.sessionKey.trim().length > 0
44
+ ? options.sessionKey.trim()
45
+ : undefined;
46
+ const principal =
47
+ typeof options.principal === "string" && options.principal.trim().length > 0
48
+ ? options.principal.trim()
49
+ : undefined;
40
50
  const service = new EngramAccessService(orchestrator);
41
51
  try {
42
52
  const result = await service.deepRecall({
@@ -45,6 +55,8 @@ export function registerDeepRecallCommands(cmd: CliCommand, orchestrator: Orches
45
55
  ...(typeof options.namespace === "string" && options.namespace.length > 0
46
56
  ? { namespace: options.namespace }
47
57
  : {}),
58
+ ...(sessionKey !== undefined ? { sessionKey } : {}),
59
+ ...(principal !== undefined ? { authenticatedPrincipal: principal } : {}),
48
60
  });
49
61
  if (options.json === true) {
50
62
  console.log(JSON.stringify(result, null, 2));
package/src/config.ts CHANGED
@@ -2796,6 +2796,11 @@ export function parseConfig(
2796
2796
  cfg.inlineSourceAttributionFormat.trim().length > 0
2797
2797
  ? cfg.inlineSourceAttributionFormat
2798
2798
  : "[Source: agent={agent}, session={sessionId}, ts={ts}]",
2799
+ inlineSourceAttributionFormatHistory: Array.isArray(cfg.inlineSourceAttributionFormatHistory)
2800
+ ? (cfg.inlineSourceAttributionFormatHistory as unknown[])
2801
+ .filter((value): value is string => typeof value === "string" && value.trim().length > 0)
2802
+ .map((value) => value.trim())
2803
+ : [],
2799
2804
  consolidationRequireNonZeroExtraction: cfg.consolidationRequireNonZeroExtraction !== false,
2800
2805
  // Issue #678 PR 2/4: dreams.phases.rem.minIntervalMs WINS when set.
2801
2806
  consolidationMinIntervalMs: dreamsRem.minIntervalMs,