@remnic/core 9.69.9 → 9.69.11

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 (577) hide show
  1. package/dist/access-admin-ops-surface.d.ts +15 -13
  2. package/dist/access-admin-ops-surface.js +41 -28
  3. package/dist/access-authorization-probe.d.ts +13 -11
  4. package/dist/access-authorization-probe.js +42 -29
  5. package/dist/access-boundary.d.ts +13 -11
  6. package/dist/access-boundary.js +41 -28
  7. package/dist/access-cli.js +101 -89
  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 +13 -11
  11. package/dist/access-extraction-force-flush.js +41 -28
  12. package/dist/access-health-types.d.ts +2 -1
  13. package/dist/access-http-lcm-compaction.d.ts +13 -11
  14. package/dist/access-http-lifecycle-flush.d.ts +13 -11
  15. package/dist/access-http-offline-stream.d.ts +13 -11
  16. package/dist/access-http-query.d.ts +3 -2
  17. package/dist/access-http-query.js +43 -30
  18. package/dist/access-http.d.ts +14 -12
  19. package/dist/access-http.js +62 -47
  20. package/dist/access-identity-continuity-surface.d.ts +10 -9
  21. package/dist/access-identity-continuity-surface.js +41 -28
  22. package/dist/access-lcm-surface.d.ts +13 -11
  23. package/dist/access-lcm-surface.js +41 -28
  24. package/dist/access-mcp-output-schemas.js +1 -1
  25. package/dist/access-mcp.d.ts +13 -11
  26. package/dist/access-mcp.js +53 -39
  27. package/dist/access-memory-search-fanout.d.ts +3 -2
  28. package/dist/{access-namespace-preflight-S8fhQcCo.d.ts → access-namespace-preflight-Cy0yPsaE.d.ts} +1 -1
  29. package/dist/access-namespace-preflight.d.ts +4 -3
  30. package/dist/access-namespace-preflight.js +41 -28
  31. package/dist/access-observe-write-surface.d.ts +15 -13
  32. package/dist/access-observe-write-surface.js +41 -28
  33. package/dist/access-offline-manifest.d.ts +10 -9
  34. package/dist/access-offline-manifest.js +3 -3
  35. package/dist/access-operations-batch.js +44 -31
  36. package/dist/access-operations.d.ts +19 -17
  37. package/dist/access-operations.js +49 -36
  38. package/dist/access-recall-concurrency.d.ts +13 -11
  39. package/dist/access-recall-concurrency.js +41 -28
  40. package/dist/access-recall-response.d.ts +13 -11
  41. package/dist/access-recall-response.js +41 -28
  42. package/dist/access-recall-surface.d.ts +13 -11
  43. package/dist/access-recall-surface.js +41 -28
  44. package/dist/access-schema.d.ts +107 -90
  45. package/dist/access-schema.js +5 -3
  46. package/dist/{access-service-LbwWl05g.d.ts → access-service-Cqfk3dD1.d.ts} +89 -72
  47. package/dist/access-service-helpers.d.ts +13 -11
  48. package/dist/access-service.d.ts +13 -11
  49. package/dist/access-service.js +41 -28
  50. package/dist/access-surface-catalog.d.ts +13 -11
  51. package/dist/access-surface-catalog.js +45 -30
  52. package/dist/access-surface-catalog.js.map +1 -1
  53. package/dist/access-wearables-meetings-surface.d.ts +4 -3
  54. package/dist/action-confidence.d.ts +2 -1
  55. package/dist/active-memory-bridge.d.ts +2 -1
  56. package/dist/active-recall.d.ts +2 -1
  57. package/dist/active-recall.js +6 -5
  58. package/dist/active-recall.js.map +1 -1
  59. package/dist/adapters/index.js +4 -4
  60. package/dist/adapters/registry.js +2 -2
  61. package/dist/ambient-provenance.d.ts +2 -1
  62. package/dist/artifact-search.d.ts +2 -1
  63. package/dist/behavior-learner.d.ts +2 -1
  64. package/dist/behavior-signals.d.ts +2 -1
  65. package/dist/bootstrap.d.ts +10 -9
  66. package/dist/briefing-window.d.ts +3 -2
  67. package/dist/briefing.d.ts +3 -2
  68. package/dist/briefing.js +8 -8
  69. package/dist/buffer-surprise-report.d.ts +2 -1
  70. package/dist/buffer-turn-helpers.d.ts +2 -1
  71. package/dist/buffer.d.ts +3 -2
  72. package/dist/bulk-import/index.d.ts +4 -3
  73. package/dist/calibration.d.ts +2 -1
  74. package/dist/capabilities.d.ts +2 -1
  75. package/dist/{catalog-BmBXTtOs.d.ts → catalog-9X8WpZNO.d.ts} +1 -1
  76. package/dist/causal-behavior.d.ts +2 -1
  77. package/dist/causal-behavior.js +2 -2
  78. package/dist/causal-chain.js +2 -2
  79. package/dist/causal-consolidation.d.ts +2 -1
  80. package/dist/causal-consolidation.js +11 -11
  81. package/dist/causal-retrieval.js +2 -2
  82. package/dist/causal-trajectory-graph.d.ts +2 -1
  83. package/dist/causal-trajectory-graph.js +2 -2
  84. package/dist/causal-trajectory.js +1 -1
  85. package/dist/{chunk-DKZR56A3.js → chunk-227WJVPY.js} +2 -2
  86. package/dist/{chunk-RXS4SQ5S.js → chunk-2EHDPHMD.js} +2 -2
  87. package/dist/{chunk-ZPN6SSWA.js → chunk-2XJDAEAM.js} +2 -2
  88. package/dist/{chunk-J3JEW5CT.js → chunk-3GCK6ONU.js} +2 -2
  89. package/dist/{chunk-44HBCMOA.js → chunk-3ITTF7YH.js} +51 -51
  90. package/dist/{chunk-754GA2UE.js → chunk-3YKOFCKP.js} +11 -6
  91. package/dist/chunk-3YKOFCKP.js.map +1 -0
  92. package/dist/{chunk-GD7D7WP2.js → chunk-4UVDLNHQ.js} +2 -2
  93. package/dist/{chunk-IGUWU5BD.js → chunk-4WIKMOE3.js} +44 -22
  94. package/dist/chunk-4WIKMOE3.js.map +1 -0
  95. package/dist/{chunk-LVYO2HZJ.js → chunk-5HO3QBAD.js} +11 -6
  96. package/dist/chunk-5HO3QBAD.js.map +1 -0
  97. package/dist/{chunk-3QWF54M4.js → chunk-5P2KNFJZ.js} +149 -25
  98. package/dist/chunk-5P2KNFJZ.js.map +1 -0
  99. package/dist/{chunk-YVMTXBJJ.js → chunk-5YQ7RFSO.js} +2 -2
  100. package/dist/{chunk-4PJYD2L3.js → chunk-6TOWUN2R.js} +3 -3
  101. package/dist/{chunk-HINMCD7V.js → chunk-7NCUHD5U.js} +2 -2
  102. package/dist/{chunk-QHYSECIG.js → chunk-7ZMU4XQT.js} +2 -2
  103. package/dist/{chunk-GISV63M2.js → chunk-APZXA4WI.js} +2 -2
  104. package/dist/{chunk-2QSZNTDO.js → chunk-AU7Q3LSC.js} +4 -4
  105. package/dist/{chunk-G4MCAHMF.js → chunk-B75VCEX5.js} +5 -5
  106. package/dist/{chunk-DJZWNKFO.js → chunk-BE4Y6GK6.js} +2 -2
  107. package/dist/{chunk-E5WTGEWX.js → chunk-BEXFNGQ3.js} +3 -3
  108. package/dist/{chunk-SO73GYOZ.js → chunk-BFDOBESV.js} +2 -2
  109. package/dist/{chunk-OLT3YTDH.js → chunk-BIJAWZYW.js} +4 -4
  110. package/dist/{chunk-X5TGZAP2.js → chunk-BO4PWIJY.js} +3 -3
  111. package/dist/{chunk-JMAG7WZ7.js → chunk-BX6GW4KC.js} +2 -2
  112. package/dist/chunk-C5C7IJ4Q.js +27 -0
  113. package/dist/chunk-C5C7IJ4Q.js.map +1 -0
  114. package/dist/chunk-CC37E3QM.js +198 -0
  115. package/dist/chunk-CC37E3QM.js.map +1 -0
  116. package/dist/{chunk-X5PIDJ3L.js → chunk-DA4ZMCBU.js} +3 -3
  117. package/dist/{chunk-PEOFTEUC.js → chunk-DH3V7RCQ.js} +21 -13
  118. package/dist/chunk-DH3V7RCQ.js.map +1 -0
  119. package/dist/chunk-DXFG2VGN.js +50 -0
  120. package/dist/chunk-DXFG2VGN.js.map +1 -0
  121. package/dist/{chunk-4OFKZAJG.js → chunk-EAARGPWI.js} +2 -1
  122. package/dist/chunk-EAARGPWI.js.map +1 -0
  123. package/dist/{chunk-H6RSANGQ.js → chunk-ETZ7KKOS.js} +2 -2
  124. package/dist/{chunk-K4E3Y3ZX.js → chunk-G7VEQEMG.js} +2 -1
  125. package/dist/chunk-G7VEQEMG.js.map +1 -0
  126. package/dist/{chunk-SXQZMC7R.js → chunk-GR4C3FHT.js} +2 -2
  127. package/dist/{chunk-S6AHHQ6C.js → chunk-H5IIBGDM.js} +2 -2
  128. package/dist/{chunk-GFGQOZGG.js → chunk-HFRGCNFY.js} +10 -10
  129. package/dist/chunk-HRATODNO.js +28 -0
  130. package/dist/chunk-HRATODNO.js.map +1 -0
  131. package/dist/{chunk-MAG6M3B6.js → chunk-HTOWFFAI.js} +2 -2
  132. package/dist/chunk-HUSTM6PU.js +27 -0
  133. package/dist/chunk-HUSTM6PU.js.map +1 -0
  134. package/dist/{chunk-KAVQ5GYY.js → chunk-I4QAH4SY.js} +3 -3
  135. package/dist/{chunk-2MW3UQNX.js → chunk-I6DUKBUI.js} +2 -2
  136. package/dist/{chunk-VI637ILW.js → chunk-IN673LEP.js} +48 -15
  137. package/dist/chunk-IN673LEP.js.map +1 -0
  138. package/dist/{chunk-YHCBJULX.js → chunk-JGXMA6HL.js} +2 -2
  139. package/dist/{chunk-TA7UZZMW.js → chunk-JHTF22NQ.js} +2 -2
  140. package/dist/{chunk-ANN5VMHT.js → chunk-LDOQE34V.js} +2 -2
  141. package/dist/{chunk-MEW53VQJ.js → chunk-LDWIPYJ6.js} +7 -7
  142. package/dist/{chunk-227UFSEQ.js → chunk-LEPOP46W.js} +4 -4
  143. package/dist/{chunk-H3HOC6UT.js → chunk-LF6SHWVV.js} +2 -2
  144. package/dist/{chunk-QGUFN25Q.js → chunk-LJAP4KSW.js} +2 -2
  145. package/dist/{chunk-JAU4MRKB.js → chunk-LJNLLNEM.js} +2 -2
  146. package/dist/{chunk-6C57JBJ3.js → chunk-LUDXSSTW.js} +2 -2
  147. package/dist/{chunk-YJPFTF57.js → chunk-LWBSEYW3.js} +6 -6
  148. package/dist/chunk-M6RORUO5.js +59 -0
  149. package/dist/chunk-M6RORUO5.js.map +1 -0
  150. package/dist/{chunk-PRK4WTPU.js → chunk-M7DGN6JZ.js} +3 -3
  151. package/dist/{chunk-EN75MUTO.js → chunk-MNH2GM4O.js} +5 -5
  152. package/dist/{chunk-LK4TOYPU.js → chunk-NF3NMAG7.js} +2 -2
  153. package/dist/{chunk-M5UJJUON.js → chunk-NHLEFBE2.js} +10 -2
  154. package/dist/chunk-NHLEFBE2.js.map +1 -0
  155. package/dist/chunk-NN5CQTAJ.js +42 -0
  156. package/dist/chunk-NN5CQTAJ.js.map +1 -0
  157. package/dist/{chunk-VGTXHTWU.js → chunk-OASGWNYL.js} +2 -2
  158. package/dist/chunk-OEDW4ER7.js +62 -0
  159. package/dist/chunk-OEDW4ER7.js.map +1 -0
  160. package/dist/{chunk-C2JCVZWX.js → chunk-OLBZ2WGG.js} +2 -2
  161. package/dist/{chunk-Z3SQEEB6.js → chunk-OUKBMQ2O.js} +2 -2
  162. package/dist/{chunk-XXW32OL7.js → chunk-OYV6RKPM.js} +1 -1
  163. package/dist/chunk-OYV6RKPM.js.map +1 -0
  164. package/dist/{chunk-2Z3DG5CQ.js → chunk-P6GKRT2H.js} +1 -1
  165. package/dist/{chunk-A3WMMQAH.js → chunk-P7LVYPIX.js} +3 -3
  166. package/dist/{chunk-26JWBSWD.js → chunk-PGCZLHRB.js} +11 -3
  167. package/dist/chunk-PGCZLHRB.js.map +1 -0
  168. package/dist/{chunk-Y3WMJAZ3.js → chunk-QRDSXR3V.js} +2 -2
  169. package/dist/{chunk-NDE7CH6C.js → chunk-QUVWFZOU.js} +2 -2
  170. package/dist/{chunk-M5GBTETG.js → chunk-R7FXPG4T.js} +2 -2
  171. package/dist/chunk-RF2SMMPP.js +37 -0
  172. package/dist/chunk-RF2SMMPP.js.map +1 -0
  173. package/dist/{chunk-X66BHMAU.js → chunk-RJ57OOCD.js} +2 -2
  174. package/dist/chunk-S5G2LAL7.js +354 -0
  175. package/dist/chunk-S5G2LAL7.js.map +1 -0
  176. package/dist/{chunk-VOPOPTZ7.js → chunk-TRLCMLX7.js} +2 -2
  177. package/dist/{chunk-KZMFU7YL.js → chunk-V3HUBF7T.js} +2 -2
  178. package/dist/{chunk-KLL5SPER.js → chunk-VHAKBUBD.js} +2 -2
  179. package/dist/{chunk-WF2WCZCR.js → chunk-VYD63IFH.js} +3 -3
  180. package/dist/chunk-VZIAVM72.js +49 -0
  181. package/dist/chunk-VZIAVM72.js.map +1 -0
  182. package/dist/chunk-WTWQA7BB.js +28 -0
  183. package/dist/chunk-WTWQA7BB.js.map +1 -0
  184. package/dist/{chunk-J55NAXDH.js → chunk-X4FIZAVQ.js} +82 -40
  185. package/dist/chunk-X4FIZAVQ.js.map +1 -0
  186. package/dist/{chunk-3FXXFLVK.js → chunk-XFPHV65N.js} +2 -2
  187. package/dist/{chunk-JCUG7AXZ.js → chunk-XJJYSX6F.js} +4 -4
  188. package/dist/{chunk-NAZROP6I.js → chunk-XMIAU4CO.js} +2 -2
  189. package/dist/{chunk-LHGIBXVX.js → chunk-XQGFIAG7.js} +2 -2
  190. package/dist/{chunk-5TBO7CDR.js → chunk-YSSAGB2O.js} +4 -23
  191. package/dist/chunk-YSSAGB2O.js.map +1 -0
  192. package/dist/{chunk-IWO4HEOL.js → chunk-YWN3GYI2.js} +2 -2
  193. package/dist/{chunk-IIO4C3YL.js → chunk-Z33VUMKY.js} +3 -3
  194. package/dist/{cli-Bvy4jdBu.d.ts → cli-Dk-lM_tI.d.ts} +5 -5
  195. package/dist/cli.d.ts +15 -13
  196. package/dist/cli.js +80 -68
  197. package/dist/coding/export-okf-codegraph.d.ts +2 -1
  198. package/dist/coding/export-okf-codegraph.js +8 -8
  199. package/dist/coding/pre-action-gate.d.ts +2 -1
  200. package/dist/coding/pre-action-gate.js +2 -2
  201. package/dist/compounding/engine.d.ts +3 -2
  202. package/dist/compounding/engine.js +10 -9
  203. package/dist/compounding/preference-consolidator.d.ts +2 -1
  204. package/dist/compression-optimizer.d.ts +2 -1
  205. package/dist/config.d.ts +2 -1
  206. package/dist/config.js +6 -5
  207. package/dist/connectors/codex-materialize-runner.d.ts +2 -1
  208. package/dist/connectors/codex-materialize-runner.js +8 -8
  209. package/dist/connectors/codex-materialize.d.ts +2 -1
  210. package/dist/connectors/index.d.ts +2 -1
  211. package/dist/connectors/index.js +10 -9
  212. package/dist/consolidation-provenance-check.d.ts +3 -2
  213. package/dist/consolidation-undo.d.ts +3 -2
  214. package/dist/contradiction/index.d.ts +4 -3
  215. package/dist/converge-config.d.ts +2 -1
  216. package/dist/convergence-refresh.d.ts +3 -2
  217. package/dist/convergence-refresh.js +10 -10
  218. package/dist/conversation-index/backend.d.ts +2 -1
  219. package/dist/conversation-index/backend.js +2 -2
  220. package/dist/conversation-index/chunker.d.ts +2 -1
  221. package/dist/conversation-index/faiss-adapter.d.ts +2 -1
  222. package/dist/conversation-index/indexer.d.ts +2 -1
  223. package/dist/conversation-index/search.d.ts +2 -1
  224. package/dist/corpus-watermark.d.ts +2 -1
  225. package/dist/corpus-watermark.js +10 -10
  226. package/dist/cross-lingual-recall.d.ts +2 -1
  227. package/dist/day-summary.d.ts +2 -1
  228. package/dist/deep-recall-config.d.ts +32 -0
  229. package/dist/deep-recall-config.js +12 -0
  230. package/dist/deep-recall-http-glue.d.ts +170 -0
  231. package/dist/deep-recall-http-glue.js +31 -0
  232. package/dist/deep-recall-http-glue.js.map +1 -0
  233. package/dist/deep-recall-mcp-tools.d.ts +144 -0
  234. package/dist/deep-recall-mcp-tools.js +8 -0
  235. package/dist/deep-recall-mcp-tools.js.map +1 -0
  236. package/dist/deep-recall-policy-llm.d.ts +37 -0
  237. package/dist/deep-recall-policy-llm.js +19 -0
  238. package/dist/deep-recall-policy-llm.js.map +1 -0
  239. package/dist/deep-recall-renderer.d.ts +16 -0
  240. package/dist/deep-recall-renderer.js +8 -0
  241. package/dist/deep-recall-renderer.js.map +1 -0
  242. package/dist/deep-recall-seeds.d.ts +83 -0
  243. package/dist/deep-recall-seeds.js +8 -0
  244. package/dist/deep-recall-seeds.js.map +1 -0
  245. package/dist/deep-recall.d.ts +97 -0
  246. package/dist/deep-recall.js +13 -0
  247. package/dist/deep-recall.js.map +1 -0
  248. package/dist/delinearize.d.ts +2 -1
  249. package/dist/dependency-propagation-config.d.ts +2 -1
  250. package/dist/{dependency-propagation-delivery-BC3bCEet.d.ts → dependency-propagation-delivery-BZGUecZf.d.ts} +1 -1
  251. package/dist/direct-answer-wiring.d.ts +2 -1
  252. package/dist/direct-answer.d.ts +2 -1
  253. package/dist/embedding-fallback.d.ts +2 -1
  254. package/dist/enrichment/index.d.ts +2 -1
  255. package/dist/entity-origin-fields.d.ts +2 -1
  256. package/dist/entity-retrieval.d.ts +3 -2
  257. package/dist/entity-retrieval.js +8 -8
  258. package/dist/entity-schema.d.ts +2 -1
  259. package/dist/episodic-context.d.ts +2 -1
  260. package/dist/eval-trajectory-contracts.d.ts +2 -1
  261. package/dist/eval-trajectory-store.d.ts +2 -1
  262. package/dist/eval-trajectory.d.ts +2 -1
  263. package/dist/explicit-capture.d.ts +10 -9
  264. package/dist/external-wiki-access.d.ts +13 -11
  265. package/dist/external-wiki-access.js +42 -29
  266. package/dist/external-wiki-collection-registration.d.ts +2 -1
  267. package/dist/external-wiki-collection.d.ts +2 -1
  268. package/dist/external-wiki-mcp-tools.d.ts +13 -11
  269. package/dist/extraction-error-classification.d.ts +2 -1
  270. package/dist/extraction-faithfulness.d.ts +2 -1
  271. package/dist/extraction-judge-telemetry.d.ts +2 -1
  272. package/dist/extraction-judge-training.d.ts +2 -1
  273. package/dist/extraction-judge.d.ts +2 -1
  274. package/dist/extraction-liveness.d.ts +2 -1
  275. package/dist/extraction-normalization.d.ts +2 -1
  276. package/dist/extraction-prompt.d.ts +2 -1
  277. package/dist/extraction-source-grounding-rules.d.ts +2 -1
  278. package/dist/extraction-source-grounding.d.ts +2 -1
  279. package/dist/extraction.d.ts +2 -1
  280. package/dist/extraction.js +14 -13
  281. package/dist/fallback-llm.d.ts +2 -1
  282. package/dist/graph-dashboard-diff.d.ts +2 -1
  283. package/dist/graph-dashboard-key.d.ts +2 -1
  284. package/dist/graph-dashboard-parser.d.ts +2 -1
  285. package/dist/{graph-edge-decay-DGTBFALQ.js → graph-edge-decay-FXGELBFA.js} +4 -4
  286. package/dist/graph-edge-decay-FXGELBFA.js.map +1 -0
  287. package/dist/graph-edge-reinforcement.d.ts +2 -1
  288. package/dist/graph-path-reconstruction.d.ts +2 -1
  289. package/dist/graph-path-scoring.d.ts +2 -1
  290. package/dist/graph-snapshot.d.ts +2 -1
  291. package/dist/graph-snapshot.js +3 -3
  292. package/dist/graph.d.ts +2 -1
  293. package/dist/graph.js +2 -2
  294. package/dist/harmonic-construction.js +3 -3
  295. package/dist/harmonic-retrieval.d.ts +38 -2
  296. package/dist/harmonic-retrieval.js +12 -3
  297. package/dist/importance.d.ts +2 -1
  298. package/dist/importers/index.d.ts +2 -1
  299. package/dist/in-flight-reads.d.ts +2 -1
  300. package/dist/{index-D4hS9uxK.d.ts → index-B4iTvT-w.d.ts} +2 -2
  301. package/dist/index.d.ts +701 -699
  302. package/dist/index.js +118 -106
  303. package/dist/intent.d.ts +2 -1
  304. package/dist/lcm/engine.d.ts +2 -1
  305. package/dist/lcm/index.d.ts +2 -1
  306. package/dist/lcm/tools.d.ts +2 -1
  307. package/dist/lifecycle.d.ts +2 -1
  308. package/dist/live-connectors-runner.d.ts +2 -1
  309. package/dist/local-llm.d.ts +2 -1
  310. package/dist/local-model-endpoint.d.ts +2 -1
  311. package/dist/location/index.d.ts +4 -3
  312. package/dist/location/index.js +10 -10
  313. package/dist/maintenance/memory-governance.d.ts +2 -1
  314. package/dist/maintenance/memory-governance.js +8 -8
  315. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
  316. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
  317. package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
  318. package/dist/maintenance/rebuild-memory-projection.js +9 -9
  319. package/dist/{maintenance-BRcc3Hx8.d.ts → maintenance-BBpNqEeJ.d.ts} +3 -3
  320. package/dist/mcp-memory-inspector-app.d.ts +13 -11
  321. package/dist/mcp-read-only-tools.js +1 -1
  322. package/dist/memory-action-policy.d.ts +2 -1
  323. package/dist/memory-cache.d.ts +2 -1
  324. package/dist/memory-controller.d.ts +2 -1
  325. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
  326. package/dist/memory-projection-store.d.ts +2 -1
  327. package/dist/memory-provenance.d.ts +2 -1
  328. package/dist/memory-snapshot.d.ts +2 -1
  329. package/dist/memory-subject-cli.d.ts +13 -11
  330. package/dist/memory-subject.d.ts +13 -11
  331. package/dist/memory-worth-outcomes.d.ts +3 -2
  332. package/dist/models-json.d.ts +2 -1
  333. package/dist/namespaces/migrate.d.ts +4 -3
  334. package/dist/namespaces/migrate.js +9 -9
  335. package/dist/namespaces/principal.d.ts +2 -1
  336. package/dist/namespaces/search.d.ts +2 -1
  337. package/dist/namespaces/search.js +4 -4
  338. package/dist/namespaces/storage.d.ts +4 -3
  339. package/dist/namespaces/storage.js +8 -8
  340. package/dist/native-knowledge.d.ts +2 -1
  341. package/dist/offline-sync-impression-drain.d.ts +2 -1
  342. package/dist/offline-sync.js +2 -2
  343. package/dist/operator-doctor-corpus.d.ts +2 -1
  344. package/dist/operator-doctor-corpus.js +11 -11
  345. package/dist/operator-doctor-replica.d.ts +2 -1
  346. package/dist/operator-toolkit.d.ts +4 -3
  347. package/dist/operator-toolkit.js +24 -23
  348. package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
  349. package/dist/orchestration/maintenance.d.ts +5 -4
  350. package/dist/orchestration/maintenance.js +16 -16
  351. package/dist/{orchestrator-Btq9lzAN.d.ts → orchestrator-DglY1H0w.d.ts} +8 -8
  352. package/dist/orchestrator.d.ts +10 -9
  353. package/dist/orchestrator.js +101 -89
  354. package/dist/patterns-cli.d.ts +2 -1
  355. package/dist/{pipeline-CZoNdFb5.d.ts → pipeline-C7qRsy6g.d.ts} +1 -1
  356. package/dist/policy-runtime.d.ts +2 -1
  357. package/dist/proactive-contention.d.ts +2 -1
  358. package/dist/provenance.d.ts +2 -1
  359. package/dist/{public-http-2MyshWxl.d.ts → public-http-CPpCsi35.d.ts} +1 -1
  360. package/dist/{qmd-VIjSCKIE.d.ts → qmd-YRLTa3AE.d.ts} +1 -1
  361. package/dist/qmd-preflight.d.ts +3 -2
  362. package/dist/qmd-recall-cache.d.ts +2 -1
  363. package/dist/qmd.d.ts +3 -2
  364. package/dist/recall-concurrency-config.d.ts +2 -1
  365. package/dist/recall-deep-expand-select.js +4 -44
  366. package/dist/recall-deep-expand-select.js.map +1 -1
  367. package/dist/recall-deep-frontier.js +4 -23
  368. package/dist/recall-deep-frontier.js.map +1 -1
  369. package/dist/recall-deep-rewrite.js +4 -23
  370. package/dist/recall-deep-rewrite.js.map +1 -1
  371. package/dist/recall-disclosure-escalation.d.ts +2 -1
  372. package/dist/recall-explain-renderer.d.ts +2 -1
  373. package/dist/recall-explain-renderer.js +3 -3
  374. package/dist/recall-memory-map.d.ts +2 -1
  375. package/dist/recall-navigate-access.d.ts +2 -1
  376. package/dist/recall-navigate-access.js +2 -2
  377. package/dist/recall-navigate-disclosure.d.ts +2 -1
  378. package/dist/recall-navigate-disclosure.js +1 -1
  379. package/dist/recall-navigate.d.ts +2 -1
  380. package/dist/recall-navigate.js +2 -2
  381. package/dist/recall-planner-llm.d.ts +2 -1
  382. package/dist/recall-state.d.ts +2 -1
  383. package/dist/recall-tag-filter.d.ts +2 -1
  384. package/dist/recall-timings.d.ts +2 -1
  385. package/dist/recall-xray-cli.d.ts +2 -1
  386. package/dist/recall-xray-cli.js +4 -4
  387. package/dist/recall-xray-renderer.d.ts +2 -1
  388. package/dist/recall-xray-renderer.js +3 -3
  389. package/dist/recall-xray.d.ts +2 -1
  390. package/dist/recall-xray.js +2 -2
  391. package/dist/reconcile/cursor.d.ts +2 -1
  392. package/dist/reconcile/manifest.d.ts +2 -1
  393. package/dist/reconcile/plan.d.ts +2 -1
  394. package/dist/replay/normalizers/chatgpt.d.ts +2 -1
  395. package/dist/replay/normalizers/claude.d.ts +2 -1
  396. package/dist/replay/normalizers/openclaw.d.ts +2 -1
  397. package/dist/replay/normalizers/shared.d.ts +2 -1
  398. package/dist/replay/runner.d.ts +2 -1
  399. package/dist/replay/types.d.ts +2 -1
  400. package/dist/replica-divergence.d.ts +2 -1
  401. package/dist/replica-peers-config.d.ts +2 -1
  402. package/dist/resolve-auth-token.d.ts +2 -1
  403. package/dist/resume-bundles.js +7 -6
  404. package/dist/retrieval-agents.d.ts +3 -2
  405. package/dist/retrieval-tiers.d.ts +2 -1
  406. package/dist/routing/engine.d.ts +2 -1
  407. package/dist/routing/store.d.ts +2 -1
  408. package/dist/runtime/http-transport.d.ts +4 -0
  409. package/dist/runtime/http-transport.js +10 -0
  410. package/dist/runtime/http-transport.js.map +1 -0
  411. package/dist/salvage-envelope.d.ts +2 -1
  412. package/dist/schemas.d.ts +176 -176
  413. package/dist/{scope-profiles-DqbxQXIS.d.ts → scope-profiles-BVvqVzJX.d.ts} +1 -1
  414. package/dist/search/embed-helper.d.ts +2 -1
  415. package/dist/search/factory.d.ts +2 -1
  416. package/dist/search/factory.js +3 -3
  417. package/dist/search/index.d.ts +2 -1
  418. package/dist/search/index.js +3 -3
  419. package/dist/search/lancedb-backend.d.ts +2 -1
  420. package/dist/search/meilisearch-backend.d.ts +2 -1
  421. package/dist/search/noop-backend.d.ts +2 -1
  422. package/dist/search/orama-backend.d.ts +2 -1
  423. package/dist/search/port.d.ts +2 -1
  424. package/dist/search/remote-backend.d.ts +2 -1
  425. package/dist/{semantic-consolidation-DW3rEUoW.d.ts → semantic-consolidation-BzCI6Kuu.d.ts} +1 -1
  426. package/dist/semantic-consolidation.d.ts +3 -2
  427. package/dist/semantic-consolidation.js +9 -9
  428. package/dist/semantic-rule-promotion.js +8 -8
  429. package/dist/semantic-rule-verifier.d.ts +2 -1
  430. package/dist/semantic-rule-verifier.js +8 -8
  431. package/dist/{service-B2vJU_Bx.d.ts → service-DQ3Gscy5.d.ts} +2 -2
  432. package/dist/session-observer-bands.d.ts +2 -1
  433. package/dist/session-observer-state.d.ts +2 -1
  434. package/dist/shared-context/manager.d.ts +43 -7
  435. package/dist/shared-context/manager.js +2 -1
  436. package/dist/signal.d.ts +2 -1
  437. package/dist/source-agent-qualifier.d.ts +2 -1
  438. package/dist/source-agent-qualifier.js +12 -11
  439. package/dist/standup/build.js +8 -8
  440. package/dist/{storage-6fn7BPmb.d.ts → storage-DmTbQdD0.d.ts} +1 -1
  441. package/dist/storage.d.ts +3 -2
  442. package/dist/storage.js +7 -7
  443. package/dist/subject-config.d.ts +2 -1
  444. package/dist/summarizer.d.ts +2 -1
  445. package/dist/summary-snapshot.d.ts +2 -1
  446. package/dist/support-passport/index.d.ts +16 -14
  447. package/dist/support-passport/index.js +44 -31
  448. package/dist/temporal-supersession.d.ts +3 -2
  449. package/dist/temporal-timeline-recall.d.ts +2 -1
  450. package/dist/temporal-validity.d.ts +2 -1
  451. package/dist/threading.d.ts +2 -1
  452. package/dist/tier-migration.d.ts +3 -2
  453. package/dist/tier-routing.d.ts +2 -1
  454. package/dist/topics.d.ts +2 -1
  455. package/dist/transcript.d.ts +2 -1
  456. package/dist/transfer/export-okf.d.ts +2 -1
  457. package/dist/transfer/export-okf.js +9 -9
  458. package/dist/transfer/types.d.ts +78 -78
  459. package/dist/trust-score-stage.d.ts +2 -1
  460. package/dist/trust-score.d.ts +2 -1
  461. package/dist/{types-eM7QIcX2.d.ts → types-CLRTESSD.d.ts} +3 -1
  462. package/dist/types.d.ts +2 -1
  463. package/dist/types.js +1 -1
  464. package/dist/utility-runtime.d.ts +2 -1
  465. package/dist/verified-recall.js +8 -8
  466. package/dist/who-knows-cli.d.ts +13 -11
  467. package/dist/who-knows-cli.js +9 -9
  468. package/dist/who-knows.d.ts +13 -11
  469. package/dist/who-knows.js +8 -8
  470. package/dist/write-envelope.d.ts +2 -1
  471. package/package.json +12 -2
  472. package/src/access-boundary.ts +1 -0
  473. package/src/access-http.ts +5 -5
  474. package/src/access-mcp-output-schemas.ts +1 -0
  475. package/src/access-mcp.ts +3 -3
  476. package/src/access-operations-batch.ts +3 -1
  477. package/src/access-schema.ts +12 -0
  478. package/src/access-service.ts +162 -5
  479. package/src/access-surface-catalog.ts +2 -0
  480. package/src/cli/deep-recall-commands.ts +60 -0
  481. package/src/cli.ts +2 -2
  482. package/src/config.test.ts +19 -0
  483. package/src/config.ts +7 -0
  484. package/src/deep-recall-config.ts +83 -0
  485. package/src/deep-recall-http-glue.ts +75 -0
  486. package/src/deep-recall-mcp-tools.ts +33 -0
  487. package/src/deep-recall-policy-llm.ts +65 -0
  488. package/src/deep-recall-renderer.ts +41 -0
  489. package/src/deep-recall-seeds.ts +134 -0
  490. package/src/deep-recall-surface.test.ts +902 -0
  491. package/src/deep-recall.test.ts +348 -0
  492. package/src/deep-recall.ts +572 -0
  493. package/src/harmonic-retrieval.ts +78 -25
  494. package/src/mcp-read-only-tools.ts +1 -0
  495. package/src/shared-context/envelope-at.test.ts +23 -0
  496. package/src/shared-context/envelope-at.ts +12 -6
  497. package/src/shared-context/envelope-io.ts +184 -0
  498. package/src/shared-context/envelope-wiring.test.ts +193 -0
  499. package/src/shared-context/governance.ts +28 -9
  500. package/src/shared-context/iso-instant.ts +43 -0
  501. package/src/shared-context/manager.ts +74 -15
  502. package/src/shared-context/provenance.ts +3 -26
  503. package/src/shared-context/write-origin.test.ts +145 -0
  504. package/src/types.ts +3 -1
  505. package/dist/chunk-26JWBSWD.js.map +0 -1
  506. package/dist/chunk-3QWF54M4.js.map +0 -1
  507. package/dist/chunk-4OFKZAJG.js.map +0 -1
  508. package/dist/chunk-5TBO7CDR.js.map +0 -1
  509. package/dist/chunk-754GA2UE.js.map +0 -1
  510. package/dist/chunk-IGUWU5BD.js.map +0 -1
  511. package/dist/chunk-J55NAXDH.js.map +0 -1
  512. package/dist/chunk-K4E3Y3ZX.js.map +0 -1
  513. package/dist/chunk-LVYO2HZJ.js.map +0 -1
  514. package/dist/chunk-M5UJJUON.js.map +0 -1
  515. package/dist/chunk-PEOFTEUC.js.map +0 -1
  516. package/dist/chunk-VI637ILW.js.map +0 -1
  517. package/dist/chunk-XXW32OL7.js.map +0 -1
  518. /package/dist/{chunk-DKZR56A3.js.map → chunk-227WJVPY.js.map} +0 -0
  519. /package/dist/{chunk-RXS4SQ5S.js.map → chunk-2EHDPHMD.js.map} +0 -0
  520. /package/dist/{chunk-ZPN6SSWA.js.map → chunk-2XJDAEAM.js.map} +0 -0
  521. /package/dist/{chunk-J3JEW5CT.js.map → chunk-3GCK6ONU.js.map} +0 -0
  522. /package/dist/{chunk-44HBCMOA.js.map → chunk-3ITTF7YH.js.map} +0 -0
  523. /package/dist/{chunk-GD7D7WP2.js.map → chunk-4UVDLNHQ.js.map} +0 -0
  524. /package/dist/{chunk-YVMTXBJJ.js.map → chunk-5YQ7RFSO.js.map} +0 -0
  525. /package/dist/{chunk-4PJYD2L3.js.map → chunk-6TOWUN2R.js.map} +0 -0
  526. /package/dist/{chunk-HINMCD7V.js.map → chunk-7NCUHD5U.js.map} +0 -0
  527. /package/dist/{chunk-QHYSECIG.js.map → chunk-7ZMU4XQT.js.map} +0 -0
  528. /package/dist/{chunk-GISV63M2.js.map → chunk-APZXA4WI.js.map} +0 -0
  529. /package/dist/{chunk-2QSZNTDO.js.map → chunk-AU7Q3LSC.js.map} +0 -0
  530. /package/dist/{chunk-G4MCAHMF.js.map → chunk-B75VCEX5.js.map} +0 -0
  531. /package/dist/{chunk-DJZWNKFO.js.map → chunk-BE4Y6GK6.js.map} +0 -0
  532. /package/dist/{chunk-E5WTGEWX.js.map → chunk-BEXFNGQ3.js.map} +0 -0
  533. /package/dist/{chunk-SO73GYOZ.js.map → chunk-BFDOBESV.js.map} +0 -0
  534. /package/dist/{chunk-OLT3YTDH.js.map → chunk-BIJAWZYW.js.map} +0 -0
  535. /package/dist/{chunk-X5TGZAP2.js.map → chunk-BO4PWIJY.js.map} +0 -0
  536. /package/dist/{chunk-JMAG7WZ7.js.map → chunk-BX6GW4KC.js.map} +0 -0
  537. /package/dist/{chunk-X5PIDJ3L.js.map → chunk-DA4ZMCBU.js.map} +0 -0
  538. /package/dist/{chunk-H6RSANGQ.js.map → chunk-ETZ7KKOS.js.map} +0 -0
  539. /package/dist/{chunk-SXQZMC7R.js.map → chunk-GR4C3FHT.js.map} +0 -0
  540. /package/dist/{chunk-S6AHHQ6C.js.map → chunk-H5IIBGDM.js.map} +0 -0
  541. /package/dist/{chunk-GFGQOZGG.js.map → chunk-HFRGCNFY.js.map} +0 -0
  542. /package/dist/{chunk-MAG6M3B6.js.map → chunk-HTOWFFAI.js.map} +0 -0
  543. /package/dist/{chunk-KAVQ5GYY.js.map → chunk-I4QAH4SY.js.map} +0 -0
  544. /package/dist/{chunk-2MW3UQNX.js.map → chunk-I6DUKBUI.js.map} +0 -0
  545. /package/dist/{chunk-YHCBJULX.js.map → chunk-JGXMA6HL.js.map} +0 -0
  546. /package/dist/{chunk-TA7UZZMW.js.map → chunk-JHTF22NQ.js.map} +0 -0
  547. /package/dist/{chunk-ANN5VMHT.js.map → chunk-LDOQE34V.js.map} +0 -0
  548. /package/dist/{chunk-MEW53VQJ.js.map → chunk-LDWIPYJ6.js.map} +0 -0
  549. /package/dist/{chunk-227UFSEQ.js.map → chunk-LEPOP46W.js.map} +0 -0
  550. /package/dist/{chunk-H3HOC6UT.js.map → chunk-LF6SHWVV.js.map} +0 -0
  551. /package/dist/{chunk-QGUFN25Q.js.map → chunk-LJAP4KSW.js.map} +0 -0
  552. /package/dist/{chunk-JAU4MRKB.js.map → chunk-LJNLLNEM.js.map} +0 -0
  553. /package/dist/{chunk-6C57JBJ3.js.map → chunk-LUDXSSTW.js.map} +0 -0
  554. /package/dist/{chunk-YJPFTF57.js.map → chunk-LWBSEYW3.js.map} +0 -0
  555. /package/dist/{chunk-PRK4WTPU.js.map → chunk-M7DGN6JZ.js.map} +0 -0
  556. /package/dist/{chunk-EN75MUTO.js.map → chunk-MNH2GM4O.js.map} +0 -0
  557. /package/dist/{chunk-LK4TOYPU.js.map → chunk-NF3NMAG7.js.map} +0 -0
  558. /package/dist/{chunk-VGTXHTWU.js.map → chunk-OASGWNYL.js.map} +0 -0
  559. /package/dist/{chunk-C2JCVZWX.js.map → chunk-OLBZ2WGG.js.map} +0 -0
  560. /package/dist/{chunk-Z3SQEEB6.js.map → chunk-OUKBMQ2O.js.map} +0 -0
  561. /package/dist/{chunk-2Z3DG5CQ.js.map → chunk-P6GKRT2H.js.map} +0 -0
  562. /package/dist/{chunk-A3WMMQAH.js.map → chunk-P7LVYPIX.js.map} +0 -0
  563. /package/dist/{chunk-Y3WMJAZ3.js.map → chunk-QRDSXR3V.js.map} +0 -0
  564. /package/dist/{chunk-NDE7CH6C.js.map → chunk-QUVWFZOU.js.map} +0 -0
  565. /package/dist/{chunk-M5GBTETG.js.map → chunk-R7FXPG4T.js.map} +0 -0
  566. /package/dist/{chunk-X66BHMAU.js.map → chunk-RJ57OOCD.js.map} +0 -0
  567. /package/dist/{chunk-VOPOPTZ7.js.map → chunk-TRLCMLX7.js.map} +0 -0
  568. /package/dist/{chunk-KZMFU7YL.js.map → chunk-V3HUBF7T.js.map} +0 -0
  569. /package/dist/{chunk-KLL5SPER.js.map → chunk-VHAKBUBD.js.map} +0 -0
  570. /package/dist/{chunk-WF2WCZCR.js.map → chunk-VYD63IFH.js.map} +0 -0
  571. /package/dist/{chunk-3FXXFLVK.js.map → chunk-XFPHV65N.js.map} +0 -0
  572. /package/dist/{chunk-JCUG7AXZ.js.map → chunk-XJJYSX6F.js.map} +0 -0
  573. /package/dist/{chunk-NAZROP6I.js.map → chunk-XMIAU4CO.js.map} +0 -0
  574. /package/dist/{chunk-LHGIBXVX.js.map → chunk-XQGFIAG7.js.map} +0 -0
  575. /package/dist/{chunk-IWO4HEOL.js.map → chunk-YWN3GYI2.js.map} +0 -0
  576. /package/dist/{chunk-IIO4C3YL.js.map → chunk-Z33VUMKY.js.map} +0 -0
  577. /package/dist/{graph-edge-decay-DGTBFALQ.js.map → deep-recall-config.js.map} +0 -0
