@remnic/core 9.3.725 → 9.3.727

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 (352) hide show
  1. package/dist/access-boundary.d.ts +5 -5
  2. package/dist/access-boundary.js +28 -27
  3. package/dist/access-cli.js +65 -63
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +20 -5
  6. package/dist/access-http.js +34 -33
  7. package/dist/access-mcp.d.ts +5 -5
  8. package/dist/access-mcp.js +31 -30
  9. package/dist/access-operations-batch.js +29 -28
  10. package/dist/access-operations.d.ts +5 -5
  11. package/dist/access-operations.js +30 -29
  12. package/dist/{access-service-B2PlPtxh.d.ts → access-service-Bgpjxo4f.d.ts} +36 -4
  13. package/dist/access-service.d.ts +5 -5
  14. package/dist/access-service.js +27 -26
  15. package/dist/access-surface-catalog.d.ts +5 -5
  16. package/dist/action-confidence.d.ts +1 -1
  17. package/dist/active-memory-bridge.d.ts +1 -1
  18. package/dist/active-recall.d.ts +1 -1
  19. package/dist/active-recall.js +3 -3
  20. package/dist/adapters/index.js +4 -4
  21. package/dist/adapters/registry.js +2 -2
  22. package/dist/behavior-learner.d.ts +1 -1
  23. package/dist/behavior-signals.d.ts +1 -1
  24. package/dist/bootstrap.d.ts +4 -4
  25. package/dist/briefing.d.ts +1 -1
  26. package/dist/briefing.js +9 -8
  27. package/dist/buffer-surprise-report.d.ts +1 -1
  28. package/dist/buffer.d.ts +1 -1
  29. package/dist/calibration.d.ts +1 -1
  30. package/dist/capabilities.d.ts +1 -1
  31. package/dist/{catalog-CzUb-GyD.d.ts → catalog-bMczlO2G.d.ts} +1 -1
  32. package/dist/causal-behavior.d.ts +1 -1
  33. package/dist/causal-consolidation.d.ts +1 -1
  34. package/dist/causal-consolidation.js +10 -9
  35. package/dist/causal-consolidation.js.map +1 -1
  36. package/dist/causal-trajectory-graph.d.ts +1 -1
  37. package/dist/{chunk-KGZF2VO3.js → chunk-27QQC7ZX.js} +80 -19
  38. package/dist/{chunk-KGZF2VO3.js.map → chunk-27QQC7ZX.js.map} +1 -1
  39. package/dist/{chunk-HCVWF657.js → chunk-2KAYTPPT.js} +12 -12
  40. package/dist/{chunk-4SF232E6.js → chunk-36SEDFAU.js} +19 -7
  41. package/dist/chunk-36SEDFAU.js.map +1 -0
  42. package/dist/{chunk-ZK2L72VN.js → chunk-37436GML.js} +2 -2
  43. package/dist/{chunk-SC2YAWRF.js → chunk-3TSTGI6F.js} +2 -2
  44. package/dist/{chunk-FACTVMXQ.js → chunk-4H4F3BFL.js} +2 -2
  45. package/dist/{chunk-WAFDHKES.js → chunk-4NOI577P.js} +2 -2
  46. package/dist/{chunk-YQMPUYHE.js → chunk-4NR2PDZ5.js} +2 -2
  47. package/dist/{chunk-TAPSNIMA.js → chunk-5CEJH5ZN.js} +4 -4
  48. package/dist/{chunk-FN6QP7JQ.js → chunk-6PY5YJAV.js} +100 -14
  49. package/dist/{chunk-FN6QP7JQ.js.map → chunk-6PY5YJAV.js.map} +1 -1
  50. package/dist/{chunk-PKMQK2WY.js → chunk-773DPI6T.js} +4 -4
  51. package/dist/{chunk-4R3CGCI5.js → chunk-7RLCCNHU.js} +15 -12
  52. package/dist/chunk-7RLCCNHU.js.map +1 -0
  53. package/dist/{chunk-XGTBNVIU.js → chunk-AAD2ZS6P.js} +11 -1
  54. package/dist/chunk-AAD2ZS6P.js.map +1 -0
  55. package/dist/{chunk-Z3FGC3QE.js → chunk-AQLOP5F4.js} +139 -30
  56. package/dist/chunk-AQLOP5F4.js.map +1 -0
  57. package/dist/{chunk-FXCIOLRB.js → chunk-ASKXIAHD.js} +2 -2
  58. package/dist/{chunk-5OPYYPJN.js → chunk-CBWI22JN.js} +2 -2
  59. package/dist/{chunk-ZOHMPFOB.js → chunk-CKFLLAIS.js} +3 -3
  60. package/dist/{chunk-GZQXOQQ2.js → chunk-CSRXQ6NB.js} +5 -5
  61. package/dist/{chunk-QR67FU5G.js → chunk-CTOQEZSN.js} +2 -2
  62. package/dist/{chunk-ZUDM75KG.js → chunk-DCWIQFNA.js} +4 -4
  63. package/dist/{chunk-6CWGS2LY.js → chunk-DKJCRGWM.js} +3 -3
  64. package/dist/{chunk-JJJCVCCQ.js → chunk-DMQWV6SQ.js} +2 -2
  65. package/dist/{chunk-F3XZN24Z.js → chunk-DRUDC2UX.js} +2 -2
  66. package/dist/{chunk-4WZ3J7M6.js → chunk-EY6MDMHK.js} +2 -2
  67. package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
  68. package/dist/{chunk-C4X4QGIO.js → chunk-G6NKALRN.js} +5 -2
  69. package/dist/chunk-G6NKALRN.js.map +1 -0
  70. package/dist/{chunk-6SQQOJ4U.js → chunk-GKRLPHPU.js} +2 -2
  71. package/dist/{chunk-D7EBTQ24.js → chunk-HOHVIVDR.js} +2 -2
  72. package/dist/{chunk-RKNJBZ55.js → chunk-JBPKEARU.js} +4 -4
  73. package/dist/{chunk-UBHVAGO7.js → chunk-JYLFZWUX.js} +2 -2
  74. package/dist/{chunk-LD53WPMU.js → chunk-LQ6JI4VH.js} +4 -4
  75. package/dist/chunk-LTHVM4XN.js +109 -0
  76. package/dist/chunk-LTHVM4XN.js.map +1 -0
  77. package/dist/{chunk-WM7DNKBD.js → chunk-M4V2JVSZ.js} +2 -2
  78. package/dist/{chunk-I2HL5M6T.js → chunk-MJIHJ7OG.js} +52 -52
  79. package/dist/{chunk-J334N6QV.js → chunk-MLKWJOAJ.js} +2 -2
  80. package/dist/{chunk-C6BWLYW5.js → chunk-N3VNUM4Z.js} +171 -79
  81. package/dist/chunk-N3VNUM4Z.js.map +1 -0
  82. package/dist/{chunk-DF3I6JGP.js → chunk-NSA5ZRUL.js} +15 -15
  83. package/dist/{chunk-VI5SGGXB.js → chunk-OEEW4KJA.js} +4 -4
  84. package/dist/{chunk-7AG54AF3.js → chunk-PUR2CKX2.js} +1 -1
  85. package/dist/chunk-PUR2CKX2.js.map +1 -0
  86. package/dist/{chunk-NT36GU6X.js → chunk-R7IYU5DZ.js} +2 -2
  87. package/dist/{chunk-TT5U3UDO.js → chunk-SNKPUJHR.js} +4 -4
  88. package/dist/{chunk-T55EGZSJ.js → chunk-UVPL565C.js} +2 -2
  89. package/dist/chunk-W5H6ZRPT.js +14 -0
  90. package/dist/chunk-W5H6ZRPT.js.map +1 -0
  91. package/dist/{chunk-YQGHW5ML.js → chunk-WRFKZEO6.js} +4 -4
  92. package/dist/{chunk-KLFYKC3K.js → chunk-XPHVAOBT.js} +195 -74
  93. package/dist/chunk-XPHVAOBT.js.map +1 -0
  94. package/dist/{chunk-H7HUQIY7.js → chunk-Y4YD5TYW.js} +3 -3
  95. package/dist/{chunk-MDBZTH7N.js → chunk-YKBHOBJK.js} +44 -10
  96. package/dist/chunk-YKBHOBJK.js.map +1 -0
  97. package/dist/{chunk-YUYPWJD3.js → chunk-YOLZS7NY.js} +2 -2
  98. package/dist/{chunk-6OIDDKAA.js → chunk-YTU7WKYN.js} +35 -9
  99. package/dist/chunk-YTU7WKYN.js.map +1 -0
  100. package/dist/{cli-IOlDHSBT.d.ts → cli-BLME420h.d.ts} +3 -3
  101. package/dist/cli.d.ts +6 -6
  102. package/dist/cli.js +60 -59
  103. package/dist/compat/codex-cli-fallback.d.ts +1 -0
  104. package/dist/compat/codex-cli-fallback.js +22 -0
  105. package/dist/compat/codex-cli-fallback.js.map +1 -0
  106. package/dist/compat/codex-thread-key.d.ts +1 -0
  107. package/dist/compat/codex-thread-key.js +18 -0
  108. package/dist/compat/codex-thread-key.js.map +1 -0
  109. package/dist/compounding/engine.d.ts +1 -1
  110. package/dist/compounding/engine.js +9 -8
  111. package/dist/compounding/preference-consolidator.d.ts +1 -1
  112. package/dist/compression-optimizer.d.ts +1 -1
  113. package/dist/config.d.ts +1 -1
  114. package/dist/config.js +3 -3
  115. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  116. package/dist/connectors/codex-materialize-runner.js +9 -8
  117. package/dist/connectors/codex-materialize.d.ts +1 -1
  118. package/dist/connectors/index.d.ts +1 -1
  119. package/dist/connectors/index.js +9 -8
  120. package/dist/consolidation-provenance-check.d.ts +1 -1
  121. package/dist/consolidation-undo.d.ts +1 -1
  122. package/dist/content-hash.d.ts +14 -0
  123. package/dist/content-hash.js +10 -0
  124. package/dist/content-hash.js.map +1 -0
  125. package/dist/contradiction/index.d.ts +1 -1
  126. package/dist/conversation-index/backend.d.ts +1 -1
  127. package/dist/conversation-index/backend.js +2 -2
  128. package/dist/conversation-index/chunker.d.ts +1 -1
  129. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  130. package/dist/conversation-index/indexer.d.ts +1 -1
  131. package/dist/conversation-index/search.d.ts +1 -1
  132. package/dist/dashboard-runtime.js +2 -2
  133. package/dist/day-summary.d.ts +1 -1
  134. package/dist/delinearize.d.ts +1 -1
  135. package/dist/direct-answer-wiring.d.ts +1 -1
  136. package/dist/direct-answer.d.ts +1 -1
  137. package/dist/embedding-fallback.d.ts +1 -1
  138. package/dist/enrichment/index.d.ts +1 -1
  139. package/dist/entity-retrieval.d.ts +1 -1
  140. package/dist/entity-retrieval.js +9 -8
  141. package/dist/entity-schema.d.ts +1 -1
  142. package/dist/explicit-capture.d.ts +4 -4
  143. package/dist/extraction-faithfulness.d.ts +1 -1
  144. package/dist/extraction-faithfulness.js +2 -2
  145. package/dist/extraction-judge-telemetry.d.ts +1 -1
  146. package/dist/extraction-judge-training.d.ts +1 -1
  147. package/dist/extraction-judge.d.ts +1 -1
  148. package/dist/extraction-redaction-rules.d.ts +33 -0
  149. package/dist/extraction-redaction-rules.js +14 -0
  150. package/dist/extraction-redaction-rules.js.map +1 -0
  151. package/dist/extraction.d.ts +1 -1
  152. package/dist/extraction.js +3 -3
  153. package/dist/faithfulness-config.d.ts +1 -0
  154. package/dist/faithfulness-config.js +1 -1
  155. package/dist/fallback-llm.d.ts +1 -1
  156. package/dist/{forget-OEE5OELK.js → forget-WYLR4ZFV.js} +2 -2
  157. package/dist/graph-dashboard-diff.d.ts +1 -1
  158. package/dist/graph-dashboard-key.d.ts +1 -1
  159. package/dist/graph-dashboard-parser.d.ts +1 -1
  160. package/dist/graph-edge-reinforcement.d.ts +1 -1
  161. package/dist/graph-snapshot.d.ts +1 -1
  162. package/dist/graph.d.ts +1 -1
  163. package/dist/identity-continuity.d.ts +1 -1
  164. package/dist/importance.d.ts +1 -1
  165. package/dist/index.d.ts +9 -9
  166. package/dist/index.js +107 -105
  167. package/dist/index.js.map +1 -1
  168. package/dist/intent.d.ts +1 -1
  169. package/dist/lcm/engine.d.ts +1 -1
  170. package/dist/lcm/engine.js +2 -2
  171. package/dist/lcm/index.d.ts +1 -1
  172. package/dist/lcm/index.js +4 -4
  173. package/dist/lcm/tools.d.ts +1 -1
  174. package/dist/lifecycle.d.ts +1 -1
  175. package/dist/live-connectors-runner.d.ts +1 -1
  176. package/dist/local-llm.d.ts +1 -1
  177. package/dist/local-model-endpoint.d.ts +9 -4
  178. package/dist/local-model-endpoint.js +1 -1
  179. package/dist/maintenance/memory-governance.d.ts +1 -1
  180. package/dist/maintenance/memory-governance.js +9 -8
  181. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +9 -8
  182. package/dist/maintenance/rebuild-memory-projection.js +10 -9
  183. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  184. package/dist/memory-action-policy.d.ts +1 -1
  185. package/dist/memory-cache.d.ts +1 -1
  186. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  187. package/dist/memory-projection-store.d.ts +1 -1
  188. package/dist/memory-provenance.d.ts +1 -1
  189. package/dist/memory-worth-outcomes.d.ts +1 -1
  190. package/dist/models-json.d.ts +1 -1
  191. package/dist/namespaces/migrate.d.ts +2 -2
  192. package/dist/namespaces/migrate.js +19 -18
  193. package/dist/namespaces/principal.d.ts +1 -1
  194. package/dist/namespaces/search.d.ts +1 -1
  195. package/dist/namespaces/search.js +9 -9
  196. package/dist/namespaces/storage.d.ts +2 -2
  197. package/dist/namespaces/storage.js +9 -8
  198. package/dist/native-knowledge.d.ts +1 -1
  199. package/dist/operator-toolkit.d.ts +1 -1
  200. package/dist/operator-toolkit.js +28 -27
  201. package/dist/orchestration/maintenance.d.ts +2 -2
  202. package/dist/orchestration/maintenance.js +11 -10
  203. package/dist/{orchestrator-C_OMSIMZ.d.ts → orchestrator-DqPAz8ot.d.ts} +3 -3
  204. package/dist/orchestrator.d.ts +4 -4
  205. package/dist/orchestrator.js +51 -49
  206. package/dist/patterns-cli.d.ts +1 -1
  207. package/dist/policy-runtime.d.ts +1 -1
  208. package/dist/provenance.d.ts +1 -1
  209. package/dist/provenance.js +1 -1
  210. package/dist/qmd-recall-cache.d.ts +1 -1
  211. package/dist/qmd.d.ts +1 -1
  212. package/dist/recall-disclosure-escalation.d.ts +1 -1
  213. package/dist/recall-explain-renderer.d.ts +1 -1
  214. package/dist/recall-explain-renderer.js +3 -3
  215. package/dist/recall-planner-llm.d.ts +1 -1
  216. package/dist/recall-state.d.ts +1 -1
  217. package/dist/recall-tag-filter.d.ts +1 -1
  218. package/dist/recall-xray-cli.d.ts +1 -1
  219. package/dist/recall-xray-cli.js +4 -4
  220. package/dist/recall-xray-renderer.d.ts +1 -1
  221. package/dist/recall-xray-renderer.js +3 -3
  222. package/dist/recall-xray.d.ts +1 -1
  223. package/dist/recall-xray.js +2 -2
  224. package/dist/resolve-auth-token.d.ts +1 -1
  225. package/dist/resume-bundles.js +4 -4
  226. package/dist/retrieval-agents.d.ts +1 -1
  227. package/dist/retrieval-tiers.d.ts +1 -1
  228. package/dist/routing/engine.d.ts +1 -1
  229. package/dist/routing/store.d.ts +1 -1
  230. package/dist/schemas.d.ts +22 -22
  231. package/dist/search/embed-helper.d.ts +1 -1
  232. package/dist/search/factory.d.ts +1 -1
  233. package/dist/search/factory.js +8 -8
  234. package/dist/search/index.d.ts +1 -1
  235. package/dist/search/index.js +14 -14
  236. package/dist/search/lancedb-backend.d.ts +1 -1
  237. package/dist/search/lancedb-backend.js +2 -2
  238. package/dist/search/meilisearch-backend.d.ts +1 -1
  239. package/dist/search/meilisearch-backend.js +2 -2
  240. package/dist/search/noop-backend.d.ts +1 -1
  241. package/dist/search/orama-backend.d.ts +1 -1
  242. package/dist/search/orama-backend.js +2 -2
  243. package/dist/search/port.d.ts +1 -1
  244. package/dist/search/remote-backend.d.ts +1 -1
  245. package/dist/{semantic-consolidation-B8LiYtvx.d.ts → semantic-consolidation-Cl15ksZy.d.ts} +1 -1
  246. package/dist/semantic-consolidation.d.ts +2 -2
  247. package/dist/semantic-consolidation.js +10 -9
  248. package/dist/semantic-rule-promotion.js +9 -8
  249. package/dist/semantic-rule-verifier.d.ts +1 -1
  250. package/dist/semantic-rule-verifier.js +9 -8
  251. package/dist/session-observer-bands.d.ts +1 -1
  252. package/dist/session-observer-state.d.ts +1 -1
  253. package/dist/shared-context/manager.d.ts +1 -1
  254. package/dist/signal.d.ts +1 -1
  255. package/dist/storage.d.ts +3 -3
  256. package/dist/storage.js +9 -8
  257. package/dist/summarizer.d.ts +1 -1
  258. package/dist/summary-snapshot.d.ts +1 -1
  259. package/dist/temporal-supersession.d.ts +1 -1
  260. package/dist/temporal-validity.d.ts +1 -1
  261. package/dist/threading.d.ts +1 -1
  262. package/dist/tier-migration.d.ts +1 -1
  263. package/dist/tier-routing.d.ts +1 -1
  264. package/dist/topics.d.ts +1 -1
  265. package/dist/transcript.d.ts +1 -1
  266. package/dist/transfer/types.d.ts +12 -12
  267. package/dist/trust-score-stage.d.ts +1 -1
  268. package/dist/trust-score.d.ts +1 -1
  269. package/dist/{types-DmTaqob2.d.ts → types-ChQb9D6s.d.ts} +8 -0
  270. package/dist/types.d.ts +1 -1
  271. package/dist/types.js +1 -1
  272. package/dist/utility-runtime.d.ts +1 -1
  273. package/dist/verified-recall.js +9 -8
  274. package/package.json +26 -2
  275. package/src/access-http.ts +68 -1
  276. package/src/admin/admin-surfaces.test.ts +289 -0
  277. package/src/admin/admin-surfaces.ts +138 -7
  278. package/src/bitemporal-dedup-backfill.test.ts +294 -0
  279. package/src/chat/chat-engine.test.ts +66 -1
  280. package/src/chat/chat-http.test.ts +119 -1
  281. package/src/chat/chat-http.ts +252 -97
  282. package/src/chat/chat-session.ts +143 -7
  283. package/src/compat/codex-cli-fallback.ts +23 -0
  284. package/src/compat/codex-subpath-aliases.test.ts +93 -0
  285. package/src/compat/codex-thread-key.ts +23 -0
  286. package/src/config.test.ts +50 -0
  287. package/src/config.ts +21 -4
  288. package/src/content-hash.ts +24 -0
  289. package/src/correction/correction-access-wiring.ts +104 -19
  290. package/src/correction/correction-contract.ts +68 -10
  291. package/src/correction/correction-executor.test.ts +112 -2
  292. package/src/correction/correction-executor.ts +65 -5
  293. package/src/correction/correction-planner.test.ts +47 -0
  294. package/src/correction/correction-planner.ts +40 -1
  295. package/src/correction/correction-storage-integration.test.ts +183 -0
  296. package/src/extraction-faithfulness.test.ts +240 -0
  297. package/src/extraction-faithfulness.ts +58 -6
  298. package/src/extraction-redaction-rules.test.ts +213 -0
  299. package/src/extraction-redaction-rules.ts +208 -0
  300. package/src/faithfulness-config.ts +16 -1
  301. package/src/local-model-endpoint.ts +24 -3
  302. package/src/orchestrator.ts +252 -9
  303. package/src/provenance-extraction.test.ts +266 -0
  304. package/src/provenance.ts +66 -16
  305. package/src/storage.ts +6 -10
  306. package/src/types.ts +8 -0
  307. package/dist/chunk-4R3CGCI5.js.map +0 -1
  308. package/dist/chunk-4SF232E6.js.map +0 -1
  309. package/dist/chunk-6OIDDKAA.js.map +0 -1
  310. package/dist/chunk-7AG54AF3.js.map +0 -1
  311. package/dist/chunk-C4X4QGIO.js.map +0 -1
  312. package/dist/chunk-C6BWLYW5.js.map +0 -1
  313. package/dist/chunk-KLFYKC3K.js.map +0 -1
  314. package/dist/chunk-MDBZTH7N.js.map +0 -1
  315. package/dist/chunk-XGTBNVIU.js.map +0 -1
  316. package/dist/chunk-Z3FGC3QE.js.map +0 -1
  317. /package/dist/{chunk-HCVWF657.js.map → chunk-2KAYTPPT.js.map} +0 -0
  318. /package/dist/{chunk-ZK2L72VN.js.map → chunk-37436GML.js.map} +0 -0
  319. /package/dist/{chunk-SC2YAWRF.js.map → chunk-3TSTGI6F.js.map} +0 -0
  320. /package/dist/{chunk-FACTVMXQ.js.map → chunk-4H4F3BFL.js.map} +0 -0
  321. /package/dist/{chunk-WAFDHKES.js.map → chunk-4NOI577P.js.map} +0 -0
  322. /package/dist/{chunk-YQMPUYHE.js.map → chunk-4NR2PDZ5.js.map} +0 -0
  323. /package/dist/{chunk-TAPSNIMA.js.map → chunk-5CEJH5ZN.js.map} +0 -0
  324. /package/dist/{chunk-PKMQK2WY.js.map → chunk-773DPI6T.js.map} +0 -0
  325. /package/dist/{chunk-FXCIOLRB.js.map → chunk-ASKXIAHD.js.map} +0 -0
  326. /package/dist/{chunk-5OPYYPJN.js.map → chunk-CBWI22JN.js.map} +0 -0
  327. /package/dist/{chunk-ZOHMPFOB.js.map → chunk-CKFLLAIS.js.map} +0 -0
  328. /package/dist/{chunk-GZQXOQQ2.js.map → chunk-CSRXQ6NB.js.map} +0 -0
  329. /package/dist/{chunk-QR67FU5G.js.map → chunk-CTOQEZSN.js.map} +0 -0
  330. /package/dist/{chunk-ZUDM75KG.js.map → chunk-DCWIQFNA.js.map} +0 -0
  331. /package/dist/{chunk-6CWGS2LY.js.map → chunk-DKJCRGWM.js.map} +0 -0
  332. /package/dist/{chunk-JJJCVCCQ.js.map → chunk-DMQWV6SQ.js.map} +0 -0
  333. /package/dist/{chunk-F3XZN24Z.js.map → chunk-DRUDC2UX.js.map} +0 -0
  334. /package/dist/{chunk-4WZ3J7M6.js.map → chunk-EY6MDMHK.js.map} +0 -0
  335. /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
  336. /package/dist/{chunk-6SQQOJ4U.js.map → chunk-GKRLPHPU.js.map} +0 -0
  337. /package/dist/{chunk-D7EBTQ24.js.map → chunk-HOHVIVDR.js.map} +0 -0
  338. /package/dist/{chunk-RKNJBZ55.js.map → chunk-JBPKEARU.js.map} +0 -0
  339. /package/dist/{chunk-UBHVAGO7.js.map → chunk-JYLFZWUX.js.map} +0 -0
  340. /package/dist/{chunk-LD53WPMU.js.map → chunk-LQ6JI4VH.js.map} +0 -0
  341. /package/dist/{chunk-WM7DNKBD.js.map → chunk-M4V2JVSZ.js.map} +0 -0
  342. /package/dist/{chunk-I2HL5M6T.js.map → chunk-MJIHJ7OG.js.map} +0 -0
  343. /package/dist/{chunk-J334N6QV.js.map → chunk-MLKWJOAJ.js.map} +0 -0
  344. /package/dist/{chunk-DF3I6JGP.js.map → chunk-NSA5ZRUL.js.map} +0 -0
  345. /package/dist/{chunk-VI5SGGXB.js.map → chunk-OEEW4KJA.js.map} +0 -0
  346. /package/dist/{chunk-NT36GU6X.js.map → chunk-R7IYU5DZ.js.map} +0 -0
  347. /package/dist/{chunk-TT5U3UDO.js.map → chunk-SNKPUJHR.js.map} +0 -0
  348. /package/dist/{chunk-T55EGZSJ.js.map → chunk-UVPL565C.js.map} +0 -0
  349. /package/dist/{chunk-YQGHW5ML.js.map → chunk-WRFKZEO6.js.map} +0 -0
  350. /package/dist/{chunk-H7HUQIY7.js.map → chunk-Y4YD5TYW.js.map} +0 -0
  351. /package/dist/{chunk-YUYPWJD3.js.map → chunk-YOLZS7NY.js.map} +0 -0
  352. /package/dist/{forget-OEE5OELK.js.map → forget-WYLR4ZFV.js.map} +0 -0
