@remnic/core 9.69.41 → 9.69.43

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 (611) hide show
  1. package/dist/access-admin-ops-surface.d.ts +16 -13
  2. package/dist/access-admin-ops-surface.js +48 -40
  3. package/dist/access-authorization-probe.d.ts +16 -13
  4. package/dist/access-authorization-probe.js +49 -41
  5. package/dist/access-boundary.d.ts +16 -13
  6. package/dist/access-boundary.js +48 -40
  7. package/dist/access-cli.js +115 -105
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-coding-context-resolution.d.ts +2 -1
  10. package/dist/access-extraction-force-flush.d.ts +16 -13
  11. package/dist/access-extraction-force-flush.js +48 -40
  12. package/dist/access-health-types.d.ts +2 -1
  13. package/dist/access-http-briefing.d.ts +16 -13
  14. package/dist/access-http-briefing.js +49 -41
  15. package/dist/access-http-lcm-compaction.d.ts +16 -13
  16. package/dist/access-http-lifecycle-flush.d.ts +16 -13
  17. package/dist/access-http-offline-stream.d.ts +16 -13
  18. package/dist/access-http-query.d.ts +3 -2
  19. package/dist/access-http-query.js +50 -42
  20. package/dist/access-http.d.ts +17 -14
  21. package/dist/access-http.js +70 -60
  22. package/dist/access-identity-continuity-surface.d.ts +12 -11
  23. package/dist/access-identity-continuity-surface.js +48 -40
  24. package/dist/access-lcm-surface.d.ts +16 -13
  25. package/dist/access-lcm-surface.js +48 -40
  26. package/dist/access-mcp-output-schemas.js +1 -1
  27. package/dist/access-mcp-shared-context-tools.d.ts +16 -13
  28. package/dist/access-mcp.d.ts +16 -13
  29. package/dist/access-mcp.js +60 -51
  30. package/dist/access-memory-search-fanout.d.ts +3 -2
  31. package/dist/{access-namespace-preflight-DWsMc9Dh.d.ts → access-namespace-preflight-CE-RrXKu.d.ts} +1 -1
  32. package/dist/access-namespace-preflight.d.ts +4 -3
  33. package/dist/access-namespace-preflight.js +48 -40
  34. package/dist/access-observe-transcript.d.ts +12 -11
  35. package/dist/access-observe-write-category.d.ts +18 -1
  36. package/dist/access-observe-write-category.js +21 -4
  37. package/dist/access-observe-write-surface.d.ts +16 -13
  38. package/dist/access-observe-write-surface.js +48 -40
  39. package/dist/access-offline-manifest.d.ts +12 -11
  40. package/dist/access-offline-manifest.js +6 -6
  41. package/dist/access-operations-batch.js +50 -43
  42. package/dist/access-operations.d.ts +17 -14
  43. package/dist/access-operations.js +56 -48
  44. package/dist/access-recall-concurrency.d.ts +16 -13
  45. package/dist/access-recall-concurrency.js +48 -40
  46. package/dist/access-recall-response.d.ts +16 -13
  47. package/dist/access-recall-response.js +48 -40
  48. package/dist/access-recall-surface.d.ts +16 -13
  49. package/dist/access-recall-surface.js +48 -40
  50. package/dist/access-schema.d.ts +5 -1
  51. package/dist/access-schema.js +3 -3
  52. package/dist/{access-service-Cisy5YDq.d.ts → access-service-DxTTTg9O.d.ts} +15 -11
  53. package/dist/access-service-helpers.d.ts +16 -13
  54. package/dist/access-service.d.ts +16 -13
  55. package/dist/access-service.js +48 -40
  56. package/dist/access-surface-catalog.d.ts +16 -13
  57. package/dist/access-surface-catalog.js +54 -42
  58. package/dist/access-surface-catalog.js.map +1 -1
  59. package/dist/access-wearables-meetings-surface.d.ts +5 -4
  60. package/dist/action-confidence.d.ts +2 -1
  61. package/dist/active-memory-bridge.d.ts +2 -1
  62. package/dist/active-recall.d.ts +2 -1
  63. package/dist/active-recall.js +9 -7
  64. package/dist/active-recall.js.map +1 -1
  65. package/dist/activity/digest.d.ts +2 -1
  66. package/dist/ambient-provenance.d.ts +2 -1
  67. package/dist/artifact-search.d.ts +2 -1
  68. package/dist/{auto-sync-7PGUFY7U.js → auto-sync-QZD4RD6H.js} +9 -5
  69. package/dist/{auto-sync-7PGUFY7U.js.map → auto-sync-QZD4RD6H.js.map} +1 -1
  70. package/dist/background-generation.d.ts +2 -1
  71. package/dist/behavior-learner.d.ts +2 -1
  72. package/dist/behavior-signals.d.ts +2 -1
  73. package/dist/bootstrap.d.ts +12 -11
  74. package/dist/briefing-window.d.ts +3 -2
  75. package/dist/briefing.d.ts +3 -2
  76. package/dist/briefing.js +13 -13
  77. package/dist/buffer-surprise-report.d.ts +2 -1
  78. package/dist/buffer-turn-helpers.d.ts +2 -1
  79. package/dist/buffer.d.ts +3 -2
  80. package/dist/buffer.js +7 -7
  81. package/dist/bulk-import/index.d.ts +4 -3
  82. package/dist/calibration.d.ts +2 -1
  83. package/dist/capabilities.d.ts +2 -1
  84. package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
  85. package/dist/{catalog-wcX1QhtQ.d.ts → catalog-Ya3DDn_T.d.ts} +1 -1
  86. package/dist/causal-behavior.d.ts +2 -1
  87. package/dist/causal-consolidation.d.ts +2 -1
  88. package/dist/causal-consolidation.js +14 -14
  89. package/dist/causal-trajectory-graph.d.ts +2 -1
  90. package/dist/{chunk-QVSRE355.js → chunk-2AV75BJW.js} +29 -1
  91. package/dist/chunk-2AV75BJW.js.map +1 -0
  92. package/dist/{chunk-563X6JJX.js → chunk-2HDLDBJW.js} +2 -2
  93. package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
  94. package/dist/{chunk-WBQ4ONQJ.js → chunk-2PIC6CEN.js} +2 -2
  95. package/dist/chunk-2WFOVXVJ.js +95 -0
  96. package/dist/chunk-2WFOVXVJ.js.map +1 -0
  97. package/dist/{chunk-54QPOE45.js → chunk-2YIUUXNK.js} +2 -2
  98. package/dist/{chunk-XRS65T4O.js → chunk-324HBGS4.js} +6 -6
  99. package/dist/chunk-324HBGS4.js.map +1 -0
  100. package/dist/{chunk-AKABVXFS.js → chunk-3254BYQV.js} +1 -1
  101. package/dist/{chunk-XCPNH2MG.js → chunk-3KJTSCSX.js} +5 -5
  102. package/dist/{chunk-I33QYUAF.js → chunk-3YQ7VLP3.js} +2 -2
  103. package/dist/{chunk-JMWUPUE6.js → chunk-46FVFU7S.js} +2 -2
  104. package/dist/{chunk-PFKIOYJH.js → chunk-4WMGRLTV.js} +7 -7
  105. package/dist/{chunk-KLUC2GSG.js → chunk-5AJZ7EUW.js} +5 -5
  106. package/dist/chunk-5KVT6G5U.js +31 -0
  107. package/dist/chunk-5KVT6G5U.js.map +1 -0
  108. package/dist/{chunk-WN2OXGGH.js → chunk-66YUOI53.js} +1 -1
  109. package/dist/chunk-66YUOI53.js.map +1 -0
  110. package/dist/{chunk-Z7NBT6AK.js → chunk-6EGIQEKC.js} +2 -2
  111. package/dist/{chunk-6MQMYXSQ.js → chunk-7F47R4H4.js} +2 -2
  112. package/dist/{chunk-YFXAWGMR.js → chunk-7L54ARML.js} +2 -2
  113. package/dist/{chunk-2EYZ32LH.js → chunk-7RGX7BMF.js} +24 -2
  114. package/dist/{chunk-2EYZ32LH.js.map → chunk-7RGX7BMF.js.map} +1 -1
  115. package/dist/{chunk-LVFI5LG7.js → chunk-A7GQBJP5.js} +7 -7
  116. package/dist/{chunk-EMSYMYXO.js → chunk-AKB44K3D.js} +8 -8
  117. package/dist/chunk-AS2NOPDM.js +30 -0
  118. package/dist/chunk-AS2NOPDM.js.map +1 -0
  119. package/dist/{chunk-3BLHPQHT.js → chunk-BPXJINHW.js} +5 -5
  120. package/dist/{chunk-D6PY63OM.js → chunk-BZDK5EOD.js} +2 -2
  121. package/dist/{chunk-2J3V5QEO.js → chunk-C3QXITIP.js} +4 -4
  122. package/dist/{chunk-PLJ2MQFT.js → chunk-C3YEB7CR.js} +7 -7
  123. package/dist/{chunk-DM5CU5J7.js → chunk-CRK6F6N3.js} +3 -2
  124. package/dist/chunk-CRK6F6N3.js.map +1 -0
  125. package/dist/{chunk-2ZG2LLZT.js → chunk-D7UUB33A.js} +2 -2
  126. package/dist/{chunk-E3I3NDUP.js → chunk-DABSYX7V.js} +7 -7
  127. package/dist/{chunk-KJLLPG26.js → chunk-DDGQDNQW.js} +2 -2
  128. package/dist/{chunk-K5D2XVNN.js → chunk-F2FJTOV6.js} +2 -2
  129. package/dist/{chunk-EAARGPWI.js → chunk-F3TURDFG.js} +3 -1
  130. package/dist/chunk-F3TURDFG.js.map +1 -0
  131. package/dist/{chunk-7ZLC4DTZ.js → chunk-F6PTJLEM.js} +1 -1
  132. package/dist/chunk-F6PTJLEM.js.map +1 -0
  133. package/dist/{chunk-P66QH6R6.js → chunk-GKKLI23D.js} +2 -2
  134. package/dist/{chunk-ICN37XHG.js → chunk-GMU7MAHS.js} +19 -19
  135. package/dist/{chunk-RQQO3ORQ.js → chunk-GR76OKET.js} +13 -4
  136. package/dist/{chunk-RQQO3ORQ.js.map → chunk-GR76OKET.js.map} +1 -1
  137. package/dist/{chunk-PQ42DJNG.js → chunk-H2N6SLTR.js} +2 -2
  138. package/dist/{chunk-ND7MAIJC.js → chunk-HKQAI6XI.js} +2 -2
  139. package/dist/{chunk-C3G6MW4W.js → chunk-IB7FDRRC.js} +2 -2
  140. package/dist/{chunk-WFMQN7JE.js → chunk-IWHNT35B.js} +3 -3
  141. package/dist/{chunk-W7UV2ZCA.js → chunk-JDL5BYYF.js} +3 -3
  142. package/dist/{chunk-N6XTC56E.js → chunk-JWBDHA4F.js} +15 -11
  143. package/dist/chunk-JWBDHA4F.js.map +1 -0
  144. package/dist/{chunk-5EQT62HH.js → chunk-KDLOKVX7.js} +2 -2
  145. package/dist/chunk-KIW3OOZE.js +39 -0
  146. package/dist/chunk-KIW3OOZE.js.map +1 -0
  147. package/dist/{chunk-GMH5QPUU.js → chunk-KOM36ILJ.js} +19 -15
  148. package/dist/chunk-KOM36ILJ.js.map +1 -0
  149. package/dist/{chunk-V62YYBBY.js → chunk-KORQWGUA.js} +2 -2
  150. package/dist/{chunk-VDX2J7OX.js → chunk-KQAFEZQX.js} +2 -2
  151. package/dist/{chunk-WZIO3TW6.js → chunk-KY75VZKG.js} +2 -2
  152. package/dist/{chunk-4IGOLIWM.js → chunk-L63M2PE4.js} +2 -2
  153. package/dist/{chunk-PGGPRF6J.js → chunk-LD22AAJI.js} +2 -2
  154. package/dist/{chunk-NYWCFC3K.js → chunk-LT4H7SL5.js} +113 -59
  155. package/dist/chunk-LT4H7SL5.js.map +1 -0
  156. package/dist/{chunk-A4OIJYCV.js → chunk-LUAQHDUI.js} +2 -2
  157. package/dist/chunk-LVTT5AUG.js +79 -0
  158. package/dist/chunk-LVTT5AUG.js.map +1 -0
  159. package/dist/{chunk-S4MJTIPG.js → chunk-LXMZM7LM.js} +330 -78
  160. package/dist/chunk-LXMZM7LM.js.map +1 -0
  161. package/dist/{chunk-DIXZQTGY.js → chunk-M6FKXOYV.js} +2 -2
  162. package/dist/{chunk-Z535ADTC.js → chunk-M7H56FOQ.js} +2 -2
  163. package/dist/{chunk-JSD7Q7LD.js → chunk-MOL7JK4F.js} +2 -2
  164. package/dist/{chunk-I46BYY7U.js → chunk-NHFXGNGC.js} +92 -71
  165. package/dist/chunk-NHFXGNGC.js.map +1 -0
  166. package/dist/{chunk-ZX6NNFSY.js → chunk-OGAKUA7I.js} +2 -2
  167. package/dist/{chunk-KZJM7R4F.js → chunk-PF7LQ22G.js} +6 -6
  168. package/dist/{chunk-UZGHKD3T.js → chunk-PPDZSJXB.js} +2 -2
  169. package/dist/{chunk-AUSRUOMQ.js → chunk-PW4HTWXL.js} +2 -2
  170. package/dist/{chunk-LE2KZ72G.js → chunk-QCTXQ2HW.js} +2 -2
  171. package/dist/{chunk-I3H5LFOI.js → chunk-QNJQCLI6.js} +4 -4
  172. package/dist/{chunk-46RII65S.js → chunk-QUBPZQED.js} +2 -2
  173. package/dist/chunk-QZ4U67KO.js +98 -0
  174. package/dist/chunk-QZ4U67KO.js.map +1 -0
  175. package/dist/{chunk-E4LMQTST.js → chunk-R3H2AXO2.js} +2 -2
  176. package/dist/{chunk-XVDZFTN5.js → chunk-RFIJH2OE.js} +5 -5
  177. package/dist/{chunk-BTPCP535.js → chunk-RJ7Z7YXK.js} +5 -5
  178. package/dist/{chunk-TBXAY2SS.js → chunk-SGHGCFVV.js} +5 -5
  179. package/dist/{chunk-AIVRD66I.js → chunk-T3F2HWIG.js} +2 -2
  180. package/dist/chunk-TE6S7KDF.js +47 -0
  181. package/dist/chunk-TE6S7KDF.js.map +1 -0
  182. package/dist/{chunk-WPGA4RYI.js → chunk-UCLWIMVW.js} +2 -2
  183. package/dist/{chunk-6P4REYKL.js → chunk-UDAUULK2.js} +28 -2
  184. package/dist/{chunk-6P4REYKL.js.map → chunk-UDAUULK2.js.map} +1 -1
  185. package/dist/{chunk-V2EXYQEQ.js → chunk-VHANUT45.js} +7 -7
  186. package/dist/{chunk-AFJHNHAM.js → chunk-VJXMFBVR.js} +2 -2
  187. package/dist/{chunk-FGFC2EFR.js → chunk-VKDXYEA6.js} +3 -3
  188. package/dist/{chunk-Q62GA5U2.js → chunk-VW5TGNJN.js} +2 -2
  189. package/dist/{chunk-Q62GA5U2.js.map → chunk-VW5TGNJN.js.map} +1 -1
  190. package/dist/chunk-VYDGHJIN.js +17 -0
  191. package/dist/chunk-VYDGHJIN.js.map +1 -0
  192. package/dist/{chunk-GWNSKQDA.js → chunk-W44T2KHG.js} +3 -3
  193. package/dist/{chunk-H3TKENU4.js → chunk-WIKO4SCR.js} +5 -5
  194. package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
  195. package/dist/{chunk-MCMS4VUK.js → chunk-XIJHRQ4A.js} +14 -8
  196. package/dist/chunk-XIJHRQ4A.js.map +1 -0
  197. package/dist/{chunk-2HQPE2NM.js → chunk-XOCGC3FJ.js} +2 -2
  198. package/dist/chunk-YE4JBZO5.js +44 -0
  199. package/dist/chunk-YE4JBZO5.js.map +1 -0
  200. package/dist/{chunk-V2TOGJPM.js → chunk-YPB3Y57U.js} +14 -13
  201. package/dist/chunk-YPB3Y57U.js.map +1 -0
  202. package/dist/{chunk-ZZEIL3MI.js → chunk-YTV6J4T6.js} +2 -2
  203. package/dist/{chunk-ZZEIL3MI.js.map → chunk-YTV6J4T6.js.map} +1 -1
  204. package/dist/{chunk-IYIPXAIJ.js → chunk-ZBSP4BSN.js} +2 -2
  205. package/dist/{chunk-VVX5PZFS.js → chunk-ZHXSOMYH.js} +2 -2
  206. package/dist/{cli-CUlMlS2N.d.ts → cli-BfCl5kWD.d.ts} +5 -5
  207. package/dist/cli.d.ts +18 -15
  208. package/dist/cli.js +94 -84
  209. package/dist/coding/export-okf-codegraph.d.ts +2 -1
  210. package/dist/coding/export-okf-codegraph.js +13 -13
  211. package/dist/coding/pre-action-gate.d.ts +2 -1
  212. package/dist/compounding/engine.d.ts +3 -2
  213. package/dist/compounding/engine.js +13 -13
  214. package/dist/compounding/preference-consolidator.d.ts +2 -1
  215. package/dist/compression-optimizer.d.ts +2 -1
  216. package/dist/config.d.ts +2 -1
  217. package/dist/config.js +9 -7
  218. package/dist/connectors/codex-materialize-runner.d.ts +2 -1
  219. package/dist/connectors/codex-materialize-runner.js +13 -13
  220. package/dist/connectors/codex-materialize.d.ts +2 -1
  221. package/dist/connectors/index.d.ts +2 -1
  222. package/dist/connectors/index.js +14 -14
  223. package/dist/consolidation-provenance-check.d.ts +3 -2
  224. package/dist/consolidation-undo.d.ts +3 -2
  225. package/dist/contradiction/index.d.ts +5 -4
  226. package/dist/contradiction/index.js +3 -3
  227. package/dist/converge-config.d.ts +2 -1
  228. package/dist/convergence-refresh.d.ts +3 -2
  229. package/dist/convergence-refresh.js +16 -16
  230. package/dist/conversation-index/backend.d.ts +2 -1
  231. package/dist/conversation-index/chunker.d.ts +2 -1
  232. package/dist/conversation-index/faiss-adapter.d.ts +2 -1
  233. package/dist/conversation-index/indexer.d.ts +2 -1
  234. package/dist/conversation-index/search.d.ts +2 -1
  235. package/dist/corpus-watermark.d.ts +2 -1
  236. package/dist/corpus-watermark.js +16 -16
  237. package/dist/cross-lingual-recall.d.ts +2 -1
  238. package/dist/day-summary.d.ts +2 -1
  239. package/dist/deep-recall-config.d.ts +11 -1
  240. package/dist/deep-recall-config.js +6 -3
  241. package/dist/deep-recall-http-glue.d.ts +16 -13
  242. package/dist/deep-recall-http-glue.js +5 -5
  243. package/dist/deep-recall-mcp-tools.d.ts +16 -13
  244. package/dist/deep-recall-policy-llm.d.ts +3 -2
  245. package/dist/deep-recall-seeds.d.ts +2 -1
  246. package/dist/delinearize.d.ts +2 -1
  247. package/dist/dependency-propagation-config.d.ts +2 -1
  248. package/dist/{dependency-propagation-delivery-BDDjImQn.d.ts → dependency-propagation-delivery-CggS9BFT.d.ts} +1 -1
  249. package/dist/direct-answer-wiring.d.ts +2 -1
  250. package/dist/direct-answer.d.ts +2 -1
  251. package/dist/embedding-fallback.d.ts +2 -1
  252. package/dist/enrichment/index.d.ts +2 -1
  253. package/dist/entity-origin-fields.d.ts +2 -1
  254. package/dist/entity-retrieval.d.ts +3 -2
  255. package/dist/entity-retrieval.js +13 -13
  256. package/dist/entity-schema.d.ts +2 -1
  257. package/dist/episodic-context.d.ts +2 -1
  258. package/dist/eval-trajectory-contracts.d.ts +2 -1
  259. package/dist/eval-trajectory-store.d.ts +2 -1
  260. package/dist/eval-trajectory.d.ts +2 -1
  261. package/dist/explicit-capture.d.ts +12 -11
  262. package/dist/explicit-capture.js +3 -3
  263. package/dist/external-wiki-access.d.ts +16 -13
  264. package/dist/external-wiki-access.js +49 -41
  265. package/dist/external-wiki-collection-registration.d.ts +2 -1
  266. package/dist/external-wiki-collection.d.ts +2 -1
  267. package/dist/external-wiki-mcp-tools.d.ts +16 -13
  268. package/dist/extraction-error-classification.d.ts +2 -1
  269. package/dist/extraction-faithfulness.d.ts +3 -2
  270. package/dist/extraction-judge-telemetry.d.ts +3 -2
  271. package/dist/extraction-judge-training.d.ts +3 -2
  272. package/dist/extraction-judge.d.ts +3 -2
  273. package/dist/extraction-liveness.d.ts +2 -1
  274. package/dist/extraction-normalization.d.ts +2 -1
  275. package/dist/extraction-prompt.d.ts +2 -1
  276. package/dist/extraction-source-grounding-rules.d.ts +2 -1
  277. package/dist/extraction-source-grounding.d.ts +2 -1
  278. package/dist/extraction-span-config.d.ts +2 -1
  279. package/dist/extraction-span-materialize.d.ts +2 -1
  280. package/dist/extraction.d.ts +3 -2
  281. package/dist/extraction.js +21 -21
  282. package/dist/fallback-llm-codex-subscription.d.ts +2 -1
  283. package/dist/fallback-llm.d.ts +2 -1
  284. package/dist/{generic-recall-paths-CpDzNO_I.d.ts → generic-recall-paths-CoXPSnCw.d.ts} +1 -1
  285. package/dist/graph-append-error.d.ts +2 -1
  286. package/dist/graph-dashboard-diff.d.ts +2 -1
  287. package/dist/graph-dashboard-key.d.ts +2 -1
  288. package/dist/graph-dashboard-parser.d.ts +2 -1
  289. package/dist/graph-edge-reinforcement.d.ts +2 -1
  290. package/dist/graph-jsonl.d.ts +2 -1
  291. package/dist/graph-path-reconstruction.d.ts +2 -1
  292. package/dist/graph-path-scoring.d.ts +2 -1
  293. package/dist/graph-snapshot.d.ts +2 -1
  294. package/dist/graph.d.ts +2 -1
  295. package/dist/harmonic-retrieval.js +1 -1
  296. package/dist/importance.d.ts +2 -1
  297. package/dist/importers/index.d.ts +2 -1
  298. package/dist/importers/test-utils.d.ts +2 -1
  299. package/dist/in-flight-reads.d.ts +2 -1
  300. package/dist/{index-CtmmCJoo.d.ts → index-fdw_oK5a.d.ts} +3 -3
  301. package/dist/index.d.ts +28 -25
  302. package/dist/index.js +183 -162
  303. package/dist/intent.d.ts +2 -1
  304. package/dist/lcm/engine.d.ts +2 -1
  305. package/dist/lcm/engine.js +3 -3
  306. package/dist/lcm/index.d.ts +2 -1
  307. package/dist/lcm/index.js +11 -11
  308. package/dist/lcm/tools.d.ts +2 -1
  309. package/dist/lifecycle.d.ts +2 -1
  310. package/dist/live-connectors-runner.d.ts +2 -1
  311. package/dist/{local-llm-DpXIvm6F.d.ts → local-llm-3-jtw52a.d.ts} +1 -1
  312. package/dist/local-llm-helpers.d.ts +3 -2
  313. package/dist/local-llm.d.ts +3 -2
  314. package/dist/local-model-endpoint.d.ts +2 -1
  315. package/dist/location/index.d.ts +7 -209
  316. package/dist/location/index.js +68 -62
  317. package/dist/maintenance/memory-governance.d.ts +2 -1
  318. package/dist/maintenance/memory-governance.js +13 -13
  319. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
  320. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +14 -14
  321. package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
  322. package/dist/maintenance/rebuild-memory-projection.js +15 -15
  323. package/dist/{maintenance-CNgoLsoM.d.ts → maintenance-DgeeH0a1.d.ts} +3 -3
  324. package/dist/mcp-memory-inspector-app.d.ts +18 -15
  325. package/dist/mcp-read-only-tools.js +1 -1
  326. package/dist/memory-action-policy.d.ts +2 -1
  327. package/dist/memory-cache.d.ts +2 -1
  328. package/dist/memory-controller.d.ts +2 -1
  329. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
  330. package/dist/memory-projection-store.d.ts +2 -1
  331. package/dist/memory-provenance.d.ts +2 -1
  332. package/dist/memory-snapshot.d.ts +2 -1
  333. package/dist/memory-subject-cli.d.ts +16 -13
  334. package/dist/memory-subject.d.ts +16 -13
  335. package/dist/memory-worth-outcomes.d.ts +3 -2
  336. package/dist/models-json.d.ts +2 -1
  337. package/dist/namespaces/migrate.d.ts +4 -3
  338. package/dist/namespaces/migrate.js +14 -14
  339. package/dist/namespaces/principal.d.ts +2 -1
  340. package/dist/namespaces/search.d.ts +2 -1
  341. package/dist/namespaces/search.js +4 -4
  342. package/dist/namespaces/storage.d.ts +4 -3
  343. package/dist/namespaces/storage.js +13 -13
  344. package/dist/native-knowledge.d.ts +2 -1
  345. package/dist/offline-sync-impression-drain.d.ts +2 -1
  346. package/dist/offline-sync-impression-drain.js +5 -5
  347. package/dist/operator-doctor-corpus.d.ts +2 -1
  348. package/dist/operator-doctor-corpus.js +17 -17
  349. package/dist/operator-doctor-replica.d.ts +2 -1
  350. package/dist/operator-toolkit.d.ts +4 -3
  351. package/dist/operator-toolkit.js +29 -28
  352. package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
  353. package/dist/orchestration/maintenance.d.ts +5 -4
  354. package/dist/orchestration/maintenance.js +26 -26
  355. package/dist/{orchestrator-DT7ybIFz.d.ts → orchestrator-VXWKdatm.d.ts} +12 -10
  356. package/dist/orchestrator.d.ts +12 -11
  357. package/dist/orchestrator.js +115 -105
  358. package/dist/patterns-cli.d.ts +2 -1
  359. package/dist/{pipeline-CgBEmHcz.d.ts → pipeline-CwXZBKR5.d.ts} +1 -1
  360. package/dist/policy-runtime.d.ts +2 -1
  361. package/dist/proactive-contention.d.ts +3 -2
  362. package/dist/provenance.d.ts +2 -1
  363. package/dist/{public-http-C8P8fyiO.d.ts → public-http-B55s59aR.d.ts} +1 -1
  364. package/dist/{qmd-BkY8KpCh.d.ts → qmd-DOLTPIQg.d.ts} +1 -1
  365. package/dist/qmd-preflight.d.ts +3 -2
  366. package/dist/qmd-recall-cache.d.ts +2 -1
  367. package/dist/qmd.d.ts +3 -2
  368. package/dist/recall-concurrency-config.d.ts +2 -1
  369. package/dist/recall-disclosure-escalation.d.ts +2 -1
  370. package/dist/recall-explain-renderer.d.ts +2 -1
  371. package/dist/recall-explain-renderer.js +3 -3
  372. package/dist/recall-memory-map.d.ts +2 -1
  373. package/dist/recall-navigate-access.d.ts +2 -1
  374. package/dist/recall-navigate-access.js +2 -2
  375. package/dist/recall-navigate-budget.js +3 -13
  376. package/dist/recall-navigate-budget.js.map +1 -1
  377. package/dist/recall-navigate-disclosure.d.ts +2 -1
  378. package/dist/recall-navigate-disclosure.js +4 -23
  379. package/dist/recall-navigate-disclosure.js.map +1 -1
  380. package/dist/recall-navigate-traverse.js +4 -37
  381. package/dist/recall-navigate-traverse.js.map +1 -1
  382. package/dist/recall-navigate-window.js +4 -26
  383. package/dist/recall-navigate-window.js.map +1 -1
  384. package/dist/recall-navigate.d.ts +2 -1
  385. package/dist/recall-navigate.js +2 -2
  386. package/dist/recall-navigation-config.d.ts +34 -0
  387. package/dist/recall-navigation-config.js +16 -0
  388. package/dist/recall-navigation-config.js.map +1 -0
  389. package/dist/recall-navigation-http-glue.d.ts +171 -0
  390. package/dist/recall-navigation-http-glue.js +9 -0
  391. package/dist/recall-navigation-http-glue.js.map +1 -0
  392. package/dist/recall-navigation-mcp-tools.d.ts +162 -0
  393. package/dist/recall-navigation-mcp-tools.js +8 -0
  394. package/dist/recall-navigation-mcp-tools.js.map +1 -0
  395. package/dist/recall-navigation-operations.d.ts +2 -0
  396. package/dist/recall-navigation-operations.js +245 -0
  397. package/dist/recall-navigation-operations.js.map +1 -0
  398. package/dist/recall-navigation-renderer.d.ts +36 -0
  399. package/dist/recall-navigation-renderer.js +8 -0
  400. package/dist/recall-navigation-renderer.js.map +1 -0
  401. package/dist/recall-navigation.d.ts +121 -0
  402. package/dist/recall-navigation.js +249 -0
  403. package/dist/recall-navigation.js.map +1 -0
  404. package/dist/recall-planner-llm.d.ts +2 -1
  405. package/dist/recall-state-view-admission.d.ts +3 -2
  406. package/dist/recall-state-view-admission.js +4 -4
  407. package/dist/recall-state-view-anchors.d.ts +2 -1
  408. package/dist/recall-state.d.ts +2 -1
  409. package/dist/recall-tag-filter.d.ts +2 -1
  410. package/dist/recall-timings.d.ts +2 -1
  411. package/dist/recall-xray-cli.d.ts +2 -1
  412. package/dist/recall-xray-cli.js +4 -4
  413. package/dist/recall-xray-renderer.d.ts +2 -1
  414. package/dist/recall-xray-renderer.js +3 -3
  415. package/dist/recall-xray.d.ts +3 -2
  416. package/dist/recall-xray.js +2 -2
  417. package/dist/reconcile/cursor.d.ts +2 -1
  418. package/dist/reconcile/manifest.d.ts +2 -1
  419. package/dist/reconcile/plan.d.ts +2 -1
  420. package/dist/replay/normalizers/chatgpt.d.ts +2 -1
  421. package/dist/replay/normalizers/claude.d.ts +2 -1
  422. package/dist/replay/normalizers/openclaw.d.ts +2 -1
  423. package/dist/replay/normalizers/shared.d.ts +2 -1
  424. package/dist/replay/runner.d.ts +2 -1
  425. package/dist/replay/types.d.ts +2 -1
  426. package/dist/replica-divergence.d.ts +2 -1
  427. package/dist/replica-peers-config.d.ts +2 -1
  428. package/dist/resolution-LXFQQ4AE.js +3 -3
  429. package/dist/resolve-auth-token.d.ts +2 -1
  430. package/dist/resume-bundles.js +10 -8
  431. package/dist/retrieval-agents.d.ts +3 -2
  432. package/dist/retrieval-tiers.d.ts +2 -1
  433. package/dist/routing/engine.d.ts +2 -1
  434. package/dist/routing/store.d.ts +2 -1
  435. package/dist/salvage-envelope.d.ts +2 -1
  436. package/dist/schemas.d.ts +2 -2
  437. package/dist/{scope-profiles-BBPjZ9jb.d.ts → scope-profiles-C564-hrv.d.ts} +1 -1
  438. package/dist/search/embed-helper.d.ts +2 -1
  439. package/dist/search/factory.d.ts +2 -1
  440. package/dist/search/factory.js +3 -3
  441. package/dist/search/index.d.ts +2 -1
  442. package/dist/search/index.js +7 -7
  443. package/dist/search/lancedb-backend.d.ts +2 -1
  444. package/dist/search/meilisearch-backend.d.ts +2 -1
  445. package/dist/search/noop-backend.d.ts +2 -1
  446. package/dist/search/orama-backend.d.ts +2 -1
  447. package/dist/search/port.d.ts +2 -1
  448. package/dist/search/remote-backend.d.ts +2 -1
  449. package/dist/{semantic-consolidation-BPFFVO84.d.ts → semantic-consolidation-g6x-ShY8.d.ts} +1 -1
  450. package/dist/semantic-consolidation.d.ts +3 -2
  451. package/dist/semantic-consolidation.js +14 -14
  452. package/dist/semantic-rule-promotion.js +13 -13
  453. package/dist/semantic-rule-verifier.d.ts +2 -1
  454. package/dist/semantic-rule-verifier.js +13 -13
  455. package/dist/{service-jKcr6Jvr.d.ts → service-CaCOk0rd.d.ts} +13 -2
  456. package/dist/session-observer-bands.d.ts +2 -1
  457. package/dist/session-observer-state.d.ts +2 -1
  458. package/dist/shared-context/manager.d.ts +2 -1
  459. package/dist/signal.d.ts +2 -1
  460. package/dist/source-agent-qualifier.d.ts +2 -1
  461. package/dist/source-agent-qualifier.js +20 -20
  462. package/dist/standup/build.js +14 -14
  463. package/dist/{storage-C-0Ah5OY.d.ts → storage-C9nsZX5Q.d.ts} +1 -1
  464. package/dist/storage.d.ts +3 -2
  465. package/dist/storage.js +12 -12
  466. package/dist/subject-config.d.ts +2 -1
  467. package/dist/subject-config.js +2 -2
  468. package/dist/summarizer.d.ts +2 -1
  469. package/dist/summary-snapshot.d.ts +2 -1
  470. package/dist/support-passport/index.d.ts +19 -16
  471. package/dist/support-passport/index.js +51 -43
  472. package/dist/tagging-BA4RFdH3.d.ts +240 -0
  473. package/dist/temporal-supersession.d.ts +3 -2
  474. package/dist/temporal-timeline-recall.d.ts +2 -1
  475. package/dist/temporal-validity.d.ts +2 -1
  476. package/dist/threading.d.ts +2 -1
  477. package/dist/tier-migration.d.ts +3 -2
  478. package/dist/tier-routing.d.ts +2 -1
  479. package/dist/topics.d.ts +2 -1
  480. package/dist/transcript.d.ts +2 -1
  481. package/dist/transfer/backup.js +2 -2
  482. package/dist/transfer/capsule-export.js +2 -2
  483. package/dist/transfer/capsule-import.js +2 -2
  484. package/dist/transfer/export-okf.d.ts +2 -1
  485. package/dist/transfer/export-okf.js +13 -13
  486. package/dist/trust-score-stage.d.ts +2 -1
  487. package/dist/trust-score.d.ts +2 -1
  488. package/dist/{types-cK5LydjL.d.ts → types-Sps-lg5I.d.ts} +3 -2
  489. package/dist/types.d.ts +2 -1
  490. package/dist/types.js +1 -1
  491. package/dist/utility-runtime.d.ts +2 -1
  492. package/dist/verified-recall.js +13 -13
  493. package/dist/who-knows-cli.d.ts +16 -13
  494. package/dist/who-knows-cli.js +14 -14
  495. package/dist/who-knows.d.ts +16 -13
  496. package/dist/who-knows.js +13 -13
  497. package/dist/write-envelope.d.ts +2 -1
  498. package/package.json +2 -2
  499. package/src/access-boundary.ts +2 -0
  500. package/src/access-http.test.ts +1 -0
  501. package/src/access-http.ts +3 -3
  502. package/src/access-mcp-output-schemas.ts +30 -0
  503. package/src/access-mcp.ts +6 -9
  504. package/src/access-observe-write-category.ts +1 -0
  505. package/src/access-observe-write-surface.ts +3 -3
  506. package/src/access-operations-batch.ts +2 -2
  507. package/src/access-operations.ts +2 -0
  508. package/src/access-schema.ts +1 -0
  509. package/src/access-service.ts +17 -28
  510. package/src/access-surface-catalog.test.ts +30 -2
  511. package/src/access-surface-catalog.ts +4 -0
  512. package/src/cli/recall-navigation-commands.ts +85 -0
  513. package/src/cli.ts +2 -2
  514. package/src/config.ts +4 -0
  515. package/src/deep-recall-config.ts +32 -0
  516. package/src/index.ts +1 -2
  517. package/src/location/phase5-wiring.test.ts +408 -0
  518. package/src/location/tagging.ts +58 -0
  519. package/src/mcp-read-only-tools.ts +2 -0
  520. package/src/orchestration/orchestrator-helpers.ts +2 -0
  521. package/src/orchestration/recall-internal.ts +4 -4
  522. package/src/orchestration/workspace-ops.ts +14 -0
  523. package/src/recall-navigation-config.test.ts +56 -0
  524. package/src/recall-navigation-config.ts +107 -0
  525. package/src/recall-navigation-http-glue.ts +141 -0
  526. package/src/recall-navigation-mcp-tools.ts +60 -0
  527. package/src/recall-navigation-operations.ts +111 -0
  528. package/src/recall-navigation-renderer.ts +49 -0
  529. package/src/recall-navigation-surface.test.ts +474 -0
  530. package/src/recall-navigation.test.ts +405 -0
  531. package/src/recall-navigation.ts +429 -0
  532. package/src/recall-xray.ts +1 -1
  533. package/src/types.ts +2 -0
  534. package/src/wearables/pipeline.ts +19 -0
  535. package/src/wearables/service.ts +8 -0
  536. package/dist/chunk-7ZLC4DTZ.js.map +0 -1
  537. package/dist/chunk-DM5CU5J7.js.map +0 -1
  538. package/dist/chunk-EAARGPWI.js.map +0 -1
  539. package/dist/chunk-GMH5QPUU.js.map +0 -1
  540. package/dist/chunk-I46BYY7U.js.map +0 -1
  541. package/dist/chunk-MCMS4VUK.js.map +0 -1
  542. package/dist/chunk-N6XTC56E.js.map +0 -1
  543. package/dist/chunk-NYWCFC3K.js.map +0 -1
  544. package/dist/chunk-QVSRE355.js.map +0 -1
  545. package/dist/chunk-S4MJTIPG.js.map +0 -1
  546. package/dist/chunk-V2TOGJPM.js.map +0 -1
  547. package/dist/chunk-WN2OXGGH.js.map +0 -1
  548. package/dist/chunk-XRS65T4O.js.map +0 -1
  549. /package/dist/{capsule-crypto-YO5QJ6L3.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
  550. /package/dist/{chunk-563X6JJX.js.map → chunk-2HDLDBJW.js.map} +0 -0
  551. /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
  552. /package/dist/{chunk-WBQ4ONQJ.js.map → chunk-2PIC6CEN.js.map} +0 -0
  553. /package/dist/{chunk-54QPOE45.js.map → chunk-2YIUUXNK.js.map} +0 -0
  554. /package/dist/{chunk-AKABVXFS.js.map → chunk-3254BYQV.js.map} +0 -0
  555. /package/dist/{chunk-XCPNH2MG.js.map → chunk-3KJTSCSX.js.map} +0 -0
  556. /package/dist/{chunk-I33QYUAF.js.map → chunk-3YQ7VLP3.js.map} +0 -0
  557. /package/dist/{chunk-JMWUPUE6.js.map → chunk-46FVFU7S.js.map} +0 -0
  558. /package/dist/{chunk-PFKIOYJH.js.map → chunk-4WMGRLTV.js.map} +0 -0
  559. /package/dist/{chunk-KLUC2GSG.js.map → chunk-5AJZ7EUW.js.map} +0 -0
  560. /package/dist/{chunk-Z7NBT6AK.js.map → chunk-6EGIQEKC.js.map} +0 -0
  561. /package/dist/{chunk-6MQMYXSQ.js.map → chunk-7F47R4H4.js.map} +0 -0
  562. /package/dist/{chunk-YFXAWGMR.js.map → chunk-7L54ARML.js.map} +0 -0
  563. /package/dist/{chunk-LVFI5LG7.js.map → chunk-A7GQBJP5.js.map} +0 -0
  564. /package/dist/{chunk-EMSYMYXO.js.map → chunk-AKB44K3D.js.map} +0 -0
  565. /package/dist/{chunk-3BLHPQHT.js.map → chunk-BPXJINHW.js.map} +0 -0
  566. /package/dist/{chunk-D6PY63OM.js.map → chunk-BZDK5EOD.js.map} +0 -0
  567. /package/dist/{chunk-2J3V5QEO.js.map → chunk-C3QXITIP.js.map} +0 -0
  568. /package/dist/{chunk-PLJ2MQFT.js.map → chunk-C3YEB7CR.js.map} +0 -0
  569. /package/dist/{chunk-2ZG2LLZT.js.map → chunk-D7UUB33A.js.map} +0 -0
  570. /package/dist/{chunk-E3I3NDUP.js.map → chunk-DABSYX7V.js.map} +0 -0
  571. /package/dist/{chunk-KJLLPG26.js.map → chunk-DDGQDNQW.js.map} +0 -0
  572. /package/dist/{chunk-K5D2XVNN.js.map → chunk-F2FJTOV6.js.map} +0 -0
  573. /package/dist/{chunk-P66QH6R6.js.map → chunk-GKKLI23D.js.map} +0 -0
  574. /package/dist/{chunk-ICN37XHG.js.map → chunk-GMU7MAHS.js.map} +0 -0
  575. /package/dist/{chunk-PQ42DJNG.js.map → chunk-H2N6SLTR.js.map} +0 -0
  576. /package/dist/{chunk-ND7MAIJC.js.map → chunk-HKQAI6XI.js.map} +0 -0
  577. /package/dist/{chunk-C3G6MW4W.js.map → chunk-IB7FDRRC.js.map} +0 -0
  578. /package/dist/{chunk-WFMQN7JE.js.map → chunk-IWHNT35B.js.map} +0 -0
  579. /package/dist/{chunk-W7UV2ZCA.js.map → chunk-JDL5BYYF.js.map} +0 -0
  580. /package/dist/{chunk-5EQT62HH.js.map → chunk-KDLOKVX7.js.map} +0 -0
  581. /package/dist/{chunk-V62YYBBY.js.map → chunk-KORQWGUA.js.map} +0 -0
  582. /package/dist/{chunk-VDX2J7OX.js.map → chunk-KQAFEZQX.js.map} +0 -0
  583. /package/dist/{chunk-WZIO3TW6.js.map → chunk-KY75VZKG.js.map} +0 -0
  584. /package/dist/{chunk-4IGOLIWM.js.map → chunk-L63M2PE4.js.map} +0 -0
  585. /package/dist/{chunk-PGGPRF6J.js.map → chunk-LD22AAJI.js.map} +0 -0
  586. /package/dist/{chunk-A4OIJYCV.js.map → chunk-LUAQHDUI.js.map} +0 -0
  587. /package/dist/{chunk-DIXZQTGY.js.map → chunk-M6FKXOYV.js.map} +0 -0
  588. /package/dist/{chunk-Z535ADTC.js.map → chunk-M7H56FOQ.js.map} +0 -0
  589. /package/dist/{chunk-JSD7Q7LD.js.map → chunk-MOL7JK4F.js.map} +0 -0
  590. /package/dist/{chunk-ZX6NNFSY.js.map → chunk-OGAKUA7I.js.map} +0 -0
  591. /package/dist/{chunk-KZJM7R4F.js.map → chunk-PF7LQ22G.js.map} +0 -0
  592. /package/dist/{chunk-UZGHKD3T.js.map → chunk-PPDZSJXB.js.map} +0 -0
  593. /package/dist/{chunk-AUSRUOMQ.js.map → chunk-PW4HTWXL.js.map} +0 -0
  594. /package/dist/{chunk-LE2KZ72G.js.map → chunk-QCTXQ2HW.js.map} +0 -0
  595. /package/dist/{chunk-I3H5LFOI.js.map → chunk-QNJQCLI6.js.map} +0 -0
  596. /package/dist/{chunk-46RII65S.js.map → chunk-QUBPZQED.js.map} +0 -0
  597. /package/dist/{chunk-E4LMQTST.js.map → chunk-R3H2AXO2.js.map} +0 -0
  598. /package/dist/{chunk-XVDZFTN5.js.map → chunk-RFIJH2OE.js.map} +0 -0
  599. /package/dist/{chunk-BTPCP535.js.map → chunk-RJ7Z7YXK.js.map} +0 -0
  600. /package/dist/{chunk-TBXAY2SS.js.map → chunk-SGHGCFVV.js.map} +0 -0
  601. /package/dist/{chunk-AIVRD66I.js.map → chunk-T3F2HWIG.js.map} +0 -0
  602. /package/dist/{chunk-WPGA4RYI.js.map → chunk-UCLWIMVW.js.map} +0 -0
  603. /package/dist/{chunk-V2EXYQEQ.js.map → chunk-VHANUT45.js.map} +0 -0
  604. /package/dist/{chunk-AFJHNHAM.js.map → chunk-VJXMFBVR.js.map} +0 -0
  605. /package/dist/{chunk-FGFC2EFR.js.map → chunk-VKDXYEA6.js.map} +0 -0
  606. /package/dist/{chunk-GWNSKQDA.js.map → chunk-W44T2KHG.js.map} +0 -0
  607. /package/dist/{chunk-H3TKENU4.js.map → chunk-WIKO4SCR.js.map} +0 -0
  608. /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
  609. /package/dist/{chunk-2HQPE2NM.js.map → chunk-XOCGC3FJ.js.map} +0 -0
  610. /package/dist/{chunk-IYIPXAIJ.js.map → chunk-ZBSP4BSN.js.map} +0 -0
  611. /package/dist/{chunk-VVX5PZFS.js.map → chunk-ZHXSOMYH.js.map} +0 -0
@@ -1,6 +1,6 @@
1
- export { bA as WHO_KNOWS_AUTHORSHIP_BONUS, bB as WHO_KNOWS_DEFAULT_LIMIT, bC as WHO_KNOWS_MAX_EVIDENCE, bD as WHO_KNOWS_MAX_LIMIT, bE as WHO_KNOWS_MCP_TOOLS, bF as WhoKnowsEntity, bG as WhoKnowsEvidence, bH as WhoKnowsHit, bI as WhoKnowsHttpOutcome, W as WhoKnowsResult, bJ as WhoKnowsStorage, bT as computeWhoKnows, bZ as handleWhoKnowsHttpQuery, c2 as loadWhoKnowsEntities, c9 as tokenizeTopic, ca as validateWhoKnowsInput } from './access-service-Cisy5YDq.js';
2
- import './types-cK5LydjL.js';
3
- import './orchestrator-DT7ybIFz.js';
1
+ export { bA as WHO_KNOWS_AUTHORSHIP_BONUS, bB as WHO_KNOWS_DEFAULT_LIMIT, bC as WHO_KNOWS_MAX_EVIDENCE, bD as WHO_KNOWS_MAX_LIMIT, bE as WHO_KNOWS_MCP_TOOLS, bF as WhoKnowsEntity, bG as WhoKnowsEvidence, bH as WhoKnowsHit, bI as WhoKnowsHttpOutcome, W as WhoKnowsResult, bJ as WhoKnowsStorage, bT as computeWhoKnows, bZ as handleWhoKnowsHttpQuery, c2 as loadWhoKnowsEntities, c9 as tokenizeTopic, ca as validateWhoKnowsInput } from './access-service-DxTTTg9O.js';
2
+ import './types-Sps-lg5I.js';
3
+ import './orchestrator-VXWKdatm.js';
4
4
  import './recall-state.js';
5
5
  import './utils/serialize-mutations.js';
6
6
  import './search/port.js';
@@ -13,6 +13,7 @@ import './contradiction-config.js';
13
13
  import './graph-path-scoring-config.js';
14
14
  import './background-generation-config.js';
15
15
  import './deep-recall-config.js';
16
+ import './recall-navigation-config.js';
16
17
  import './causal-trajectory.js';
17
18
  import './objective-state.js';
18
19
  import './active-context-config.js';
@@ -21,7 +22,7 @@ import './semantic-merge-config.js';
21
22
  import './types-continuity.js';
22
23
  import './included-memories.js';
23
24
  import './briefing.js';
24
- import './storage-C-0Ah5OY.js';
25
+ import './storage-C9nsZX5Q.js';
25
26
  import './corpus-read-cancellation.js';
26
27
  import './artifact-search.js';
27
28
  import './active-context-transform.js';
@@ -37,7 +38,7 @@ import './write-envelope.js';
37
38
  import './structured-attributes.js';
38
39
  import './buffer.js';
39
40
  import './extraction-faithfulness.js';
40
- import './local-llm-DpXIvm6F.js';
41
+ import './local-llm-3-jtw52a.js';
41
42
  import './model-registry.js';
42
43
  import './fallback-llm.js';
43
44
  import './fallback-llm-codex-subscription.js';
@@ -46,8 +47,8 @@ import './resolve-provider-secret.js';
46
47
  import './transcript.js';
47
48
  import './session-integrity.js';
48
49
  import './summarizer.js';
49
- import './maintenance-CNgoLsoM.js';
50
- import './catalog-wcX1QhtQ.js';
50
+ import './maintenance-DgeeH0a1.js';
51
+ import './catalog-Ya3DDn_T.js';
51
52
  import './namespaces/search.js';
52
53
  import './compounding/engine.js';
53
54
  import './shared-context/manager.js';
@@ -57,7 +58,7 @@ import './utility-runtime.js';
57
58
  import './tier-routing.js';
58
59
  import './lifecycle.js';
59
60
  import './orchestration/compression-guideline-coordinator.js';
60
- import './semantic-consolidation-BPFFVO84.js';
61
+ import './semantic-consolidation-g6x-ShY8.js';
61
62
  import './connectors/codex-materialize.js';
62
63
  import './logger.js';
63
64
  import './embedding-fallback.js';
@@ -79,17 +80,17 @@ import './conversation-index/chunker.js';
79
80
  import './conversation-index/backend.js';
80
81
  import './faiss-adapter-BHecI1fF.js';
81
82
  import './runtime/child-process.js';
82
- import './dependency-propagation-delivery-BDDjImQn.js';
83
+ import './dependency-propagation-delivery-CggS9BFT.js';
83
84
  import './namespaces/storage.js';
84
85
  import './threading.js';
85
- import './scope-profiles-BBPjZ9jb.js';
86
+ import './scope-profiles-C564-hrv.js';
86
87
  import './graph-DRkl22KE.js';
87
88
  import './graph-write-lock.js';
88
89
  import './recall-xray.js';
89
90
  import './memory-provenance.js';
90
91
  import './user-model.js';
91
92
  import './recall-context-composition.js';
92
- import './generic-recall-paths-CpDzNO_I.js';
93
+ import './generic-recall-paths-CoXPSnCw.js';
93
94
  import './live-connectors-runner.js';
94
95
  import './framework-CNDn2164.js';
95
96
  import './relevance.js';
@@ -97,7 +98,7 @@ import './negative.js';
97
98
  import './session-observer-state.js';
98
99
  import './semantic-BalR6EXU.js';
99
100
  import './replay/types.js';
100
- import './service-jKcr6Jvr.js';
101
+ import './service-CaCOk0rd.js';
101
102
  import './extraction-judge.js';
102
103
  import './lcm/engine.js';
103
104
  import './lcm/archive.js';
@@ -119,7 +120,8 @@ import './recall-audit.js';
119
120
  import './types-B1VHaf2w.js';
120
121
  import './transfer/capsule-import.js';
121
122
  import './transfer/types.js';
122
- import './access-namespace-preflight-DWsMc9Dh.js';
123
+ import './recall-navigation.js';
124
+ import './access-namespace-preflight-CE-RrXKu.js';
123
125
  import './access-token-capabilities.js';
124
126
  import 'node:async_hooks';
125
127
  import './recall-explain-renderer.js';
@@ -127,6 +129,7 @@ import './access-citation.js';
127
129
  import './access-health-types.js';
128
130
  import './corpus-watermark.js';
129
131
  import './replica-divergence.js';
132
+ import './tagging-BA4RFdH3.js';
130
133
  import './explicit-capture.js';
131
134
  import './access-wearables-meetings-surface.js';
132
135
  import './deep-recall.js';
package/dist/who-knows.js CHANGED
@@ -9,28 +9,28 @@ import {
9
9
  loadWhoKnowsEntities,
10
10
  tokenizeTopic,
11
11
  validateWhoKnowsInput
12
- } from "./chunk-2ZG2LLZT.js";
13
- import "./chunk-ICN37XHG.js";
14
- import "./chunk-UHVXE24Y.js";
12
+ } from "./chunk-D7UUB33A.js";
13
+ import "./chunk-GMU7MAHS.js";
15
14
  import "./chunk-46WM6JX2.js";
