@remnic/core 9.3.699 → 9.3.701

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 (285) hide show
  1. package/dist/access-boundary.d.ts +5 -5
  2. package/dist/access-boundary.js +14 -10
  3. package/dist/access-cli.js +30 -28
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +5 -5
  6. package/dist/access-http.js +18 -14
  7. package/dist/access-mcp.d.ts +5 -5
  8. package/dist/access-mcp.js +17 -13
  9. package/dist/access-operations.d.ts +5 -5
  10. package/dist/access-operations.js +16 -12
  11. package/dist/access-schema.js +3 -3
  12. package/dist/{access-service-DftqtNUy.d.ts → access-service-CGVWK6lZ.d.ts} +2 -2
  13. package/dist/access-service.d.ts +5 -5
  14. package/dist/access-service.js +13 -9
  15. package/dist/access-surface-catalog.d.ts +5 -5
  16. package/dist/action-confidence.d.ts +1 -1
  17. package/dist/action-confidence.js +2 -2
  18. package/dist/active-memory-bridge.d.ts +1 -1
  19. package/dist/active-recall.d.ts +1 -1
  20. package/dist/active-recall.js +1 -1
  21. package/dist/behavior-learner.d.ts +1 -1
  22. package/dist/behavior-signals.d.ts +1 -1
  23. package/dist/bootstrap.d.ts +4 -4
  24. package/dist/briefing.d.ts +1 -1
  25. package/dist/briefing.js +7 -3
  26. package/dist/buffer-surprise-report.d.ts +1 -1
  27. package/dist/buffer.d.ts +1 -1
  28. package/dist/calibration.d.ts +1 -1
  29. package/dist/capabilities.d.ts +1 -1
  30. package/dist/{catalog-D7YDNNF7.d.ts → catalog-DBIghceA.d.ts} +27 -53
  31. package/dist/causal-behavior.d.ts +1 -1
  32. package/dist/causal-consolidation.d.ts +1 -1
  33. package/dist/causal-consolidation.js +8 -4
  34. package/dist/causal-consolidation.js.map +1 -1
  35. package/dist/{chunk-E6GOVHHJ.js → chunk-27LQPUMZ.js} +3 -3
  36. package/dist/{chunk-XJNBEDFE.js → chunk-3FAMU5TX.js} +31 -74
  37. package/dist/chunk-3FAMU5TX.js.map +1 -0
  38. package/dist/chunk-3JJWNZTT.js +446 -0
  39. package/dist/chunk-3JJWNZTT.js.map +1 -0
  40. package/dist/{chunk-JYVD2XZ4.js → chunk-4HIAWLA2.js} +58 -25
  41. package/dist/chunk-4HIAWLA2.js.map +1 -0
  42. package/dist/{chunk-A62RAIBN.js → chunk-6W2D6FGG.js} +2 -2
  43. package/dist/{chunk-COEZR6F5.js → chunk-7TAQEPLE.js} +2 -2
  44. package/dist/{chunk-TIVZ4MCG.js → chunk-D75JXBV4.js} +3 -3
  45. package/dist/{chunk-YY2HGKWR.js → chunk-DEDQXIDL.js} +2 -2
  46. package/dist/{chunk-XFG3PVZE.js → chunk-FUCJAZ25.js} +8 -8
  47. package/dist/{chunk-EZWQZYLK.js → chunk-HF4N43Q7.js} +2 -2
  48. package/dist/{chunk-HZ5DRA4Q.js → chunk-HXHKLVAS.js} +20 -20
  49. package/dist/{chunk-AC5LO7IU.js → chunk-I4WBNM3M.js} +7 -1
  50. package/dist/chunk-I4WBNM3M.js.map +1 -0
  51. package/dist/{chunk-QVTSLRKT.js → chunk-IJEZMWKA.js} +3 -3
  52. package/dist/{chunk-ZXUOAFUG.js → chunk-IKNQAGBV.js} +1 -1
  53. package/dist/chunk-IKNQAGBV.js.map +1 -0
  54. package/dist/{chunk-RC3CNIPK.js → chunk-IO5NQEGZ.js} +2 -2
  55. package/dist/{chunk-2ULWWAQH.js → chunk-ISLJ5WIM.js} +2 -2
  56. package/dist/{chunk-2KJG6ZZK.js → chunk-IYOPIG3E.js} +2 -2
  57. package/dist/{chunk-M4DQWUKX.js → chunk-JKOKX3PS.js} +62 -163
  58. package/dist/chunk-JKOKX3PS.js.map +1 -0
  59. package/dist/{chunk-SJQ4HY3E.js → chunk-JO3E5VGS.js} +2 -2
  60. package/dist/{chunk-3LSSFCB4.js → chunk-K4DWSPMW.js} +11 -1
  61. package/dist/chunk-K4DWSPMW.js.map +1 -0
  62. package/dist/{chunk-IZ5E6ZTK.js → chunk-KF4TXW7Z.js} +6 -6
  63. package/dist/{chunk-CQ4PGFMC.js → chunk-KS7WQ4BZ.js} +4 -4
  64. package/dist/chunk-LTJAMRGI.js +286 -0
  65. package/dist/chunk-LTJAMRGI.js.map +1 -0
  66. package/dist/{chunk-PJIHCOGV.js → chunk-MNU5G4TK.js} +2 -2
  67. package/dist/{chunk-2K64VH66.js → chunk-ODTWHSY2.js} +69 -45
  68. package/dist/chunk-ODTWHSY2.js.map +1 -0
  69. package/dist/{chunk-LIWU4QI6.js → chunk-OLOYQZFB.js} +5 -5
  70. package/dist/{chunk-MRFVMSTR.js → chunk-OMNTQPZO.js} +20 -1
  71. package/dist/{chunk-MRFVMSTR.js.map → chunk-OMNTQPZO.js.map} +1 -1
  72. package/dist/{chunk-JI6HWBYL.js → chunk-Q4O3ET6F.js} +2 -2
  73. package/dist/{chunk-N55RJT4N.js → chunk-QP37KL5H.js} +2 -2
  74. package/dist/{chunk-LPIWEKZ3.js → chunk-SDPDU2PM.js} +3 -3
  75. package/dist/{chunk-RIC5U67B.js → chunk-SFMRLXIV.js} +232 -4
  76. package/dist/chunk-SFMRLXIV.js.map +1 -0
  77. package/dist/{chunk-RTN2BLZM.js → chunk-T5QAZIBO.js} +2 -2
  78. package/dist/{chunk-ANZLT74L.js → chunk-TFVVONWD.js} +2 -2
  79. package/dist/{chunk-SIDSEXUG.js → chunk-WFEZUGU5.js} +2 -2
  80. package/dist/{chunk-FSEQXHEZ.js → chunk-XTIRCSIH.js} +2 -2
  81. package/dist/{chunk-XL5RSHZP.js → chunk-YO4MBK3I.js} +2 -2
  82. package/dist/{chunk-AH2JUU6X.js → chunk-Z2YFLXHU.js} +2 -2
  83. package/dist/{chunk-MRX6S22R.js → chunk-ZT7B64BE.js} +2 -2
  84. package/dist/{chunk-UDDSC6PO.js → chunk-ZYNMX6IU.js} +54 -6
  85. package/dist/chunk-ZYNMX6IU.js.map +1 -0
  86. package/dist/{cli-DUMkkdLl.d.ts → cli-D3XeenwN.d.ts} +3 -3
  87. package/dist/cli.d.ts +6 -6
  88. package/dist/cli.js +32 -28
  89. package/dist/compounding/engine.d.ts +1 -1
  90. package/dist/compounding/engine.js +7 -3
  91. package/dist/compounding/preference-consolidator.d.ts +1 -1
  92. package/dist/compression-optimizer.d.ts +1 -1
  93. package/dist/config.d.ts +1 -1
  94. package/dist/config.js +1 -1
  95. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  96. package/dist/connectors/codex-materialize-runner.js +7 -3
  97. package/dist/connectors/codex-materialize.d.ts +1 -1
  98. package/dist/connectors/index.d.ts +1 -1
  99. package/dist/connectors/index.js +7 -3
  100. package/dist/consolidation-provenance-check.d.ts +1 -1
  101. package/dist/consolidation-undo.d.ts +1 -1
  102. package/dist/contradiction/index.d.ts +1 -1
  103. package/dist/conversation-index/backend.d.ts +1 -1
  104. package/dist/conversation-index/chunker.d.ts +1 -1
  105. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  106. package/dist/conversation-index/indexer.d.ts +1 -1
  107. package/dist/conversation-index/search.d.ts +1 -1
  108. package/dist/day-summary.d.ts +1 -1
  109. package/dist/delinearize.d.ts +1 -1
  110. package/dist/direct-answer-wiring.d.ts +1 -1
  111. package/dist/direct-answer.d.ts +1 -1
  112. package/dist/embedding-fallback.d.ts +1 -1
  113. package/dist/enrichment/index.d.ts +1 -1
  114. package/dist/entity-retrieval.d.ts +1 -1
  115. package/dist/entity-retrieval.js +7 -3
  116. package/dist/entity-schema.d.ts +1 -1
  117. package/dist/explicit-capture.d.ts +6 -6
  118. package/dist/extraction-faithfulness.d.ts +1 -1
  119. package/dist/extraction-judge-telemetry.d.ts +1 -1
  120. package/dist/extraction-judge-training.d.ts +1 -1
  121. package/dist/extraction-judge.d.ts +1 -1
  122. package/dist/extraction.d.ts +1 -1
  123. package/dist/fallback-llm.d.ts +1 -1
  124. package/dist/{forget-PLR6J5DN.js → forget-6SOIPUMQ.js} +32 -1
  125. package/dist/forget-6SOIPUMQ.js.map +1 -0
  126. package/dist/identity-continuity.d.ts +1 -1
  127. package/dist/importance.d.ts +1 -1
  128. package/dist/index.d.ts +21 -10
  129. package/dist/index.js +65 -43
  130. package/dist/index.js.map +1 -1
  131. package/dist/intent.d.ts +1 -1
  132. package/dist/lcm/engine.d.ts +1 -1
  133. package/dist/lcm/index.d.ts +1 -1
  134. package/dist/lcm/tools.d.ts +1 -1
  135. package/dist/lifecycle.d.ts +1 -1
  136. package/dist/live-connectors-runner.d.ts +1 -1
  137. package/dist/local-llm.d.ts +1 -1
  138. package/dist/maintenance/memory-governance.d.ts +1 -1
  139. package/dist/maintenance/memory-governance.js +7 -3
  140. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -3
  141. package/dist/maintenance/rebuild-memory-projection.js +8 -4
  142. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  143. package/dist/memory-action-policy.d.ts +1 -1
  144. package/dist/memory-cache.d.ts +1 -1
  145. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  146. package/dist/memory-projection-store.d.ts +1 -1
  147. package/dist/memory-provenance.d.ts +1 -1
  148. package/dist/memory-provenance.js +1 -1
  149. package/dist/memory-worth-outcomes.d.ts +1 -1
  150. package/dist/models-json.d.ts +1 -1
  151. package/dist/namespaces/migrate.d.ts +2 -2
  152. package/dist/namespaces/migrate.js +8 -4
  153. package/dist/namespaces/principal.d.ts +1 -1
  154. package/dist/namespaces/search.d.ts +1 -1
  155. package/dist/namespaces/storage.d.ts +32 -3
  156. package/dist/namespaces/storage.js +7 -3
  157. package/dist/native-knowledge.d.ts +1 -1
  158. package/dist/operator-toolkit.d.ts +19 -2
  159. package/dist/operator-toolkit.js +17 -11
  160. package/dist/orchestration/maintenance.d.ts +2 -2
  161. package/dist/orchestration/maintenance.js +9 -5
  162. package/dist/{orchestrator-Dv8JQu3-.d.ts → orchestrator-BzMCZlKn.d.ts} +3 -3
  163. package/dist/orchestrator.d.ts +4 -4
  164. package/dist/orchestrator.js +22 -20
  165. package/dist/patterns-cli.d.ts +1 -1
  166. package/dist/policy-runtime.d.ts +1 -1
  167. package/dist/provenance.d.ts +1 -1
  168. package/dist/qmd-recall-cache.d.ts +1 -1
  169. package/dist/qmd.d.ts +1 -1
  170. package/dist/recall-disclosure-escalation.d.ts +1 -1
  171. package/dist/recall-explain-renderer.d.ts +1 -1
  172. package/dist/recall-explain-renderer.js +4 -4
  173. package/dist/recall-planner-llm.d.ts +1 -1
  174. package/dist/recall-state.d.ts +1 -1
  175. package/dist/recall-tag-filter.d.ts +1 -1
  176. package/dist/recall-xray-cli.d.ts +1 -1
  177. package/dist/recall-xray-cli.js +5 -5
  178. package/dist/recall-xray-renderer.d.ts +1 -1
  179. package/dist/recall-xray-renderer.js +4 -4
  180. package/dist/recall-xray.d.ts +1 -1
  181. package/dist/recall-xray.js +3 -3
  182. package/dist/resolve-auth-token.d.ts +1 -1
  183. package/dist/resume-bundles.js +2 -2
  184. package/dist/retrieval-agents.d.ts +1 -1
  185. package/dist/retrieval-tiers.d.ts +1 -1
  186. package/dist/routing/engine.d.ts +1 -1
  187. package/dist/routing/store.d.ts +1 -1
  188. package/dist/schemas.d.ts +28 -28
  189. package/dist/search/embed-helper.d.ts +1 -1
  190. package/dist/search/factory.d.ts +1 -1
  191. package/dist/search/index.d.ts +1 -1
  192. package/dist/search/lancedb-backend.d.ts +1 -1
  193. package/dist/search/meilisearch-backend.d.ts +1 -1
  194. package/dist/search/noop-backend.d.ts +1 -1
  195. package/dist/search/orama-backend.d.ts +1 -1
  196. package/dist/search/port.d.ts +1 -1
  197. package/dist/search/remote-backend.d.ts +1 -1
  198. package/dist/{semantic-consolidation-CgREi9E0.d.ts → semantic-consolidation-BtUfv-AL.d.ts} +1 -1
  199. package/dist/semantic-consolidation.d.ts +2 -2
  200. package/dist/semantic-consolidation.js +8 -4
  201. package/dist/semantic-rule-promotion.js +7 -3
  202. package/dist/semantic-rule-verifier.d.ts +1 -1
  203. package/dist/semantic-rule-verifier.js +7 -3
  204. package/dist/session-observer-bands.d.ts +1 -1
  205. package/dist/session-observer-state.d.ts +1 -1
  206. package/dist/shared-context/manager.d.ts +1 -1
  207. package/dist/signal.d.ts +1 -1
  208. package/dist/storage.d.ts +306 -2
  209. package/dist/storage.js +6 -2
  210. package/dist/summarizer.d.ts +1 -1
  211. package/dist/summarizer.js +3 -2
  212. package/dist/summary-snapshot.d.ts +1 -1
  213. package/dist/summary-snapshot.js +2 -1
  214. package/dist/temporal-supersession.d.ts +1 -1
  215. package/dist/temporal-supersession.js +1 -1
  216. package/dist/temporal-validity.d.ts +1 -1
  217. package/dist/threading.d.ts +1 -1
  218. package/dist/tier-migration.d.ts +1 -1
  219. package/dist/tier-routing.d.ts +1 -1
  220. package/dist/topics.d.ts +1 -1
  221. package/dist/transcript.d.ts +1 -1
  222. package/dist/transfer/types.d.ts +12 -12
  223. package/dist/{types-CeZYSC-E.d.ts → types-PuiPZ9iE.d.ts} +34 -1
  224. package/dist/types.d.ts +1 -1
  225. package/dist/types.js +1 -1
  226. package/dist/utility-runtime.d.ts +1 -1
  227. package/dist/utils/serialize-mutations.js +5 -280
  228. package/dist/utils/serialize-mutations.js.map +1 -1
  229. package/dist/verified-recall.js +7 -3
  230. package/package.json +2 -2
  231. package/src/config.ts +10 -0
  232. package/src/lifecycle/tombstones.test.ts +355 -0
  233. package/src/lifecycle/tombstones.ts +807 -0
  234. package/src/maintenance/forget.ts +41 -0
  235. package/src/maintenance/pattern-reinforcement.ts +47 -0
  236. package/src/memory-provenance.ts +12 -0
  237. package/src/namespaces/catalog.test.ts +222 -14
  238. package/src/namespaces/catalog.ts +54 -187
  239. package/src/namespaces/storage.ts +120 -80
  240. package/src/operator-toolkit.ts +77 -0
  241. package/src/orchestrator.ts +16 -0
  242. package/src/review/index.ts +48 -3
  243. package/src/storage.ts +329 -2
  244. package/src/summary-snapshot.test.ts +63 -1
  245. package/src/summary-snapshot.ts +61 -80
  246. package/src/temporal-supersession.ts +38 -0
  247. package/src/types.ts +34 -0
  248. package/src/utils/serialize-mutations.ts +10 -6
  249. package/dist/chunk-2K64VH66.js.map +0 -1
  250. package/dist/chunk-3LSSFCB4.js.map +0 -1
  251. package/dist/chunk-AC5LO7IU.js.map +0 -1
  252. package/dist/chunk-JYVD2XZ4.js.map +0 -1
  253. package/dist/chunk-M4DQWUKX.js.map +0 -1
  254. package/dist/chunk-RIC5U67B.js.map +0 -1
  255. package/dist/chunk-UDDSC6PO.js.map +0 -1
  256. package/dist/chunk-XJNBEDFE.js.map +0 -1
  257. package/dist/chunk-ZXUOAFUG.js.map +0 -1
  258. package/dist/forget-PLR6J5DN.js.map +0 -1
  259. /package/dist/{chunk-E6GOVHHJ.js.map → chunk-27LQPUMZ.js.map} +0 -0
  260. /package/dist/{chunk-A62RAIBN.js.map → chunk-6W2D6FGG.js.map} +0 -0
  261. /package/dist/{chunk-COEZR6F5.js.map → chunk-7TAQEPLE.js.map} +0 -0
  262. /package/dist/{chunk-TIVZ4MCG.js.map → chunk-D75JXBV4.js.map} +0 -0
  263. /package/dist/{chunk-YY2HGKWR.js.map → chunk-DEDQXIDL.js.map} +0 -0
  264. /package/dist/{chunk-XFG3PVZE.js.map → chunk-FUCJAZ25.js.map} +0 -0
  265. /package/dist/{chunk-EZWQZYLK.js.map → chunk-HF4N43Q7.js.map} +0 -0
  266. /package/dist/{chunk-HZ5DRA4Q.js.map → chunk-HXHKLVAS.js.map} +0 -0
  267. /package/dist/{chunk-QVTSLRKT.js.map → chunk-IJEZMWKA.js.map} +0 -0
  268. /package/dist/{chunk-RC3CNIPK.js.map → chunk-IO5NQEGZ.js.map} +0 -0
  269. /package/dist/{chunk-2ULWWAQH.js.map → chunk-ISLJ5WIM.js.map} +0 -0
  270. /package/dist/{chunk-2KJG6ZZK.js.map → chunk-IYOPIG3E.js.map} +0 -0
  271. /package/dist/{chunk-SJQ4HY3E.js.map → chunk-JO3E5VGS.js.map} +0 -0
  272. /package/dist/{chunk-IZ5E6ZTK.js.map → chunk-KF4TXW7Z.js.map} +0 -0
  273. /package/dist/{chunk-CQ4PGFMC.js.map → chunk-KS7WQ4BZ.js.map} +0 -0
  274. /package/dist/{chunk-PJIHCOGV.js.map → chunk-MNU5G4TK.js.map} +0 -0
  275. /package/dist/{chunk-LIWU4QI6.js.map → chunk-OLOYQZFB.js.map} +0 -0
  276. /package/dist/{chunk-JI6HWBYL.js.map → chunk-Q4O3ET6F.js.map} +0 -0
  277. /package/dist/{chunk-N55RJT4N.js.map → chunk-QP37KL5H.js.map} +0 -0
  278. /package/dist/{chunk-LPIWEKZ3.js.map → chunk-SDPDU2PM.js.map} +0 -0
  279. /package/dist/{chunk-RTN2BLZM.js.map → chunk-T5QAZIBO.js.map} +0 -0
  280. /package/dist/{chunk-ANZLT74L.js.map → chunk-TFVVONWD.js.map} +0 -0
  281. /package/dist/{chunk-SIDSEXUG.js.map → chunk-WFEZUGU5.js.map} +0 -0
  282. /package/dist/{chunk-FSEQXHEZ.js.map → chunk-XTIRCSIH.js.map} +0 -0
  283. /package/dist/{chunk-XL5RSHZP.js.map → chunk-YO4MBK3I.js.map} +0 -0
  284. /package/dist/{chunk-AH2JUU6X.js.map → chunk-Z2YFLXHU.js.map} +0 -0
  285. /package/dist/{chunk-MRX6S22R.js.map → chunk-ZT7B64BE.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { SearchBackend, SearchQueryOptions, SearchExecutionOptions, SearchResult } from './port.js';
2
- import '../types-CeZYSC-E.js';
2
+ import '../types-PuiPZ9iE.js';
3
3
  import '../types-ByK7T3L6.js';
4
4
  import '../index-DJ9QWMw-.js';
5
5
 
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, g as MemoryFile } from './types-CeZYSC-E.js';
1
+ import { P as PluginConfig, g as MemoryFile } from './types-PuiPZ9iE.js';
2
2
  import { RolloutSummaryInput, MaterializeResult } from './connectors/codex-materialize.js';