package/dist/storage.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, f as MemoryStatus, M as MemoryCategory, a9 as ImportanceScore, ap as MemoryLink, k as MemoryFrontmatter, F as FaithfulnessFrontmatter, ai as ProvenanceSource, g as MemoryFile, $ as EntityStructuredSection, aq as BufferState, ar as MetaState, W as MemoryActionEvent, m as MemoryLifecycleEvent, z as BufferSurpriseEvent, B as BehaviorSignalEvent, X as CompressionGuidelineOptimizerState, a5 as ContinuityIncidentOpenInput, a3 as ContinuityIncidentRecord, a4 as ContinuityIncidentCloseInput, a6 as ContinuityImprovementLoop, a8 as ContinuityLoopUpsertInput, a7 as ContinuityLoopReviewInput, as as FileHygieneConfig, at as EntityRelationship, au as EntityActivityEntry, E as EntityFile, av as AccessTrackingEntry, l as MemoryProjectionCurrentState, aw as MemorySummary, an as TopicScore } from './types-DmTaqob2.js';
1
+ import { P as PluginConfig, f as MemoryStatus, M as MemoryCategory, a9 as ImportanceScore, ap as MemoryLink, k as MemoryFrontmatter, F as FaithfulnessFrontmatter, ai as ProvenanceSource, g as MemoryFile, $ as EntityStructuredSection, aq as BufferState, ar as MetaState, W as MemoryActionEvent, m as MemoryLifecycleEvent, z as BufferSurpriseEvent, B as BehaviorSignalEvent, X as CompressionGuidelineOptimizerState, a5 as ContinuityIncidentOpenInput, a3 as ContinuityIncidentRecord, a4 as ContinuityIncidentCloseInput, a6 as ContinuityImprovementLoop, a8 as ContinuityLoopUpsertInput, a7 as ContinuityLoopReviewInput, as as FileHygieneConfig, at as EntityRelationship, au as EntityActivityEntry, E as EntityFile, av as AccessTrackingEntry, l as MemoryProjectionCurrentState, aw as MemorySummary, an as TopicScore } from './types-ChQb9D6s.js';
2
2
  import { VersioningConfig } from './page-versioning.js';
