causantic 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -66
- package/config.schema.json +12 -87
- package/dist/cli/commands/archive.d.ts.map +1 -1
- package/dist/cli/commands/archive.js.map +1 -1
- package/dist/cli/commands/benchmark-collection.d.ts.map +1 -1
- package/dist/cli/commands/benchmark-collection.js.map +1 -1
- package/dist/cli/commands/encryption.d.ts.map +1 -1
- package/dist/cli/commands/encryption.js.map +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +29 -32
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/maintenance.d.ts.map +1 -1
- package/dist/cli/commands/maintenance.js +10 -3
- package/dist/cli/commands/maintenance.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +3 -3
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/skill-templates.d.ts.map +1 -1
- package/dist/cli/skill-templates.js +223 -153
- package/dist/cli/skill-templates.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +4 -1
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/clusters/cluster-manager.d.ts +23 -0
- package/dist/clusters/cluster-manager.d.ts.map +1 -1
- package/dist/clusters/cluster-manager.js +69 -2
- package/dist/clusters/cluster-manager.js.map +1 -1
- package/dist/clusters/cluster-refresh.d.ts.map +1 -1
- package/dist/clusters/cluster-refresh.js +5 -1
- package/dist/clusters/cluster-refresh.js.map +1 -1
- package/dist/clusters/hdbscan/cluster-extraction.d.ts.map +1 -1
- package/dist/clusters/hdbscan/cluster-extraction.js +1 -2
- package/dist/clusters/hdbscan/cluster-extraction.js.map +1 -1
- package/dist/clusters/hdbscan/hierarchy.d.ts.map +1 -1
- package/dist/clusters/hdbscan/hierarchy.js +1 -3
- package/dist/clusters/hdbscan/hierarchy.js.map +1 -1
- package/dist/clusters/hdbscan/incremental.d.ts.map +1 -1
- package/dist/clusters/hdbscan/incremental.js.map +1 -1
- package/dist/clusters/hdbscan/probabilities.d.ts +1 -1
- package/dist/clusters/hdbscan/probabilities.d.ts.map +1 -1
- package/dist/clusters/hdbscan/probabilities.js +1 -1
- package/dist/clusters/hdbscan/probabilities.js.map +1 -1
- package/dist/clusters/hdbscan.d.ts.map +1 -1
- package/dist/clusters/hdbscan.js +3 -5
- package/dist/clusters/hdbscan.js.map +1 -1
- package/dist/config/loader.d.ts +10 -15
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +40 -71
- package/dist/config/loader.js.map +1 -1
- package/dist/config/memory-config.d.ts +2 -45
- package/dist/config/memory-config.d.ts.map +1 -1
- package/dist/config/memory-config.js +6 -109
- package/dist/config/memory-config.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/lexical-features.d.ts.map +1 -1
- package/dist/core/lexical-features.js +141 -20
- package/dist/core/lexical-features.js.map +1 -1
- package/dist/dashboard/client/assets/index-DdImwNQ0.css +1 -0
- package/dist/dashboard/client/assets/index-Ofx8zngH.js +166 -0
- package/dist/dashboard/client/index.html +2 -2
- package/dist/dashboard/routes/benchmark-collection.d.ts.map +1 -1
- package/dist/dashboard/routes/benchmark-collection.js +2 -6
- package/dist/dashboard/routes/benchmark-collection.js.map +1 -1
- package/dist/dashboard/routes/chain.d.ts +3 -0
- package/dist/dashboard/routes/chain.d.ts.map +1 -0
- package/dist/dashboard/routes/chain.js +74 -0
- package/dist/dashboard/routes/chain.js.map +1 -0
- package/dist/dashboard/routes/chunks.d.ts.map +1 -1
- package/dist/dashboard/routes/chunks.js +16 -1
- package/dist/dashboard/routes/chunks.js.map +1 -1
- package/dist/dashboard/routes/graph.d.ts.map +1 -1
- package/dist/dashboard/routes/graph.js.map +1 -1
- package/dist/dashboard/routes/search.d.ts.map +1 -1
- package/dist/dashboard/routes/search.js.map +1 -1
- package/dist/dashboard/routes/stats.d.ts.map +1 -1
- package/dist/dashboard/routes/stats.js +8 -6
- package/dist/dashboard/routes/stats.js.map +1 -1
- package/dist/dashboard/routes/timeline.d.ts +3 -0
- package/dist/dashboard/routes/timeline.d.ts.map +1 -0
- package/dist/dashboard/routes/timeline.js +90 -0
- package/dist/dashboard/routes/timeline.js.map +1 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +4 -0
- package/dist/dashboard/server.js.map +1 -1
- package/dist/eval/annotation-schema.d.ts.map +1 -1
- package/dist/eval/annotation-schema.js +2 -5
- package/dist/eval/annotation-schema.js.map +1 -1
- package/dist/eval/benchmark-runner.d.ts.map +1 -1
- package/dist/eval/benchmark-runner.js +2 -2
- package/dist/eval/benchmark-runner.js.map +1 -1
- package/dist/eval/cluster-evaluator.d.ts.map +1 -1
- package/dist/eval/cluster-evaluator.js.map +1 -1
- package/dist/eval/collection-benchmark/chain-quality.d.ts +15 -0
- package/dist/eval/collection-benchmark/chain-quality.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/chain-quality.js +60 -0
- package/dist/eval/collection-benchmark/chain-quality.js.map +1 -0
- package/dist/eval/collection-benchmark/health.d.ts.map +1 -1
- package/dist/eval/collection-benchmark/health.js +2 -2
- package/dist/eval/collection-benchmark/health.js.map +1 -1
- package/dist/eval/collection-benchmark/history.d.ts.map +1 -1
- package/dist/eval/collection-benchmark/history.js +14 -11
- package/dist/eval/collection-benchmark/history.js.map +1 -1
- package/dist/eval/collection-benchmark/latency.d.ts.map +1 -1
- package/dist/eval/collection-benchmark/latency.js +14 -11
- package/dist/eval/collection-benchmark/latency.js.map +1 -1
- package/dist/eval/collection-benchmark/reporter.d.ts.map +1 -1
- package/dist/eval/collection-benchmark/reporter.js +18 -28
- package/dist/eval/collection-benchmark/reporter.js.map +1 -1
- package/dist/eval/collection-benchmark/retrieval.d.ts.map +1 -1
- package/dist/eval/collection-benchmark/retrieval.js +14 -8
- package/dist/eval/collection-benchmark/retrieval.js.map +1 -1
- package/dist/eval/collection-benchmark/runner.d.ts +3 -3
- package/dist/eval/collection-benchmark/runner.d.ts.map +1 -1
- package/dist/eval/collection-benchmark/runner.js +46 -37
- package/dist/eval/collection-benchmark/runner.js.map +1 -1
- package/dist/eval/collection-benchmark/sampler.d.ts.map +1 -1
- package/dist/eval/collection-benchmark/sampler.js +14 -12
- package/dist/eval/collection-benchmark/sampler.js.map +1 -1
- package/dist/eval/collection-benchmark/tuning.d.ts.map +1 -1
- package/dist/eval/collection-benchmark/tuning.js +56 -71
- package/dist/eval/collection-benchmark/tuning.js.map +1 -1
- package/dist/eval/collection-benchmark/types.d.ts +12 -24
- package/dist/eval/collection-benchmark/types.d.ts.map +1 -1
- package/dist/eval/corpus-builder.d.ts.map +1 -1
- package/dist/eval/corpus-builder.js.map +1 -1
- package/dist/eval/experiments/boilerplate-filter.d.ts.map +1 -1
- package/dist/eval/experiments/boilerplate-filter.js.map +1 -1
- package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts.map +1 -1
- package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js +3 -5
- package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js.map +1 -1
- package/dist/eval/experiments/code-focused-mode.d.ts.map +1 -1
- package/dist/eval/experiments/code-focused-mode.js +1 -1
- package/dist/eval/experiments/code-focused-mode.js.map +1 -1
- package/dist/eval/experiments/edge-decay/decay-curves.d.ts +25 -19
- package/dist/eval/experiments/edge-decay/decay-curves.d.ts.map +1 -1
- package/dist/eval/experiments/edge-decay/decay-curves.js +47 -40
- package/dist/eval/experiments/edge-decay/decay-curves.js.map +1 -1
- package/dist/eval/experiments/edge-decay/index.d.ts +6 -4
- package/dist/eval/experiments/edge-decay/index.d.ts.map +1 -1
- package/dist/eval/experiments/edge-decay/index.js +5 -3
- package/dist/eval/experiments/edge-decay/index.js.map +1 -1
- package/dist/eval/experiments/edge-decay/presets.d.ts +14 -4
- package/dist/eval/experiments/edge-decay/presets.d.ts.map +1 -1
- package/dist/eval/experiments/edge-decay/presets.js +73 -68
- package/dist/eval/experiments/edge-decay/presets.js.map +1 -1
- package/dist/eval/experiments/edge-decay/reference-extractor.d.ts +2 -1
- package/dist/eval/experiments/edge-decay/reference-extractor.d.ts.map +1 -1
- package/dist/eval/experiments/edge-decay/reference-extractor.js +26 -40
- package/dist/eval/experiments/edge-decay/reference-extractor.js.map +1 -1
- package/dist/eval/experiments/edge-decay/reference-types.d.ts +24 -17
- package/dist/eval/experiments/edge-decay/reference-types.d.ts.map +1 -1
- package/dist/eval/experiments/edge-decay/reference-types.js +3 -0
- package/dist/eval/experiments/edge-decay/reference-types.js.map +1 -1
- package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts +8 -8
- package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts.map +1 -1
- package/dist/eval/experiments/edge-decay/retrieval-ranking.js +77 -133
- package/dist/eval/experiments/edge-decay/retrieval-ranking.js.map +1 -1
- package/dist/eval/experiments/edge-decay/run-experiments.d.ts +7 -3
- package/dist/eval/experiments/edge-decay/run-experiments.d.ts.map +1 -1
- package/dist/eval/experiments/edge-decay/run-experiments.js +71 -52
- package/dist/eval/experiments/edge-decay/run-experiments.js.map +1 -1
- package/dist/eval/experiments/edge-decay/simulate.d.ts +1 -1
- package/dist/eval/experiments/edge-decay/simulate.d.ts.map +1 -1
- package/dist/eval/experiments/edge-decay/simulate.js +7 -19
- package/dist/eval/experiments/edge-decay/simulate.js.map +1 -1
- package/dist/eval/experiments/hdbscan-sweep.d.ts.map +1 -1
- package/dist/eval/experiments/hdbscan-sweep.js +2 -6
- package/dist/eval/experiments/hdbscan-sweep.js.map +1 -1
- package/dist/eval/experiments/single-model-run.d.ts.map +1 -1
- package/dist/eval/experiments/single-model-run.js +2 -2
- package/dist/eval/experiments/single-model-run.js.map +1 -1
- package/dist/eval/experiments/thinking-ablation.d.ts.map +1 -1
- package/dist/eval/experiments/thinking-ablation.js +1 -1
- package/dist/eval/experiments/thinking-ablation.js.map +1 -1
- package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts.map +1 -1
- package/dist/eval/experiments/topic-continuity/hybrid-classifier.js +54 -6
- package/dist/eval/experiments/topic-continuity/hybrid-classifier.js.map +1 -1
- package/dist/eval/experiments/topic-continuity/labeler.d.ts.map +1 -1
- package/dist/eval/experiments/topic-continuity/labeler.js +1 -4
- package/dist/eval/experiments/topic-continuity/labeler.js.map +1 -1
- package/dist/eval/experiments/topic-continuity/run-experiment.d.ts.map +1 -1
- package/dist/eval/experiments/topic-continuity/run-experiment.js +5 -13
- package/dist/eval/experiments/topic-continuity/run-experiment.js.map +1 -1
- package/dist/eval/experiments/truncation.d.ts.map +1 -1
- package/dist/eval/experiments/truncation.js.map +1 -1
- package/dist/eval/experiments/types.d.ts.map +1 -1
- package/dist/eval/experiments/types.js.map +1 -1
- package/dist/eval/metrics.d.ts.map +1 -1
- package/dist/eval/metrics.js.map +1 -1
- package/dist/hooks/claudemd-generator.d.ts.map +1 -1
- package/dist/hooks/claudemd-generator.js +3 -4
- package/dist/hooks/claudemd-generator.js.map +1 -1
- package/dist/hooks/hook-utils.d.ts.map +1 -1
- package/dist/hooks/hook-utils.js +0 -2
- package/dist/hooks/hook-utils.js.map +1 -1
- package/dist/hooks/pre-compact.d.ts.map +1 -1
- package/dist/hooks/pre-compact.js +4 -2
- package/dist/hooks/pre-compact.js.map +1 -1
- package/dist/hooks/session-end.d.ts.map +1 -1
- package/dist/hooks/session-end.js +4 -2
- package/dist/hooks/session-end.js.map +1 -1
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +3 -5
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/ingest/batch-ingest.d.ts.map +1 -1
- package/dist/ingest/batch-ingest.js.map +1 -1
- package/dist/ingest/brief-debrief-detector.d.ts +6 -13
- package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
- package/dist/ingest/brief-debrief-detector.js +9 -16
- package/dist/ingest/brief-debrief-detector.js.map +1 -1
- package/dist/ingest/cross-session-linker.d.ts +2 -1
- package/dist/ingest/cross-session-linker.d.ts.map +1 -1
- package/dist/ingest/cross-session-linker.js +17 -7
- package/dist/ingest/cross-session-linker.js.map +1 -1
- package/dist/ingest/edge-creator.d.ts +14 -40
- package/dist/ingest/edge-creator.d.ts.map +1 -1
- package/dist/ingest/edge-creator.js +34 -132
- package/dist/ingest/edge-creator.js.map +1 -1
- package/dist/ingest/edge-detector.d.ts +27 -12
- package/dist/ingest/edge-detector.d.ts.map +1 -1
- package/dist/ingest/edge-detector.js +68 -200
- package/dist/ingest/edge-detector.js.map +1 -1
- package/dist/ingest/index.d.ts +3 -3
- package/dist/ingest/index.d.ts.map +1 -1
- package/dist/ingest/index.js +3 -3
- package/dist/ingest/index.js.map +1 -1
- package/dist/ingest/ingest-session.d.ts +1 -8
- package/dist/ingest/ingest-session.d.ts.map +1 -1
- package/dist/ingest/ingest-session.js +54 -107
- package/dist/ingest/ingest-session.js.map +1 -1
- package/dist/ingest/rebuild-edges.d.ts +17 -0
- package/dist/ingest/rebuild-edges.d.ts.map +1 -0
- package/dist/ingest/rebuild-edges.js +97 -0
- package/dist/ingest/rebuild-edges.js.map +1 -0
- package/dist/maintenance/scheduler.d.ts +2 -3
- package/dist/maintenance/scheduler.d.ts.map +1 -1
- package/dist/maintenance/scheduler.js +14 -23
- package/dist/maintenance/scheduler.js.map +1 -1
- package/dist/maintenance/tasks/cleanup-vectors.d.ts +3 -1
- package/dist/maintenance/tasks/cleanup-vectors.d.ts.map +1 -1
- package/dist/maintenance/tasks/cleanup-vectors.js +6 -4
- package/dist/maintenance/tasks/cleanup-vectors.js.map +1 -1
- package/dist/maintenance/tasks/index.d.ts +0 -1
- package/dist/maintenance/tasks/index.d.ts.map +1 -1
- package/dist/maintenance/tasks/index.js +0 -1
- package/dist/maintenance/tasks/index.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +7 -6
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +5 -5
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +42 -36
- package/dist/mcp/tools.js.map +1 -1
- package/dist/models/device-detector.d.ts.map +1 -1
- package/dist/models/device-detector.js +20 -10
- package/dist/models/device-detector.js.map +1 -1
- package/dist/models/embedder.d.ts.map +1 -1
- package/dist/models/embedder.js +5 -2
- package/dist/models/embedder.js.map +1 -1
- package/dist/models/model-registry.d.ts.map +1 -1
- package/dist/models/model-registry.js.map +1 -1
- package/dist/parser/chunker.d.ts +5 -40
- package/dist/parser/chunker.d.ts.map +1 -1
- package/dist/parser/chunker.js +5 -111
- package/dist/parser/chunker.js.map +1 -1
- package/dist/parser/session-reader.d.ts.map +1 -1
- package/dist/parser/session-reader.js +3 -6
- package/dist/parser/session-reader.js.map +1 -1
- package/dist/parser/turn-assembler.d.ts.map +1 -1
- package/dist/parser/turn-assembler.js +0 -1
- package/dist/parser/turn-assembler.js.map +1 -1
- package/dist/parser/types.d.ts.map +1 -1
- package/dist/report/reporter.d.ts.map +1 -1
- package/dist/report/reporter.js +1 -3
- package/dist/report/reporter.js.map +1 -1
- package/dist/retrieval/chain-assembler.d.ts +58 -0
- package/dist/retrieval/chain-assembler.d.ts.map +1 -0
- package/dist/retrieval/chain-assembler.js +126 -0
- package/dist/retrieval/chain-assembler.js.map +1 -0
- package/dist/retrieval/chain-walker.d.ts +57 -0
- package/dist/retrieval/chain-walker.d.ts.map +1 -0
- package/dist/retrieval/chain-walker.js +121 -0
- package/dist/retrieval/chain-walker.js.map +1 -0
- package/dist/retrieval/cluster-expander.d.ts.map +1 -1
- package/dist/retrieval/cluster-expander.js +3 -3
- package/dist/retrieval/cluster-expander.js.map +1 -1
- package/dist/retrieval/context-assembler.d.ts +13 -36
- package/dist/retrieval/context-assembler.d.ts.map +1 -1
- package/dist/retrieval/context-assembler.js +50 -287
- package/dist/retrieval/context-assembler.js.map +1 -1
- package/dist/retrieval/index.d.ts +8 -4
- package/dist/retrieval/index.d.ts.map +1 -1
- package/dist/retrieval/index.js +7 -3
- package/dist/retrieval/index.js.map +1 -1
- package/dist/retrieval/rrf.d.ts.map +1 -1
- package/dist/retrieval/rrf.js +4 -2
- package/dist/retrieval/rrf.js.map +1 -1
- package/dist/retrieval/search-assembler.d.ts +59 -0
- package/dist/retrieval/search-assembler.d.ts.map +1 -0
- package/dist/retrieval/search-assembler.js +209 -0
- package/dist/retrieval/search-assembler.js.map +1 -0
- package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
- package/dist/retrieval/session-reconstructor.js +9 -7
- package/dist/retrieval/session-reconstructor.js.map +1 -1
- package/dist/storage/archive.d.ts +0 -2
- package/dist/storage/archive.d.ts.map +1 -1
- package/dist/storage/archive.js +18 -12
- package/dist/storage/archive.js.map +1 -1
- package/dist/storage/checkpoint-store.d.ts +0 -1
- package/dist/storage/checkpoint-store.d.ts.map +1 -1
- package/dist/storage/checkpoint-store.js +5 -7
- package/dist/storage/checkpoint-store.js.map +1 -1
- package/dist/storage/chunk-store.d.ts.map +1 -1
- package/dist/storage/chunk-store.js +15 -17
- package/dist/storage/chunk-store.js.map +1 -1
- package/dist/storage/cluster-store.d.ts.map +1 -1
- package/dist/storage/cluster-store.js.map +1 -1
- package/dist/storage/db.d.ts.map +1 -1
- package/dist/storage/db.js.map +1 -1
- package/dist/storage/edge-store.d.ts +17 -30
- package/dist/storage/edge-store.d.ts.map +1 -1
- package/dist/storage/edge-store.js +43 -123
- package/dist/storage/edge-store.js.map +1 -1
- package/dist/storage/embedding-cache.d.ts.map +1 -1
- package/dist/storage/embedding-cache.js +1 -3
- package/dist/storage/embedding-cache.js.map +1 -1
- package/dist/storage/encryption.d.ts.map +1 -1
- package/dist/storage/encryption.js +4 -15
- package/dist/storage/encryption.js.map +1 -1
- package/dist/storage/index.d.ts +1 -4
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -5
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/keyword-store.d.ts.map +1 -1
- package/dist/storage/keyword-store.js +11 -7
- package/dist/storage/keyword-store.js.map +1 -1
- package/dist/storage/migrations.d.ts.map +1 -1
- package/dist/storage/migrations.js +56 -4
- package/dist/storage/migrations.js.map +1 -1
- package/dist/storage/schema.sql +8 -20
- package/dist/storage/types.d.ts +12 -26
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js +1 -2
- package/dist/storage/types.js.map +1 -1
- package/dist/storage/vector-store.d.ts +9 -15
- package/dist/storage/vector-store.d.ts.map +1 -1
- package/dist/storage/vector-store.js +64 -43
- package/dist/storage/vector-store.js.map +1 -1
- package/dist/utils/angular-distance.d.ts.map +1 -1
- package/dist/utils/angular-distance.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/secret-store.d.ts.map +1 -1
- package/dist/utils/secret-store.js +17 -13
- package/dist/utils/secret-store.js.map +1 -1
- package/dist/utils/secure-buffer.d.ts.map +1 -1
- package/dist/utils/secure-buffer.js.map +1 -1
- package/package.json +6 -5
- package/src/dashboard/client/package-lock.json +3 -3
- package/src/dashboard/client/package.json +3 -3
- package/dist/dashboard/client/assets/index-CMUKy4f9.css +0 -1
- package/dist/dashboard/client/assets/index-esv8TpCN.js +0 -168
- package/dist/eval/collection-benchmark/graph-value.d.ts +0 -16
- package/dist/eval/collection-benchmark/graph-value.d.ts.map +0 -1
- package/dist/eval/collection-benchmark/graph-value.js +0 -162
- package/dist/eval/collection-benchmark/graph-value.js.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts +0 -10
- package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js +0 -229
- package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts +0 -12
- package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js +0 -316
- package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts +0 -19
- package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/hop-decay.js +0 -127
- package/dist/eval/experiments/vector-decay-shapes/hop-decay.js.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/index.d.ts +0 -11
- package/dist/eval/experiments/vector-decay-shapes/index.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/index.js +0 -11
- package/dist/eval/experiments/vector-decay-shapes/index.js.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts +0 -14
- package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js +0 -274
- package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/presets.d.ts +0 -36
- package/dist/eval/experiments/vector-decay-shapes/presets.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/presets.js +0 -157
- package/dist/eval/experiments/vector-decay-shapes/presets.js.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts +0 -20
- package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/run-experiment.js +0 -504
- package/dist/eval/experiments/vector-decay-shapes/run-experiment.js.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/types.d.ts +0 -111
- package/dist/eval/experiments/vector-decay-shapes/types.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-shapes/types.js +0 -15
- package/dist/eval/experiments/vector-decay-shapes/types.js.map +0 -1
- package/dist/eval/experiments/vector-decay-sweep/index.d.ts +0 -7
- package/dist/eval/experiments/vector-decay-sweep/index.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-sweep/index.js +0 -7
- package/dist/eval/experiments/vector-decay-sweep/index.js.map +0 -1
- package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts +0 -30
- package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-sweep/run-sweep.js +0 -378
- package/dist/eval/experiments/vector-decay-sweep/run-sweep.js.map +0 -1
- package/dist/eval/experiments/vector-decay-sweep/types.d.ts +0 -109
- package/dist/eval/experiments/vector-decay-sweep/types.d.ts.map +0 -1
- package/dist/eval/experiments/vector-decay-sweep/types.js +0 -16
- package/dist/eval/experiments/vector-decay-sweep/types.js.map +0 -1
- package/dist/maintenance/tasks/prune-graph.d.ts +0 -12
- package/dist/maintenance/tasks/prune-graph.d.ts.map +0 -1
- package/dist/maintenance/tasks/prune-graph.js +0 -23
- package/dist/maintenance/tasks/prune-graph.js.map +0 -1
- package/dist/retrieval/traverser.d.ts +0 -66
- package/dist/retrieval/traverser.d.ts.map +0 -1
- package/dist/retrieval/traverser.js +0 -160
- package/dist/retrieval/traverser.js.map +0 -1
- package/dist/storage/clock-store.d.ts +0 -80
- package/dist/storage/clock-store.d.ts.map +0 -1
- package/dist/storage/clock-store.js +0 -155
- package/dist/storage/clock-store.js.map +0 -1
- package/dist/storage/decay.d.ts +0 -125
- package/dist/storage/decay.d.ts.map +0 -1
- package/dist/storage/decay.js +0 -276
- package/dist/storage/decay.js.map +0 -1
- package/dist/storage/pruner.d.ts +0 -111
- package/dist/storage/pruner.d.ts.map +0 -1
- package/dist/storage/pruner.js +0 -280
- package/dist/storage/pruner.js.map +0 -1
- package/dist/temporal/clock-compactor.d.ts +0 -65
- package/dist/temporal/clock-compactor.d.ts.map +0 -1
- package/dist/temporal/clock-compactor.js +0 -157
- package/dist/temporal/clock-compactor.js.map +0 -1
- package/dist/temporal/index.d.ts +0 -6
- package/dist/temporal/index.d.ts.map +0 -1
- package/dist/temporal/index.js +0 -6
- package/dist/temporal/index.js.map +0 -1
- package/dist/temporal/vector-clock.d.ts +0 -143
- package/dist/temporal/vector-clock.d.ts.map +0 -1
- package/dist/temporal/vector-clock.js +0 -231
- package/dist/temporal/vector-clock.js.map +0 -1
- package/dist/utils/keychain.d.ts +0 -43
- package/dist/utils/keychain.d.ts.map +0 -1
- package/dist/utils/keychain.js +0 -82
- package/dist/utils/keychain.js.map +0 -1
package/dist/storage/index.js
CHANGED
|
@@ -6,15 +6,11 @@ export { getDb, closeDb, clearAllData, getDbStats, generateId, getSchemaVersion
|
|
|
6
6
|
// Chunk store
|
|
7
7
|
export { insertChunk, insertChunks, getChunkById, getChunksByIds, getChunksBySession, getChunksBySessionSlug, getAllChunks, getChunksByCluster, isSessionIngested, deleteChunk, deleteChunks, getSessionIds, getChunkCount, } from './chunk-store.js';
|
|
8
8
|
// Edge store
|
|
9
|
-
export { createEdge, createEdges, getEdgeById, getOutgoingEdges, getIncomingEdges,
|
|
9
|
+
export { createEdge, createEdges, getEdgeById, getOutgoingEdges, getIncomingEdges, getForwardEdges, getBackwardEdges, deleteEdge, deleteEdges, deleteEdgesForChunk, deleteEdgesForSession, getEdgeCount, getAllEdges, } from './edge-store.js';
|
|
10
10
|
// Cluster store
|
|
11
11
|
export { upsertCluster, getClusterById, getAllClusters, getStaleClusters, assignChunkToCluster, assignChunksToClusters, getChunkClusterAssignments, getClusterChunkIds, removeChunkAssignments, clearClusterAssignments, deleteCluster, clearAllClusters, getClusterCount, computeMembershipHash, } from './cluster-store.js';
|
|
12
12
|
// Vector store
|
|
13
13
|
export { vectorStore } from './vector-store.js';
|
|
14
14
|
// Keyword store
|
|
15
15
|
export { KeywordStore } from './keyword-store.js';
|
|
16
|
-
// Decay calculation
|
|
17
|
-
export { calculateDecayWeight, getDeathTime } from './decay.js';
|
|
18
|
-
// Pruner
|
|
19
|
-
export { pruner, initStartupPrune } from './pruner.js';
|
|
20
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,WAAW;AACX,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAmBjG,cAAc;AACd,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,WAAW;AACX,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAmBjG,cAAc;AACd,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-store.d.ts","sourceRoot":"","sources":["../../src/storage/keyword-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AA6BD,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE,CAAC;gBAAH,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,YAAA;IAEjD,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"keyword-store.d.ts","sourceRoot":"","sources":["../../src/storage/keyword-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AA6BD,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE,CAAC;gBAAH,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,YAAA;IAEjD,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE;IA+B3D;;OAEG;IACH,eAAe,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,KAAK,EAAE,MAAM,GACZ,mBAAmB,EAAE;CAkCzB"}
|
|
@@ -30,7 +30,7 @@ function sanitizeQuery(query) {
|
|
|
30
30
|
const terms = sanitized.split(/\s+/).filter(Boolean);
|
|
31
31
|
if (terms.length === 0)
|
|
32
32
|
return '';
|
|
33
|
-
return terms.map(t => `"${t}"`).join(' ');
|
|
33
|
+
return terms.map((t) => `"${t}"`).join(' ');
|
|
34
34
|
}
|
|
35
35
|
export class KeywordStore {
|
|
36
36
|
db;
|
|
@@ -49,16 +49,18 @@ export class KeywordStore {
|
|
|
49
49
|
return [];
|
|
50
50
|
const db = this.getDatabase();
|
|
51
51
|
try {
|
|
52
|
-
const rows = db
|
|
52
|
+
const rows = db
|
|
53
|
+
.prepare(`
|
|
53
54
|
SELECT chunks.id, bm25(chunks_fts) as score
|
|
54
55
|
FROM chunks_fts
|
|
55
56
|
JOIN chunks ON chunks.rowid = chunks_fts.rowid
|
|
56
57
|
WHERE chunks_fts MATCH ?
|
|
57
58
|
ORDER BY bm25(chunks_fts)
|
|
58
59
|
LIMIT ?
|
|
59
|
-
`)
|
|
60
|
+
`)
|
|
61
|
+
.all(sanitized, limit);
|
|
60
62
|
// bm25() returns negative scores (lower = better match), negate for conventional scoring
|
|
61
|
-
return rows.map(r => ({
|
|
63
|
+
return rows.map((r) => ({
|
|
62
64
|
id: r.id,
|
|
63
65
|
score: -r.score,
|
|
64
66
|
}));
|
|
@@ -81,7 +83,8 @@ export class KeywordStore {
|
|
|
81
83
|
return [];
|
|
82
84
|
const placeholders = projectList.map(() => '?').join(',');
|
|
83
85
|
try {
|
|
84
|
-
const rows = db
|
|
86
|
+
const rows = db
|
|
87
|
+
.prepare(`
|
|
85
88
|
SELECT chunks.id, bm25(chunks_fts) as score
|
|
86
89
|
FROM chunks_fts
|
|
87
90
|
JOIN chunks ON chunks.rowid = chunks_fts.rowid
|
|
@@ -89,8 +92,9 @@ export class KeywordStore {
|
|
|
89
92
|
AND chunks.session_slug IN (${placeholders})
|
|
90
93
|
ORDER BY bm25(chunks_fts)
|
|
91
94
|
LIMIT ?
|
|
92
|
-
`)
|
|
93
|
-
|
|
95
|
+
`)
|
|
96
|
+
.all(sanitized, ...projectList, limit);
|
|
97
|
+
return rows.map((r) => ({
|
|
94
98
|
id: r.id,
|
|
95
99
|
score: -r.score,
|
|
96
100
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-store.js","sourceRoot":"","sources":["../../src/storage/keyword-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAO1C;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAEvC,+CAA+C;IAC/C,MAAM,SAAS,GAAG,KAAK;QACrB,wDAAwD;SACvD,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;QACjC,oEAAoE;QACpE,kDAAkD;SACjD,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;QAC/B,sBAAsB;SACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAE1B,+EAA+E;IAC/E,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"keyword-store.js","sourceRoot":"","sources":["../../src/storage/keyword-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/storage/migrations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAC;AAM5D;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/storage/migrations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAC;AAM5D;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAiD/D"}
|
|
@@ -51,6 +51,12 @@ export function runMigrations(database) {
|
|
|
51
51
|
if (currentVersion < 6) {
|
|
52
52
|
migrateToV6(database);
|
|
53
53
|
}
|
|
54
|
+
if (currentVersion < 7) {
|
|
55
|
+
migrateToV7(database);
|
|
56
|
+
}
|
|
57
|
+
if (currentVersion < 8) {
|
|
58
|
+
migrateToV8(database);
|
|
59
|
+
}
|
|
54
60
|
}
|
|
55
61
|
/**
|
|
56
62
|
* Migrate from v1 to v2 (add vector clock support).
|
|
@@ -195,7 +201,7 @@ function migrateToV4(database) {
|
|
|
195
201
|
}
|
|
196
202
|
}
|
|
197
203
|
}
|
|
198
|
-
const updateChunk = database.prepare(
|
|
204
|
+
const updateChunk = database.prepare("UPDATE chunks SET session_slug = ?, project_path = ? WHERE session_id = ? AND (session_slug = '' OR session_slug IS NULL OR project_path IS NULL)");
|
|
199
205
|
const backfillChunks = database.transaction(() => {
|
|
200
206
|
for (const [sessionId, info] of sessionProjectMap) {
|
|
201
207
|
if (info.slug) {
|
|
@@ -204,7 +210,7 @@ function migrateToV4(database) {
|
|
|
204
210
|
}
|
|
205
211
|
});
|
|
206
212
|
backfillChunks();
|
|
207
|
-
const updateCheckpoint = database.prepare(
|
|
213
|
+
const updateCheckpoint = database.prepare("UPDATE ingestion_checkpoints SET project_slug = ? WHERE session_id = ? AND (project_slug = '' OR project_slug IS NULL)");
|
|
208
214
|
const backfillCheckpoints = database.transaction(() => {
|
|
209
215
|
for (const [sessionId, info] of sessionProjectMap) {
|
|
210
216
|
if (info.slug) {
|
|
@@ -214,9 +220,13 @@ function migrateToV4(database) {
|
|
|
214
220
|
});
|
|
215
221
|
backfillCheckpoints();
|
|
216
222
|
try {
|
|
217
|
-
const emptyClockRows = database
|
|
223
|
+
const emptyClockRows = database
|
|
224
|
+
.prepare("SELECT id, clock_data FROM vector_clocks WHERE project_slug = ''")
|
|
225
|
+
.all();
|
|
218
226
|
if (emptyClockRows.length > 0) {
|
|
219
|
-
const distinctSlugs = database
|
|
227
|
+
const distinctSlugs = database
|
|
228
|
+
.prepare("SELECT DISTINCT session_slug FROM chunks WHERE session_slug != ''")
|
|
229
|
+
.all();
|
|
220
230
|
const insertClock = database.prepare('INSERT OR REPLACE INTO vector_clocks (id, project_slug, clock_data, updated_at) VALUES (?, ?, ?, CURRENT_TIMESTAMP)');
|
|
221
231
|
const rekeyClocks = database.transaction(() => {
|
|
222
232
|
for (const emptyRow of emptyClockRows) {
|
|
@@ -308,6 +318,48 @@ function migrateToV6(database) {
|
|
|
308
318
|
`);
|
|
309
319
|
database.exec('INSERT OR REPLACE INTO schema_version (version) VALUES (6)');
|
|
310
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* Migrate from v6 to v7 (remove vector clock columns and table).
|
|
323
|
+
*/
|
|
324
|
+
function migrateToV7(database) {
|
|
325
|
+
// Drop vector_clock column from chunks
|
|
326
|
+
try {
|
|
327
|
+
database.exec('ALTER TABLE chunks DROP COLUMN vector_clock');
|
|
328
|
+
}
|
|
329
|
+
catch {
|
|
330
|
+
// Column may not exist
|
|
331
|
+
}
|
|
332
|
+
// Drop vector_clock column from edges
|
|
333
|
+
try {
|
|
334
|
+
database.exec('ALTER TABLE edges DROP COLUMN vector_clock');
|
|
335
|
+
}
|
|
336
|
+
catch {
|
|
337
|
+
// Column may not exist
|
|
338
|
+
}
|
|
339
|
+
// Drop vector_clock column from ingestion_checkpoints
|
|
340
|
+
try {
|
|
341
|
+
database.exec('ALTER TABLE ingestion_checkpoints DROP COLUMN vector_clock');
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
// Column may not exist
|
|
345
|
+
}
|
|
346
|
+
// Drop vector_clocks table and its index
|
|
347
|
+
database.exec('DROP INDEX IF EXISTS idx_vector_clocks_project');
|
|
348
|
+
database.exec('DROP TABLE IF EXISTS vector_clocks');
|
|
349
|
+
database.exec('INSERT OR REPLACE INTO schema_version (version) VALUES (7)');
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Migrate from v7 to v8 (add chain-walking indices for episodic retrieval).
|
|
353
|
+
*/
|
|
354
|
+
function migrateToV8(database) {
|
|
355
|
+
database.exec(`
|
|
356
|
+
CREATE INDEX IF NOT EXISTS idx_edges_source_type ON edges(source_chunk_id, edge_type)
|
|
357
|
+
`);
|
|
358
|
+
database.exec(`
|
|
359
|
+
CREATE INDEX IF NOT EXISTS idx_edges_target_type ON edges(target_chunk_id, edge_type)
|
|
360
|
+
`);
|
|
361
|
+
database.exec('INSERT OR REPLACE INTO schema_version (version) VALUES (8)');
|
|
362
|
+
}
|
|
311
363
|
/**
|
|
312
364
|
* Extract sessionId and cwd from first few lines of a JSONL file.
|
|
313
365
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/storage/migrations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/storage/migrations.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/schema.sql
CHANGED
|
@@ -14,9 +14,7 @@ CREATE TABLE IF NOT EXISTS chunks (
|
|
|
14
14
|
tool_use_count INTEGER DEFAULT 0,
|
|
15
15
|
approx_tokens INTEGER DEFAULT 0,
|
|
16
16
|
created_at TEXT DEFAULT CURRENT_TIMESTAMP,
|
|
17
|
-
-- v2: Vector clock support
|
|
18
17
|
agent_id TEXT, -- Agent that created this chunk (null = main UI agent)
|
|
19
|
-
vector_clock TEXT, -- JSON: {"agentId": tick, ...}
|
|
20
18
|
spawn_depth INTEGER DEFAULT 0, -- Nesting level: 0=main, 1=sub-agent, 2=sub-sub-agent
|
|
21
19
|
project_path TEXT -- Full cwd path for disambiguation
|
|
22
20
|
);
|
|
@@ -33,18 +31,16 @@ CREATE TABLE IF NOT EXISTS clusters (
|
|
|
33
31
|
refreshed_at TEXT -- When description was last updated
|
|
34
32
|
);
|
|
35
33
|
|
|
36
|
-
-- Edges
|
|
34
|
+
-- Edges (sequential linked-list, forward-only)
|
|
37
35
|
CREATE TABLE IF NOT EXISTS edges (
|
|
38
36
|
id TEXT PRIMARY KEY,
|
|
39
37
|
source_chunk_id TEXT NOT NULL,
|
|
40
38
|
target_chunk_id TEXT NOT NULL,
|
|
41
|
-
edge_type TEXT NOT NULL, -- '
|
|
42
|
-
reference_type TEXT, -- '
|
|
39
|
+
edge_type TEXT NOT NULL, -- 'forward' (direction inferred at query time)
|
|
40
|
+
reference_type TEXT, -- 'within-chain', 'cross-session', 'brief', 'debrief'
|
|
43
41
|
initial_weight REAL NOT NULL DEFAULT 1.0,
|
|
44
42
|
created_at TEXT NOT NULL,
|
|
45
|
-
|
|
46
|
-
vector_clock TEXT, -- JSON: {"agentId": tick, ...} for hop-based decay
|
|
47
|
-
link_count INTEGER DEFAULT 1, -- Number of times this edge was created (for boosting)
|
|
43
|
+
link_count INTEGER DEFAULT 1,
|
|
48
44
|
FOREIGN KEY (source_chunk_id) REFERENCES chunks(id) ON DELETE CASCADE,
|
|
49
45
|
FOREIGN KEY (target_chunk_id) REFERENCES chunks(id) ON DELETE CASCADE
|
|
50
46
|
);
|
|
@@ -67,24 +63,16 @@ CREATE INDEX IF NOT EXISTS idx_chunks_slug_start_time ON chunks(session_slug, st
|
|
|
67
63
|
CREATE INDEX IF NOT EXISTS idx_edges_source ON edges(source_chunk_id);
|
|
68
64
|
CREATE INDEX IF NOT EXISTS idx_edges_target ON edges(target_chunk_id);
|
|
69
65
|
CREATE INDEX IF NOT EXISTS idx_edges_type ON edges(edge_type);
|
|
66
|
+
CREATE INDEX IF NOT EXISTS idx_edges_source_type ON edges(source_chunk_id, edge_type);
|
|
67
|
+
CREATE INDEX IF NOT EXISTS idx_edges_target_type ON edges(target_chunk_id, edge_type);
|
|
70
68
|
CREATE INDEX IF NOT EXISTS idx_chunk_clusters_cluster ON chunk_clusters(cluster_id);
|
|
71
69
|
|
|
72
|
-
-- Vector clocks for logical time tracking
|
|
73
|
-
CREATE TABLE IF NOT EXISTS vector_clocks (
|
|
74
|
-
id TEXT PRIMARY KEY, -- "project:<slug>" or "agent:<slug>:<agentId>"
|
|
75
|
-
project_slug TEXT NOT NULL,
|
|
76
|
-
clock_data TEXT NOT NULL, -- JSON: {"agentId": tick, ...}
|
|
77
|
-
updated_at TEXT DEFAULT CURRENT_TIMESTAMP
|
|
78
|
-
);
|
|
79
|
-
CREATE INDEX IF NOT EXISTS idx_vector_clocks_project ON vector_clocks(project_slug);
|
|
80
|
-
|
|
81
70
|
-- Ingestion checkpoints for incremental ingestion
|
|
82
71
|
CREATE TABLE IF NOT EXISTS ingestion_checkpoints (
|
|
83
72
|
session_id TEXT PRIMARY KEY,
|
|
84
73
|
project_slug TEXT NOT NULL,
|
|
85
74
|
last_turn_index INTEGER NOT NULL,
|
|
86
75
|
last_chunk_id TEXT,
|
|
87
|
-
vector_clock TEXT,
|
|
88
76
|
file_mtime TEXT, -- ISO timestamp of file mtime at last ingest
|
|
89
77
|
updated_at TEXT DEFAULT CURRENT_TIMESTAMP
|
|
90
78
|
);
|
|
@@ -129,5 +117,5 @@ CREATE TRIGGER IF NOT EXISTS chunks_fts_update AFTER UPDATE OF content ON chunks
|
|
|
129
117
|
INSERT INTO chunks_fts(rowid, content) VALUES (new.rowid, new.content);
|
|
130
118
|
END;
|
|
131
119
|
|
|
132
|
-
-- Insert initial version if not exists (
|
|
133
|
-
INSERT OR IGNORE INTO schema_version (version) VALUES (
|
|
120
|
+
-- Insert initial version if not exists (v8 adds chain-walking indices, simplifies edges)
|
|
121
|
+
INSERT OR IGNORE INTO schema_version (version) VALUES (8);
|
package/dist/storage/types.d.ts
CHANGED
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The storage layer provides persistence for the Causantic system.
|
|
5
5
|
* Key data structures include:
|
|
6
|
-
* - **Chunks**: Segments of conversation with metadata
|
|
6
|
+
* - **Chunks**: Segments of conversation with metadata
|
|
7
7
|
* - **Edges**: Weighted directional connections between chunks
|
|
8
8
|
* - **Clusters**: Topic groupings of chunks (via HDBSCAN)
|
|
9
|
-
* - **Vector clocks**: For causality tracking and decay computation
|
|
10
9
|
*
|
|
11
10
|
* @module storage/types
|
|
12
11
|
*/
|
|
13
|
-
import type { VectorClock } from '../temporal/vector-clock.js';
|
|
14
12
|
/**
|
|
15
13
|
* Edge direction for graph traversal.
|
|
16
14
|
*
|
|
@@ -22,30 +20,27 @@ import type { VectorClock } from '../temporal/vector-clock.js';
|
|
|
22
20
|
*/
|
|
23
21
|
export type EdgeType = 'backward' | 'forward';
|
|
24
22
|
/**
|
|
25
|
-
*
|
|
23
|
+
* Structural roles for causal graph edges.
|
|
26
24
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
25
|
+
* The causal graph is purely causal — semantic association is handled by
|
|
26
|
+
* vector similarity and clustering. Edges represent structural relationships:
|
|
29
27
|
*
|
|
30
28
|
* | Type | Weight | Description |
|
|
31
29
|
* |------|--------|-------------|
|
|
32
|
-
* | `
|
|
33
|
-
* | `
|
|
34
|
-
* | `
|
|
35
|
-
* | `brief` | 0.9 | Parent spawning sub-agent |
|
|
36
|
-
* | `debrief` | 0.9 | Sub-agent returning to parent |
|
|
37
|
-
* | `code-entity` | 0.8 | Shared function/class/variable name |
|
|
38
|
-
* | `tool-output` | 0.8 | Referencing tool results |
|
|
30
|
+
* | `within-chain` | 1.0 | D-T-D causal edge within one thinking entity |
|
|
31
|
+
* | `brief` | 0.9 | Parent spawning sub-agent (× depth penalty) |
|
|
32
|
+
* | `debrief` | 0.9 | Sub-agent returning to parent (× depth penalty) |
|
|
39
33
|
* | `cross-session` | 0.7 | Session continuation |
|
|
40
|
-
*
|
|
34
|
+
*
|
|
35
|
+
* All within-chain edges use m×n all-pairs creation at D-T-D boundaries,
|
|
36
|
+
* with topic-shift gating to omit edges across topic changes.
|
|
41
37
|
*/
|
|
42
|
-
export type ReferenceType = '
|
|
38
|
+
export type ReferenceType = 'within-chain' | 'cross-session' | 'brief' | 'debrief';
|
|
43
39
|
/**
|
|
44
40
|
* A chunk stored in the database.
|
|
45
41
|
*
|
|
46
42
|
* Chunks are the fundamental unit of storage, representing segments of
|
|
47
|
-
* conversation. Each chunk contains one or more turns
|
|
48
|
-
* a vector clock for causality tracking.
|
|
43
|
+
* conversation. Each chunk contains one or more turns.
|
|
49
44
|
*/
|
|
50
45
|
export interface StoredChunk {
|
|
51
46
|
/** Unique identifier (UUID format) */
|
|
@@ -72,8 +67,6 @@ export interface StoredChunk {
|
|
|
72
67
|
createdAt: string;
|
|
73
68
|
/** Agent ID for sub-agent chunks, 'ui' for main session */
|
|
74
69
|
agentId: string | null;
|
|
75
|
-
/** Vector clock at time of chunk creation (for decay) */
|
|
76
|
-
vectorClock: VectorClock | null;
|
|
77
70
|
/** Nesting depth: 0=main, 1=sub-agent, 2=nested sub-agent */
|
|
78
71
|
spawnDepth: number;
|
|
79
72
|
/** Full cwd path for project disambiguation (optional) */
|
|
@@ -108,8 +101,6 @@ export interface ChunkInput {
|
|
|
108
101
|
approxTokens: number;
|
|
109
102
|
/** Agent ID (optional, defaults to 'ui') */
|
|
110
103
|
agentId?: string;
|
|
111
|
-
/** Vector clock (optional, enables clock-based decay) */
|
|
112
|
-
vectorClock?: VectorClock;
|
|
113
104
|
/** Spawn depth (optional, defaults to 0) */
|
|
114
105
|
spawnDepth?: number;
|
|
115
106
|
/** Full cwd path for project disambiguation */
|
|
@@ -120,7 +111,6 @@ export interface ChunkInput {
|
|
|
120
111
|
*
|
|
121
112
|
* Edges represent causal connections between chunks. They have:
|
|
122
113
|
* - An `initialWeight` set at creation based on reference type
|
|
123
|
-
* - A `vectorClock` for computing time-based decay
|
|
124
114
|
* - A `linkCount` that increases when the same edge is created multiple times
|
|
125
115
|
*/
|
|
126
116
|
export interface StoredEdge {
|
|
@@ -138,8 +128,6 @@ export interface StoredEdge {
|
|
|
138
128
|
initialWeight: number;
|
|
139
129
|
/** ISO timestamp when edge was created */
|
|
140
130
|
createdAt: string;
|
|
141
|
-
/** JSON-serialized vector clock for decay computation */
|
|
142
|
-
vectorClock: string | null;
|
|
143
131
|
/** Times this edge was created (boosted on duplicate) */
|
|
144
132
|
linkCount: number;
|
|
145
133
|
}
|
|
@@ -161,8 +149,6 @@ export interface EdgeInput {
|
|
|
161
149
|
referenceType?: ReferenceType;
|
|
162
150
|
/** Explicit weight (overrides type-based default) */
|
|
163
151
|
initialWeight: number;
|
|
164
|
-
/** Vector clock for decay computation */
|
|
165
|
-
vectorClock?: VectorClock;
|
|
166
152
|
}
|
|
167
153
|
/**
|
|
168
154
|
* An edge with its computed weight at query time.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/types.js
CHANGED
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The storage layer provides persistence for the Causantic system.
|
|
5
5
|
* Key data structures include:
|
|
6
|
-
* - **Chunks**: Segments of conversation with metadata
|
|
6
|
+
* - **Chunks**: Segments of conversation with metadata
|
|
7
7
|
* - **Edges**: Weighted directional connections between chunks
|
|
8
8
|
* - **Clusters**: Topic groupings of chunks (via HDBSCAN)
|
|
9
|
-
* - **Vector clocks**: For causality tracking and decay computation
|
|
10
9
|
*
|
|
11
10
|
* @module storage/types
|
|
12
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
@@ -180,28 +180,22 @@ export declare class VectorStore {
|
|
|
180
180
|
*/
|
|
181
181
|
private touchLastAccessed;
|
|
182
182
|
/**
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
* Called by pruner when deleting orphaned chunks.
|
|
186
|
-
*/
|
|
187
|
-
markOrphaned(id: string): Promise<void>;
|
|
188
|
-
/**
|
|
189
|
-
* Mark multiple vectors as orphaned.
|
|
190
|
-
*/
|
|
191
|
-
markOrphanedBatch(ids: string[]): Promise<void>;
|
|
192
|
-
/**
|
|
193
|
-
* Clean up expired orphaned vectors and their corresponding chunks.
|
|
194
|
-
* Removes vectors that are orphaned AND haven't been accessed within the TTL period.
|
|
183
|
+
* Clean up expired vectors and their corresponding chunks.
|
|
184
|
+
* Removes vectors that haven't been accessed within the TTL period.
|
|
195
185
|
* Also deletes the corresponding chunks (FK cascades handle cluster assignments and edges).
|
|
196
186
|
*
|
|
197
|
-
* @param ttlDays - Number of days after which
|
|
187
|
+
* @param ttlDays - Number of days after which unaccessed vectors expire
|
|
198
188
|
* @returns Number of vectors deleted
|
|
199
189
|
*/
|
|
200
190
|
cleanupExpired(ttlDays: number): Promise<number>;
|
|
201
191
|
/**
|
|
202
|
-
*
|
|
192
|
+
* Evict the oldest vectors when collection exceeds maxCount.
|
|
193
|
+
* Deletes vectors (and their chunks via FK cascade) by ascending last_accessed.
|
|
194
|
+
*
|
|
195
|
+
* @param maxCount - Maximum number of vectors to retain (0 = unlimited)
|
|
196
|
+
* @returns Number of vectors evicted
|
|
203
197
|
*/
|
|
204
|
-
|
|
198
|
+
evictOldest(maxCount: number): Promise<number>;
|
|
205
199
|
}
|
|
206
200
|
/**
|
|
207
201
|
* Singleton vector store instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/storage/vector-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/storage/vector-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD;;;;;;;;GAQG;AAEH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB,CAAkC;IAE3D;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsD3B;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB5D;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnF;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAK/C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsB3E;;;OAGG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAuBhC;;;;;;;;;;OAUG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAwBhC;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1C;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBjD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKpC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAQ1E;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;OAOG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgDtD;;;;;;OAMG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAkDrD;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|