@remnic/core 9.17.0 → 9.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/dist/access-admin-ops-surface.d.ts +8 -8
  2. package/dist/access-admin-ops-surface.js +18 -18
  3. package/dist/access-boundary.d.ts +8 -8
  4. package/dist/access-boundary.js +18 -18
  5. package/dist/access-cli.js +52 -52
  6. package/dist/access-http.d.ts +8 -8
  7. package/dist/access-http.js +23 -23
  8. package/dist/access-identity-continuity-surface.d.ts +6 -6
  9. package/dist/access-identity-continuity-surface.js +18 -18
  10. package/dist/access-lcm-surface.d.ts +8 -8
  11. package/dist/access-lcm-surface.js +18 -18
  12. package/dist/access-mcp.d.ts +8 -8
  13. package/dist/access-mcp.js +22 -22
  14. package/dist/access-memory-search-fanout.d.ts +2 -2
  15. package/dist/access-memory-search-fanout.js +3 -3
  16. package/dist/{access-namespace-preflight-_yxq3PYy.d.ts → access-namespace-preflight-IbQ0O8Kf.d.ts} +1 -1
  17. package/dist/access-namespace-preflight.d.ts +3 -3
  18. package/dist/access-namespace-preflight.js +18 -18
  19. package/dist/access-observe-write-surface.d.ts +8 -8
  20. package/dist/access-observe-write-surface.js +18 -18
  21. package/dist/access-operations-batch.js +20 -20
  22. package/dist/access-operations.d.ts +8 -8
  23. package/dist/access-operations.js +21 -21
  24. package/dist/access-recall-concurrency.d.ts +8 -8
  25. package/dist/access-recall-concurrency.js +18 -18
  26. package/dist/access-recall-response.d.ts +8 -8
  27. package/dist/access-recall-response.js +18 -18
  28. package/dist/access-recall-surface.d.ts +8 -8
  29. package/dist/access-recall-surface.js +18 -18
  30. package/dist/access-schema.d.ts +2 -2
  31. package/dist/{access-service-CSm242ks.d.ts → access-service-BqjsJRn_.d.ts} +6 -6
  32. package/dist/access-service.d.ts +8 -8
  33. package/dist/access-service.js +18 -18
  34. package/dist/access-surface-catalog.d.ts +8 -8
  35. package/dist/action-confidence.d.ts +1 -1
  36. package/dist/active-memory-bridge.d.ts +1 -1
  37. package/dist/active-memory-bridge.js +3 -3
  38. package/dist/active-recall.d.ts +1 -1
  39. package/dist/active-recall.js +1 -1
  40. package/dist/behavior-learner.d.ts +1 -1
  41. package/dist/behavior-signals.d.ts +1 -1
  42. package/dist/bootstrap.d.ts +6 -6
  43. package/dist/briefing.d.ts +2 -2
  44. package/dist/briefing.js +6 -6
  45. package/dist/buffer-surprise-report.d.ts +1 -1
  46. package/dist/buffer.d.ts +2 -2
  47. package/dist/buffer.js +2 -2
  48. package/dist/bulk-import/index.d.ts +3 -3
  49. package/dist/calibration.d.ts +1 -1
  50. package/dist/capabilities.d.ts +4 -3
  51. package/dist/capabilities.js +1 -1
  52. package/dist/{catalog-9qLG_2OV.d.ts → catalog-D_ToaAZM.d.ts} +1 -1
  53. package/dist/causal-behavior.d.ts +1 -1
  54. package/dist/causal-consolidation.d.ts +1 -1
  55. package/dist/causal-consolidation.js +7 -7
  56. package/dist/causal-trajectory-graph.d.ts +1 -1
  57. package/dist/{chunk-BV5WMSIJ.js → chunk-2AJ72VVS.js} +3 -3
  58. package/dist/{chunk-755Q3DGF.js → chunk-2H7OEVPO.js} +2 -2
  59. package/dist/{chunk-TG6IHVE2.js → chunk-354T54RR.js} +2 -2
  60. package/dist/{chunk-347WD2LE.js → chunk-3CSX3ETE.js} +2 -1
  61. package/dist/chunk-3CSX3ETE.js.map +1 -0
  62. package/dist/{chunk-EA2H5LML.js → chunk-44DUJETW.js} +2 -2
  63. package/dist/{chunk-SESF64QR.js → chunk-52H7OB7Y.js} +4 -4
  64. package/dist/{chunk-TXXP7WAM.js → chunk-6P6ZR6JR.js} +22 -22
  65. package/dist/{chunk-C2RMQRPN.js → chunk-6YJLLDWO.js} +3 -3
  66. package/dist/{chunk-QDTEH6BS.js → chunk-7JXXI3GW.js} +2 -2
  67. package/dist/{chunk-OXT5TQDS.js → chunk-7KXE7KN5.js} +2 -2
  68. package/dist/{chunk-2OH3ZRYH.js → chunk-7NHIHUBW.js} +7 -6
  69. package/dist/chunk-7NHIHUBW.js.map +1 -0
  70. package/dist/{chunk-LMVAIZR5.js → chunk-A2KGXUOU.js} +5 -9
  71. package/dist/chunk-A2KGXUOU.js.map +1 -0
  72. package/dist/{chunk-UH7VNQ7O.js → chunk-AKWX5E6R.js} +30 -30
  73. package/dist/{chunk-ANGUOE2N.js → chunk-ALPBE5EC.js} +15 -15
  74. package/dist/{chunk-M6TZQDTX.js → chunk-B3R5CC35.js} +2 -2
  75. package/dist/{chunk-JECBQBEX.js → chunk-B7GROTXD.js} +2 -2
  76. package/dist/{chunk-6WAFYNVT.js → chunk-BJJAX3IZ.js} +2 -2
  77. package/dist/{chunk-GEDBTSYU.js → chunk-CNNQVI2A.js} +7 -7
  78. package/dist/{chunk-S2FSBU4H.js → chunk-FCCMFVS6.js} +2 -2
  79. package/dist/{chunk-F7BWFIDK.js → chunk-FO3WM76R.js} +65 -4
  80. package/dist/chunk-FO3WM76R.js.map +1 -0
  81. package/dist/{chunk-V57NLO5P.js → chunk-HKF5VASQ.js} +11 -4
  82. package/dist/chunk-HKF5VASQ.js.map +1 -0
  83. package/dist/{chunk-7ON2JW73.js → chunk-IKMAO55B.js} +2 -2
  84. package/dist/{chunk-B57BIBXI.js → chunk-IU3XJAQM.js} +3 -3
  85. package/dist/{chunk-WQ2I6ODB.js → chunk-JEMLK7ED.js} +3 -3
  86. package/dist/{chunk-RFDD3B7W.js → chunk-JGUXPJUQ.js} +2 -2
  87. package/dist/{chunk-TUNI4GB3.js → chunk-JHIEQCMG.js} +6 -6
  88. package/dist/{chunk-N7DK67GZ.js → chunk-KPEIWAZY.js} +1 -1
  89. package/dist/{chunk-N7DK67GZ.js.map → chunk-KPEIWAZY.js.map} +1 -1
  90. package/dist/{chunk-I6ODVWQB.js → chunk-LTGSOACX.js} +2 -2
  91. package/dist/{chunk-AWT7SCWQ.js → chunk-LU22QKFA.js} +2 -2
  92. package/dist/{chunk-QCLQ4BGA.js → chunk-MJYYXODM.js} +3 -3
  93. package/dist/{chunk-7VZWZVYG.js → chunk-MQVINOJQ.js} +3 -3
  94. package/dist/{chunk-7YJLCNPF.js → chunk-NEFMSUC2.js} +204 -170
  95. package/dist/chunk-NEFMSUC2.js.map +1 -0
  96. package/dist/{chunk-K2B2TMF3.js → chunk-NGO4QKMY.js} +2 -2
  97. package/dist/{chunk-7LXSPIVG.js → chunk-OR3OQHHS.js} +4 -4
  98. package/dist/{chunk-ANEUPF6O.js → chunk-QH6CS6XJ.js} +2 -2
  99. package/dist/{chunk-SCCO46KZ.js → chunk-RDQGLJRR.js} +3 -2
  100. package/dist/chunk-RDQGLJRR.js.map +1 -0
  101. package/dist/{chunk-QDNE35FU.js → chunk-SB4OKS6C.js} +3 -3
  102. package/dist/{chunk-IZHXSLO7.js → chunk-SGCWBLHN.js} +2 -2
  103. package/dist/{chunk-B6NCHYAK.js → chunk-SQEDDWAM.js} +4 -4
  104. package/dist/{chunk-DETNBTZS.js → chunk-UGH6VPPO.js} +21 -5
  105. package/dist/chunk-UGH6VPPO.js.map +1 -0
  106. package/dist/{chunk-GBT4TFV7.js → chunk-UHOUNNY3.js} +9 -9
  107. package/dist/{chunk-7PK4W4RN.js → chunk-UL6WTQN4.js} +3 -3
  108. package/dist/{chunk-KGKYTCDO.js → chunk-UQXIW7OZ.js} +3 -3
  109. package/dist/{chunk-WIS5JTJR.js → chunk-UVCY7VDX.js} +2 -2
  110. package/dist/{chunk-BIRPR5N7.js → chunk-VMALXCR5.js} +2 -2
  111. package/dist/{chunk-L3HAUO7K.js → chunk-WIP3MQZY.js} +2 -2
  112. package/dist/{chunk-AE7WMV4V.js → chunk-WMLHJ5UW.js} +2 -2
  113. package/dist/{chunk-G2WCVFDC.js → chunk-WMMT6W7C.js} +4 -4
  114. package/dist/{chunk-AFH7PIFU.js → chunk-XGYCI23S.js} +2 -2
  115. package/dist/{chunk-6QYST5XN.js → chunk-XY7QPJDA.js} +2 -2
  116. package/dist/{chunk-BZ52BJ6C.js → chunk-YWJBAHTY.js} +2 -2
  117. package/dist/{chunk-BCNVNUQG.js → chunk-ZHWEUG7Y.js} +10 -1
  118. package/dist/{chunk-BCNVNUQG.js.map → chunk-ZHWEUG7Y.js.map} +1 -1
  119. package/dist/{cli-BLZHYY2A.d.ts → cli-D2g5mRgf.d.ts} +5 -5
  120. package/dist/cli.d.ts +10 -10
  121. package/dist/cli.js +36 -36
  122. package/dist/compounding/engine.d.ts +2 -2
  123. package/dist/compounding/engine.js +7 -7
  124. package/dist/compounding/preference-consolidator.d.ts +1 -1
  125. package/dist/compression-optimizer.d.ts +1 -1
  126. package/dist/config.d.ts +1 -1
  127. package/dist/config.js +1 -1
  128. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  129. package/dist/connectors/codex-materialize-runner.js +6 -6
  130. package/dist/connectors/codex-materialize.d.ts +1 -1
  131. package/dist/connectors/index.d.ts +1 -1
  132. package/dist/connectors/index.js +7 -7
  133. package/dist/consolidation-provenance-check.d.ts +2 -2
  134. package/dist/consolidation-undo.d.ts +2 -2
  135. package/dist/contradiction/index.d.ts +2 -2
  136. package/dist/contradiction/index.js +2 -2
  137. package/dist/{contradiction-scan-RJBABNRH.js → contradiction-scan-HMF7CNKD.js} +3 -3
  138. package/dist/conversation-index/backend.d.ts +1 -1
  139. package/dist/conversation-index/chunker.d.ts +1 -1
  140. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  141. package/dist/conversation-index/indexer.d.ts +1 -1
  142. package/dist/conversation-index/search.d.ts +1 -1
  143. package/dist/day-summary.d.ts +1 -1
  144. package/dist/day-summary.js +2 -2
  145. package/dist/delinearize.d.ts +1 -1
  146. package/dist/direct-answer-wiring.d.ts +1 -1
  147. package/dist/direct-answer.d.ts +1 -1
  148. package/dist/embedding-fallback.d.ts +1 -1
  149. package/dist/embedding-fallback.js +2 -2
  150. package/dist/enrichment/index.d.ts +1 -1
  151. package/dist/entity-retrieval.d.ts +2 -2
  152. package/dist/entity-retrieval.js +6 -6
  153. package/dist/entity-schema.d.ts +1 -1
  154. package/dist/explicit-capture.d.ts +6 -6
  155. package/dist/explicit-capture.js +2 -2
  156. package/dist/extraction-faithfulness.d.ts +1 -1
  157. package/dist/extraction-judge-telemetry.d.ts +1 -1
  158. package/dist/extraction-judge-training.d.ts +1 -1
  159. package/dist/extraction-judge.d.ts +1 -1
  160. package/dist/extraction.d.ts +1 -1
  161. package/dist/extraction.js +4 -4
  162. package/dist/fallback-llm.d.ts +1 -1
  163. package/dist/{first-start-migration-CSRHCJIQ.js → first-start-migration-LEXL3XYL.js} +2 -2
  164. package/dist/graph-dashboard-diff.d.ts +1 -1
  165. package/dist/graph-dashboard-key.d.ts +1 -1
  166. package/dist/graph-dashboard-parser.d.ts +1 -1
  167. package/dist/graph-edge-reinforcement.d.ts +1 -1
  168. package/dist/graph-snapshot.d.ts +1 -1
  169. package/dist/graph.d.ts +1 -1
  170. package/dist/importance.d.ts +1 -1
  171. package/dist/importers/index.d.ts +1 -1
  172. package/dist/in-flight-reads.d.ts +1 -1
  173. package/dist/index.d.ts +18 -18
  174. package/dist/index.js +52 -52
  175. package/dist/intent.d.ts +1 -1
  176. package/dist/lcm/engine.d.ts +1 -1
  177. package/dist/lcm/index.d.ts +1 -1
  178. package/dist/lcm/tools.d.ts +1 -1
  179. package/dist/lifecycle.d.ts +1 -1
  180. package/dist/live-connectors-runner.d.ts +1 -1
  181. package/dist/local-llm.d.ts +1 -1
  182. package/dist/local-llm.js +2 -2
  183. package/dist/local-model-endpoint.d.ts +1 -1
  184. package/dist/maintenance/memory-governance.d.ts +1 -1
  185. package/dist/maintenance/memory-governance.js +6 -6
  186. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  187. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +6 -6
  188. package/dist/maintenance/rebuild-memory-projection.d.ts +26 -8
  189. package/dist/maintenance/rebuild-memory-projection.js +7 -7
  190. package/dist/mcp-memory-inspector-app.d.ts +8 -8
  191. package/dist/memory-action-policy.d.ts +1 -1
  192. package/dist/memory-cache.d.ts +1 -1
  193. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  194. package/dist/memory-projection-store.d.ts +3 -2
  195. package/dist/memory-projection-store.js +3 -1
  196. package/dist/memory-provenance.d.ts +1 -1
  197. package/dist/memory-worth-outcomes.d.ts +2 -2
  198. package/dist/models-json.d.ts +1 -1
  199. package/dist/namespaces/migrate.d.ts +3 -3
  200. package/dist/namespaces/migrate.js +10 -10
  201. package/dist/namespaces/principal.d.ts +1 -1
  202. package/dist/namespaces/principal.js +2 -2
  203. package/dist/namespaces/search.d.ts +1 -1
  204. package/dist/namespaces/search.js +4 -4
  205. package/dist/namespaces/storage.d.ts +3 -3
  206. package/dist/namespaces/storage.js +6 -6
  207. package/dist/native-knowledge.d.ts +1 -1
  208. package/dist/offline-sync-impression-drain.d.ts +1 -1
  209. package/dist/offline-sync-impression-drain.js +4 -4
  210. package/dist/operator-toolkit.d.ts +2 -2
  211. package/dist/operator-toolkit.js +16 -16
  212. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  213. package/dist/orchestration/compression-guideline-coordinator.js +2 -2
  214. package/dist/orchestration/maintenance.d.ts +4 -3
  215. package/dist/orchestration/maintenance.js +15 -11
  216. package/dist/{orchestrator-CplS9U3U.d.ts → orchestrator-DrILRi-n.d.ts} +5 -5
  217. package/dist/orchestrator.d.ts +6 -6
  218. package/dist/orchestrator.js +52 -52
  219. package/dist/patterns-cli.d.ts +1 -1
  220. package/dist/{pipeline-DB4CbFqo.d.ts → pipeline-BYo4b_y9.d.ts} +1 -1
  221. package/dist/policy-runtime.d.ts +1 -1
  222. package/dist/proactive-contention.d.ts +1 -1
  223. package/dist/provenance.d.ts +1 -1
  224. package/dist/{purge-IRF47ZTX.js → purge-YSGX5BOG.js} +2 -2
  225. package/dist/{qmd-BxZmOLHq.d.ts → qmd-BIrL8e69.d.ts} +1 -1
  226. package/dist/qmd-preflight.d.ts +2 -2
  227. package/dist/qmd-recall-cache.d.ts +1 -1
  228. package/dist/qmd.d.ts +2 -2
  229. package/dist/recall-concurrency-config.d.ts +1 -1
  230. package/dist/recall-disclosure-escalation.d.ts +1 -1
  231. package/dist/recall-explain-renderer.d.ts +1 -1
  232. package/dist/recall-explain-renderer.js +3 -3
  233. package/dist/recall-memory-map.d.ts +1 -1
  234. package/dist/recall-planner-llm.d.ts +1 -1
  235. package/dist/recall-state.d.ts +1 -1
  236. package/dist/recall-tag-filter.d.ts +1 -1
  237. package/dist/recall-timings.d.ts +1 -1
  238. package/dist/recall-xray-cli.d.ts +1 -1
  239. package/dist/recall-xray-cli.js +4 -4
  240. package/dist/recall-xray-renderer.d.ts +1 -1
  241. package/dist/recall-xray-renderer.js +3 -3
  242. package/dist/recall-xray.d.ts +1 -1
  243. package/dist/recall-xray.js +2 -2
  244. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  245. package/dist/replay/normalizers/claude.d.ts +1 -1
  246. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  247. package/dist/replay/normalizers/shared.d.ts +1 -1
  248. package/dist/replay/runner.d.ts +1 -1
  249. package/dist/replay/types.d.ts +1 -1
  250. package/dist/resolve-auth-token.d.ts +1 -1
  251. package/dist/resume-bundles.js +2 -2
  252. package/dist/retrieval-agents.d.ts +2 -2
  253. package/dist/retrieval-tiers.d.ts +1 -1
  254. package/dist/routing/engine.d.ts +1 -1
  255. package/dist/routing/store.d.ts +1 -1
  256. package/dist/salvage-envelope.d.ts +1 -1
  257. package/dist/schemas.d.ts +22 -22
  258. package/dist/{scope-profiles-NsQQo1Lt.d.ts → scope-profiles-BiQ9yXP4.d.ts} +1 -1
  259. package/dist/search/embed-helper.d.ts +1 -1
  260. package/dist/search/embed-helper.js +2 -2
  261. package/dist/search/factory.d.ts +1 -1
  262. package/dist/search/factory.js +3 -3
  263. package/dist/search/index.d.ts +1 -1
  264. package/dist/search/index.js +3 -3
  265. package/dist/search/lancedb-backend.d.ts +1 -1
  266. package/dist/search/meilisearch-backend.d.ts +1 -1
  267. package/dist/search/noop-backend.d.ts +1 -1
  268. package/dist/search/orama-backend.d.ts +1 -1
  269. package/dist/search/port.d.ts +1 -1
  270. package/dist/search/remote-backend.d.ts +1 -1
  271. package/dist/{semantic-consolidation-DW85h30n.d.ts → semantic-consolidation-C-cSATcR.d.ts} +1 -1
  272. package/dist/semantic-consolidation.d.ts +2 -2
  273. package/dist/semantic-consolidation.js +7 -7
  274. package/dist/semantic-rule-promotion.js +6 -6
  275. package/dist/semantic-rule-verifier.d.ts +1 -1
  276. package/dist/semantic-rule-verifier.js +6 -6
  277. package/dist/session-observer-bands.d.ts +1 -1
  278. package/dist/session-observer-state.d.ts +1 -1
  279. package/dist/shared-context/manager.d.ts +5 -5
  280. package/dist/shared-context/manager.js +2 -2
  281. package/dist/signal.d.ts +1 -1
  282. package/dist/{storage-o5BTAa8d.d.ts → storage-ByTv05qM.d.ts} +1 -1
  283. package/dist/storage-guards.d.ts +6 -2
  284. package/dist/storage-guards.js +3 -1
  285. package/dist/storage.d.ts +2 -2
  286. package/dist/storage.js +5 -5
  287. package/dist/summarizer.d.ts +1 -1
  288. package/dist/summarizer.js +3 -3
  289. package/dist/summary-snapshot.d.ts +1 -1
  290. package/dist/temporal-supersession.d.ts +2 -2
  291. package/dist/temporal-timeline-recall.d.ts +1 -1
  292. package/dist/temporal-validity.d.ts +1 -1
  293. package/dist/threading.d.ts +1 -1
  294. package/dist/tier-migration.d.ts +2 -2
  295. package/dist/tier-routing.d.ts +1 -1
  296. package/dist/{tier-stats-QEJSPFV2.js → tier-stats-XKD7SXYY.js} +2 -2
  297. package/dist/topics.d.ts +1 -1
  298. package/dist/transcript.d.ts +1 -1
  299. package/dist/transfer/types.d.ts +12 -12
  300. package/dist/trust-score-stage.d.ts +1 -1
  301. package/dist/trust-score.d.ts +1 -1
  302. package/dist/{types-V3dT-pen.d.ts → types-e0_MI3Iq.d.ts} +16 -0
  303. package/dist/types.d.ts +1 -1
  304. package/dist/types.js +1 -1
  305. package/dist/utility-runtime.d.ts +1 -1
  306. package/dist/verified-recall.js +6 -6
  307. package/dist/write-envelope.d.ts +1 -1
  308. package/package.json +2 -2
  309. package/src/capabilities.test.ts +1 -0
  310. package/src/capabilities.ts +4 -1
  311. package/src/config.test.ts +22 -0
  312. package/src/config.ts +5 -0
  313. package/src/maintenance/projection-support.ts +56 -0
  314. package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +2 -7
  315. package/src/maintenance/rebuild-memory-projection.ts +7 -10
  316. package/src/memory-projection-store.ts +1 -1
  317. package/src/offline-sync-impression-drain.test.ts +54 -0
  318. package/src/offline-sync-impression-drain.ts +35 -3
  319. package/src/orchestration/maintenance.test.ts +116 -0
  320. package/src/orchestration/maintenance.ts +16 -0
  321. package/src/orchestration/projection-rebuild-schedule.ts +115 -0
  322. package/src/storage-guards.ts +19 -2
  323. package/src/storage-memory-lifecycle-ledger.test.ts +32 -0
  324. package/src/storage.ts +15 -1
  325. package/src/testing/subjects/memory-projection.test.ts +78 -0
  326. package/src/types.ts +18 -0
  327. package/dist/chunk-2OH3ZRYH.js.map +0 -1
  328. package/dist/chunk-347WD2LE.js.map +0 -1
  329. package/dist/chunk-7YJLCNPF.js.map +0 -1
  330. package/dist/chunk-DETNBTZS.js.map +0 -1
  331. package/dist/chunk-F7BWFIDK.js.map +0 -1
  332. package/dist/chunk-LMVAIZR5.js.map +0 -1
  333. package/dist/chunk-SCCO46KZ.js.map +0 -1
  334. package/dist/chunk-V57NLO5P.js.map +0 -1
  335. /package/dist/{chunk-BV5WMSIJ.js.map → chunk-2AJ72VVS.js.map} +0 -0
  336. /package/dist/{chunk-755Q3DGF.js.map → chunk-2H7OEVPO.js.map} +0 -0
  337. /package/dist/{chunk-TG6IHVE2.js.map → chunk-354T54RR.js.map} +0 -0
  338. /package/dist/{chunk-EA2H5LML.js.map → chunk-44DUJETW.js.map} +0 -0
  339. /package/dist/{chunk-SESF64QR.js.map → chunk-52H7OB7Y.js.map} +0 -0
  340. /package/dist/{chunk-TXXP7WAM.js.map → chunk-6P6ZR6JR.js.map} +0 -0
  341. /package/dist/{chunk-C2RMQRPN.js.map → chunk-6YJLLDWO.js.map} +0 -0
  342. /package/dist/{chunk-QDTEH6BS.js.map → chunk-7JXXI3GW.js.map} +0 -0
  343. /package/dist/{chunk-OXT5TQDS.js.map → chunk-7KXE7KN5.js.map} +0 -0
  344. /package/dist/{chunk-UH7VNQ7O.js.map → chunk-AKWX5E6R.js.map} +0 -0
  345. /package/dist/{chunk-ANGUOE2N.js.map → chunk-ALPBE5EC.js.map} +0 -0
  346. /package/dist/{chunk-M6TZQDTX.js.map → chunk-B3R5CC35.js.map} +0 -0
  347. /package/dist/{chunk-JECBQBEX.js.map → chunk-B7GROTXD.js.map} +0 -0
  348. /package/dist/{chunk-6WAFYNVT.js.map → chunk-BJJAX3IZ.js.map} +0 -0
  349. /package/dist/{chunk-GEDBTSYU.js.map → chunk-CNNQVI2A.js.map} +0 -0
  350. /package/dist/{chunk-S2FSBU4H.js.map → chunk-FCCMFVS6.js.map} +0 -0
  351. /package/dist/{chunk-7ON2JW73.js.map → chunk-IKMAO55B.js.map} +0 -0
  352. /package/dist/{chunk-B57BIBXI.js.map → chunk-IU3XJAQM.js.map} +0 -0
  353. /package/dist/{chunk-WQ2I6ODB.js.map → chunk-JEMLK7ED.js.map} +0 -0
  354. /package/dist/{chunk-RFDD3B7W.js.map → chunk-JGUXPJUQ.js.map} +0 -0
  355. /package/dist/{chunk-TUNI4GB3.js.map → chunk-JHIEQCMG.js.map} +0 -0
  356. /package/dist/{chunk-I6ODVWQB.js.map → chunk-LTGSOACX.js.map} +0 -0
  357. /package/dist/{chunk-AWT7SCWQ.js.map → chunk-LU22QKFA.js.map} +0 -0
  358. /package/dist/{chunk-QCLQ4BGA.js.map → chunk-MJYYXODM.js.map} +0 -0
  359. /package/dist/{chunk-7VZWZVYG.js.map → chunk-MQVINOJQ.js.map} +0 -0
  360. /package/dist/{chunk-K2B2TMF3.js.map → chunk-NGO4QKMY.js.map} +0 -0
  361. /package/dist/{chunk-7LXSPIVG.js.map → chunk-OR3OQHHS.js.map} +0 -0
  362. /package/dist/{chunk-ANEUPF6O.js.map → chunk-QH6CS6XJ.js.map} +0 -0
  363. /package/dist/{chunk-QDNE35FU.js.map → chunk-SB4OKS6C.js.map} +0 -0
  364. /package/dist/{chunk-IZHXSLO7.js.map → chunk-SGCWBLHN.js.map} +0 -0
  365. /package/dist/{chunk-B6NCHYAK.js.map → chunk-SQEDDWAM.js.map} +0 -0
  366. /package/dist/{chunk-GBT4TFV7.js.map → chunk-UHOUNNY3.js.map} +0 -0
  367. /package/dist/{chunk-7PK4W4RN.js.map → chunk-UL6WTQN4.js.map} +0 -0
  368. /package/dist/{chunk-KGKYTCDO.js.map → chunk-UQXIW7OZ.js.map} +0 -0
  369. /package/dist/{chunk-WIS5JTJR.js.map → chunk-UVCY7VDX.js.map} +0 -0
  370. /package/dist/{chunk-BIRPR5N7.js.map → chunk-VMALXCR5.js.map} +0 -0
  371. /package/dist/{chunk-L3HAUO7K.js.map → chunk-WIP3MQZY.js.map} +0 -0
  372. /package/dist/{chunk-AE7WMV4V.js.map → chunk-WMLHJ5UW.js.map} +0 -0
  373. /package/dist/{chunk-G2WCVFDC.js.map → chunk-WMMT6W7C.js.map} +0 -0
  374. /package/dist/{chunk-AFH7PIFU.js.map → chunk-XGYCI23S.js.map} +0 -0
  375. /package/dist/{chunk-6QYST5XN.js.map → chunk-XY7QPJDA.js.map} +0 -0
  376. /package/dist/{chunk-BZ52BJ6C.js.map → chunk-YWJBAHTY.js.map} +0 -0
  377. /package/dist/{contradiction-scan-RJBABNRH.js.map → contradiction-scan-HMF7CNKD.js.map} +0 -0
  378. /package/dist/{first-start-migration-CSRHCJIQ.js.map → first-start-migration-LEXL3XYL.js.map} +0 -0
  379. /package/dist/{purge-IRF47ZTX.js.map → purge-YSGX5BOG.js.map} +0 -0
  380. /package/dist/{tier-stats-QEJSPFV2.js.map → tier-stats-XKD7SXYY.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { ModelRegistry } from './model-registry.js';
2
- import { P as PluginConfig, G as GatewayConfig, T as TranscriptEntry, H as HourlySummary } from './types-V3dT-pen.js';
2
+ import { P as PluginConfig, G as GatewayConfig, T as TranscriptEntry, H as HourlySummary } from './types-e0_MI3Iq.js';
3
3
  import { TranscriptManager } from './transcript.js';
4
4
  import './message-parts/index.js';
5
5
  import './bounded-jsonl-state.js';
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  HourlySummarizer
3
- } from "./chunk-B57BIBXI.js";
3
+ } from "./chunk-IU3XJAQM.js";
4
4
  import "./chunk-AAP5T6QG.js";