3
3
  import { ConsolidationOperator } from './consolidation-operator.js';
4
4
  import { ProjectedMemoryBrowseOptions, ProjectedMemoryBrowsePage, readProjectedGovernanceRecord } from './memory-projection-store.js';
@@ -351,9 +351,9 @@ declare class ContentHashIndex {
351
351
  * Not part of the public API — prefer `add(content)` for external callers.
352
352
  */
353
353
  addByHash(hash: string): void;
354
- /** Normalize content and compute SHA-256 hash. */
354
+ /** Normalize content (delegates to content-hash.ts for a single source of truth). */
355
355
  static normalizeContent(content: string): string;
356
- /** Normalize content and compute SHA-256 hash. */
356
+ /** Compute SHA-256 hash (delegates to content-hash.ts for a single source of truth). */
357
357
  static computeHash(content: string): string;
358
358
  }
359
359
 
package/dist/storage.js CHANGED
@@ -8,19 +8,19 @@ import {
8
8
  normalizeEntityName,
9
9
  parseEntityFile,
10
10
  serializeEntityFile
11
- } from "./chunk-4R3CGCI5.js";
11
+ } from "./chunk-7RLCCNHU.js";
12
12
  import "./chunk-L2B3EE7B.js";
13
13
  import "./chunk-M7XQSUBB.js";
