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
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for turn-to-turn reference extraction and relevance decay experiments.
|
|
3
|
+
*
|
|
4
|
+
* Distance metric: hop distance (turn count difference).
|
|
5
|
+
* Each turn is one D-T-D (Data-Transformation-Data) cycle.
|
|
3
6
|
*/
|
|
4
7
|
/**
|
|
5
8
|
* A detected reference from a user turn to a specific earlier assistant turn.
|
|
@@ -15,11 +18,15 @@ export interface TurnReference {
|
|
|
15
18
|
confidence: 'high' | 'medium' | 'low';
|
|
16
19
|
/** Evidence that triggered the detection (e.g., matched file path) */
|
|
17
20
|
evidence: string;
|
|
18
|
-
/**
|
|
19
|
-
|
|
21
|
+
/** Hop distance (turn count difference: userTurnIndex - referencedTurnIndex) */
|
|
22
|
+
hopDistance: number;
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
|
-
*
|
|
25
|
+
* Local reference types for session analysis (NOT the storage ReferenceType).
|
|
26
|
+
* These describe the empirical reference patterns detected in raw session data
|
|
27
|
+
* and are used by the decay curve experiments. They are independent of the
|
|
28
|
+
* structural edge types (within-chain, cross-session, brief, debrief) used
|
|
29
|
+
* in the causal graph storage layer.
|
|
23
30
|
*/
|
|
24
31
|
export type ReferenceType = 'file-path' | 'error-fragment' | 'code-entity' | 'explicit-backref' | 'tool-output' | 'adjacent' | 'cross-session';
|
|
25
32
|
/**
|
|
@@ -40,7 +47,7 @@ export interface SessionReferences {
|
|
|
40
47
|
*/
|
|
41
48
|
export interface CandidateTurn {
|
|
42
49
|
turnIndex: number;
|
|
43
|
-
|
|
50
|
+
hopDistance: number;
|
|
44
51
|
/** Decay weight at query time (depends on decay model) */
|
|
45
52
|
decayWeight: number;
|
|
46
53
|
/** Whether this turn is actually referenced by the query turn */
|
|
@@ -86,15 +93,15 @@ export interface RetrievalRankingResult {
|
|
|
86
93
|
evaluations: QueryEvaluation[];
|
|
87
94
|
}
|
|
88
95
|
/**
|
|
89
|
-
*
|
|
96
|
+
* Hop-distance bin for correlation analysis.
|
|
90
97
|
*/
|
|
91
|
-
export interface
|
|
92
|
-
/** Bin label (e.g., "
|
|
98
|
+
export interface HopDistanceBin {
|
|
99
|
+
/** Bin label (e.g., "1 hop", "2-3 hops") */
|
|
93
100
|
label: string;
|
|
94
|
-
/** Min
|
|
95
|
-
|
|
96
|
-
/** Max
|
|
97
|
-
|
|
101
|
+
/** Min hop distance (inclusive) */
|
|
102
|
+
minHops: number;
|
|
103
|
+
/** Max hop distance (exclusive) */
|
|
104
|
+
maxHops: number;
|
|
98
105
|
/** Number of turn pairs in this bin */
|
|
99
106
|
pairCount: number;
|
|
100
107
|
/** Actual reference rate (% of pairs where later turn references earlier) */
|
|
@@ -103,11 +110,11 @@ export interface TimeOffsetBin {
|
|
|
103
110
|
meanDecayWeights: Record<string, number>;
|
|
104
111
|
}
|
|
105
112
|
/**
|
|
106
|
-
* Results of
|
|
113
|
+
* Results of hop-distance correlation experiment.
|
|
107
114
|
*/
|
|
108
|
-
export interface
|
|
109
|
-
/**
|
|
110
|
-
bins:
|
|
115
|
+
export interface HopDistanceCorrelationResult {
|
|
116
|
+
/** Hop-distance bins analyzed */
|
|
117
|
+
bins: HopDistanceBin[];
|
|
111
118
|
/** Spearman correlation for each model */
|
|
112
119
|
correlations: Record<string, number>;
|
|
113
120
|
}
|
|
@@ -125,7 +132,7 @@ export interface EdgeDecayExperimentResults {
|
|
|
125
132
|
referenceCount: number;
|
|
126
133
|
/** Retrieval ranking results per model */
|
|
127
134
|
retrievalRanking: RetrievalRankingResult[];
|
|
128
|
-
/**
|
|
129
|
-
|
|
135
|
+
/** Hop-distance correlation results */
|
|
136
|
+
hopDistanceCorrelation?: HopDistanceCorrelationResult;
|
|
130
137
|
}
|
|
131
138
|
//# sourceMappingURL=reference-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-types.d.ts","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/reference-types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reference-types.d.ts","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/reference-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for turn-to-turn reference extraction and relevance decay experiments.
|
|
3
|
+
*
|
|
4
|
+
* Distance metric: hop distance (turn count difference).
|
|
5
|
+
* Each turn is one D-T-D (Data-Transformation-Data) cycle.
|
|
3
6
|
*/
|
|
4
7
|
export {};
|
|
5
8
|
//# sourceMappingURL=reference-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-types.js","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/reference-types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reference-types.js","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/reference-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Tests whether decay-weighted ranking of candidate turns
|
|
5
5
|
* correlates with actual turn-to-turn references.
|
|
6
|
+
*
|
|
7
|
+
* Distance metric: hop distance (turn count difference).
|
|
6
8
|
*/
|
|
7
9
|
import type { DecayModelConfig } from './types.js';
|
|
8
|
-
import type { SessionReferences, RetrievalRankingResult,
|
|
10
|
+
import type { SessionReferences, RetrievalRankingResult, HopDistanceCorrelationResult } from './reference-types.js';
|
|
9
11
|
/**
|
|
10
12
|
* Options for filtering references to focus on long-range retrieval.
|
|
11
13
|
*/
|
|
12
14
|
export interface ReferenceFilterOptions {
|
|
13
15
|
/** Minimum turn distance to include (e.g., 2 = skip immediately previous) */
|
|
14
16
|
minTurnDistance?: number;
|
|
15
|
-
/** Minimum time gap in ms to include (e.g., 5 * MS_PER_MINUTE) */
|
|
16
|
-
minTimeGapMs?: number;
|
|
17
17
|
/** Exclude 'adjacent' reference type (low confidence recency) */
|
|
18
18
|
excludeAdjacent?: boolean;
|
|
19
19
|
/** Only include high confidence references */
|
|
@@ -34,17 +34,17 @@ export declare function evaluateRetrievalRanking(sessions: SessionReferences[],
|
|
|
34
34
|
*/
|
|
35
35
|
export declare function compareRetrievalRanking(sessions: SessionReferences[], decayModels: DecayModelConfig[], verbose?: boolean): RetrievalRankingResult[];
|
|
36
36
|
/**
|
|
37
|
-
* Run
|
|
37
|
+
* Run hop-distance correlation experiment.
|
|
38
38
|
*/
|
|
39
|
-
export declare function
|
|
39
|
+
export declare function evaluateHopDistanceCorrelation(sessions: SessionReferences[], decayModels: DecayModelConfig[]): HopDistanceCorrelationResult;
|
|
40
40
|
/**
|
|
41
41
|
* Format retrieval ranking results as a comparison table.
|
|
42
42
|
*/
|
|
43
43
|
export declare function formatRetrievalRankingTable(results: RetrievalRankingResult[]): string;
|
|
44
44
|
/**
|
|
45
|
-
* Format
|
|
45
|
+
* Format hop-distance correlation results.
|
|
46
46
|
*/
|
|
47
|
-
export declare function
|
|
47
|
+
export declare function formatHopDistanceTable(result: HopDistanceCorrelationResult, decayModels: DecayModelConfig[]): string;
|
|
48
48
|
/**
|
|
49
49
|
* Run forward prediction experiment for a single decay model.
|
|
50
50
|
*
|
|
@@ -52,7 +52,7 @@ export declare function formatTimeOffsetTable(result: TimeOffsetCorrelationResul
|
|
|
52
52
|
* - Predict which future turns will reference it (using decay weights)
|
|
53
53
|
* - Measure if actual referencing turns rank highly
|
|
54
54
|
*/
|
|
55
|
-
export declare function evaluateForwardPrediction(sessions: SessionReferences[], decayModel: DecayModelConfig): RetrievalRankingResult;
|
|
55
|
+
export declare function evaluateForwardPrediction(sessions: SessionReferences[], decayModel: DecayModelConfig, minHopDistance?: number): RetrievalRankingResult;
|
|
56
56
|
/**
|
|
57
57
|
* Run forward prediction experiment for multiple decay models.
|
|
58
58
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieval-ranking.d.ts","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/retrieval-ranking.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"retrieval-ranking.d.ts","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/retrieval-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EACV,iBAAiB,EAIjB,sBAAsB,EAEtB,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,sBAA2B,GACnC,iBAAiB,EAAE,CAsBrB;AAiED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,UAAU,EAAE,gBAAgB,GAC3B,sBAAsB,CA6DxB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,OAAO,GAAE,OAAc,GACtB,sBAAsB,EAAE,CAiB1B;AAoDD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,WAAW,EAAE,gBAAgB,EAAE,GAC9B,4BAA4B,CAuE9B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAyCrF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,4BAA4B,EACpC,WAAW,EAAE,gBAAgB,EAAE,GAC9B,MAAM,CAwCR;AA+ED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,UAAU,EAAE,gBAAgB,EAC5B,cAAc,GAAE,MAAU,GACzB,sBAAsB,CAiExB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,OAAO,GAAE,OAAc,GACtB,sBAAsB,EAAE,CAiB1B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,sBAAsB,EAAE,EACzC,cAAc,EAAE,sBAAsB,EAAE,GACvC,MAAM,CAwCR"}
|
|
@@ -3,24 +3,21 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Tests whether decay-weighted ranking of candidate turns
|
|
5
5
|
* correlates with actual turn-to-turn references.
|
|
6
|
+
*
|
|
7
|
+
* Distance metric: hop distance (turn count difference).
|
|
6
8
|
*/
|
|
7
9
|
import { calculateWeight } from './decay-curves.js';
|
|
8
|
-
import { MS_PER_MINUTE, MS_PER_HOUR, MS_PER_DAY } from './types.js';
|
|
9
10
|
/**
|
|
10
11
|
* Filter references to focus on long-range retrieval scenarios.
|
|
11
12
|
* This simulates what the memory system actually needs to retrieve —
|
|
12
13
|
* context that's NOT in Claude's immediate context window.
|
|
13
14
|
*/
|
|
14
15
|
export function filterLongRangeReferences(sessions, options = {}) {
|
|
15
|
-
const { minTurnDistance = 1,
|
|
16
|
-
return sessions.map(session => {
|
|
17
|
-
const filteredRefs = session.references.filter(ref => {
|
|
18
|
-
// Check turn distance
|
|
19
|
-
|
|
20
|
-
if (turnDistance < minTurnDistance)
|
|
21
|
-
return false;
|
|
22
|
-
// Check time gap
|
|
23
|
-
if (ref.timeGapMs < minTimeGapMs)
|
|
16
|
+
const { minTurnDistance = 1, excludeAdjacent = false, highConfidenceOnly = false } = options;
|
|
17
|
+
return sessions.map((session) => {
|
|
18
|
+
const filteredRefs = session.references.filter((ref) => {
|
|
19
|
+
// Check turn distance (= hop distance)
|
|
20
|
+
if (ref.hopDistance < minTurnDistance)
|
|
24
21
|
return false;
|
|
25
22
|
// Exclude adjacent type if requested
|
|
26
23
|
if (excludeAdjacent && ref.referenceType === 'adjacent')
|
|
@@ -49,32 +46,19 @@ function buildReferenceMap(references) {
|
|
|
49
46
|
}
|
|
50
47
|
return map;
|
|
51
48
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Build a map from query turn to time gaps for each candidate.
|
|
54
|
-
*/
|
|
55
|
-
function buildTimeGapMap(references, turnCount) {
|
|
56
|
-
const map = new Map();
|
|
57
|
-
// Initialize from explicit references
|
|
58
|
-
for (const ref of references) {
|
|
59
|
-
if (!map.has(ref.userTurnIndex)) {
|
|
60
|
-
map.set(ref.userTurnIndex, new Map());
|
|
61
|
-
}
|
|
62
|
-
map.get(ref.userTurnIndex).set(ref.referencedTurnIndex, ref.timeGapMs);
|
|
63
|
-
}
|
|
64
|
-
return map;
|
|
65
|
-
}
|
|
66
49
|
/**
|
|
67
50
|
* Evaluate a single query turn against all candidates using a decay model.
|
|
51
|
+
* Distance metric: hop distance (queryTurnIndex - candidateTurnIndex).
|
|
68
52
|
*/
|
|
69
|
-
function evaluateQuery(queryTurnIndex, candidateTurnIndices, relevantTurns,
|
|
70
|
-
// Score each candidate
|
|
71
|
-
const candidates = candidateTurnIndices.map(turnIndex => {
|
|
72
|
-
const
|
|
73
|
-
const decayWeight = calculateWeight(decayModel,
|
|
53
|
+
function evaluateQuery(queryTurnIndex, candidateTurnIndices, relevantTurns, decayModel) {
|
|
54
|
+
// Score each candidate by hop distance
|
|
55
|
+
const candidates = candidateTurnIndices.map((turnIndex) => {
|
|
56
|
+
const hopDistance = queryTurnIndex - turnIndex;
|
|
57
|
+
const decayWeight = calculateWeight(decayModel, hopDistance);
|
|
74
58
|
const isRelevant = relevantTurns.has(turnIndex);
|
|
75
59
|
return {
|
|
76
60
|
turnIndex,
|
|
77
|
-
|
|
61
|
+
hopDistance,
|
|
78
62
|
decayWeight,
|
|
79
63
|
isRelevant,
|
|
80
64
|
};
|
|
@@ -113,7 +97,6 @@ export function evaluateRetrievalRanking(sessions, decayModel) {
|
|
|
113
97
|
};
|
|
114
98
|
for (const session of sessions) {
|
|
115
99
|
const referenceMap = buildReferenceMap(session.references);
|
|
116
|
-
const timeGapMap = buildTimeGapMap(session.references, session.turnCount);
|
|
117
100
|
// For each query turn that has references
|
|
118
101
|
for (const [queryTurnIndex, relevantTurns] of referenceMap) {
|
|
119
102
|
// Skip if no relevant turns
|
|
@@ -123,28 +106,7 @@ export function evaluateRetrievalRanking(sessions, decayModel) {
|
|
|
123
106
|
const candidateTurnIndices = Array.from({ length: queryTurnIndex }, (_, i) => i);
|
|
124
107
|
if (candidateTurnIndices.length === 0)
|
|
125
108
|
continue;
|
|
126
|
-
|
|
127
|
-
const timeGaps = timeGapMap.get(queryTurnIndex) ?? new Map();
|
|
128
|
-
// For candidates without explicit time gaps, estimate from reference data
|
|
129
|
-
// (This shouldn't happen often since we extract time gaps during reference extraction)
|
|
130
|
-
for (const candidateIdx of candidateTurnIndices) {
|
|
131
|
-
if (!timeGaps.has(candidateIdx)) {
|
|
132
|
-
// Find a reference with known time gap to estimate
|
|
133
|
-
const knownRef = session.references.find(r => r.userTurnIndex === queryTurnIndex && r.referencedTurnIndex !== candidateIdx);
|
|
134
|
-
if (knownRef) {
|
|
135
|
-
// Estimate based on turn distance ratio
|
|
136
|
-
const refTurnDist = queryTurnIndex - knownRef.referencedTurnIndex;
|
|
137
|
-
const thisTurnDist = queryTurnIndex - candidateIdx;
|
|
138
|
-
const estimatedGap = (knownRef.timeGapMs / refTurnDist) * thisTurnDist;
|
|
139
|
-
timeGaps.set(candidateIdx, estimatedGap);
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
// Default to 5 minutes per turn distance
|
|
143
|
-
timeGaps.set(candidateIdx, (queryTurnIndex - candidateIdx) * 5 * MS_PER_MINUTE);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
const evaluation = evaluateQuery(queryTurnIndex, candidateTurnIndices, relevantTurns, timeGaps, decayModel);
|
|
109
|
+
const evaluation = evaluateQuery(queryTurnIndex, candidateTurnIndices, relevantTurns, decayModel);
|
|
148
110
|
evaluations.push(evaluation);
|
|
149
111
|
totalRR += evaluation.reciprocalRank;
|
|
150
112
|
if (evaluation.firstRelevantRank > 0) {
|
|
@@ -193,15 +155,15 @@ export function compareRetrievalRanking(sessions, decayModels, verbose = true) {
|
|
|
193
155
|
return results;
|
|
194
156
|
}
|
|
195
157
|
/**
|
|
196
|
-
*
|
|
158
|
+
* Hop-distance bins for correlation analysis.
|
|
197
159
|
*/
|
|
198
|
-
const
|
|
199
|
-
{ label: '
|
|
200
|
-
{ label: '
|
|
201
|
-
{ label: '
|
|
202
|
-
{ label: '
|
|
203
|
-
{ label: '
|
|
204
|
-
{ label: '
|
|
160
|
+
const HOP_DISTANCE_BINS = [
|
|
161
|
+
{ label: '1 hop', minHops: 1, maxHops: 2 },
|
|
162
|
+
{ label: '2-3 hops', minHops: 2, maxHops: 4 },
|
|
163
|
+
{ label: '4-6 hops', minHops: 4, maxHops: 7 },
|
|
164
|
+
{ label: '7-10 hops', minHops: 7, maxHops: 11 },
|
|
165
|
+
{ label: '11-20 hops', minHops: 11, maxHops: 21 },
|
|
166
|
+
{ label: '21+ hops', minHops: 21, maxHops: Infinity },
|
|
205
167
|
];
|
|
206
168
|
/**
|
|
207
169
|
* Compute Spearman rank correlation between two arrays.
|
|
@@ -235,11 +197,11 @@ function computeRanks(values) {
|
|
|
235
197
|
return ranks;
|
|
236
198
|
}
|
|
237
199
|
/**
|
|
238
|
-
* Run
|
|
200
|
+
* Run hop-distance correlation experiment.
|
|
239
201
|
*/
|
|
240
|
-
export function
|
|
202
|
+
export function evaluateHopDistanceCorrelation(sessions, decayModels) {
|
|
241
203
|
// Initialize bins
|
|
242
|
-
const bins =
|
|
204
|
+
const bins = HOP_DISTANCE_BINS.map((b) => ({
|
|
243
205
|
...b,
|
|
244
206
|
pairCount: 0,
|
|
245
207
|
referenceRate: 0,
|
|
@@ -250,40 +212,49 @@ export function evaluateTimeOffsetCorrelation(sessions, decayModels) {
|
|
|
250
212
|
for (const model of decayModels) {
|
|
251
213
|
decayWeightSums[model.id] = bins.map(() => 0);
|
|
252
214
|
}
|
|
253
|
-
// Count references in each bin
|
|
215
|
+
// Count references and total possible pairs in each bin
|
|
254
216
|
const referenceCounts = bins.map(() => 0);
|
|
255
217
|
const pairCounts = bins.map(() => 0);
|
|
256
|
-
//
|
|
218
|
+
// Count all possible turn pairs at each hop distance.
|
|
219
|
+
// A session with N turns has (N - d) pairs at distance d
|
|
220
|
+
// (each user turn i can reference assistant turn i-d).
|
|
257
221
|
for (const session of sessions) {
|
|
258
|
-
for (
|
|
259
|
-
|
|
260
|
-
const binIndex = bins.findIndex(b => ref.timeGapMs >= b.minMs && ref.timeGapMs < b.maxMs);
|
|
222
|
+
for (let d = 1; d < session.turnCount; d++) {
|
|
223
|
+
const binIndex = bins.findIndex((b) => d >= b.minHops && d < b.maxHops);
|
|
261
224
|
if (binIndex >= 0) {
|
|
262
|
-
|
|
263
|
-
pairCounts[binIndex]
|
|
264
|
-
// Accumulate decay weights
|
|
225
|
+
// Number of pairs at this exact distance in this session
|
|
226
|
+
pairCounts[binIndex] += session.turnCount - d;
|
|
227
|
+
// Accumulate decay weights for all possible pairs at this distance
|
|
265
228
|
for (const model of decayModels) {
|
|
266
|
-
const weight = calculateWeight(model,
|
|
267
|
-
decayWeightSums[model.id][binIndex] += weight;
|
|
229
|
+
const weight = calculateWeight(model, d);
|
|
230
|
+
decayWeightSums[model.id][binIndex] += weight * (session.turnCount - d);
|
|
268
231
|
}
|
|
269
232
|
}
|
|
270
233
|
}
|
|
271
234
|
}
|
|
235
|
+
// Count actual references per bin
|
|
236
|
+
for (const session of sessions) {
|
|
237
|
+
for (const ref of session.references) {
|
|
238
|
+
const binIndex = bins.findIndex((b) => ref.hopDistance >= b.minHops && ref.hopDistance < b.maxHops);
|
|
239
|
+
if (binIndex >= 0) {
|
|
240
|
+
referenceCounts[binIndex]++;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
272
244
|
// Compute mean decay weights and reference rates
|
|
273
245
|
for (let i = 0; i < bins.length; i++) {
|
|
274
246
|
bins[i].pairCount = pairCounts[i];
|
|
275
247
|
bins[i].referenceRate = pairCounts[i] > 0 ? referenceCounts[i] / pairCounts[i] : 0;
|
|
276
248
|
for (const model of decayModels) {
|
|
277
|
-
bins[i].meanDecayWeights[model.id] =
|
|
278
|
-
? decayWeightSums[model.id][i] / pairCounts[i]
|
|
279
|
-
: 0;
|
|
249
|
+
bins[i].meanDecayWeights[model.id] =
|
|
250
|
+
pairCounts[i] > 0 ? decayWeightSums[model.id][i] / pairCounts[i] : 0;
|
|
280
251
|
}
|
|
281
252
|
}
|
|
282
253
|
// Compute correlations
|
|
283
254
|
const correlations = {};
|
|
284
|
-
const referenceRates = bins.map(b => b.referenceRate);
|
|
255
|
+
const referenceRates = bins.map((b) => b.referenceRate);
|
|
285
256
|
for (const model of decayModels) {
|
|
286
|
-
const decayWeights = bins.map(b => b.meanDecayWeights[model.id]);
|
|
257
|
+
const decayWeights = bins.map((b) => b.meanDecayWeights[model.id]);
|
|
287
258
|
correlations[model.id] = spearmanCorrelation(referenceRates, decayWeights);
|
|
288
259
|
}
|
|
289
260
|
return { bins, correlations };
|
|
@@ -326,21 +297,23 @@ export function formatRetrievalRankingTable(results) {
|
|
|
326
297
|
return lines.join('\n');
|
|
327
298
|
}
|
|
328
299
|
/**
|
|
329
|
-
* Format
|
|
300
|
+
* Format hop-distance correlation results.
|
|
330
301
|
*/
|
|
331
|
-
export function
|
|
302
|
+
export function formatHopDistanceTable(result, decayModels) {
|
|
332
303
|
const lines = [];
|
|
333
304
|
lines.push('='.repeat(100));
|
|
334
|
-
lines.push('
|
|
305
|
+
lines.push(' HOP-DISTANCE CORRELATION');
|
|
335
306
|
lines.push('='.repeat(100));
|
|
336
307
|
// Header
|
|
337
|
-
const modelHeaders = decayModels.map(m => m.name.slice(0, 12).padEnd(12)).join(' | ');
|
|
338
|
-
const header = `${'
|
|
308
|
+
const modelHeaders = decayModels.map((m) => m.name.slice(0, 12).padEnd(12)).join(' | ');
|
|
309
|
+
const header = `${'Hops'.padEnd(12)} | ${'Pairs'.padEnd(8)} | ${'Ref Rate'.padEnd(8)} | ${modelHeaders}`;
|
|
339
310
|
lines.push(header);
|
|
340
311
|
lines.push('-'.repeat(100));
|
|
341
312
|
// Rows
|
|
342
313
|
for (const bin of result.bins) {
|
|
343
|
-
const weights = decayModels
|
|
314
|
+
const weights = decayModels
|
|
315
|
+
.map((m) => bin.meanDecayWeights[m.id].toFixed(3).padEnd(12))
|
|
316
|
+
.join(' | ');
|
|
344
317
|
const row = [
|
|
345
318
|
bin.label.padEnd(12),
|
|
346
319
|
bin.pairCount.toString().padEnd(8),
|
|
@@ -351,7 +324,9 @@ export function formatTimeOffsetTable(result, decayModels) {
|
|
|
351
324
|
}
|
|
352
325
|
lines.push('-'.repeat(100));
|
|
353
326
|
// Correlations
|
|
354
|
-
const corrValues = decayModels
|
|
327
|
+
const corrValues = decayModels
|
|
328
|
+
.map((m) => result.correlations[m.id].toFixed(3).padEnd(12))
|
|
329
|
+
.join(' | ');
|
|
355
330
|
lines.push(`${'Correlation'.padEnd(12)} | ${''.padEnd(8)} | ${''.padEnd(8)} | ${corrValues}`);
|
|
356
331
|
lines.push('='.repeat(100));
|
|
357
332
|
return lines.join('\n');
|
|
@@ -381,33 +356,20 @@ function buildForwardReferenceMap(references) {
|
|
|
381
356
|
}
|
|
382
357
|
return map;
|
|
383
358
|
}
|
|
384
|
-
/**
|
|
385
|
-
* Build time gap map for forward queries.
|
|
386
|
-
* Maps source turn → future turn → time gap.
|
|
387
|
-
*/
|
|
388
|
-
function buildForwardTimeGapMap(references) {
|
|
389
|
-
const map = new Map();
|
|
390
|
-
for (const ref of references) {
|
|
391
|
-
if (!map.has(ref.referencedTurnIndex)) {
|
|
392
|
-
map.set(ref.referencedTurnIndex, new Map());
|
|
393
|
-
}
|
|
394
|
-
map.get(ref.referencedTurnIndex).set(ref.userTurnIndex, ref.timeGapMs);
|
|
395
|
-
}
|
|
396
|
-
return map;
|
|
397
|
-
}
|
|
398
359
|
/**
|
|
399
360
|
* Evaluate forward prediction for a single source turn.
|
|
400
361
|
* Given turn T, predict which future turns will reference it.
|
|
362
|
+
* Distance metric: hop distance (futureTurnIndex - sourceTurnIndex).
|
|
401
363
|
*/
|
|
402
|
-
function evaluateForwardQuery(sourceTurnIndex, candidateFutureTurns, actualReferencingTurns,
|
|
403
|
-
// Score each candidate future turn
|
|
404
|
-
const candidates = candidateFutureTurns.map(futureTurnIndex => {
|
|
405
|
-
const
|
|
406
|
-
const decayWeight = calculateWeight(decayModel,
|
|
364
|
+
function evaluateForwardQuery(sourceTurnIndex, candidateFutureTurns, actualReferencingTurns, decayModel) {
|
|
365
|
+
// Score each candidate future turn by hop distance
|
|
366
|
+
const candidates = candidateFutureTurns.map((futureTurnIndex) => {
|
|
367
|
+
const hopDistance = futureTurnIndex - sourceTurnIndex;
|
|
368
|
+
const decayWeight = calculateWeight(decayModel, hopDistance);
|
|
407
369
|
const isRelevant = actualReferencingTurns.has(futureTurnIndex);
|
|
408
370
|
return {
|
|
409
371
|
turnIndex: futureTurnIndex,
|
|
410
|
-
|
|
372
|
+
hopDistance,
|
|
411
373
|
decayWeight,
|
|
412
374
|
isRelevant,
|
|
413
375
|
};
|
|
@@ -438,7 +400,7 @@ function evaluateForwardQuery(sourceTurnIndex, candidateFutureTurns, actualRefer
|
|
|
438
400
|
* - Predict which future turns will reference it (using decay weights)
|
|
439
401
|
* - Measure if actual referencing turns rank highly
|
|
440
402
|
*/
|
|
441
|
-
export function evaluateForwardPrediction(sessions, decayModel) {
|
|
403
|
+
export function evaluateForwardPrediction(sessions, decayModel, minHopDistance = 1) {
|
|
442
404
|
const evaluations = [];
|
|
443
405
|
let totalRR = 0;
|
|
444
406
|
let queriesWithRelevant = 0;
|
|
@@ -449,36 +411,18 @@ export function evaluateForwardPrediction(sessions, decayModel) {
|
|
|
449
411
|
rank11_plus: 0,
|
|
450
412
|
};
|
|
451
413
|
for (const session of sessions) {
|
|
452
|
-
|
|
453
|
-
const
|
|
454
|
-
|
|
414
|
+
// Filter references to only include those at or beyond minHopDistance
|
|
415
|
+
const filteredRefs = session.references.filter((ref) => ref.hopDistance >= minHopDistance);
|
|
416
|
+
const forwardMap = buildForwardReferenceMap(filteredRefs);
|
|
417
|
+
// For each source turn that has future references beyond the min distance
|
|
455
418
|
for (const [sourceTurnIndex, referencingTurns] of forwardMap) {
|
|
456
419
|
if (referencingTurns.size === 0)
|
|
457
420
|
continue;
|
|
458
|
-
// Candidates are
|
|
459
|
-
const candidateFutureTurns = Array.from({ length: session.turnCount - sourceTurnIndex -
|
|
421
|
+
// Candidates are turns at or beyond minHopDistance from source
|
|
422
|
+
const candidateFutureTurns = Array.from({ length: session.turnCount - sourceTurnIndex - minHopDistance }, (_, i) => sourceTurnIndex + minHopDistance + i);
|
|
460
423
|
if (candidateFutureTurns.length === 0)
|
|
461
424
|
continue;
|
|
462
|
-
|
|
463
|
-
const timeGaps = timeGapMap.get(sourceTurnIndex) ?? new Map();
|
|
464
|
-
// Estimate time gaps for candidates without explicit references
|
|
465
|
-
for (const futureIdx of candidateFutureTurns) {
|
|
466
|
-
if (!timeGaps.has(futureIdx)) {
|
|
467
|
-
// Find a reference with known time gap to estimate
|
|
468
|
-
const knownRef = session.references.find(r => r.referencedTurnIndex === sourceTurnIndex && r.userTurnIndex !== futureIdx);
|
|
469
|
-
if (knownRef) {
|
|
470
|
-
const refTurnDist = knownRef.userTurnIndex - sourceTurnIndex;
|
|
471
|
-
const thisTurnDist = futureIdx - sourceTurnIndex;
|
|
472
|
-
const estimatedGap = (knownRef.timeGapMs / refTurnDist) * thisTurnDist;
|
|
473
|
-
timeGaps.set(futureIdx, estimatedGap);
|
|
474
|
-
}
|
|
475
|
-
else {
|
|
476
|
-
// Default to 5 minutes per turn distance
|
|
477
|
-
timeGaps.set(futureIdx, (futureIdx - sourceTurnIndex) * 5 * MS_PER_MINUTE);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
const evaluation = evaluateForwardQuery(sourceTurnIndex, candidateFutureTurns, referencingTurns, timeGaps, decayModel);
|
|
425
|
+
const evaluation = evaluateForwardQuery(sourceTurnIndex, candidateFutureTurns, referencingTurns, decayModel);
|
|
482
426
|
evaluations.push(evaluation);
|
|
483
427
|
totalRR += evaluation.reciprocalRank;
|
|
484
428
|
if (evaluation.firstRelevantRank > 0) {
|
|
@@ -545,7 +489,7 @@ export function formatDirectionalComparison(backwardResults, forwardResults) {
|
|
|
545
489
|
lines.push('-'.repeat(100));
|
|
546
490
|
// Match results by model ID
|
|
547
491
|
for (const backward of backwardResults) {
|
|
548
|
-
const forward = forwardResults.find(f => f.modelId === backward.modelId);
|
|
492
|
+
const forward = forwardResults.find((f) => f.modelId === backward.modelId);
|
|
549
493
|
if (!forward)
|
|
550
494
|
continue;
|
|
551
495
|
const delta = forward.mrr - backward.mrr;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieval-ranking.js","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/retrieval-ranking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgBpE;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAA6B,EAC7B,UAAkC,EAAE;IAEpC,MAAM,EACJ,eAAe,GAAG,CAAC,EACnB,YAAY,GAAG,CAAC,EAChB,eAAe,GAAG,KAAK,EACvB,kBAAkB,GAAG,KAAK,GAC3B,GAAG,OAAO,CAAC;IAEZ,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACnD,sBAAsB;YACtB,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,mBAAmB,CAAC;YACjE,IAAI,YAAY,GAAG,eAAe;gBAAE,OAAO,KAAK,CAAC;YAEjD,iBAAiB;YACjB,IAAI,GAAG,CAAC,SAAS,GAAG,YAAY;gBAAE,OAAO,KAAK,CAAC;YAE/C,qCAAqC;YACrC,IAAI,eAAe,IAAI,GAAG,CAAC,aAAa,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAEtE,uBAAuB;YACvB,IAAI,kBAAkB,IAAI,GAAG,CAAC,UAAU,KAAK,MAAM;gBAAE,OAAO,KAAK,CAAC;YAElE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,OAAO;YACV,UAAU,EAAE,YAAY;SACzB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,UAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,UAA2B,EAC3B,SAAiB;IAEjB,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEnD,sCAAsC;IACtC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,cAAsB,EACtB,oBAA8B,EAC9B,aAA0B,EAC1B,QAA6B,EAC7B,UAA4B;IAE5B,uBAAuB;IACvB,MAAM,UAAU,GAAoB,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhD,OAAO;YACL,SAAS;YACT,SAAS;YACT,WAAW;YACX,UAAU;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,oCAAoC;IACpC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IAEzD,mCAAmC;IACnC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7B,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB;YAC5C,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO;QACL,cAAc;QACd,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC;QACjC,gBAAgB,EAAE,UAAU;QAC5B,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA6B,EAC7B,UAA4B;IAE5B,MAAM,WAAW,GAAsB,EAAE,CAAC;IAC1C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,MAAM,gBAAgB,GAAG;QACvB,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAE1E,0CAA0C;QAC1C,KAAK,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,YAAY,EAAE,CAAC;YAC3D,4BAA4B;YAC5B,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;gBAAE,SAAS;YAEvC,4CAA4C;YAC5C,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CACrC,EAAE,MAAM,EAAE,cAAc,EAAE,EAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CACZ,CAAC;YAEF,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEhD,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YAE7D,0EAA0E;YAC1E,uFAAuF;YACvF,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,mDAAmD;oBACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,cAAc,IAAI,CAAC,CAAC,mBAAmB,KAAK,YAAY,CAClF,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACb,wCAAwC;wBACxC,MAAM,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC,mBAAmB,CAAC;wBAClE,MAAM,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;wBACnD,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,YAAY,CAAC;wBACvE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,yCAAyC;wBACzC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,aAAa,CAC9B,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,UAAU,CACX,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO,IAAI,UAAU,CAAC,cAAc,CAAC;YAErC,IAAI,UAAU,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACrC,mBAAmB,EAAE,CAAC;gBAEtB,IAAI,UAAU,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;oBACvC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC3B,CAAC;qBAAM,IAAI,UAAU,CAAC,iBAAiB,IAAI,CAAC,EAAE,CAAC;oBAC7C,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC7B,CAAC;qBAAM,IAAI,UAAU,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;oBAC9C,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,EAAE;QACtB,SAAS,EAAE,UAAU,CAAC,IAAI;QAC1B,GAAG;QACH,UAAU,EAAE,WAAW,CAAC,MAAM;QAC9B,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA6B,EAC7B,WAA+B,EAC/B,UAAmB,IAAI;IAEvB,MAAM,OAAO,GAA6B,EAAE,CAAC;IAE7C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,gBAAgB,GAA2D;IAC/E,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,EAAE;IACvD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,EAAE,KAAK,EAAE,EAAE,GAAG,aAAa,EAAE;IACzE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE;IACpE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE;IAC7D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE;IAC7D,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,EAAE;CAC5D,CAAC;AAEF;;GAEG;AACH,SAAS,mBAAmB,CAAC,CAAW,EAAE,CAAW;IACnD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAEnB,gBAAgB;IAChB,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAE9B,cAAc;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,yDAAyD;IACzD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAE1C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAA6B,EAC7B,WAA+B;IAE/B,kBAAkB;IAClB,MAAM,IAAI,GAAoB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC;QACJ,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,EAAE;KACrB,CAAC,CAAC,CAAC;IAEJ,mDAAmD;IACnD,MAAM,eAAe,GAA6B,EAAE,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,+BAA+B;IAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAErC,yBAAyB;IACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrC,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CACzD,CAAC;YAEF,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAEvB,2BAA2B;gBAC3B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBACrD,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnF,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;gBACpD,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAEtD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAiC;IAC3E,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAG;QACb,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;KACtB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,yBAAyB;IACzB,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1D,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG;YACV,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SAC1D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAmC,EACnC,WAA+B;IAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5B,SAAS;IACT,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC;IAC7G,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5B,OAAO;IACP,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAClC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CACjD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEd,MAAM,GAAG,GAAG;YACV,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,OAAO;SACR,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5B,eAAe;IACf,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACrC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAChD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEd,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IAC9F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,+DAA+D;AAC/D,2BAA2B;AAC3B,+DAA+D;AAC/D,EAAE;AACF,gFAAgF;AAChF,2DAA2D;AAC3D,sEAAsE;AAEtE;;;;;;GAMG;AACH,SAAS,wBAAwB,CAC/B,UAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,sFAAsF;QACtF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,UAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEnD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,eAAuB,EACvB,oBAA8B,EAC9B,sBAAmC,EACnC,QAA6B,EAC7B,UAA4B;IAE5B,mCAAmC;IACnC,MAAM,UAAU,GAAoB,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;QAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE/D,OAAO;YACL,SAAS,EAAE,eAAe;YAC1B,SAAS;YACT,WAAW;YACX,UAAU;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IAEzD,0DAA0D;IAC1D,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7B,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,OAAO;QACL,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,CAAC,GAAG,sBAAsB,CAAC;QAC1C,gBAAgB,EAAE,UAAU;QAC5B,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAA6B,EAC7B,UAA4B;IAE5B,MAAM,WAAW,GAAsB,EAAE,CAAC;IAC1C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,MAAM,gBAAgB,GAAG;QACvB,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9D,kDAAkD;QAClD,KAAK,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC;YAC7D,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC;gBAAE,SAAS;YAE1C,4CAA4C;YAC5C,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CACrC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,GAAG,eAAe,GAAG,CAAC,EAAE,EACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,CAClC,CAAC;YAEF,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEhD,qCAAqC;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YAE9D,gEAAgE;YAChE,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,mDAAmD;oBACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,KAAK,eAAe,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,CAChF,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,GAAG,eAAe,CAAC;wBAC7D,MAAM,YAAY,GAAG,SAAS,GAAG,eAAe,CAAC;wBACjD,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,YAAY,CAAC;wBACvE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,yCAAyC;wBACzC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,oBAAoB,CACrC,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,UAAU,CACX,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO,IAAI,UAAU,CAAC,cAAc,CAAC;YAErC,IAAI,UAAU,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACrC,mBAAmB,EAAE,CAAC;gBAEtB,IAAI,UAAU,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;oBACvC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC3B,CAAC;qBAAM,IAAI,UAAU,CAAC,iBAAiB,IAAI,CAAC,EAAE,CAAC;oBAC7C,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC7B,CAAC;qBAAM,IAAI,UAAU,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;oBAC9C,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,EAAE;QACtB,SAAS,EAAE,UAAU,CAAC,IAAI;QAC1B,GAAG;QACH,UAAU,EAAE,WAAW,CAAC,MAAM;QAC9B,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA6B,EAC7B,WAA+B,EAC/B,UAAmB,IAAI;IAEvB,MAAM,OAAO,GAA6B,EAAE,CAAC;IAE7C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,eAAyC,EACzC,cAAwC;IAExC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG;QACb,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACd,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;KACxB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5B,4BAA4B;IAC5B,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;QACzC,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,MAAM,GAAG,GAAG;YACV,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACpD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;SACrB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"retrieval-ranking.js","sourceRoot":"","sources":["../../../../src/eval/experiments/edge-decay/retrieval-ranking.ts"],"names":[],"mappings":"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"}
|