@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.
- package/CHANGELOG.md +27 -0
- package/LICENSE +201 -0
- package/README.md +314 -0
- package/dist/app/bind-ephemeral.d.ts +18 -0
- package/dist/app/bind-ephemeral.js +22 -0
- package/dist/app/cors-headers.d.ts +12 -0
- package/dist/app/cors-headers.js +18 -0
- package/dist/app/create-app.d.ts +25 -0
- package/dist/app/create-app.js +156 -0
- package/dist/app/runtime-config-route-snapshot.d.ts +27 -0
- package/dist/app/runtime-config-route-snapshot.js +27 -0
- package/dist/app/runtime-container.d.ts +281 -0
- package/dist/app/runtime-container.js +297 -0
- package/dist/app/startup-checks.d.ts +28 -0
- package/dist/app/startup-checks.js +45 -0
- package/dist/bin.d.ts +17 -0
- package/dist/bin.js +128 -0
- package/dist/config.d.ts +680 -0
- package/dist/config.js +808 -0
- package/dist/db/agent-trust-repository.d.ts +49 -0
- package/dist/db/agent-trust-repository.js +66 -0
- package/dist/db/belief-edges-repository.d.ts +68 -0
- package/dist/db/belief-edges-repository.js +124 -0
- package/dist/db/claim-repository.d.ts +6 -0
- package/dist/db/claim-repository.js +4 -0
- package/dist/db/contradictions-repository.d.ts +56 -0
- package/dist/db/contradictions-repository.js +88 -0
- package/dist/db/document-chunk-repository.d.ts +48 -0
- package/dist/db/document-chunk-repository.js +145 -0
- package/dist/db/document-chunk-types.d.ts +35 -0
- package/dist/db/document-chunk-types.js +9 -0
- package/dist/db/document-list-cursor.d.ts +45 -0
- package/dist/db/document-list-cursor.js +111 -0
- package/dist/db/document-list-repository.d.ts +103 -0
- package/dist/db/document-list-repository.js +204 -0
- package/dist/db/entity-cards-repository.d.ts +37 -0
- package/dist/db/entity-cards-repository.js +46 -0
- package/dist/db/entity-values-repository.d.ts +26 -0
- package/dist/db/entity-values-repository.js +57 -0
- package/dist/db/link-repository.d.ts +30 -0
- package/dist/db/link-repository.js +54 -0
- package/dist/db/memory-repository.d.ts +163 -0
- package/dist/db/memory-repository.js +232 -0
- package/dist/db/migrate.d.ts +6 -0
- package/dist/db/migrate.js +36 -0
- package/dist/db/mmr.d.ts +14 -0
- package/dist/db/mmr.js +57 -0
- package/dist/db/passport-feed-repository.d.ts +91 -0
- package/dist/db/passport-feed-repository.js +198 -0
- package/dist/db/pg-episode-store.d.ts +19 -0
- package/dist/db/pg-episode-store.js +17 -0
- package/dist/db/pg-link-store.d.ts +17 -0
- package/dist/db/pg-link-store.js +14 -0
- package/dist/db/pg-memory-store.d.ts +68 -0
- package/dist/db/pg-memory-store.js +53 -0
- package/dist/db/pg-recap-store.d.ts +13 -0
- package/dist/db/pg-recap-store.js +19 -0
- package/dist/db/pg-representation-store.d.ts +17 -0
- package/dist/db/pg-representation-store.js +17 -0
- package/dist/db/pg-search-store.d.ts +29 -0
- package/dist/db/pg-search-store.js +47 -0
- package/dist/db/pool.d.ts +5 -0
- package/dist/db/pool.js +21 -0
- package/dist/db/ppr.d.ts +56 -0
- package/dist/db/ppr.js +178 -0
- package/dist/db/query-helpers.d.ts +44 -0
- package/dist/db/query-helpers.js +60 -0
- package/dist/db/raw-doc-artifact-sync.d.ts +128 -0
- package/dist/db/raw-doc-artifact-sync.js +259 -0
- package/dist/db/raw-document-blob-repository.d.ts +148 -0
- package/dist/db/raw-document-blob-repository.js +300 -0
- package/dist/db/raw-document-repository.d.ts +104 -0
- package/dist/db/raw-document-repository.js +410 -0
- package/dist/db/raw-document-status-repository.d.ts +122 -0
- package/dist/db/raw-document-status-repository.js +183 -0
- package/dist/db/raw-document-types.d.ts +236 -0
- package/dist/db/raw-document-types.js +10 -0
- package/dist/db/raw-storage-reconciliation-repository.d.ts +110 -0
- package/dist/db/raw-storage-reconciliation-repository.js +200 -0
- package/dist/db/reflection-jobs-repository.d.ts +33 -0
- package/dist/db/reflection-jobs-repository.js +48 -0
- package/dist/db/reflections-repository.d.ts +41 -0
- package/dist/db/reflections-repository.js +83 -0
- package/dist/db/repository-claims.d.ts +141 -0
- package/dist/db/repository-claims.js +376 -0
- package/dist/db/repository-deferred-audn.d.ts +33 -0
- package/dist/db/repository-deferred-audn.js +69 -0
- package/dist/db/repository-document-delete.d.ts +53 -0
- package/dist/db/repository-document-delete.js +156 -0
- package/dist/db/repository-entities.d.ts +114 -0
- package/dist/db/repository-entities.js +317 -0
- package/dist/db/repository-entity-attributes.d.ts +41 -0
- package/dist/db/repository-entity-attributes.js +65 -0
- package/dist/db/repository-entity-graph.d.ts +32 -0
- package/dist/db/repository-entity-graph.js +87 -0
- package/dist/db/repository-first-mentions.d.ts +41 -0
- package/dist/db/repository-first-mentions.js +79 -0
- package/dist/db/repository-lessons.d.ts +51 -0
- package/dist/db/repository-lessons.js +90 -0
- package/dist/db/repository-links.d.ts +26 -0
- package/dist/db/repository-links.js +105 -0
- package/dist/db/repository-observation.d.ts +26 -0
- package/dist/db/repository-observation.js +51 -0
- package/dist/db/repository-read.d.ts +56 -0
- package/dist/db/repository-read.js +271 -0
- package/dist/db/repository-recaps.d.ts +59 -0
- package/dist/db/repository-recaps.js +158 -0
- package/dist/db/repository-representations.d.ts +48 -0
- package/dist/db/repository-representations.js +162 -0
- package/dist/db/repository-temporal-state.d.ts +35 -0
- package/dist/db/repository-temporal-state.js +46 -0
- package/dist/db/repository-tll.d.ts +88 -0
- package/dist/db/repository-tll.js +179 -0
- package/dist/db/repository-types.d.ts +313 -0
- package/dist/db/repository-types.js +142 -0
- package/dist/db/repository-user-profiles.d.ts +17 -0
- package/dist/db/repository-user-profiles.js +28 -0
- package/dist/db/repository-vector-search.d.ts +33 -0
- package/dist/db/repository-vector-search.js +373 -0
- package/dist/db/repository-wipe.d.ts +34 -0
- package/dist/db/repository-wipe.js +94 -0
- package/dist/db/repository-write.d.ts +61 -0
- package/dist/db/repository-write.js +279 -0
- package/dist/db/schema.sql +1355 -0
- package/dist/db/storage-artifact-delete-tx.d.ts +56 -0
- package/dist/db/storage-artifact-delete-tx.js +123 -0
- package/dist/db/storage-artifact-providers.d.ts +21 -0
- package/dist/db/storage-artifact-providers.js +21 -0
- package/dist/db/storage-artifact-recovery-repository.d.ts +66 -0
- package/dist/db/storage-artifact-recovery-repository.js +58 -0
- package/dist/db/storage-artifact-repository.d.ts +329 -0
- package/dist/db/storage-artifact-repository.js +497 -0
- package/dist/db/stores.d.ts +220 -0
- package/dist/db/stores.js +12 -0
- package/dist/db/summaries-repository.d.ts +74 -0
- package/dist/db/summaries-repository.js +125 -0
- package/dist/eval/beam-10m-loader.d.ts +98 -0
- package/dist/eval/beam-10m-loader.js +128 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +17 -0
- package/dist/middleware/require-bearer.d.ts +27 -0
- package/dist/middleware/require-bearer.js +60 -0
- package/dist/middleware/validate-response.d.ts +33 -0
- package/dist/middleware/validate-response.js +55 -0
- package/dist/middleware/validate.d.ts +43 -0
- package/dist/middleware/validate.js +85 -0
- package/dist/routes/agents.d.ts +13 -0
- package/dist/routes/agents.js +89 -0
- package/dist/routes/document-response-formatters.d.ts +98 -0
- package/dist/routes/document-response-formatters.js +243 -0
- package/dist/routes/documents.d.ts +74 -0
- package/dist/routes/documents.js +425 -0
- package/dist/routes/memories.d.ts +29 -0
- package/dist/routes/memories.js +725 -0
- package/dist/routes/memory-response-formatters.d.ts +179 -0
- package/dist/routes/memory-response-formatters.js +210 -0
- package/dist/routes/public-raw-storage-metadata.d.ts +54 -0
- package/dist/routes/public-raw-storage-metadata.js +56 -0
- package/dist/routes/reflect.d.ts +14 -0
- package/dist/routes/reflect.js +19 -0
- package/dist/routes/response-schema-map.d.ts +14 -0
- package/dist/routes/response-schema-map.js +69 -0
- package/dist/routes/route-errors.d.ts +12 -0
- package/dist/routes/route-errors.js +30 -0
- package/dist/routes/storage-error-handlers.d.ts +34 -0
- package/dist/routes/storage-error-handlers.js +185 -0
- package/dist/routes/storage-response-formatters.d.ts +44 -0
- package/dist/routes/storage-response-formatters.js +155 -0
- package/dist/routes/storage.d.ts +38 -0
- package/dist/routes/storage.js +369 -0
- package/dist/routes/upstream-provider-errors.d.ts +19 -0
- package/dist/routes/upstream-provider-errors.js +95 -0
- package/dist/schemas/agents.d.ts +79 -0
- package/dist/schemas/agents.js +126 -0
- package/dist/schemas/common.d.ts +110 -0
- package/dist/schemas/common.js +190 -0
- package/dist/schemas/document-list-responses.d.ts +102 -0
- package/dist/schemas/document-list-responses.js +87 -0
- package/dist/schemas/document-list-schemas.d.ts +123 -0
- package/dist/schemas/document-list-schemas.js +174 -0
- package/dist/schemas/document-response-schemas.d.ts +610 -0
- package/dist/schemas/document-response-schemas.js +264 -0
- package/dist/schemas/document-status-envelope.d.ts +48 -0
- package/dist/schemas/document-status-envelope.js +54 -0
- package/dist/schemas/documents.d.ts +292 -0
- package/dist/schemas/documents.js +449 -0
- package/dist/schemas/errors.d.ts +75 -0
- package/dist/schemas/errors.js +105 -0
- package/dist/schemas/memories.d.ts +378 -0
- package/dist/schemas/memories.js +542 -0
- package/dist/schemas/openapi.d.ts +24 -0
- package/dist/schemas/openapi.js +1038 -0
- package/dist/schemas/response-scalars.d.ts +10 -0
- package/dist/schemas/response-scalars.js +10 -0
- package/dist/schemas/responses.d.ts +536 -0
- package/dist/schemas/responses.js +350 -0
- package/dist/schemas/search-response-parts.d.ts +97 -0
- package/dist/schemas/search-response-parts.js +103 -0
- package/dist/schemas/storage-schemas.d.ts +175 -0
- package/dist/schemas/storage-schemas.js +277 -0
- package/dist/schemas/zod-setup.d.ts +15 -0
- package/dist/schemas/zod-setup.js +17 -0
- package/dist/server.d.ts +13 -0
- package/dist/server.js +57 -0
- package/dist/services/abstract-query-policy.d.ts +13 -0
- package/dist/services/abstract-query-policy.js +50 -0
- package/dist/services/affinity-clustering.d.ts +66 -0
- package/dist/services/affinity-clustering.js +125 -0
- package/dist/services/agentic-retrieval.d.ts +38 -0
- package/dist/services/agentic-retrieval.js +126 -0
- package/dist/services/answer-format.d.ts +56 -0
- package/dist/services/answer-format.js +118 -0
- package/dist/services/answer-rescue.d.ts +72 -0
- package/dist/services/answer-rescue.js +177 -0
- package/dist/services/answer-verifier.d.ts +24 -0
- package/dist/services/answer-verifier.js +73 -0
- package/dist/services/api-retry.d.ts +6 -0
- package/dist/services/api-retry.js +41 -0
- package/dist/services/assistant-turn-filter.d.ts +20 -0
- package/dist/services/assistant-turn-filter.js +69 -0
- package/dist/services/atomicmem-uri.d.ts +33 -0
- package/dist/services/atomicmem-uri.js +86 -0
- package/dist/services/audit-events.d.ts +54 -0
- package/dist/services/audit-events.js +56 -0
- package/dist/services/chunked-extraction.d.ts +21 -0
- package/dist/services/chunked-extraction.js +108 -0
- package/dist/services/claim-slotting.d.ts +27 -0
- package/dist/services/claim-slotting.js +38 -0
- package/dist/services/claude-code-llm.d.ts +19 -0
- package/dist/services/claude-code-llm.js +96 -0
- package/dist/services/composite-dedup.d.ts +50 -0
- package/dist/services/composite-dedup.js +153 -0
- package/dist/services/composite-grouping.d.ts +41 -0
- package/dist/services/composite-grouping.js +111 -0
- package/dist/services/composite-staleness.d.ts +20 -0
- package/dist/services/composite-staleness.js +50 -0
- package/dist/services/conciseness-preference.d.ts +14 -0
- package/dist/services/conciseness-preference.js +42 -0
- package/dist/services/conflict-policy.d.ts +20 -0
- package/dist/services/conflict-policy.js +335 -0
- package/dist/services/consensus-extraction.d.ts +39 -0
- package/dist/services/consensus-extraction.js +147 -0
- package/dist/services/consensus-validation.d.ts +52 -0
- package/dist/services/consensus-validation.js +206 -0
- package/dist/services/consolidation-service.d.ts +60 -0
- package/dist/services/consolidation-service.js +171 -0
- package/dist/services/content-detection.d.ts +18 -0
- package/dist/services/content-detection.js +25 -0
- package/dist/services/contradiction-surfacing.d.ts +62 -0
- package/dist/services/contradiction-surfacing.js +111 -0
- package/dist/services/cost-telemetry.d.ts +39 -0
- package/dist/services/cost-telemetry.js +58 -0
- package/dist/services/counter-evidence.d.ts +34 -0
- package/dist/services/counter-evidence.js +92 -0
- package/dist/services/current-state-ranking.d.ts +21 -0
- package/dist/services/current-state-ranking.js +152 -0
- package/dist/services/deferred-audn.d.ts +47 -0
- package/dist/services/deferred-audn.js +162 -0
- package/dist/services/document-chunker.d.ts +50 -0
- package/dist/services/document-chunker.js +153 -0
- package/dist/services/document-failure-markers.d.ts +91 -0
- package/dist/services/document-failure-markers.js +305 -0
- package/dist/services/document-indexer.d.ts +122 -0
- package/dist/services/document-indexer.js +405 -0
- package/dist/services/document-service.d.ts +245 -0
- package/dist/services/document-service.js +325 -0
- package/dist/services/document-upload-artifact-sync.d.ts +80 -0
- package/dist/services/document-upload-artifact-sync.js +162 -0
- package/dist/services/document-upload-beta2-recovery.d.ts +72 -0
- package/dist/services/document-upload-beta2-recovery.js +94 -0
- package/dist/services/document-upload.d.ts +44 -0
- package/dist/services/document-upload.js +353 -0
- package/dist/services/embedding.d.ts +57 -0
- package/dist/services/embedding.js +416 -0
- package/dist/services/entity-attribute-extractor.d.ts +34 -0
- package/dist/services/entity-attribute-extractor.js +117 -0
- package/dist/services/entity-card-synthesis.d.ts +54 -0
- package/dist/services/entity-card-synthesis.js +92 -0
- package/dist/services/entity-dedup.d.ts +9 -0
- package/dist/services/entity-dedup.js +14 -0
- package/dist/services/entity-graph.d.ts +17 -0
- package/dist/services/entity-graph.js +135 -0
- package/dist/services/entropy-gate.d.ts +52 -0
- package/dist/services/entropy-gate.js +56 -0
- package/dist/services/episode-fetcher.d.ts +47 -0
- package/dist/services/episode-fetcher.js +128 -0
- package/dist/services/event-anchor-facts.d.ts +8 -0
- package/dist/services/event-anchor-facts.js +205 -0
- package/dist/services/event-chain-detector.d.ts +52 -0
- package/dist/services/event-chain-detector.js +83 -0
- package/dist/services/extraction-cache.d.ts +9 -0
- package/dist/services/extraction-cache.js +54 -0
- package/dist/services/extraction-enrichment.d.ts +9 -0
- package/dist/services/extraction-enrichment.js +223 -0
- package/dist/services/extraction.d.ts +69 -0
- package/dist/services/extraction.js +596 -0
- package/dist/services/fact-normalization.d.ts +12 -0
- package/dist/services/fact-normalization.js +248 -0
- package/dist/services/filecoin-observability.d.ts +127 -0
- package/dist/services/filecoin-observability.js +200 -0
- package/dist/services/first-mention-service.d.ts +76 -0
- package/dist/services/first-mention-service.js +186 -0
- package/dist/services/hierarchical-retrieval.d.ts +49 -0
- package/dist/services/hierarchical-retrieval.js +50 -0
- package/dist/services/ingest-fact-pipeline.d.ts +32 -0
- package/dist/services/ingest-fact-pipeline.js +212 -0
- package/dist/services/ingest-post-write.d.ts +50 -0
- package/dist/services/ingest-post-write.js +117 -0
- package/dist/services/ingest-trace.d.ts +32 -0
- package/dist/services/ingest-trace.js +60 -0
- package/dist/services/input-sanitizer.d.ts +41 -0
- package/dist/services/input-sanitizer.js +135 -0
- package/dist/services/iterative-retrieval.d.ts +26 -0
- package/dist/services/iterative-retrieval.js +139 -0
- package/dist/services/keyword-expansion.d.ts +10 -0
- package/dist/services/keyword-expansion.js +26 -0
- package/dist/services/lesson-service.d.ts +68 -0
- package/dist/services/lesson-service.js +178 -0
- package/dist/services/literal-extractor.d.ts +16 -0
- package/dist/services/literal-extractor.js +74 -0
- package/dist/services/literal-list-protection.d.ts +17 -0
- package/dist/services/literal-list-protection.js +134 -0
- package/dist/services/literal-query-expansion.d.ts +20 -0
- package/dist/services/literal-query-expansion.js +181 -0
- package/dist/services/llm.d.ts +61 -0
- package/dist/services/llm.js +265 -0
- package/dist/services/memcell-projection.d.ts +17 -0
- package/dist/services/memcell-projection.js +41 -0
- package/dist/services/memory-audn.d.ts +43 -0
- package/dist/services/memory-audn.js +419 -0
- package/dist/services/memory-crud.d.ts +93 -0
- package/dist/services/memory-crud.js +255 -0
- package/dist/services/memory-ingest.d.ts +21 -0
- package/dist/services/memory-ingest.js +249 -0
- package/dist/services/memory-lifecycle.d.ts +75 -0
- package/dist/services/memory-lifecycle.js +108 -0
- package/dist/services/memory-lineage.d.ts +181 -0
- package/dist/services/memory-lineage.js +232 -0
- package/dist/services/memory-network.d.ts +40 -0
- package/dist/services/memory-network.js +75 -0
- package/dist/services/memory-search-types.d.ts +25 -0
- package/dist/services/memory-search-types.js +10 -0
- package/dist/services/memory-search.d.ts +48 -0
- package/dist/services/memory-search.js +505 -0
- package/dist/services/memory-service-types.d.ts +371 -0
- package/dist/services/memory-service-types.js +8 -0
- package/dist/services/memory-service.d.ts +152 -0
- package/dist/services/memory-service.js +225 -0
- package/dist/services/memory-storage.d.ts +33 -0
- package/dist/services/memory-storage.js +328 -0
- package/dist/services/msr-aggregator.d.ts +38 -0
- package/dist/services/msr-aggregator.js +97 -0
- package/dist/services/msr-detector.d.ts +35 -0
- package/dist/services/msr-detector.js +65 -0
- package/dist/services/namespace-retrieval.d.ts +60 -0
- package/dist/services/namespace-retrieval.js +180 -0
- package/dist/services/observation-date-extraction.d.ts +12 -0
- package/dist/services/observation-date-extraction.js +50 -0
- package/dist/services/observation-service.d.ts +27 -0
- package/dist/services/observation-service.js +84 -0
- package/dist/services/packaging-observability.d.ts +29 -0
- package/dist/services/packaging-observability.js +146 -0
- package/dist/services/query-expansion.d.ts +83 -0
- package/dist/services/query-expansion.js +242 -0
- package/dist/services/query-keyword-matches.d.ts +6 -0
- package/dist/services/query-keyword-matches.js +56 -0
- package/dist/services/query-term-visibility.d.ts +28 -0
- package/dist/services/query-term-visibility.js +100 -0
- package/dist/services/quick-extraction.d.ts +25 -0
- package/dist/services/quick-extraction.js +431 -0
- package/dist/services/quoted-entity-extraction.d.ts +10 -0
- package/dist/services/quoted-entity-extraction.js +161 -0
- package/dist/services/raw-storage-reconciler-backoff.d.ts +8 -0
- package/dist/services/raw-storage-reconciler-backoff.js +14 -0
- package/dist/services/raw-storage-reconciler-scheduler.d.ts +29 -0
- package/dist/services/raw-storage-reconciler-scheduler.js +43 -0
- package/dist/services/raw-storage-reconciler.d.ts +71 -0
- package/dist/services/raw-storage-reconciler.js +278 -0
- package/dist/services/recap-builder.d.ts +49 -0
- package/dist/services/recap-builder.js +157 -0
- package/dist/services/reflect-jobs.d.ts +23 -0
- package/dist/services/reflect-jobs.js +36 -0
- package/dist/services/reflect-prompts.d.ts +71 -0
- package/dist/services/reflect-prompts.js +99 -0
- package/dist/services/reflect-retrieval.d.ts +33 -0
- package/dist/services/reflect-retrieval.js +30 -0
- package/dist/services/reflect.d.ts +49 -0
- package/dist/services/reflect.js +84 -0
- package/dist/services/relative-temporal.d.ts +14 -0
- package/dist/services/relative-temporal.js +163 -0
- package/dist/services/relevance-policy.d.ts +37 -0
- package/dist/services/relevance-policy.js +109 -0
- package/dist/services/rerank.d.ts +32 -0
- package/dist/services/rerank.js +118 -0
- package/dist/services/reranker.d.ts +20 -0
- package/dist/services/reranker.js +99 -0
- package/dist/services/retrieval-channel-rules.d.ts +34 -0
- package/dist/services/retrieval-channel-rules.js +41 -0
- package/dist/services/retrieval-config-overlay.d.ts +36 -0
- package/dist/services/retrieval-config-overlay.js +44 -0
- package/dist/services/retrieval-format.d.ts +119 -0
- package/dist/services/retrieval-format.js +559 -0
- package/dist/services/retrieval-policy.d.ts +69 -0
- package/dist/services/retrieval-policy.js +275 -0
- package/dist/services/retrieval-profiles.d.ts +37 -0
- package/dist/services/retrieval-profiles.js +90 -0
- package/dist/services/retrieval-side-effects.d.ts +14 -0
- package/dist/services/retrieval-side-effects.js +26 -0
- package/dist/services/retrieval-trace.d.ts +108 -0
- package/dist/services/retrieval-trace.js +147 -0
- package/dist/services/rrf-fusion.d.ts +18 -0
- package/dist/services/rrf-fusion.js +34 -0
- package/dist/services/search-pipeline.d.ts +71 -0
- package/dist/services/search-pipeline.js +788 -0
- package/dist/services/session-date.d.ts +20 -0
- package/dist/services/session-date.js +61 -0
- package/dist/services/session-packaging.d.ts +53 -0
- package/dist/services/session-packaging.js +182 -0
- package/dist/services/session-summary-generator.d.ts +53 -0
- package/dist/services/session-summary-generator.js +134 -0
- package/dist/services/specialists/cr-specialist.d.ts +52 -0
- package/dist/services/specialists/cr-specialist.js +121 -0
- package/dist/services/specialists/dispatch.d.ts +53 -0
- package/dist/services/specialists/dispatch.js +102 -0
- package/dist/services/specialists/ie-ku-specialist.d.ts +37 -0
- package/dist/services/specialists/ie-ku-specialist.js +63 -0
- package/dist/services/specialists/msr-specialist.d.ts +61 -0
- package/dist/services/specialists/msr-specialist.js +162 -0
- package/dist/services/specialists/tr-specialist.d.ts +37 -0
- package/dist/services/specialists/tr-specialist.js +146 -0
- package/dist/services/storage-key-prefix.d.ts +42 -0
- package/dist/services/storage-key-prefix.js +45 -0
- package/dist/services/storage-put-recovery.d.ts +71 -0
- package/dist/services/storage-put-recovery.js +269 -0
- package/dist/services/storage-service-errors.d.ts +124 -0
- package/dist/services/storage-service-errors.js +189 -0
- package/dist/services/storage-service.d.ts +176 -0
- package/dist/services/storage-service.js +423 -0
- package/dist/services/subject-aware-ranking.d.ts +19 -0
- package/dist/services/subject-aware-ranking.js +161 -0
- package/dist/services/supplemental-extraction.d.ts +7 -0
- package/dist/services/supplemental-extraction.js +116 -0
- package/dist/services/tbc-execution.d.ts +49 -0
- package/dist/services/tbc-execution.js +284 -0
- package/dist/services/temporal-classifier.d.ts +56 -0
- package/dist/services/temporal-classifier.js +94 -0
- package/dist/services/temporal-endpoint-evidence.d.ts +12 -0
- package/dist/services/temporal-endpoint-evidence.js +313 -0
- package/dist/services/temporal-fingerprint.d.ts +6 -0
- package/dist/services/temporal-fingerprint.js +12 -0
- package/dist/services/temporal-format.d.ts +9 -0
- package/dist/services/temporal-format.js +21 -0
- package/dist/services/temporal-intent.d.ts +39 -0
- package/dist/services/temporal-intent.js +78 -0
- package/dist/services/temporal-query-constraints.d.ts +16 -0
- package/dist/services/temporal-query-constraints.js +107 -0
- package/dist/services/temporal-query-expansion.d.ts +14 -0
- package/dist/services/temporal-query-expansion.js +131 -0
- package/dist/services/temporal-rerank.d.ts +22 -0
- package/dist/services/temporal-rerank.js +47 -0
- package/dist/services/temporal-result-protection.d.ts +7 -0
- package/dist/services/temporal-result-protection.js +60 -0
- package/dist/services/temporal-state-write.d.ts +57 -0
- package/dist/services/temporal-state-write.js +45 -0
- package/dist/services/tiered-context.d.ts +87 -0
- package/dist/services/tiered-context.js +214 -0
- package/dist/services/tiered-loading.d.ts +88 -0
- package/dist/services/tiered-loading.js +263 -0
- package/dist/services/timeline-pack.d.ts +36 -0
- package/dist/services/timeline-pack.js +50 -0
- package/dist/services/timing.d.ts +13 -0
- package/dist/services/timing.js +72 -0
- package/dist/services/tll-augmentation.d.ts +20 -0
- package/dist/services/tll-augmentation.js +125 -0
- package/dist/services/tll-retrieval.d.ts +55 -0
- package/dist/services/tll-retrieval.js +101 -0
- package/dist/services/topic-abstraction.d.ts +36 -0
- package/dist/services/topic-abstraction.js +105 -0
- package/dist/services/trust-scoring.d.ts +43 -0
- package/dist/services/trust-scoring.js +89 -0
- package/dist/services/typed-belief-calculus.d.ts +126 -0
- package/dist/services/typed-belief-calculus.js +204 -0
- package/dist/services/upload-config.d.ts +34 -0
- package/dist/services/upload-config.js +23 -0
- package/dist/services/upload-decision.d.ts +65 -0
- package/dist/services/upload-decision.js +98 -0
- package/dist/services/upload-helpers.d.ts +107 -0
- package/dist/services/upload-helpers.js +148 -0
- package/dist/services/user-profile-builder.d.ts +22 -0
- package/dist/services/user-profile-builder.js +109 -0
- package/dist/services/voyage-embedding.d.ts +22 -0
- package/dist/services/voyage-embedding.js +77 -0
- package/dist/services/write-security.d.ts +31 -0
- package/dist/services/write-security.js +64 -0
- package/dist/storage/artifact-public-redaction.d.ts +34 -0
- package/dist/storage/artifact-public-redaction.js +83 -0
- package/dist/storage/cleanup.d.ts +103 -0
- package/dist/storage/cleanup.js +138 -0
- package/dist/storage/codec-factory.d.ts +17 -0
- package/dist/storage/codec-factory.js +33 -0
- package/dist/storage/codecs/aes-gcm-codec.d.ts +44 -0
- package/dist/storage/codecs/aes-gcm-codec.js +108 -0
- package/dist/storage/codecs/noop-codec.d.ts +16 -0
- package/dist/storage/codecs/noop-codec.js +23 -0
- package/dist/storage/factory.d.ts +44 -0
- package/dist/storage/factory.js +99 -0
- package/dist/storage/filecoin-cid-validation.d.ts +82 -0
- package/dist/storage/filecoin-cid-validation.js +122 -0
- package/dist/storage/filecoin-public-metadata.d.ts +73 -0
- package/dist/storage/filecoin-public-metadata.js +110 -0
- package/dist/storage/local-fs-store.d.ts +39 -0
- package/dist/storage/local-fs-store.js +145 -0
- package/dist/storage/pointer-uri-allowlist.d.ts +38 -0
- package/dist/storage/pointer-uri-allowlist.js +70 -0
- package/dist/storage/provider-metadata-projection.d.ts +27 -0
- package/dist/storage/provider-metadata-projection.js +68 -0
- package/dist/storage/providers/filecoin/backend.d.ts +42 -0
- package/dist/storage/providers/filecoin/backend.js +250 -0
- package/dist/storage/providers/filecoin/config.d.ts +70 -0
- package/dist/storage/providers/filecoin/config.js +275 -0
- package/dist/storage/providers/filecoin/errors.d.ts +45 -0
- package/dist/storage/providers/filecoin/errors.js +56 -0
- package/dist/storage/providers/filecoin/filecoin-pin-car.d.ts +78 -0
- package/dist/storage/providers/filecoin/filecoin-pin-car.js +155 -0
- package/dist/storage/providers/filecoin/filecoin-pin-client.d.ts +92 -0
- package/dist/storage/providers/filecoin/filecoin-pin-client.js +199 -0
- package/dist/storage/providers/filecoin/filecoin-pin-mapping.d.ts +58 -0
- package/dist/storage/providers/filecoin/filecoin-pin-mapping.js +103 -0
- package/dist/storage/providers/filecoin/filecoin-pin-timeout.d.ts +30 -0
- package/dist/storage/providers/filecoin/filecoin-pin-timeout.js +53 -0
- package/dist/storage/providers/filecoin/filecoin-pin-vendor.d.ts +111 -0
- package/dist/storage/providers/filecoin/filecoin-pin-vendor.js +87 -0
- package/dist/storage/providers/filecoin/hints.d.ts +71 -0
- package/dist/storage/providers/filecoin/hints.js +123 -0
- package/dist/storage/providers/filecoin/index.d.ts +51 -0
- package/dist/storage/providers/filecoin/index.js +103 -0
- package/dist/storage/providers/filecoin/ipfs-cid.d.ts +50 -0
- package/dist/storage/providers/filecoin/ipfs-cid.js +64 -0
- package/dist/storage/providers/filecoin/metadata.d.ts +72 -0
- package/dist/storage/providers/filecoin/metadata.js +137 -0
- package/dist/storage/providers/filecoin/piece-cid.d.ts +48 -0
- package/dist/storage/providers/filecoin/piece-cid.js +57 -0
- package/dist/storage/providers/filecoin/provider-client.d.ts +234 -0
- package/dist/storage/providers/filecoin/provider-client.js +27 -0
- package/dist/storage/providers/filecoin/readiness.d.ts +62 -0
- package/dist/storage/providers/filecoin/readiness.js +85 -0
- package/dist/storage/providers/filecoin/retriever.d.ts +82 -0
- package/dist/storage/providers/filecoin/retriever.js +63 -0
- package/dist/storage/providers/filecoin/skeleton-client.d.ts +36 -0
- package/dist/storage/providers/filecoin/skeleton-client.js +55 -0
- package/dist/storage/providers/filecoin/synapse-client.d.ts +169 -0
- package/dist/storage/providers/filecoin/synapse-client.js +343 -0
- package/dist/storage/providers/filecoin/synapse-construction.d.ts +26 -0
- package/dist/storage/providers/filecoin/synapse-construction.js +47 -0
- package/dist/storage/providers/filecoin/synapse-error-mapping.d.ts +23 -0
- package/dist/storage/providers/filecoin/synapse-error-mapping.js +49 -0
- package/dist/storage/providers/filecoin/synapse-readiness.d.ts +37 -0
- package/dist/storage/providers/filecoin/synapse-readiness.js +231 -0
- package/dist/storage/providers/filecoin/uri.d.ts +49 -0
- package/dist/storage/providers/filecoin/uri.js +84 -0
- package/dist/storage/providers/filecoin/verified-fetch-lifecycle.d.ts +77 -0
- package/dist/storage/providers/filecoin/verified-fetch-lifecycle.js +196 -0
- package/dist/storage/providers/filecoin/verified-fetch-retriever.d.ts +54 -0
- package/dist/storage/providers/filecoin/verified-fetch-retriever.js +81 -0
- package/dist/storage/providers/filecoin/verified-fetch-vendor.d.ts +71 -0
- package/dist/storage/providers/filecoin/verified-fetch-vendor.js +94 -0
- package/dist/storage/raw-content-codec.d.ts +89 -0
- package/dist/storage/raw-content-codec.js +47 -0
- package/dist/storage/raw-content-store-backend-adapter.d.ts +28 -0
- package/dist/storage/raw-content-store-backend-adapter.js +67 -0
- package/dist/storage/raw-content-store.d.ts +228 -0
- package/dist/storage/raw-content-store.js +27 -0
- package/dist/storage/s3-store.d.ts +42 -0
- package/dist/storage/s3-store.js +181 -0
- package/dist/storage/storage-backend-registry.d.ts +58 -0
- package/dist/storage/storage-backend-registry.js +56 -0
- package/dist/storage/storage-backend.d.ts +82 -0
- package/dist/storage/storage-backend.js +14 -0
- package/dist/storage/storage-capabilities.d.ts +56 -0
- package/dist/storage/storage-capabilities.js +170 -0
- package/dist/storage/store-registry.d.ts +67 -0
- package/dist/storage/store-registry.js +77 -0
- package/dist/vector-math.d.ts +15 -0
- package/dist/vector-math.js +31 -0
- package/dist/xml-escape.d.ts +5 -0
- package/dist/xml-escape.js +7 -0
- package/openapi.json +15395 -0
- package/openapi.yaml +10794 -0
- 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,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
|
+
}
|