14
14
  import "./chunk-5UZXUTVO.js";
15
15
  import "./chunk-5GPPACXK.js";
16
- import "./chunk-TKZ3AL5V.js";
17
- import "./chunk-6CIAGZ6X.js";
18
- import "./chunk-J6A3CX5N.js";
19
16
  import {
20
17
  stripAttributesSuffix
21
18
  } from "./chunk-SVOZFLIQ.js";
22
19
  import "./chunk-LTJAMRGI.js";
23
- import "./chunk-7AG54AF3.js";
20
+ import "./chunk-TKZ3AL5V.js";
21
+ import "./chunk-6CIAGZ6X.js";
22
+ import "./chunk-J6A3CX5N.js";
23
+ import "./chunk-PUR2CKX2.js";
24
24
  import "./chunk-AWJ2FHCF.js";
25
25
  import "./chunk-42JKGUFJ.js";
26
26
  import "./chunk-RULE4VG5.js";
@@ -29,10 +29,11 @@ import "./chunk-MB5RSUW6.js";
29
29
  import "./chunk-6KYMPV2O.js";
30
30
  import "./chunk-DM2T26WE.js";
31
31
  import "./chunk-LDXUBPMO.js";
32
- import "./chunk-6OIDDKAA.js";
33
- import "./chunk-XGTBNVIU.js";
32
+ import "./chunk-YTU7WKYN.js";
33
+ import "./chunk-AAD2ZS6P.js";
34
34
  import "./chunk-G7D6GZ5J.js";