5
5
  import "./chunk-WLZYGLJ4.js";
6
- import "./chunk-BZ52BJ6C.js";
6
+ import "./chunk-YWJBAHTY.js";
7
7
  import "./chunk-S4DDLTPX.js";
8
8
  import "./chunk-O75CRYGF.js";
9
9
  import "./chunk-WL5EBRDH.js";
@@ -15,7 +15,7 @@ import "./chunk-RGMVMVMF.js";
15
15
  import "./chunk-N7RWREIQ.js";
16
16
  import "./chunk-EYIEWJNI.js";
17
17
  import "./chunk-JUC24CTX.js";
18
- import "./chunk-SCCO46KZ.js";
18
+ import "./chunk-RDQGLJRR.js";
19
19
  import "./chunk-FF4KLI5W.js";
20
20
  import "./chunk-3WCASNQZ.js";
21
21
  import "./chunk-PZ5AY32C.js";
@@ -1,4 +1,4 @@
1
- import { H as HourlySummary } from './types-V3dT-pen.js';
1
+ import { H as HourlySummary } from './types-e0_MI3Iq.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,5 +1,5 @@
1
- import { o as MemoryFrontmatter } from './types-V3dT-pen.js';
2
- import { S as StorageManager } from './storage-o5BTAa8d.js';
1
+ import { o as MemoryFrontmatter } from './types-e0_MI3Iq.js';
2
+ import { S as StorageManager } from './storage-ByTv05qM.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile } from './types-V3dT-pen.js';
1
+ import { M as MemoryFile } from './types-e0_MI3Iq.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { o as MemoryFrontmatter } from './types-V3dT-pen.js';
1
+ import { o as MemoryFrontmatter } from './types-e0_MI3Iq.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { n as BufferTurn, W as ConversationThread } from './types-V3dT-pen.js';
1
+ import { n as BufferTurn, W as ConversationThread } from './types-e0_MI3Iq.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,5 +1,5 @@
1
- import { M as MemoryFile } from './types-V3dT-pen.js';
2
- import { S as StorageManager } from './storage-o5BTAa8d.js';
1
+ import { M as MemoryFile } from './types-e0_MI3Iq.js';
2
+ import { S as StorageManager } from './storage-ByTv05qM.js';
3
3
  import { MemoryTier } from './tier-routing.js';