3
3
  import { LoggerBackend } from './logger.js';
4
4
  import { SemanticConsolidationLlmOperator } from './consolidation-operator.js';
@@ -1,6 +1,6 @@
1
- import './types-CeZYSC-E.js';
1
+ import './types-PuiPZ9iE.js';
2
2
  import './connectors/codex-materialize.js';
3
- export { C as ConsolidationCluster, O as OperatorAwareConsolidationResult, S as SemanticConsolidationResult, a as buildConsolidationPrompt, b as buildExtensionsBlockForConsolidation, c as buildOperatorAwareConsolidationPrompt, e as chooseConsolidationOperator, f as findSimilarClusters, m as materializeAfterSemanticConsolidation, p as parseConsolidationResponse, g as parseOperatorAwareConsolidationResponse, r as resolveExtensionsRoot } from './semantic-consolidation-CgREi9E0.js';
3
+ export { C as ConsolidationCluster, O as OperatorAwareConsolidationResult, S as SemanticConsolidationResult, a as buildConsolidationPrompt, b as buildExtensionsBlockForConsolidation, c as buildOperatorAwareConsolidationPrompt, e as chooseConsolidationOperator, f as findSimilarClusters, m as materializeAfterSemanticConsolidation, p as parseConsolidationResponse, g as parseOperatorAwareConsolidationResponse, r as resolveExtensionsRoot } from './semantic-consolidation-BtUfv-AL.js';
4
4
  export { CONSOLIDATION_OPERATORS, ConsolidationOperator, SemanticConsolidationLlmOperator, isConsolidationOperator, isSemanticConsolidationLlmOperator, isValidDerivedFromEntry } from './consolidation-operator.js';