@@ -1,22 +1,23 @@
1
- import { W as WhoKnowsResult } from './access-service-LbwWl05g.js';
2
- import './types-eM7QIcX2.js';
1
+ import { W as WhoKnowsResult } from './access-service-Cqfk3dD1.js';
2
+ import './types-CLRTESSD.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './operator-doctor-types.js';
6
6
  import './external-wiki-config.js';
7
7
  import './contradiction-config.js';
8
8
  import './graph-path-scoring-config.js';
9
+ import './deep-recall-config.js';
9
10
  import './causal-trajectory.js';
10
11
  import './objective-state.js';
11
12
  import './active-context-config.js';
12
13
  import './types-continuity.js';
13
- import './orchestrator-Btq9lzAN.js';
14
+ import './orchestrator-DglY1H0w.js';
14
15
  import './recall-state.js';
15
16
  import './utils/serialize-mutations.js';
16
17
  import './search/port.js';
17
18
  import './included-memories.js';
18
19
  import './briefing.js';
19
- import './storage-6fn7BPmb.js';
20
+ import './storage-DmTbQdD0.js';
20
21
  import './corpus-read-cancellation.js';
21
22
  import './artifact-search.js';
22
23
  import './active-context-transform.js';
@@ -39,8 +40,8 @@ import './resolve-provider-secret.js';
39
40
  import './transcript.js';