15
+ import "./chunk-UHVXE24Y.js";
16
16
  import "./chunk-D5F7TKMH.js";
17
- import "./chunk-AIVRD66I.js";
18
- import "./chunk-PLJ2MQFT.js";
19
- import "./chunk-KVO2BTA4.js";
20
- import "./chunk-CYEPCZN5.js";
17
+ import "./chunk-T3F2HWIG.js";
18
+ import "./chunk-C3YEB7CR.js";
21
19
  import "./chunk-G6NQ3L4T.js";
22
20
  import "./chunk-WPGR3RW4.js";
23
21
  import "./chunk-6KTXE6A3.js";
24
22
  import "./chunk-D7MAYFQP.js";
23
+ import "./chunk-KVO2BTA4.js";
25
24
  import "./chunk-4O6WRBGE.js";
26
25
  import "./chunk-GUMZC2BO.js";
26
+ import "./chunk-CYEPCZN5.js";
27
27
  import "./chunk-TFA6HPOA.js";
28
28
  import "./chunk-F4TWWUMP.js";
29
29
  import "./chunk-72A4L5JJ.js";
30
30
  import "./chunk-A7Q43EUZ.js";
31
31
  import "./chunk-S2V7RUCL.js";
32
32
  import "./chunk-PCEYGOSL.js";