5
5
  import './types-ByK7T3L6.js';
6
6
  import './index-DJ9QWMw-.js';
@@ -7,20 +7,24 @@ import {
7
7
  materializeAfterSemanticConsolidation,
8
8
  parseConsolidationResponse,
9
9
  parseOperatorAwareConsolidationResponse
10
- } from "./chunk-SJQ4HY3E.js";
11
- import "./chunk-2ULWWAQH.js";
10
+ } from "./chunk-JO3E5VGS.js";
11
+ import "./chunk-ISLJ5WIM.js";
12
12
  import "./chunk-UUH4YQOF.js";
13
13
  import {
14
14
  resolveExtensionsRoot
15
15
  } from "./chunk-JLNBQWZ2.js";
16
16
  import "./chunk-3UXOZBHV.js";
17
- import "./chunk-RIC5U67B.js";
17
+ import "./chunk-SFMRLXIV.js";
18
+ import "./chunk-3JJWNZTT.js";
18
19
  import "./chunk-M7XQSUBB.js";
19
20
  import "./chunk-5UZXUTVO.js";
20
21
  import "./chunk-5GPPACXK.js";
22
+ import "./chunk-OMNTQPZO.js";
23
+ import "./chunk-IREVVFTM.js";
21
24
  import "./chunk-SVOZFLIQ.js";