35
35
  import "./chunk-VF4XKTX3.js";
36
+ import "./chunk-W5H6ZRPT.js";
36
37
  import "./chunk-VUA4S7P6.js";
37
38
  import "./chunk-IQVQJJL7.js";
38
39
  import "./chunk-L2EXJQJP.js";
@@ -43,7 +44,7 @@ import "./chunk-J2HSAU72.js";
43
44
  import "./chunk-A6XUJE5D.js";
44
45
  import "./chunk-P7FMDTKL.js";
45
46
  import "./chunk-VS2IYZRU.js";
46
- import "./chunk-MDBZTH7N.js";
47
+ import "./chunk-YKBHOBJK.js";
47
48
  import "./chunk-PHK3HARR.js";
48
49
  import "./chunk-5GKPFL3S.js";
49
50
  import "./chunk-4DJQYKMN.js";
@@ -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-DmTaqob2.js';
2
+ import { P as PluginConfig, G as GatewayConfig, T as TranscriptEntry, H as HourlySummary } from './types-ChQb9D6s.js';
3
3
  import { TranscriptManager } from './transcript.js';
4
4
  import './types-gb_SNtjR.js';
5
5
  import './message-parts/index.js';
@@ -1,4 +1,4 @@
1
- import { H as HourlySummary } from './types-DmTaqob2.js';
1
+ import { H as HourlySummary } from './types-ChQb9D6s.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { k as MemoryFrontmatter } from './types-DmTaqob2.js';
1
+ import { k as MemoryFrontmatter } from './types-ChQb9D6s.js';
2
2
  import { StorageManager } from './storage.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
@@ -1,4 +1,4 @@
1
- import { k as MemoryFrontmatter } from './types-DmTaqob2.js';
1
+ import { k as MemoryFrontmatter } from './types-ChQb9D6s.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { u as BufferTurn, am as ConversationThread } from './types-DmTaqob2.js';
1
+ import { u as BufferTurn, am as ConversationThread } from './types-ChQb9D6s.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile } from './types-DmTaqob2.js';
1
+ import { g as MemoryFile } from './types-ChQb9D6s.js';
2
2
  import { StorageManager } from './storage.js';
3
3
  import { MemoryTier } from './tier-routing.js';
4
4
  import { SearchBackend } from './search/port.js';
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile } from './types-DmTaqob2.js';
1
+ import { g as MemoryFile } from './types-ChQb9D6s.js';
2
2
  import { LifecycleSignals } from './lifecycle.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
package/dist/topics.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile, an as TopicScore } from './types-DmTaqob2.js';
1
+ import { g as MemoryFile, an as TopicScore } from './types-ChQb9D6s.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, T as TranscriptEntry, v as Checkpoint } from './types-DmTaqob2.js';
1
+ import { P as PluginConfig, T as TranscriptEntry, v as Checkpoint } from './types-ChQb9D6s.js';
2
2
  import { SessionIntegrityReport } from './session-integrity.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.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;
@@ -819,13 +819,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
819
819
  pluginVersion: string;
820
820
  includesTranscripts: boolean;