33
- import "./chunk-WN2OXGGH.js";
33
+ import "./chunk-66YUOI53.js";
34
34
  import "./chunk-SCU65EZI.js";
35
35
  import "./chunk-MRPOZBJC.js";
36
36
  import "./chunk-S2HLHAZ4.js";
@@ -54,8 +54,6 @@ import "./chunk-KG2OOAFF.js";
54
54
  import "./chunk-U2VDCFXW.js";
55
55
  import "./chunk-ZLQ37WJX.js";
56
56
  import "./chunk-IUM3VSHI.js";
57
- import "./chunk-GDYU6VF4.js";
58
- import "./chunk-BT7NVCML.js";
59
57
  import "./chunk-C64XATK7.js";
60
58
  import "./chunk-42JKGUFJ.js";
61
59
  import "./chunk-TRTLWUDD.js";
@@ -66,7 +64,6 @@ import "./chunk-UHSOPTNB.js";
66
64
  import "./chunk-E2AWJ7KQ.js";
67
65
  import "./chunk-RW4QNB4J.js";
68
66
  import "./chunk-ZIKENA2C.js";
69
- import "./chunk-VYCOJKSX.js";
70
67
  import "./chunk-6Q3ZTEF6.js";
71
68
  import "./chunk-YCVB7X56.js";
