@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,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Backend abstraction the storage service writes through.
|
|
3
|
+
*
|
|
4
|
+
* Step 5 of the storage-sibling plan. Adapter, not rewrite: existing
|
|
5
|
+
* `RawContentStore` providers (`local_fs`, `s3`, `filecoin`) stay
|
|
6
|
+
* intact; `raw-content-store-backend-adapter.ts` exposes them as a
|
|
7
|
+
* `StorageBackend` for the storage service so the service never
|
|
8
|
+
* needs to know which adapter shape it is talking to.
|
|
9
|
+
*
|
|
10
|
+
* The backend handles managed-mode I/O only. Pointer-mode artifacts
|
|
11
|
+
* are metadata-only and live entirely in the database — the storage
|
|
12
|
+
* service NEVER calls a backend method against a pointer URI.
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Compute the direct storage API's capability snapshot.
|
|
3
|
+
*
|
|
4
|
+
* Maps an active `RawContentStore` (or its absence) to the public
|
|
5
|
+
* `StorageCapabilitiesResponse` the `/v1/storage/capabilities` route
|
|
6
|
+
* emits. Pure projection; no IO. Routes hand the result straight to
|
|
7
|
+
* the schema validator.
|
|
8
|
+
*
|
|
9
|
+
* Provider-specific honesty: the response
|
|
10
|
+
* describes what the **direct** storage API (`/v1/storage/artifacts/*`)
|
|
11
|
+
* supports. Filecoin direct managed upload is a 501 in v1, so every
|
|
12
|
+
* "supports*" claim for Filecoin reports `false` here. The fuller
|
|
13
|
+
* Filecoin feature set (`supportsContentHash`, `supportsContentAddressedUri`,
|
|
14
|
+
* provider proofs, etc.) is reachable only through document ingestion
|
|
15
|
+
* and is reported by `/v1/documents/limits` instead — that surface is
|
|
16
|
+
* untouched.
|
|
17
|
+
*
|
|
18
|
+
* Pointer-only deployments (no `RawContentStore`) report `provider:'none'`
|
|
19
|
+
* with every "supports*" flag false. Pointer-mode put against such a
|
|
20
|
+
* deployment still works in the storage-route implementation (pointer mode is independent of the
|
|
21
|
+
* managed backend), but the capabilities response correctly says there
|
|
22
|
+
* is no direct managed upload available.
|
|
23
|
+
*/
|
|
24
|
+
import type { RawContentStore } from './raw-content-store.js';
|
|
25
|
+
import type { StorageCapabilitiesResponse } from '../schemas/storage-schemas.js';
|
|
26
|
+
export interface StorageCapabilitiesSnapshot {
|
|
27
|
+
/**
|
|
28
|
+
* Active raw-content store, or `null` for `pointer_only` deployments.
|
|
29
|
+
* The route layer reads `runtime.rawContentStore` and forwards it
|
|
30
|
+
* here unchanged.
|
|
31
|
+
*/
|
|
32
|
+
activeStore: RawContentStore | null;
|
|
33
|
+
/**
|
|
34
|
+
* `rawUploadMaxBytes` from runtime config. v1 keeps the existing
|
|
35
|
+
* 25 MiB cap from document ingestion (Streaming + Resumable Uploads
|
|
36
|
+
* PR will lift this).
|
|
37
|
+
*/
|
|
38
|
+
rawUploadMaxBytes: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Build the capability response for the direct storage API.
|
|
42
|
+
*
|
|
43
|
+
* Treats the Filecoin direct-upload carve-out as authoritative:
|
|
44
|
+
* regardless of what the underlying `FilecoinRawContentStore`
|
|
45
|
+
* advertises, the direct API surface reports every capability as
|
|
46
|
+
* false for Filecoin in v1. Lifting that carve-out is the job of a
|
|
47
|
+
* follow-up PR (storage-artifact reconciler + Filecoin direct
|
|
48
|
+
* support).
|
|
49
|
+
*
|
|
50
|
+
* Unknown providers fail closed: the response carries the provider
|
|
51
|
+
* name (so operators can see what is configured) but advertises no
|
|
52
|
+
* direct upload, no content-hash disclosure, no delete, no addressing,
|
|
53
|
+
* etc. A new backend must be explicitly added to this switch before
|
|
54
|
+
* any direct-API claim is true for it.
|
|
55
|
+
*/
|
|
56
|
+
export declare function getStorageCapabilities(snapshot: StorageCapabilitiesSnapshot): StorageCapabilitiesResponse;
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Compute the direct storage API's capability snapshot.
|
|
3
|
+
*
|
|
4
|
+
* Maps an active `RawContentStore` (or its absence) to the public
|
|
5
|
+
* `StorageCapabilitiesResponse` the `/v1/storage/capabilities` route
|
|
6
|
+
* emits. Pure projection; no IO. Routes hand the result straight to
|
|
7
|
+
* the schema validator.
|
|
8
|
+
*
|
|
9
|
+
* Provider-specific honesty: the response
|
|
10
|
+
* describes what the **direct** storage API (`/v1/storage/artifacts/*`)
|
|
11
|
+
* supports. Filecoin direct managed upload is a 501 in v1, so every
|
|
12
|
+
* "supports*" claim for Filecoin reports `false` here. The fuller
|
|
13
|
+
* Filecoin feature set (`supportsContentHash`, `supportsContentAddressedUri`,
|
|
14
|
+
* provider proofs, etc.) is reachable only through document ingestion
|
|
15
|
+
* and is reported by `/v1/documents/limits` instead — that surface is
|
|
16
|
+
* untouched.
|
|
17
|
+
*
|
|
18
|
+
* Pointer-only deployments (no `RawContentStore`) report `provider:'none'`
|
|
19
|
+
* with every "supports*" flag false. Pointer-mode put against such a
|
|
20
|
+
* deployment still works in the storage-route implementation (pointer mode is independent of the
|
|
21
|
+
* managed backend), but the capabilities response correctly says there
|
|
22
|
+
* is no direct managed upload available.
|
|
23
|
+
*/
|
|
24
|
+
const POINTER_ONLY_PROVIDER = 'none';
|
|
25
|
+
/**
|
|
26
|
+
* Closed allowlist of providers the direct storage API explicitly
|
|
27
|
+
* knows about. Any provider not in this set falls through to
|
|
28
|
+
* `unknownProviderCapabilities`, which reports every `supports*`
|
|
29
|
+
* flag as false so a future provider or test adapter does not
|
|
30
|
+
* accidentally inherit the location-addressed
|
|
31
|
+
* direct-upload shape.
|
|
32
|
+
*/
|
|
33
|
+
const KNOWN_LOCATION_ADDRESSED_PROVIDERS = new Set(['local_fs', 's3']);
|
|
34
|
+
const KNOWN_EVENTUAL_DIRECT_UNSUPPORTED_PROVIDERS = new Set(['filecoin']);
|
|
35
|
+
/**
|
|
36
|
+
* Build the capability response for the direct storage API.
|
|
37
|
+
*
|
|
38
|
+
* Treats the Filecoin direct-upload carve-out as authoritative:
|
|
39
|
+
* regardless of what the underlying `FilecoinRawContentStore`
|
|
40
|
+
* advertises, the direct API surface reports every capability as
|
|
41
|
+
* false for Filecoin in v1. Lifting that carve-out is the job of a
|
|
42
|
+
* follow-up PR (storage-artifact reconciler + Filecoin direct
|
|
43
|
+
* support).
|
|
44
|
+
*
|
|
45
|
+
* Unknown providers fail closed: the response carries the provider
|
|
46
|
+
* name (so operators can see what is configured) but advertises no
|
|
47
|
+
* direct upload, no content-hash disclosure, no delete, no addressing,
|
|
48
|
+
* etc. A new backend must be explicitly added to this switch before
|
|
49
|
+
* any direct-API claim is true for it.
|
|
50
|
+
*/
|
|
51
|
+
export function getStorageCapabilities(snapshot) {
|
|
52
|
+
const store = snapshot.activeStore;
|
|
53
|
+
if (store === null)
|
|
54
|
+
return pointerOnlyCapabilities();
|
|
55
|
+
if (KNOWN_LOCATION_ADDRESSED_PROVIDERS.has(store.provider)) {
|
|
56
|
+
return locationAddressedCapabilities(store.provider, snapshot.rawUploadMaxBytes);
|
|
57
|
+
}
|
|
58
|
+
if (KNOWN_EVENTUAL_DIRECT_UNSUPPORTED_PROVIDERS.has(store.provider)) {
|
|
59
|
+
return eventualDirectUnsupportedCapabilities(store.provider);
|
|
60
|
+
}
|
|
61
|
+
return unknownProviderCapabilities(store.provider);
|
|
62
|
+
}
|
|
63
|
+
function pointerOnlyCapabilities() {
|
|
64
|
+
return {
|
|
65
|
+
provider: POINTER_ONLY_PROVIDER,
|
|
66
|
+
addressing: [],
|
|
67
|
+
consistency: 'immediate',
|
|
68
|
+
supportsDirectUpload: false,
|
|
69
|
+
supportsRangeRead: false,
|
|
70
|
+
supportsDelete: false,
|
|
71
|
+
supportsTombstone: false,
|
|
72
|
+
supportsBundles: false,
|
|
73
|
+
supportedBundleFormats: [],
|
|
74
|
+
supportsVerification: false,
|
|
75
|
+
supportsProviderProofs: false,
|
|
76
|
+
supportsReplication: false,
|
|
77
|
+
supportsRetrievalStatus: false,
|
|
78
|
+
supportsContentHash: false,
|
|
79
|
+
supportsContentAddressedUri: false,
|
|
80
|
+
deleteSemantics: [],
|
|
81
|
+
availabilityModel: 'immediate',
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Filecoin-shaped eventual providers in v1: direct managed upload is
|
|
86
|
+
* 501. The plan pins three fields to false (`supportsDirectUpload`,
|
|
87
|
+
* `supportsContentHash`, `supportsContentAddressedUri`); everything
|
|
88
|
+
* else also reports false because no direct-API operation can target
|
|
89
|
+
* these managed artifacts yet.
|
|
90
|
+
*
|
|
91
|
+
* `consistency` and `availabilityModel` remain Filecoin-shaped
|
|
92
|
+
* (`eventual` / `delayed`) so a future release that lifts the carve-out
|
|
93
|
+
* doesn't have to change those — they describe the backend, not the
|
|
94
|
+
* v1 carve-out.
|
|
95
|
+
*/
|
|
96
|
+
function eventualDirectUnsupportedCapabilities(provider) {
|
|
97
|
+
return {
|
|
98
|
+
provider,
|
|
99
|
+
addressing: [],
|
|
100
|
+
consistency: 'eventual',
|
|
101
|
+
supportsDirectUpload: false,
|
|
102
|
+
supportsRangeRead: false,
|
|
103
|
+
supportsDelete: false,
|
|
104
|
+
supportsTombstone: false,
|
|
105
|
+
supportsBundles: false,
|
|
106
|
+
supportedBundleFormats: [],
|
|
107
|
+
supportsVerification: false,
|
|
108
|
+
supportsProviderProofs: false,
|
|
109
|
+
supportsReplication: false,
|
|
110
|
+
supportsRetrievalStatus: false,
|
|
111
|
+
supportsContentHash: false,
|
|
112
|
+
supportsContentAddressedUri: false,
|
|
113
|
+
deleteSemantics: [],
|
|
114
|
+
availabilityModel: 'delayed',
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function locationAddressedCapabilities(provider, maxUploadBytes) {
|
|
118
|
+
return {
|
|
119
|
+
provider,
|
|
120
|
+
addressing: ['location'],
|
|
121
|
+
consistency: 'immediate',
|
|
122
|
+
maxUploadBytes,
|
|
123
|
+
supportsDirectUpload: true,
|
|
124
|
+
supportsRangeRead: false,
|
|
125
|
+
supportsDelete: true,
|
|
126
|
+
supportsTombstone: false,
|
|
127
|
+
supportsBundles: false,
|
|
128
|
+
supportedBundleFormats: [],
|
|
129
|
+
// the storage-route implementation ships the verify route + a backend.head()-based shim;
|
|
130
|
+
// location-addressed providers report `true`. Pointer-mode
|
|
131
|
+
// artifacts of any provider still report `kind: 'unsupported'`
|
|
132
|
+
// at runtime (the server never touches the pointer URI).
|
|
133
|
+
supportsVerification: true,
|
|
134
|
+
supportsProviderProofs: false,
|
|
135
|
+
supportsReplication: false,
|
|
136
|
+
supportsRetrievalStatus: false,
|
|
137
|
+
supportsContentHash: true,
|
|
138
|
+
supportsContentAddressedUri: false,
|
|
139
|
+
deleteSemantics: ['delete'],
|
|
140
|
+
availabilityModel: 'immediate',
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Fail-closed shape for any provider the direct storage API does not
|
|
145
|
+
* yet explicitly support. Carries the provider name so operators can
|
|
146
|
+
* see what is configured, but advertises no managed-upload capability.
|
|
147
|
+
* A new backend must be wired into `getStorageCapabilities` (and the
|
|
148
|
+
* Step-5 storage service) before any flag becomes true for it.
|
|
149
|
+
*/
|
|
150
|
+
function unknownProviderCapabilities(provider) {
|
|
151
|
+
return {
|
|
152
|
+
provider,
|
|
153
|
+
addressing: [],
|
|
154
|
+
consistency: 'immediate',
|
|
155
|
+
supportsDirectUpload: false,
|
|
156
|
+
supportsRangeRead: false,
|
|
157
|
+
supportsDelete: false,
|
|
158
|
+
supportsTombstone: false,
|
|
159
|
+
supportsBundles: false,
|
|
160
|
+
supportedBundleFormats: [],
|
|
161
|
+
supportsVerification: false,
|
|
162
|
+
supportsProviderProofs: false,
|
|
163
|
+
supportsReplication: false,
|
|
164
|
+
supportsRetrievalStatus: false,
|
|
165
|
+
supportsContentHash: false,
|
|
166
|
+
supportsContentAddressedUri: false,
|
|
167
|
+
deleteSemantics: [],
|
|
168
|
+
availabilityModel: 'immediate',
|
|
169
|
+
};
|
|
170
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-row `RawContentStore` registry (Phase 4a). The composition root
|
|
3
|
+
* builds one registry from the active provider plus any legacy
|
|
4
|
+
* read-only adapters (`RAW_STORAGE_LEGACY_PROVIDERS`). Cleanup helpers
|
|
5
|
+
* dispatch on `blob.storageProvider` — a `local-fs://...` row on a
|
|
6
|
+
* Filecoin-active deployment is served by the registered legacy
|
|
7
|
+
* `local_fs` adapter, NOT by the active Filecoin store.
|
|
8
|
+
*
|
|
9
|
+
* Why this exists (rev-4 §6): pre-Filecoin, every row carried the
|
|
10
|
+
* same provider as the active adapter, so `cleanupManagedBlobs(store,
|
|
11
|
+
* blobs)` was sufficient. Once Filecoin lands alongside legacy s3 /
|
|
12
|
+
* local_fs rows, the active store may not be able to parse the
|
|
13
|
+
* historical URIs — silent-no-op (or `RawStorageUriError`) would be
|
|
14
|
+
* confusing. The registry fails loud when a row carries a provider
|
|
15
|
+
* the deployment hasn't registered.
|
|
16
|
+
*
|
|
17
|
+
* Capability lookup: `getDeleteSemantics` resolves
|
|
18
|
+
* `provider → 'delete' | 'unpin' | 'tombstone'` for the per-row
|
|
19
|
+
* `delete_semantics` wire field Phase 7a emits. Reads from the
|
|
20
|
+
* registered adapter's `capabilities.deleteSemantics`.
|
|
21
|
+
*/
|
|
22
|
+
import type { RawContentStore } from './raw-content-store.js';
|
|
23
|
+
export interface RawContentStoreRegistry {
|
|
24
|
+
/**
|
|
25
|
+
* Adapter the deployment writes NEW rows to. Returns `null` when
|
|
26
|
+
* the deployment is pointer-only (no managed-blob writes).
|
|
27
|
+
*/
|
|
28
|
+
readonly active: RawContentStore | null;
|
|
29
|
+
/**
|
|
30
|
+
* Look up an adapter by `raw_documents.storage_provider`. Returns
|
|
31
|
+
* `undefined` when the provider isn't registered — caller MUST
|
|
32
|
+
* fail loud rather than fall through to the active store.
|
|
33
|
+
*/
|
|
34
|
+
get(provider: string): RawContentStore | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* `(provider, store)` pairs the registry knows about. Used by the
|
|
37
|
+
* `/limits` route + observability surfaces; iteration order is the
|
|
38
|
+
* order providers were registered (active first, then legacy).
|
|
39
|
+
*/
|
|
40
|
+
readonly entries: ReadonlyArray<readonly [string, RawContentStore]>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Build a registry from the active store + any legacy read-only
|
|
44
|
+
* adapters. `active` may be `null` for pointer-only deployments;
|
|
45
|
+
* `legacy` defaults to an empty array.
|
|
46
|
+
*
|
|
47
|
+
* Defensive: registering the SAME provider twice (e.g. active=s3 +
|
|
48
|
+
* legacy=s3) throws — that's a config bug the operator must fix.
|
|
49
|
+
* `validateRawStorageConfig` already enforces this at startup, but the
|
|
50
|
+
* registry checks again so direct construction (tests, composition
|
|
51
|
+
* harnesses) can't drift.
|
|
52
|
+
*/
|
|
53
|
+
export declare function buildStoreRegistry(active: RawContentStore | null, legacy?: ReadonlyArray<RawContentStore>): RawContentStoreRegistry;
|
|
54
|
+
/**
|
|
55
|
+
* Lookup helper: returns the registered adapter's
|
|
56
|
+
* `capabilities.deleteSemantics` for the given provider, or `null`
|
|
57
|
+
* when the provider isn't registered (pointer-only row, or a stale
|
|
58
|
+
* provider the deployment doesn't recognize). Phase 7a's formatters
|
|
59
|
+
* project this onto the wire `delete_semantics` field.
|
|
60
|
+
*/
|
|
61
|
+
export declare function getDeleteSemantics(registry: RawContentStoreRegistry, provider: string | null): 'delete' | 'unpin' | 'tombstone' | null;
|
|
62
|
+
/**
|
|
63
|
+
* Convenience helper for unit tests + single-provider deployments
|
|
64
|
+
* (the common case today). Wraps one already-constructed store in a
|
|
65
|
+
* registry with no legacy entries.
|
|
66
|
+
*/
|
|
67
|
+
export declare function singleStoreRegistry(store: RawContentStore | null): RawContentStoreRegistry;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-row `RawContentStore` registry (Phase 4a). The composition root
|
|
3
|
+
* builds one registry from the active provider plus any legacy
|
|
4
|
+
* read-only adapters (`RAW_STORAGE_LEGACY_PROVIDERS`). Cleanup helpers
|
|
5
|
+
* dispatch on `blob.storageProvider` — a `local-fs://...` row on a
|
|
6
|
+
* Filecoin-active deployment is served by the registered legacy
|
|
7
|
+
* `local_fs` adapter, NOT by the active Filecoin store.
|
|
8
|
+
*
|
|
9
|
+
* Why this exists (rev-4 §6): pre-Filecoin, every row carried the
|
|
10
|
+
* same provider as the active adapter, so `cleanupManagedBlobs(store,
|
|
11
|
+
* blobs)` was sufficient. Once Filecoin lands alongside legacy s3 /
|
|
12
|
+
* local_fs rows, the active store may not be able to parse the
|
|
13
|
+
* historical URIs — silent-no-op (or `RawStorageUriError`) would be
|
|
14
|
+
* confusing. The registry fails loud when a row carries a provider
|
|
15
|
+
* the deployment hasn't registered.
|
|
16
|
+
*
|
|
17
|
+
* Capability lookup: `getDeleteSemantics` resolves
|
|
18
|
+
* `provider → 'delete' | 'unpin' | 'tombstone'` for the per-row
|
|
19
|
+
* `delete_semantics` wire field Phase 7a emits. Reads from the
|
|
20
|
+
* registered adapter's `capabilities.deleteSemantics`.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Build a registry from the active store + any legacy read-only
|
|
24
|
+
* adapters. `active` may be `null` for pointer-only deployments;
|
|
25
|
+
* `legacy` defaults to an empty array.
|
|
26
|
+
*
|
|
27
|
+
* Defensive: registering the SAME provider twice (e.g. active=s3 +
|
|
28
|
+
* legacy=s3) throws — that's a config bug the operator must fix.
|
|
29
|
+
* `validateRawStorageConfig` already enforces this at startup, but the
|
|
30
|
+
* registry checks again so direct construction (tests, composition
|
|
31
|
+
* harnesses) can't drift.
|
|
32
|
+
*/
|
|
33
|
+
export function buildStoreRegistry(active, legacy = []) {
|
|
34
|
+
const map = new Map();
|
|
35
|
+
if (active) {
|
|
36
|
+
map.set(active.provider, active);
|
|
37
|
+
}
|
|
38
|
+
for (const store of legacy) {
|
|
39
|
+
if (map.has(store.provider)) {
|
|
40
|
+
throw new Error(`RawContentStoreRegistry: provider '${store.provider}' is registered twice. ` +
|
|
41
|
+
`Active=${active?.provider ?? 'none'}, legacy contains a duplicate. ` +
|
|
42
|
+
`Check RAW_STORAGE_PROVIDER and RAW_STORAGE_LEGACY_PROVIDERS.`);
|
|
43
|
+
}
|
|
44
|
+
map.set(store.provider, store);
|
|
45
|
+
}
|
|
46
|
+
const entries = Array.from(map.entries());
|
|
47
|
+
return {
|
|
48
|
+
active,
|
|
49
|
+
entries,
|
|
50
|
+
get(provider) {
|
|
51
|
+
return map.get(provider);
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Lookup helper: returns the registered adapter's
|
|
57
|
+
* `capabilities.deleteSemantics` for the given provider, or `null`
|
|
58
|
+
* when the provider isn't registered (pointer-only row, or a stale
|
|
59
|
+
* provider the deployment doesn't recognize). Phase 7a's formatters
|
|
60
|
+
* project this onto the wire `delete_semantics` field.
|
|
61
|
+
*/
|
|
62
|
+
export function getDeleteSemantics(registry, provider) {
|
|
63
|
+
if (!provider)
|
|
64
|
+
return null;
|
|
65
|
+
const store = registry.get(provider);
|
|
66
|
+
if (!store)
|
|
67
|
+
return null;
|
|
68
|
+
return store.capabilities.deleteSemantics;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Convenience helper for unit tests + single-provider deployments
|
|
72
|
+
* (the common case today). Wraps one already-constructed store in a
|
|
73
|
+
* registry with no legacy entries.
|
|
74
|
+
*/
|
|
75
|
+
export function singleStoreRegistry(store) {
|
|
76
|
+
return buildStoreRegistry(store, []);
|
|
77
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared vector math utilities used across embedding, search, and MMR modules.
|
|
3
|
+
* Provides a single canonical implementation of cosine similarity to avoid
|
|
4
|
+
* duplication across the codebase.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Cosine similarity between two vectors.
|
|
8
|
+
* Returns 0 for missing, empty, mismatched-length, or zero-magnitude vectors.
|
|
9
|
+
*
|
|
10
|
+
* Defensive guard: callers downstream of multi-channel RRF can produce
|
|
11
|
+
* candidates whose `embedding` was projected away by an intermediate stage
|
|
12
|
+
* (e.g. a cross-encoder rerank that drops the vector to save bytes). Treating
|
|
13
|
+
* those as zero-similarity is preferable to a 500.
|
|
14
|
+
*/
|
|
15
|
+
export declare function cosineSimilarity(left: number[] | undefined | null, right: number[] | undefined | null): number;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared vector math utilities used across embedding, search, and MMR modules.
|
|
3
|
+
* Provides a single canonical implementation of cosine similarity to avoid
|
|
4
|
+
* duplication across the codebase.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Cosine similarity between two vectors.
|
|
8
|
+
* Returns 0 for missing, empty, mismatched-length, or zero-magnitude vectors.
|
|
9
|
+
*
|
|
10
|
+
* Defensive guard: callers downstream of multi-channel RRF can produce
|
|
11
|
+
* candidates whose `embedding` was projected away by an intermediate stage
|
|
12
|
+
* (e.g. a cross-encoder rerank that drops the vector to save bytes). Treating
|
|
13
|
+
* those as zero-similarity is preferable to a 500.
|
|
14
|
+
*/
|
|
15
|
+
export function cosineSimilarity(left, right) {
|
|
16
|
+
if (!left || !right)
|
|
17
|
+
return 0;
|
|
18
|
+
if (left.length === 0 || right.length === 0 || left.length !== right.length)
|
|
19
|
+
return 0;
|
|
20
|
+
let dot = 0;
|
|
21
|
+
let leftNorm = 0;
|
|
22
|
+
let rightNorm = 0;
|
|
23
|
+
for (let i = 0; i < left.length; i++) {
|
|
24
|
+
dot += left[i] * right[i];
|
|
25
|
+
leftNorm += left[i] * left[i];
|
|
26
|
+
rightNorm += right[i] * right[i];
|
|
27
|
+
}
|
|
28
|
+
if (leftNorm === 0 || rightNorm === 0)
|
|
29
|
+
return 0;
|
|
30
|
+
return dot / (Math.sqrt(leftNorm) * Math.sqrt(rightNorm));
|
|
31
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared XML escaping utility used by retrieval formatting modules.
|
|
3
|
+
*/
|
|
4
|
+
/** Escape special characters for safe embedding in XML/HTML content. */
|
|
5
|
+
export function escapeXml(text) {
|
|
6
|
+
return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
|
|
7
|
+
}
|