40
41
  import './session-integrity.js';
41
42
  import './summarizer.js';
42
- import './maintenance-BRcc3Hx8.js';
43
- import './catalog-BmBXTtOs.js';
43
+ import './maintenance-BBpNqEeJ.js';
44
+ import './catalog-9X8WpZNO.js';
44
45
  import './namespaces/search.js';
45
46
  import './compounding/engine.js';
46
47
  import './shared-context/manager.js';
@@ -50,7 +51,7 @@ import './utility-runtime.js';
50
51
  import './tier-routing.js';
51
52
  import './lifecycle.js';
52
53
  import './orchestration/compression-guideline-coordinator.js';
53
- import './semantic-consolidation-DW3rEUoW.js';
54
+ import './semantic-consolidation-BzCI6Kuu.js';
54
55
  import './connectors/codex-materialize.js';
55
56
  import './logger.js';
56
57
  import './embedding-fallback.js';
@@ -72,10 +73,10 @@ import './conversation-index/chunker.js';
72
73
  import './conversation-index/backend.js';
73
74
  import './faiss-adapter-BHecI1fF.js';
74
75
  import './runtime/child-process.js';
75
- import './dependency-propagation-delivery-BC3bCEet.js';
76
+ import './dependency-propagation-delivery-BZGUecZf.js';
76
77
  import './namespaces/storage.js';