4
4
  import { SearchBackend } from './search/port.js';
5
5
  import './message-parts/index.js';
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile } from './types-V3dT-pen.js';
1
+ import { M as MemoryFile } from './types-e0_MI3Iq.js';
2
2
  import { LifecycleSignals } from './lifecycle.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  resolveQmdCapabilities,
16
16
  resolveUtilityLearningCapabilities
17
- } from "./chunk-SCCO46KZ.js";
17
+ } from "./chunk-RDQGLJRR.js";
18
18
  import "./chunk-A2IYSXDQ.js";
19
19
  import "./chunk-LPSF4OQH.js";
20
20
  import "./chunk-PZ5AY32C.js";
@@ -153,4 +153,4 @@ export {
153
153
  formatTierSummaryText,
154
154
  summarizeTiers
155
155
  };
156
- //# sourceMappingURL=tier-stats-QEJSPFV2.js.map
156
+ //# sourceMappingURL=tier-stats-XKD7SXYY.js.map
package/dist/topics.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile, as as TopicScore } from './types-V3dT-pen.js';
1
+ import { M as MemoryFile, as as TopicScore } from './types-e0_MI3Iq.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, T as TranscriptEntry, p as Checkpoint } from './types-V3dT-pen.js';
1
+ import { P as PluginConfig, T as TranscriptEntry, p as Checkpoint } from './types-e0_MI3Iq.js';
2
2
  import { SessionIntegrityReport } from './session-integrity.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
