@massa-ai/core 1.2.1
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/dist/controllers/context-controller.d.ts +52 -0
- package/dist/controllers/context-controller.d.ts.map +1 -0
- package/dist/controllers/context-controller.js +377 -0
- package/dist/controllers/context-controller.js.map +1 -0
- package/dist/controllers/executor-controller.d.ts +42 -0
- package/dist/controllers/executor-controller.d.ts.map +1 -0
- package/dist/controllers/executor-controller.js +229 -0
- package/dist/controllers/executor-controller.js.map +1 -0
- package/dist/controllers/graph-controller.d.ts +106 -0
- package/dist/controllers/graph-controller.d.ts.map +1 -0
- package/dist/controllers/graph-controller.js +142 -0
- package/dist/controllers/graph-controller.js.map +1 -0
- package/dist/controllers/index.d.ts +17 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/index.js +12 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/memory-controller.d.ts +78 -0
- package/dist/controllers/memory-controller.d.ts.map +1 -0
- package/dist/controllers/memory-controller.js +232 -0
- package/dist/controllers/memory-controller.js.map +1 -0
- package/dist/controllers/search-controller.d.ts +113 -0
- package/dist/controllers/search-controller.d.ts.map +1 -0
- package/dist/controllers/search-controller.js +314 -0
- package/dist/controllers/search-controller.js.map +1 -0
- package/dist/data/audit/operation-log-contract.d.ts +68 -0
- package/dist/data/audit/operation-log-contract.d.ts.map +1 -0
- package/dist/data/audit/operation-log-contract.js +16 -0
- package/dist/data/audit/operation-log-contract.js.map +1 -0
- package/dist/data/audit/operation-log-factory.d.ts +4 -0
- package/dist/data/audit/operation-log-factory.d.ts.map +1 -0
- package/dist/data/audit/operation-log-factory.js +8 -0
- package/dist/data/audit/operation-log-factory.js.map +1 -0
- package/dist/data/audit/operation-log-pg.d.ts +34 -0
- package/dist/data/audit/operation-log-pg.d.ts.map +1 -0
- package/dist/data/audit/operation-log-pg.js +125 -0
- package/dist/data/audit/operation-log-pg.js.map +1 -0
- package/dist/data/db-connection.d.ts +10 -0
- package/dist/data/db-connection.d.ts.map +1 -0
- package/dist/data/db-connection.js +33 -0
- package/dist/data/db-connection.js.map +1 -0
- package/dist/data/graph-generation/graph-generation-contract.d.ts +94 -0
- package/dist/data/graph-generation/graph-generation-contract.d.ts.map +1 -0
- package/dist/data/graph-generation/graph-generation-contract.js +2 -0
- package/dist/data/graph-generation/graph-generation-contract.js.map +1 -0
- package/dist/data/graph-generation/graph-generation-repository-factory.d.ts +3 -0
- package/dist/data/graph-generation/graph-generation-repository-factory.d.ts.map +1 -0
- package/dist/data/graph-generation/graph-generation-repository-factory.js +7 -0
- package/dist/data/graph-generation/graph-generation-repository-factory.js.map +1 -0
- package/dist/data/graph-generation/graph-generation-repository-pg.d.ts +12 -0
- package/dist/data/graph-generation/graph-generation-repository-pg.d.ts.map +1 -0
- package/dist/data/graph-generation/graph-generation-repository-pg.js +335 -0
- package/dist/data/graph-generation/graph-generation-repository-pg.js.map +1 -0
- package/dist/data/graph-generation/index.d.ts +4 -0
- package/dist/data/graph-generation/index.d.ts.map +1 -0
- package/dist/data/graph-generation/index.js +3 -0
- package/dist/data/graph-generation/index.js.map +1 -0
- package/dist/data/handoff/handoff-contract.d.ts +32 -0
- package/dist/data/handoff/handoff-contract.d.ts.map +1 -0
- package/dist/data/handoff/handoff-contract.js +12 -0
- package/dist/data/handoff/handoff-contract.js.map +1 -0
- package/dist/data/handoff/handoff-repository-pg.d.ts +22 -0
- package/dist/data/handoff/handoff-repository-pg.d.ts.map +1 -0
- package/dist/data/handoff/handoff-repository-pg.js +177 -0
- package/dist/data/handoff/handoff-repository-pg.js.map +1 -0
- package/dist/data/handoff/handoff-repository.d.ts +7 -0
- package/dist/data/handoff/handoff-repository.d.ts.map +1 -0
- package/dist/data/handoff/handoff-repository.js +9 -0
- package/dist/data/handoff/handoff-repository.js.map +1 -0
- package/dist/data/keyword/keyword-search-factory.d.ts +9 -0
- package/dist/data/keyword/keyword-search-factory.d.ts.map +1 -0
- package/dist/data/keyword/keyword-search-factory.js +23 -0
- package/dist/data/keyword/keyword-search-factory.js.map +1 -0
- package/dist/data/keyword/keyword-search-pg.d.ts +52 -0
- package/dist/data/keyword/keyword-search-pg.d.ts.map +1 -0
- package/dist/data/keyword/keyword-search-pg.js +423 -0
- package/dist/data/keyword/keyword-search-pg.js.map +1 -0
- package/dist/data/managed-runs/managed-run-contract.d.ts +193 -0
- package/dist/data/managed-runs/managed-run-contract.d.ts.map +1 -0
- package/dist/data/managed-runs/managed-run-contract.js +41 -0
- package/dist/data/managed-runs/managed-run-contract.js.map +1 -0
- package/dist/data/managed-runs/managed-run-repository-pg.d.ts +48 -0
- package/dist/data/managed-runs/managed-run-repository-pg.d.ts.map +1 -0
- package/dist/data/managed-runs/managed-run-repository-pg.js +316 -0
- package/dist/data/managed-runs/managed-run-repository-pg.js.map +1 -0
- package/dist/data/memory/index.d.ts +6 -0
- package/dist/data/memory/index.d.ts.map +1 -0
- package/dist/data/memory/index.js +5 -0
- package/dist/data/memory/index.js.map +1 -0
- package/dist/data/memory/memory-repository-contract.d.ts +54 -0
- package/dist/data/memory/memory-repository-contract.d.ts.map +1 -0
- package/dist/data/memory/memory-repository-contract.js +2 -0
- package/dist/data/memory/memory-repository-contract.js.map +1 -0
- package/dist/data/memory/memory-repository-factory.d.ts +4 -0
- package/dist/data/memory/memory-repository-factory.d.ts.map +1 -0
- package/dist/data/memory/memory-repository-factory.js +8 -0
- package/dist/data/memory/memory-repository-factory.js.map +1 -0
- package/dist/data/memory/memory-repository-pg.d.ts +111 -0
- package/dist/data/memory/memory-repository-pg.d.ts.map +1 -0
- package/dist/data/memory/memory-repository-pg.js +448 -0
- package/dist/data/memory/memory-repository-pg.js.map +1 -0
- package/dist/data/memory/memory-repository.d.ts +3 -0
- package/dist/data/memory/memory-repository.d.ts.map +1 -0
- package/dist/data/memory/memory-repository.js +2 -0
- package/dist/data/memory/memory-repository.js.map +1 -0
- package/dist/data/memory/observation-contract.d.ts +47 -0
- package/dist/data/memory/observation-contract.d.ts.map +1 -0
- package/dist/data/memory/observation-contract.js +13 -0
- package/dist/data/memory/observation-contract.js.map +1 -0
- package/dist/data/memory/observation-repository-pg.d.ts +64 -0
- package/dist/data/memory/observation-repository-pg.d.ts.map +1 -0
- package/dist/data/memory/observation-repository-pg.js +244 -0
- package/dist/data/memory/observation-repository-pg.js.map +1 -0
- package/dist/data/memory/observation-repository.d.ts +6 -0
- package/dist/data/memory/observation-repository.d.ts.map +1 -0
- package/dist/data/memory/observation-repository.js +8 -0
- package/dist/data/memory/observation-repository.js.map +1 -0
- package/dist/data/proposal/proposal-contract.d.ts +47 -0
- package/dist/data/proposal/proposal-contract.d.ts.map +1 -0
- package/dist/data/proposal/proposal-contract.js +32 -0
- package/dist/data/proposal/proposal-contract.js.map +1 -0
- package/dist/data/proposal/proposal-repository-pg.d.ts +20 -0
- package/dist/data/proposal/proposal-repository-pg.d.ts.map +1 -0
- package/dist/data/proposal/proposal-repository-pg.js +199 -0
- package/dist/data/proposal/proposal-repository-pg.js.map +1 -0
- package/dist/data/proposal/proposal-repository.d.ts +7 -0
- package/dist/data/proposal/proposal-repository.d.ts.map +1 -0
- package/dist/data/proposal/proposal-repository.js +9 -0
- package/dist/data/proposal/proposal-repository.js.map +1 -0
- package/dist/data/symbol/symbol-repo-generation.d.ts +61 -0
- package/dist/data/symbol/symbol-repo-generation.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repo-generation.js +380 -0
- package/dist/data/symbol/symbol-repo-generation.js.map +1 -0
- package/dist/data/symbol/symbol-repo-graph.d.ts +65 -0
- package/dist/data/symbol/symbol-repo-graph.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repo-graph.js +457 -0
- package/dist/data/symbol/symbol-repo-graph.js.map +1 -0
- package/dist/data/symbol/symbol-repo-identity.d.ts +21 -0
- package/dist/data/symbol/symbol-repo-identity.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repo-identity.js +96 -0
- package/dist/data/symbol/symbol-repo-identity.js.map +1 -0
- package/dist/data/symbol/symbol-repo-mappers.d.ts +87 -0
- package/dist/data/symbol/symbol-repo-mappers.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repo-mappers.js +91 -0
- package/dist/data/symbol/symbol-repo-mappers.js.map +1 -0
- package/dist/data/symbol/symbol-repo-queries.d.ts +54 -0
- package/dist/data/symbol/symbol-repo-queries.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repo-queries.js +331 -0
- package/dist/data/symbol/symbol-repo-queries.js.map +1 -0
- package/dist/data/symbol/symbol-repo-types.d.ts +243 -0
- package/dist/data/symbol/symbol-repo-types.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repo-types.js +8 -0
- package/dist/data/symbol/symbol-repo-types.js.map +1 -0
- package/dist/data/symbol/symbol-repo-workspace.d.ts +20 -0
- package/dist/data/symbol/symbol-repo-workspace.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repo-workspace.js +148 -0
- package/dist/data/symbol/symbol-repo-workspace.js.map +1 -0
- package/dist/data/symbol/symbol-repository-factory.d.ts +10 -0
- package/dist/data/symbol/symbol-repository-factory.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repository-factory.js +16 -0
- package/dist/data/symbol/symbol-repository-factory.js.map +1 -0
- package/dist/data/symbol/symbol-repository-pg.d.ts +84 -0
- package/dist/data/symbol/symbol-repository-pg.d.ts.map +1 -0
- package/dist/data/symbol/symbol-repository-pg.js +81 -0
- package/dist/data/symbol/symbol-repository-pg.js.map +1 -0
- package/dist/data/vector/base-vector-store.d.ts +137 -0
- package/dist/data/vector/base-vector-store.d.ts.map +1 -0
- package/dist/data/vector/base-vector-store.js +166 -0
- package/dist/data/vector/base-vector-store.js.map +1 -0
- package/dist/data/vector/hybrid-search.d.ts +64 -0
- package/dist/data/vector/hybrid-search.d.ts.map +1 -0
- package/dist/data/vector/hybrid-search.js +238 -0
- package/dist/data/vector/hybrid-search.js.map +1 -0
- package/dist/data/vector/index.d.ts +9 -0
- package/dist/data/vector/index.d.ts.map +1 -0
- package/dist/data/vector/index.js +7 -0
- package/dist/data/vector/index.js.map +1 -0
- package/dist/data/vector/postgres-vector-store.d.ts +118 -0
- package/dist/data/vector/postgres-vector-store.d.ts.map +1 -0
- package/dist/data/vector/postgres-vector-store.js +703 -0
- package/dist/data/vector/postgres-vector-store.js.map +1 -0
- package/dist/data/vector/vector-store-factory.d.ts +9 -0
- package/dist/data/vector/vector-store-factory.d.ts.map +1 -0
- package/dist/data/vector/vector-store-factory.js +46 -0
- package/dist/data/vector/vector-store-factory.js.map +1 -0
- package/dist/generated/prisma/client.d.ts +1 -0
- package/dist/generated/prisma/client.js +5 -0
- package/dist/generated/prisma/default.d.ts +1 -0
- package/dist/generated/prisma/default.js +5 -0
- package/dist/generated/prisma/edge.d.ts +1 -0
- package/dist/generated/prisma/edge.js +601 -0
- package/dist/generated/prisma/index-browser.js +627 -0
- package/dist/generated/prisma/index.d.ts +52672 -0
- package/dist/generated/prisma/index.js +601 -0
- package/dist/generated/prisma/package.json +144 -0
- package/dist/generated/prisma/query_compiler_fast_bg.js +2 -0
- package/dist/generated/prisma/query_compiler_fast_bg.wasm +0 -0
- package/dist/generated/prisma/query_compiler_fast_bg.wasm-base64.js +2 -0
- package/dist/generated/prisma/runtime/client.d.ts +3386 -0
- package/dist/generated/prisma/runtime/client.js +86 -0
- package/dist/generated/prisma/runtime/index-browser.d.ts +90 -0
- package/dist/generated/prisma/runtime/index-browser.js +6 -0
- package/dist/generated/prisma/runtime/wasm-compiler-edge.js +76 -0
- package/dist/generated/prisma/schema.prisma +746 -0
- package/dist/generated/prisma/wasm-edge-light-loader.mjs +5 -0
- package/dist/generated/prisma/wasm-worker-loader.mjs +5 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/models/CacheEntry.d.ts +66 -0
- package/dist/models/CacheEntry.d.ts.map +1 -0
- package/dist/models/CacheEntry.js +148 -0
- package/dist/models/CacheEntry.js.map +1 -0
- package/dist/models/CompressedContent.d.ts +59 -0
- package/dist/models/CompressedContent.d.ts.map +1 -0
- package/dist/models/CompressedContent.js +169 -0
- package/dist/models/CompressedContent.js.map +1 -0
- package/dist/models/Memory.d.ts +9 -0
- package/dist/models/Memory.d.ts.map +1 -0
- package/dist/models/Memory.js +10 -0
- package/dist/models/Memory.js.map +1 -0
- package/dist/models/index.d.ts +6 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +6 -0
- package/dist/models/index.js.map +1 -0
- package/dist/scripts/beir-benchmark.d.ts +3 -0
- package/dist/scripts/beir-benchmark.d.ts.map +1 -0
- package/dist/scripts/beir-benchmark.js +275 -0
- package/dist/scripts/beir-benchmark.js.map +1 -0
- package/dist/scripts/create-sicad-beir-fixture.d.ts +3 -0
- package/dist/scripts/create-sicad-beir-fixture.d.ts.map +1 -0
- package/dist/scripts/create-sicad-beir-fixture.js +200 -0
- package/dist/scripts/create-sicad-beir-fixture.js.map +1 -0
- package/dist/scripts/symbol-benchmark.d.ts +24 -0
- package/dist/scripts/symbol-benchmark.d.ts.map +1 -0
- package/dist/scripts/symbol-benchmark.js +319 -0
- package/dist/scripts/symbol-benchmark.js.map +1 -0
- package/dist/services/bootstrap/bootstrap-service.d.ts +157 -0
- package/dist/services/bootstrap/bootstrap-service.d.ts.map +1 -0
- package/dist/services/bootstrap/bootstrap-service.js +588 -0
- package/dist/services/bootstrap/bootstrap-service.js.map +1 -0
- package/dist/services/cache/embedding-cache-contract.d.ts +18 -0
- package/dist/services/cache/embedding-cache-contract.d.ts.map +1 -0
- package/dist/services/cache/embedding-cache-contract.js +2 -0
- package/dist/services/cache/embedding-cache-contract.js.map +1 -0
- package/dist/services/cache/embedding-cache-factory.d.ts +4 -0
- package/dist/services/cache/embedding-cache-factory.d.ts.map +1 -0
- package/dist/services/cache/embedding-cache-factory.js +8 -0
- package/dist/services/cache/embedding-cache-factory.js.map +1 -0
- package/dist/services/cache/embedding-cache-pg.d.ts +78 -0
- package/dist/services/cache/embedding-cache-pg.d.ts.map +1 -0
- package/dist/services/cache/embedding-cache-pg.js +220 -0
- package/dist/services/cache/embedding-cache-pg.js.map +1 -0
- package/dist/services/cache/index.d.ts +5 -0
- package/dist/services/cache/index.d.ts.map +1 -0
- package/dist/services/cache/index.js +5 -0
- package/dist/services/cache/index.js.map +1 -0
- package/dist/services/cache/l1-memory-cache.d.ts +71 -0
- package/dist/services/cache/l1-memory-cache.d.ts.map +1 -0
- package/dist/services/cache/l1-memory-cache.js +191 -0
- package/dist/services/cache/l1-memory-cache.js.map +1 -0
- package/dist/services/checkpoint/auto-checkpointer.d.ts +69 -0
- package/dist/services/checkpoint/auto-checkpointer.d.ts.map +1 -0
- package/dist/services/checkpoint/auto-checkpointer.js +143 -0
- package/dist/services/checkpoint/auto-checkpointer.js.map +1 -0
- package/dist/services/checkpoint/checkpoint-manager.d.ts +9 -0
- package/dist/services/checkpoint/checkpoint-manager.d.ts.map +1 -0
- package/dist/services/checkpoint/checkpoint-manager.js +25 -0
- package/dist/services/checkpoint/checkpoint-manager.js.map +1 -0
- package/dist/services/checkpoint/checkpoint-store-pg.d.ts +107 -0
- package/dist/services/checkpoint/checkpoint-store-pg.d.ts.map +1 -0
- package/dist/services/checkpoint/checkpoint-store-pg.js +476 -0
- package/dist/services/checkpoint/checkpoint-store-pg.js.map +1 -0
- package/dist/services/checkpoint/checkpoint-store.d.ts +100 -0
- package/dist/services/checkpoint/checkpoint-store.d.ts.map +1 -0
- package/dist/services/checkpoint/checkpoint-store.js +24 -0
- package/dist/services/checkpoint/checkpoint-store.js.map +1 -0
- package/dist/services/checkpoint/index.d.ts +9 -0
- package/dist/services/checkpoint/index.d.ts.map +1 -0
- package/dist/services/checkpoint/index.js +8 -0
- package/dist/services/checkpoint/index.js.map +1 -0
- package/dist/services/compression/code-compressor.d.ts +76 -0
- package/dist/services/compression/code-compressor.d.ts.map +1 -0
- package/dist/services/compression/code-compressor.js +395 -0
- package/dist/services/compression/code-compressor.js.map +1 -0
- package/dist/services/compression/index.d.ts +5 -0
- package/dist/services/compression/index.d.ts.map +1 -0
- package/dist/services/compression/index.js +5 -0
- package/dist/services/compression/index.js.map +1 -0
- package/dist/services/context/session-file-cache.d.ts +87 -0
- package/dist/services/context/session-file-cache.d.ts.map +1 -0
- package/dist/services/context/session-file-cache.js +213 -0
- package/dist/services/context/session-file-cache.js.map +1 -0
- package/dist/services/embeddings/cached-provider.d.ts +98 -0
- package/dist/services/embeddings/cached-provider.d.ts.map +1 -0
- package/dist/services/embeddings/cached-provider.js +162 -0
- package/dist/services/embeddings/cached-provider.js.map +1 -0
- package/dist/services/embeddings/config.d.ts +89 -0
- package/dist/services/embeddings/config.d.ts.map +1 -0
- package/dist/services/embeddings/config.js +341 -0
- package/dist/services/embeddings/config.js.map +1 -0
- package/dist/services/embeddings/embedding-service.d.ts +71 -0
- package/dist/services/embeddings/embedding-service.d.ts.map +1 -0
- package/dist/services/embeddings/embedding-service.js +147 -0
- package/dist/services/embeddings/embedding-service.js.map +1 -0
- package/dist/services/embeddings/index.d.ts +105 -0
- package/dist/services/embeddings/index.d.ts.map +1 -0
- package/dist/services/embeddings/index.js +174 -0
- package/dist/services/embeddings/index.js.map +1 -0
- package/dist/services/embeddings/provider.d.ts +164 -0
- package/dist/services/embeddings/provider.d.ts.map +1 -0
- package/dist/services/embeddings/provider.js +547 -0
- package/dist/services/embeddings/provider.js.map +1 -0
- package/dist/services/embeddings/providers/local-transformers.d.ts +80 -0
- package/dist/services/embeddings/providers/local-transformers.d.ts.map +1 -0
- package/dist/services/embeddings/providers/local-transformers.js +222 -0
- package/dist/services/embeddings/providers/local-transformers.js.map +1 -0
- package/dist/services/embeddings/rate-limiter.d.ts +55 -0
- package/dist/services/embeddings/rate-limiter.d.ts.map +1 -0
- package/dist/services/embeddings/rate-limiter.js +138 -0
- package/dist/services/embeddings/rate-limiter.js.map +1 -0
- package/dist/services/etl/graph-generation-coordinator.d.ts +26 -0
- package/dist/services/etl/graph-generation-coordinator.d.ts.map +1 -0
- package/dist/services/etl/graph-generation-coordinator.js +63 -0
- package/dist/services/etl/graph-generation-coordinator.js.map +1 -0
- package/dist/services/etl/index.d.ts +11 -0
- package/dist/services/etl/index.d.ts.map +1 -0
- package/dist/services/etl/index.js +9 -0
- package/dist/services/etl/index.js.map +1 -0
- package/dist/services/etl/pipeline.d.ts +70 -0
- package/dist/services/etl/pipeline.d.ts.map +1 -0
- package/dist/services/etl/pipeline.js +553 -0
- package/dist/services/etl/pipeline.js.map +1 -0
- package/dist/services/etl/stage-context.d.ts +153 -0
- package/dist/services/etl/stage-context.d.ts.map +1 -0
- package/dist/services/etl/stage-context.js +11 -0
- package/dist/services/etl/stage-context.js.map +1 -0
- package/dist/services/etl/stages/discover.d.ts +40 -0
- package/dist/services/etl/stages/discover.d.ts.map +1 -0
- package/dist/services/etl/stages/discover.js +213 -0
- package/dist/services/etl/stages/discover.js.map +1 -0
- package/dist/services/etl/stages/load.d.ts +39 -0
- package/dist/services/etl/stages/load.d.ts.map +1 -0
- package/dist/services/etl/stages/load.js +361 -0
- package/dist/services/etl/stages/load.js.map +1 -0
- package/dist/services/etl/stages/parse.d.ts +58 -0
- package/dist/services/etl/stages/parse.d.ts.map +1 -0
- package/dist/services/etl/stages/parse.js +536 -0
- package/dist/services/etl/stages/parse.js.map +1 -0
- package/dist/services/etl/stages/resolve.d.ts +66 -0
- package/dist/services/etl/stages/resolve.d.ts.map +1 -0
- package/dist/services/etl/stages/resolve.js +503 -0
- package/dist/services/etl/stages/resolve.js.map +1 -0
- package/dist/services/events/event-bus.d.ts +166 -0
- package/dist/services/events/event-bus.d.ts.map +1 -0
- package/dist/services/events/event-bus.js +32 -0
- package/dist/services/events/event-bus.js.map +1 -0
- package/dist/services/events/index.d.ts +6 -0
- package/dist/services/events/index.d.ts.map +1 -0
- package/dist/services/events/index.js +5 -0
- package/dist/services/events/index.js.map +1 -0
- package/dist/services/executor/executor.d.ts +103 -0
- package/dist/services/executor/executor.d.ts.map +1 -0
- package/dist/services/executor/executor.js +518 -0
- package/dist/services/executor/executor.js.map +1 -0
- package/dist/services/executor/index.d.ts +20 -0
- package/dist/services/executor/index.d.ts.map +1 -0
- package/dist/services/executor/index.js +16 -0
- package/dist/services/executor/index.js.map +1 -0
- package/dist/services/executor/intent-search.d.ts +52 -0
- package/dist/services/executor/intent-search.d.ts.map +1 -0
- package/dist/services/executor/intent-search.js +195 -0
- package/dist/services/executor/intent-search.js.map +1 -0
- package/dist/services/executor/run-pool.d.ts +53 -0
- package/dist/services/executor/run-pool.d.ts.map +1 -0
- package/dist/services/executor/run-pool.js +71 -0
- package/dist/services/executor/run-pool.js.map +1 -0
- package/dist/services/executor/runtime.d.ts +82 -0
- package/dist/services/executor/runtime.d.ts.map +1 -0
- package/dist/services/executor/runtime.js +254 -0
- package/dist/services/executor/runtime.js.map +1 -0
- package/dist/services/executor/sandbox.d.ts +67 -0
- package/dist/services/executor/sandbox.d.ts.map +1 -0
- package/dist/services/executor/sandbox.js +186 -0
- package/dist/services/executor/sandbox.js.map +1 -0
- package/dist/services/graph/graph-queries.d.ts +110 -0
- package/dist/services/graph/graph-queries.d.ts.map +1 -0
- package/dist/services/graph/graph-queries.js +336 -0
- package/dist/services/graph/graph-queries.js.map +1 -0
- package/dist/services/graph/graph-store-factory.d.ts +12 -0
- package/dist/services/graph/graph-store-factory.d.ts.map +1 -0
- package/dist/services/graph/graph-store-factory.js +30 -0
- package/dist/services/graph/graph-store-factory.js.map +1 -0
- package/dist/services/graph/graph-store-pg.d.ts +127 -0
- package/dist/services/graph/graph-store-pg.d.ts.map +1 -0
- package/dist/services/graph/graph-store-pg.js +422 -0
- package/dist/services/graph/graph-store-pg.js.map +1 -0
- package/dist/services/graph/index.d.ts +7 -0
- package/dist/services/graph/index.d.ts.map +1 -0
- package/dist/services/graph/index.js +6 -0
- package/dist/services/graph/index.js.map +1 -0
- package/dist/services/graph/memory-graph.service.d.ts +97 -0
- package/dist/services/graph/memory-graph.service.d.ts.map +1 -0
- package/dist/services/graph/memory-graph.service.js +171 -0
- package/dist/services/graph/memory-graph.service.js.map +1 -0
- package/dist/services/graph/relation-extractor.d.ts +61 -0
- package/dist/services/graph/relation-extractor.d.ts.map +1 -0
- package/dist/services/graph/relation-extractor.js +306 -0
- package/dist/services/graph/relation-extractor.js.map +1 -0
- package/dist/services/graph/types.d.ts +127 -0
- package/dist/services/graph/types.d.ts.map +1 -0
- package/dist/services/graph/types.js +8 -0
- package/dist/services/graph/types.js.map +1 -0
- package/dist/services/handoff/handoff-auto-injector.d.ts +32 -0
- package/dist/services/handoff/handoff-auto-injector.d.ts.map +1 -0
- package/dist/services/handoff/handoff-auto-injector.js +72 -0
- package/dist/services/handoff/handoff-auto-injector.js.map +1 -0
- package/dist/services/handoff/handoff-service.d.ts +83 -0
- package/dist/services/handoff/handoff-service.d.ts.map +1 -0
- package/dist/services/handoff/handoff-service.js +238 -0
- package/dist/services/handoff/handoff-service.js.map +1 -0
- package/dist/services/health/local-health-checker.d.ts +49 -0
- package/dist/services/health/local-health-checker.d.ts.map +1 -0
- package/dist/services/health/local-health-checker.js +82 -0
- package/dist/services/health/local-health-checker.js.map +1 -0
- package/dist/services/hooks/attribution-resolver.d.ts +113 -0
- package/dist/services/hooks/attribution-resolver.d.ts.map +1 -0
- package/dist/services/hooks/attribution-resolver.js +227 -0
- package/dist/services/hooks/attribution-resolver.js.map +1 -0
- package/dist/services/hooks/co-retrieval-hook.d.ts +63 -0
- package/dist/services/hooks/co-retrieval-hook.d.ts.map +1 -0
- package/dist/services/hooks/co-retrieval-hook.js +145 -0
- package/dist/services/hooks/co-retrieval-hook.js.map +1 -0
- package/dist/services/hooks/compaction-snapshot-service.d.ts +81 -0
- package/dist/services/hooks/compaction-snapshot-service.d.ts.map +1 -0
- package/dist/services/hooks/compaction-snapshot-service.js +308 -0
- package/dist/services/hooks/compaction-snapshot-service.js.map +1 -0
- package/dist/services/hooks/hook-service.d.ts +100 -0
- package/dist/services/hooks/hook-service.d.ts.map +1 -0
- package/dist/services/hooks/hook-service.js +272 -0
- package/dist/services/hooks/hook-service.js.map +1 -0
- package/dist/services/hooks/observation-extractor.d.ts +30 -0
- package/dist/services/hooks/observation-extractor.d.ts.map +1 -0
- package/dist/services/hooks/observation-extractor.js +364 -0
- package/dist/services/hooks/observation-extractor.js.map +1 -0
- package/dist/services/hooks/search-session-hook.d.ts +34 -0
- package/dist/services/hooks/search-session-hook.d.ts.map +1 -0
- package/dist/services/hooks/search-session-hook.js +121 -0
- package/dist/services/hooks/search-session-hook.js.map +1 -0
- package/dist/services/hooks/session-pin-store.d.ts +32 -0
- package/dist/services/hooks/session-pin-store.d.ts.map +1 -0
- package/dist/services/hooks/session-pin-store.js +57 -0
- package/dist/services/hooks/session-pin-store.js.map +1 -0
- package/dist/services/hooks/writer-queue.d.ts +35 -0
- package/dist/services/hooks/writer-queue.d.ts.map +1 -0
- package/dist/services/hooks/writer-queue.js +58 -0
- package/dist/services/hooks/writer-queue.js.map +1 -0
- package/dist/services/index.d.ts +108 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +100 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/jobs/auto-improve-apply.d.ts +32 -0
- package/dist/services/jobs/auto-improve-apply.d.ts.map +1 -0
- package/dist/services/jobs/auto-improve-apply.js +135 -0
- package/dist/services/jobs/auto-improve-apply.js.map +1 -0
- package/dist/services/jobs/auto-improve-config.d.ts +25 -0
- package/dist/services/jobs/auto-improve-config.d.ts.map +1 -0
- package/dist/services/jobs/auto-improve-config.js +40 -0
- package/dist/services/jobs/auto-improve-config.js.map +1 -0
- package/dist/services/jobs/auto-improve-job.d.ts +89 -0
- package/dist/services/jobs/auto-improve-job.d.ts.map +1 -0
- package/dist/services/jobs/auto-improve-job.js +93 -0
- package/dist/services/jobs/auto-improve-job.js.map +1 -0
- package/dist/services/jobs/auto-improve-llm.d.ts +25 -0
- package/dist/services/jobs/auto-improve-llm.d.ts.map +1 -0
- package/dist/services/jobs/auto-improve-llm.js +88 -0
- package/dist/services/jobs/auto-improve-llm.js.map +1 -0
- package/dist/services/jobs/auto-improve-ops.d.ts +11 -0
- package/dist/services/jobs/auto-improve-ops.d.ts.map +1 -0
- package/dist/services/jobs/auto-improve-ops.js +170 -0
- package/dist/services/jobs/auto-improve-ops.js.map +1 -0
- package/dist/services/jobs/auto-improve-patterns.d.ts +18 -0
- package/dist/services/jobs/auto-improve-patterns.d.ts.map +1 -0
- package/dist/services/jobs/auto-improve-patterns.js +160 -0
- package/dist/services/jobs/auto-improve-patterns.js.map +1 -0
- package/dist/services/jobs/index-job-store-contract.d.ts +22 -0
- package/dist/services/jobs/index-job-store-contract.d.ts.map +1 -0
- package/dist/services/jobs/index-job-store-contract.js +11 -0
- package/dist/services/jobs/index-job-store-contract.js.map +1 -0
- package/dist/services/jobs/index-job-store-pg.d.ts +77 -0
- package/dist/services/jobs/index-job-store-pg.d.ts.map +1 -0
- package/dist/services/jobs/index-job-store-pg.js +403 -0
- package/dist/services/jobs/index-job-store-pg.js.map +1 -0
- package/dist/services/jobs/index-job-store.d.ts +5 -0
- package/dist/services/jobs/index-job-store.d.ts.map +1 -0
- package/dist/services/jobs/index-job-store.js +7 -0
- package/dist/services/jobs/index-job-store.js.map +1 -0
- package/dist/services/jobs/index-job-tracker.d.ts +140 -0
- package/dist/services/jobs/index-job-tracker.d.ts.map +1 -0
- package/dist/services/jobs/index-job-tracker.js +344 -0
- package/dist/services/jobs/index-job-tracker.js.map +1 -0
- package/dist/services/jobs/index.d.ts +6 -0
- package/dist/services/jobs/index.d.ts.map +1 -0
- package/dist/services/jobs/index.js +6 -0
- package/dist/services/jobs/index.js.map +1 -0
- package/dist/services/jobs/memory-consolidation-job.d.ts +70 -0
- package/dist/services/jobs/memory-consolidation-job.d.ts.map +1 -0
- package/dist/services/jobs/memory-consolidation-job.js +312 -0
- package/dist/services/jobs/memory-consolidation-job.js.map +1 -0
- package/dist/services/jobs/observation-consolidation-job.d.ts +63 -0
- package/dist/services/jobs/observation-consolidation-job.d.ts.map +1 -0
- package/dist/services/jobs/observation-consolidation-job.js +253 -0
- package/dist/services/jobs/observation-consolidation-job.js.map +1 -0
- package/dist/services/memory/consolidator.d.ts +92 -0
- package/dist/services/memory/consolidator.d.ts.map +1 -0
- package/dist/services/memory/consolidator.js +182 -0
- package/dist/services/memory/consolidator.js.map +1 -0
- package/dist/services/memory/decay.d.ts +56 -0
- package/dist/services/memory/decay.d.ts.map +1 -0
- package/dist/services/memory/decay.js +73 -0
- package/dist/services/memory/decay.js.map +1 -0
- package/dist/services/memory/index.d.ts +12 -0
- package/dist/services/memory/index.d.ts.map +1 -0
- package/dist/services/memory/index.js +9 -0
- package/dist/services/memory/index.js.map +1 -0
- package/dist/services/memory/llm-client.d.ts +111 -0
- package/dist/services/memory/llm-client.d.ts.map +1 -0
- package/dist/services/memory/llm-client.js +450 -0
- package/dist/services/memory/llm-client.js.map +1 -0
- package/dist/services/memory/memory-clustering.d.ts +65 -0
- package/dist/services/memory/memory-clustering.d.ts.map +1 -0
- package/dist/services/memory/memory-clustering.js +298 -0
- package/dist/services/memory/memory-clustering.js.map +1 -0
- package/dist/services/memory/memory-service.d.ts +72 -0
- package/dist/services/memory/memory-service.d.ts.map +1 -0
- package/dist/services/memory/memory-service.js +178 -0
- package/dist/services/memory/memory-service.js.map +1 -0
- package/dist/services/memory/redundancy-filter.d.ts +26 -0
- package/dist/services/memory/redundancy-filter.d.ts.map +1 -0
- package/dist/services/memory/redundancy-filter.js +93 -0
- package/dist/services/memory/redundancy-filter.js.map +1 -0
- package/dist/services/memory/salience-judge.d.ts +51 -0
- package/dist/services/memory/salience-judge.d.ts.map +1 -0
- package/dist/services/memory/salience-judge.js +115 -0
- package/dist/services/memory/salience-judge.js.map +1 -0
- package/dist/services/metrics/token-metrics.d.ts +114 -0
- package/dist/services/metrics/token-metrics.d.ts.map +1 -0
- package/dist/services/metrics/token-metrics.js +272 -0
- package/dist/services/metrics/token-metrics.js.map +1 -0
- package/dist/services/monitoring/metrics.d.ts +154 -0
- package/dist/services/monitoring/metrics.d.ts.map +1 -0
- package/dist/services/monitoring/metrics.js +382 -0
- package/dist/services/monitoring/metrics.js.map +1 -0
- package/dist/services/pricing/models-dev-client.d.ts +141 -0
- package/dist/services/pricing/models-dev-client.d.ts.map +1 -0
- package/dist/services/pricing/models-dev-client.js +523 -0
- package/dist/services/pricing/models-dev-client.js.map +1 -0
- package/dist/services/project-identity/alias-resolver.d.ts +76 -0
- package/dist/services/project-identity/alias-resolver.d.ts.map +1 -0
- package/dist/services/project-identity/alias-resolver.js +129 -0
- package/dist/services/project-identity/alias-resolver.js.map +1 -0
- package/dist/services/project-identity/apply.d.ts +89 -0
- package/dist/services/project-identity/apply.d.ts.map +1 -0
- package/dist/services/project-identity/apply.js +619 -0
- package/dist/services/project-identity/apply.js.map +1 -0
- package/dist/services/project-identity/contracts.d.ts +103 -0
- package/dist/services/project-identity/contracts.d.ts.map +1 -0
- package/dist/services/project-identity/contracts.js +63 -0
- package/dist/services/project-identity/contracts.js.map +1 -0
- package/dist/services/project-identity/discovery.d.ts +39 -0
- package/dist/services/project-identity/discovery.d.ts.map +1 -0
- package/dist/services/project-identity/discovery.js +139 -0
- package/dist/services/project-identity/discovery.js.map +1 -0
- package/dist/services/project-identity/errors.d.ts +11 -0
- package/dist/services/project-identity/errors.d.ts.map +1 -0
- package/dist/services/project-identity/errors.js +40 -0
- package/dist/services/project-identity/errors.js.map +1 -0
- package/dist/services/project-identity/hash.d.ts +16 -0
- package/dist/services/project-identity/hash.d.ts.map +1 -0
- package/dist/services/project-identity/hash.js +91 -0
- package/dist/services/project-identity/hash.js.map +1 -0
- package/dist/services/project-identity/identity-guard-installer.d.ts +60 -0
- package/dist/services/project-identity/identity-guard-installer.d.ts.map +1 -0
- package/dist/services/project-identity/identity-guard-installer.js +116 -0
- package/dist/services/project-identity/identity-guard-installer.js.map +1 -0
- package/dist/services/project-identity/index.d.ts +25 -0
- package/dist/services/project-identity/index.d.ts.map +1 -0
- package/dist/services/project-identity/index.js +14 -0
- package/dist/services/project-identity/index.js.map +1 -0
- package/dist/services/project-identity/invalidator-registry.d.ts +52 -0
- package/dist/services/project-identity/invalidator-registry.d.ts.map +1 -0
- package/dist/services/project-identity/invalidator-registry.js +73 -0
- package/dist/services/project-identity/invalidator-registry.js.map +1 -0
- package/dist/services/project-identity/pg-array-codec.d.ts +24 -0
- package/dist/services/project-identity/pg-array-codec.d.ts.map +1 -0
- package/dist/services/project-identity/pg-array-codec.js +85 -0
- package/dist/services/project-identity/pg-array-codec.js.map +1 -0
- package/dist/services/project-identity/planner.d.ts +39 -0
- package/dist/services/project-identity/planner.d.ts.map +1 -0
- package/dist/services/project-identity/planner.js +206 -0
- package/dist/services/project-identity/planner.js.map +1 -0
- package/dist/services/project-identity/production-wiring.d.ts +60 -0
- package/dist/services/project-identity/production-wiring.d.ts.map +1 -0
- package/dist/services/project-identity/production-wiring.js +106 -0
- package/dist/services/project-identity/production-wiring.js.map +1 -0
- package/dist/services/project-identity/registry.d.ts +24 -0
- package/dist/services/project-identity/registry.d.ts.map +1 -0
- package/dist/services/project-identity/registry.js +72 -0
- package/dist/services/project-identity/registry.js.map +1 -0
- package/dist/services/project-identity/service.d.ts +28 -0
- package/dist/services/project-identity/service.d.ts.map +1 -0
- package/dist/services/project-identity/service.js +79 -0
- package/dist/services/project-identity/service.js.map +1 -0
- package/dist/services/query/prisma-client.d.ts +10 -0
- package/dist/services/query/prisma-client.d.ts.map +1 -0
- package/dist/services/query/prisma-client.js +37 -0
- package/dist/services/query/prisma-client.js.map +1 -0
- package/dist/services/scheduler/index.d.ts +13 -0
- package/dist/services/scheduler/index.d.ts.map +1 -0
- package/dist/services/scheduler/index.js +9 -0
- package/dist/services/scheduler/index.js.map +1 -0
- package/dist/services/scheduler/scheduler-cron.d.ts +39 -0
- package/dist/services/scheduler/scheduler-cron.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler-cron.js +159 -0
- package/dist/services/scheduler/scheduler-cron.js.map +1 -0
- package/dist/services/scheduler/scheduler-defaults.d.ts +55 -0
- package/dist/services/scheduler/scheduler-defaults.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler-defaults.js +188 -0
- package/dist/services/scheduler/scheduler-defaults.js.map +1 -0
- package/dist/services/scheduler/scheduler-store-factory.d.ts +13 -0
- package/dist/services/scheduler/scheduler-store-factory.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler-store-factory.js +23 -0
- package/dist/services/scheduler/scheduler-store-factory.js.map +1 -0
- package/dist/services/scheduler/scheduler-store-pg.d.ts +44 -0
- package/dist/services/scheduler/scheduler-store-pg.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler-store-pg.js +252 -0
- package/dist/services/scheduler/scheduler-store-pg.js.map +1 -0
- package/dist/services/scheduler/scheduler-store.d.ts +10 -0
- package/dist/services/scheduler/scheduler-store.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler-store.js +2 -0
- package/dist/services/scheduler/scheduler-store.js.map +1 -0
- package/dist/services/scheduler/scheduler-types.d.ts +75 -0
- package/dist/services/scheduler/scheduler-types.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler-types.js +10 -0
- package/dist/services/scheduler/scheduler-types.js.map +1 -0
- package/dist/services/scheduler/scheduler.d.ts +149 -0
- package/dist/services/scheduler/scheduler.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler.js +453 -0
- package/dist/services/scheduler/scheduler.js.map +1 -0
- package/dist/services/search/analytics-factory.d.ts +9 -0
- package/dist/services/search/analytics-factory.d.ts.map +1 -0
- package/dist/services/search/analytics-factory.js +24 -0
- package/dist/services/search/analytics-factory.js.map +1 -0
- package/dist/services/search/cache-factory.d.ts +9 -0
- package/dist/services/search/cache-factory.d.ts.map +1 -0
- package/dist/services/search/cache-factory.js +22 -0
- package/dist/services/search/cache-factory.js.map +1 -0
- package/dist/services/search/capture-policy-interfaces.d.ts +59 -0
- package/dist/services/search/capture-policy-interfaces.d.ts.map +1 -0
- package/dist/services/search/capture-policy-interfaces.js +15 -0
- package/dist/services/search/capture-policy-interfaces.js.map +1 -0
- package/dist/services/search/capture-policy.d.ts +54 -0
- package/dist/services/search/capture-policy.d.ts.map +1 -0
- package/dist/services/search/capture-policy.js +185 -0
- package/dist/services/search/capture-policy.js.map +1 -0
- package/dist/services/search/chunker/chunker-code.d.ts +24 -0
- package/dist/services/search/chunker/chunker-code.d.ts.map +1 -0
- package/dist/services/search/chunker/chunker-code.js +182 -0
- package/dist/services/search/chunker/chunker-code.js.map +1 -0
- package/dist/services/search/chunker/chunker-json-yaml.d.ts +9 -0
- package/dist/services/search/chunker/chunker-json-yaml.d.ts.map +1 -0
- package/dist/services/search/chunker/chunker-json-yaml.js +124 -0
- package/dist/services/search/chunker/chunker-json-yaml.js.map +1 -0
- package/dist/services/search/chunker/chunker-markdown.d.ts +9 -0
- package/dist/services/search/chunker/chunker-markdown.d.ts.map +1 -0
- package/dist/services/search/chunker/chunker-markdown.js +70 -0
- package/dist/services/search/chunker/chunker-markdown.js.map +1 -0
- package/dist/services/search/chunker/chunker-post.d.ts +12 -0
- package/dist/services/search/chunker/chunker-post.d.ts.map +1 -0
- package/dist/services/search/chunker/chunker-post.js +139 -0
- package/dist/services/search/chunker/chunker-post.js.map +1 -0
- package/dist/services/search/chunker/chunker-types.d.ts +43 -0
- package/dist/services/search/chunker/chunker-types.d.ts.map +1 -0
- package/dist/services/search/chunker/chunker-types.js +15 -0
- package/dist/services/search/chunker/chunker-types.js.map +1 -0
- package/dist/services/search/contextual-search-rlm.d.ts +243 -0
- package/dist/services/search/contextual-search-rlm.d.ts.map +1 -0
- package/dist/services/search/contextual-search-rlm.js +260 -0
- package/dist/services/search/contextual-search-rlm.js.map +1 -0
- package/dist/services/search/file-filter-cache.d.ts +55 -0
- package/dist/services/search/file-filter-cache.d.ts.map +1 -0
- package/dist/services/search/file-filter-cache.js +159 -0
- package/dist/services/search/file-filter-cache.js.map +1 -0
- package/dist/services/search/filter-validation.d.ts +61 -0
- package/dist/services/search/filter-validation.d.ts.map +1 -0
- package/dist/services/search/filter-validation.js +111 -0
- package/dist/services/search/filter-validation.js.map +1 -0
- package/dist/services/search/ignore-patterns.d.ts +39 -0
- package/dist/services/search/ignore-patterns.d.ts.map +1 -0
- package/dist/services/search/ignore-patterns.js +125 -0
- package/dist/services/search/ignore-patterns.js.map +1 -0
- package/dist/services/search/index-manager.d.ts +81 -0
- package/dist/services/search/index-manager.d.ts.map +1 -0
- package/dist/services/search/index-manager.js +315 -0
- package/dist/services/search/index-manager.js.map +1 -0
- package/dist/services/search/lexical-search.d.ts +83 -0
- package/dist/services/search/lexical-search.d.ts.map +1 -0
- package/dist/services/search/lexical-search.js +297 -0
- package/dist/services/search/lexical-search.js.map +1 -0
- package/dist/services/search/query-understanding.d.ts +115 -0
- package/dist/services/search/query-understanding.d.ts.map +1 -0
- package/dist/services/search/query-understanding.js +281 -0
- package/dist/services/search/query-understanding.js.map +1 -0
- package/dist/services/search/reranker.d.ts +59 -0
- package/dist/services/search/reranker.d.ts.map +1 -0
- package/dist/services/search/reranker.js +156 -0
- package/dist/services/search/reranker.js.map +1 -0
- package/dist/services/search/rlm-admin.d.ts +22 -0
- package/dist/services/search/rlm-admin.d.ts.map +1 -0
- package/dist/services/search/rlm-admin.js +92 -0
- package/dist/services/search/rlm-admin.js.map +1 -0
- package/dist/services/search/rlm-fusion.d.ts +23 -0
- package/dist/services/search/rlm-fusion.d.ts.map +1 -0
- package/dist/services/search/rlm-fusion.js +180 -0
- package/dist/services/search/rlm-fusion.js.map +1 -0
- package/dist/services/search/rlm-indexing.d.ts +71 -0
- package/dist/services/search/rlm-indexing.d.ts.map +1 -0
- package/dist/services/search/rlm-indexing.js +431 -0
- package/dist/services/search/rlm-indexing.js.map +1 -0
- package/dist/services/search/rlm-search.d.ts +28 -0
- package/dist/services/search/rlm-search.d.ts.map +1 -0
- package/dist/services/search/rlm-search.js +489 -0
- package/dist/services/search/rlm-search.js.map +1 -0
- package/dist/services/search/rlm-synapse.d.ts +44 -0
- package/dist/services/search/rlm-synapse.d.ts.map +1 -0
- package/dist/services/search/rlm-synapse.js +227 -0
- package/dist/services/search/rlm-synapse.js.map +1 -0
- package/dist/services/search/search-analytics-pg.d.ts +62 -0
- package/dist/services/search/search-analytics-pg.d.ts.map +1 -0
- package/dist/services/search/search-analytics-pg.js +242 -0
- package/dist/services/search/search-analytics-pg.js.map +1 -0
- package/dist/services/search/search-analytics.d.ts +3 -0
- package/dist/services/search/search-analytics.d.ts.map +1 -0
- package/dist/services/search/search-analytics.js +3 -0
- package/dist/services/search/search-analytics.js.map +1 -0
- package/dist/services/search/search-cache-pg.d.ts +49 -0
- package/dist/services/search/search-cache-pg.d.ts.map +1 -0
- package/dist/services/search/search-cache-pg.js +315 -0
- package/dist/services/search/search-cache-pg.js.map +1 -0
- package/dist/services/search/search-diagnostics.d.ts +39 -0
- package/dist/services/search/search-diagnostics.d.ts.map +1 -0
- package/dist/services/search/search-diagnostics.js +81 -0
- package/dist/services/search/search-diagnostics.js.map +1 -0
- package/dist/services/search/search-warmup.d.ts +29 -0
- package/dist/services/search/search-warmup.d.ts.map +1 -0
- package/dist/services/search/search-warmup.js +96 -0
- package/dist/services/search/search-warmup.js.map +1 -0
- package/dist/services/search/smart-chunker.d.ts +16 -0
- package/dist/services/search/smart-chunker.d.ts.map +1 -0
- package/dist/services/search/smart-chunker.js +67 -0
- package/dist/services/search/smart-chunker.js.map +1 -0
- package/dist/services/structural/diagnostics.d.ts +6 -0
- package/dist/services/structural/diagnostics.d.ts.map +1 -0
- package/dist/services/structural/diagnostics.js +22 -0
- package/dist/services/structural/diagnostics.js.map +1 -0
- package/dist/services/structural/fqn-codec.d.ts +105 -0
- package/dist/services/structural/fqn-codec.d.ts.map +1 -0
- package/dist/services/structural/fqn-codec.js +272 -0
- package/dist/services/structural/fqn-codec.js.map +1 -0
- package/dist/services/structural/grammar-integrity.d.ts +37 -0
- package/dist/services/structural/grammar-integrity.d.ts.map +1 -0
- package/dist/services/structural/grammar-integrity.js +196 -0
- package/dist/services/structural/grammar-integrity.js.map +1 -0
- package/dist/services/structural/grammar-loaders.d.ts +69 -0
- package/dist/services/structural/grammar-loaders.d.ts.map +1 -0
- package/dist/services/structural/grammar-loaders.js +229 -0
- package/dist/services/structural/grammar-loaders.js.map +1 -0
- package/dist/services/structural/language-manifest.d.ts +59 -0
- package/dist/services/structural/language-manifest.d.ts.map +1 -0
- package/dist/services/structural/language-manifest.js +413 -0
- package/dist/services/structural/language-manifest.js.map +1 -0
- package/dist/services/structural/native-lock-identities.d.ts +77 -0
- package/dist/services/structural/native-lock-identities.d.ts.map +1 -0
- package/dist/services/structural/native-lock-identities.js +192 -0
- package/dist/services/structural/native-lock-identities.js.map +1 -0
- package/dist/services/structural/native-node-helpers.d.ts +16 -0
- package/dist/services/structural/native-node-helpers.d.ts.map +1 -0
- package/dist/services/structural/native-node-helpers.js +145 -0
- package/dist/services/structural/native-node-helpers.js.map +1 -0
- package/dist/services/structural/parser-pool.d.ts +34 -0
- package/dist/services/structural/parser-pool.d.ts.map +1 -0
- package/dist/services/structural/parser-pool.js +148 -0
- package/dist/services/structural/parser-pool.js.map +1 -0
- package/dist/services/structural/parser-readiness.d.ts +30 -0
- package/dist/services/structural/parser-readiness.d.ts.map +1 -0
- package/dist/services/structural/parser-readiness.js +190 -0
- package/dist/services/structural/parser-readiness.js.map +1 -0
- package/dist/services/structural/query-pack-captures.d.ts +32 -0
- package/dist/services/structural/query-pack-captures.d.ts.map +1 -0
- package/dist/services/structural/query-pack-captures.js +173 -0
- package/dist/services/structural/query-pack-captures.js.map +1 -0
- package/dist/services/structural/query-pack-edges.d.ts +11 -0
- package/dist/services/structural/query-pack-edges.d.ts.map +1 -0
- package/dist/services/structural/query-pack-edges.js +521 -0
- package/dist/services/structural/query-pack-edges.js.map +1 -0
- package/dist/services/structural/query-pack-registry.d.ts +24 -0
- package/dist/services/structural/query-pack-registry.d.ts.map +1 -0
- package/dist/services/structural/query-pack-registry.js +42 -0
- package/dist/services/structural/query-pack-registry.js.map +1 -0
- package/dist/services/structural/query-pack.d.ts +10 -0
- package/dist/services/structural/query-pack.d.ts.map +1 -0
- package/dist/services/structural/query-pack.js +32 -0
- package/dist/services/structural/query-pack.js.map +1 -0
- package/dist/services/structural/query-packs/data-document.d.ts +7 -0
- package/dist/services/structural/query-packs/data-document.d.ts.map +1 -0
- package/dist/services/structural/query-packs/data-document.js +23 -0
- package/dist/services/structural/query-packs/data-document.js.map +1 -0
- package/dist/services/structural/query-packs/functional.d.ts +8 -0
- package/dist/services/structural/query-packs/functional.d.ts.map +1 -0
- package/dist/services/structural/query-packs/functional.js +58 -0
- package/dist/services/structural/query-packs/functional.js.map +1 -0
- package/dist/services/structural/query-packs/managed.d.ts +9 -0
- package/dist/services/structural/query-packs/managed.d.ts.map +1 -0
- package/dist/services/structural/query-packs/managed.js +114 -0
- package/dist/services/structural/query-packs/managed.js.map +1 -0
- package/dist/services/structural/query-packs/scripting.d.ts +7 -0
- package/dist/services/structural/query-packs/scripting.d.ts.map +1 -0
- package/dist/services/structural/query-packs/scripting.js +53 -0
- package/dist/services/structural/query-packs/scripting.js.map +1 -0
- package/dist/services/structural/query-packs/systems.d.ts +8 -0
- package/dist/services/structural/query-packs/systems.d.ts.map +1 -0
- package/dist/services/structural/query-packs/systems.js +74 -0
- package/dist/services/structural/query-packs/systems.js.map +1 -0
- package/dist/services/structural/query-packs/typescript.d.ts +4 -0
- package/dist/services/structural/query-packs/typescript.d.ts.map +1 -0
- package/dist/services/structural/query-packs/typescript.js +51 -0
- package/dist/services/structural/query-packs/typescript.js.map +1 -0
- package/dist/services/structural/resolver.d.ts +86 -0
- package/dist/services/structural/resolver.d.ts.map +1 -0
- package/dist/services/structural/resolver.js +189 -0
- package/dist/services/structural/resolver.js.map +1 -0
- package/dist/services/structural/resolvers/data-document.d.ts +4 -0
- package/dist/services/structural/resolvers/data-document.d.ts.map +1 -0
- package/dist/services/structural/resolvers/data-document.js +7 -0
- package/dist/services/structural/resolvers/data-document.js.map +1 -0
- package/dist/services/structural/resolvers/functional.d.ts +3 -0
- package/dist/services/structural/resolvers/functional.d.ts.map +1 -0
- package/dist/services/structural/resolvers/functional.js +30 -0
- package/dist/services/structural/resolvers/functional.js.map +1 -0
- package/dist/services/structural/resolvers/managed.d.ts +3 -0
- package/dist/services/structural/resolvers/managed.d.ts.map +1 -0
- package/dist/services/structural/resolvers/managed.js +44 -0
- package/dist/services/structural/resolvers/managed.js.map +1 -0
- package/dist/services/structural/resolvers/scripting.d.ts +4 -0
- package/dist/services/structural/resolvers/scripting.d.ts.map +1 -0
- package/dist/services/structural/resolvers/scripting.js +10 -0
- package/dist/services/structural/resolvers/scripting.js.map +1 -0
- package/dist/services/structural/resolvers/systems.d.ts +3 -0
- package/dist/services/structural/resolvers/systems.d.ts.map +1 -0
- package/dist/services/structural/resolvers/systems.js +33 -0
- package/dist/services/structural/resolvers/systems.js.map +1 -0
- package/dist/services/structural/resolvers/typescript.d.ts +6 -0
- package/dist/services/structural/resolvers/typescript.d.ts.map +1 -0
- package/dist/services/structural/resolvers/typescript.js +370 -0
- package/dist/services/structural/resolvers/typescript.js.map +1 -0
- package/dist/services/structural/schema-version.d.ts +42 -0
- package/dist/services/structural/schema-version.d.ts.map +1 -0
- package/dist/services/structural/schema-version.js +80 -0
- package/dist/services/structural/schema-version.js.map +1 -0
- package/dist/services/structural/source-span.d.ts +26 -0
- package/dist/services/structural/source-span.d.ts.map +1 -0
- package/dist/services/structural/source-span.js +117 -0
- package/dist/services/structural/source-span.js.map +1 -0
- package/dist/services/structural/structural-runtime.d.ts +55 -0
- package/dist/services/structural/structural-runtime.d.ts.map +1 -0
- package/dist/services/structural/structural-runtime.js +377 -0
- package/dist/services/structural/structural-runtime.js.map +1 -0
- package/dist/services/structural/symbol-signature.d.ts +25 -0
- package/dist/services/structural/symbol-signature.d.ts.map +1 -0
- package/dist/services/structural/symbol-signature.js +319 -0
- package/dist/services/structural/symbol-signature.js.map +1 -0
- package/dist/services/structural/types.d.ts +138 -0
- package/dist/services/structural/types.d.ts.map +1 -0
- package/dist/services/structural/types.js +27 -0
- package/dist/services/structural/types.js.map +1 -0
- package/dist/services/symbol/active-generation.d.ts +42 -0
- package/dist/services/symbol/active-generation.d.ts.map +1 -0
- package/dist/services/symbol/active-generation.js +56 -0
- package/dist/services/symbol/active-generation.js.map +1 -0
- package/dist/services/symbol/architecture.d.ts +238 -0
- package/dist/services/symbol/architecture.d.ts.map +1 -0
- package/dist/services/symbol/architecture.js +464 -0
- package/dist/services/symbol/architecture.js.map +1 -0
- package/dist/services/symbol/centrality.d.ts +24 -0
- package/dist/services/symbol/centrality.d.ts.map +1 -0
- package/dist/services/symbol/centrality.js +70 -0
- package/dist/services/symbol/centrality.js.map +1 -0
- package/dist/services/symbol/communities.d.ts +86 -0
- package/dist/services/symbol/communities.d.ts.map +1 -0
- package/dist/services/symbol/communities.js +551 -0
- package/dist/services/symbol/communities.js.map +1 -0
- package/dist/services/symbol/cycle-detection.d.ts +61 -0
- package/dist/services/symbol/cycle-detection.d.ts.map +1 -0
- package/dist/services/symbol/cycle-detection.js +182 -0
- package/dist/services/symbol/cycle-detection.js.map +1 -0
- package/dist/services/symbol/definition-lookup.d.ts +31 -0
- package/dist/services/symbol/definition-lookup.d.ts.map +1 -0
- package/dist/services/symbol/definition-lookup.js +53 -0
- package/dist/services/symbol/definition-lookup.js.map +1 -0
- package/dist/services/symbol/git-ref-validation.d.ts +26 -0
- package/dist/services/symbol/git-ref-validation.d.ts.map +1 -0
- package/dist/services/symbol/git-ref-validation.js +34 -0
- package/dist/services/symbol/git-ref-validation.js.map +1 -0
- package/dist/services/symbol/impact-analysis.d.ts +205 -0
- package/dist/services/symbol/impact-analysis.d.ts.map +1 -0
- package/dist/services/symbol/impact-analysis.js +617 -0
- package/dist/services/symbol/impact-analysis.js.map +1 -0
- package/dist/services/symbol/index.d.ts +20 -0
- package/dist/services/symbol/index.d.ts.map +1 -0
- package/dist/services/symbol/index.js +13 -0
- package/dist/services/symbol/index.js.map +1 -0
- package/dist/services/symbol/symbol-graph.service.d.ts +272 -0
- package/dist/services/symbol/symbol-graph.service.d.ts.map +1 -0
- package/dist/services/symbol/symbol-graph.service.js +580 -0
- package/dist/services/symbol/symbol-graph.service.js.map +1 -0
- package/dist/services/symbol/trace-path.d.ts +164 -0
- package/dist/services/symbol/trace-path.d.ts.map +1 -0
- package/dist/services/symbol/trace-path.js +448 -0
- package/dist/services/symbol/trace-path.js.map +1 -0
- package/dist/services/synapse/buffer/index.d.ts +2 -0
- package/dist/services/synapse/buffer/index.d.ts.map +1 -0
- package/dist/services/synapse/buffer/index.js +2 -0
- package/dist/services/synapse/buffer/index.js.map +1 -0
- package/dist/services/synapse/buffer/working-memory-buffer.d.ts +124 -0
- package/dist/services/synapse/buffer/working-memory-buffer.d.ts.map +1 -0
- package/dist/services/synapse/buffer/working-memory-buffer.js +251 -0
- package/dist/services/synapse/buffer/working-memory-buffer.js.map +1 -0
- package/dist/services/synapse/index.d.ts +27 -0
- package/dist/services/synapse/index.d.ts.map +1 -0
- package/dist/services/synapse/index.js +35 -0
- package/dist/services/synapse/index.js.map +1 -0
- package/dist/services/synapse/inhibition/chain-inhibition.d.ts +36 -0
- package/dist/services/synapse/inhibition/chain-inhibition.d.ts.map +1 -0
- package/dist/services/synapse/inhibition/chain-inhibition.js +133 -0
- package/dist/services/synapse/inhibition/chain-inhibition.js.map +1 -0
- package/dist/services/synapse/inhibition/confidence-gate.d.ts +49 -0
- package/dist/services/synapse/inhibition/confidence-gate.d.ts.map +1 -0
- package/dist/services/synapse/inhibition/confidence-gate.js +131 -0
- package/dist/services/synapse/inhibition/confidence-gate.js.map +1 -0
- package/dist/services/synapse/inhibition/diversity-penalty.d.ts +28 -0
- package/dist/services/synapse/inhibition/diversity-penalty.d.ts.map +1 -0
- package/dist/services/synapse/inhibition/diversity-penalty.js +75 -0
- package/dist/services/synapse/inhibition/diversity-penalty.js.map +1 -0
- package/dist/services/synapse/inhibition/index.d.ts +5 -0
- package/dist/services/synapse/inhibition/index.d.ts.map +1 -0
- package/dist/services/synapse/inhibition/index.js +5 -0
- package/dist/services/synapse/inhibition/index.js.map +1 -0
- package/dist/services/synapse/inhibition/temporal-inhibition.d.ts +21 -0
- package/dist/services/synapse/inhibition/temporal-inhibition.d.ts.map +1 -0
- package/dist/services/synapse/inhibition/temporal-inhibition.js +70 -0
- package/dist/services/synapse/inhibition/temporal-inhibition.js.map +1 -0
- package/dist/services/synapse/inhibition/type-inference.d.ts +14 -0
- package/dist/services/synapse/inhibition/type-inference.d.ts.map +1 -0
- package/dist/services/synapse/inhibition/type-inference.js +36 -0
- package/dist/services/synapse/inhibition/type-inference.js.map +1 -0
- package/dist/services/synapse/metacognition/index.d.ts +2 -0
- package/dist/services/synapse/metacognition/index.d.ts.map +1 -0
- package/dist/services/synapse/metacognition/index.js +2 -0
- package/dist/services/synapse/metacognition/index.js.map +1 -0
- package/dist/services/synapse/metacognition/score-spectrum.d.ts +29 -0
- package/dist/services/synapse/metacognition/score-spectrum.d.ts.map +1 -0
- package/dist/services/synapse/metacognition/score-spectrum.js +70 -0
- package/dist/services/synapse/metacognition/score-spectrum.js.map +1 -0
- package/dist/services/synapse/plasticity/compress.d.ts +64 -0
- package/dist/services/synapse/plasticity/compress.d.ts.map +1 -0
- package/dist/services/synapse/plasticity/compress.js +82 -0
- package/dist/services/synapse/plasticity/compress.js.map +1 -0
- package/dist/services/synapse/plasticity/embedding-evolution.d.ts +42 -0
- package/dist/services/synapse/plasticity/embedding-evolution.d.ts.map +1 -0
- package/dist/services/synapse/plasticity/embedding-evolution.js +81 -0
- package/dist/services/synapse/plasticity/embedding-evolution.js.map +1 -0
- package/dist/services/synapse/plasticity/index.d.ts +4 -0
- package/dist/services/synapse/plasticity/index.d.ts.map +1 -0
- package/dist/services/synapse/plasticity/index.js +4 -0
- package/dist/services/synapse/plasticity/index.js.map +1 -0
- package/dist/services/synapse/plasticity/strengthen.d.ts +45 -0
- package/dist/services/synapse/plasticity/strengthen.d.ts.map +1 -0
- package/dist/services/synapse/plasticity/strengthen.js +69 -0
- package/dist/services/synapse/plasticity/strengthen.js.map +1 -0
- package/dist/services/synapse/prefetch/index.d.ts +2 -0
- package/dist/services/synapse/prefetch/index.d.ts.map +1 -0
- package/dist/services/synapse/prefetch/index.js +2 -0
- package/dist/services/synapse/prefetch/index.js.map +1 -0
- package/dist/services/synapse/prefetch/prefetch.d.ts +75 -0
- package/dist/services/synapse/prefetch/prefetch.d.ts.map +1 -0
- package/dist/services/synapse/prefetch/prefetch.js +111 -0
- package/dist/services/synapse/prefetch/prefetch.js.map +1 -0
- package/dist/services/synapse/scoring/agent-affinity.d.ts +16 -0
- package/dist/services/synapse/scoring/agent-affinity.d.ts.map +1 -0
- package/dist/services/synapse/scoring/agent-affinity.js +40 -0
- package/dist/services/synapse/scoring/agent-affinity.js.map +1 -0
- package/dist/services/synapse/scoring/attention-score.d.ts +80 -0
- package/dist/services/synapse/scoring/attention-score.d.ts.map +1 -0
- package/dist/services/synapse/scoring/attention-score.js +177 -0
- package/dist/services/synapse/scoring/attention-score.js.map +1 -0
- package/dist/services/synapse/scoring/index.d.ts +4 -0
- package/dist/services/synapse/scoring/index.d.ts.map +1 -0
- package/dist/services/synapse/scoring/index.js +4 -0
- package/dist/services/synapse/scoring/index.js.map +1 -0
- package/dist/services/synapse/scoring/task-alignment.d.ts +20 -0
- package/dist/services/synapse/scoring/task-alignment.d.ts.map +1 -0
- package/dist/services/synapse/scoring/task-alignment.js +65 -0
- package/dist/services/synapse/scoring/task-alignment.js.map +1 -0
- package/dist/services/synapse/session/index.d.ts +2 -0
- package/dist/services/synapse/session/index.d.ts.map +1 -0
- package/dist/services/synapse/session/index.js +2 -0
- package/dist/services/synapse/session/index.js.map +1 -0
- package/dist/services/synapse/session/session-registry.d.ts +85 -0
- package/dist/services/synapse/session/session-registry.d.ts.map +1 -0
- package/dist/services/synapse/session/session-registry.js +241 -0
- package/dist/services/synapse/session/session-registry.js.map +1 -0
- package/dist/services/synapse/session/session-store-pg.d.ts +88 -0
- package/dist/services/synapse/session/session-store-pg.d.ts.map +1 -0
- package/dist/services/synapse/session/session-store-pg.js +334 -0
- package/dist/services/synapse/session/session-store-pg.js.map +1 -0
- package/dist/services/synapse/session/session-store.d.ts +23 -0
- package/dist/services/synapse/session/session-store.d.ts.map +1 -0
- package/dist/services/synapse/session/session-store.js +15 -0
- package/dist/services/synapse/session/session-store.js.map +1 -0
- package/dist/services/synapse/synapse-manager.d.ts +41 -0
- package/dist/services/synapse/synapse-manager.d.ts.map +1 -0
- package/dist/services/synapse/synapse-manager.js +167 -0
- package/dist/services/synapse/synapse-manager.js.map +1 -0
- package/dist/services/synapse/task-envelope.d.ts +99 -0
- package/dist/services/synapse/task-envelope.d.ts.map +1 -0
- package/dist/services/synapse/task-envelope.js +192 -0
- package/dist/services/synapse/task-envelope.js.map +1 -0
- package/dist/services/synapse/types.d.ts +79 -0
- package/dist/services/synapse/types.d.ts.map +1 -0
- package/dist/services/synapse/types.js +8 -0
- package/dist/services/synapse/types.js.map +1 -0
- package/dist/services/web/fetcher.d.ts +99 -0
- package/dist/services/web/fetcher.d.ts.map +1 -0
- package/dist/services/web/fetcher.js +267 -0
- package/dist/services/web/fetcher.js.map +1 -0
- package/dist/services/web/html-to-md.d.ts +38 -0
- package/dist/services/web/html-to-md.d.ts.map +1 -0
- package/dist/services/web/html-to-md.js +98 -0
- package/dist/services/web/html-to-md.js.map +1 -0
- package/dist/services/web/index.d.ts +15 -0
- package/dist/services/web/index.d.ts.map +1 -0
- package/dist/services/web/index.js +15 -0
- package/dist/services/web/index.js.map +1 -0
- package/dist/services/web/ssrf.d.ts +142 -0
- package/dist/services/web/ssrf.d.ts.map +1 -0
- package/dist/services/web/ssrf.js +334 -0
- package/dist/services/web/ssrf.js.map +1 -0
- package/dist/services/web/web-controller.d.ts +70 -0
- package/dist/services/web/web-controller.d.ts.map +1 -0
- package/dist/services/web/web-controller.js +140 -0
- package/dist/services/web/web-controller.js.map +1 -0
- package/dist/services/workspace/index.d.ts +6 -0
- package/dist/services/workspace/index.d.ts.map +1 -0
- package/dist/services/workspace/index.js +5 -0
- package/dist/services/workspace/index.js.map +1 -0
- package/dist/services/workspace/workspace-manager.d.ts +57 -0
- package/dist/services/workspace/workspace-manager.d.ts.map +1 -0
- package/dist/services/workspace/workspace-manager.js +144 -0
- package/dist/services/workspace/workspace-manager.js.map +1 -0
- package/dist/tools/batch_execute.d.ts +64 -0
- package/dist/tools/batch_execute.d.ts.map +1 -0
- package/dist/tools/batch_execute.js +55 -0
- package/dist/tools/batch_execute.js.map +1 -0
- package/dist/tools/compact_snapshot.d.ts +56 -0
- package/dist/tools/compact_snapshot.d.ts.map +1 -0
- package/dist/tools/compact_snapshot.js +139 -0
- package/dist/tools/compact_snapshot.js.map +1 -0
- package/dist/tools/compress_context.d.ts +41 -0
- package/dist/tools/compress_context.d.ts.map +1 -0
- package/dist/tools/compress_context.js +103 -0
- package/dist/tools/compress_context.js.map +1 -0
- package/dist/tools/create_checkpoint.d.ts +120 -0
- package/dist/tools/create_checkpoint.d.ts.map +1 -0
- package/dist/tools/create_checkpoint.js +184 -0
- package/dist/tools/create_checkpoint.js.map +1 -0
- package/dist/tools/delete_memory.d.ts +39 -0
- package/dist/tools/delete_memory.d.ts.map +1 -0
- package/dist/tools/delete_memory.js +51 -0
- package/dist/tools/delete_memory.js.map +1 -0
- package/dist/tools/enum-validation.d.ts +37 -0
- package/dist/tools/enum-validation.d.ts.map +1 -0
- package/dist/tools/enum-validation.js +46 -0
- package/dist/tools/enum-validation.js.map +1 -0
- package/dist/tools/execute.d.ts +57 -0
- package/dist/tools/execute.d.ts.map +1 -0
- package/dist/tools/execute.js +64 -0
- package/dist/tools/execute.js.map +1 -0
- package/dist/tools/execute_file.d.ts +52 -0
- package/dist/tools/execute_file.d.ts.map +1 -0
- package/dist/tools/execute_file.js +61 -0
- package/dist/tools/execute_file.js.map +1 -0
- package/dist/tools/fetch_and_index.d.ts +71 -0
- package/dist/tools/fetch_and_index.d.ts.map +1 -0
- package/dist/tools/fetch_and_index.js +74 -0
- package/dist/tools/fetch_and_index.js.map +1 -0
- package/dist/tools/get_analytics.d.ts +38 -0
- package/dist/tools/get_analytics.d.ts.map +1 -0
- package/dist/tools/get_analytics.js +114 -0
- package/dist/tools/get_analytics.js.map +1 -0
- package/dist/tools/get_architecture.d.ts +59 -0
- package/dist/tools/get_architecture.d.ts.map +1 -0
- package/dist/tools/get_architecture.js +104 -0
- package/dist/tools/get_architecture.js.map +1 -0
- package/dist/tools/get_index_status.d.ts +23 -0
- package/dist/tools/get_index_status.d.ts.map +1 -0
- package/dist/tools/get_index_status.js +61 -0
- package/dist/tools/get_index_status.js.map +1 -0
- package/dist/tools/get_optimized_context.d.ts +78 -0
- package/dist/tools/get_optimized_context.d.ts.map +1 -0
- package/dist/tools/get_optimized_context.js +110 -0
- package/dist/tools/get_optimized_context.js.map +1 -0
- package/dist/tools/get_references.d.ts +53 -0
- package/dist/tools/get_references.d.ts.map +1 -0
- package/dist/tools/get_references.js +114 -0
- package/dist/tools/get_references.js.map +1 -0
- package/dist/tools/go_to_definition.d.ts +31 -0
- package/dist/tools/go_to_definition.d.ts.map +1 -0
- package/dist/tools/go_to_definition.js +75 -0
- package/dist/tools/go_to_definition.js.map +1 -0
- package/dist/tools/impact_analysis.d.ts +89 -0
- package/dist/tools/impact_analysis.d.ts.map +1 -0
- package/dist/tools/impact_analysis.js +186 -0
- package/dist/tools/impact_analysis.js.map +1 -0
- package/dist/tools/index.d.ts +34 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +38 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/index_project.d.ts +77 -0
- package/dist/tools/index_project.d.ts.map +1 -0
- package/dist/tools/index_project.js +259 -0
- package/dist/tools/index_project.js.map +1 -0
- package/dist/tools/list_checkpoints.d.ts +59 -0
- package/dist/tools/list_checkpoints.d.ts.map +1 -0
- package/dist/tools/list_checkpoints.js +110 -0
- package/dist/tools/list_checkpoints.js.map +1 -0
- package/dist/tools/list_projects.d.ts +24 -0
- package/dist/tools/list_projects.d.ts.map +1 -0
- package/dist/tools/list_projects.js +58 -0
- package/dist/tools/list_projects.js.map +1 -0
- package/dist/tools/read_file.d.ts +150 -0
- package/dist/tools/read_file.d.ts.map +1 -0
- package/dist/tools/read_file.js +580 -0
- package/dist/tools/read_file.js.map +1 -0
- package/dist/tools/restore_checkpoint.d.ts +45 -0
- package/dist/tools/restore_checkpoint.d.ts.map +1 -0
- package/dist/tools/restore_checkpoint.js +113 -0
- package/dist/tools/restore_checkpoint.js.map +1 -0
- package/dist/tools/search_code.d.ts +35 -0
- package/dist/tools/search_code.d.ts.map +1 -0
- package/dist/tools/search_code.js +61 -0
- package/dist/tools/search_code.js.map +1 -0
- package/dist/tools/search_definitions.d.ts +54 -0
- package/dist/tools/search_definitions.d.ts.map +1 -0
- package/dist/tools/search_definitions.js +123 -0
- package/dist/tools/search_definitions.js.map +1 -0
- package/dist/tools/search_memories.d.ts +82 -0
- package/dist/tools/search_memories.d.ts.map +1 -0
- package/dist/tools/search_memories.js +115 -0
- package/dist/tools/search_memories.js.map +1 -0
- package/dist/tools/search_project.d.ts +90 -0
- package/dist/tools/search_project.d.ts.map +1 -0
- package/dist/tools/search_project.js +115 -0
- package/dist/tools/search_project.js.map +1 -0
- package/dist/tools/serialize-interfaces.d.ts +103 -0
- package/dist/tools/serialize-interfaces.d.ts.map +1 -0
- package/dist/tools/serialize-interfaces.js +15 -0
- package/dist/tools/serialize-interfaces.js.map +1 -0
- package/dist/tools/serialize.d.ts +101 -0
- package/dist/tools/serialize.d.ts.map +1 -0
- package/dist/tools/serialize.js +388 -0
- package/dist/tools/serialize.js.map +1 -0
- package/dist/tools/store_memory.d.ts +78 -0
- package/dist/tools/store_memory.d.ts.map +1 -0
- package/dist/tools/store_memory.js +87 -0
- package/dist/tools/store_memory.js.map +1 -0
- package/dist/tools/trace_path.d.ts +98 -0
- package/dist/tools/trace_path.d.ts.map +1 -0
- package/dist/tools/trace_path.js +181 -0
- package/dist/tools/trace_path.js.map +1 -0
- package/dist/tools/update_memory.d.ts +61 -0
- package/dist/tools/update_memory.d.ts.map +1 -0
- package/dist/tools/update_memory.js +74 -0
- package/dist/tools/update_memory.js.map +1 -0
- package/package.json +103 -0
- package/prisma/migrations/20260309210441_init/migration.sql +127 -0
- package/prisma/migrations/20260413122356_add_workspaces_symbol_graph/migration.sql +224 -0
- package/prisma/migrations/20260413200000_add_vector_4096_bq/migration.sql +33 -0
- package/prisma/migrations/20260419193214_hnsw_ef_construction_128/migration.sql +38 -0
- package/prisma/migrations/20260419214959_add_vector_1536/migration.sql +28 -0
- package/prisma/migrations/20260705060000_add_memories_pinned_softdelete/migration.sql +10 -0
- package/prisma/migrations/20260706105826_drop_symbol_refs_target_fqn_not_null/migration.sql +2 -0
- package/prisma/migrations/20260707100000_add_index_jobs_pg/migration.sql +28 -0
- package/prisma/migrations/20260709120000_add_scheduled_jobs_pg/migration.sql +22 -0
- package/prisma/migrations/20260710120000_add_synapse_sessions_pg/migration.sql +36 -0
- package/prisma/migrations/20260710123800_add_observations_pg/migration.sql +35 -0
- package/prisma/migrations/20260710140000_add_symbol_refs_meta_and_kind_index/migration.sql +8 -0
- package/prisma/migrations/20260710160000_add_task_checkpoints_pg/migration.sql +30 -0
- package/prisma/migrations/20260713090000_add_handoffs_proposals_pg/migration.sql +42 -0
- package/prisma/migrations/20260714170000_add_graph_generations/migration.sql +286 -0
- package/prisma/migrations/20260714220000_add_index_job_graph_generation/migration.sql +5 -0
- package/prisma/migrations/20260714233000_add_index_job_parser_diagnostics/migration.sql +6 -0
- package/prisma/migrations/20260718000000_add_operation_log/migration.sql +25 -0
- package/prisma/migrations/20260719120000_add_project_identity/migration.sql +268 -0
- package/prisma/migrations/20260720120000_add_observation_attribution/migration.sql +5 -0
- package/prisma/migrations/20260720210000_repair_hook_attribution/migration.sql +256 -0
- package/prisma/migrations/20260722120000_add_managed_runs/migration.sql +66 -0
- package/prisma/migrations/20260722130000_add_scheduler_last_success/migration.sql +24 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +745 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SessionRegistry — in-memory store of agent sessions.
|
|
3
|
+
*
|
|
4
|
+
* Kept deliberately simple: a Map keyed by sessionId with lazy TTL eviction.
|
|
5
|
+
* Persistence is out of scope; sessions are by definition ephemeral context
|
|
6
|
+
* windows for an agent working on a task right now.
|
|
7
|
+
*/
|
|
8
|
+
import { WorkingMemoryBuffer, } from "../buffer/working-memory-buffer.js";
|
|
9
|
+
import { logger } from "@massa-ai/shared";
|
|
10
|
+
const TOKEN_RE = /[a-z0-9_]{2,}/g;
|
|
11
|
+
function tokenize(text) {
|
|
12
|
+
const tokens = new Set();
|
|
13
|
+
for (const match of text.toLowerCase().matchAll(TOKEN_RE)) {
|
|
14
|
+
tokens.add(match[0]);
|
|
15
|
+
}
|
|
16
|
+
return tokens;
|
|
17
|
+
}
|
|
18
|
+
const DEFAULT_ACCESS_HISTORY_LIMIT = 1000;
|
|
19
|
+
export class SessionRegistry {
|
|
20
|
+
sessions = new Map();
|
|
21
|
+
defaultTtlMs;
|
|
22
|
+
store;
|
|
23
|
+
constructor(defaultTtlMs = 3_600_000, store) {
|
|
24
|
+
this.defaultTtlMs = defaultTtlMs;
|
|
25
|
+
this.store = store;
|
|
26
|
+
}
|
|
27
|
+
create(input, now = Date.now()) {
|
|
28
|
+
if (this.sessions.has(input.sessionId)) {
|
|
29
|
+
throw new Error(`Session already exists: ${input.sessionId}`);
|
|
30
|
+
}
|
|
31
|
+
const ttl = input.ttlMs ?? this.defaultTtlMs;
|
|
32
|
+
const session = {
|
|
33
|
+
sessionId: input.sessionId,
|
|
34
|
+
ttlMs: ttl,
|
|
35
|
+
agentId: input.agentId,
|
|
36
|
+
workspaceId: input.workspaceId,
|
|
37
|
+
taskContext: input.taskContext,
|
|
38
|
+
taskTokens: input.taskContext ? tokenize(input.taskContext) : undefined,
|
|
39
|
+
taskEmbedding: input.taskEmbedding,
|
|
40
|
+
createdAt: now,
|
|
41
|
+
expiresAt: now + ttl,
|
|
42
|
+
accessHistory: new Map(),
|
|
43
|
+
accessHistoryLimit: input.accessHistoryMaxEntries ?? DEFAULT_ACCESS_HISTORY_LIMIT,
|
|
44
|
+
buffer: input.bufferConfig ? new WorkingMemoryBuffer(input.bufferConfig) : undefined,
|
|
45
|
+
};
|
|
46
|
+
this.sessions.set(session.sessionId, session);
|
|
47
|
+
// Phase 1: write-through (best-effort).
|
|
48
|
+
try {
|
|
49
|
+
this.store?.save(session);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
logger.warn("[SessionRegistry] store save failed:", { error: error.message });
|
|
53
|
+
}
|
|
54
|
+
return session;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Await backend readiness before a read (hydration race fix, #18).
|
|
58
|
+
*
|
|
59
|
+
* Sync backends (PostgreSQL, Memory) resolve immediately. The PG backend awaits
|
|
60
|
+
* its in-memory mirror hydration so a session resume immediately after a
|
|
61
|
+
* process restart observes PG-persisted sessions. Call this before the first
|
|
62
|
+
* `get()` of a resume flow; the sync `get()` used by the modulation pipeline
|
|
63
|
+
* stays synchronous.
|
|
64
|
+
*/
|
|
65
|
+
async ensureReady() {
|
|
66
|
+
try {
|
|
67
|
+
await this.store?.ensureReady();
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
logger.warn("[SessionRegistry] store ensureReady failed:", { error: error.message });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Async resume path: await backend hydration, then return the session via the
|
|
75
|
+
* sync `get()`. Use this for session-resume entry points (REST/MCP) where a
|
|
76
|
+
* caller must observe a persisted session immediately after a process
|
|
77
|
+
* restart. The hot-path `process()` pipeline continues to use the sync
|
|
78
|
+
* `get()`. Project search uses this path before session-aware modulation.
|
|
79
|
+
*/
|
|
80
|
+
async getAsync(sessionId, now = Date.now()) {
|
|
81
|
+
await this.ensureReady();
|
|
82
|
+
return this.get(sessionId, now);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Retrieve a live session. IMP-10: an active `get()` slides the TTL
|
|
86
|
+
* forward so a session in use does not silently expire mid-task.
|
|
87
|
+
* The slide is bounded to defaultTtlMs from `now` — accessing a session
|
|
88
|
+
* never extends it beyond what a fresh `create()` would give.
|
|
89
|
+
*
|
|
90
|
+
* NOTE: this is the sync hot path. For backends with an async-warmed read
|
|
91
|
+
* mirror (PG), the very first call after a process restart may return null
|
|
92
|
+
* until hydration settles (<100ms). Resume entry points should use
|
|
93
|
+
* `getAsync()` / `ensureReady()` first.
|
|
94
|
+
*/
|
|
95
|
+
get(sessionId, now = Date.now()) {
|
|
96
|
+
let session = this.sessions.get(sessionId);
|
|
97
|
+
// Phase 1: lazy-load on a hot-cache miss.
|
|
98
|
+
if (!session && this.store) {
|
|
99
|
+
try {
|
|
100
|
+
const loaded = this.store.load(sessionId);
|
|
101
|
+
if (loaded) {
|
|
102
|
+
// Respect TTL on load; an expired persisted session is discarded.
|
|
103
|
+
if (loaded.expiresAt <= now) {
|
|
104
|
+
this.store.delete(sessionId);
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
this.sessions.set(sessionId, loaded);
|
|
108
|
+
session = loaded;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
logger.warn("[SessionRegistry] store load failed:", { error: error.message });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (!session)
|
|
116
|
+
return null;
|
|
117
|
+
if (session.expiresAt <= now) {
|
|
118
|
+
this.sessions.delete(sessionId);
|
|
119
|
+
try {
|
|
120
|
+
this.store?.delete(sessionId);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
logger.warn("[SessionRegistry] store delete (expired) failed:", { error: error.message });
|
|
124
|
+
}
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
const refreshed = now + (session.ttlMs ?? this.defaultTtlMs);
|
|
128
|
+
if (refreshed > session.expiresAt) {
|
|
129
|
+
session.expiresAt = refreshed;
|
|
130
|
+
}
|
|
131
|
+
return session;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Update the task context for an existing session and refresh its TTL.
|
|
135
|
+
*/
|
|
136
|
+
updateTaskContext(sessionId, taskContext, taskEmbedding, now = Date.now()) {
|
|
137
|
+
const session = this.get(sessionId, now);
|
|
138
|
+
if (!session)
|
|
139
|
+
return null;
|
|
140
|
+
session.taskContext = taskContext;
|
|
141
|
+
session.taskTokens = tokenize(taskContext);
|
|
142
|
+
if (taskEmbedding)
|
|
143
|
+
session.taskEmbedding = taskEmbedding;
|
|
144
|
+
session.expiresAt = now + (session.ttlMs ?? this.defaultTtlMs);
|
|
145
|
+
try {
|
|
146
|
+
this.store?.save(session);
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
logger.warn("[SessionRegistry] store save (updateTaskContext) failed:", { error: error.message });
|
|
150
|
+
}
|
|
151
|
+
return session;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Record that the agent accessed a memory inside this session.
|
|
155
|
+
* Used by agent-affinity scoring.
|
|
156
|
+
*
|
|
157
|
+
* IMP-11: the Map is bounded by `accessHistoryLimit`. Re-recording an
|
|
158
|
+
* existing key refreshes its recency (delete-then-set), keeping the LRU
|
|
159
|
+
* intuition exact even with the small overhead.
|
|
160
|
+
*/
|
|
161
|
+
recordAccess(sessionId, memoryId, now = Date.now()) {
|
|
162
|
+
const session = this.get(sessionId, now);
|
|
163
|
+
if (!session)
|
|
164
|
+
return;
|
|
165
|
+
const history = session.accessHistory;
|
|
166
|
+
let nextCount = 1;
|
|
167
|
+
if (history.has(memoryId)) {
|
|
168
|
+
const current = history.get(memoryId);
|
|
169
|
+
nextCount = current + 1;
|
|
170
|
+
history.delete(memoryId);
|
|
171
|
+
history.set(memoryId, nextCount);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
history.set(memoryId, 1);
|
|
175
|
+
}
|
|
176
|
+
while (history.size > session.accessHistoryLimit) {
|
|
177
|
+
const oldest = history.keys().next().value;
|
|
178
|
+
if (oldest === undefined)
|
|
179
|
+
break;
|
|
180
|
+
history.delete(oldest);
|
|
181
|
+
}
|
|
182
|
+
// Phase 1: write-through the access touch (best-effort, LRU recency).
|
|
183
|
+
try {
|
|
184
|
+
this.store?.recordAccess(sessionId, memoryId, nextCount);
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
logger.warn("[SessionRegistry] store recordAccess failed:", { error: error.message });
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
delete(sessionId) {
|
|
191
|
+
const removed = this.sessions.delete(sessionId);
|
|
192
|
+
try {
|
|
193
|
+
this.store?.delete(sessionId);
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
logger.warn("[SessionRegistry] store delete failed:", { error: error.message });
|
|
197
|
+
}
|
|
198
|
+
return removed;
|
|
199
|
+
}
|
|
200
|
+
/** Evict expired sessions. Called opportunistically. */
|
|
201
|
+
evictExpired(now = Date.now()) {
|
|
202
|
+
let evicted = 0;
|
|
203
|
+
for (const [id, session] of this.sessions) {
|
|
204
|
+
if (session.expiresAt <= now) {
|
|
205
|
+
this.sessions.delete(id);
|
|
206
|
+
evicted++;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return evicted;
|
|
210
|
+
}
|
|
211
|
+
size() {
|
|
212
|
+
return this.sessions.size;
|
|
213
|
+
}
|
|
214
|
+
/** Test hook. */
|
|
215
|
+
clear() {
|
|
216
|
+
this.sessions.clear();
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
let registry = null;
|
|
220
|
+
export function getSessionRegistry() {
|
|
221
|
+
if (!registry) {
|
|
222
|
+
// Phase 1: wire the durable PostgreSQL store with an ephemeral fallback.
|
|
223
|
+
let store;
|
|
224
|
+
try {
|
|
225
|
+
// Lazy require to avoid importing legacy local database at module-eval.
|
|
226
|
+
const { getSessionStore } = require("./session-store.js");
|
|
227
|
+
store = getSessionStore();
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
logger.warn("[SessionRegistry] store init failed, falling back to MemorySessionStore:", { error: error.message });
|
|
231
|
+
const { MemorySessionStore } = require("./session-store.js");
|
|
232
|
+
store = new MemorySessionStore();
|
|
233
|
+
}
|
|
234
|
+
registry = new SessionRegistry(3_600_000, store);
|
|
235
|
+
}
|
|
236
|
+
return registry;
|
|
237
|
+
}
|
|
238
|
+
export function resetSessionRegistry() {
|
|
239
|
+
registry = null;
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=session-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-registry.js","sourceRoot":"","sources":["../../../../src/services/synapse/session/session-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PgSynapseSessionStore — PostgreSQL parity for the Synapse session store.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors PgScheduledJobStore / PgJobStore's discipline: the SessionStore
|
|
5
|
+
* interface is SYNCHRONOUS (the SessionRegistry calls store.save/load with no
|
|
6
|
+
* await, matching the PostgreSQL store and legacy local database API). PG is inherently async,
|
|
7
|
+
* so this store:
|
|
8
|
+
* - Writes fire-and-forget (best-effort, logged on failure — matching the
|
|
9
|
+
* PostgreSQL store's try/catch best-effort semantics).
|
|
10
|
+
* - Reads are served from an in-memory mirror hydrated from PG on first use
|
|
11
|
+
* (async) and kept in sync by every save. The mirror is the hot read path
|
|
12
|
+
* within a process; PG is the durability + cross-process recovery layer
|
|
13
|
+
* (a new process hydrates its mirror from the persisted rows, so a session
|
|
14
|
+
* created before a restart is visible after it once hydration settles).
|
|
15
|
+
*
|
|
16
|
+
* Uses raw SQL ($executeRaw / $queryRaw) via the shared prisma client — the
|
|
17
|
+
* same pattern as PgScheduledJobStore and MemoryRepositoryPg — to avoid the
|
|
18
|
+
* Prisma 7.7.0 + adapter-pg isObjectEnumValue incompatibility. Reuses
|
|
19
|
+
* getPrismaClient() (no second pool).
|
|
20
|
+
*
|
|
21
|
+
* Schema parity: synapse_sessions + synapse_access_history (see Prisma model
|
|
22
|
+
* SynapseSession / SynapseAccessHistory and PG migration
|
|
23
|
+
* 20260710120000_add_synapse_sessions_pg). The buffer snapshot + bufferConfig
|
|
24
|
+
* are reconstructed into a live WorkingMemoryBuffer on load (#17), matching the
|
|
25
|
+
* PostgreSQL store. ensureReady() exposes the awaited-hydration hook the registry's
|
|
26
|
+
* resume path uses so a session resume immediately after a process restart
|
|
27
|
+
* observes PG-persisted sessions (#18).
|
|
28
|
+
*/
|
|
29
|
+
import type { AgentSession } from "../types.js";
|
|
30
|
+
import type { SessionStore } from "./session-store.js";
|
|
31
|
+
export declare class PgSynapseSessionStore implements SessionStore {
|
|
32
|
+
private prisma;
|
|
33
|
+
/** In-memory mirror: the sync read path. Hydrated from PG on first use. */
|
|
34
|
+
private mirror;
|
|
35
|
+
private hydrated;
|
|
36
|
+
private hydrating;
|
|
37
|
+
/**
|
|
38
|
+
* Epoch (ms) of the last failed hydration attempt. Rate-limits retries so a
|
|
39
|
+
* persistent PG error does not turn every op into a full `SELECT *` retry
|
|
40
|
+
* storm (hydrated stays false forever → ensureHydrated re-fires every call).
|
|
41
|
+
*/
|
|
42
|
+
private hydrateFailedAt;
|
|
43
|
+
private static readonly HYDRATE_RETRY_MS;
|
|
44
|
+
/**
|
|
45
|
+
* Per-sessionId serialized write chain. recordAccess fires frequently for one
|
|
46
|
+
* session; without ordering, concurrent upserts on the same row have no
|
|
47
|
+
* commit-order guarantee — an earlier touch could commit after a later one
|
|
48
|
+
* and leave stale counts. Chaining each persist onto the previous in-flight
|
|
49
|
+
* write for that sessionId guarantees commits land in call order. Different
|
|
50
|
+
* sessionIds remain concurrent (independent rows). Settled entries are
|
|
51
|
+
* dropped so the map does not grow. Mirrors PgJobStore's inflight pattern.
|
|
52
|
+
*/
|
|
53
|
+
private inflight;
|
|
54
|
+
private getClient;
|
|
55
|
+
/**
|
|
56
|
+
* Best-effort hydrate the mirror from PG. Resolves (never rejects) — failures
|
|
57
|
+
* log a warn and leave the mirror empty; the registry can still create
|
|
58
|
+
* sessions in-memory and persist them once PG is reachable. Also rehydrates
|
|
59
|
+
* access history per session so the loaded AgentSession is complete.
|
|
60
|
+
*/
|
|
61
|
+
private ensureHydrated;
|
|
62
|
+
private rowToSession;
|
|
63
|
+
save(session: AgentSession): void;
|
|
64
|
+
load(sessionId: string): AgentSession | null;
|
|
65
|
+
/**
|
|
66
|
+
* Await mirror hydration before a read (hydration race fix, #18).
|
|
67
|
+
*
|
|
68
|
+
* The SessionStore read contract is synchronous, but this store serves reads
|
|
69
|
+
* from an in-memory mirror hydrated from PG on first use. The very first
|
|
70
|
+
* `load()` after a process restart returns null until hydration settles
|
|
71
|
+
* (typically <100ms). Callers that must observe a persisted session
|
|
72
|
+
* immediately after restart (session resume) await this before reading.
|
|
73
|
+
* Sync backends resolve immediately.
|
|
74
|
+
*/
|
|
75
|
+
ensureReady(): Promise<void>;
|
|
76
|
+
delete(sessionId: string): void;
|
|
77
|
+
recordAccess(sessionId: string, memoryId: string, count: number): void;
|
|
78
|
+
/**
|
|
79
|
+
* Chain a write onto any in-flight write for the same key so commits land in
|
|
80
|
+
* call order. Different keys stay concurrent. Mirrors PgJobStore.inflight.
|
|
81
|
+
*/
|
|
82
|
+
private chainWrite;
|
|
83
|
+
/** Test helper: await in-flight writes. Not for production use. */
|
|
84
|
+
__drain(): Promise<void>;
|
|
85
|
+
/** Test helper: force hydration to complete before reading the mirror. */
|
|
86
|
+
__hydrate(): Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=session-store-pg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-store-pg.d.ts","sourceRoot":"","sources":["../../../../src/services/synapse/session/session-store-pg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgCvD,qBAAa,qBAAsB,YAAW,YAAY;IACxD,OAAO,CAAC,MAAM,CAAgB;IAC9B,2EAA2E;IAC3E,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAA8B;IAC/C;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAClD;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAyC;IAEzD,OAAO,CAAC,SAAS;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IA2DtB,OAAO,CAAC,YAAY;IA+CpB,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IA8EjC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAK5C;;;;;;;;;OASG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAa/B,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBtE;;;OAGG;IACH,OAAO,CAAC,UAAU;IAelB,mEAAmE;IAC7D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,0EAA0E;IACpE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PgSynapseSessionStore — PostgreSQL parity for the Synapse session store.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors PgScheduledJobStore / PgJobStore's discipline: the SessionStore
|
|
5
|
+
* interface is SYNCHRONOUS (the SessionRegistry calls store.save/load with no
|
|
6
|
+
* await, matching the PostgreSQL store and legacy local database API). PG is inherently async,
|
|
7
|
+
* so this store:
|
|
8
|
+
* - Writes fire-and-forget (best-effort, logged on failure — matching the
|
|
9
|
+
* PostgreSQL store's try/catch best-effort semantics).
|
|
10
|
+
* - Reads are served from an in-memory mirror hydrated from PG on first use
|
|
11
|
+
* (async) and kept in sync by every save. The mirror is the hot read path
|
|
12
|
+
* within a process; PG is the durability + cross-process recovery layer
|
|
13
|
+
* (a new process hydrates its mirror from the persisted rows, so a session
|
|
14
|
+
* created before a restart is visible after it once hydration settles).
|
|
15
|
+
*
|
|
16
|
+
* Uses raw SQL ($executeRaw / $queryRaw) via the shared prisma client — the
|
|
17
|
+
* same pattern as PgScheduledJobStore and MemoryRepositoryPg — to avoid the
|
|
18
|
+
* Prisma 7.7.0 + adapter-pg isObjectEnumValue incompatibility. Reuses
|
|
19
|
+
* getPrismaClient() (no second pool).
|
|
20
|
+
*
|
|
21
|
+
* Schema parity: synapse_sessions + synapse_access_history (see Prisma model
|
|
22
|
+
* SynapseSession / SynapseAccessHistory and PG migration
|
|
23
|
+
* 20260710120000_add_synapse_sessions_pg). The buffer snapshot + bufferConfig
|
|
24
|
+
* are reconstructed into a live WorkingMemoryBuffer on load (#17), matching the
|
|
25
|
+
* PostgreSQL store. ensureReady() exposes the awaited-hydration hook the registry's
|
|
26
|
+
* resume path uses so a session resume immediately after a process restart
|
|
27
|
+
* observes PG-persisted sessions (#18).
|
|
28
|
+
*/
|
|
29
|
+
import { logger } from "@massa-ai/shared";
|
|
30
|
+
import { getPrismaClient } from "../../query/prisma-client.js";
|
|
31
|
+
import { getProjectIdentityAliasResolver } from "../../project-identity/alias-resolver.js";
|
|
32
|
+
import { restoreWorkingMemoryBuffer, snapshotWorkingMemoryBuffer, } from "../buffer/working-memory-buffer.js";
|
|
33
|
+
function toNum(v) {
|
|
34
|
+
if (v == null)
|
|
35
|
+
return null;
|
|
36
|
+
return typeof v === "bigint" ? Number(v) : v;
|
|
37
|
+
}
|
|
38
|
+
export class PgSynapseSessionStore {
|
|
39
|
+
prisma;
|
|
40
|
+
/** In-memory mirror: the sync read path. Hydrated from PG on first use. */
|
|
41
|
+
mirror = new Map();
|
|
42
|
+
hydrated = false;
|
|
43
|
+
hydrating = null;
|
|
44
|
+
/**
|
|
45
|
+
* Epoch (ms) of the last failed hydration attempt. Rate-limits retries so a
|
|
46
|
+
* persistent PG error does not turn every op into a full `SELECT *` retry
|
|
47
|
+
* storm (hydrated stays false forever → ensureHydrated re-fires every call).
|
|
48
|
+
*/
|
|
49
|
+
hydrateFailedAt = 0;
|
|
50
|
+
static HYDRATE_RETRY_MS = 30_000;
|
|
51
|
+
/**
|
|
52
|
+
* Per-sessionId serialized write chain. recordAccess fires frequently for one
|
|
53
|
+
* session; without ordering, concurrent upserts on the same row have no
|
|
54
|
+
* commit-order guarantee — an earlier touch could commit after a later one
|
|
55
|
+
* and leave stale counts. Chaining each persist onto the previous in-flight
|
|
56
|
+
* write for that sessionId guarantees commits land in call order. Different
|
|
57
|
+
* sessionIds remain concurrent (independent rows). Settled entries are
|
|
58
|
+
* dropped so the map does not grow. Mirrors PgJobStore's inflight pattern.
|
|
59
|
+
*/
|
|
60
|
+
inflight = new Map();
|
|
61
|
+
getClient() {
|
|
62
|
+
if (!this.prisma)
|
|
63
|
+
this.prisma = getPrismaClient();
|
|
64
|
+
return this.prisma;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Best-effort hydrate the mirror from PG. Resolves (never rejects) — failures
|
|
68
|
+
* log a warn and leave the mirror empty; the registry can still create
|
|
69
|
+
* sessions in-memory and persist them once PG is reachable. Also rehydrates
|
|
70
|
+
* access history per session so the loaded AgentSession is complete.
|
|
71
|
+
*/
|
|
72
|
+
ensureHydrated() {
|
|
73
|
+
if (this.hydrated)
|
|
74
|
+
return Promise.resolve();
|
|
75
|
+
if (this.hydrating)
|
|
76
|
+
return this.hydrating;
|
|
77
|
+
// Rate-limit retries: if the last hydration attempt failed recently,
|
|
78
|
+
// skip the full SELECT and let the op proceed against the in-memory mirror.
|
|
79
|
+
// Without this, a persistent PG error turns every op into a full-table
|
|
80
|
+
// retry storm (hydrated stays false forever → ensureHydrated re-fires).
|
|
81
|
+
if (this.hydrateFailedAt > 0 &&
|
|
82
|
+
Date.now() - this.hydrateFailedAt < PgSynapseSessionStore.HYDRATE_RETRY_MS) {
|
|
83
|
+
return Promise.resolve();
|
|
84
|
+
}
|
|
85
|
+
this.hydrating = (async () => {
|
|
86
|
+
try {
|
|
87
|
+
const prisma = this.getClient();
|
|
88
|
+
const rows = await prisma.$queryRaw `
|
|
89
|
+
SELECT * FROM synapse_sessions
|
|
90
|
+
`;
|
|
91
|
+
const accessRows = await prisma.$queryRaw `
|
|
92
|
+
SELECT * FROM synapse_access_history
|
|
93
|
+
`;
|
|
94
|
+
const accessBySession = new Map();
|
|
95
|
+
for (const a of accessRows) {
|
|
96
|
+
let m = accessBySession.get(a.session_id);
|
|
97
|
+
if (!m) {
|
|
98
|
+
m = new Map();
|
|
99
|
+
accessBySession.set(a.session_id, m);
|
|
100
|
+
}
|
|
101
|
+
m.set(a.memory_id, Number(a.access_count));
|
|
102
|
+
}
|
|
103
|
+
const next = new Map();
|
|
104
|
+
const dbIds = new Set();
|
|
105
|
+
for (const row of rows) {
|
|
106
|
+
dbIds.add(row.session_id);
|
|
107
|
+
next.set(row.session_id, this.rowToSession(row, accessBySession.get(row.session_id)));
|
|
108
|
+
}
|
|
109
|
+
// Re-apply any in-flight save whose row isn't in the DB snapshot yet.
|
|
110
|
+
for (const [id, existing] of this.mirror) {
|
|
111
|
+
if (!dbIds.has(id))
|
|
112
|
+
next.set(id, existing);
|
|
113
|
+
}
|
|
114
|
+
this.mirror = next;
|
|
115
|
+
this.hydrated = true;
|
|
116
|
+
this.hydrateFailedAt = 0;
|
|
117
|
+
logger.info("PgSynapseSessionStore hydrated", {
|
|
118
|
+
rows: this.mirror.size,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
this.hydrateFailedAt = Date.now();
|
|
123
|
+
logger.warn("PgSynapseSessionStore hydrate failed (best-effort)", {
|
|
124
|
+
error: e.message,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
this.hydrating = null;
|
|
129
|
+
}
|
|
130
|
+
})();
|
|
131
|
+
return this.hydrating;
|
|
132
|
+
}
|
|
133
|
+
rowToSession(row, accessMap) {
|
|
134
|
+
const taskTokens = row.task_tokens
|
|
135
|
+
? new Set(JSON.parse(row.task_tokens))
|
|
136
|
+
: undefined;
|
|
137
|
+
let taskEmbedding;
|
|
138
|
+
if (row.task_embedding) {
|
|
139
|
+
// pg returns BYTEA as a Buffer. Reconstruct the Float32Array → number[].
|
|
140
|
+
const buf = Buffer.isBuffer(row.task_embedding)
|
|
141
|
+
? row.task_embedding
|
|
142
|
+
: Buffer.from(row.task_embedding);
|
|
143
|
+
taskEmbedding = Array.from(new Float32Array(buf.buffer, buf.byteOffset, buf.length / 4));
|
|
144
|
+
}
|
|
145
|
+
const accessHistory = accessMap ?? new Map();
|
|
146
|
+
// Buffer (#17): reconstruct the live WorkingMemoryBuffer from the persisted
|
|
147
|
+
// bufferConfig + best-effort snapshot so a session resumed after a process
|
|
148
|
+
// restart keeps its primed working-set. Mirrors the PostgreSQL store's restore.
|
|
149
|
+
const bufferConfig = row.buffer_config
|
|
150
|
+
? JSON.parse(row.buffer_config)
|
|
151
|
+
: undefined;
|
|
152
|
+
const snapshot = row.buffer_snapshot
|
|
153
|
+
? JSON.parse(row.buffer_snapshot)
|
|
154
|
+
: undefined;
|
|
155
|
+
const buffer = bufferConfig
|
|
156
|
+
? restoreWorkingMemoryBuffer(snapshot ?? { entries: [], config: bufferConfig })
|
|
157
|
+
: undefined;
|
|
158
|
+
const session = {
|
|
159
|
+
sessionId: row.session_id,
|
|
160
|
+
agentId: row.agent_id,
|
|
161
|
+
workspaceId: row.workspace_id ?? undefined,
|
|
162
|
+
taskContext: row.task_context ?? undefined,
|
|
163
|
+
taskTokens,
|
|
164
|
+
taskEmbedding,
|
|
165
|
+
ttlMs: Number(row.ttl_ms),
|
|
166
|
+
createdAt: Number(row.created_at),
|
|
167
|
+
expiresAt: Number(row.expires_at),
|
|
168
|
+
accessHistory,
|
|
169
|
+
accessHistoryLimit: Number(row.access_history_limit),
|
|
170
|
+
buffer,
|
|
171
|
+
};
|
|
172
|
+
return session;
|
|
173
|
+
}
|
|
174
|
+
save(session) {
|
|
175
|
+
// Mirror update is synchronous so a subsequent sync load() sees the value.
|
|
176
|
+
this.mirror.set(session.sessionId, session);
|
|
177
|
+
void this.ensureHydrated();
|
|
178
|
+
// Fire-and-forget persist (best-effort, matching PgScheduledJobStore).
|
|
179
|
+
this.chainWrite(session.sessionId, async () => {
|
|
180
|
+
const prisma = this.getClient();
|
|
181
|
+
// Resolve canonical workspace id at the persist seam (spec req 3). The
|
|
182
|
+
// sync mirror keeps the caller's id; the durable row uses the target.
|
|
183
|
+
const canonicalWorkspaceId = session.workspaceId
|
|
184
|
+
? await getProjectIdentityAliasResolver().resolve(session.workspaceId)
|
|
185
|
+
: session.workspaceId;
|
|
186
|
+
const now = Date.now();
|
|
187
|
+
const taskTokens = session.taskTokens
|
|
188
|
+
? JSON.stringify(Array.from(session.taskTokens))
|
|
189
|
+
: null;
|
|
190
|
+
const taskEmbedding = session.taskEmbedding
|
|
191
|
+
? Buffer.from(new Float32Array(session.taskEmbedding).buffer)
|
|
192
|
+
: null;
|
|
193
|
+
const bufferConfig = session.buffer
|
|
194
|
+
? JSON.stringify(session.buffer.config)
|
|
195
|
+
: null;
|
|
196
|
+
const bufferSnapshot = session.buffer
|
|
197
|
+
? JSON.stringify(snapshotWorkingMemoryBuffer(session))
|
|
198
|
+
: null;
|
|
199
|
+
await prisma.$executeRaw `
|
|
200
|
+
INSERT INTO synapse_sessions (
|
|
201
|
+
session_id, agent_id, workspace_id, task_context, task_tokens, task_embedding,
|
|
202
|
+
ttl_ms, created_at, expires_at, access_history_limit, buffer_config, buffer_snapshot,
|
|
203
|
+
updated_at
|
|
204
|
+
) VALUES (
|
|
205
|
+
${session.sessionId},
|
|
206
|
+
${session.agentId},
|
|
207
|
+
${canonicalWorkspaceId ?? null},
|
|
208
|
+
${session.taskContext ?? null},
|
|
209
|
+
${taskTokens},
|
|
210
|
+
${taskEmbedding},
|
|
211
|
+
${session.ttlMs}::bigint,
|
|
212
|
+
${session.createdAt}::bigint,
|
|
213
|
+
${session.expiresAt}::bigint,
|
|
214
|
+
${session.accessHistoryLimit},
|
|
215
|
+
${bufferConfig},
|
|
216
|
+
${bufferSnapshot},
|
|
217
|
+
${now}::bigint
|
|
218
|
+
)
|
|
219
|
+
ON CONFLICT (session_id) DO UPDATE SET
|
|
220
|
+
agent_id = EXCLUDED.agent_id,
|
|
221
|
+
workspace_id = EXCLUDED.workspace_id,
|
|
222
|
+
task_context = EXCLUDED.task_context,
|
|
223
|
+
task_tokens = EXCLUDED.task_tokens,
|
|
224
|
+
task_embedding = EXCLUDED.task_embedding,
|
|
225
|
+
ttl_ms = EXCLUDED.ttl_ms,
|
|
226
|
+
expires_at = EXCLUDED.expires_at,
|
|
227
|
+
access_history_limit = EXCLUDED.access_history_limit,
|
|
228
|
+
buffer_config = EXCLUDED.buffer_config,
|
|
229
|
+
buffer_snapshot = EXCLUDED.buffer_snapshot,
|
|
230
|
+
updated_at = EXCLUDED.updated_at
|
|
231
|
+
`;
|
|
232
|
+
// Persist access history (replace strategy: clear + reinsert, matching
|
|
233
|
+
// the PostgreSQL store). Runs in the same chained write so it stays ordered
|
|
234
|
+
// relative to the session upsert.
|
|
235
|
+
await prisma.$executeRaw `
|
|
236
|
+
DELETE FROM synapse_access_history WHERE session_id = ${session.sessionId}
|
|
237
|
+
`;
|
|
238
|
+
for (const [memoryId, count] of session.accessHistory) {
|
|
239
|
+
await prisma.$executeRaw `
|
|
240
|
+
INSERT INTO synapse_access_history (session_id, memory_id, access_count, last_accessed_at)
|
|
241
|
+
VALUES (${session.sessionId}, ${memoryId}, ${count}, ${now}::bigint)
|
|
242
|
+
ON CONFLICT (session_id, memory_id) DO UPDATE SET
|
|
243
|
+
access_count = EXCLUDED.access_count,
|
|
244
|
+
last_accessed_at = EXCLUDED.last_accessed_at
|
|
245
|
+
`;
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
load(sessionId) {
|
|
250
|
+
void this.ensureHydrated();
|
|
251
|
+
return this.mirror.get(sessionId) ?? null;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Await mirror hydration before a read (hydration race fix, #18).
|
|
255
|
+
*
|
|
256
|
+
* The SessionStore read contract is synchronous, but this store serves reads
|
|
257
|
+
* from an in-memory mirror hydrated from PG on first use. The very first
|
|
258
|
+
* `load()` after a process restart returns null until hydration settles
|
|
259
|
+
* (typically <100ms). Callers that must observe a persisted session
|
|
260
|
+
* immediately after restart (session resume) await this before reading.
|
|
261
|
+
* Sync backends resolve immediately.
|
|
262
|
+
*/
|
|
263
|
+
ensureReady() {
|
|
264
|
+
return this.ensureHydrated();
|
|
265
|
+
}
|
|
266
|
+
delete(sessionId) {
|
|
267
|
+
this.mirror.delete(sessionId);
|
|
268
|
+
this.chainWrite(sessionId, async () => {
|
|
269
|
+
const prisma = this.getClient();
|
|
270
|
+
await prisma.$executeRaw `
|
|
271
|
+
DELETE FROM synapse_sessions WHERE session_id = ${sessionId}
|
|
272
|
+
`;
|
|
273
|
+
await prisma.$executeRaw `
|
|
274
|
+
DELETE FROM synapse_access_history WHERE session_id = ${sessionId}
|
|
275
|
+
`;
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
recordAccess(sessionId, memoryId, count) {
|
|
279
|
+
void this.ensureHydrated();
|
|
280
|
+
// Mirror the access touch synchronously so a sync load() sees the bump.
|
|
281
|
+
const session = this.mirror.get(sessionId);
|
|
282
|
+
if (session) {
|
|
283
|
+
session.accessHistory.set(memoryId, count);
|
|
284
|
+
}
|
|
285
|
+
// Fire-and-forget persist (best-effort).
|
|
286
|
+
this.chainWrite(`${sessionId}#access`, async () => {
|
|
287
|
+
const prisma = this.getClient();
|
|
288
|
+
const now = Date.now();
|
|
289
|
+
await prisma.$executeRaw `
|
|
290
|
+
INSERT INTO synapse_access_history (session_id, memory_id, access_count, last_accessed_at)
|
|
291
|
+
VALUES (${sessionId}, ${memoryId}, ${count}, ${now}::bigint)
|
|
292
|
+
ON CONFLICT (session_id, memory_id) DO UPDATE SET
|
|
293
|
+
access_count = EXCLUDED.access_count,
|
|
294
|
+
last_accessed_at = EXCLUDED.last_accessed_at
|
|
295
|
+
`;
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Chain a write onto any in-flight write for the same key so commits land in
|
|
300
|
+
* call order. Different keys stay concurrent. Mirrors PgJobStore.inflight.
|
|
301
|
+
*/
|
|
302
|
+
chainWrite(key, fn) {
|
|
303
|
+
const prev = this.inflight.get(key) ?? Promise.resolve();
|
|
304
|
+
const next = prev.then(fn).catch((e) => {
|
|
305
|
+
logger.warn("PgSynapseSessionStore write failed (best-effort)", {
|
|
306
|
+
key,
|
|
307
|
+
error: e.message,
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
this.inflight.set(key, next);
|
|
311
|
+
// Drop settled entries so the map does not grow.
|
|
312
|
+
void next.then(() => {
|
|
313
|
+
if (this.inflight.get(key) === next)
|
|
314
|
+
this.inflight.delete(key);
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
/** Test helper: await in-flight writes. Not for production use. */
|
|
318
|
+
async __drain() {
|
|
319
|
+
// Snapshot the pending set ONCE. Re-reading `this.inflight` in a loop would
|
|
320
|
+
// re-await writes that a concurrent caller repopulated during the drain,
|
|
321
|
+
// risking a hang under load. We only owe the caller that the writes
|
|
322
|
+
// in-flight at drain-start have settled.
|
|
323
|
+
const pending = Array.from(this.inflight.values());
|
|
324
|
+
if (pending.length > 0)
|
|
325
|
+
await Promise.allSettled(pending);
|
|
326
|
+
// A short settle delay covers any write queued during the drain.
|
|
327
|
+
await new Promise((r) => setTimeout(r, 10));
|
|
328
|
+
}
|
|
329
|
+
/** Test helper: force hydration to complete before reading the mirror. */
|
|
330
|
+
async __hydrate() {
|
|
331
|
+
await this.ensureHydrated();
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=session-store-pg.js.map
|