77
78
  import './threading.js';
78
- import './scope-profiles-DqbxQXIS.js';
79
+ import './scope-profiles-BVvqVzJX.js';
79
80
  import './graph-444E-DrF.js';
80
81
  import './recall-xray.js';
81
82
  import './memory-provenance.js';
@@ -88,7 +89,7 @@ import './negative.js';
88
89
  import './session-observer-state.js';
89
90
  import './semantic-BalR6EXU.js';
90
91
  import './replay/types.js';
91
- import './service-B2vJU_Bx.js';
92
+ import './service-DQ3Gscy5.js';
92
93
  import './extraction-judge.js';
93
94
  import './lcm/engine.js';
94
95
  import './lcm/archive.js';
@@ -110,7 +111,7 @@ import './recall-audit.js';
110
111
  import './types-B1VHaf2w.js';
111
112
  import './transfer/capsule-import.js';
112
113
  import './transfer/types.js';
113
- import './access-namespace-preflight-S8fhQcCo.js';
114
+ import './access-namespace-preflight-Cy0yPsaE.js';
114
115
  import './access-token-capabilities.js';
115
116
  import 'node:async_hooks';
116
117
  import './recall-explain-renderer.js';
@@ -120,6 +121,7 @@ import './corpus-watermark.js';
120
121
  import './replica-divergence.js';
