@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,350 @@
1
+ /**
2
+ * @file Zod response schemas for every HTTP route.
3
+ *
4
+ * Mirrors the wire shapes emitted by `src/routes/memory-response-formatters.ts`
5
+ * and inline response literals in `src/routes/memories.ts` + `src/routes/agents.ts`.
6
+ * Feeds the OpenAPI registry so `npm run check:openapi` catches drift
7
+ * between emitted responses and the declared spec.
8
+ *
9
+ * Field naming follows the wire contract (snake_case). DB-row schemas
10
+ * (`MemoryRowSchema`, `LessonRowSchema`, `ClaimVersionRowSchema`,
11
+ * `MemoryConflictRowSchema`) declare the full column set that Express
12
+ * serializes — `Date` columns become ISO strings on the wire.
13
+ */
14
+ import { z } from './zod-setup.js';
15
+ import { IsoDateString, IsoDateStringOrNull } from './response-scalars.js';
16
+ // Document-route response schemas live in a focused module to keep
17
+ // this file under the workspace 400 LOC rule. Re-exported below so
18
+ // `import * as R from './responses'` callers stay unchanged.
19
+ export { RawDocumentResponseSchema, RegisterDocumentResponseSchema, ListDocumentsResponseSchema, DocumentListRootResponseSchema, DeleteDocumentResponseSchema, UploadRawDocumentResponseSchema, IndexDocumentResponseSchema, DocumentLimitsResponseSchema, DocumentFailureMarkerResponseSchema, } from './document-response-schemas.js';
20
+ import { ConsensusResponseSchema, LessonCheckSchema, ObservabilityResponseSchema, SearchMemoryItemSchema, TierAssignmentSchema, } from './search-response-parts.js';
21
+ // ---------------------------------------------------------------------------
22
+ // Shared sub-schemas
23
+ // ---------------------------------------------------------------------------
24
+ const ScopeResponseSchema = z.union([
25
+ z.object({ kind: z.literal('user'), user_id: z.string() }),
26
+ z.object({
27
+ kind: z.literal('workspace'),
28
+ user_id: z.string(),
29
+ workspace_id: z.string(),
30
+ agent_id: z.string(),
31
+ agent_scope: z.unknown().optional(),
32
+ }),
33
+ ]).openapi({ description: 'Echoed scope: user-scoped or workspace-scoped.' });
34
+ const MemoryRowSchema = z.object({
35
+ id: z.string(),
36
+ user_id: z.string(),
37
+ content: z.string(),
38
+ embedding: z.array(z.number()),
39
+ memory_type: z.string(),
40
+ importance: z.number(),
41
+ source_site: z.string(),
42
+ source_url: z.string(),
43
+ episode_id: z.string().nullable().optional(),
44
+ status: z.enum(['active', 'needs_clarification']),
45
+ metadata: z.record(z.string(), z.unknown()),
46
+ keywords: z.string(),
47
+ namespace: z.string().nullable().optional(),
48
+ summary: z.string(),
49
+ overview: z.string(),
50
+ trust_score: z.number(),
51
+ observed_at: IsoDateString,
52
+ created_at: IsoDateString,
53
+ last_accessed_at: IsoDateString,
54
+ access_count: z.number(),
55
+ expired_at: IsoDateStringOrNull.optional(),
56
+ deleted_at: IsoDateStringOrNull.optional(),
57
+ network: z.unknown(),
58
+ opinion_confidence: z.number().nullable().optional(),
59
+ observation_subject: z.string().nullable().optional(),
60
+ workspace_id: z.string().nullable().optional(),
61
+ agent_id: z.string().nullable().optional(),
62
+ visibility: z.enum(['agent_only', 'restricted', 'workspace']).nullable().optional(),
63
+ }).passthrough().openapi({ description: 'Full memory row as emitted by core.' });
64
+ const ClusterCandidateSchema = z.object({
65
+ member_ids: z.array(z.string()),
66
+ member_contents: z.array(z.string()),
67
+ avg_affinity: z.number(),
68
+ member_count: z.number(),
69
+ });
70
+ const DecayCandidateSchema = z.object({
71
+ id: z.string(),
72
+ content: z.string(),
73
+ retention_score: z.number(),
74
+ importance: z.number(),
75
+ days_since_access: z.number(),
76
+ access_count: z.number(),
77
+ });
78
+ const LessonRowSchema = z.object({
79
+ id: z.string(),
80
+ user_id: z.string(),
81
+ lesson_type: z.enum([
82
+ 'injection_blocked',
83
+ 'false_memory',
84
+ 'contradiction_pattern',
85
+ 'user_reported',
86
+ 'consensus_violation',
87
+ 'trust_violation',
88
+ ]),
89
+ pattern: z.string(),
90
+ embedding: z.array(z.number()),
91
+ source_memory_ids: z.array(z.string()),
92
+ source_query: z.string().nullable(),
93
+ severity: z.enum(['low', 'medium', 'high', 'critical']),
94
+ active: z.boolean(),
95
+ metadata: z.record(z.string(), z.unknown()),
96
+ created_at: IsoDateString,
97
+ }).passthrough().openapi({ description: 'Lesson row from the repository.' });
98
+ const ClaimVersionRowSchema = z.object({
99
+ id: z.string(),
100
+ claim_id: z.string(),
101
+ user_id: z.string(),
102
+ memory_id: z.string().nullable().optional(),
103
+ content: z.string(),
104
+ embedding: z.array(z.number()),
105
+ importance: z.number(),
106
+ source_site: z.string(),
107
+ source_url: z.string(),
108
+ episode_id: z.string().nullable().optional(),
109
+ valid_from: IsoDateString,
110
+ valid_to: IsoDateStringOrNull.optional(),
111
+ superseded_by_version_id: z.string().nullable().optional(),
112
+ mutation_type: z.enum(['add', 'update', 'supersede', 'delete', 'clarify']).nullable().optional(),
113
+ mutation_reason: z.string().nullable().optional(),
114
+ previous_version_id: z.string().nullable().optional(),
115
+ actor_model: z.string().nullable().optional(),
116
+ contradiction_confidence: z.number().nullable().optional(),
117
+ created_at: IsoDateString,
118
+ }).passthrough().openapi({ description: 'Claim-version row (one snapshot in a memory\'s history).' });
119
+ const MemoryConflictRowSchema = z.object({
120
+ id: z.string(),
121
+ user_id: z.string(),
122
+ new_memory_id: z.string().nullable(),
123
+ existing_memory_id: z.string().nullable(),
124
+ new_agent_id: z.string().nullable(),
125
+ existing_agent_id: z.string().nullable(),
126
+ new_trust_level: z.number().nullable(),
127
+ existing_trust_level: z.number().nullable(),
128
+ contradiction_confidence: z.number(),
129
+ clarification_note: z.string().nullable(),
130
+ status: z.enum(['open', 'resolved_new', 'resolved_existing', 'resolved_both', 'auto_resolved']),
131
+ resolution_policy: z.string().nullable(),
132
+ resolved_at: IsoDateStringOrNull,
133
+ created_at: IsoDateString,
134
+ auto_resolve_after: IsoDateStringOrNull,
135
+ }).passthrough().openapi({ description: 'Memory conflict row from the repository.' });
136
+ const HealthConfigResponseSchema = z.object({
137
+ retrieval_profile: z.string(),
138
+ embedding_provider: z.string(),
139
+ embedding_model: z.string(),
140
+ voyage_document_model: z.string(),
141
+ voyage_query_model: z.string(),
142
+ llm_provider: z.string(),
143
+ llm_model: z.string(),
144
+ clarification_conflict_threshold: z.number(),
145
+ max_search_results: z.number(),
146
+ hybrid_search_enabled: z.boolean(),
147
+ iterative_retrieval_enabled: z.boolean(),
148
+ entity_graph_enabled: z.boolean(),
149
+ cross_encoder_enabled: z.boolean(),
150
+ agentic_retrieval_enabled: z.boolean(),
151
+ repair_loop_enabled: z.boolean(),
152
+ }).openapi({ description: 'Runtime config snapshot returned by /health + /config.' });
153
+ // ---------------------------------------------------------------------------
154
+ // Per-route response schemas
155
+ // ---------------------------------------------------------------------------
156
+ export const IngestResponseSchema = z.object({
157
+ episode_id: z.string(),
158
+ facts_extracted: z.number(),
159
+ memories_stored: z.number(),
160
+ memories_updated: z.number(),
161
+ memories_deleted: z.number(),
162
+ memories_skipped: z.number(),
163
+ stored_memory_ids: z.array(z.string()),
164
+ updated_memory_ids: z.array(z.string()),
165
+ links_created: z.number(),
166
+ composites_created: z.number(),
167
+ ingest_trace_id: z.string().optional(),
168
+ }).openapi({ description: 'Ingest result: extraction counts + stored/updated memory IDs.' });
169
+ export const SearchResponseSchema = z.object({
170
+ count: z.number(),
171
+ retrieval_mode: z.enum(['flat', 'tiered', 'abstract-aware']),
172
+ scope: ScopeResponseSchema,
173
+ memories: z.array(SearchMemoryItemSchema),
174
+ injection_text: z.string().optional(),
175
+ citations: z.array(z.string()).optional(),
176
+ budget_constrained: z.boolean(),
177
+ tier_assignments: z.array(TierAssignmentSchema).optional(),
178
+ expand_ids: z.array(z.string()).optional(),
179
+ estimated_context_tokens: z.number().optional(),
180
+ lesson_check: LessonCheckSchema.optional(),
181
+ consensus: ConsensusResponseSchema.optional(),
182
+ observability: ObservabilityResponseSchema.optional(),
183
+ /**
184
+ * Phase 2 specialist answer. Present when a Phase 2 specialist handled the
185
+ * query. Callers that understand this field should return it directly to the
186
+ * user without an additional LLM pass — it is the literal answer produced
187
+ * by CR/TR/MSR/IE-KU specialist logic.
188
+ */
189
+ specialist_answer: z.string().optional(),
190
+ }).openapi({ description: 'Search results with injection_text, citations, budget_constrained, and optional traces.' });
191
+ export const ExpandResponseSchema = z.object({
192
+ memories: z.array(MemoryRowSchema),
193
+ }).openapi({ description: 'Expanded memory rows for the requested IDs.' });
194
+ export const VerifyResponseSchema = z.object({
195
+ verified_answer: z.string(),
196
+ changed: z.boolean(),
197
+ }).openapi({
198
+ description: 'Verifier-pass result. `verified_answer` is the candidate answer unchanged if grounded, or rewritten to drop unsupported specifics. `changed` is true when the answer was rewritten.',
199
+ });
200
+ export const ListResponseSchema = z.object({
201
+ memories: z.array(MemoryRowSchema),
202
+ count: z.number(),
203
+ }).openapi({ description: 'Paginated memory list.' });
204
+ export const GetMemoryResponseSchema = MemoryRowSchema;
205
+ export const StatsResponseSchema = z.object({
206
+ count: z.number(),
207
+ avg_importance: z.number(),
208
+ source_distribution: z.record(z.string(), z.number()),
209
+ }).openapi({ description: 'Aggregate memory stats for a user.' });
210
+ export const HealthResponseSchema = z.object({
211
+ status: z.literal('ok'),
212
+ config: HealthConfigResponseSchema,
213
+ }).openapi({ description: 'Health + runtime config snapshot.' });
214
+ export const ConfigUpdateResponseSchema = z.object({
215
+ applied: z.array(z.string()),
216
+ config: HealthConfigResponseSchema,
217
+ note: z.string(),
218
+ }).openapi({ description: 'Applied config updates + full post-update snapshot.' });
219
+ const ConsolidateScanResponseSchema = z.object({
220
+ memories_scanned: z.number(),
221
+ clusters_found: z.number(),
222
+ memories_in_clusters: z.number(),
223
+ clusters: z.array(ClusterCandidateSchema),
224
+ }).openapi({ description: 'Consolidation dry-run (execute=false).' });
225
+ const ConsolidateExecuteResponseSchema = z.object({
226
+ clusters_consolidated: z.number(),
227
+ memories_archived: z.number(),
228
+ memories_created: z.number(),
229
+ consolidated_memory_ids: z.array(z.string()),
230
+ }).openapi({ description: 'Consolidation execution result (execute=true).' });
231
+ export const ConsolidateResponseSchema = z.union([
232
+ ConsolidateScanResponseSchema,
233
+ ConsolidateExecuteResponseSchema,
234
+ ]).openapi({ description: 'Consolidation result — scan or execute.' });
235
+ export const FirstMentionsExtractResponseSchema = z.object({
236
+ events: z.array(z.object({
237
+ topic: z.string(),
238
+ turn_id: z.number(),
239
+ memory_id: z.string(),
240
+ anchor_date: z.string().nullable(),
241
+ position_in_conversation: z.number(),
242
+ })),
243
+ }).openapi({ description: 'Extracted first-mention events for a conversation.' });
244
+ export const EventChainsResponseSchema = z.object({
245
+ chains: z.array(z.object({
246
+ entity_id: z.string(),
247
+ events: z.array(z.object({
248
+ memory_id: z.string(),
249
+ content: z.string(),
250
+ observation_date: z.string(),
251
+ position_in_chain: z.number(),
252
+ predecessor_memory_id: z.string().nullable(),
253
+ })),
254
+ })),
255
+ }).openapi({ description: 'Per-entity chronological event chains from the Temporal Linkage List.' });
256
+ export const DecayResponseSchema = z.object({
257
+ memories_evaluated: z.number(),
258
+ candidates_for_archival: z.array(DecayCandidateSchema),
259
+ retention_threshold: z.number(),
260
+ avg_retention_score: z.number(),
261
+ archived: z.number(),
262
+ }).openapi({ description: 'Decay evaluation (+ archive count when not dry-run).' });
263
+ export const CapResponseSchema = z.object({
264
+ active_memories: z.number(),
265
+ max_memories: z.number(),
266
+ status: z.enum(['ok', 'warn', 'exceeded']),
267
+ usage_ratio: z.number(),
268
+ recommendation: z.enum(['none', 'consolidate', 'decay', 'consolidate-and-decay']),
269
+ }).openapi({ description: 'Memory cap status and recommendation.' });
270
+ export const LessonsListResponseSchema = z.object({
271
+ lessons: z.array(LessonRowSchema),
272
+ count: z.number(),
273
+ }).openapi({ description: 'Active lessons for a user.' });
274
+ export const LessonStatsResponseSchema = z.object({
275
+ total_active: z.number(),
276
+ by_type: z.record(z.string(), z.number()),
277
+ }).openapi({ description: 'Aggregate lesson counts by type.' });
278
+ export const LessonReportResponseSchema = z.object({
279
+ lesson_id: z.string(),
280
+ }).openapi({ description: 'ID of the newly-reported lesson.' });
281
+ export const ReconciliationResponseSchema = z.object({
282
+ processed: z.number(),
283
+ resolved: z.number(),
284
+ noops: z.number(),
285
+ updates: z.number(),
286
+ supersedes: z.number(),
287
+ deletes: z.number(),
288
+ adds: z.number(),
289
+ errors: z.number(),
290
+ duration_ms: z.number(),
291
+ }).openapi({ description: 'Deferred-AUDN reconciliation counters.' });
292
+ export const ReconcileStatusResponseSchema = z.object({
293
+ pending: z.number(),
294
+ enabled: z.boolean(),
295
+ }).passthrough().openapi({ description: 'Current deferred-AUDN queue state.' });
296
+ export const ResetSourceResponseSchema = z.object({
297
+ success: z.literal(true),
298
+ deleted_memories: z.number(),
299
+ deleted_episodes: z.number(),
300
+ deleted_documents: z.number(),
301
+ }).openapi({ description: 'Reset-by-source deletion counts.' });
302
+ export const SuccessResponseSchema = z.object({ success: z.literal(true) })
303
+ .openapi({ description: 'Successful no-payload operation.' });
304
+ export const MutationSummaryResponseSchema = z.object({
305
+ total_versions: z.number(),
306
+ active_versions: z.number(),
307
+ superseded_versions: z.number(),
308
+ total_claims: z.number(),
309
+ by_mutation_type: z.record(z.string(), z.number()),
310
+ }).openapi({ description: 'Aggregate mutation statistics for a user.' });
311
+ export const AuditRecentResponseSchema = z.object({
312
+ mutations: z.array(ClaimVersionRowSchema),
313
+ count: z.number(),
314
+ }).openapi({ description: 'Newest-first mutation rows for a user.' });
315
+ const AuditTrailEntryResponseSchema = z.object({
316
+ version_id: z.string(),
317
+ claim_id: z.string(),
318
+ content: z.string(),
319
+ mutation_type: z.enum(['add', 'update', 'supersede', 'delete', 'clarify']).nullable(),
320
+ mutation_reason: z.string().nullable(),
321
+ actor_model: z.string().nullable(),
322
+ contradiction_confidence: z.number().nullable(),
323
+ previous_version_id: z.string().nullable(),
324
+ superseded_by_version_id: z.string().nullable(),
325
+ valid_from: IsoDateString,
326
+ valid_to: IsoDateStringOrNull,
327
+ memory_id: z.string().nullable(),
328
+ }).openapi({ description: 'Single entry in a memory\'s audit trail.' });
329
+ export const AuditTrailResponseSchema = z.object({
330
+ memory_id: z.string(),
331
+ trail: z.array(AuditTrailEntryResponseSchema),
332
+ version_count: z.number(),
333
+ }).openapi({ description: 'Full version trail for a single memory.' });
334
+ export const TrustResponseSchema = z.object({
335
+ agent_id: z.string(),
336
+ trust_level: z.number(),
337
+ }).openapi({ description: '(userId, agentId) trust record.' });
338
+ export const ConflictsListResponseSchema = z.object({
339
+ conflicts: z.array(MemoryConflictRowSchema),
340
+ count: z.number(),
341
+ }).openapi({ description: 'Open agent-trust conflicts for a user.' });
342
+ export const ResolveConflictResponseSchema = z.object({
343
+ id: z.string(),
344
+ status: z.enum(['resolved_new', 'resolved_existing', 'resolved_both']),
345
+ }).openapi({ description: 'Resolved-conflict echo.' });
346
+ export const AutoResolveConflictsResponseSchema = z.object({
347
+ resolved: z.number(),
348
+ }).openapi({ description: 'Count of conflicts auto-resolved in the batch pass.' });
349
+ // Document-route response schemas live in `document-response-schemas`
350
+ // (re-exported at the top of this file).
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Shared Zod schema fragments for memory search responses.
3
+ *
4
+ * Keeping these pieces outside `responses.ts` prevents the route-wide schema
5
+ * catalog from accumulating every search-specific observability detail.
6
+ */
7
+ import { z } from './zod-setup.js';
8
+ export declare const SearchMemoryItemSchema: z.ZodObject<{
9
+ id: z.ZodString;
10
+ content: z.ZodString;
11
+ similarity: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
12
+ score: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
13
+ semantic_similarity: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
14
+ ranking_score: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
15
+ relevance: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
16
+ importance: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
17
+ source_site: z.ZodOptional<z.ZodString>;
18
+ created_at: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>>;
19
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
20
+ }, z.core.$strip>;
21
+ export declare const TierAssignmentSchema: z.ZodObject<{
22
+ memory_id: z.ZodString;
23
+ tier: z.ZodString;
24
+ estimated_tokens: z.ZodNumber;
25
+ }, z.core.$strip>;
26
+ export declare const LessonCheckSchema: z.ZodObject<{
27
+ safe: z.ZodBoolean;
28
+ warnings: z.ZodArray<z.ZodUnknown>;
29
+ highest_severity: z.ZodString;
30
+ matched_count: z.ZodNumber;
31
+ }, z.core.$strip>;
32
+ export declare const ConsensusResponseSchema: z.ZodObject<{
33
+ original_count: z.ZodNumber;
34
+ filtered_count: z.ZodNumber;
35
+ removed_count: z.ZodNumber;
36
+ removed_memory_ids: z.ZodArray<z.ZodString>;
37
+ }, z.core.$strip>;
38
+ export declare const ObservabilityResponseSchema: z.ZodObject<{
39
+ retrieval: z.ZodOptional<z.ZodObject<{
40
+ candidate_ids: z.ZodArray<z.ZodString>;
41
+ candidate_count: z.ZodNumber;
42
+ query_text: z.ZodString;
43
+ skip_repair: z.ZodBoolean;
44
+ relevance_threshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
45
+ relevance_filter_source: z.ZodOptional<z.ZodString>;
46
+ relevance_filter_reason: z.ZodOptional<z.ZodString>;
47
+ filtered_candidate_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
48
+ filter_decisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
49
+ id: z.ZodString;
50
+ source_site: z.ZodString;
51
+ source_kind: z.ZodEnum<{
52
+ local: "local";
53
+ integration: "integration";
54
+ }>;
55
+ namespace: z.ZodNullable<z.ZodString>;
56
+ semantic_similarity: z.ZodNumber;
57
+ ranking_score: z.ZodNumber;
58
+ relevance: z.ZodNumber;
59
+ threshold: z.ZodNullable<z.ZodNumber>;
60
+ decision: z.ZodEnum<{
61
+ filtered: "filtered";
62
+ kept: "kept";
63
+ }>;
64
+ reason: z.ZodString;
65
+ }, z.core.$strip>>>;
66
+ trace_id: z.ZodOptional<z.ZodString>;
67
+ stage_count: z.ZodOptional<z.ZodNumber>;
68
+ stage_names: z.ZodOptional<z.ZodArray<z.ZodString>>;
69
+ }, z.core.$strip>>;
70
+ packaging: z.ZodOptional<z.ZodObject<{
71
+ package_type: z.ZodEnum<{
72
+ tiered: "tiered";
73
+ "subject-pack": "subject-pack";
74
+ "timeline-pack": "timeline-pack";
75
+ }>;
76
+ included_ids: z.ZodArray<z.ZodString>;
77
+ dropped_ids: z.ZodArray<z.ZodString>;
78
+ evidence_roles: z.ZodRecord<z.ZodString, z.ZodEnum<{
79
+ primary: "primary";
80
+ supporting: "supporting";
81
+ historical: "historical";
82
+ contextual: "contextual";
83
+ }>>;
84
+ episode_count: z.ZodNumber;
85
+ date_count: z.ZodNumber;
86
+ has_current_marker: z.ZodBoolean;
87
+ has_conflict_block: z.ZodBoolean;
88
+ token_cost: z.ZodNumber;
89
+ }, z.core.$strip>>;
90
+ assembly: z.ZodOptional<z.ZodObject<{
91
+ final_ids: z.ZodArray<z.ZodString>;
92
+ final_token_cost: z.ZodNumber;
93
+ token_budget: z.ZodNullable<z.ZodNumber>;
94
+ primary_evidence_position: z.ZodNullable<z.ZodNumber>;
95
+ blocks: z.ZodArray<z.ZodString>;
96
+ }, z.core.$strip>>;
97
+ }, z.core.$strip>;
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Shared Zod schema fragments for memory search responses.
3
+ *
4
+ * Keeping these pieces outside `responses.ts` prevents the route-wide schema
5
+ * catalog from accumulating every search-specific observability detail.
6
+ */
7
+ import { z } from './zod-setup.js';
8
+ import { IsoDateString, NumberOrNaN } from './response-scalars.js';
9
+ export const SearchMemoryItemSchema = z.object({
10
+ id: z.string(),
11
+ content: z.string(),
12
+ similarity: NumberOrNaN.optional(),
13
+ score: NumberOrNaN.optional(),
14
+ semantic_similarity: NumberOrNaN.optional(),
15
+ ranking_score: NumberOrNaN.optional().openapi({
16
+ description: 'Composite ranking/debug score. It is not normalized and may be outside the [0,1] relevance range.',
17
+ }),
18
+ relevance: NumberOrNaN.optional().openapi({
19
+ description: 'Normalized relevance value used for threshold filtering; clamped to the [0,1] range.',
20
+ }),
21
+ importance: NumberOrNaN.optional(),
22
+ source_site: z.string().optional(),
23
+ created_at: IsoDateString.optional(),
24
+ metadata: z.record(z.string(), z.unknown()).optional().openapi({
25
+ description: 'Memory metadata persisted on the row, including caller-supplied ' +
26
+ 'verbatim metadata (set via /v1/memories/ingest/quick with ' +
27
+ 'skip_extraction=true) and core-generated metadata (e.g. cmo_id, ' +
28
+ 'memberMemoryIds, headline). Mirrors the shape /v1/memories/list ' +
29
+ 'and /v1/memories/:id return.',
30
+ }),
31
+ }).openapi({ description: 'Projected memory record in a search result.' });
32
+ export const TierAssignmentSchema = z.object({
33
+ memory_id: z.string(),
34
+ tier: z.string(),
35
+ estimated_tokens: z.number(),
36
+ });
37
+ export const LessonCheckSchema = z.object({
38
+ safe: z.boolean(),
39
+ warnings: z.array(z.unknown()),
40
+ highest_severity: z.string(),
41
+ matched_count: z.number(),
42
+ });
43
+ export const ConsensusResponseSchema = z.object({
44
+ original_count: z.number(),
45
+ filtered_count: z.number(),
46
+ removed_count: z.number(),
47
+ removed_memory_ids: z.array(z.string()),
48
+ });
49
+ const RetrievalTraceSchema = z.object({
50
+ candidate_ids: z.array(z.string()),
51
+ candidate_count: z.number(),
52
+ query_text: z.string(),
53
+ skip_repair: z.boolean(),
54
+ relevance_threshold: z.number().nullable().optional(),
55
+ relevance_filter_source: z.string().optional(),
56
+ relevance_filter_reason: z.string().optional(),
57
+ filtered_candidate_ids: z.array(z.string()).optional(),
58
+ filter_decisions: z.array(z.object({
59
+ id: z.string(),
60
+ source_site: z.string(),
61
+ source_kind: z.enum(['integration', 'local']),
62
+ namespace: z.string().nullable(),
63
+ semantic_similarity: z.number(),
64
+ ranking_score: z.number().openapi({
65
+ description: 'Composite ranking/debug score. It is not normalized and may be outside the [0,1] relevance range.',
66
+ }),
67
+ relevance: z.number().openapi({
68
+ description: 'Normalized relevance value used for threshold filtering; clamped to the [0,1] range.',
69
+ }),
70
+ threshold: z.number().nullable(),
71
+ decision: z.enum(['kept', 'filtered']),
72
+ reason: z.string(),
73
+ })).optional().openapi({
74
+ description: 'Per-candidate threshold decisions emitted only when retrieval tracing is enabled. ' +
75
+ 'Entries include per-result source_site, source_kind, and namespace for debugging disclosure scope.',
76
+ }),
77
+ trace_id: z.string().optional(),
78
+ stage_count: z.number().optional(),
79
+ stage_names: z.array(z.string()).optional(),
80
+ });
81
+ const PackagingTraceSchema = z.object({
82
+ package_type: z.enum(['subject-pack', 'timeline-pack', 'tiered']),
83
+ included_ids: z.array(z.string()),
84
+ dropped_ids: z.array(z.string()),
85
+ evidence_roles: z.record(z.string(), z.enum(['primary', 'supporting', 'historical', 'contextual'])),
86
+ episode_count: z.number(),
87
+ date_count: z.number(),
88
+ has_current_marker: z.boolean(),
89
+ has_conflict_block: z.boolean(),
90
+ token_cost: z.number(),
91
+ });
92
+ const AssemblyTraceSchema = z.object({
93
+ final_ids: z.array(z.string()),
94
+ final_token_cost: z.number(),
95
+ token_budget: z.number().nullable(),
96
+ primary_evidence_position: z.number().nullable(),
97
+ blocks: z.array(z.string()),
98
+ });
99
+ export const ObservabilityResponseSchema = z.object({
100
+ retrieval: RetrievalTraceSchema.optional(),
101
+ packaging: PackagingTraceSchema.optional(),
102
+ assembly: AssemblyTraceSchema.optional(),
103
+ }).openapi({ description: 'Retrieval pipeline trace summaries.' });