@atomicmemory/core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/LICENSE +201 -0
  3. package/README.md +314 -0
  4. package/dist/app/bind-ephemeral.d.ts +18 -0
  5. package/dist/app/bind-ephemeral.js +22 -0
  6. package/dist/app/cors-headers.d.ts +12 -0
  7. package/dist/app/cors-headers.js +18 -0
  8. package/dist/app/create-app.d.ts +25 -0
  9. package/dist/app/create-app.js +156 -0
  10. package/dist/app/runtime-config-route-snapshot.d.ts +27 -0
  11. package/dist/app/runtime-config-route-snapshot.js +27 -0
  12. package/dist/app/runtime-container.d.ts +281 -0
  13. package/dist/app/runtime-container.js +297 -0
  14. package/dist/app/startup-checks.d.ts +28 -0
  15. package/dist/app/startup-checks.js +45 -0
  16. package/dist/bin.d.ts +17 -0
  17. package/dist/bin.js +128 -0
  18. package/dist/config.d.ts +680 -0
  19. package/dist/config.js +808 -0
  20. package/dist/db/agent-trust-repository.d.ts +49 -0
  21. package/dist/db/agent-trust-repository.js +66 -0
  22. package/dist/db/belief-edges-repository.d.ts +68 -0
  23. package/dist/db/belief-edges-repository.js +124 -0
  24. package/dist/db/claim-repository.d.ts +6 -0
  25. package/dist/db/claim-repository.js +4 -0
  26. package/dist/db/contradictions-repository.d.ts +56 -0
  27. package/dist/db/contradictions-repository.js +88 -0
  28. package/dist/db/document-chunk-repository.d.ts +48 -0
  29. package/dist/db/document-chunk-repository.js +145 -0
  30. package/dist/db/document-chunk-types.d.ts +35 -0
  31. package/dist/db/document-chunk-types.js +9 -0
  32. package/dist/db/document-list-cursor.d.ts +45 -0
  33. package/dist/db/document-list-cursor.js +111 -0
  34. package/dist/db/document-list-repository.d.ts +103 -0
  35. package/dist/db/document-list-repository.js +204 -0
  36. package/dist/db/entity-cards-repository.d.ts +37 -0
  37. package/dist/db/entity-cards-repository.js +46 -0
  38. package/dist/db/entity-values-repository.d.ts +26 -0
  39. package/dist/db/entity-values-repository.js +57 -0
  40. package/dist/db/link-repository.d.ts +30 -0
  41. package/dist/db/link-repository.js +54 -0
  42. package/dist/db/memory-repository.d.ts +163 -0
  43. package/dist/db/memory-repository.js +232 -0
  44. package/dist/db/migrate.d.ts +6 -0
  45. package/dist/db/migrate.js +36 -0
  46. package/dist/db/mmr.d.ts +14 -0
  47. package/dist/db/mmr.js +57 -0
  48. package/dist/db/passport-feed-repository.d.ts +91 -0
  49. package/dist/db/passport-feed-repository.js +198 -0
  50. package/dist/db/pg-episode-store.d.ts +19 -0
  51. package/dist/db/pg-episode-store.js +17 -0
  52. package/dist/db/pg-link-store.d.ts +17 -0
  53. package/dist/db/pg-link-store.js +14 -0
  54. package/dist/db/pg-memory-store.d.ts +68 -0
  55. package/dist/db/pg-memory-store.js +53 -0
  56. package/dist/db/pg-recap-store.d.ts +13 -0
  57. package/dist/db/pg-recap-store.js +19 -0
  58. package/dist/db/pg-representation-store.d.ts +17 -0
  59. package/dist/db/pg-representation-store.js +17 -0
  60. package/dist/db/pg-search-store.d.ts +29 -0
  61. package/dist/db/pg-search-store.js +47 -0
  62. package/dist/db/pool.d.ts +5 -0
  63. package/dist/db/pool.js +21 -0
  64. package/dist/db/ppr.d.ts +56 -0
  65. package/dist/db/ppr.js +178 -0
  66. package/dist/db/query-helpers.d.ts +44 -0
  67. package/dist/db/query-helpers.js +60 -0
  68. package/dist/db/raw-doc-artifact-sync.d.ts +128 -0
  69. package/dist/db/raw-doc-artifact-sync.js +259 -0
  70. package/dist/db/raw-document-blob-repository.d.ts +148 -0
  71. package/dist/db/raw-document-blob-repository.js +300 -0
  72. package/dist/db/raw-document-repository.d.ts +104 -0
  73. package/dist/db/raw-document-repository.js +410 -0
  74. package/dist/db/raw-document-status-repository.d.ts +122 -0
  75. package/dist/db/raw-document-status-repository.js +183 -0
  76. package/dist/db/raw-document-types.d.ts +236 -0
  77. package/dist/db/raw-document-types.js +10 -0
  78. package/dist/db/raw-storage-reconciliation-repository.d.ts +110 -0
  79. package/dist/db/raw-storage-reconciliation-repository.js +200 -0
  80. package/dist/db/reflection-jobs-repository.d.ts +33 -0
  81. package/dist/db/reflection-jobs-repository.js +48 -0
  82. package/dist/db/reflections-repository.d.ts +41 -0
  83. package/dist/db/reflections-repository.js +83 -0
  84. package/dist/db/repository-claims.d.ts +141 -0
  85. package/dist/db/repository-claims.js +376 -0
  86. package/dist/db/repository-deferred-audn.d.ts +33 -0
  87. package/dist/db/repository-deferred-audn.js +69 -0
  88. package/dist/db/repository-document-delete.d.ts +53 -0
  89. package/dist/db/repository-document-delete.js +156 -0
  90. package/dist/db/repository-entities.d.ts +114 -0
  91. package/dist/db/repository-entities.js +317 -0
  92. package/dist/db/repository-entity-attributes.d.ts +41 -0
  93. package/dist/db/repository-entity-attributes.js +65 -0
  94. package/dist/db/repository-entity-graph.d.ts +32 -0
  95. package/dist/db/repository-entity-graph.js +87 -0
  96. package/dist/db/repository-first-mentions.d.ts +41 -0
  97. package/dist/db/repository-first-mentions.js +79 -0
  98. package/dist/db/repository-lessons.d.ts +51 -0
  99. package/dist/db/repository-lessons.js +90 -0
  100. package/dist/db/repository-links.d.ts +26 -0
  101. package/dist/db/repository-links.js +105 -0
  102. package/dist/db/repository-observation.d.ts +26 -0
  103. package/dist/db/repository-observation.js +51 -0
  104. package/dist/db/repository-read.d.ts +56 -0
  105. package/dist/db/repository-read.js +271 -0
  106. package/dist/db/repository-recaps.d.ts +59 -0
  107. package/dist/db/repository-recaps.js +158 -0
  108. package/dist/db/repository-representations.d.ts +48 -0
  109. package/dist/db/repository-representations.js +162 -0
  110. package/dist/db/repository-temporal-state.d.ts +35 -0
  111. package/dist/db/repository-temporal-state.js +46 -0
  112. package/dist/db/repository-tll.d.ts +88 -0
  113. package/dist/db/repository-tll.js +179 -0
  114. package/dist/db/repository-types.d.ts +313 -0
  115. package/dist/db/repository-types.js +142 -0
  116. package/dist/db/repository-user-profiles.d.ts +17 -0
  117. package/dist/db/repository-user-profiles.js +28 -0
  118. package/dist/db/repository-vector-search.d.ts +33 -0
  119. package/dist/db/repository-vector-search.js +373 -0
  120. package/dist/db/repository-wipe.d.ts +34 -0
  121. package/dist/db/repository-wipe.js +94 -0
  122. package/dist/db/repository-write.d.ts +61 -0
  123. package/dist/db/repository-write.js +279 -0
  124. package/dist/db/schema.sql +1355 -0
  125. package/dist/db/storage-artifact-delete-tx.d.ts +56 -0
  126. package/dist/db/storage-artifact-delete-tx.js +123 -0
  127. package/dist/db/storage-artifact-providers.d.ts +21 -0
  128. package/dist/db/storage-artifact-providers.js +21 -0
  129. package/dist/db/storage-artifact-recovery-repository.d.ts +66 -0
  130. package/dist/db/storage-artifact-recovery-repository.js +58 -0
  131. package/dist/db/storage-artifact-repository.d.ts +329 -0
  132. package/dist/db/storage-artifact-repository.js +497 -0
  133. package/dist/db/stores.d.ts +220 -0
  134. package/dist/db/stores.js +12 -0
  135. package/dist/db/summaries-repository.d.ts +74 -0
  136. package/dist/db/summaries-repository.js +125 -0
  137. package/dist/eval/beam-10m-loader.d.ts +98 -0
  138. package/dist/eval/beam-10m-loader.js +128 -0
  139. package/dist/index.d.ts +18 -0
  140. package/dist/index.js +17 -0
  141. package/dist/middleware/require-bearer.d.ts +27 -0
  142. package/dist/middleware/require-bearer.js +60 -0
  143. package/dist/middleware/validate-response.d.ts +33 -0
  144. package/dist/middleware/validate-response.js +55 -0
  145. package/dist/middleware/validate.d.ts +43 -0
  146. package/dist/middleware/validate.js +85 -0
  147. package/dist/routes/agents.d.ts +13 -0
  148. package/dist/routes/agents.js +89 -0
  149. package/dist/routes/document-response-formatters.d.ts +98 -0
  150. package/dist/routes/document-response-formatters.js +243 -0
  151. package/dist/routes/documents.d.ts +74 -0
  152. package/dist/routes/documents.js +425 -0
  153. package/dist/routes/memories.d.ts +29 -0
  154. package/dist/routes/memories.js +725 -0
  155. package/dist/routes/memory-response-formatters.d.ts +179 -0
  156. package/dist/routes/memory-response-formatters.js +210 -0
  157. package/dist/routes/public-raw-storage-metadata.d.ts +54 -0
  158. package/dist/routes/public-raw-storage-metadata.js +56 -0
  159. package/dist/routes/reflect.d.ts +14 -0
  160. package/dist/routes/reflect.js +19 -0
  161. package/dist/routes/response-schema-map.d.ts +14 -0
  162. package/dist/routes/response-schema-map.js +69 -0
  163. package/dist/routes/route-errors.d.ts +12 -0
  164. package/dist/routes/route-errors.js +30 -0
  165. package/dist/routes/storage-error-handlers.d.ts +34 -0
  166. package/dist/routes/storage-error-handlers.js +185 -0
  167. package/dist/routes/storage-response-formatters.d.ts +44 -0
  168. package/dist/routes/storage-response-formatters.js +155 -0
  169. package/dist/routes/storage.d.ts +38 -0
  170. package/dist/routes/storage.js +369 -0
  171. package/dist/routes/upstream-provider-errors.d.ts +19 -0
  172. package/dist/routes/upstream-provider-errors.js +95 -0
  173. package/dist/schemas/agents.d.ts +79 -0
  174. package/dist/schemas/agents.js +126 -0
  175. package/dist/schemas/common.d.ts +110 -0
  176. package/dist/schemas/common.js +190 -0
  177. package/dist/schemas/document-list-responses.d.ts +102 -0
  178. package/dist/schemas/document-list-responses.js +87 -0
  179. package/dist/schemas/document-list-schemas.d.ts +123 -0
  180. package/dist/schemas/document-list-schemas.js +174 -0
  181. package/dist/schemas/document-response-schemas.d.ts +610 -0
  182. package/dist/schemas/document-response-schemas.js +264 -0
  183. package/dist/schemas/document-status-envelope.d.ts +48 -0
  184. package/dist/schemas/document-status-envelope.js +54 -0
  185. package/dist/schemas/documents.d.ts +292 -0
  186. package/dist/schemas/documents.js +449 -0
  187. package/dist/schemas/errors.d.ts +75 -0
  188. package/dist/schemas/errors.js +105 -0
  189. package/dist/schemas/memories.d.ts +378 -0
  190. package/dist/schemas/memories.js +542 -0
  191. package/dist/schemas/openapi.d.ts +24 -0
  192. package/dist/schemas/openapi.js +1038 -0
  193. package/dist/schemas/response-scalars.d.ts +10 -0
  194. package/dist/schemas/response-scalars.js +10 -0
  195. package/dist/schemas/responses.d.ts +536 -0
  196. package/dist/schemas/responses.js +350 -0
  197. package/dist/schemas/search-response-parts.d.ts +97 -0
  198. package/dist/schemas/search-response-parts.js +103 -0
  199. package/dist/schemas/storage-schemas.d.ts +175 -0
  200. package/dist/schemas/storage-schemas.js +277 -0
  201. package/dist/schemas/zod-setup.d.ts +15 -0
  202. package/dist/schemas/zod-setup.js +17 -0
  203. package/dist/server.d.ts +13 -0
  204. package/dist/server.js +57 -0
  205. package/dist/services/abstract-query-policy.d.ts +13 -0
  206. package/dist/services/abstract-query-policy.js +50 -0
  207. package/dist/services/affinity-clustering.d.ts +66 -0
  208. package/dist/services/affinity-clustering.js +125 -0
  209. package/dist/services/agentic-retrieval.d.ts +38 -0
  210. package/dist/services/agentic-retrieval.js +126 -0
  211. package/dist/services/answer-format.d.ts +56 -0
  212. package/dist/services/answer-format.js +118 -0
  213. package/dist/services/answer-rescue.d.ts +72 -0
  214. package/dist/services/answer-rescue.js +177 -0
  215. package/dist/services/answer-verifier.d.ts +24 -0
  216. package/dist/services/answer-verifier.js +73 -0
  217. package/dist/services/api-retry.d.ts +6 -0
  218. package/dist/services/api-retry.js +41 -0
  219. package/dist/services/assistant-turn-filter.d.ts +20 -0
  220. package/dist/services/assistant-turn-filter.js +69 -0
  221. package/dist/services/atomicmem-uri.d.ts +33 -0
  222. package/dist/services/atomicmem-uri.js +86 -0
  223. package/dist/services/audit-events.d.ts +54 -0
  224. package/dist/services/audit-events.js +56 -0
  225. package/dist/services/chunked-extraction.d.ts +21 -0
  226. package/dist/services/chunked-extraction.js +108 -0
  227. package/dist/services/claim-slotting.d.ts +27 -0
  228. package/dist/services/claim-slotting.js +38 -0
  229. package/dist/services/claude-code-llm.d.ts +19 -0
  230. package/dist/services/claude-code-llm.js +96 -0
  231. package/dist/services/composite-dedup.d.ts +50 -0
  232. package/dist/services/composite-dedup.js +153 -0
  233. package/dist/services/composite-grouping.d.ts +41 -0
  234. package/dist/services/composite-grouping.js +111 -0
  235. package/dist/services/composite-staleness.d.ts +20 -0
  236. package/dist/services/composite-staleness.js +50 -0
  237. package/dist/services/conciseness-preference.d.ts +14 -0
  238. package/dist/services/conciseness-preference.js +42 -0
  239. package/dist/services/conflict-policy.d.ts +20 -0
  240. package/dist/services/conflict-policy.js +335 -0
  241. package/dist/services/consensus-extraction.d.ts +39 -0
  242. package/dist/services/consensus-extraction.js +147 -0
  243. package/dist/services/consensus-validation.d.ts +52 -0
  244. package/dist/services/consensus-validation.js +206 -0
  245. package/dist/services/consolidation-service.d.ts +60 -0
  246. package/dist/services/consolidation-service.js +171 -0
  247. package/dist/services/content-detection.d.ts +18 -0
  248. package/dist/services/content-detection.js +25 -0
  249. package/dist/services/contradiction-surfacing.d.ts +62 -0
  250. package/dist/services/contradiction-surfacing.js +111 -0
  251. package/dist/services/cost-telemetry.d.ts +39 -0
  252. package/dist/services/cost-telemetry.js +58 -0
  253. package/dist/services/counter-evidence.d.ts +34 -0
  254. package/dist/services/counter-evidence.js +92 -0
  255. package/dist/services/current-state-ranking.d.ts +21 -0
  256. package/dist/services/current-state-ranking.js +152 -0
  257. package/dist/services/deferred-audn.d.ts +47 -0
  258. package/dist/services/deferred-audn.js +162 -0
  259. package/dist/services/document-chunker.d.ts +50 -0
  260. package/dist/services/document-chunker.js +153 -0
  261. package/dist/services/document-failure-markers.d.ts +91 -0
  262. package/dist/services/document-failure-markers.js +305 -0
  263. package/dist/services/document-indexer.d.ts +122 -0
  264. package/dist/services/document-indexer.js +405 -0
  265. package/dist/services/document-service.d.ts +245 -0
  266. package/dist/services/document-service.js +325 -0
  267. package/dist/services/document-upload-artifact-sync.d.ts +80 -0
  268. package/dist/services/document-upload-artifact-sync.js +162 -0
  269. package/dist/services/document-upload-beta2-recovery.d.ts +72 -0
  270. package/dist/services/document-upload-beta2-recovery.js +94 -0
  271. package/dist/services/document-upload.d.ts +44 -0
  272. package/dist/services/document-upload.js +353 -0
  273. package/dist/services/embedding.d.ts +57 -0
  274. package/dist/services/embedding.js +416 -0
  275. package/dist/services/entity-attribute-extractor.d.ts +34 -0
  276. package/dist/services/entity-attribute-extractor.js +117 -0
  277. package/dist/services/entity-card-synthesis.d.ts +54 -0
  278. package/dist/services/entity-card-synthesis.js +92 -0
  279. package/dist/services/entity-dedup.d.ts +9 -0
  280. package/dist/services/entity-dedup.js +14 -0
  281. package/dist/services/entity-graph.d.ts +17 -0
  282. package/dist/services/entity-graph.js +135 -0
  283. package/dist/services/entropy-gate.d.ts +52 -0
  284. package/dist/services/entropy-gate.js +56 -0
  285. package/dist/services/episode-fetcher.d.ts +47 -0
  286. package/dist/services/episode-fetcher.js +128 -0
  287. package/dist/services/event-anchor-facts.d.ts +8 -0
  288. package/dist/services/event-anchor-facts.js +205 -0
  289. package/dist/services/event-chain-detector.d.ts +52 -0
  290. package/dist/services/event-chain-detector.js +83 -0
  291. package/dist/services/extraction-cache.d.ts +9 -0
  292. package/dist/services/extraction-cache.js +54 -0
  293. package/dist/services/extraction-enrichment.d.ts +9 -0
  294. package/dist/services/extraction-enrichment.js +223 -0
  295. package/dist/services/extraction.d.ts +69 -0
  296. package/dist/services/extraction.js +596 -0
  297. package/dist/services/fact-normalization.d.ts +12 -0
  298. package/dist/services/fact-normalization.js +248 -0
  299. package/dist/services/filecoin-observability.d.ts +127 -0
  300. package/dist/services/filecoin-observability.js +200 -0
  301. package/dist/services/first-mention-service.d.ts +76 -0
  302. package/dist/services/first-mention-service.js +186 -0
  303. package/dist/services/hierarchical-retrieval.d.ts +49 -0
  304. package/dist/services/hierarchical-retrieval.js +50 -0
  305. package/dist/services/ingest-fact-pipeline.d.ts +32 -0
  306. package/dist/services/ingest-fact-pipeline.js +212 -0
  307. package/dist/services/ingest-post-write.d.ts +50 -0
  308. package/dist/services/ingest-post-write.js +117 -0
  309. package/dist/services/ingest-trace.d.ts +32 -0
  310. package/dist/services/ingest-trace.js +60 -0
  311. package/dist/services/input-sanitizer.d.ts +41 -0
  312. package/dist/services/input-sanitizer.js +135 -0
  313. package/dist/services/iterative-retrieval.d.ts +26 -0
  314. package/dist/services/iterative-retrieval.js +139 -0
  315. package/dist/services/keyword-expansion.d.ts +10 -0
  316. package/dist/services/keyword-expansion.js +26 -0
  317. package/dist/services/lesson-service.d.ts +68 -0
  318. package/dist/services/lesson-service.js +178 -0
  319. package/dist/services/literal-extractor.d.ts +16 -0
  320. package/dist/services/literal-extractor.js +74 -0
  321. package/dist/services/literal-list-protection.d.ts +17 -0
  322. package/dist/services/literal-list-protection.js +134 -0
  323. package/dist/services/literal-query-expansion.d.ts +20 -0
  324. package/dist/services/literal-query-expansion.js +181 -0
  325. package/dist/services/llm.d.ts +61 -0
  326. package/dist/services/llm.js +265 -0
  327. package/dist/services/memcell-projection.d.ts +17 -0
  328. package/dist/services/memcell-projection.js +41 -0
  329. package/dist/services/memory-audn.d.ts +43 -0
  330. package/dist/services/memory-audn.js +419 -0
  331. package/dist/services/memory-crud.d.ts +93 -0
  332. package/dist/services/memory-crud.js +255 -0
  333. package/dist/services/memory-ingest.d.ts +21 -0
  334. package/dist/services/memory-ingest.js +249 -0
  335. package/dist/services/memory-lifecycle.d.ts +75 -0
  336. package/dist/services/memory-lifecycle.js +108 -0
  337. package/dist/services/memory-lineage.d.ts +181 -0
  338. package/dist/services/memory-lineage.js +232 -0
  339. package/dist/services/memory-network.d.ts +40 -0
  340. package/dist/services/memory-network.js +75 -0
  341. package/dist/services/memory-search-types.d.ts +25 -0
  342. package/dist/services/memory-search-types.js +10 -0
  343. package/dist/services/memory-search.d.ts +48 -0
  344. package/dist/services/memory-search.js +505 -0
  345. package/dist/services/memory-service-types.d.ts +371 -0
  346. package/dist/services/memory-service-types.js +8 -0
  347. package/dist/services/memory-service.d.ts +152 -0
  348. package/dist/services/memory-service.js +225 -0
  349. package/dist/services/memory-storage.d.ts +33 -0
  350. package/dist/services/memory-storage.js +328 -0
  351. package/dist/services/msr-aggregator.d.ts +38 -0
  352. package/dist/services/msr-aggregator.js +97 -0
  353. package/dist/services/msr-detector.d.ts +35 -0
  354. package/dist/services/msr-detector.js +65 -0
  355. package/dist/services/namespace-retrieval.d.ts +60 -0
  356. package/dist/services/namespace-retrieval.js +180 -0
  357. package/dist/services/observation-date-extraction.d.ts +12 -0
  358. package/dist/services/observation-date-extraction.js +50 -0
  359. package/dist/services/observation-service.d.ts +27 -0
  360. package/dist/services/observation-service.js +84 -0
  361. package/dist/services/packaging-observability.d.ts +29 -0
  362. package/dist/services/packaging-observability.js +146 -0
  363. package/dist/services/query-expansion.d.ts +83 -0
  364. package/dist/services/query-expansion.js +242 -0
  365. package/dist/services/query-keyword-matches.d.ts +6 -0
  366. package/dist/services/query-keyword-matches.js +56 -0
  367. package/dist/services/query-term-visibility.d.ts +28 -0
  368. package/dist/services/query-term-visibility.js +100 -0
  369. package/dist/services/quick-extraction.d.ts +25 -0
  370. package/dist/services/quick-extraction.js +431 -0
  371. package/dist/services/quoted-entity-extraction.d.ts +10 -0
  372. package/dist/services/quoted-entity-extraction.js +161 -0
  373. package/dist/services/raw-storage-reconciler-backoff.d.ts +8 -0
  374. package/dist/services/raw-storage-reconciler-backoff.js +14 -0
  375. package/dist/services/raw-storage-reconciler-scheduler.d.ts +29 -0
  376. package/dist/services/raw-storage-reconciler-scheduler.js +43 -0
  377. package/dist/services/raw-storage-reconciler.d.ts +71 -0
  378. package/dist/services/raw-storage-reconciler.js +278 -0
  379. package/dist/services/recap-builder.d.ts +49 -0
  380. package/dist/services/recap-builder.js +157 -0
  381. package/dist/services/reflect-jobs.d.ts +23 -0
  382. package/dist/services/reflect-jobs.js +36 -0
  383. package/dist/services/reflect-prompts.d.ts +71 -0
  384. package/dist/services/reflect-prompts.js +99 -0
  385. package/dist/services/reflect-retrieval.d.ts +33 -0
  386. package/dist/services/reflect-retrieval.js +30 -0
  387. package/dist/services/reflect.d.ts +49 -0
  388. package/dist/services/reflect.js +84 -0
  389. package/dist/services/relative-temporal.d.ts +14 -0
  390. package/dist/services/relative-temporal.js +163 -0
  391. package/dist/services/relevance-policy.d.ts +37 -0
  392. package/dist/services/relevance-policy.js +109 -0
  393. package/dist/services/rerank.d.ts +32 -0
  394. package/dist/services/rerank.js +118 -0
  395. package/dist/services/reranker.d.ts +20 -0
  396. package/dist/services/reranker.js +99 -0
  397. package/dist/services/retrieval-channel-rules.d.ts +34 -0
  398. package/dist/services/retrieval-channel-rules.js +41 -0
  399. package/dist/services/retrieval-config-overlay.d.ts +36 -0
  400. package/dist/services/retrieval-config-overlay.js +44 -0
  401. package/dist/services/retrieval-format.d.ts +119 -0
  402. package/dist/services/retrieval-format.js +559 -0
  403. package/dist/services/retrieval-policy.d.ts +69 -0
  404. package/dist/services/retrieval-policy.js +275 -0
  405. package/dist/services/retrieval-profiles.d.ts +37 -0
  406. package/dist/services/retrieval-profiles.js +90 -0
  407. package/dist/services/retrieval-side-effects.d.ts +14 -0
  408. package/dist/services/retrieval-side-effects.js +26 -0
  409. package/dist/services/retrieval-trace.d.ts +108 -0
  410. package/dist/services/retrieval-trace.js +147 -0
  411. package/dist/services/rrf-fusion.d.ts +18 -0
  412. package/dist/services/rrf-fusion.js +34 -0
  413. package/dist/services/search-pipeline.d.ts +71 -0
  414. package/dist/services/search-pipeline.js +788 -0
  415. package/dist/services/session-date.d.ts +20 -0
  416. package/dist/services/session-date.js +61 -0
  417. package/dist/services/session-packaging.d.ts +53 -0
  418. package/dist/services/session-packaging.js +182 -0
  419. package/dist/services/session-summary-generator.d.ts +53 -0
  420. package/dist/services/session-summary-generator.js +134 -0
  421. package/dist/services/specialists/cr-specialist.d.ts +52 -0
  422. package/dist/services/specialists/cr-specialist.js +121 -0
  423. package/dist/services/specialists/dispatch.d.ts +53 -0
  424. package/dist/services/specialists/dispatch.js +102 -0
  425. package/dist/services/specialists/ie-ku-specialist.d.ts +37 -0
  426. package/dist/services/specialists/ie-ku-specialist.js +63 -0
  427. package/dist/services/specialists/msr-specialist.d.ts +61 -0
  428. package/dist/services/specialists/msr-specialist.js +162 -0
  429. package/dist/services/specialists/tr-specialist.d.ts +37 -0
  430. package/dist/services/specialists/tr-specialist.js +146 -0
  431. package/dist/services/storage-key-prefix.d.ts +42 -0
  432. package/dist/services/storage-key-prefix.js +45 -0
  433. package/dist/services/storage-put-recovery.d.ts +71 -0
  434. package/dist/services/storage-put-recovery.js +269 -0
  435. package/dist/services/storage-service-errors.d.ts +124 -0
  436. package/dist/services/storage-service-errors.js +189 -0
  437. package/dist/services/storage-service.d.ts +176 -0
  438. package/dist/services/storage-service.js +423 -0
  439. package/dist/services/subject-aware-ranking.d.ts +19 -0
  440. package/dist/services/subject-aware-ranking.js +161 -0
  441. package/dist/services/supplemental-extraction.d.ts +7 -0
  442. package/dist/services/supplemental-extraction.js +116 -0
  443. package/dist/services/tbc-execution.d.ts +49 -0
  444. package/dist/services/tbc-execution.js +284 -0
  445. package/dist/services/temporal-classifier.d.ts +56 -0
  446. package/dist/services/temporal-classifier.js +94 -0
  447. package/dist/services/temporal-endpoint-evidence.d.ts +12 -0
  448. package/dist/services/temporal-endpoint-evidence.js +313 -0
  449. package/dist/services/temporal-fingerprint.d.ts +6 -0
  450. package/dist/services/temporal-fingerprint.js +12 -0
  451. package/dist/services/temporal-format.d.ts +9 -0
  452. package/dist/services/temporal-format.js +21 -0
  453. package/dist/services/temporal-intent.d.ts +39 -0
  454. package/dist/services/temporal-intent.js +78 -0
  455. package/dist/services/temporal-query-constraints.d.ts +16 -0
  456. package/dist/services/temporal-query-constraints.js +107 -0
  457. package/dist/services/temporal-query-expansion.d.ts +14 -0
  458. package/dist/services/temporal-query-expansion.js +131 -0
  459. package/dist/services/temporal-rerank.d.ts +22 -0
  460. package/dist/services/temporal-rerank.js +47 -0
  461. package/dist/services/temporal-result-protection.d.ts +7 -0
  462. package/dist/services/temporal-result-protection.js +60 -0
  463. package/dist/services/temporal-state-write.d.ts +57 -0
  464. package/dist/services/temporal-state-write.js +45 -0
  465. package/dist/services/tiered-context.d.ts +87 -0
  466. package/dist/services/tiered-context.js +214 -0
  467. package/dist/services/tiered-loading.d.ts +88 -0
  468. package/dist/services/tiered-loading.js +263 -0
  469. package/dist/services/timeline-pack.d.ts +36 -0
  470. package/dist/services/timeline-pack.js +50 -0
  471. package/dist/services/timing.d.ts +13 -0
  472. package/dist/services/timing.js +72 -0
  473. package/dist/services/tll-augmentation.d.ts +20 -0
  474. package/dist/services/tll-augmentation.js +125 -0
  475. package/dist/services/tll-retrieval.d.ts +55 -0
  476. package/dist/services/tll-retrieval.js +101 -0
  477. package/dist/services/topic-abstraction.d.ts +36 -0
  478. package/dist/services/topic-abstraction.js +105 -0
  479. package/dist/services/trust-scoring.d.ts +43 -0
  480. package/dist/services/trust-scoring.js +89 -0
  481. package/dist/services/typed-belief-calculus.d.ts +126 -0
  482. package/dist/services/typed-belief-calculus.js +204 -0
  483. package/dist/services/upload-config.d.ts +34 -0
  484. package/dist/services/upload-config.js +23 -0
  485. package/dist/services/upload-decision.d.ts +65 -0
  486. package/dist/services/upload-decision.js +98 -0
  487. package/dist/services/upload-helpers.d.ts +107 -0
  488. package/dist/services/upload-helpers.js +148 -0
  489. package/dist/services/user-profile-builder.d.ts +22 -0
  490. package/dist/services/user-profile-builder.js +109 -0
  491. package/dist/services/voyage-embedding.d.ts +22 -0
  492. package/dist/services/voyage-embedding.js +77 -0
  493. package/dist/services/write-security.d.ts +31 -0
  494. package/dist/services/write-security.js +64 -0
  495. package/dist/storage/artifact-public-redaction.d.ts +34 -0
  496. package/dist/storage/artifact-public-redaction.js +83 -0
  497. package/dist/storage/cleanup.d.ts +103 -0
  498. package/dist/storage/cleanup.js +138 -0
  499. package/dist/storage/codec-factory.d.ts +17 -0
  500. package/dist/storage/codec-factory.js +33 -0
  501. package/dist/storage/codecs/aes-gcm-codec.d.ts +44 -0
  502. package/dist/storage/codecs/aes-gcm-codec.js +108 -0
  503. package/dist/storage/codecs/noop-codec.d.ts +16 -0
  504. package/dist/storage/codecs/noop-codec.js +23 -0
  505. package/dist/storage/factory.d.ts +44 -0
  506. package/dist/storage/factory.js +99 -0
  507. package/dist/storage/filecoin-cid-validation.d.ts +82 -0
  508. package/dist/storage/filecoin-cid-validation.js +122 -0
  509. package/dist/storage/filecoin-public-metadata.d.ts +73 -0
  510. package/dist/storage/filecoin-public-metadata.js +110 -0
  511. package/dist/storage/local-fs-store.d.ts +39 -0
  512. package/dist/storage/local-fs-store.js +145 -0
  513. package/dist/storage/pointer-uri-allowlist.d.ts +38 -0
  514. package/dist/storage/pointer-uri-allowlist.js +70 -0
  515. package/dist/storage/provider-metadata-projection.d.ts +27 -0
  516. package/dist/storage/provider-metadata-projection.js +68 -0
  517. package/dist/storage/providers/filecoin/backend.d.ts +42 -0
  518. package/dist/storage/providers/filecoin/backend.js +250 -0
  519. package/dist/storage/providers/filecoin/config.d.ts +70 -0
  520. package/dist/storage/providers/filecoin/config.js +275 -0
  521. package/dist/storage/providers/filecoin/errors.d.ts +45 -0
  522. package/dist/storage/providers/filecoin/errors.js +56 -0
  523. package/dist/storage/providers/filecoin/filecoin-pin-car.d.ts +78 -0
  524. package/dist/storage/providers/filecoin/filecoin-pin-car.js +155 -0
  525. package/dist/storage/providers/filecoin/filecoin-pin-client.d.ts +92 -0
  526. package/dist/storage/providers/filecoin/filecoin-pin-client.js +199 -0
  527. package/dist/storage/providers/filecoin/filecoin-pin-mapping.d.ts +58 -0
  528. package/dist/storage/providers/filecoin/filecoin-pin-mapping.js +103 -0
  529. package/dist/storage/providers/filecoin/filecoin-pin-timeout.d.ts +30 -0
  530. package/dist/storage/providers/filecoin/filecoin-pin-timeout.js +53 -0
  531. package/dist/storage/providers/filecoin/filecoin-pin-vendor.d.ts +111 -0
  532. package/dist/storage/providers/filecoin/filecoin-pin-vendor.js +87 -0
  533. package/dist/storage/providers/filecoin/hints.d.ts +71 -0
  534. package/dist/storage/providers/filecoin/hints.js +123 -0
  535. package/dist/storage/providers/filecoin/index.d.ts +51 -0
  536. package/dist/storage/providers/filecoin/index.js +103 -0
  537. package/dist/storage/providers/filecoin/ipfs-cid.d.ts +50 -0
  538. package/dist/storage/providers/filecoin/ipfs-cid.js +64 -0
  539. package/dist/storage/providers/filecoin/metadata.d.ts +72 -0
  540. package/dist/storage/providers/filecoin/metadata.js +137 -0
  541. package/dist/storage/providers/filecoin/piece-cid.d.ts +48 -0
  542. package/dist/storage/providers/filecoin/piece-cid.js +57 -0
  543. package/dist/storage/providers/filecoin/provider-client.d.ts +234 -0
  544. package/dist/storage/providers/filecoin/provider-client.js +27 -0
  545. package/dist/storage/providers/filecoin/readiness.d.ts +62 -0
  546. package/dist/storage/providers/filecoin/readiness.js +85 -0
  547. package/dist/storage/providers/filecoin/retriever.d.ts +82 -0
  548. package/dist/storage/providers/filecoin/retriever.js +63 -0
  549. package/dist/storage/providers/filecoin/skeleton-client.d.ts +36 -0
  550. package/dist/storage/providers/filecoin/skeleton-client.js +55 -0
  551. package/dist/storage/providers/filecoin/synapse-client.d.ts +169 -0
  552. package/dist/storage/providers/filecoin/synapse-client.js +343 -0
  553. package/dist/storage/providers/filecoin/synapse-construction.d.ts +26 -0
  554. package/dist/storage/providers/filecoin/synapse-construction.js +47 -0
  555. package/dist/storage/providers/filecoin/synapse-error-mapping.d.ts +23 -0
  556. package/dist/storage/providers/filecoin/synapse-error-mapping.js +49 -0
  557. package/dist/storage/providers/filecoin/synapse-readiness.d.ts +37 -0
  558. package/dist/storage/providers/filecoin/synapse-readiness.js +231 -0
  559. package/dist/storage/providers/filecoin/uri.d.ts +49 -0
  560. package/dist/storage/providers/filecoin/uri.js +84 -0
  561. package/dist/storage/providers/filecoin/verified-fetch-lifecycle.d.ts +77 -0
  562. package/dist/storage/providers/filecoin/verified-fetch-lifecycle.js +196 -0
  563. package/dist/storage/providers/filecoin/verified-fetch-retriever.d.ts +54 -0
  564. package/dist/storage/providers/filecoin/verified-fetch-retriever.js +81 -0
  565. package/dist/storage/providers/filecoin/verified-fetch-vendor.d.ts +71 -0
  566. package/dist/storage/providers/filecoin/verified-fetch-vendor.js +94 -0
  567. package/dist/storage/raw-content-codec.d.ts +89 -0
  568. package/dist/storage/raw-content-codec.js +47 -0
  569. package/dist/storage/raw-content-store-backend-adapter.d.ts +28 -0
  570. package/dist/storage/raw-content-store-backend-adapter.js +67 -0
  571. package/dist/storage/raw-content-store.d.ts +228 -0
  572. package/dist/storage/raw-content-store.js +27 -0
  573. package/dist/storage/s3-store.d.ts +42 -0
  574. package/dist/storage/s3-store.js +181 -0
  575. package/dist/storage/storage-backend-registry.d.ts +58 -0
  576. package/dist/storage/storage-backend-registry.js +56 -0
  577. package/dist/storage/storage-backend.d.ts +82 -0
  578. package/dist/storage/storage-backend.js +14 -0
  579. package/dist/storage/storage-capabilities.d.ts +56 -0
  580. package/dist/storage/storage-capabilities.js +170 -0
  581. package/dist/storage/store-registry.d.ts +67 -0
  582. package/dist/storage/store-registry.js +77 -0
  583. package/dist/vector-math.d.ts +15 -0
  584. package/dist/vector-math.js +31 -0
  585. package/dist/xml-escape.d.ts +5 -0
  586. package/dist/xml-escape.js +7 -0
  587. package/openapi.json +15395 -0
  588. package/openapi.yaml +10794 -0
  589. package/package.json +119 -0