121
122
  import './explicit-capture.js';
122
123
  import './access-wearables-meetings-surface.js';
124
+ import './deep-recall.js';
123
125
  import './graph-snapshot.js';
124
126
  import './access-offline-manifest.js';
125
127
  import './reconcile/manifest.js';
@@ -4,14 +4,14 @@ import {
4
4
  renderWhoKnows,
5
5
  renderWhoKnowsJson,
6
6
  renderWhoKnowsText
7
- } from "./chunk-VOPOPTZ7.js";
8
- import "./chunk-6C57JBJ3.js";
9
- import "./chunk-WF2WCZCR.js";
7
+ } from "./chunk-TRLCMLX7.js";
8
+ import "./chunk-LUDXSSTW.js";
9
+ import "./chunk-VYD63IFH.js";
10
10
  import "./chunk-UHVXE24Y.js";
11
11
  import "./chunk-4ZWCQJNM.js";
12
12
  import "./chunk-WVGXCBOC.js";
13
- import "./chunk-YHCBJULX.js";
14
- import "./chunk-DJZWNKFO.js";
13
+ import "./chunk-JGXMA6HL.js";
14
+ import "./chunk-BE4Y6GK6.js";
15
15
  import "./chunk-N37X5RU7.js";
16
16
  import "./chunk-NNBZS3DY.js";