25
+ import "./chunk-LTJAMRGI.js";
22
26
  import "./chunk-J6A3CX5N.js";
23
- import "./chunk-ZXUOAFUG.js";
27
+ import "./chunk-IKNQAGBV.js";
24
28
  import "./chunk-SCU65EZI.js";
25
29
  import "./chunk-MB5RSUW6.js";
26
30
  import "./chunk-6KYMPV2O.js";
@@ -1,14 +1,18 @@
1
1
  import {
2
2
  promoteSemanticRuleFromMemory,
3
3
  setSemanticRulePromotionTestHooks
4
- } from "./chunk-2KJG6ZZK.js";
5
- import "./chunk-RIC5U67B.js";
4
+ } from "./chunk-IYOPIG3E.js";
5
+ import "./chunk-SFMRLXIV.js";
6
+ import "./chunk-3JJWNZTT.js";
6
7
  import "./chunk-M7XQSUBB.js";
7
8
  import "./chunk-5UZXUTVO.js";
8
9
  import "./chunk-5GPPACXK.js";
10
+ import "./chunk-OMNTQPZO.js";
11
+ import "./chunk-IREVVFTM.js";
9
12
  import "./chunk-SVOZFLIQ.js";
13
+ import "./chunk-LTJAMRGI.js";
10
14
  import "./chunk-J6A3CX5N.js";
11
- import "./chunk-ZXUOAFUG.js";
15
+ import "./chunk-IKNQAGBV.js";
12
16
  import "./chunk-SCU65EZI.js";
13
17
  import "./chunk-MB5RSUW6.js";