72
69
  import "./chunk-PJKTFXE2.js";
@@ -75,17 +72,20 @@ import "./chunk-Z7L72ZHL.js";
75
72
  import "./chunk-4O4TKIXQ.js";
76
73
  import "./chunk-RGMVMVMF.js";
77
74
  import "./chunk-PQVCH2AE.js";
75
+ import "./chunk-GDYU6VF4.js";
76
+ import "./chunk-BT7NVCML.js";
77
+ import "./chunk-VYCOJKSX.js";
78
78
  import "./chunk-BJMBJZ2Y.js";
79
79
  import "./chunk-UKJAGEXH.js";
80
80
  import "./chunk-FP2373TW.js";
81
81
  import "./chunk-JL4TQYM5.js";
82
- import "./chunk-TBXAY2SS.js";
82
+ import "./chunk-SGHGCFVV.js";
83
83
  import "./chunk-ZA53AZND.js";
84
84
  import "./chunk-AL3UYZ5N.js";
85
85
  import "./chunk-RL6NEVXT.js";
86
- import "./chunk-C7HJ3NEI.js";
87
86
  import "./chunk-PWPIERBM.js";
88
87
  import "./chunk-7RJUVTVF.js";
88
+ import "./chunk-C7HJ3NEI.js";
89
89
  import "./chunk-NB3LRY4T.js";