17
17
  import "./chunk-CYEPCZN5.js";
@@ -20,12 +20,12 @@ import "./chunk-YQNNHLCG.js";
20
20
  import "./chunk-W7IGLX4G.js";
21
21
  import "./chunk-6KTXE6A3.js";
22
22
  import "./chunk-GUMZC2BO.js";
23
- import "./chunk-227UFSEQ.js";
24
- import "./chunk-ET356KSB.js";
23
+ import "./chunk-LEPOP46W.js";
25
24
  import "./chunk-72A4L5JJ.js";
26
25
  import "./chunk-A7Q43EUZ.js";
26
+ import "./chunk-ET356KSB.js";
27
27
  import "./chunk-S2V7RUCL.js";
28
- import "./chunk-XXW32OL7.js";
28
+ import "./chunk-OYV6RKPM.js";
29
29
  import "./chunk-S2HLHAZ4.js";
30
30
  import "./chunk-SCU65EZI.js";
31
31
  import "./chunk-2GF27PGH.js";
@@ -34,8 +34,8 @@ import "./chunk-LDXUBPMO.js";
34
34
  import "./chunk-XSTNGNJP.js";
35
35
  import "./chunk-AAD2ZS6P.js";
36
36
  import "./chunk-LUDBXTBJ.js";
37
- import "./chunk-YXZG5TVN.js";
38
37
  import "./chunk-3ONXXHQO.js";
38
+ import "./chunk-YXZG5TVN.js";
39
39
  import "./chunk-5GINB5LC.js";
40
40
  import "./chunk-3WU7XOFN.js";
41
41
  import "./chunk-G7D6GZ5J.js";
@@ -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-LbwWl05g.js';
2
- import './types-eM7QIcX2.js';
3
- import './orchestrator-Btq9lzAN.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-Cqfk3dD1.js';
2
+ import './types-CLRTESSD.js';
3
+ import './orchestrator-DglY1H0w.js';
4
4
  import './recall-state.js';
5
5
  import './utils/serialize-mutations.js';
6
6
  import './search/port.js';
@@ -10,13 +10,14 @@ import './operator-doctor-types.js';
10
10
  import './external-wiki-config.js';
11
11
  import './contradiction-config.js';
12
12
  import './graph-path-scoring-config.js';
13
+ import './deep-recall-config.js';
13
14
  import './causal-trajectory.js';
14
15
  import './objective-state.js';
15
16
  import './active-context-config.js';
16
17
  import './types-continuity.js';
17
18
  import './included-memories.js';
18
19
  import './briefing.js';
19
- import './storage-6fn7BPmb.js';
20
+ import './storage-DmTbQdD0.js';
20
21
  import './corpus-read-cancellation.js';
21
22
  import './artifact-search.js';
22
23
  import './active-context-transform.js';
@@ -39,8 +40,8 @@ import './resolve-provider-secret.js';
39
40
  import './transcript.js';
40
41
  import './session-integrity.js';
41
42
  import './summarizer.js';
42
- import './maintenance-BRcc3Hx8.js';
43
- import './catalog-BmBXTtOs.js';
43
+ import './maintenance-BBpNqEeJ.js';
44
+ import './catalog-9X8WpZNO.js';
44
45
  import './namespaces/search.js';
45
46
  import './compounding/engine.js';
46
47
  import './shared-context/manager.js';
@@ -50,7 +51,7 @@ import './utility-runtime.js';
50
51
  import './tier-routing.js';
51
52
  import './lifecycle.js';
52
53
  import './orchestration/compression-guideline-coordinator.js';
53
- import './semantic-consolidation-DW3rEUoW.js';
54
+ import './semantic-consolidation-BzCI6Kuu.js';
54
55
  import './connectors/codex-materialize.js';
55
56
  import './logger.js';
56
57
  import './embedding-fallback.js';
@@ -72,10 +73,10 @@ import './conversation-index/chunker.js';
72
73
  import './conversation-index/backend.js';
73
74
  import './faiss-adapter-BHecI1fF.js';
74
75
  import './runtime/child-process.js';
75
- import './dependency-propagation-delivery-BC3bCEet.js';
76
+ import './dependency-propagation-delivery-BZGUecZf.js';
76
77
  import './namespaces/storage.js';
77
78
  import './threading.js';
78
- import './scope-profiles-DqbxQXIS.js';
79
+ import './scope-profiles-BVvqVzJX.js';
79
80
  import './graph-444E-DrF.js';
80
81
  import './recall-xray.js';
81
82
  import './memory-provenance.js';
@@ -88,7 +89,7 @@ import './negative.js';
88
89
  import './session-observer-state.js';
89
90
  import './semantic-BalR6EXU.js';
90
91
  import './replay/types.js';
91
- import './service-B2vJU_Bx.js';
92
+ import './service-DQ3Gscy5.js';
92
93
  import './extraction-judge.js';
93
94
  import './lcm/engine.js';
94
95
  import './lcm/archive.js';
@@ -110,7 +111,7 @@ import './recall-audit.js';
110
111
  import './types-B1VHaf2w.js';
111
112
  import './transfer/capsule-import.js';
112
113
  import './transfer/types.js';
113
- import './access-namespace-preflight-S8fhQcCo.js';
114
+ import './access-namespace-preflight-Cy0yPsaE.js';
114
115
  import './access-token-capabilities.js';
115
116
  import 'node:async_hooks';
116
117
  import './recall-explain-renderer.js';
@@ -120,6 +121,7 @@ import './corpus-watermark.js';
120
121
  import './replica-divergence.js';
121
122
  import './explicit-capture.js';
122
123
  import './access-wearables-meetings-surface.js';
124
+ import './deep-recall.js';
123
125
  import './graph-snapshot.js';
124
126
  import './access-offline-manifest.js';
125
127
  import './reconcile/manifest.js';
package/dist/who-knows.js CHANGED
@@ -9,13 +9,13 @@ import {
9
9
  loadWhoKnowsEntities,
10
10
  tokenizeTopic,
11
11
  validateWhoKnowsInput
12
- } from "./chunk-6C57JBJ3.js";
13
- import "./chunk-WF2WCZCR.js";
12
+ } from "./chunk-LUDXSSTW.js";
13
+ import "./chunk-VYD63IFH.js";
14
14
  import "./chunk-UHVXE24Y.js";
15
15
  import "./chunk-4ZWCQJNM.js";
16
16
  import "./chunk-WVGXCBOC.js";
17
- import "./chunk-YHCBJULX.js";
18
- import "./chunk-DJZWNKFO.js";
17
+ import "./chunk-JGXMA6HL.js";
18
+ import "./chunk-BE4Y6GK6.js";
19
19
  import "./chunk-N37X5RU7.js";
20
20
  import "./chunk-NNBZS3DY.js";
21
21
  import "./chunk-CYEPCZN5.js";
@@ -24,12 +24,12 @@ import "./chunk-YQNNHLCG.js";
24
24
  import "./chunk-W7IGLX4G.js";
25
25
  import "./chunk-6KTXE6A3.js";
26
26
  import "./chunk-GUMZC2BO.js";
27
- import "./chunk-227UFSEQ.js";
28
- import "./chunk-ET356KSB.js";
27
+ import "./chunk-LEPOP46W.js";
29
28
  import "./chunk-72A4L5JJ.js";
30
29
  import "./chunk-A7Q43EUZ.js";
30
+ import "./chunk-ET356KSB.js";
31
31
  import "./chunk-S2V7RUCL.js";
32
- import "./chunk-XXW32OL7.js";
32
+ import "./chunk-OYV6RKPM.js";
33
33
  import "./chunk-S2HLHAZ4.js";
34
34
  import "./chunk-SCU65EZI.js";
35
35
  import "./chunk-2GF27PGH.js";
@@ -38,8 +38,8 @@ import "./chunk-LDXUBPMO.js";
38
38
  import "./chunk-XSTNGNJP.js";
39
39
  import "./chunk-AAD2ZS6P.js";
40
40
  import "./chunk-LUDBXTBJ.js";
41
- import "./chunk-YXZG5TVN.js";
42
41
  import "./chunk-3ONXXHQO.js";
42
+ import "./chunk-YXZG5TVN.js";
43
43
  import "./chunk-5GINB5LC.js";
44
44
  import "./chunk-3WU7XOFN.js";
45
45
  import "./chunk-G7D6GZ5J.js";
@@ -1,10 +1,11 @@
1
- import { y as MemoryCategory, N as MemorySubject } from './types-eM7QIcX2.js';
1
+ import { y as MemoryCategory, N as MemorySubject } from './types-CLRTESSD.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
5
5
  import './external-wiki-config.js';
6
6
  import './contradiction-config.js';
7
7
  import './graph-path-scoring-config.js';
8
+ import './deep-recall-config.js';
8
9
  import './causal-trajectory.js';
9
10
  import './objective-state.js';
10
11
  import './active-context-config.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.69.9",