14
18
  import "./chunk-6KYMPV2O.js";
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile } from './types-CeZYSC-E.js';
1
+ import { g as MemoryFile } from './types-PuiPZ9iE.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -1,14 +1,18 @@
1
1
  import {
2
2
  compareVerifiedSemanticRuleResults,
3
3
  searchVerifiedSemanticRules
4
- } from "./chunk-N55RJT4N.js";
5
- import "./chunk-RIC5U67B.js";
4
+ } from "./chunk-QP37KL5H.js";
5
+ import "./chunk-SFMRLXIV.js";
6
+ import "./chunk-3JJWNZTT.js";
6
7
  import "./chunk-M7XQSUBB.js";
7
8
  import "./chunk-5UZXUTVO.js";
8
9
  import "./chunk-5GPPACXK.js";
10
+ import "./chunk-OMNTQPZO.js";
11
+ import "./chunk-IREVVFTM.js";
9
12
  import "./chunk-SVOZFLIQ.js";
13
+ import "./chunk-LTJAMRGI.js";
10
14
  import "./chunk-J6A3CX5N.js";
11
- import "./chunk-ZXUOAFUG.js";
15
+ import "./chunk-IKNQAGBV.js";
12
16
  import "./chunk-SCU65EZI.js";
13
17
  import "./chunk-MB5RSUW6.js";
14
18
  import "./chunk-6KYMPV2O.js";
@@ -1,4 +1,4 @@
1
- import { a2 as SessionObserverBandConfig } from './types-CeZYSC-E.js';
1
+ import { S as SessionObserverBandConfig } from './types-PuiPZ9iE.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { a2 as SessionObserverBandConfig } from './types-CeZYSC-E.js';
1
+ import { S as SessionObserverBandConfig } from './types-PuiPZ9iE.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { P as PluginConfig } from '../types-CeZYSC-E.js';
2
+ import { P as PluginConfig } from '../types-PuiPZ9iE.js';
3
3
  import '../types-ByK7T3L6.js';
4
4
  import '../index-DJ9QWMw-.js';
5
5
 
package/dist/signal.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { au as SignalScanResult } from './types-CeZYSC-E.js';
1
+ import { al as SignalScanResult } from './types-PuiPZ9iE.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
package/dist/storage.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, h as MemoryStatus, M as MemoryCategory, I as ImportanceScore, i as MemoryLink, j as MemoryFrontmatter, F as FaithfulnessFrontmatter, g as MemoryFile, E as EntityStructuredSection, k as BufferState, l as MetaState, m as MemoryActionEvent, n as MemoryLifecycleEvent, o as BufferSurpriseEvent, B as BehaviorSignalEvent, C as CompressionGuidelineOptimizerState, p as ContinuityIncidentOpenInput, q as ContinuityIncidentRecord, r as ContinuityIncidentCloseInput, s as ContinuityImprovementLoop, t as ContinuityLoopUpsertInput, u as ContinuityLoopReviewInput, v as FileHygieneConfig, w as EntityRelationship, x as EntityActivityEntry, y as EntityFile, z as AccessTrackingEntry, D as MemoryProjectionCurrentState, H as MemorySummary, T as TopicScore } from './types-CeZYSC-E.js';
1
+ import { P as PluginConfig, h as MemoryStatus, M as MemoryCategory, a9 as ImportanceScore, ao as MemoryLink, k as MemoryFrontmatter, F as FaithfulnessFrontmatter, g as MemoryFile, $ as EntityStructuredSection, ap as BufferState, aq 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, ar as FileHygieneConfig, as as EntityRelationship, at as EntityActivityEntry, E as EntityFile, au as AccessTrackingEntry, l as MemoryProjectionCurrentState, av as MemorySummary, an as TopicScore } from './types-PuiPZ9iE.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';
@@ -9,6 +9,233 @@ import './maintenance/memory-governance.js';
9
9
  import './runtime/better-sqlite.js';
10
10
  import 'better-sqlite3';
11
11
 