90
90
  import "./chunk-5FVVY2EB.js";
91
91
  import "./chunk-FFAZ2XFU.js";
@@ -1,4 +1,4 @@
1
- import { u as MemoryCategory, N as MemorySubject } from './types-cK5LydjL.js';
1
+ import { u as MemoryCategory, N as MemorySubject } from './types-Sps-lg5I.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -8,6 +8,7 @@ import './contradiction-config.js';
8
8
  import './graph-path-scoring-config.js';
9
9
  import './background-generation-config.js';
10
10
  import './deep-recall-config.js';
11
+ import './recall-navigation-config.js';
11
12
  import './causal-trajectory.js';
12
13
  import './objective-state.js';
13
14
  import './active-context-config.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.69.41",
3
+ "version": "9.69.43",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3307,7 +3307,7 @@
3307
3307
  "core"
3308
3308
  ],
3309
3309
  "peerDependencies": {
3310
- "@remnic/coding-graph": "^9.69.41"
3310
+ "@remnic/coding-graph": "^9.69.43"
3311
3311
  },
3312
3312
  "peerDependenciesMeta": {
3313
3313
  "@remnic/coding-graph": {
@@ -84,6 +84,8 @@ export const OPERATION_NAMES = [
84
84
  "meetings_get",
85
85
  "meetings_build",
86
86
  "deep_recall",
87
+ "memory_expand",
88
+ "memory_traverse",
87
89
  "standup",
88
90
  "action_confidence",
89
91
  "chatgpt_memory_inspector",
@@ -861,6 +861,7 @@ test("HTTP briefing endpoint dispatches through the briefing operation", async (
861
861
  {
862
862
  since: "24h",
863
863
  focus: undefined,
864
+ includeLocation: undefined,
864
865
  namespace: "team",
865
866
  format: "markdown",
866
867
  maxFollowups: 5,
@@ -26,7 +26,7 @@ import {
26
26
  import { peerManifestRevision } from "./reconcile/manifest.js";
27
27
  import { nonEmptyQueryParam, optionalNamespaceKindQueryParam, optionalQueryString, positiveIntQueryParam } from "./access-http-query.js";
28
28
  import { CorrectionContractError } from "./correction/correction-contract.js";
29
- import { respondWearablesErrorGlue } from "./wearables/http-glue.js"; import { respondMeetingsList, respondMeetingsGet, respondMeetingsBuild } from "./meetings/http-glue.js"; import { respondLocationStatus, respondLocationCheck, respondLocationSync, respondLocationBackfill, respondLocationDay } from "./location/http-glue.js"; import { respondStandup } from "./standup/http-glue.js"; import { respondDeepRecall } from "./deep-recall-http-glue.js";
29
+ import { respondWearablesErrorGlue } from "./wearables/http-glue.js"; import { respondMeetingsList, respondMeetingsGet, respondMeetingsBuild } from "./meetings/http-glue.js"; import { respondLocationStatus, respondLocationCheck, respondLocationSync, respondLocationBackfill, respondLocationDay } from "./location/http-glue.js"; import { respondStandup } from "./standup/http-glue.js"; import { respondDeepRecall } from "./deep-recall-http-glue.js"; import { maybeRespondRecallNavigation } from "./recall-navigation-http-glue.js";
30
30
  import { EngramMcpServer, MCP_SUPPORTED_PROTOCOL_VERSIONS } from "./access-mcp.js";
31
31
  import { handleMcpGetSse } from "./access-mcp-sse.js";
32
32
  import { validateRequest, type SchemaName, type SchemaTypeFor } from "./access-schema.js";
@@ -1752,8 +1752,8 @@ export class EngramAccessHttpServer extends ReviewDeckAccessHttpBase {
1752
1752
  const meetingGetEngram = /^\/engram\/v1\/meetings\/([^/]+)$/.exec(pathname);
1753
1753
  if (req.method === "GET" && meetingGetEngram) { this.enforceTokenOp("meetings_get"); await respondMeetingsGet(res, this.respondJson.bind(this), this.service, meetingGetEngram[1] ?? "", this.wearablesScope(req, parsed.searchParams.get("namespace") ?? undefined, parsed.searchParams.get("sessionKey") ?? undefined)); return; }
1754
1754
  const meetingGetRemnic = /^\/remnic\/v1\/meetings\/([^/]+)$/.exec(pathname); if (req.method === "GET" && meetingGetRemnic) { this.enforceTokenOp("meetings_get"); await respondMeetingsGet(res, this.respondJson.bind(this), this.service, meetingGetRemnic[1] ?? "", this.wearablesScope(req, parsed.searchParams.get("namespace") ?? undefined, parsed.searchParams.get("sessionKey") ?? undefined)); return; }
1755
- if (req.method === "POST" && (pathname === "/engram/v1/recall/deep" || pathname === "/remnic/v1/recall/deep")) {
1756
- this.enforceTokenOp("deep_recall"); await respondDeepRecall(req, res, this.respondJson.bind(this), this.readJsonBody.bind(this), this.service, (ns, sk) => this.wearablesScope(req, ns ?? parsed.searchParams.get("namespace") ?? undefined, sk ?? parsed.searchParams.get("sessionKey") ?? undefined), abortSignal); return; }
1755
+ if (req.method === "POST" && (pathname === "/engram/v1/recall/deep" || pathname === "/remnic/v1/recall/deep")) { this.enforceTokenOp("deep_recall"); await respondDeepRecall(req, res, this.respondJson.bind(this), this.readJsonBody.bind(this), this.service, (ns, sk) => this.wearablesScope(req, ns ?? parsed.searchParams.get("namespace") ?? undefined, sk ?? parsed.searchParams.get("sessionKey") ?? undefined), abortSignal); return; }
1756
+ if (await maybeRespondRecallNavigation(req, res, pathname, req.method, (op) => this.enforceTokenOp(op), this.respondJson.bind(this), this.readJsonBody.bind(this), this.service, (ns, sk) => this.wearablesScope(req, ns ?? parsed.searchParams.get("namespace") ?? undefined, sk ?? parsed.searchParams.get("sessionKey") ?? undefined))) return;
1757
1757
  // Location sync surfaces (issue #2047): thin branches; bodies + boundary dispatch live in location/http-glue.ts.
1758
1758
  if (req.method === "GET" && (pathname === "/engram/v1/location/status" || pathname === "/remnic/v1/location/status")) {
1759
1759
  this.enforceTokenOp("location_status"); await respondLocationStatus(res, this.respondJson.bind(this), this.service); return; }
@@ -28,6 +28,31 @@ function objectSchema(
28
28
  };
29
29
  }
30
30
 
31
+ /** RecallNavigationResult-shaped schema — shared by memory_expand/memory_traverse. */
32
+ function navigationResultSchema(): Record<string, unknown> {
33
+ return objectSchema(
34
+ {
35
+ ok: T_BOOLEAN,
36
+ action: T_STRING,
37
+ memoryId: T_STRING,
38
+ namespace: T_STRING,
39
+ items: T_ARRAY,
40
+ truncated: T_BOOLEAN,
41
+ budget: objectSchema({ chars: T_NUMBER, used: T_NUMBER }),
42
+ disclosureSpend: objectSchema({
43
+ chunk: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),
44
+ section: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),
45
+ raw: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),
46
+ unspecified: objectSchema({ count: T_NUMBER, estimatedTokens: T_NUMBER }),
47
+ }),
48
+ error: T_NULLABLE_STRING,
49
+ message: T_NULLABLE_STRING,
50
+ rendered: T_STRING,
51
+ },
52
+ ["ok", "action", "rendered"]
53
+ );
54
+ }
55
+
31
56
  /**
32
57
  * Per-suffix outputSchema registry. Tools not present here fall back to
33
58
  * `{ type: "object", additionalProperties: true }` in the constructor pass.
@@ -86,6 +111,11 @@ const TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {
86
111
  { ok: T_BOOLEAN, error: T_NULLABLE_STRING, entries: T_ARRAY, trace: T_ARRAY, rendered: T_STRING },
87
112
  ["entries", "trace"]
88
113
  ),
114
+ // RecallNavigationResult union (recall-navigation.ts): success carries
115
+ // items/budget/disclosureSpend; error carries error/message. ok/action/
116
+ // rendered are the fields every variant returns.
117
+ memory_expand: navigationResultSchema(),
118
+ memory_traverse: navigationResultSchema(),
89
119
  standup: objectSchema({
90
120
  date: T_STRING,
91
121
  yesterday: T_STRING,
package/src/access-mcp.ts CHANGED
@@ -52,7 +52,7 @@ import {
52
52
  withToolAliases,
53
53
  } from "./access-mcp-tool-names.js";
54
54
  import { MCP_READ_ONLY_TOOL_SUFFIXES } from "./mcp-read-only-tools.js";
55
- import { MEETINGS_MCP_TOOLS } from "./meetings/mcp-tools.js"; import { DEEP_RECALL_MCP_TOOLS } from "./deep-recall-mcp-tools.js";
55
+ import { MEETINGS_MCP_TOOLS } from "./meetings/mcp-tools.js"; import { DEEP_RECALL_MCP_TOOLS } from "./deep-recall-mcp-tools.js"; import { RECALL_NAVIGATION_MCP_TOOLS } from "./recall-navigation-mcp-tools.js";
56
56
  import { WEARABLES_MCP_TOOLS } from "./wearables/mcp-tools.js";
57
57
  import { WHO_KNOWS_MCP_TOOLS } from "./who-knows.js"; import { LOCATION_MCP_TOOLS } from "./location/mcp-tools.js"; import { STANDUP_MCP_TOOLS } from "./standup/mcp-tools.js";
58
58
  import { PROMOTION_CANDIDATES_MCP_TOOLS } from "./memory-subject.js";
@@ -247,7 +247,7 @@ export const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> =
247
247
  "engram.console_state": "console_state",
248
248
  "engram.dreams_status": "dreams_status",
249
249
  "engram.dreams_run": "dreams_run",
250
- ...SUPPORT_PASSPORT_MCP_MIGRATED_OPERATIONS, ...MCP_ADMIN_OPS_MIGRATED_OPERATIONS, "engram.deep_recall": "deep_recall",
250
+ ...SUPPORT_PASSPORT_MCP_MIGRATED_OPERATIONS, ...MCP_ADMIN_OPS_MIGRATED_OPERATIONS, "engram.deep_recall": "deep_recall", "engram.memory_expand": "memory_expand", "engram.memory_traverse": "memory_traverse",
251
251
  "engram.memory_chat": "chat_message",
252
252
  };
253
253
 
@@ -261,7 +261,7 @@ function resolveChatGptInspectorRecallSessionKey(
261
261
  }
262
262
 
263
263
  const STRICT_MCP_SCHEMA_KEYS: Partial<Record<SchemaName, readonly string[]>> = {
264
- daySummary: ["memories", "sessionKey", "namespace", "timeZone", "cwd", "projectTag"],
264
+ daySummary: ["memories", "includeLocation", "sessionKey", "namespace", "timeZone", "cwd", "projectTag"],
265
265
  memoryStore: [
266
266
  "schemaVersion",
267
267
  "idempotencyKey",
@@ -688,7 +688,7 @@ export class EngramMcpServer {
688
688
  additionalProperties: false,
689
689
  },
690
690
  },
691
- ...WEARABLES_MCP_TOOLS, ...MEETINGS_MCP_TOOLS, ...WHO_KNOWS_MCP_TOOLS, ...PROMOTION_CANDIDATES_MCP_TOOLS, ...LOCATION_MCP_TOOLS, ...STANDUP_MCP_TOOLS, ...DEEP_RECALL_MCP_TOOLS,
691
+ ...WEARABLES_MCP_TOOLS, ...MEETINGS_MCP_TOOLS, ...WHO_KNOWS_MCP_TOOLS, ...PROMOTION_CANDIDATES_MCP_TOOLS, ...LOCATION_MCP_TOOLS, ...STANDUP_MCP_TOOLS, ...DEEP_RECALL_MCP_TOOLS, ...(service.recallNavigationEnabled !== false ? RECALL_NAVIGATION_MCP_TOOLS : []),
692
692
  ...(service.supportPassportEnabled ? SUPPORT_PASSPORT_MCP_TOOLS : []),
693
693
  {
694
694
  name: "engram.action_confidence",
@@ -1584,12 +1584,9 @@ export class EngramMcpServer {
1584
1584
  type: "object",
1585
1585
  properties: {
1586
1586
  since: { type: "string", description: "Lookback window (e.g. 'yesterday', '3d', '1w', '24h')." },
1587
- focus: {
1588
- type: "string",
1589
- description:
1590
- "Optional focus filter (e.g. 'person:Jane Doe', 'project:remnic-core', 'topic:retrieval').",
1591
- },
1587
+ focus: { type: "string", description: "Optional focus filter (e.g. 'person:Jane Doe', 'project:remnic-core', 'topic:retrieval')." },
1592
1588
  namespace: { type: "string" },
1589
+ includeLocation: { type: "boolean", description: "Opt-in: append matched location place names (location gates apply)." },
1593
1590
  format: { type: "string", enum: ["markdown", "json"] },
1594
1591
  maxFollowups: {
1595
1592
  type: "number",
@@ -13,6 +13,7 @@ import {
13
13
  } from "./access-schema.js";
14
14
 
15
15
  export { reapplyCategoryCoercion };
16
+ export { applyBriefingLocationContext } from "./location/tagging.js";
16
17
 
17
18
  export function splitCanonicalWriteRequest<T extends { rawCategory?: string }>(
18
19
  request: T,
@@ -29,7 +29,7 @@ import {
29
29
  type MemoryScopePlan,
30
30
  NamespaceNotWritableError,
31
31
  } from "./access-service.js";
32
- import { reapplyCategoryCoercion, splitCanonicalWriteRequest } from "./access-observe-write-category.js";
32
+ import { applyBriefingLocationContext, reapplyCategoryCoercion, splitCanonicalWriteRequest } from "./access-observe-write-category.js";
33
33
  import { extractionForceFlush } from "./access-extraction-force-flush.js";
34
34
  import { ObserveTranscriptPersister, observeTranscriptSessionKey } from "./access-observe-transcript.js";
35
35
  import { FileCalendarSource, buildBriefing, parseBriefingFocus, parseBriefingWindow } from "./briefing.js";
@@ -454,7 +454,7 @@ export class AccessObserveWriteSurface {
454
454
  ? new FileCalendarSource(config.briefing.calendarSource)
455
455
  : undefined;
456
456
 
457
- const result = await buildBriefing({
457
+ const result = await applyBriefingLocationContext(await buildBriefing({
458
458
  storage,
459
459
  namespace,
460
460
  window,
@@ -470,7 +470,7 @@ export class AccessObserveWriteSurface {
470
470
  // other LLM feature uses. A configured key keeps its precedence so
471
471
  // existing deployments are unchanged.
472
472
  followupGenerator: config.openaiApiKey ? undefined : this.deps.orchestrator.briefingChainFollowupGenerator,
473
- });
473
+ }), request.includeLocation, storage.dir, window.from.toISOString(), config.location);
474
474
 
475
475
  return {
476
476
  format,
@@ -233,7 +233,7 @@ defineOperation({ name: "chatgpt_memory_inspector", description: "Memory inspect
233
233
  return { result: buildChatGptMemoryInspectorResult(ii, r, x, ac) };
234
234
  },
235
235
  });
236
- defineOperation({ name: "day_summary", description: "Day summary.", schema: strictSchema({ memories: S.str, sessionKey: S.str, namespace: S.str, timeZone: S.str, cwd: S.str, projectTag: S.str }), handler: async (input, ctx) => { const req: Record<string, unknown> = {}; if (input.memories !== undefined) req.memories = optStr(input.memories); if (input.sessionKey !== undefined) req.sessionKey = optStr(input.sessionKey); if (input.namespace !== undefined) req.namespace = optStr(input.namespace); if (input.timeZone !== undefined) req.timeZone = optStr(input.timeZone); const summary = await ctx.service.daySummary(req); return { result: summary ?? {} }; } });
236
+ defineOperation({ name: "day_summary", description: "Day summary.", schema: strictSchema({ memories: S.str, includeLocation: S.bool, sessionKey: S.str, namespace: S.str, timeZone: S.str, cwd: S.str, projectTag: S.str }), handler: async (input, ctx) => { const req: Record<string, unknown> = {}; if (input.memories !== undefined) req.memories = optStr(input.memories); if (input.includeLocation !== undefined) req.includeLocation = optBool(input.includeLocation); if (input.sessionKey !== undefined) req.sessionKey = optStr(input.sessionKey); if (input.namespace !== undefined) req.namespace = optStr(input.namespace); if (input.timeZone !== undefined) req.timeZone = optStr(input.timeZone); const summary = await ctx.service.daySummary(req); return { result: summary ?? {} }; } });
237
237
  defineOperation({ name: "capsule_export", description: "Export capsule.", schema: strictSchema({ name: S.str, namespace: S.str, since: S.str, includeKinds: S.strArr, peerIds: S.strArr, includeTranscripts: S.bool, encrypt: S.bool, cwd: S.str, projectTag: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.capsuleExport({ name: optStr(input.name) ?? "", namespace: optStr(input.namespace), since: optStr(input.since), includeKinds: optStrArr(input.includeKinds), peerIds: optStrArr(input.peerIds), includeTranscripts: optBool(input.includeTranscripts as unknown), encrypt: optBool(input.encrypt as unknown), principal: ctx.authenticatedPrincipal } as unknown as Parameters<EngramAccessService["capsuleExport"]>[0]) }) });
238
238
  defineOperation({ name: "capsule_import", description: "Import capsule.", schema: strictSchema({ archivePath: S.str, namespace: S.str, mode: S.str, passphrase: S.str, cwd: S.str, projectTag: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.capsuleImport({ archivePath: expandTildePath(optStr(input.archivePath) ?? ""), namespace: optStr(input.namespace), mode: optStr(input.mode) as "skip" | "overwrite" | "fork" | undefined, passphrase: optStr(input.passphrase), principal: ctx.authenticatedPrincipal }) }) });
239
239
  defineOperation({ name: "capsule_list", description: "List capsules.", schema: strictSchema({ namespace: S.str, sessionKey: S.str, cwd: S.str, projectTag: S.str }), handler: async (input, ctx) => {
@@ -373,7 +373,7 @@ defineOperation({ name: "memory_promote", description: "Promote memory.", schema
373
373
  defineOperation({ name: "memory_outcome", description: "Record outcome.", schema: strictSchema({ memoryId: S.str, outcome: S.str, namespace: S.str, sessionKey: S.str, timestamp: S.str }), handler: async (input, ctx) => { const o = optStr(input.outcome); if (o !== "success" && o !== "failure") throw new EngramAccessInputError("memory_outcome: outcome must be \"success\" or \"failure\"; got " + JSON.stringify(o)); return { result: await ctx.service.memoryOutcome({ memoryId: optStr(input.memoryId) ?? "", outcome: o, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey), timestamp: optStr(input.timestamp), principal: ctx.authenticatedPrincipal }) }; } });
374
374
  defineOperation({ name: "memory_action_apply", description: "Apply action.", schema: strictSchema({ action: S.str, outcome: S.str, reason: S.str, memoryId: S.str, namespace: S.str, sessionKey: S.str, content: S.str, category: S.str, linkTargetId: S.str, linkType: S.str, linkStrength: S.num, artifactType: S.str, execute: S.bool, sourcePrompt: S.str, dryRun: S.bool }), handler: async (input, ctx) => ({ result: await ctx.service.memoryActionApply({ action: optStr(input.action) ?? "", outcome: optStr(input.outcome), reason: optStr(input.reason), memoryId: optStr(input.memoryId) ?? "", namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey), content: optStr(input.content), category: optStr(input.category), linkTargetId: optStr(input.linkTargetId), linkType: optStr(input.linkType), linkStrength: optNum(input.linkStrength), artifactType: optStr(input.artifactType), execute: optBool(input.execute), sourcePrompt: optStr(input.sourcePrompt), dryRun: input.dryRun === true, principal: ctx.authenticatedPrincipal }) }) });
375
375
  defineOperation({ name: "context_checkpoint", description: "Context checkpoint.", schema: strictSchema({ sessionKey: S.str, context: S.str, namespace: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.contextCheckpoint({ sessionKey: optStr(input.sessionKey) ?? "", context: optStr(input.context) ?? "", namespace: optStr(input.namespace), principal: ctx.authenticatedPrincipal }) }) });
376
- defineOperation({ name: "briefing", description: "Daily briefing.", schema: strictSchema({ since: S.str, focus: S.str, namespace: S.str, format: S.str, maxFollowups: S.num }), handler: async (input, ctx) => { const rf = optStr(input.format); const fe = validateBriefingFormat(rf); if (fe) throw new EngramAccessInputError(fe); return { result: await ctx.service.briefing({ since: optStr(input.since), focus: optStr(input.focus), namespace: optStr(input.namespace), format: rf as "json" | "markdown" | undefined, maxFollowups: optNum(input.maxFollowups), principal: ctx.authenticatedPrincipal }) }; } });
376
+ defineOperation({ name: "briefing", description: "Daily briefing.", schema: strictSchema({ since: S.str, focus: S.str, namespace: S.str, includeLocation: S.bool, format: S.str, maxFollowups: S.num }), handler: async (input, ctx) => { const rf = optStr(input.format); const fe = validateBriefingFormat(rf); if (fe) throw new EngramAccessInputError(fe); return { result: await ctx.service.briefing({ since: optStr(input.since), focus: optStr(input.focus), namespace: optStr(input.namespace), includeLocation: optBool(input.includeLocation), format: rf as "json" | "markdown" | undefined, maxFollowups: optNum(input.maxFollowups), principal: ctx.authenticatedPrincipal }) }; } });
377
377
 
378
378
  // === CONTRADICTION/REVIEW ===
379
379
  defineOperation({ name: "review_list", description: "List review pairs.", schema: strictSchema({ filter: S.str, namespace: S.str, limit: S.num }),
@@ -698,6 +698,8 @@ import "./relay/mission-access.js";
698
698
  // Location sync surfaces (issue #2047).
699
699
  import "./location/access-operations.js";
700
700
  import "./standup/access-operations.js";
701
+ // Recall navigation (issue #1956).
702
+ import "./recall-navigation-operations.js";
701
703
 
702
704
  export const REGISTERED_OPERATIONS = [
703
705
  memoryGetOperation.spec.name,
@@ -529,6 +529,7 @@ export const lcmCompactionRecordRequestSchema = z.object({
529
529
 
530
530
  export const daySummaryRequestSchema = z.object({
531
531
  memories: z.string().max(100000).optional(),
532
+ includeLocation: z.boolean().optional(),
532
533
  sessionKey: sessionKeySchema,
533
534
  namespace: namespaceSchema,
534
535
  timeZone: timeZoneSchema.optional(),
@@ -36,6 +36,7 @@ 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
38
  import { isSharedContextWriteInputError } from "./shared-context/write-output-controls.js";
39
+ import { daySummaryAutoOptions, type LocationContextRequestOptions } from "./location/tagging.js";
39
40
  export type { EngramAccessHealthResponse, EngramAccessQmdCollectionState, EngramAccessQmdHealthResponse };
40
41
  import { AccessAuditAdapter, type AccessAuditConfig, type AccessAuditResult } from "./access-audit.js";
41
42
  import {
@@ -172,6 +173,9 @@ import {
172
173
  } from "./admin/admin-surfaces.js";
173
174
  import { FileCalendarSource, buildBriefing, parseBriefingFocus, parseBriefingWindow } from "./briefing.js";
174
175
  import { type DeepRecallResult, runBudgetedDeepRecall } from "./deep-recall.js";
176
+ import { resolveEffectiveDeepRecallConfig } from "./deep-recall-config.js";
177
+ import { type RecallNavigationRequest, type RecallNavigationResult, runRecallNavigation } from "./recall-navigation.js";
178
+ import { RECALL_NAVIGATION_CONFIG_DEFAULTS } from "./recall-navigation-config.js";
175
179
  import { callDeepRecallPolicyLlm } from "./deep-recall-policy-llm.js";
176
180
  import { createDeepRecallSeedSearch } from "./deep-recall-seeds.js";
177
181
  import { renderDeepRecallResult } from "./deep-recall-renderer.js";
@@ -481,7 +485,7 @@ export interface EngramAccessRecallExplainResponse {
481
485
  graph?: GraphRecallSnapshot | null;
482
486
  }
483
487
 
484
- export interface EngramAccessDaySummaryRequest {
488
+ export interface EngramAccessDaySummaryRequest extends LocationContextRequestOptions {
485
489
  memories?: string;
486
490
  sessionKey?: string;
487
491
  namespace?: string;
@@ -489,7 +493,7 @@ export interface EngramAccessDaySummaryRequest {
489
493
  }
490
494
 
491
495
  /** Inputs accepted by the `remnic_briefing` MCP tool. */
492
- export interface EngramAccessBriefingRequest {
496
+ export interface EngramAccessBriefingRequest extends LocationContextRequestOptions {
493
497
  since?: string;
494
498
  focus?: string;
495
499
  namespace?: string;
@@ -1277,6 +1281,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
1277
1281
  private readonly replicaDivergenceMonitor: ReplicaDivergenceMonitor;
1278
1282
  private readonly injectedSupportPassportGatewayRoute: SupportPassportModelRoute | null;
1279
1283
  readonly reviewDeckEnabled: boolean;
1284
+ readonly recallNavigationEnabled: boolean;
1280
1285
 
1281
1286
  /** AccessObserveWriteSurface (access-service decomposition). Lazy; selfDeps live wiring. */
1282
1287
  private _accessObserveWriteSurface: AccessObserveWriteSurface | undefined;
@@ -1365,6 +1370,9 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
1365
1370
  this.replicaDivergenceMonitor = new ReplicaDivergenceMonitor({ resolveSecretRef: options.resolveSecretRef });
1366
1371
  this.injectedSupportPassportGatewayRoute = options.supportPassportGatewayRoute ?? null;
1367
1372
  this.reviewDeckEnabled = options.reviewDeckEnabled === true;
1373
+ // Configs built without parseConfig (test stubs, older host shapes) may
1374
+ // omit the block; the parsed default (enabled: true) is the contract.
1375
+ this.recallNavigationEnabled = (orchestrator.config.recallNavigation ?? RECALL_NAVIGATION_CONFIG_DEFAULTS).enabled;
1368
1376
  const accessCaps = resolveAccessSetupCapabilities(orchestrator.config); // #1566 Cluster B
1369
1377
  this.budget = new CrossNamespaceBudget({
1370
1378
  enabled: accessCaps.recallCrossNamespaceBudget,
@@ -2476,9 +2484,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
2476
2484
 
2477
2485
  if (memories.length === 0) {
2478
2486
  // Auto-gather today's facts from the resolved namespace
2479
- return this.orchestrator.generateDaySummaryAuto(namespace, {
2480
- timeZone: request.timeZone,
2481
- });
2487
+ return this.orchestrator.generateDaySummaryAuto(namespace, daySummaryAutoOptions(request));
2482
2488
  }
2483
2489
  return this.orchestrator.generateDaySummary(memories);
2484
2490
  }
@@ -2744,29 +2750,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
2744
2750
  if (query.length === 0) {
2745
2751
  throw new EngramAccessInputError("deepRecall: query is required");
2746
2752
  }
2747
- let effective = cfg;
2748
- const requestedSteps = request.maxSteps;
2749
- if (requestedSteps !== undefined) {
2750
- if (typeof requestedSteps !== "number" || !Number.isInteger(requestedSteps) || requestedSteps < 0) {
2751
- throw new EngramAccessInputError("deepRecall: maxSteps must be a non-negative integer");
2752
- }
2753
- // `deepRecall.maxSteps: 0` is a documented disable value (§33): the
2754
- // policy loop is off, so ANY positive override is a refusal rather than
2755
- // a ceiling comparison. The zero case resolves first, so the ceiling
2756
- // threshold below only runs while the loop is enabled.
2757
- if (cfg.maxSteps <= 0) {
2758
- if (requestedSteps > 0) {
2759
- throw new EngramAccessInputError(
2760
- "deepRecall: the policy loop is disabled (deepRecall.maxSteps=0); maxSteps must be 0"
2761
- );
2762
- }
2763
- } else if (requestedSteps > cfg.maxSteps) {
2764
- throw new EngramAccessInputError(
2765
- `deepRecall: maxSteps ${requestedSteps} exceeds the configured ceiling ${cfg.maxSteps}`
2766
- );
2767
- }
2768
- effective = { ...cfg, maxSteps: requestedSteps };
2769
- }
2753
+ const effective = resolveEffectiveDeepRecallConfig(cfg, request.maxSteps);
2770
2754
  const principal =
2771
2755
  request.authenticatedPrincipal?.trim() || resolvePrincipal(request.sessionKey, this.orchestrator.config);
2772
2756
  // Read path resolves through the SAME namespace layer as memoryGet (§30):
@@ -2845,6 +2829,11 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
2845
2829
  return { ...result, rendered: renderDeepRecallResult(result) };
2846
2830
  }
2847
2831
 
2832
+ async recallNavigate(request: RecallNavigationRequest): Promise<RecallNavigationResult> {
2833
+ const principal = request.authenticatedPrincipal?.trim() || resolvePrincipal(request.sessionKey, this.orchestrator.config);
2834
+ return runRecallNavigation({ config: this.orchestrator.config.recallNavigation ?? RECALL_NAVIGATION_CONFIG_DEFAULTS, recallBudgetChars: this.orchestrator.config.recallBudgetChars, recentServedIds: (sessionKey, depth) => this.orchestrator.handleHistory.recent(sessionKey, depth), resolveReadableNamespace: (ns, p) => this.resolveReadableNamespace(ns, p || undefined), getStorage: (namespace) => this.orchestrator.getStorage(namespace) }, { ...request, authenticatedPrincipal: (principal ?? "").length > 0 ? principal : undefined });
2835
+ }
2836
+
2848
2837
  async recallXray(request: {
2849
2838
  query: string;
2850
2839
  sessionKey?: string;
@@ -271,8 +271,17 @@ function extractHttpRouteDispatchMap(): Map<string, Set<string>> {
271
271
  // must not be keyed — validateDispatchCoverage will flag any catalog
272
272
  // entry claiming migration through it (no pathname-only fallback).
273
273
  currentKey = method ? `${method} ${pathname}` : null;
274
- if (currentKey && !routeOps.has(currentKey)) {
275
- routeOps.set(currentKey, new Set<string>());
274
+ if (currentKey) {
275
+ if (!routeOps.has(currentKey)) {
276
+ routeOps.set(currentKey, new Set<string>());
277
+ }
278
+ // One-line route branches (compact style, e.g. the deep-recall
279
+ // route) carry their dispatch marker on the SAME line as the route
280
+ // match — collect it before the loop advances or it is lost.
281
+ const sameLineOp = line.match(/(?:getOperation|enforceTokenOp)\("(\w+)"\)/);
282
+ if (sameLineOp) {
283
+ routeOps.get(currentKey)!.add(sameLineOp[1]!);
284
+ }
276
285
  }
277
286
  continue;
278
287
  }
@@ -350,6 +359,25 @@ function extractHttpRouteDispatchMap(): Map<string, Set<string>> {
350
359
  }
351
360
  }
352
361
  }
362
+
363
+ // Recall-navigation routes (issue #1956): the compact catch-all in
364
+ // access-http.ts delegates to maybeRespondRecallNavigation; the boundary
365
+ // dispatch markers live per-route in recall-navigation-http-glue.ts.
366
+ if (/\bawait\s+maybeRespondRecallNavigation\(/.test(source)) {
367
+ const navigationSource = readFileSync(
368
+ new URL("./recall-navigation-http-glue.ts", import.meta.url),
369
+ "utf-8",
370
+ );
371
+ const navigationRoutes = [
372
+ ["POST", "/engram/v1/memory/expand", "memory_expand"],
373
+ ["POST", "/engram/v1/memory/traverse", "memory_traverse"],
374
+ ] as const;
375
+ for (const [method, pathname, operation] of navigationRoutes) {
376
+ if (navigationSource.includes(`"${pathname}"`) && navigationSource.includes(`enforceTokenOp("${operation}")`)) {
377
+ routeOps.set(`${method} ${pathname}`, new Set([operation]));
378
+ }
379
+ }
380
+ }
353
381
  for (const [sourcePath, routes] of [
354
382
  ["./support-passport/access-http.ts", SUPPORT_PASSPORT_OWNER_HTTP_ROUTES],
355
383
  ["./support-passport/public-http.ts", SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES],
@@ -72,6 +72,8 @@ export const MCP_TOOLS: readonly McpToolEntry[] = [
72
72
  { tool: "meetings_get", operation: "meetings_get" },
73
73
  { tool: "meetings_build", operation: "meetings_build" },
74
74
  { tool: "deep_recall", operation: "deep_recall" },
75
+ { tool: "memory_expand", operation: "memory_expand" },
76
+ { tool: "memory_traverse", operation: "memory_traverse" },
75
77
  { tool: "standup", operation: "standup" },
76
78
  { tool: "action_confidence", operation: "action_confidence" },
77
79
  { tool: "chatgpt_memory_inspector", operation: "chatgpt_memory_inspector" },
@@ -237,6 +239,8 @@ export const HTTP_ROUTES: readonly HttpRouteEntry[] = [
237
239
  { method: "POST", pathname: "/engram/v1/meetings/build", operation: "meetings_build" },
238
240
  { method: "GET", pathname: "/engram/v1/meetings/:id", operation: "meetings_get" },
239
241
  { method: "POST", pathname: "/engram/v1/recall/deep", operation: "deep_recall" },
242
+ { method: "POST", pathname: "/engram/v1/memory/expand", operation: "memory_expand" },
243
+ { method: "POST", pathname: "/engram/v1/memory/traverse", operation: "memory_traverse" },
240
244
  { method: "GET", pathname: "/engram/v1/standup", operation: "standup" },
241
245
  { method: "POST", pathname: "/engram/v1/observe", operation: "observe" },
242
246
  { method: "POST", pathname: "/engram/v1/lcm/search", operation: "lcm_search" },