3
+ "version": "9.69.11",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -36,6 +36,16 @@
36
36
  "remnic-source": "./src/abort-error.ts",
37
37
  "import": "./dist/abort-error.js"
38
38
  },
39
+ "./runtime/http-transport": {
40
+ "types": "./dist/runtime/http-transport.d.ts",
41
+ "remnic-source": "./src/runtime/http-transport.ts",
42
+ "import": "./dist/runtime/http-transport.js"
43
+ },
44
+ "./runtime/http-transport.js": {
45
+ "types": "./dist/runtime/http-transport.d.ts",
46
+ "remnic-source": "./src/runtime/http-transport.ts",
47
+ "import": "./dist/runtime/http-transport.js"
48
+ },
39
49
  "./abstraction-nodes": {
40
50
  "types": "./dist/abstraction-nodes.d.ts",
41
51
  "remnic-source": "./src/abstraction-nodes.ts",
@@ -3217,7 +3227,7 @@
3217
3227
  "core"
3218
3228
  ],
3219
3229
  "peerDependencies": {
3220
- "@remnic/coding-graph": "^9.69.9"
3230
+ "@remnic/coding-graph": "^9.69.11"
3221
3231
  },
3222
3232
  "peerDependenciesMeta": {
3223
3233
  "@remnic/coding-graph": {
@@ -83,6 +83,7 @@ export const OPERATION_NAMES = [
83
83
  "meetings_list",
84
84
  "meetings_get",
85
85
  "meetings_build",
86
+ "deep_recall",
86
87
  "standup",
87
88
  "action_confidence",
88
89
  "chatgpt_memory_inspector",
@@ -25,7 +25,7 @@ import {
25
25
  } from "./access-http-offline-stream.js";
26
26
  import { nonEmptyQueryParam, optionalNamespaceKindQueryParam, optionalQueryString, positiveIntQueryParam } from "./access-http-query.js";
27
27
  import { CorrectionContractError } from "./correction/correction-contract.js";
28
- 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";
28
+ 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
29
  import { EngramMcpServer, MCP_SUPPORTED_PROTOCOL_VERSIONS } from "./access-mcp.js";
30
30
  import { handleMcpGetSse } from "./access-mcp-sse.js";
31
31
  import { validateRequest, type SchemaName, type SchemaTypeFor } from "./access-schema.js";
@@ -1752,10 +1752,10 @@ export class EngramAccessHttpServer extends ReviewDeckAccessHttpBase {
1752
1752
  this.enforceTokenOp("meetings_build"); await respondMeetingsBuild(req, res, this.respondJson.bind(this), this.readJsonBody.bind(this), this.service, { enforceQuota: () => this.ensureWriteRateLimitAvailable(req), recordHit: () => this.recordWriteRateLimitHit(req) }, (ns, sk) => this.wearablesScope(req, ns, sk)); return; }
1753
1753
  const meetingGetEngram = /^\/engram\/v1\/meetings\/([^/]+)$/.exec(pathname);
1754
1754
  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; }
1755
- const meetingGetRemnic = /^\/remnic\/v1\/meetings\/([^/]+)$/.exec(pathname);
1756
- 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; }
1757
- // Location sync surfaces (issue #2047): thin branches; bodies + boundary
1758
- // dispatch live in location/http-glue.ts.
1755
+ 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; }
1756
+ if (req.method === "POST" && (pathname === "/engram/v1/recall/deep" || pathname === "/remnic/v1/recall/deep")) {
1757
+ 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)); return; }
1758
+ // Location sync surfaces (issue #2047): thin branches; bodies + boundary dispatch live in location/http-glue.ts.
1759
1759
  if (req.method === "GET" && (pathname === "/engram/v1/location/status" || pathname === "/remnic/v1/location/status")) {
1760
1760
  this.enforceTokenOp("location_status"); await respondLocationStatus(res, this.respondJson.bind(this), this.service); return; }
1761
1761
  if (req.method === "GET" && (pathname === "/engram/v1/location/check" || pathname === "/remnic/v1/location/check")) {
@@ -82,6 +82,7 @@ const TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {
82
82
  skipped: T_NUMBER,
83
83
  removed: T_ARRAY,
84
84
  }),
85
+ deep_recall: objectSchema({ ok: T_BOOLEAN, error: T_NULLABLE_STRING, entries: T_ARRAY, trace: T_ARRAY, rendered: T_STRING }, ["entries", "trace"]),
85
86
  standup: objectSchema({ date: T_STRING, yesterday: T_STRING, today: T_STRING, highlights: T_ARRAY, priorities: T_ARRAY, blockers: T_ARRAY, activityGrid: T_STRING, markdown: T_STRING }),
86
87
  action_confidence: objectSchema({
87
88
  schemaVersion: T_NUMBER,
package/src/access-mcp.ts CHANGED
@@ -51,7 +51,7 @@ import {
51
51
  withToolAliases,
52
52
  } from "./access-mcp-tool-names.js";
53
53
  import { MCP_READ_ONLY_TOOL_SUFFIXES } from "./mcp-read-only-tools.js";
54
- import { MEETINGS_MCP_TOOLS } from "./meetings/mcp-tools.js";
54
+ import { MEETINGS_MCP_TOOLS } from "./meetings/mcp-tools.js"; import { DEEP_RECALL_MCP_TOOLS } from "./deep-recall-mcp-tools.js";
55
55
  import { WEARABLES_MCP_TOOLS } from "./wearables/mcp-tools.js";
56
56
  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";
57
57
  import { PROMOTION_CANDIDATES_MCP_TOOLS } from "./memory-subject.js";
@@ -246,7 +246,7 @@ export const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> =
246
246
  "engram.console_state": "console_state",
247
247
  "engram.dreams_status": "dreams_status",
248
248
  "engram.dreams_run": "dreams_run",
249
- ...SUPPORT_PASSPORT_MCP_MIGRATED_OPERATIONS, ...MCP_ADMIN_OPS_MIGRATED_OPERATIONS,
249
+ ...SUPPORT_PASSPORT_MCP_MIGRATED_OPERATIONS, ...MCP_ADMIN_OPS_MIGRATED_OPERATIONS, "engram.deep_recall": "deep_recall",
250
250
  "engram.memory_chat": "chat_message",
251
251
  };
252
252
 
@@ -687,7 +687,7 @@ export class EngramMcpServer {
687
687
  additionalProperties: false,
688
688
  },
689
689
  },
690
- ...WEARABLES_MCP_TOOLS, ...MEETINGS_MCP_TOOLS, ...WHO_KNOWS_MCP_TOOLS, ...PROMOTION_CANDIDATES_MCP_TOOLS, ...LOCATION_MCP_TOOLS, ...STANDUP_MCP_TOOLS,
690
+ ...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
691
  ...(service.supportPassportEnabled ? SUPPORT_PASSPORT_MCP_TOOLS : []),
692
692
  {
693
693
  name: "engram.action_confidence",
@@ -187,6 +187,8 @@ defineOperation({ name: "transcript_memories", description: "Transcript memories
187
187
  defineOperation({ name: "meetings_list", description: "List stored meeting records (all days, or one day).", schema: strictSchema({ date: S.str, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => { const d = optStr(input.date); return { result: await ctx.service.meetingsList(d && d.length > 0 ? d : undefined, { authenticatedPrincipal: ctx.authenticatedPrincipal, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey) }) }; } });
188
188
  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) }) }) });
189
189
  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) }) }) });
190
+ // === DEEP RECALL (issue #2332) — budgeted REFINE/EXPAND/STOP retrieval ===
191
+ 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) }) }; } });
190
192
 
191
193
  // === ACTION CONFIDENCE + INSPECTOR + CAPSULE ===
192
194
  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) }; } });
@@ -278,7 +280,7 @@ defineOperation({ name: "memory_identity", description: "Memory identity.", sche
278
280
  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) }) }) });
279
281
  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) }) }) });
280
282
  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 }) }) });
281
- 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) ?? "" }) }) });
283
+ 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 }) }) });
282
284
  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) }) }; } });
283
285
  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) ?? "" }) }) });
284
286
  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) }) }) });
@@ -241,6 +241,18 @@ export const observeRequestSchema = z.object({
241
241
  projectTag: projectTagSchema,
242
242
  });
243
243
 
244
+ // ---------------------------------------------------------------------------
245
+ // Deep recall (issue #2332)
246
+ // ---------------------------------------------------------------------------
247
+
248
+ export const deepRecallRequestSchema = z.object({
249
+ query: z.string().trim().min(1, "query is required").max(2000),
250
+ /** Optional policy-step ceiling; validated against the configured maximum in the service. */
251
+ maxSteps: z.union([z.number().int().min(0), z.string()]).optional(),
252
+ namespace: namespaceSchema,
253
+ sessionKey: z.string().optional(),
254
+ });
255
+
244
256
  // ---------------------------------------------------------------------------
245
257
  // Memory store / suggestion submit
246
258
  // ---------------------------------------------------------------------------
@@ -33,6 +33,7 @@ import { readAggregateExtractionWatermark } from "./orchestration/extraction-wat
33
33
  import { ReplicaDivergenceMonitor } from "./replica-divergence.js";
34
34
  import type { ResolveSecretRefFn } from "./resolve-auth-token.js";
35
35
  import { buildAccessWriteRequestFingerprint, buildObserveRequestFingerprint } from "./write-envelope.js";
36
+ import { UNATTRIBUTED_ACCESS_WRITE_ORIGIN } from "./shared-context/envelope-io.js";
36
37
  export type { EngramAccessHealthResponse, EngramAccessQmdCollectionState, EngramAccessQmdHealthResponse };
37
38
  import { AccessAuditAdapter, type AccessAuditConfig, type AccessAuditResult } from "./access-audit.js";