@@ -313,13 +313,13 @@ declare const CapsuleBlockSchema: z.ZodObject<{
313
313
  peerProfiles: boolean;
314
314
  }>;
315
315
  }, "strip", z.ZodTypeAny, {
316
- schemaVersion: string;
317
316
  includes: {
318
317
  procedural: boolean;
319
318
  taxonomy: boolean;
320
319
  identityAnchors: boolean;
321
320
  peerProfiles: boolean;
322
321
  };
322
+ schemaVersion: string;
323
323
  id: string;
324
324
  version: string;
325
325
  description: string;
@@ -334,13 +334,13 @@ declare const CapsuleBlockSchema: z.ZodObject<{
334
334
  directAnswerEnabled: boolean;
335
335
  };
336
336
  }, {
337
- schemaVersion: string;
338
337
  includes: {
339
338
  procedural: boolean;
340
339
  taxonomy: boolean;
341
340
  identityAnchors: boolean;
342
341
  peerProfiles: boolean;
343
342
  };
343
+ schemaVersion: string;
344
344
  id: string;
345
345
  version: string;
346
346
  description: string;
@@ -464,13 +464,13 @@ declare const ExportManifestV2Schema: z.ZodObject<{
464
464
  peerProfiles: boolean;
465
465
  }>;
466
466
  }, "strip", z.ZodTypeAny, {
467
- schemaVersion: string;
468
467
  includes: {
469
468
  procedural: boolean;
470
469
  taxonomy: boolean;
471
470
  identityAnchors: boolean;
472
471
  peerProfiles: boolean;
473
472
  };
473
+ schemaVersion: string;
474
474
  id: string;
475
475
  version: string;
476
476
  description: string;
@@ -485,13 +485,13 @@ declare const ExportManifestV2Schema: z.ZodObject<{
485
485
  directAnswerEnabled: boolean;
486
486
  };
487
487
  }, {
488
- schemaVersion: string;
489
488
  includes: {
490
489
  procedural: boolean;
491
490
  taxonomy: boolean;
492
491
  identityAnchors: boolean;
493
492
  peerProfiles: boolean;
494
493
  };
494
+ schemaVersion: string;
495
495
  id: string;
496
496
  version: string;
497
497
  description: string;
@@ -518,13 +518,13 @@ declare const ExportManifestV2Schema: z.ZodObject<{
518
518
  pluginVersion: string;
519
519
  includesTranscripts: boolean;
520
520
  capsule: {
521
- schemaVersion: string;
522
521
  includes: {
523
522
  procedural: boolean;
524
523
  taxonomy: boolean;
525
524
  identityAnchors: boolean;
526
525
  peerProfiles: boolean;
527
526
  };
527
+ schemaVersion: string;
528
528
  id: string;
529
529
  version: string;
530
530
  description: string;
@@ -551,13 +551,13 @@ declare const ExportManifestV2Schema: z.ZodObject<{
551
551
  pluginVersion: string;
552
552
  includesTranscripts: boolean;
553
553
  capsule: {
554
- schemaVersion: string;
555
554
  includes: {
556
555
  procedural: boolean;
557
556
  taxonomy: boolean;
558
557
  identityAnchors: boolean;
559
558
  peerProfiles: boolean;
560
559
  };
560
+ schemaVersion: string;
561
561
  id: string;
562
562
  version: string;
563
563
  description: string;
@@ -683,13 +683,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
683
683
  peerProfiles: boolean;
684
684
  }>;
685
685
  }, "strip", z.ZodTypeAny, {
686
- schemaVersion: string;
687
686
  includes: {
688
687
  procedural: boolean;
689
688
  taxonomy: boolean;
690
689
  identityAnchors: boolean;
691
690
  peerProfiles: boolean;
692
691
  };
692
+ schemaVersion: string;
693
693
  id: string;
694
694
  version: string;
695
695
  description: string;
@@ -704,13 +704,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
704
704
  directAnswerEnabled: boolean;
705
705
  };
706
706
  }, {
707
- schemaVersion: string;
708
707
  includes: {
709
708
  procedural: boolean;
710
709
  taxonomy: boolean;
711
710
  identityAnchors: boolean;
712
711
  peerProfiles: boolean;
713
712
  };
713
+ schemaVersion: string;
714
714
  id: string;
715
715
  version: string;
716
716
  description: string;
@@ -737,13 +737,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
737
737
  pluginVersion: string;
738
738
  includesTranscripts: boolean;
739
739
  capsule: {
740
- schemaVersion: string;
741
740
  includes: {
742
741
  procedural: boolean;
743
742
  taxonomy: boolean;
744
743
  identityAnchors: boolean;
745
744
  peerProfiles: boolean;
746
745
  };
746
+ schemaVersion: string;
747
747
  id: string;
748
748
  version: string;
749
749
  description: string;
@@ -770,13 +770,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
770
770
  pluginVersion: string;
771
771
  includesTranscripts: boolean;
772
772
  capsule: {
773
- schemaVersion: string;
774
773
  includes: {
775
774
  procedural: boolean;
776
775
  taxonomy: boolean;
777
776
  identityAnchors: boolean;
778
777
  peerProfiles: boolean;
779
778
  };
779
+ schemaVersion: string;
780
780
  id: string;
781
781
  version: string;
782
782
  description: string;
@@ -815,13 +815,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
815
815
  pluginVersion: string;
816
816
  includesTranscripts: boolean;
817
817
  capsule: {
818
- schemaVersion: string;
819
818
  includes: {
820
819
  procedural: boolean;
821
820
  taxonomy: boolean;
822
821
  identityAnchors: boolean;
823
822
  peerProfiles: boolean;
824
823
  };
824
+ schemaVersion: string;
825
825
  id: string;
826
826
  version: string;
827
827
  description: string;
@@ -854,13 +854,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
854
854
  pluginVersion: string;
855
855
  includesTranscripts: boolean;
856
856
  capsule: {
857
- schemaVersion: string;
858
857
  includes: {
859
858
  procedural: boolean;
860
859
  taxonomy: boolean;
861
860
  identityAnchors: boolean;
862
861
  peerProfiles: boolean;
863
862
  };
863
+ schemaVersion: string;
864
864
  id: string;
865
865
  version: string;
866
866
  description: string;
@@ -1,4 +1,4 @@
1
- import { F as FaithfulnessFrontmatter, U as ProvenanceSource, V as TrustWeights, Q as QmdSearchResult } from './types-V3dT-pen.js';
1
+ import { F as FaithfulnessFrontmatter, U as ProvenanceSource, V as TrustWeights, Q as QmdSearchResult } from './types-e0_MI3Iq.js';
2
2
  import { TrustScoreResult, TrustSignals, TrustBand, TrustScoreComponent } from './trust-score.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
@@ -1,4 +1,4 @@
1
- import { V as TrustWeights } from './types-V3dT-pen.js';
1
+ import { V as TrustWeights } from './types-e0_MI3Iq.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -2555,6 +2555,22 @@ interface PluginConfig extends BoundedJsonlStateConfig {
2555
2555
  graphEdgeDecayFloor: number;
2556
2556
  /** Confidence threshold for the "below visibility" telemetry counter. Default 0.2. */
2557
2557
  graphEdgeDecayVisibilityThreshold: number;
2558
+ /**
2559
+ * Enable the maintenance-scheduled rebuild of `state/memory-projection.sqlite`.
2560
+ * The projection is otherwise rebuild-only (manual CLI / tests), so it rots as
2561
+ * the lifecycle ledger grows and timeline/browse consumers silently regress to
2562
+ * full-corpus fallback scans. Default true — mirrors lifecycle-ledger
2563
+ * auto-compaction, which is likewise enabled-by-default to keep a state file
2564
+ * healthy. Set false to disable (operators can still cron the CLI rebuild).
2565
+ */
2566
+ projectionRebuildEnabled: boolean;
2567
+ /**
2568
+ * Minimum interval between scheduled projection rebuilds. A rebuild is skipped
2569
+ * when the projection's `rebuiltAt` meta is younger than this, so a burst of
2570
+ * maintenance requests cannot fan into back-to-back rebuilds. Floored at 60s.
2571
+ * Default 6h (matches memoryLifecycleLedgerCompactMinIntervalMs).
2572
+ */
2573
+ projectionRebuildIntervalMs: number;
2558
2574
  /**
2559
2575
  * Issue #681 PR 3/3 — minimum edge confidence to traverse during spreading
2560
2576
  * activation. Edges below are pruned (no activation, no downstream neighbors);
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { aB as AccessTrackingEntry, A as ActiveRecallChatType, f as ActiveRecallModelFallbackPolicy, d as ActiveRecallPromptStyle, c as ActiveRecallQueryMode, e as ActiveRecallThinking, a6 as AgentAccessAuthToken, bs as AgentAccessHttpConfig, bt as AgentDefaultsConfig, bu as AgentPersona, q as AgentPersonaModelConfig, bv as BehaviorLoopAdjustment, v as BehaviorLoopPolicyState, bw as BehaviorSignalDirection, $ as BehaviorSignalEvent, bx as BehaviorSignalType, aQ as BootstrapOptions, aR as BootstrapResult, k as BriefingActiveThread, by as BriefingCalendarSourceError, b5 as BriefingConfig, i as BriefingFocus, h as BriefingFollowup, b6 as BriefingOpenCommitment, m as BriefingRecentEntity, l as BriefingResult, B as BriefingSections, b7 as BriefingWindow, bz as BufferEntryState, aw as BufferState, a0 as BufferSurpriseEvent, n as BufferTurn, j as CalendarEvent, C as CalendarSource, bA as CaptureMode, bB as ChatConfig, p as Checkpoint, bC as CodexCliReasoningEffort, bD as CodexCompactionFlushMode, ba as CodexCompatConfig, bE as CodexConnectorConfig, aD as CodingContext, bF as CodingGraphLspConfig, aU as CodingKnowledgeConfig, aT as CodingModeConfig, bG as CompressionGuidelineActivationState, a8 as CompressionGuidelineOptimizerActionSummary, a7 as CompressionGuidelineOptimizerEventCounts, a9 as CompressionGuidelineOptimizerRuleUpdate, bH as CompressionGuidelineOptimizerSourceWindow, ac as CompressionGuidelineOptimizerState, bI as ConfidenceTier, bJ as ConsolidationAction, bK as ConsolidationItem, aS as ConsolidationObservation, K as ConsolidationResult, bL as ContradictionScanConfig, W as ConversationThread, bM as CronConversationRecallMode, bN as CronRecallMode, bb as DEFAULT_RECALL_DISCLOSURE, N as DaySummaryResult, bO as DreamingConfig, bP as DreamingNarrativePromptStyle, bQ as DreamsDeepSleepConfig, bR as DreamsLightSleepConfig, D as DreamsPhase, bS as DreamsPhaseStatus, bT as DreamsPhasesConfig, bU as DreamsRemConfig, a as DreamsRunResult, aE as DreamsStatusResult, bV as EngramTraceEvent, aA as EntityActivityEntry, E as EntityFile, ad as EntityMention, az as EntityRelationship, ae as EntitySchemaDefinition, af as EntitySchemaSectionDefinition, ag as EntityStructuredSection, au as EntityTimelineEntry, bc as ExtractedFact, bW as ExtractedProcedureStep, bX as ExtractedQuestion, bY as ExtractedReasoningTrace, bZ as ExtractedReasoningTraceStep, b_ as ExtractedRelationship, O as ExtractionFailureClass, b$ as ExtractionPassSource, J as ExtractionResult, F as FaithfulnessFrontmatter, ay as FileHygieneConfig, G as GatewayConfig, c0 as GitHubLiveConnectorConfig, c1 as GmailLiveConnectorConfig, c2 as GoogleDriveLiveConnectorConfig, c3 as HeartbeatConfig, c4 as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, _ as ImportanceLevel, ah as ImportanceScore, X as LifecycleState, L as LiveConnectorsConfig, c5 as LlmTraceCallback, c6 as LlmTraceEvent, aj as MemoryActionEligibilityContext, bf as MemoryActionEligibilitySource, ab as MemoryActionEvent, c7 as MemoryActionOutcome, c8 as MemoryActionPolicyDecision, ak as MemoryActionPolicyResult, c9 as MemoryActionStatus, aa as MemoryActionType, w as MemoryCategory, M as MemoryFile, o as MemoryFrontmatter, ai as MemoryIntent, z as MemoryLifecycleEvent, al as MemoryLifecycleEventType, am as MemoryLifecycleStateSummary, av as MemoryLink, ca as MemoryLinkType, bg as MemoryObservation, cb as MemoryOsPresetName, y as MemoryProjectionCurrentState, bh as MemoryScope, x as MemoryStatus, aC as MemorySummary, ax as MetaState, cc as ModelApi, cd as ModelDefinitionConfig, ce as ModelProviderAuthMode, an as ModelProviderConfig, cf as NamespacePolicy, ao as NativeKnowledgeConfig, cg as NativeKnowledgeFolderRuleConfig, ch as NativeKnowledgeObsidianVaultConfig, ci as NativeKnowledgeOpenClawWorkspaceConfig, cj as NotionLiveConnectorConfig, P as PluginConfig, Z as PolicyClass, ck as PrincipalFromSessionKeyMode, cl as PrincipalRule, cm as ProceduralConfig, ap as ProvenanceConfig, U as ProvenanceSource, at as QmdSearchExplain, Q as QmdSearchResult, cn as QuestionEntry, bi as RECALL_DISCLOSURE_LEVELS, co as ReasoningEffort, b as RecallDisclosure, cp as RecallPipelineConfig, R as RecallPlanMode, aP as RecallSectionConfig, g as RecallTierExplain, cq as RecallTraceEvent, cr as RelevanceFeedback, aq as RetrievalTier, cs as SPECULATIVE_TTL_DAYS, ct as ScopeProfileAutoPromoteConfig, s as ScopeProfileConfig, t as ScopeProfileLayerId, u as ScopeProfilePromotionTarget, cu as ScopeProfileTeamProjectConfig, cv as ScopeTeamConfig, cw as ScoredEntity, a5 as SecretRef, cx as SemanticChunkingConfigShape, S as SessionObserverBandConfig, cy as SignalLevel, ar as SignalScanResult, cz as SlotBehaviorConfig, cA as SlotMismatchMode, r as SourceConnectorProvenance, as as TopicScore, T as TranscriptEntry, cB as TriggerMode, V as TrustWeights, Y as VerificationState, cC as confidenceTier, bp as isRecallDisclosure } from './types-V3dT-pen.js';
1
+ export { aB as AccessTrackingEntry, A as ActiveRecallChatType, f as ActiveRecallModelFallbackPolicy, d as ActiveRecallPromptStyle, c as ActiveRecallQueryMode, e as ActiveRecallThinking, a6 as AgentAccessAuthToken, bs as AgentAccessHttpConfig, bt as AgentDefaultsConfig, bu as AgentPersona, q as AgentPersonaModelConfig, bv as BehaviorLoopAdjustment, v as BehaviorLoopPolicyState, bw as BehaviorSignalDirection, $ as BehaviorSignalEvent, bx as BehaviorSignalType, aQ as BootstrapOptions, aR as BootstrapResult, k as BriefingActiveThread, by as BriefingCalendarSourceError, b5 as BriefingConfig, i as BriefingFocus, h as BriefingFollowup, b6 as BriefingOpenCommitment, m as BriefingRecentEntity, l as BriefingResult, B as BriefingSections, b7 as BriefingWindow, bz as BufferEntryState, aw as BufferState, a0 as BufferSurpriseEvent, n as BufferTurn, j as CalendarEvent, C as CalendarSource, bA as CaptureMode, bB as ChatConfig, p as Checkpoint, bC as CodexCliReasoningEffort, bD as CodexCompactionFlushMode, ba as CodexCompatConfig, bE as CodexConnectorConfig, aD as CodingContext, bF as CodingGraphLspConfig, aU as CodingKnowledgeConfig, aT as CodingModeConfig, bG as CompressionGuidelineActivationState, a8 as CompressionGuidelineOptimizerActionSummary, a7 as CompressionGuidelineOptimizerEventCounts, a9 as CompressionGuidelineOptimizerRuleUpdate, bH as CompressionGuidelineOptimizerSourceWindow, ac as CompressionGuidelineOptimizerState, bI as ConfidenceTier, bJ as ConsolidationAction, bK as ConsolidationItem, aS as ConsolidationObservation, K as ConsolidationResult, bL as ContradictionScanConfig, W as ConversationThread, bM as CronConversationRecallMode, bN as CronRecallMode, bb as DEFAULT_RECALL_DISCLOSURE, N as DaySummaryResult, bO as DreamingConfig, bP as DreamingNarrativePromptStyle, bQ as DreamsDeepSleepConfig, bR as DreamsLightSleepConfig, D as DreamsPhase, bS as DreamsPhaseStatus, bT as DreamsPhasesConfig, bU as DreamsRemConfig, a as DreamsRunResult, aE as DreamsStatusResult, bV as EngramTraceEvent, aA as EntityActivityEntry, E as EntityFile, ad as EntityMention, az as EntityRelationship, ae as EntitySchemaDefinition, af as EntitySchemaSectionDefinition, ag as EntityStructuredSection, au as EntityTimelineEntry, bc as ExtractedFact, bW as ExtractedProcedureStep, bX as ExtractedQuestion, bY as ExtractedReasoningTrace, bZ as ExtractedReasoningTraceStep, b_ as ExtractedRelationship, O as ExtractionFailureClass, b$ as ExtractionPassSource, J as ExtractionResult, F as FaithfulnessFrontmatter, ay as FileHygieneConfig, G as GatewayConfig, c0 as GitHubLiveConnectorConfig, c1 as GmailLiveConnectorConfig, c2 as GoogleDriveLiveConnectorConfig, c3 as HeartbeatConfig, c4 as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, _ as ImportanceLevel, ah as ImportanceScore, X as LifecycleState, L as LiveConnectorsConfig, c5 as LlmTraceCallback, c6 as LlmTraceEvent, aj as MemoryActionEligibilityContext, bf as MemoryActionEligibilitySource, ab as MemoryActionEvent, c7 as MemoryActionOutcome, c8 as MemoryActionPolicyDecision, ak as MemoryActionPolicyResult, c9 as MemoryActionStatus, aa as MemoryActionType, w as MemoryCategory, M as MemoryFile, o as MemoryFrontmatter, ai as MemoryIntent, z as MemoryLifecycleEvent, al as MemoryLifecycleEventType, am as MemoryLifecycleStateSummary, av as MemoryLink, ca as MemoryLinkType, bg as MemoryObservation, cb as MemoryOsPresetName, y as MemoryProjectionCurrentState, bh as MemoryScope, x as MemoryStatus, aC as MemorySummary, ax as MetaState, cc as ModelApi, cd as ModelDefinitionConfig, ce as ModelProviderAuthMode, an as ModelProviderConfig, cf as NamespacePolicy, ao as NativeKnowledgeConfig, cg as NativeKnowledgeFolderRuleConfig, ch as NativeKnowledgeObsidianVaultConfig, ci as NativeKnowledgeOpenClawWorkspaceConfig, cj as NotionLiveConnectorConfig, P as PluginConfig, Z as PolicyClass, ck as PrincipalFromSessionKeyMode, cl as PrincipalRule, cm as ProceduralConfig, ap as ProvenanceConfig, U as ProvenanceSource, at as QmdSearchExplain, Q as QmdSearchResult, cn as QuestionEntry, bi as RECALL_DISCLOSURE_LEVELS, co as ReasoningEffort, b as RecallDisclosure, cp as RecallPipelineConfig, R as RecallPlanMode, aP as RecallSectionConfig, g as RecallTierExplain, cq as RecallTraceEvent, cr as RelevanceFeedback, aq as RetrievalTier, cs as SPECULATIVE_TTL_DAYS, ct as ScopeProfileAutoPromoteConfig, s as ScopeProfileConfig, t as ScopeProfileLayerId, u as ScopeProfilePromotionTarget, cu as ScopeProfileTeamProjectConfig, cv as ScopeTeamConfig, cw as ScoredEntity, a5 as SecretRef, cx as SemanticChunkingConfigShape, S as SessionObserverBandConfig, cy as SignalLevel, ar as SignalScanResult, cz as SlotBehaviorConfig, cA as SlotMismatchMode, r as SourceConnectorProvenance, as as TopicScore, T as TranscriptEntry, cB as TriggerMode, V as TrustWeights, Y as VerificationState, cC as confidenceTier, bp as isRecallDisclosure } from './types-e0_MI3Iq.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  export { ContinuityImprovementLoop, ContinuityIncidentCloseInput, ContinuityIncidentOpenInput, ContinuityIncidentRecord, ContinuityIncidentState, ContinuityLoopCadence, ContinuityLoopReviewInput, ContinuityLoopStatus, ContinuityLoopUpsertInput } from './types-continuity.js';
package/dist/types.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  SPECULATIVE_TTL_DAYS,
5
5
  confidenceTier,
6
6
  isRecallDisclosure
7
- } from "./chunk-N7DK67GZ.js";
7
+ } from "./chunk-KPEIWAZY.js";
8
8
  import "./chunk-PZ5AY32C.js";
9
9
  export {
10
10
  DEFAULT_RECALL_DISCLOSURE,
@@ -1,5 +1,5 @@
1
1
  import { TierRoutingPolicy } from './tier-routing.js';
2
- import './types-V3dT-pen.js';
2
+ import './types-e0_MI3Iq.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './types-continuity.js';
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-AFH7PIFU.js";
4
+ } from "./chunk-XGYCI23S.js";
5
5
  import "./chunk-B7RWBZXW.js";
6
- import "./chunk-7YJLCNPF.js";
6
+ import "./chunk-NEFMSUC2.js";
7
7
  import "./chunk-B3ABVQ36.js";
8
8
  import "./chunk-2QMKMVHH.js";
9
9
  import "./chunk-DEBHXHJR.js";
10
10
  import "./chunk-DNHVPZOD.js";
11
11
  import "./chunk-6CIAGZ6X.js";
12
12
  import "./chunk-J6A3CX5N.js";
13
- import "./chunk-V57NLO5P.js";
14
- import "./chunk-N7DK67GZ.js";
13
+ import "./chunk-HKF5VASQ.js";
14
+ import "./chunk-KPEIWAZY.js";
15
15
  import "./chunk-XKGPIWGI.js";
16
16
  import "./chunk-EGGE52UU.js";
17
17
  import "./chunk-GCASGYIO.js";
18
18
  import "./chunk-WL5EBRDH.js";
19
19
  import "./chunk-ILGC6JH6.js";
20
20
  import "./chunk-SCU65EZI.js";
21
- import "./chunk-347WD2LE.js";
21
+ import "./chunk-3CSX3ETE.js";
22
22
  import "./chunk-RL6NEVXT.js";
23
23
  import "./chunk-DM2T26WE.js";
24
24
  import "./chunk-LDXUBPMO.js";
@@ -53,7 +53,7 @@ import "./chunk-BJMBJZ2Y.js";
53
53
  import "./chunk-UKJAGEXH.js";
54
54
  import "./chunk-FP2373TW.js";
55
55
  import "./chunk-P7FMDTKL.js";
56
- import "./chunk-SCCO46KZ.js";
56
+ import "./chunk-RDQGLJRR.js";
57
57
  import "./chunk-FF4KLI5W.js";
58
58
  import "./chunk-AIK5W3IW.js";
59
59
  import "./chunk-A6XUJE5D.js";
@@ -1,4 +1,4 @@
1
- import { w as MemoryCategory } from './types-V3dT-pen.js';
1
+ import { w as MemoryCategory } from './types-e0_MI3Iq.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.17.0",
3
+ "version": "9.18.0",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3045,7 +3045,7 @@
3045
3045
  "core"
3046
3046
  ],
3047
3047
  "peerDependencies": {
3048
- "@remnic/coding-graph": "^9.17.0"
3048
+ "@remnic/coding-graph": "^9.18.0"
3049
3049
  },
3050
3050
  "peerDependenciesMeta": {
3051
3051
  "@remnic/coding-graph": {
@@ -370,6 +370,7 @@ const LIFECYCLE_FIELD_TO_FLAG: Record<keyof MemoryLifecycleCapabilitySet, string
370
370
  extractionTelemetryPrefilter: "extractionTelemetryPrefilterEnabled",
371
371
  extractionJudgeTelemetry: "extractionJudgeTelemetryEnabled",
372
372
  embeddingFallback: "embeddingFallbackEnabled",
373
+ projectionRebuild: "projectionRebuildEnabled",
373
374
  };
374
375
 
375
376
  const LIFECYCLE_FIELDS = Object.keys(LIFECYCLE_FIELD_TO_FLAG) as Array<
@@ -257,7 +257,8 @@ export interface MemoryLifecycleCapabilitySet {
257
257
  /** `embeddingFallbackEnabled` — semantic-dedup / archive-search embedding fallback. */
258
258
  readonly embeddingFallback: boolean;
259
259
  /** `extractionRetryEnabled` — per-fingerprint backoff + provider circuit breaker on the extraction retry path. */
260
- readonly extractionRetry: boolean;
260
+ readonly extractionRetry: boolean; /** `projectionRebuildEnabled` — scheduled memory-projection rebuild (#2119). */
261
+ readonly projectionRebuild: boolean;
261
262
  }
262
263
 
263
264
  /**
@@ -277,6 +278,7 @@ export type MemoryLifecycleConfigProjection = Pick<
277
278
  | "extractionJudgeTelemetryEnabled"
278
279
  | "embeddingFallbackEnabled"
279
280
  | "extractionRetryEnabled"
281
+ | "projectionRebuildEnabled"
280
282
  >;
281
283
 
282
284
  /**
@@ -302,6 +304,7 @@ export function resolveMemoryLifecycleCapabilities(
302
304
  extractionJudgeTelemetry: config.extractionJudgeTelemetryEnabled,
303
305
  embeddingFallback: config.embeddingFallbackEnabled,
304
306
  extractionRetry: config.extractionRetryEnabled,
307
+ projectionRebuild: config.projectionRebuildEnabled,
305
308
  });
306
309
  }
307
310
 
@@ -2349,6 +2349,28 @@ test("parseConfig bounded-state knobs coerce valid strings, preserve 0, and reje
2349
2349
  assert.throws(() => parseConfig({ recallImpressionsRotateKeep: "1000000" }), /between 1 and 1000/);
2350
2350
  }));
2351
2351
 
2352
+ test("parseConfig projection-rebuild knobs: defaults, boolean coercion, numeric override, and 60s floor (#2119)", () => {
2353
+ const defaults = parseConfig({});
2354
+ // Enabled by default — the projection must stay fresh without operator action,
2355
+ // mirroring lifecycle-ledger auto-compaction's enabled-by-default posture.
2356
+ assert.equal(defaults.projectionRebuildEnabled, true);
2357
+ assert.equal(defaults.projectionRebuildIntervalMs, 6 * 60 * 60 * 1000);
2358
+
2359
+ // Boolean coerced via the shared helper (string "false" must disable, not read
2360
+ // as truthy — gotcha #36).
2361
+ assert.equal(parseConfig({ projectionRebuildEnabled: "false" }).projectionRebuildEnabled, false);
2362
+ assert.equal(parseConfig({ projectionRebuildEnabled: false }).projectionRebuildEnabled, false);
2363
+
2364
+ // Numeric override is honored; a sub-floor value is clamped to the 60s floor.
2365
+ assert.equal(parseConfig({ projectionRebuildIntervalMs: 3600000 }).projectionRebuildIntervalMs, 3600000);
2366
+ // String forms are coerced (CLI/--config inputs arrive as strings, gotcha #17)...
2367
+ assert.equal(parseConfig({ projectionRebuildIntervalMs: "3600000" }).projectionRebuildIntervalMs, 3600000);
2368
+ // ...and invalid values are REJECTED, never silently reinterpreted (pattern #39):
2369
+ assert.throws(() => parseConfig({ projectionRebuildIntervalMs: 1000 }), /projectionRebuildIntervalMs/);
2370
+ assert.throws(() => parseConfig({ projectionRebuildIntervalMs: 3600000.5 }), /projectionRebuildIntervalMs/);
2371
+ assert.throws(() => parseConfig({ projectionRebuildIntervalMs: "abc" }), /projectionRebuildIntervalMs/);
2372
+ });
2373
+
2352
2374
  test("parseConfig forwards activity source settings", () => {
2353
2375
  const config = parseConfig({
2354
2376
  activity: {
package/src/config.ts CHANGED
@@ -3566,6 +3566,11 @@ export function parseConfig(
3566
3566
  Number.isFinite(cfg.graphEdgeDecayVisibilityThreshold)
3567
3567
  ? Math.max(0, Math.min(1, cfg.graphEdgeDecayVisibilityThreshold))
3568
3568
  : 0.2,
3569
+ // Issue #2119 — maintenance-scheduled memory-projection rebuild.
3570
+ // Enabled-by-default (gotcha #36 coercion); interval via the strict shared parser (strings coerced, non-integer/sub-60s rejected — pattern #39).
3571
+ projectionRebuildEnabled: coerceBooleanLike(cfg.projectionRebuildEnabled) ?? true,
3572
+ projectionRebuildIntervalMs: parseIntegerAtLeast(
3573
+ cfg.projectionRebuildIntervalMs, 6 * 60 * 60 * 1000, 60_000, "projectionRebuildIntervalMs"),
3569
3574
  ...parseBoundedJsonlStateConfig(cfg, parseIntegerAtLeast),
3570
3575
  // Issue #681 PR 3/3 — confidence-aware traversal. Floor clamps to [0,1]; a
3571
3576
  // documented 0 iterations disables PageRank refinement (BFS scores pass through).
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Projection maintenance support (issue #2119) — helpers shared by the
3
+ * scheduled projection rebuild, the CLI rebuild, and the ledger rebuild.
4
+ * Lives beside the rebuild ops so the at-ceiling store/rebuild modules stay
5
+ * within their structural ratchets.
6
+ */
7
+
8
+ import path from "node:path";
9
+ import { openProjectionReadonly } from "../memory-projection-store.js";
10
+
11
+ /** Read the projection meta rebuiltAt timestamp; null when absent/unopenable. */
12
+ export function readProjectionRebuiltAt(memoryDir: string): string | null {
13
+ const db = openProjectionReadonly(memoryDir);
14
+ if (!db) return null;
15
+ try {
16
+ const row = db.prepare("SELECT value FROM meta WHERE key = 'rebuiltAt'").get() as
17
+ | { value?: unknown }
18
+ | undefined;
19
+ return typeof row?.value === "string" && row.value.length > 0 ? row.value : null;
20
+ } catch {
21
+ return null;
22
+ } finally {
23
+ db.close();
24
+ }
25
+ }
26
+
27
+ /**
28
+ * Assert an optionally injected storage (e.g. the daemon's live unlocked
29
+ * secure-store instance) is rooted at `memoryDir`, and hand it back. Shared
30
+ * by the projection and lifecycle-ledger rebuilds so the containment guard
31
+ * cannot drift between them; callers construct their own StorageManager when
32
+ * nothing was injected (keeps this module off the direct-storage-import
33
+ * ratchet, issue #1533).
34
+ */
35
+ export function assertInjectedStorageRooted<T extends { dir: string }>(
36
+ label: string,
37
+ memoryDir: string,
38
+ injected: T | undefined,
39
+ ): T | undefined {
40
+ if (injected && path.resolve(injected.dir) !== path.resolve(memoryDir)) {
41
+ throw new Error(
42
+ `${label}: storage.dir (${injected.dir}) must match memoryDir (${memoryDir})`,
43
+ );
44
+ }
45
+ return injected;
46
+ }
47
+
48
+ export interface SkippedDuplicateMemory {
49
+ memoryId: string;
50
+ keptPath: string;
51
+ skippedPath: string;
52
+ }
53
+
54
+ export interface SkippedBlankIdMemory {
55
+ path: string;
56
+ }
@@ -1,6 +1,7 @@
1
1
  import path from "node:path";
2
2
  import { stat } from "node:fs/promises";
3
3
  import { StorageManager } from "../storage.js";
4
+ import { assertInjectedStorageRooted } from "./projection-support.js";
4
5
  import { log } from "../logger.js";
5
6
  import { displayErrorDetail } from "../runtime/better-sqlite.js";
6
7
  import type { MemoryLifecycleEvent } from "../types.js";
@@ -205,13 +206,7 @@ export async function rebuildMemoryLifecycleLedger(
205
206
  const dryRun = options.dryRun !== false;
206
207
  const now = options.now ?? new Date();
207
208
  const outputPath = path.join(options.memoryDir, "state", "memory-lifecycle-ledger.jsonl");
208
- const storage = options.storage ?? new StorageManager(options.memoryDir);
209
- if (options.storage && path.resolve(storage.dir) !== path.resolve(options.memoryDir)) {
210
- throw new Error(
211
- `rebuildMemoryLifecycleLedger: storage.dir (${storage.dir}) must match `
212
- + `memoryDir (${options.memoryDir})`,
213
- );
214
- }
209
+ const storage = assertInjectedStorageRooted("rebuildMemoryLifecycleLedger", options.memoryDir, options.storage) ?? new StorageManager(options.memoryDir);
215
210
  const secureRewrite = options.storage !== undefined;
216
211
  const tiers = [
217
212
  await storage.readAllMemories(),
@@ -46,6 +46,8 @@ import { commitPreparedFileAtomically } from "./atomic-file.js";
46
46
 
47
47
  export interface RebuildMemoryProjectionOptions {
48
48
  memoryDir: string;
49
+ /** Reuse the caller's live StorageManager (must be rooted at memoryDir). */
50
+ storage?: StorageManager;
49
51
  defaultNamespace?: string;
50
52
  dryRun?: boolean;
51
53
  now?: Date;
@@ -53,15 +55,9 @@ export interface RebuildMemoryProjectionOptions {
53
55
  updatedBefore?: string;
54
56
  }
55
57
 
56
- export interface SkippedDuplicateMemory {
57
- memoryId: string;
58
- keptPath: string;
59
- skippedPath: string;
60
- }
61
-
62
- export interface SkippedBlankIdMemory {
63
- path: string;
64
- }
58
+ export type { SkippedBlankIdMemory, SkippedDuplicateMemory } from "./projection-support.js";
59
+ import { assertInjectedStorageRooted } from "./projection-support.js";
60
+ import type { SkippedBlankIdMemory, SkippedDuplicateMemory } from "./projection-support.js";
65
61
 
66
62
  export interface SkippedDuplicateTimelineEvent {
67
63
  eventId: string;
@@ -550,6 +546,7 @@ function deduplicateTimelineEvents(
550
546
  async function loadAuthoritativeProjectionSnapshot(options: {
551
547
  memoryDir: string;
552
548
  defaultNamespace?: string;
549
+ storage?: StorageManager;
553
550
  updatedAfter?: string;
554
551
  updatedBefore?: string;
555
552
  }): Promise<{
@@ -581,7 +578,7 @@ async function loadAuthoritativeProjectionSnapshot(options: {
581
578
  skippedDuplicateTimelineEvents: SkippedDuplicateTimelineEvent[];
582
579
  skippedBlankIdTimelineEvents: SkippedBlankIdTimelineEvent[];
583
580
  }> {
584
- const storage = new StorageManager(options.memoryDir);
581
+ const storage = assertInjectedStorageRooted("rebuildMemoryProjection", options.memoryDir, options.storage) ?? new StorageManager(options.memoryDir);
585
582
  // Force a fresh disk read — projection verify/rebuild must see the true
586
583
  // on-disk state, not a potentially stale in-process cache.
587
584
  storage.invalidateAllMemoriesCacheForDir();