12
+ /** Why a tombstone was emitted. */
13
+ type TombstoneReason = "correction" | "supersession" | "retraction" | "contradiction_resolution";
14
+ /** Who emitted the tombstone. */
15
+ type TombstoneCreatedBy = "user_correction" | "contradiction_resolution" | "supersession" | "chat";
16
+ /** Tier that matched on lookup. */
17
+ type TombstoneMatchTier = "exact" | "normalized" | "keyed" | "semantic";
18
+ /**
19
+ * A single append-only tombstone log entry.
20
+ *
21
+ * `kind: "tombstone"` blocks; `kind: "revocation"` re-allows. The log is
22
+ * never rewritten — the NEWEST matching entry wins at lookup (rule 25).
23
+ */
24
+ interface TombstoneEntry {
25
+ /** Stable tombstone id (`tomb-<ts>-<rand>`). */
26
+ id: string;
27
+ kind: "tombstone" | "revocation";
28
+ reason: TombstoneReason;
29
+ /** The memory that was retired. */
30
+ sourceMemoryId: string;
31
+ /** sha256 of the retired memory's rawContent (rule 23). */
32
+ contentHash: string;
33
+ /** `ContentHashIndex.normalizeContent(rawContent)` — the pre-hash form. */
34
+ normalizedText: string;
35
+ entityRef?: string;
36
+ /** Structured-attribute supersession key when one existed. */
37
+ supersessionKey?: string;
38
+ /** Namespace scope (rule 42). */
39
+ namespace: string;
40
+ createdAt: string;
41
+ createdBy: TombstoneCreatedBy;
42
+ /** For `kind: "revocation"`: the tombstone id being revoked. */
43
+ revokes?: string;
44
+ }
45
+ /** A positive block decision returned by `TombstoneStore.lookup`. */
46
+ interface TombstoneMatch {
47
+ tombstoneId: string;
48
+ matchedTier: TombstoneMatchTier;
49
+ reason: TombstoneReason;
50
+ }
51
+ /** Inputs to a lookup. At least one discriminator must be present.
52
+ *
53
+ * Issue #1579 thread Ociag/Oci-W: `supersessionKeys` (plural) lets the write
54
+ * chokepoint check EVERY derived key, not just the first. Emitters register
55
+ * one tombstone per matched key (temporal-supersession, rebuild), so a block
56
+ * can live on any later key; querying only `supersessionKeys[0]` missed it
57
+ * and the retired fact resurrected as active. `supersessionKey` (singular)
58
+ * remains for direct/unit callers; `lookup` checks the union of both. */
59
+ interface TombstoneLookupQuery {
60
+ contentHash?: string;
61
+ normalizedText?: string;
62
+ entityRef?: string;
63
+ /** Single supersession key (direct/unit callers). */
64
+ supersessionKey?: string;
65
+ /** All derived supersession keys (write chokepoint). The keyed tier is
66
+ * checked for each; the first active match wins. */
67
+ supersessionKeys?: string[];
68
+ namespace: string;
69
+ }
70
+ /** Configuration for a tombstone store instance. */
71
+ interface TombstoneStoreOptions {
72
+ enabled: boolean;
73
+ semanticMatch: boolean;
74
+ semanticThreshold: number;
75
+ /** sha256 of raw content — wired to `ContentHashIndex.computeHash`. */
76
+ hashContent: (raw: string) => string;
77
+ /** Normalize raw content — wired to `ContentHashIndex.normalizeContent`. */
78
+ normalizeText: (raw: string) => string;
79
+ /**
80
+ * Optional cosine similarity in [0, 1] for the semantic tier. When
81
+ * undefined or when `semanticMatch` is false, the semantic tier is
82
+ * skipped entirely.
83
+ */
84
+ semanticSimilarity?: (a: string, b: string) => number;
85
+ }
86
+ /** Injected file I/O — the StorageManager wires its secure-store-aware
87
+ * implementations so tombstones are encrypted at rest alongside other state.
88
+ * `stat` is optional; when provided the store tracks the file mtime itself and
89
+ * runs a cross-process staleness probe on each access (#1579). */
90
+ interface TombstoneFileIo {
91
+ read: (filePath: string) => Promise<string>;
92
+ append: (filePath: string, content: string) => Promise<void>;
93
+ write: (filePath: string, content: string) => Promise<void>;
94
+ stat?: (filePath: string) => {
95
+ mtimeMs: number;
96
+ };
97
+ }
98
+ /** Aggregate stats for `remnic doctor`. */
99
+ interface TombstoneStats {
100
+ count: number;
101
+ revoked: number;
102
+ lastAppendAt: string | null;
103
+ corruptedLines: number;
104
+ /** Whether the in-memory index matches the on-disk file (rebuild check). */
105
+ loaded: boolean;
106
+ }
107
+ /**
108
+ * The instance-scoped tombstone store. One per StorageManager (rule 11),
109
+ * namespace-scoped via `namespace` + the on-disk path (rule 42).
110
+ *
111
+ * The in-memory index is built lazily on first access and invalidated on
112
+ * append + by the StorageManager's cache-invalidation chokepoint (rule 25).
113
+ */
114
+ declare class TombstoneStore {
115
+ private readonly filePath;
116
+ private readonly namespace;
117
+ private readonly options;
118
+ private readonly io;
119
+ private entries;
120
+ /** contentHash → tombstone id (newest) — exact tier. */
121
+ private readonly byHash;
122
+ /** normalizedText → tombstone id (newest) — normalized tier. */
123
+ private readonly byNormalized;
124
+ /** entityRef\0supersessionKey → tombstone id (newest) — keyed tier. */
125
+ private readonly byKey;
126
+ /** Tombstone ids that have a later revocation entry. */
127
+ private readonly revokedIds;
128
+ /** id → entry index (newest only, for revocation lookups). */
129
+ private readonly byId;
130
+ private loaded;
131
+ private loadPromise;
132
+ private corruptedLines;
133
+ private lastAppendAt;
134
+ /**
135
+ * Last-seen mtime of the JSONL file (cross-process staleness probe, #1579).
136
+ * Tracked inside the store so the StorageManager wiring stays thin. When the
137
+ * file's mtime advances past this value between accesses, the in-memory index
138
+ * is stale (a peer process appended) and is reloaded before the next lookup.
139
+ */
140
+ private fileMtimeMs;
141
+ constructor(filePath: string, namespace: string, options: TombstoneStoreOptions, io: TombstoneFileIo);
142
+ /** Lazy load + build the in-memory index. Idempotent. */
143
+ load(): Promise<void>;
144
+ private loadInternal;
145
+ private resetIndex;
146
+ /**
147
+ * Index an entry. Later entries (higher array index = newer createdAt)
148
+ * OVERRIDE earlier ones at each tier key — the newest matching entry wins
149
+ * (rule 25). Revocation entries mark their target as revoked.
150
+ */
151
+ private indexEntry;
152
+ /** Invalidate the in-memory cache (rule 25). The next access reloads. */
153
+ invalidate(): void;
154
+ /**
155
+ * Cross-process staleness probe (#1579). If the file's mtime advanced since
156
+ * the last load/own-write, a peer process appended and our in-memory index is
157
+ * stale — invalidate AND reload in place so the next lookup sees the new
158
+ * entries. Best-effort: a stat error is swallowed (the loaded index is
159
+ * retained rather than crashing the write path). No-op when no `stat` was
160
+ * injected or when the mtime is unchanged. After our own append/revoke/rebuild
161
+ * `markWritten` records the new mtime, so this probe does not fire for our
162
+ * own writes (only for peer-process appends).
163
+ */
164
+ ensureFreshAgainstDisk(): Promise<void>;
165
+ /**
166
+ * Record the file mtime after THIS process writes (append / revoke / rebuild)
167
+ * so `ensureFreshAgainstDisk` does not treat our own write as a peer append
168
+ * and throw away the just-updated in-memory index (#1579 — avoids a needless
169
+ * invalidate+reload in the hot write path).
170
+ */
171
+ private markWritten;
172
+ private recordFileMtime;
173
+ /**
174
+ * Append a tombstone entry. Serialized via `serializeMutations` keyed by
175
+ * file path so concurrent appends do not interleave, with rejection recovery
176
+ * (rule 40 — a single failed append never poisons the chain). The in-memory
177
+ * index is updated AFTER the durable append succeeds.
178
+ *
179
+ * Returns the new tombstone id.
180
+ */
181
+ appendTombstone(input: {
182
+ reason: TombstoneReason;
183
+ createdBy: TombstoneCreatedBy;
184
+ sourceMemoryId: string;
185
+ rawContent: string;
186
+ entityRef?: string;
187
+ supersessionKey?: string;
188
+ createdAt?: string;
189
+ /**
190
+ * Pre-computed canonical contentHash from the retired memory's frontmatter.
191
+ * When provided, used directly so the tombstone's exact tier matches the
192
+ * hash writeMemory computes on re-extraction (issue #1579 review: cited
193
+ * facts must not slip past the chokepoint because the emitter hashed the
194
+ * citation-annotated body instead of the canonical source).
195
+ */
196
+ contentHash?: string;
197
+ }): Promise<string>;
198
+ /**
199
+ * Append a revocation entry referencing `tombstoneId`. The log is
200
+ * append-only; lookup treats a revoked tombstone as re-allowed (rule 25).
201
+ */
202
+ revoke(tombstoneId: string, createdBy: TombstoneCreatedBy): Promise<string>;
203
+ private serializeAppend;
204
+ /**
205
+ * Look up whether `query` is blocked by an active (non-revoked) tombstone.
206
+ * Tiers are checked in order: exact (contentHash) → normalized → keyed →
207
+ * semantic (off by default). Returns the first active match, or `null`.
208
+ *
209
+ * Namespace isolation (rule 42): only entries with `namespace === query.namespace`
210
+ * match. The store is per-namespace, so this is belt-and-suspenders.
211
+ */
212
+ lookup(query: TombstoneLookupQuery): TombstoneMatch | null;
213
+ /** Aggregate stats for the doctor / x-ray surfaces. */
214
+ stats(): TombstoneStats;
215
+ /** Read-only snapshot of all entries (for rebuild + tests). */
216
+ snapshot(): readonly TombstoneEntry[];
217
+ /**
218
+ * Rebuild the in-memory index + JSONL from the supplied retired-memory
219
+ * records + existing entries (preserving revocations). Byte-stable: entries
220
+ * are sorted by (createdAt, id) before write (rule 38).
221
+ *
222
+ * Returns the count of tombstone entries written.
223
+ */
224
+ rebuild(retiredMemories: ReadonlyArray<RetiredMemoryRecord>): Promise<number>;
225
+ }
226
+ /** A retired memory projected into the shape `TombstoneStore.rebuild` consumes. */
227
+ interface RetiredMemoryRecord {
228
+ memoryId: string;
229
+ rawContent: string;
230
+ entityRef?: string;
231
+ supersessionKey?: string;
232
+ reason: TombstoneReason;
233
+ createdBy: TombstoneCreatedBy;
234
+ createdAt: string;
235
+ /** Canonical contentHash from the retired memory's frontmatter (#1579). */
236
+ contentHash?: string;
237
+ }
238
+
12
239
  interface ReextractJobRequest {
13
240
  memoryId: string;
14
241
  model: string;
@@ -132,6 +359,9 @@ declare class StorageManager {
132
359
  /** Post-write catalog hook (#1522). Installed by the namespace router; fire-and-forget. */
133
360
  onCatalogWrite?: () => void;
134
361
  private notifyCatalogWrite;
362
+ private tombstoneStore;
363
+ private tombstoneStoreLoadPromise;
364
+ private tombstonesConfig;
135
365
  /** Page-versioning configuration. Set by the orchestrator after construction. */
136
366
  private _versioningConfig;
137
367
  /** Set the page-versioning configuration. When `enabled` is false (default), all versioning calls are no-ops. */
@@ -255,7 +485,10 @@ declare class StorageManager {
255
485
  * Promote a pending_review wearable memory to active in place,
256
486
  * merging updated trust evidence into structuredAttributes. Returns
257
487
  * false when the memory is missing or no longer pending_review (a
258
- * concurrent review decision wins).
488
+ * concurrent review decision wins), or when the row is tombstone-blocked
489
+ * (`blockedBy` — issue #1579 threads OcuDx/Ocu1l): writeMemoryFrontmatter
490
+ * bypasses the writeMemory chokepoint, so a blocked row must first be
491
+ * cleared via revokeTombstone before promotion can proceed.
259
492
  */
260
493
  promoteWearableMemory(id: string, attributeUpdates: Record<string, string>, confidence?: number): Promise<boolean>;
261
494
  /**
@@ -300,6 +533,66 @@ declare class StorageManager {
300
533
  private get offlineSyncDigestCachePath();
301
534
  private get entitySynthesisQueuePath();
302
535
  private get factHashIndexReadyPath();
536
+ /**
537
+ * The on-disk tombstone log path. Lives under `<stateDir>/tombstones.jsonl`
538
+ * so it is co-located with the fact-hash index and encrypted at rest when
539
+ * the secure-store is enabled (the StorageManager's secure read/write
540
+ * helpers are injected into the store).
541
+ */
542
+ private get tombstonesPath();
543
+ /**
544
+ * Configure the tombstone invariant for this storage instance. Installed
545
+ * by the orchestrator after construction (same pattern as
546
+ * `setVersioningConfig` / `citationTemplate`). When `enabled` is false
547
+ * (default until the orchestrator wires config), the chokepoint check is a
548
+ * no-op — pre-feature behavior for rollback safety (rule 30).
549
+ */
550
+ setTombstonesConfig(config: {
551
+ enabled: boolean;
552
+ semanticMatch: boolean;
553
+ semanticThreshold: number;
554
+ namespace: string;
555
+ }): void;
556
+ private buildTombstoneStore;
557
+ /**
558
+ * Lazily load the tombstone store. Mirrors the fact-hash-index lazy-load
559
+ * pattern: a single in-flight load promise dedups concurrent first-access.
560
+ * The cross-process staleness probe lives inside the store now (#1579): on
561
+ * each cached access it stats its own file and invalidates if a peer process
562
+ * appended, so the next lookup reloads from disk. If the probe just
563
+ * invalidated the store, fall through to the reload branch — returning null
564
+ * here was the original regression (the chokepoint threw and failed OPEN).
565
+ */
566
+ getTombstoneStore(): Promise<TombstoneStore>;
567
+ /**
568
+ * Append a tombstone for a retired memory (issue #1579 emitters).
569
+ * Best-effort: a tombstone append failure MUST NOT fail the supersession /
570
+ * correction that triggered it (gotcha #13 / rule 34). The memory is
571
+ * already retired on disk; the tombstone is the non-resurrection guard.
572
+ */
573
+ appendTombstone(input: {
574
+ reason: TombstoneReason;
575
+ createdBy: TombstoneCreatedBy;
576
+ sourceMemoryId: string;
577
+ rawContent: string;
578
+ entityRef?: string;
579
+ supersessionKey?: string;
580
+ createdAt?: string;
581
+ /** Canonical contentHash from the retired memory's frontmatter (#1579). */
582
+ contentHash?: string;
583
+ }): Promise<string | null>;
584
+ /**
585
+ * Revoke a tombstone (re-allow the content). Used by the review-queue
586
+ * approval path when an operator approves a blocked memory.
587
+ */
588
+ revokeTombstone(tombstoneId: string, createdBy: TombstoneCreatedBy): Promise<string | null>;
589
+ /** Aggregate tombstone stats for `remnic doctor`. */
590
+ getTombstoneStats(): Promise<TombstoneStats | null>;
591
+ /**
592
+ * Rebuild the tombstone log from retired memories on disk. Exposed for
593
+ * `remnic doctor --rebuild-tombstones` and tests.
594
+ */
595
+ rebuildTombstonesFromFiles(): Promise<number>;
303
596
  private getFactHashIndex;
304
597
  private ensureFactHashIndexAuthoritative;
305
598
  private get questionsDir();
@@ -422,6 +715,17 @@ declare class StorageManager {
422
715
  hasFactContentHash(content: string): Promise<boolean>;
423
716
  private factContentHashForRemoval;
424
717
  private addActiveFactContentHash;
718
+ /**
719
+ * Re-register a fact's contentHash in the dedup index after a tombstone
720
+ * block is lifted on approval (issue #1579 thread ObnTy). `writeMemory`
721
+ * skips hash-index registration for tombstone-blocked facts (rule 44); when
722
+ * the review queue later promotes such a fact back to `status: active`, the
723
+ * hash must enter the index or the next extraction of the same content
724
+ * creates a second active fact. Reads the memory by id so the caller (the
725
+ * review CLI) does not need to re-parse the file. No-op for non-facts or
726
+ * facts that are not active.
727
+ */
728
+ restoreFactHashAfterApproval(memoryId: string): Promise<void>;
425
729
  private syncFactHashIndexAfterRewrite;
426
730
  removeFactContentHashesForMemories(memories: MemoryFile[]): Promise<void>;
427
731
  isFactContentHashAuthoritative(): Promise<boolean>;
package/dist/storage.js CHANGED
@@ -8,15 +8,19 @@ import {
8
8
  normalizeEntityName,
9
9
  parseEntityFile,
10
10
  serializeEntityFile
11
- } from "./chunk-RIC5U67B.js";
11
+ } from "./chunk-SFMRLXIV.js";
12
+ import "./chunk-3JJWNZTT.js";
12
13
  import "./chunk-M7XQSUBB.js";
13
14
  import "./chunk-5UZXUTVO.js";
14
15
  import "./chunk-5GPPACXK.js";
16
+ import "./chunk-OMNTQPZO.js";
17
+ import "./chunk-IREVVFTM.js";
15
18
  import {
16
19
  stripAttributesSuffix
17
20
  } from "./chunk-SVOZFLIQ.js";
21
+ import "./chunk-LTJAMRGI.js";
18
22
  import "./chunk-J6A3CX5N.js";
19
- import "./chunk-ZXUOAFUG.js";
23
+ import "./chunk-IKNQAGBV.js";
20
24
  import "./chunk-SCU65EZI.js";
21
25
  import "./chunk-MB5RSUW6.js";
22
26
  import "./chunk-6KYMPV2O.js";
@@ -1,5 +1,5 @@
1
1
  import { ModelRegistry } from './model-registry.js';
2
- import { P as PluginConfig, G as GatewayConfig, $ as TranscriptEntry, a1 as HourlySummary } from './types-CeZYSC-E.js';
2
+ import { P as PluginConfig, G as GatewayConfig, T as TranscriptEntry, H as HourlySummary } from './types-PuiPZ9iE.js';
3
3
  import { TranscriptManager } from './transcript.js';
4
4
  import './types-ByK7T3L6.js';
5
5
  import './index-DJ9QWMw-.js';
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  HourlySummarizer
3
- } from "./chunk-RC3CNIPK.js";
4
- import "./chunk-XJNBEDFE.js";
3
+ } from "./chunk-IO5NQEGZ.js";
4
+ import "./chunk-3FAMU5TX.js";
5
5
  import "./chunk-PWFWCGOO.js";
6
6
  import "./chunk-24D66MMN.js";
7
7
  import "./chunk-S4DDLTPX.js";
8
8
  import "./chunk-FF4KLI5W.js";
9
9
  import "./chunk-O75CRYGF.js";
10
+ import "./chunk-LTJAMRGI.js";
10
11
  import "./chunk-5J4OL7TJ.js";
11
12
  import "./chunk-IQVQJJL7.js";
12
13
  import "./chunk-VL7DP3OW.js";
@@ -1,4 +1,4 @@
1
- import { a1 as HourlySummary } from './types-CeZYSC-E.js';
1
+ import { H as HourlySummary } from './types-PuiPZ9iE.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -3,8 +3,9 @@ import {
3
3
  summarySnapshotPath,
4
4
  upsertSummarySnapshot,
5
5
  writeSummarySnapshot
6
- } from "./chunk-XJNBEDFE.js";
6
+ } from "./chunk-3FAMU5TX.js";
7
7
  import "./chunk-FF4KLI5W.js";