38
39
  import {
@@ -168,6 +169,15 @@ import {
168
169
  redactSensitive,
169
170
  } from "./admin/admin-surfaces.js";
170
171
  import { FileCalendarSource, buildBriefing, parseBriefingFocus, parseBriefingWindow } from "./briefing.js";
172
+ import {
173
+ type DeepRecallResult,
174
+ runBudgetedDeepRecall,
175
+ } from "./deep-recall.js";
176
+ import { callDeepRecallPolicyLlm } from "./deep-recall-policy-llm.js";
177
+ import { createDeepRecallSeedSearch } from "./deep-recall-seeds.js";
178
+ import { renderDeepRecallResult } from "./deep-recall-renderer.js";
179
+ import { readProjectedHarmonicGraph } from "./harmonic-retrieval.js";
180
+ import { stripAttributesSuffix } from "./structured-attributes.js";
171
181
  import {
172
182
  type GraphSnapshotNodeMetadata,
173
183
  type GraphSnapshotRequest,
@@ -2684,6 +2694,133 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
2684
2694
  return toRecallExplainJson(snapshot);
2685
2695
  }
2686
2696
 
2697
+ /**
2698
+ * Budgeted REFINE/EXPAND/STOP deep recall (issue #2332). Deep surface
2699
+ * only — never called from the recall hot path. Single implementation
2700
+ * for MCP, HTTP, and CLI (rule 22: one renderer, one service method).
2701
+ */
2702
+ async deepRecall(request: {
2703
+ query: string;
2704
+ namespace?: string;
2705
+ sessionKey?: string;
2706
+ authenticatedPrincipal?: string;
2707
+ maxSteps?: number;
2708
+ }): Promise<DeepRecallResult & { rendered: string }> {
2709
+ const cfg = this.orchestrator.config.deepRecall;
2710
+ if (!cfg.enabled) {
2711
+ return {
2712
+ ok: false,
2713
+ error: "disabled",
2714
+ entries: [],
2715
+ trace: [],
2716
+ rendered: "deep recall is disabled; set deepRecall.enabled",
2717
+ };
2718
+ }
2719
+ const query = typeof request.query === "string" ? request.query.trim() : "";
2720
+ if (query.length === 0) {
2721
+ throw new EngramAccessInputError("deepRecall: query is required");
2722
+ }
2723
+ let effective = cfg;
2724
+ const requestedSteps = request.maxSteps;
2725
+ if (requestedSteps !== undefined) {
2726
+ if (typeof requestedSteps !== "number" || !Number.isInteger(requestedSteps) || requestedSteps < 0) {
2727
+ throw new EngramAccessInputError("deepRecall: maxSteps must be a non-negative integer");
2728
+ }
2729
+ // `deepRecall.maxSteps: 0` is a documented disable value (§33): the
2730
+ // policy loop is off, so ANY positive override is a refusal rather than
2731
+ // a ceiling comparison. The zero case resolves first, so the ceiling
2732
+ // threshold below only runs while the loop is enabled.
2733
+ if (cfg.maxSteps <= 0) {
2734
+ if (requestedSteps > 0) {
2735
+ throw new EngramAccessInputError(
2736
+ "deepRecall: the policy loop is disabled (deepRecall.maxSteps=0); maxSteps must be 0",
2737
+ );
2738
+ }
2739
+ } else if (requestedSteps > cfg.maxSteps) {
2740
+ throw new EngramAccessInputError(
2741
+ `deepRecall: maxSteps ${requestedSteps} exceeds the configured ceiling ${cfg.maxSteps}`,
2742
+ );
2743
+ }
2744
+ effective = { ...cfg, maxSteps: requestedSteps };
2745
+ }
2746
+ const principal =
2747
+ request.authenticatedPrincipal?.trim() || resolvePrincipal(request.sessionKey, this.orchestrator.config);
2748
+ // Read path resolves through the SAME namespace layer as memoryGet (§30):
2749
+ // one resolved namespace, one storage instance, for seeds and expansions.
2750
+ const resolvedNamespace = this.resolveReadableNamespace(request.namespace, principal);
2751
+ const storage = await this.orchestrator.getStorage(resolvedNamespace);
2752
+ const config = this.orchestrator.config;
2753
+ // `abstractionNodeStoreDir` names the DEFAULT namespace's graph store and
2754
+ // takes precedence over `storage.dir` inside the store resolver, so only a
2755
+ // default-namespace read may pass it. This is the rule the harmonic WRITE
2756
+ // path already applies (persistConstructedHarmonicRecords: the override
2757
+ // goes to the base namespace only); passing it here made every non-default
2758
+ // namespace load the DEFAULT namespace's nodes and anchors, missing its own
2759
+ // anchor expansions and exposing foreign graph metadata on an id collision.
2760
+ const graphStoreDir =
2761
+ resolvedNamespace === config.defaultNamespace ? config.abstractionNodeStoreDir : undefined;
2762
+ // Seeds route through the namespace search router (never the base
2763
+ // `config.qmdCollection`, which is the DEFAULT namespace's collection):
2764
+ // a non-default caller must search its own suffixed collection or deep
2765
+ // recall silently misses its corpus and returns foreign doc ids. Hit ->
2766
+ // memory-id resolution is per hit through the shared QMD result resolver
2767
+ // (which also decodes the raw collection-qualified path forms the
2768
+ // namespaces-disabled fanout returns), so no invocation pre-scans the
2769
+ // namespace corpus.
2770
+ const result = await runBudgetedDeepRecall(
2771
+ {
2772
+ config: effective,
2773
+ searchSeed: createDeepRecallSeedSearch({
2774
+ namespace: resolvedNamespace,
2775
+ storage,
2776
+ router: this.orchestrator,
2777
+ resolver: this.orchestrator.qmdResultResolver,
2778
+ }),
2779
+ // Nodes and anchors are projected against the namespace's CURRENT
2780
+ // active memories through the SAME helper searchHarmonicRetrieval
2781
+ // uses. A raw read still carries the stored title, summary, and
2782
+ // anchor value of a memory that was later rejected or quarantined,
2783
+ // and the deep-recall state prompt hands those to the policy LLM long
2784
+ // before `loadMemory(...).active` can exclude the memory itself.
2785
+ loadGraph: async () =>
2786
+ readProjectedHarmonicGraph({
2787
+ memoryDir: storage.dir,
2788
+ abstractionNodeStoreDir: graphStoreDir,
2789
+ anchorsEnabled: true,
2790
+ }),
2791
+ loadMemory: async (memoryId) => {
2792
+ const memory = await storage.getMemoryById(memoryId);
2793
+ // Same private-record exclusion memoryGet applies (#2332): a
2794
+ // support-passport private record is reported as absent (null),
2795
+ // never as content — deep recall must not become the read surface
2796
+ // that answers what every other surface denies.
2797
+ if (!memory || isSupportPassportPrivateMemory(memory)) return null;
2798
+ return {
2799
+ memoryId,
2800
+ content: memory.frontmatter.structuredAttributes
2801
+ ? stripAttributesSuffix(memory.content)
2802
+ : memory.content,
2803
+ // Enumerate the active set — never an exclusion list (§41).
2804
+ active: inferMemoryStatus(
2805
+ memory.frontmatter,
2806
+ toMemoryPathRel(storage.dir, memory.path)
2807
+ ) === "active",
2808
+ };
2809
+ },
2810
+ callPolicy: (statePrompt, timeoutMs) =>
2811
+ callDeepRecallPolicyLlm({
2812
+ statePrompt,
2813
+ config,
2814
+ localLlm: this.orchestrator.localLlm ?? null,
2815
+ fallbackLlm: this.orchestrator.fastGatewayLlm ?? null,
2816
+ timeoutMs,
2817
+ }),
2818
+ },
2819
+ query,
2820
+ );
2821
+ return { ...result, rendered: renderDeepRecallResult(result) };
2822
+ }
2823
+
2687
2824
  async recallXray(request: {
2688
2825
  query: string;
2689
2826
  sessionKey?: string;
@@ -4430,15 +4567,35 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
4430
4567
  agentId: string;
4431
4568
  title: string;
4432
4569
  content: string;
4570
+ /** Authenticated principal resolved by the surface, never client-supplied. */
4571
+ principal?: string;
4433
4572
  }): Promise<unknown> {
4434
4573
  if (!this.orchestrator.sharedContext) {
4435
4574
  return { enabled: false, reason: "Shared context is disabled. Enable `sharedContextEnabled: true`." };
4436
4575
  }
4437
- const fp = await this.orchestrator.sharedContext.writeAgentOutput({
4438
- agentId: request.agentId,
4439
- title: request.title,
4440
- content: request.content,
4441
- });
4576
+ let fp: string;
4577
+ try {
4578
+ fp = await this.orchestrator.sharedContext.writeAgentOutput({
4579
+ agentId: request.agentId,
4580
+ title: request.title,
4581
+ content: request.content,
4582
+ // The origin is server-owned in BOTH cases (issue #1957 review
4583
+ // round 4): the authenticated principal when one resolved, and a
4584
+ // reserved unattributed token otherwise — a principal-less
4585
+ // authenticated request must never stamp the client's `agentId`
4586
+ // as audit metadata. The client label survives only as the
4587
+ // producer, which feeds grouping and display, never authority.
4588
+ ...(request.principal
4589
+ ? { authenticatedIdentity: request.principal }
4590
+ : { unattributedOrigin: UNATTRIBUTED_ACCESS_WRITE_ORIGIN }),
4591
+ });
4592
+ } catch (error) {
4593
+ const message = error instanceof Error ? error.message : String(error);
4594
+ if (message.startsWith("shared-context write origin mismatch")) {
4595
+ throw new EngramAccessInputError(message);
4596
+ }
4597
+ throw error;
4598
+ }
4442
4599
  return { written: true, path: fp };
4443
4600
  }
4444
4601