@@ -0,0 +1,371 @@
1
+ /**
2
+ * Internal types shared between memory-service and its helpers.
3
+ */
4
+ import { type ExtractedEntity, type ExtractedRelation } from './extraction.js';
5
+ import { type MemoryNetwork } from './memory-network.js';
6
+ import type { AUDNAction } from './extraction.js';
7
+ import type { BeliefOperator } from './typed-belief-calculus.js';
8
+ import { type ClaimSlotInput } from '../db/claim-repository.js';
9
+ export interface FactInput {
10
+ fact: string;
11
+ headline: string;
12
+ importance: number;
13
+ type: 'preference' | 'project' | 'knowledge' | 'person' | 'plan';
14
+ keywords: string[];
15
+ entities: ExtractedEntity[];
16
+ relations: ExtractedRelation[];
17
+ network?: MemoryNetwork;
18
+ opinionConfidence?: number | null;
19
+ }
20
+ export interface ClaimTarget {
21
+ claimId: string;
22
+ versionId: string;
23
+ memoryId: string;
24
+ cmoId: string | null;
25
+ }
26
+ export type Outcome = 'stored' | 'updated' | 'deleted' | 'skipped' | 'preserved_contradiction';
27
+ export type IngestTraceAction = AUDNAction | 'SKIP';
28
+ export type IngestTraceReasonCode = 'verbatim-store' | 'write-security-sanitization' | 'write-security-trust' | 'entropy-gate' | 'direct-store-no-candidates' | 'workspace-direct-store' | 'fast-audn-noop' | 'quick-duplicate-noop' | 'deferred-audn-store' | 'llm-audn-add' | 'llm-audn-noop' | 'llm-audn-clarify' | 'llm-audn-update' | 'llm-audn-delete' | 'llm-audn-supersede' | 'llm-audn-bilateral-preserve' | 'invalid-target-fallback' | 'tbc-affirm' | 'tbc-update' | 'tbc-retract' | 'tbc-supersede' | 'tbc-promote' | 'tbc-demote' | 'tbc-evidence-for' | 'tbc-counter';
29
+ export interface IngestTraceCandidate {
30
+ id: string;
31
+ similarity: number;
32
+ contentPreview: string;
33
+ }
34
+ export interface IngestTraceDecision {
35
+ source: 'direct-store' | 'fast-audn' | 'quick-dedup' | 'deferred-audn' | 'llm-audn' | 'write-security' | 'entropy-gate' | 'verbatim' | 'tbc';
36
+ action: IngestTraceAction;
37
+ reasonCode: IngestTraceReasonCode;
38
+ targetMemoryId: string | null;
39
+ rawAction?: string;
40
+ candidateIds?: string[];
41
+ /**
42
+ * Phase 2 (TBC): chosen typed belief operator when the ingest routed
43
+ * through the Typed Belief Calculus resolver. Absent when the AUDN
44
+ * path executed (default).
45
+ */
46
+ beliefOperator?: BeliefOperator;
47
+ }
48
+ export interface IngestFactTrace {
49
+ factText: string;
50
+ headline: string;
51
+ factType: FactInput['type'] | 'verbatim';
52
+ importance: number;
53
+ logicalTimestamp?: string;
54
+ writeSecurity?: {
55
+ allowed: boolean;
56
+ blockedBy: string | null;
57
+ trustScore: number;
58
+ };
59
+ entropyGate?: {
60
+ score: number;
61
+ entityNovelty: number;
62
+ semanticNovelty: number;
63
+ accepted: boolean;
64
+ };
65
+ candidates?: IngestTraceCandidate[];
66
+ decision: IngestTraceDecision;
67
+ outcome: Outcome;
68
+ memoryId: string | null;
69
+ /**
70
+ * Phase 2 (TBC): chosen typed belief operator surfaced at the top level
71
+ * so observability consumers can filter traces without inspecting
72
+ * `decision.beliefOperator`. Absent when the AUDN path executed.
73
+ */
74
+ beliefOperator?: BeliefOperator;
75
+ }
76
+ export interface FactResult {
77
+ outcome: Outcome;
78
+ memoryId: string | null;
79
+ embedding?: number[];
80
+ trace?: IngestFactTrace;
81
+ }
82
+ export interface AtomicFactProjection {
83
+ factText: string;
84
+ embedding: number[];
85
+ factType: FactInput['type'];
86
+ importance: number;
87
+ keywords: string[];
88
+ metadata?: Record<string, unknown>;
89
+ }
90
+ export interface ForesightProjection {
91
+ content: string;
92
+ embedding: number[];
93
+ foresightType: 'plan' | 'goal' | 'scheduled' | 'expected_state';
94
+ validFrom?: Date;
95
+ validTo?: Date | null;
96
+ metadata?: Record<string, unknown>;
97
+ }
98
+ /** Mutable state accumulated across a batch for entropy gating. */
99
+ export interface EntropyContext {
100
+ seenEntities: Set<string>;
101
+ previousEmbedding: number[] | null;
102
+ }
103
+ /** Retrieval/search mode for search results. */
104
+ export type RetrievalMode = 'flat' | 'tiered' | 'abstract-aware';
105
+ /** Retrieval strategy controls which indexed representation powers search. */
106
+ export type SearchStrategy = 'memory' | 'fact-hybrid';
107
+ /**
108
+ * Shared context bundle passed through the AUDN decision pipeline.
109
+ * Reduces parameter count across tryOpinionIntercept, storeClarification,
110
+ * executeMutationDecision, and related helpers.
111
+ */
112
+ export interface AudnFactContext {
113
+ userId: string;
114
+ fact: FactInput;
115
+ embedding: number[];
116
+ sourceSite: string;
117
+ sourceUrl: string;
118
+ episodeId: string;
119
+ trustScore: number;
120
+ claimSlot?: ClaimSlotInput | null;
121
+ logicalTimestamp?: Date;
122
+ /** Phase 5 Step 10: workspace scope for workspace-originated facts. */
123
+ workspace?: import('../db/repository-types.js').WorkspaceContext;
124
+ }
125
+ export interface IngestResult {
126
+ episodeId: string;
127
+ factsExtracted: number;
128
+ memoriesStored: number;
129
+ memoriesUpdated: number;
130
+ memoriesDeleted: number;
131
+ memoriesSkipped: number;
132
+ /**
133
+ * IDs of memories newly created during this ingest (outcome === 'stored').
134
+ * Length matches `memoriesStored`.
135
+ */
136
+ storedMemoryIds: string[];
137
+ /**
138
+ * IDs of memories mutated during this ingest (outcome === 'updated').
139
+ * Length matches `memoriesUpdated`.
140
+ */
141
+ updatedMemoryIds: string[];
142
+ /**
143
+ * Union of stored + updated IDs in traversal order. Internal consumers
144
+ * (post-write processors, in-process callers) iterate over every
145
+ * touched memory without caring about the outcome split.
146
+ */
147
+ memoryIds: string[];
148
+ linksCreated: number;
149
+ compositesCreated: number;
150
+ ingestTraceId?: string;
151
+ }
152
+ export interface RetrievalResult {
153
+ memories: import('../db/repository-types.js').SearchResult[];
154
+ injectionText: string;
155
+ citations: string[];
156
+ retrievalMode: RetrievalMode;
157
+ tierAssignments?: import('./tiered-loading.js').TierAssignment[];
158
+ expandIds?: string[];
159
+ estimatedContextTokens?: number;
160
+ /**
161
+ * True when the requested token budget changed the package content
162
+ * relative to the unconstrained tiered package. See
163
+ * InjectionBuildResult.budgetConstrained for the precise contract.
164
+ * Required field — every code path that constructs a RetrievalResult
165
+ * must set it so the wire contract (`/memories/search` response
166
+ * `budget_constrained`) is always source-truthful.
167
+ */
168
+ budgetConstrained: boolean;
169
+ lessonCheck?: import('./lesson-service.js').LessonCheckResult;
170
+ consensusResult?: import('./consensus-validation.js').ConsensusResult;
171
+ packagingSignal?: import('./retrieval-format.js').PackagingSignal;
172
+ retrievalSummary?: import('./retrieval-trace.js').RetrievalTraceSummary;
173
+ packagingSummary?: import('./retrieval-trace.js').PackagingTraceSummary;
174
+ assemblySummary?: import('./retrieval-trace.js').AssemblyTraceSummary;
175
+ /**
176
+ * Phase 2 specialist answer (BEAM-0.85 Phase 2). Present when a specialist
177
+ * handled the query — its value is the literal answer to return to the user,
178
+ * bypassing the harness's LLM call. The `injection_text` field still
179
+ * contains the retrieved-memory context for observability; callers that
180
+ * understand this field should return `specialist_answer` directly without
181
+ * an additional LLM pass.
182
+ */
183
+ specialistAnswer?: string;
184
+ }
185
+ /** Options controlling retrieval packaging. */
186
+ export interface RetrievalOptions {
187
+ retrievalMode?: RetrievalMode;
188
+ tokenBudget?: number;
189
+ searchStrategy?: SearchStrategy;
190
+ /** Minimum normalized relevance required before injection packaging. */
191
+ relevanceThreshold?: number;
192
+ /** Skip the LLM repair loop for latency-critical paths. */
193
+ skipRepairLoop?: boolean;
194
+ /** Skip cross-encoder reranking for latency-critical paths. */
195
+ skipReranking?: boolean;
196
+ /**
197
+ * Active conversation ID for cross-channel injection. Currently used by the
198
+ * always-on ENTITY_CARD channel to read per-conversation cards before
199
+ * assembling the answer prompt. Absent → cards are not injected.
200
+ */
201
+ conversationId?: string;
202
+ }
203
+ /**
204
+ * Canonical runtime read-path scope contract.
205
+ *
206
+ * Used by search, expand, and (eventually) list/get/delete to dispatch
207
+ * between user-scoped and workspace-scoped operations. The workspace
208
+ * variant carries agentId for visibility enforcement and agentScope for
209
+ * filtering which agents' memories to include.
210
+ *
211
+ * Note: ingest uses WorkspaceContext directly (needs visibility field
212
+ * for writes). MemoryScope covers reads only until a unified
213
+ * write-context type is introduced (Phase 5).
214
+ */
215
+ export type MemoryScope = {
216
+ kind: 'user';
217
+ userId: string;
218
+ } | {
219
+ kind: 'workspace';
220
+ userId: string;
221
+ workspaceId: string;
222
+ agentId: string;
223
+ agentScope?: import('../db/repository-types.js').AgentScope;
224
+ };
225
+ /** Options bag for scope-dispatching search methods. */
226
+ export interface ScopedSearchOptions {
227
+ sourceSite?: string;
228
+ limit?: number;
229
+ asOf?: string;
230
+ referenceTime?: Date;
231
+ namespaceScope?: string;
232
+ retrievalOptions?: RetrievalOptions;
233
+ /** When true, skips the LLM repair loop (used by /search/fast). */
234
+ fast?: boolean;
235
+ /**
236
+ * Request-scoped effective config overlaying the startup singleton.
237
+ * When provided, replaces `deps.config` for the duration of the call.
238
+ * Populated by the route layer after merging a validated body-level
239
+ * `config_override`. Absent → startup config flows through unchanged.
240
+ */
241
+ effectiveConfig?: MemoryServiceDeps['config'];
242
+ }
243
+ /** Supported observability payload for retrieval responses. */
244
+ export interface RetrievalObservability {
245
+ retrieval?: import('./retrieval-trace.js').RetrievalTraceSummary;
246
+ packaging?: import('./retrieval-trace.js').PackagingTraceSummary;
247
+ assembly?: import('./retrieval-trace.js').AssemblyTraceSummary;
248
+ }
249
+ /**
250
+ * Internal dependency bundle for memory service sub-modules.
251
+ * Exposes the repositories and optional services needed by ingest, search, and CRUD.
252
+ */
253
+ export interface MemoryServiceDeps {
254
+ config: import('../app/runtime-container.js').CoreRuntimeConfig & IngestRuntimeConfig;
255
+ /** Domain-facing store interfaces (Phase 5). */
256
+ stores: import('../db/stores.js').CoreStores;
257
+ observationService: import('./observation-service.js').ObservationService | null;
258
+ /** Phase 4 TLL — per-entity event chains for EO/MSR/TR retrieval. */
259
+ tllRepository: import('../db/repository-tll.js').TllRepository | null;
260
+ /** First-mention events — chronological topic-introduction list. */
261
+ firstMentionService: import('./first-mention-service.js').FirstMentionService | null;
262
+ uriResolver: import('./atomicmem-uri.js').URIResolver;
263
+ /**
264
+ * Async Reflect work queue (BEAM-0.85 Phase 1). When present and
265
+ * reflectEnabled is true, ingest enqueues a reflection job after AUDN
266
+ * commits the memory. Enqueue failure NEVER blocks the ingest response.
267
+ */
268
+ reflectionJobs?: import('../db/reflection-jobs-repository.js').ReflectionJobsRepository;
269
+ /**
270
+ * Feature gate for the async Reflect step. Must be true AND reflectionJobs
271
+ * must be provided for enqueue to run. Default false (no enqueue).
272
+ */
273
+ reflectEnabled?: boolean;
274
+ /**
275
+ * Optional Phase-3 raw-content adapter. Wired when the deployment
276
+ * runs `rawStorageMode='managed_blob'` so reset-source / wipe paths
277
+ * can clean up blob bytes after the DB cascade. `null` for
278
+ * pointer-only deployments — cascades still run, blob lists come
279
+ * back empty.
280
+ */
281
+ rawContentStore?: import('../storage/raw-content-store.js').RawContentStore | null;
282
+ /**
283
+ * Phase 4a per-row provider dispatch registry. Composition-root code
284
+ * passes a multi-provider registry when
285
+ * `RAW_STORAGE_LEGACY_PROVIDERS` is set; otherwise the registry
286
+ * wraps the single active `rawContentStore`.
287
+ */
288
+ storeRegistry?: import('../storage/store-registry.js').RawContentStoreRegistry;
289
+ }
290
+ /** Explicit ingest/runtime config subset threaded through current ingest seams. */
291
+ export interface IngestRuntimeConfig {
292
+ audnCandidateThreshold: number;
293
+ auditLoggingEnabled: boolean;
294
+ chunkedExtractionEnabled: boolean;
295
+ chunkedExtractionFallbackEnabled: boolean;
296
+ chunkSizeTurns: number;
297
+ chunkOverlapTurns: number;
298
+ compositeGroupingEnabled: boolean;
299
+ compositeMinClusterSize: number;
300
+ consensusExtractionEnabled: boolean;
301
+ consensusExtractionRuns: number;
302
+ extractionCacheEnabled: boolean;
303
+ observationDateExtractionEnabled: boolean;
304
+ quotedEntityExtractionEnabled: boolean;
305
+ entityGraphEnabled: boolean;
306
+ entropyGateAlpha: number;
307
+ entropyGateEnabled: boolean;
308
+ entropyGateThreshold: number;
309
+ fastAudnDuplicateThreshold: number;
310
+ fastAudnEnabled: boolean;
311
+ ingestTraceEnabled: boolean;
312
+ lessonsEnabled: boolean;
313
+ llmModel: string;
314
+ trustScoringEnabled: boolean;
315
+ trustScoreMinThreshold: number;
316
+ /**
317
+ * Typed Belief Calculus gate (Phase 1 scaffold). When true, future TBC
318
+ * code paths (Phase 2+) take precedence over AUDN. Default false — has
319
+ * no runtime effect today. See services/typed-belief-calculus.ts.
320
+ */
321
+ tbcEnabled: boolean;
322
+ /**
323
+ * Hierarchical retrieval gate. When true, ingest generates session +
324
+ * conversation summaries (session-summary-generator.ts); search adds a 5th
325
+ * RRF arm over those summaries. Default false — no runtime effect today.
326
+ * See `docs/hierarchical-retrieval.md`.
327
+ */
328
+ hierarchicalRetrievalEnabled: boolean;
329
+ /**
330
+ * Topic abstraction layer (Sprint 3 EO experiment). When true, the post-
331
+ * write pipeline runs an extra LLM call per chunk to extract a 3-7 word
332
+ * conceptual topic, embeds it, and tags every memory from the chunk.
333
+ * Default false. See services/topic-abstraction.ts.
334
+ */
335
+ topicAbstractionEnabled: boolean;
336
+ /**
337
+ * Topic search arm. When true (and topic_embedding rows exist), search
338
+ * adds a topic-similarity RRF channel. Default false.
339
+ */
340
+ topicSearchEnabled: boolean;
341
+ /**
342
+ * Recap layer (cross-session synthesis). When true, post-write
343
+ * synthesizes Recaps from topic-abstraction clusters. Default false.
344
+ */
345
+ recapLayerEnabled: boolean;
346
+ /** Min cluster size for recap building. */
347
+ recapMinClusterSize: number;
348
+ /** Recap cluster pivot ('topic' | 'session'). Default 'topic'. */
349
+ recapClusterPivot: 'topic' | 'session';
350
+ /**
351
+ * User-profile channel (Sprint 3 v1.5 — H2). When true, post-write
352
+ * synthesizes a per-user profile document and search prepends it to
353
+ * the answer prompt under `## USER PROFILE`. Default false.
354
+ */
355
+ userProfileChannelEnabled: boolean;
356
+ /**
357
+ * Entity-Attribute Index (Sprint 4 — EAI). When true, post-write runs
358
+ * an LLM pass that extracts (entity, attribute, value, value_type)
359
+ * quadruples from the conversation and stores them in the
360
+ * entity_attributes table for specific-fact retrieval. Default false.
361
+ */
362
+ entityAttributesEnabled: boolean;
363
+ /**
364
+ * BEAM CR fix: AUDN bilateral preservation. When true, AUDN DELETE and
365
+ * SUPERSEDE outcomes are replaced with the bilateral path that keeps
366
+ * both memories and records the pair in `memory_contradictions`. Both
367
+ * memory rows get `contradiction_active=true` and bidirectional
368
+ * `contradicts_memory_id`. Default false.
369
+ */
370
+ contradictionPreservationEnabled: boolean;
371
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Internal types shared between memory-service and its helpers.
3
+ */
4
+ const TRUST_PASS = {
5
+ score: 1.0, domainTrust: 1.0, contentPenalty: 0, injectionPenalty: 0,
6
+ sanitization: { passed: true, findings: [], highestSeverity: 'none' },
7
+ };
8
+ export {};
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Core memory service facade -- delegates to memory-ingest, memory-search, and memory-crud.
3
+ * Preserves the public API (routes call service.search(), service.quickIngest(), etc.)
4
+ * while keeping each concern in a focused, testable module.
5
+ */
6
+ import { MemoryRepository } from '../db/memory-repository.js';
7
+ import { ClaimRepository } from '../db/claim-repository.js';
8
+ import { EntityRepository } from '../db/repository-entities.js';
9
+ import { LessonRepository } from '../db/repository-lessons.js';
10
+ import { ObservationService } from './observation-service.js';
11
+ import type { FirstMentionService } from './first-mention-service.js';
12
+ import type { FirstMentionEvent } from '../db/repository-first-mentions.js';
13
+ import type { CoreStores } from '../db/stores.js';
14
+ import { type TierAssignment } from './tiered-loading.js';
15
+ import { type ConsolidationResult, type ConsolidationExecutionResult } from './consolidation-service.js';
16
+ import { type DecayResult, type CapCheckResult } from './memory-lifecycle.js';
17
+ import { type ReconciliationResult } from './deferred-audn.js';
18
+ import type { AgentScope, AuditTrailEntry, MemoryMetadata, MutationSummary, WorkspaceContext } from '../db/repository-types.js';
19
+ import type { FactInput, IngestResult, MemoryScope, MemoryServiceDeps, Outcome, RetrievalOptions, RetrievalResult, ScopedSearchOptions } from './memory-service-types.js';
20
+ import * as crud from './memory-crud.js';
21
+ export type { FactInput, IngestResult, Outcome, RetrievalResult };
22
+ export type { TierAssignment };
23
+ export type { crud as CrudModule };
24
+ export type ClaimSlotBackfillResult = crud.ClaimSlotBackfillResult;
25
+ export declare class MemoryService {
26
+ private repo;
27
+ private claims;
28
+ private deps;
29
+ constructor(repo: MemoryRepository, claims: ClaimRepository, entities?: EntityRepository, lessons?: LessonRepository, observationService?: ObservationService, runtimeConfig?: MemoryServiceDeps['config'], stores?: CoreStores, tllRepository?: import('../db/repository-tll.js').TllRepository, firstMentionService?: FirstMentionService,
30
+ /**
31
+ * Phase-3 raw-content adapter. Optional so existing call sites and
32
+ * pointer-only deployments stay unchanged; supplied at composition
33
+ * time when `rawStorageMode='managed_blob'`.
34
+ */
35
+ rawContentStore?: import('../storage/raw-content-store.js').RawContentStore | null,
36
+ /**
37
+ * Phase 4a per-row dispatch registry. Optional for existing
38
+ * call sites; composition-root code passes it when
39
+ * `RAW_STORAGE_LEGACY_PROVIDERS` is set. Falls back to
40
+ * `singleStoreRegistry(rawContentStore)` inside `resetBySource`
41
+ * when absent.
42
+ */
43
+ storeRegistry?: import('../storage/store-registry.js').RawContentStoreRegistry);
44
+ /**
45
+ * Build a request-scoped deps bundle that swaps in the effective config
46
+ * for the duration of a single call. Returns the shared `this.deps`
47
+ * unchanged when no override is supplied (zero-allocation fast path).
48
+ * All per-fact/per-pipeline helpers already read `deps.config`, so
49
+ * replacing it at the entry point propagates through the service layer
50
+ * without mutating shared state.
51
+ */
52
+ private depsFor;
53
+ ingest(userId: string, conversationText: string, sourceSite: string, sourceUrl?: string, sessionTimestamp?: Date, effectiveConfig?: MemoryServiceDeps['config']): Promise<IngestResult>;
54
+ quickIngest(userId: string, conversationText: string, sourceSite: string, sourceUrl?: string, sessionTimestamp?: Date, effectiveConfig?: MemoryServiceDeps['config']): Promise<IngestResult>;
55
+ /**
56
+ * Store content as a single memory without fact extraction.
57
+ * Used for user-created contexts (text/file uploads) where
58
+ * the content should remain as one canonical memory record.
59
+ */
60
+ storeVerbatim(userId: string, content: string, sourceSite: string, sourceUrl?: string, metadata?: MemoryMetadata, effectiveConfig?: MemoryServiceDeps['config']): Promise<IngestResult>;
61
+ workspaceIngest(userId: string, conversationText: string, sourceSite: string, sourceUrl: string | undefined, workspace: WorkspaceContext, sessionTimestamp?: Date, effectiveConfig?: MemoryServiceDeps['config']): Promise<IngestResult>;
62
+ /** Scope-dispatching search: routes to user or workspace search based on scope.kind. */
63
+ scopedSearch(scope: MemoryScope, query: string, options?: ScopedSearchOptions): Promise<RetrievalResult>;
64
+ /** Scope-dispatching expand with agent visibility enforcement for workspace operations. */
65
+ scopedExpand(scope: MemoryScope, memoryIds: string[]): Promise<{
66
+ id: string;
67
+ content: string;
68
+ }[]>;
69
+ /** Scope-dispatching get with agent visibility enforcement for workspace operations. */
70
+ scopedGet(scope: MemoryScope, id: string): Promise<import("../index.js").MemoryRow | null>;
71
+ /** Scope-dispatching delete with agent visibility enforcement. Returns false if not found/not visible. */
72
+ scopedDelete(scope: MemoryScope, id: string): Promise<boolean>;
73
+ /** Scope-dispatching list with agent visibility enforcement for workspace operations. */
74
+ scopedList(scope: MemoryScope, limit?: number, offset?: number, sourceSite?: string, episodeId?: string): Promise<import("../index.js").MemoryRow[]>;
75
+ /** @deprecated Use scopedSearch instead. */
76
+ search(userId: string, query: string, sourceSite?: string, limit?: number, asOf?: string, referenceTime?: Date, namespaceScope?: string, retrievalOptions?: RetrievalOptions): Promise<RetrievalResult>;
77
+ /** @deprecated Use scopedSearch instead. */
78
+ fastSearch(userId: string, query: string, sourceSite?: string, limit?: number, namespaceScope?: string): Promise<RetrievalResult>;
79
+ /** @deprecated Use scopedSearch instead. */
80
+ workspaceSearch(userId: string, query: string, workspace: WorkspaceContext, options?: {
81
+ agentScope?: AgentScope;
82
+ limit?: number;
83
+ referenceTime?: Date;
84
+ retrievalOptions?: RetrievalOptions;
85
+ }): Promise<RetrievalResult>;
86
+ list(userId: string, limit?: number, offset?: number, sourceSite?: string, episodeId?: string): Promise<import("../index.js").MemoryRow[]>;
87
+ get(id: string, userId: string): Promise<import("../index.js").MemoryRow | null>;
88
+ expand(userId: string, memoryIds: string[]): Promise<{
89
+ id: string;
90
+ content: string;
91
+ }[]>;
92
+ delete(id: string, userId: string): Promise<void>;
93
+ resetBySource(userId: string, sourceSite: string): Promise<{
94
+ deletedMemories: number;
95
+ deletedEpisodes: number;
96
+ deletedDocuments: number;
97
+ }>;
98
+ getStats(userId: string): Promise<{
99
+ count: number;
100
+ avgImportance: number;
101
+ sourceDistribution: Record<string, number>;
102
+ }>;
103
+ consolidate(userId: string): Promise<ConsolidationResult>;
104
+ executeConsolidation(userId: string): Promise<ConsolidationExecutionResult>;
105
+ reconcileDeferred(userId: string): Promise<ReconciliationResult>;
106
+ reconcileDeferredAll(): Promise<ReconciliationResult>;
107
+ getDeferredStatus(userId: string): Promise<{
108
+ pending: number;
109
+ enabled: boolean;
110
+ }>;
111
+ evaluateDecay(userId: string, referenceTime?: Date): Promise<DecayResult>;
112
+ archiveDecayed(userId: string, memoryIds: string[]): Promise<number>;
113
+ checkCap(userId: string): Promise<CapCheckResult>;
114
+ getAuditTrail(userId: string, memoryId: string): Promise<AuditTrailEntry[]>;
115
+ getMutationSummary(userId: string): Promise<MutationSummary>;
116
+ getRecentMutations(userId: string, limit?: number): Promise<import("../db/repository-types.js").ClaimVersionRow[]>;
117
+ backfillClaimSlots(userId: string): Promise<crud.ClaimSlotBackfillResult>;
118
+ getReversalChain(userId: string, versionId: string): Promise<import("../db/repository-types.js").ClaimVersionRow[]>;
119
+ getLessons(userId: string): Promise<import("../db/repository-lessons.js").LessonRow[]>;
120
+ getLessonStats(userId: string): Promise<{
121
+ totalActive: number;
122
+ byType: Record<string, number>;
123
+ }>;
124
+ reportLesson(userId: string, pattern: string, sourceMemoryIds: string[], severity?: 'low' | 'medium' | 'high' | 'critical'): Promise<string>;
125
+ deactivateLesson(userId: string, lessonId: string): Promise<void>;
126
+ /**
127
+ * Extract first-mention events from a conversation transcript and persist
128
+ * them to `first_mention_events`. Caller supplies the turn-id-to-memory-id
129
+ * mapping (the ingest pipeline does not retain turn structure, so the
130
+ * caller knows the mapping). Returns the parsed events. Best-effort: if
131
+ * the underlying LLM call fails or the service is not wired, returns `[]`
132
+ * without throwing.
133
+ */
134
+ extractFirstMentions(userId: string, conversationText: string, sourceSite: string, memoryIdsByTurnId: Map<number, string>): Promise<FirstMentionEvent[]>;
135
+ /**
136
+ * Retrieve per-entity chronological event chains from the Temporal Linkage
137
+ * List. Used by `GET /v1/memories/event-chains` and by EO-shaped read paths
138
+ * that need content alongside chain position. Returns one entry per entity
139
+ * with an ordered list of events (memoryId, content, observationDate,
140
+ * positionInChain). Entities without events are dropped from the result.
141
+ */
142
+ getEventChains(userId: string, entityIds: string[]): Promise<Array<{
143
+ entityId: string;
144
+ events: Array<{
145
+ memoryId: string;
146
+ content: string;
147
+ observationDate: Date;
148
+ positionInChain: number;
149
+ predecessorMemoryId: string | null;
150
+ }>;
151
+ }>>;
152
+ }