8
+ import "./chunk-LTJAMRGI.js";
8
9
  import "./chunk-PZ5AY32C.js";
9
10
  export {
10
11
  readSummarySnapshot,
@@ -1,4 +1,4 @@
1
- import { j as MemoryFrontmatter } from './types-CeZYSC-E.js';
1
+ import { k as MemoryFrontmatter } from './types-PuiPZ9iE.js';
2
2
  import { StorageManager } from './storage.js';
3
3
  import './types-ByK7T3L6.js';
4
4
  import './index-DJ9QWMw-.js';
@@ -6,7 +6,7 @@ import {
6
6
  shouldFilterSupersededFromRecall,
7
7
  shouldSupersedeExisting,
8
8
  supersessionKeysForFact
9
- } from "./chunk-MRFVMSTR.js";
9
+ } from "./chunk-OMNTQPZO.js";
10
10
  import "./chunk-IREVVFTM.js";
11
11
  import "./chunk-NU3CSQ4H.js";
12
12
  import "./chunk-PZ5AY32C.js";
@@ -1,4 +1,4 @@
1
- import { j as MemoryFrontmatter } from './types-CeZYSC-E.js';
1
+ import { k as MemoryFrontmatter } from './types-PuiPZ9iE.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { _ as BufferTurn, av as ConversationThread } from './types-CeZYSC-E.js';
1
+ import { u as BufferTurn, am as ConversationThread } from './types-PuiPZ9iE.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile } from './types-CeZYSC-E.js';
1
+ import { g as MemoryFile } from './types-PuiPZ9iE.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-CeZYSC-E.js';
1
+ import { g as MemoryFile } from './types-PuiPZ9iE.js';
2
2
  import { LifecycleSignals } from './lifecycle.js';
3
3
  import './types-ByK7T3L6.js';
4
4
  import './index-DJ9QWMw-.js';
package/dist/topics.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile, T as TopicScore } from './types-CeZYSC-E.js';
1
+ import { g as MemoryFile, an as TopicScore } from './types-PuiPZ9iE.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, $ as TranscriptEntry, a0 as Checkpoint } from './types-CeZYSC-E.js';
1
+ import { P as PluginConfig, T as TranscriptEntry, v as Checkpoint } from './types-PuiPZ9iE.js';
2
2
  import { SessionIntegrityReport } from './session-integrity.js';
3
3
  import './types-ByK7T3L6.js';
4
4
  import './index-DJ9QWMw-.js';