821
821
  capsule: {
822
- schemaVersion: string;
823
822
  includes: {
824
823
  procedural: boolean;
825
824
  taxonomy: boolean;
826
825
  identityAnchors: boolean;
827
826
  peerProfiles: boolean;
828
827
  };
828
+ schemaVersion: string;
829
829
  id: string;
830
830
  version: string;
831
831
  description: string;
@@ -858,13 +858,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
858
858
  pluginVersion: string;
859
859
  includesTranscripts: boolean;
860
860
  capsule: {
861
- schemaVersion: string;
862
861
  includes: {
863
862
  procedural: boolean;
864
863
  taxonomy: boolean;
865
864
  identityAnchors: boolean;
866
865
  peerProfiles: boolean;
867
866
  };
867
+ schemaVersion: string;
868
868
  id: string;
869
869
  version: string;
870
870
  description: string;
@@ -1,5 +1,5 @@
1
1
  import { TrustSignals, TrustScoreResult, TrustBand, TrustScoreComponent } from './trust-score.js';
2
- import { F as FaithfulnessFrontmatter, ai as ProvenanceSource, ao as TrustWeights } from './types-DmTaqob2.js';
2
+ import { F as FaithfulnessFrontmatter, ai as ProvenanceSource, ao as TrustWeights } from './types-ChQb9D6s.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
5
5
 
@@ -1,4 +1,4 @@
1
- import { ao as TrustWeights } from './types-DmTaqob2.js';
1
+ import { ao as TrustWeights } from './types-ChQb9D6s.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1466,6 +1466,14 @@ interface PluginConfig {
1466
1466
  extractionFaithfulnessContextChars: number;
1467
1467
  /** Per-batch timeout in ms; timeout → tagged error, never blocks writes. Default 8000. */
1468
1468
  extractionFaithfulnessTimeoutMs: number;
1469
+ /**
1470
+ * Resilient-fallback toggle for the local model-lab endpoint (issue #1700
1471
+ * nit #6). When the local endpoint returns 200 with non-verdict JSON, the
1472
+ * default (false) surfaces `malformed_output` so a misconfigured endpoint is
1473
+ * visible to the operator. Set true to instead fall back to the configured
1474
+ * chain on local parse failure (pre-validated via parseFaithfulnessResponse).
1475
+ */
1476
+ extractionFaithfulnessLocalParseFallback: boolean;
1469
1477
  /**
1470
1478
  * Correction-intent model-lab pointer (issue #1581 / #1585). When both this
1471
1479
  * and `correctionIntentBaseUrl` are set, the detection path can route to a
package/dist/types.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import './types-gb_SNtjR.js';
2
2
  import './message-parts/index.js';
3
- export { av as AccessTrackingEntry, A as ActiveRecallChatType, d as ActiveRecallModelFallbackPolicy, b as ActiveRecallPromptStyle, a as ActiveRecallQueryMode, c as ActiveRecallThinking, J as AgentAccessAuthToken, b9 as AgentAccessHttpConfig, ba as AgentDefaultsConfig, bb as AgentPersona, j as AgentPersonaModelConfig, bc as BehaviorLoopAdjustment, e as BehaviorLoopPolicyState, bd as BehaviorSignalDirection, B as BehaviorSignalEvent, be as BehaviorSignalType, aI as BootstrapOptions, aJ as BootstrapResult, r as BriefingActiveThread, bf as BriefingCalendarSourceError, aV as BriefingConfig, p as BriefingFocus, o as BriefingFollowup, aW as BriefingOpenCommitment, t as BriefingRecentEntity, s as BriefingResult, n as BriefingSections, aX as BriefingWindow, bg as BufferEntryState, aq as BufferState, z as BufferSurpriseEvent, u as BufferTurn, q as CalendarEvent, C as CalendarSource, bh as CaptureMode, bi as ChatConfig, v as Checkpoint, bj as CodexCliReasoningEffort, bk as CodexCompactionFlushMode, aY as CodexCompatConfig, bl as CodexConnectorConfig, aH as CodingContext, bm as CodingKnowledgeConfig, aS as CodingModeConfig, bn as CompressionGuidelineActivationState, N as CompressionGuidelineOptimizerActionSummary, K as CompressionGuidelineOptimizerEventCounts, O as CompressionGuidelineOptimizerRuleUpdate, bo as CompressionGuidelineOptimizerSourceWindow, X as CompressionGuidelineOptimizerState, bp as ConfidenceTier, bq as ConsolidationAction, br as ConsolidationItem, aK as ConsolidationObservation, a1 as ConsolidationResult, a6 as ContinuityImprovementLoop, a4 as ContinuityIncidentCloseInput, a5 as ContinuityIncidentOpenInput, a3 as ContinuityIncidentRecord, bs as ContinuityIncidentState, bt as ContinuityLoopCadence, a7 as ContinuityLoopReviewInput, bu as ContinuityLoopStatus, a8 as ContinuityLoopUpsertInput, bv as ContradictionScanConfig, am as ConversationThread, bw as CronConversationRecallMode, bx as CronRecallMode, aZ as DEFAULT_RECALL_DISCLOSURE, a2 as DaySummaryResult, by as DreamingConfig, bz as DreamingNarrativePromptStyle, bA as DreamsDeepSleepConfig, bB as DreamsLightSleepConfig, aQ as DreamsPhase, bC as DreamsPhaseStatus, bD as DreamsPhasesConfig, bE as DreamsRemConfig, aR as DreamsRunResult, aP as DreamsStatusResult, bF as EngramTraceEvent, au as EntityActivityEntry, E as EntityFile, Y as EntityMention, at as EntityRelationship, Z as EntitySchemaDefinition, _ as EntitySchemaSectionDefinition, $ as EntityStructuredSection, aL as EntityTimelineEntry, a_ as ExtractedFact, bG as ExtractedProcedureStep, bH as ExtractedQuestion, bI as ExtractedReasoningTrace, bJ as ExtractedReasoningTraceStep, bK as ExtractedRelationship, bL as ExtractionPassSource, a0 as ExtractionResult, F as FaithfulnessFrontmatter, as as FileHygieneConfig, G as GatewayConfig, bM as GitHubLiveConnectorConfig, bN as GmailLiveConnectorConfig, bO as GoogleDriveLiveConnectorConfig, bP as HeartbeatConfig, bQ as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, y as ImportanceLevel, a9 as ImportanceScore, w as LifecycleState, L as LiveConnectorsConfig, bR as LlmTraceCallback, bS as LlmTraceEvent, ac as MemoryActionEligibilityContext, a$ as MemoryActionEligibilitySource, W as MemoryActionEvent, bT as MemoryActionOutcome, bU as MemoryActionPolicyDecision, ad as MemoryActionPolicyResult, bV as MemoryActionStatus, U as MemoryActionType, M as MemoryCategory, g as MemoryFile, k as MemoryFrontmatter, aa as MemoryIntent, m as MemoryLifecycleEvent, ae as MemoryLifecycleEventType, af as MemoryLifecycleStateSummary, ap as MemoryLink, bW as MemoryLinkType, b0 as MemoryObservation, bX as MemoryOsPresetName, l as MemoryProjectionCurrentState, b1 as MemoryScope, f as MemoryStatus, aw as MemorySummary, ar as MetaState, bY as ModelApi, bZ as ModelDefinitionConfig, b_ as ModelProviderAuthMode, ag as ModelProviderConfig, b$ as NamespacePolicy, ah as NativeKnowledgeConfig, c0 as NativeKnowledgeFolderRuleConfig, c1 as NativeKnowledgeObsidianVaultConfig, c2 as NativeKnowledgeOpenClawWorkspaceConfig, c3 as NotionLiveConnectorConfig, P as PluginConfig, x as PolicyClass, c4 as PrincipalFromSessionKeyMode, c5 as PrincipalRule, c6 as ProceduralConfig, aj as ProvenanceConfig, ai as ProvenanceSource, ab as QmdSearchExplain, Q as QmdSearchResult, c7 as QuestionEntry, b2 as RECALL_DISCLOSURE_LEVELS, c8 as ReasoningEffort, i as RecallDisclosure, c9 as RecallPipelineConfig, h as RecallPlanMode, ca as RecallSectionConfig, R as RecallTierExplain, cb as RecallTraceEvent, cc as RelevanceFeedback, ak as RetrievalTier, cd as SPECULATIVE_TTL_DAYS, ce as ScopeProfileAutoPromoteConfig, aO as ScopeProfileConfig, aM as ScopeProfileLayerId, aN as ScopeProfilePromotionTarget, cf as ScopeProfileTeamProjectConfig, cg as ScopeTeamConfig, ch as ScoredEntity, D as SecretRef, ci as SemanticChunkingConfigShape, S as SessionObserverBandConfig, cj as SignalLevel, al as SignalScanResult, ck as SlotBehaviorConfig, cl as SlotMismatchMode, an as TopicScore, T as TranscriptEntry, cm as TriggerMode, ao as TrustWeights, V as VerificationState, cn as confidenceTier, b8 as isRecallDisclosure } from './types-DmTaqob2.js';
3
+ export { av as AccessTrackingEntry, A as ActiveRecallChatType, d as ActiveRecallModelFallbackPolicy, b as ActiveRecallPromptStyle, a as ActiveRecallQueryMode, c as ActiveRecallThinking, J as AgentAccessAuthToken, b9 as AgentAccessHttpConfig, ba as AgentDefaultsConfig, bb as AgentPersona, j as AgentPersonaModelConfig, bc as BehaviorLoopAdjustment, e as BehaviorLoopPolicyState, bd as BehaviorSignalDirection, B as BehaviorSignalEvent, be as BehaviorSignalType, aI as BootstrapOptions, aJ as BootstrapResult, r as BriefingActiveThread, bf as BriefingCalendarSourceError, aV as BriefingConfig, p as BriefingFocus, o as BriefingFollowup, aW as BriefingOpenCommitment, t as BriefingRecentEntity, s as BriefingResult, n as BriefingSections, aX as BriefingWindow, bg as BufferEntryState, aq as BufferState, z as BufferSurpriseEvent, u as BufferTurn, q as CalendarEvent, C as CalendarSource, bh as CaptureMode, bi as ChatConfig, v as Checkpoint, bj as CodexCliReasoningEffort, bk as CodexCompactionFlushMode, aY as CodexCompatConfig, bl as CodexConnectorConfig, aH as CodingContext, bm as CodingKnowledgeConfig, aS as CodingModeConfig, bn as CompressionGuidelineActivationState, N as CompressionGuidelineOptimizerActionSummary, K as CompressionGuidelineOptimizerEventCounts, O as CompressionGuidelineOptimizerRuleUpdate, bo as CompressionGuidelineOptimizerSourceWindow, X as CompressionGuidelineOptimizerState, bp as ConfidenceTier, bq as ConsolidationAction, br as ConsolidationItem, aK as ConsolidationObservation, a1 as ConsolidationResult, a6 as ContinuityImprovementLoop, a4 as ContinuityIncidentCloseInput, a5 as ContinuityIncidentOpenInput, a3 as ContinuityIncidentRecord, bs as ContinuityIncidentState, bt as ContinuityLoopCadence, a7 as ContinuityLoopReviewInput, bu as ContinuityLoopStatus, a8 as ContinuityLoopUpsertInput, bv as ContradictionScanConfig, am as ConversationThread, bw as CronConversationRecallMode, bx as CronRecallMode, aZ as DEFAULT_RECALL_DISCLOSURE, a2 as DaySummaryResult, by as DreamingConfig, bz as DreamingNarrativePromptStyle, bA as DreamsDeepSleepConfig, bB as DreamsLightSleepConfig, aQ as DreamsPhase, bC as DreamsPhaseStatus, bD as DreamsPhasesConfig, bE as DreamsRemConfig, aR as DreamsRunResult, aP as DreamsStatusResult, bF as EngramTraceEvent, au as EntityActivityEntry, E as EntityFile, Y as EntityMention, at as EntityRelationship, Z as EntitySchemaDefinition, _ as EntitySchemaSectionDefinition, $ as EntityStructuredSection, aL as EntityTimelineEntry, a_ as ExtractedFact, bG as ExtractedProcedureStep, bH as ExtractedQuestion, bI as ExtractedReasoningTrace, bJ as ExtractedReasoningTraceStep, bK as ExtractedRelationship, bL as ExtractionPassSource, a0 as ExtractionResult, F as FaithfulnessFrontmatter, as as FileHygieneConfig, G as GatewayConfig, bM as GitHubLiveConnectorConfig, bN as GmailLiveConnectorConfig, bO as GoogleDriveLiveConnectorConfig, bP as HeartbeatConfig, bQ as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, y as ImportanceLevel, a9 as ImportanceScore, w as LifecycleState, L as LiveConnectorsConfig, bR as LlmTraceCallback, bS as LlmTraceEvent, ac as MemoryActionEligibilityContext, a$ as MemoryActionEligibilitySource, W as MemoryActionEvent, bT as MemoryActionOutcome, bU as MemoryActionPolicyDecision, ad as MemoryActionPolicyResult, bV as MemoryActionStatus, U as MemoryActionType, M as MemoryCategory, g as MemoryFile, k as MemoryFrontmatter, aa as MemoryIntent, m as MemoryLifecycleEvent, ae as MemoryLifecycleEventType, af as MemoryLifecycleStateSummary, ap as MemoryLink, bW as MemoryLinkType, b0 as MemoryObservation, bX as MemoryOsPresetName, l as MemoryProjectionCurrentState, b1 as MemoryScope, f as MemoryStatus, aw as MemorySummary, ar as MetaState, bY as ModelApi, bZ as ModelDefinitionConfig, b_ as ModelProviderAuthMode, ag as ModelProviderConfig, b$ as NamespacePolicy, ah as NativeKnowledgeConfig, c0 as NativeKnowledgeFolderRuleConfig, c1 as NativeKnowledgeObsidianVaultConfig, c2 as NativeKnowledgeOpenClawWorkspaceConfig, c3 as NotionLiveConnectorConfig, P as PluginConfig, x as PolicyClass, c4 as PrincipalFromSessionKeyMode, c5 as PrincipalRule, c6 as ProceduralConfig, aj as ProvenanceConfig, ai as ProvenanceSource, ab as QmdSearchExplain, Q as QmdSearchResult, c7 as QuestionEntry, b2 as RECALL_DISCLOSURE_LEVELS, c8 as ReasoningEffort, i as RecallDisclosure, c9 as RecallPipelineConfig, h as RecallPlanMode, ca as RecallSectionConfig, R as RecallTierExplain, cb as RecallTraceEvent, cc as RelevanceFeedback, ak as RetrievalTier, cd as SPECULATIVE_TTL_DAYS, ce as ScopeProfileAutoPromoteConfig, aO as ScopeProfileConfig, aM as ScopeProfileLayerId, aN as ScopeProfilePromotionTarget, cf as ScopeProfileTeamProjectConfig, cg as ScopeTeamConfig, ch as ScoredEntity, D as SecretRef, ci as SemanticChunkingConfigShape, S as SessionObserverBandConfig, cj as SignalLevel, al as SignalScanResult, ck as SlotBehaviorConfig, cl as SlotMismatchMode, an as TopicScore, T as TranscriptEntry, cm as TriggerMode, ao as TrustWeights, V as VerificationState, cn as confidenceTier, b8 as isRecallDisclosure } from './types-ChQb9D6s.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-7AG54AF3.js";
7
+ } from "./chunk-PUR2CKX2.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-DmTaqob2.js';
2
+ import './types-ChQb9D6s.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
5
5
  import './lifecycle.js';
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-FXCIOLRB.js";
4
+ } from "./chunk-ASKXIAHD.js";
5
5
  import "./chunk-7FL4CNPV.js";
6
6
  import "./chunk-ZBJMUXZH.js";
7
- import "./chunk-4R3CGCI5.js";
7
+ import "./chunk-7RLCCNHU.js";
8
8
  import "./chunk-L2B3EE7B.js";
9
9
  import "./chunk-M7XQSUBB.js";
10
10
  import "./chunk-5UZXUTVO.js";
11
11
  import "./chunk-5GPPACXK.js";
12
+ import "./chunk-SVOZFLIQ.js";
13
+ import "./chunk-LTJAMRGI.js";
12
14
  import "./chunk-TKZ3AL5V.js";
13
15
  import "./chunk-6CIAGZ6X.js";
14
16
  import "./chunk-J6A3CX5N.js";
15
- import "./chunk-SVOZFLIQ.js";
16
- import "./chunk-LTJAMRGI.js";
17
- import "./chunk-7AG54AF3.js";
17
+ import "./chunk-PUR2CKX2.js";
18
18
  import "./chunk-AWJ2FHCF.js";
19
19
  import "./chunk-42JKGUFJ.js";
20
20
  import "./chunk-RULE4VG5.js";
@@ -23,10 +23,11 @@ import "./chunk-MB5RSUW6.js";
23
23
  import "./chunk-6KYMPV2O.js";
24
24
  import "./chunk-DM2T26WE.js";
25
25
  import "./chunk-LDXUBPMO.js";
26
- import "./chunk-6OIDDKAA.js";
27
- import "./chunk-XGTBNVIU.js";
26
+ import "./chunk-YTU7WKYN.js";
27
+ import "./chunk-AAD2ZS6P.js";
28
28
  import "./chunk-G7D6GZ5J.js";
29
29
  import "./chunk-VF4XKTX3.js";
30
+ import "./chunk-W5H6ZRPT.js";
30
31
  import "./chunk-VUA4S7P6.js";
31
32
  import "./chunk-IQVQJJL7.js";
32
33
  import "./chunk-L2EXJQJP.js";
@@ -37,7 +38,7 @@ import "./chunk-J2HSAU72.js";
37
38
  import "./chunk-A6XUJE5D.js";
38
39
  import "./chunk-P7FMDTKL.js";
39
40
  import "./chunk-VS2IYZRU.js";
40
- import "./chunk-MDBZTH7N.js";
41
+ import "./chunk-YKBHOBJK.js";
41
42
  import "./chunk-PHK3HARR.js";
42
43
  import "./chunk-5GKPFL3S.js";
43
44
  import "./chunk-4DJQYKMN.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.3.725",
3
+ "version": "9.3.727",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -441,6 +441,30 @@
441
441
  "remnic-source": "./src/thread-key.ts",
442
442
  "import": "./dist/thread-key.js"
443
443
  },
444
+ "./codex-cli-fallback": {
445
+ "types": "./dist/compat/codex-cli-fallback.d.ts",
446
+ "remnic-source": "./src/compat/codex-cli-fallback.ts",
447
+ "import": "./dist/compat/codex-cli-fallback.js",
448
+ "deprecated": "Deprecated alias of @remnic/core/cli-fallback (PR #1638 renamed codex-cli-fallback.ts to cli-fallback.ts). Import from @remnic/core/cli-fallback instead. Removed in v10.0.0. See issue #1643."
449
+ },
450
+ "./codex-cli-fallback.js": {
451
+ "types": "./dist/compat/codex-cli-fallback.d.ts",
452
+ "remnic-source": "./src/compat/codex-cli-fallback.ts",
453
+ "import": "./dist/compat/codex-cli-fallback.js",
454
+ "deprecated": "Deprecated alias of @remnic/core/cli-fallback (PR #1638 renamed codex-cli-fallback.ts to cli-fallback.ts). Import from @remnic/core/cli-fallback instead. Removed in v10.0.0. See issue #1643."
455
+ },
456
+ "./codex-thread-key": {
457
+ "types": "./dist/compat/codex-thread-key.d.ts",
458
+ "remnic-source": "./src/compat/codex-thread-key.ts",
459
+ "import": "./dist/compat/codex-thread-key.js",
460
+ "deprecated": "Deprecated alias of @remnic/core/thread-key (PR #1638 renamed codex-thread-key.ts to thread-key.ts). Import from @remnic/core/thread-key instead. Removed in v10.0.0. See issue #1643."
461
+ },
462
+ "./codex-thread-key.js": {
463
+ "types": "./dist/compat/codex-thread-key.d.ts",
464
+ "remnic-source": "./src/compat/codex-thread-key.ts",
465
+ "import": "./dist/compat/codex-thread-key.js",
466
+ "deprecated": "Deprecated alias of @remnic/core/thread-key (PR #1638 renamed codex-thread-key.ts to thread-key.ts). Import from @remnic/core/thread-key instead. Removed in v10.0.0. See issue #1643."
467
+ },
444
468
  "./coding/optional-coding-graph": {
445
469
  "types": "./dist/coding/optional-coding-graph.d.ts",
446
470
  "remnic-source": "./src/coding/optional-coding-graph.ts",
@@ -2966,7 +2990,7 @@
2966
2990
  "core"
2967
2991
  ],
2968
2992
  "peerDependencies": {
2969
- "@remnic/coding-graph": "^9.3.725"
2993
+ "@remnic/coding-graph": "^9.3.727"
2970
2994
  },
2971
2995
  "peerDependenciesMeta": {
2972
2996
  "@remnic/coding-graph": {
@@ -34,6 +34,9 @@ import { getOperation } from "./access-boundary.js";
34
34
  // dispatch the migrated routes through the registry (issue #1525).
35
35
  import "./access-operations.js";
36
36
  import { handleChatMessage, handleChatEventsSSE } from "./chat/chat-http.js";
37
+ // cleanupExpiredChatSessions wires the chat session TTL sweep into the
38
+ // server lifecycle (issue #1685 item 1 / #1687 Thread 21).
39
+ import { cleanupExpiredChatSessions } from "./chat/chat-session.js";
37
40
 
38
41
  export interface EngramAccessHttpServerOptions {
39
42
  service: EngramAccessService;
@@ -293,6 +296,13 @@ export class EngramAccessHttpServer {
293
296
  */
294
297
  private readonly sseCleanupFns = new Set<() => void>();
295
298
 
299
+ /**
300
+ * Periodic chat-session TTL sweep handle (issue #1685 item 1 /
301
+ * #1687 Thread 21). unref'd so it never blocks process exit
302
+ * (rule 47); cleared in `stop()`.
303
+ */
304
+ private chatTtlTimer: NodeJS.Timeout | null = null;
305
+
296
306
  constructor(options: EngramAccessHttpServerOptions) {
297
307
  this.service = options.service;
298
308
  this.host = options.host?.trim() || "127.0.0.1";
@@ -386,11 +396,25 @@ export class EngramAccessHttpServer {
386
396
  this.server = server;
387
397
  const address = server.address();
388
398
  this.boundPort = typeof address === "object" && address ? address.port : this.requestedPort;
399
+
400
+ // ── Chat session TTL sweep (issue #1685 item 1 / #1687 Thread 21) ──
401
+ // Expire idle chat sessions so the JSONL store cannot grow unbounded.
402
+ // A one-shot sweep runs on startup; a periodic re-sweep follows on an
403
+ // unref'd 1-hour cadence (rule 47 — never blocks process exit). Both
404
+ // are no-ops when chat is disabled (no TTL configured).
405
+ this.scheduleChatSessionTtlSweep();
406
+
389
407
  return this.status();
390
408
  }
391
409
 
392
410
  async stop(): Promise<void> {
393
411
  if (!this.server) return;
412
+ // Release the chat-session TTL sweep timer (issue #1685) alongside
413
+ // the SSE cleanups below.
414
+ if (this.chatTtlTimer) {
415
+ clearInterval(this.chatTtlTimer);
416
+ this.chatTtlTimer = null;
417
+ }
394
418
  const server = this.server;
395
419
  this.server = null;
396
420
  this.boundPort = 0;
@@ -418,6 +442,36 @@ export class EngramAccessHttpServer {
418
442
  });
419
443
  }
420
444
 
445
+ /**
446
+ * Schedule the chat-session TTL sweep: one immediate pass plus a
447
+ * recurring hourly pass (issue #1685 item 1 / #1687 Thread 21). Both
448
+ * are skipped when chat is disabled. The recurring timer is unref'd
449
+ * so it never keeps the event loop alive on its own (rule 47). The
450
+ * sweep itself is best-effort — cleanup failures are swallowed inside
451
+ * `cleanupExpiredChatSessions`.
452
+ */
453
+ private scheduleChatSessionTtlSweep(): void {
454
+ // Clear any prior handle so a second start() without an intervening
455
+ // stop() cannot leak a dangling setInterval (Kilo review thread).
456
+ if (this.chatTtlTimer) {
457
+ clearInterval(this.chatTtlTimer);
458
+ this.chatTtlTimer = null;
459
+ }
460
+ const chat = this.service.configRef?.chat;
461
+ if (!chat?.enabled) return;
462
+ const ttlHours = typeof chat.sessionTtlHours === "number" && chat.sessionTtlHours > 0
463
+ ? chat.sessionTtlHours
464
+ : 72;
465
+ // Startup sweep — fire and forget; failures never block the server.
466
+ void cleanupExpiredChatSessions(this.service.memoryDir, ttlHours).catch(() => { /* best-effort */ });
467
+ // Hourly re-sweep (unref'd — rule 47).
468
+ const SWEEP_INTERVAL_MS = 60 * 60 * 1000;
469
+ this.chatTtlTimer = setInterval(() => {
470
+ void cleanupExpiredChatSessions(this.service.memoryDir, ttlHours).catch(() => { /* best-effort */ });
471
+ }, SWEEP_INTERVAL_MS);
472
+ this.chatTtlTimer.unref?.();
473
+ }
474
+
421
475
  status(): EngramAccessHttpServerStatus {
422
476
  return {
423
477
  running: this.server !== null,
@@ -2083,7 +2137,20 @@ export class EngramAccessHttpServer {
2083
2137
  void getOperation("chat_events"); // boundary dispatch (issue #1525)
2084
2138
  await handleChatEventsSSE(
2085
2139
  req, res, chatEventsMatch[1] ?? "",
2086
- { service: this.service, config: this.service.configRef?.chat, memoryDir: this.service.memoryDir },
2140
+ {
2141
+ service: this.service,
2142
+ config: this.service.configRef?.chat,
2143
+ memoryDir: this.service.memoryDir,
2144
+ // Register the chat-SSE disconnect cleanup with this server's
2145
+ // stop() set so an HTTP shutdown forcibly releases the heartbeat
2146
+ // and transcript subscription even when a lingering client never
2147
+ // emits 'close' (cursor Medium review; mirrors handleGraphEventsSSE
2148
+ // which registers in sseCleanupFns at access-http.ts:2604).
2149
+ registerSseCleanup: (cleanup) => {
2150
+ this.sseCleanupFns.add(cleanup);
2151
+ return () => { this.sseCleanupFns.delete(cleanup); };
2152
+ },
2153
+ },
2087
2154
  this.resolveRequestPrincipal(req),
2088
2155
  );
2089
2156
  return;