causantic 0.2.0 → 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 +8 -2
- 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 +39 -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/index.js +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 +16 -0
- package/dist/hooks/hook-utils.d.ts.map +1 -1
- package/dist/hooks/hook-utils.js +51 -2
- package/dist/hooks/hook-utils.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/pre-compact.d.ts.map +1 -1
- package/dist/hooks/pre-compact.js +6 -51
- package/dist/hooks/pre-compact.js.map +1 -1
- package/dist/hooks/session-end.d.ts +58 -0
- package/dist/hooks/session-end.d.ts.map +1 -0
- package/dist/hooks/session-end.js +82 -0
- package/dist/hooks/session-end.js.map +1 -0
- 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 +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- 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 +9 -8
- 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 +7 -6
- 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,220 +1,88 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Causal transition detection for edge creation.
|
|
3
|
+
*
|
|
4
|
+
* Creates sequential linked-list edges between consecutive chunks:
|
|
5
|
+
* - Inter-turn: last chunk of turn A → first chunk of turn B
|
|
6
|
+
* - Intra-turn: C1 → C2 → C3 when a turn splits into multiple chunks
|
|
7
|
+
*
|
|
8
|
+
* The causal graph is a linked list with branch points at sub-agent forks.
|
|
5
9
|
*/
|
|
6
|
-
import { hasTopicShiftMarker
|
|
10
|
+
import { hasTopicShiftMarker } from '../core/lexical-features.js';
|
|
7
11
|
/**
|
|
8
12
|
* Default threshold for time gap (30 minutes) that indicates new topic.
|
|
9
13
|
*/
|
|
10
14
|
const DEFAULT_TIME_GAP_THRESHOLD_MS = 30 * 60 * 1000;
|
|
11
15
|
/**
|
|
12
|
-
* Detect transitions
|
|
13
|
-
*
|
|
14
|
-
*
|
|
16
|
+
* Detect causal transitions between chunks using sequential linking.
|
|
17
|
+
*
|
|
18
|
+
* Groups chunks by turn index, then:
|
|
19
|
+
* 1. Intra-turn: sequential edges within a turn (C1→C2→C3)
|
|
20
|
+
* 2. Inter-turn: edge from last chunk of turn A to first chunk of turn B
|
|
21
|
+
* (gated by topic shift detection)
|
|
22
|
+
*
|
|
23
|
+
* @param chunks - Array of chunks with metadata.turnIndices
|
|
24
|
+
* @param options - Detection options (time gap threshold)
|
|
25
|
+
* @returns Array of causal transitions
|
|
15
26
|
*/
|
|
16
|
-
export function
|
|
27
|
+
export function detectCausalTransitions(chunks, options = {}) {
|
|
17
28
|
const { timeGapThresholdMs = DEFAULT_TIME_GAP_THRESHOLD_MS } = options;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (timeGapMs > timeGapThresholdMs) {
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
// Check for explicit topic shift markers in user text
|
|
31
|
-
const userText = extractUserText(curr.text);
|
|
32
|
-
if (hasTopicShiftMarker(userText)) {
|
|
33
|
-
continue;
|
|
29
|
+
if (chunks.length < 2)
|
|
30
|
+
return [];
|
|
31
|
+
// Group chunk indices by turn index
|
|
32
|
+
const chunkIndicesByTurn = new Map();
|
|
33
|
+
for (let ci = 0; ci < chunks.length; ci++) {
|
|
34
|
+
for (const turnIndex of chunks[ci].metadata.turnIndices) {
|
|
35
|
+
const existing = chunkIndicesByTurn.get(turnIndex) ?? [];
|
|
36
|
+
existing.push(ci);
|
|
37
|
+
chunkIndicesByTurn.set(turnIndex, existing);
|
|
34
38
|
}
|
|
35
|
-
// Detect reference type and evidence
|
|
36
|
-
const detection = detectReferenceType(prev.text, curr.text, timeGapMs);
|
|
37
|
-
results.push({
|
|
38
|
-
sourceIndex: i - 1,
|
|
39
|
-
targetIndex: i,
|
|
40
|
-
type: detection.type,
|
|
41
|
-
confidence: detection.confidence,
|
|
42
|
-
evidence: detection.evidence,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
return results;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Detect the type of reference between two chunk texts.
|
|
49
|
-
*/
|
|
50
|
-
function detectReferenceType(prevText, currText, timeGapMs) {
|
|
51
|
-
// Extract structured data for analysis
|
|
52
|
-
const prevPaths = extractFilePaths(prevText);
|
|
53
|
-
const currPaths = extractFilePaths(currText);
|
|
54
|
-
const prevKeywords = extractKeywords(prevText);
|
|
55
|
-
const currKeywords = extractKeywords(currText);
|
|
56
|
-
// Check for file path references
|
|
57
|
-
const pathOverlap = computePathOverlap(prevPaths, currPaths);
|
|
58
|
-
if (pathOverlap > 0) {
|
|
59
|
-
const sharedPaths = [...currPaths].filter((p) => prevPaths.has(p));
|
|
60
|
-
return {
|
|
61
|
-
type: 'file-path',
|
|
62
|
-
confidence: Math.min(0.9, 0.7 + pathOverlap * 0.2),
|
|
63
|
-
evidence: `Shared paths: ${sharedPaths.slice(0, 3).join(', ')}`,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
// Check for code entity references (function names, variables)
|
|
67
|
-
const codeEntities = detectCodeEntities(prevText, currText);
|
|
68
|
-
if (codeEntities.length > 0) {
|
|
69
|
-
return {
|
|
70
|
-
type: 'code-entity',
|
|
71
|
-
confidence: 0.8,
|
|
72
|
-
evidence: `Code entities: ${codeEntities.slice(0, 3).join(', ')}`,
|
|
73
|
-
};
|
|
74
39
|
}
|
|
75
|
-
//
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
confidence: 0.85,
|
|
89
|
-
evidence: 'Explicit backreference detected',
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
// Check for tool output references
|
|
93
|
-
const toolRef = detectToolOutputReference(prevText, currText);
|
|
94
|
-
if (toolRef) {
|
|
95
|
-
return {
|
|
96
|
-
type: 'tool-output',
|
|
97
|
-
confidence: 0.8,
|
|
98
|
-
evidence: `Tool: ${toolRef}`,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
// Default: adjacent with keyword overlap
|
|
102
|
-
const keywordOverlap = computeKeywordOverlap(prevText, currText);
|
|
103
|
-
const baseConfidence = timeGapMs < 5 * 60 * 1000 ? 0.6 : 0.4;
|
|
104
|
-
return {
|
|
105
|
-
type: 'adjacent',
|
|
106
|
-
confidence: Math.min(0.7, baseConfidence + keywordOverlap * 0.2),
|
|
107
|
-
evidence: `Adjacent, keyword overlap: ${(keywordOverlap * 100).toFixed(0)}%`,
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Compute overlap between two path sets.
|
|
112
|
-
*/
|
|
113
|
-
function computePathOverlap(a, b) {
|
|
114
|
-
if (a.size === 0 || b.size === 0)
|
|
115
|
-
return 0;
|
|
116
|
-
let intersection = 0;
|
|
117
|
-
for (const item of b) {
|
|
118
|
-
if (a.has(item))
|
|
119
|
-
intersection++;
|
|
120
|
-
}
|
|
121
|
-
return intersection / Math.min(a.size, b.size);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Detect shared code entities (function names, class names, etc.).
|
|
125
|
-
*/
|
|
126
|
-
function detectCodeEntities(prevText, currText) {
|
|
127
|
-
// Pattern for camelCase or PascalCase identifiers
|
|
128
|
-
const identifierPattern = /\b([a-z][a-zA-Z0-9]+|[A-Z][a-zA-Z0-9]+)\b/g;
|
|
129
|
-
const prevIds = new Set();
|
|
130
|
-
let match;
|
|
131
|
-
while ((match = identifierPattern.exec(prevText)) !== null) {
|
|
132
|
-
const id = match[1];
|
|
133
|
-
if (id.length >= 4 && !isCommonWord(id)) {
|
|
134
|
-
prevIds.add(id.toLowerCase());
|
|
135
|
-
}
|
|
40
|
+
// Sort unique turn indices
|
|
41
|
+
const sortedTurns = [...chunkIndicesByTurn.keys()].sort((a, b) => a - b);
|
|
42
|
+
// Track emitted pairs for deduplication
|
|
43
|
+
const emittedPairs = new Set();
|
|
44
|
+
const results = [];
|
|
45
|
+
function emitEdge(srcIdx, tgtIdx, type, evidence) {
|
|
46
|
+
const pairKey = `${srcIdx}:${tgtIdx}`;
|
|
47
|
+
if (emittedPairs.has(pairKey))
|
|
48
|
+
return;
|
|
49
|
+
if (srcIdx === tgtIdx)
|
|
50
|
+
return;
|
|
51
|
+
emittedPairs.add(pairKey);
|
|
52
|
+
results.push({ sourceIndex: srcIdx, targetIndex: tgtIdx, type, confidence: 1.0, evidence });
|
|
136
53
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
54
|
+
for (let ti = 0; ti < sortedTurns.length; ti++) {
|
|
55
|
+
const turn = sortedTurns[ti];
|
|
56
|
+
const chunkIndices = chunkIndicesByTurn.get(turn);
|
|
57
|
+
// Intra-turn sequential edges (C1→C2→C3)
|
|
58
|
+
for (let ci = 0; ci < chunkIndices.length - 1; ci++) {
|
|
59
|
+
emitEdge(chunkIndices[ci], chunkIndices[ci + 1], 'within-chain', `Intra-turn sequential: turn ${turn}, chunk ${ci} → ${ci + 1}`);
|
|
143
60
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
* Detect error message reference between texts.
|
|
161
|
-
*/
|
|
162
|
-
function detectErrorReference(prevText, currText) {
|
|
163
|
-
// Look for error patterns in previous text
|
|
164
|
-
const errorPatterns = [
|
|
165
|
-
/Error:\s*(.+?)(?:\n|$)/gi,
|
|
166
|
-
/error\[.+?\]:\s*(.+?)(?:\n|$)/gi,
|
|
167
|
-
/TypeError:\s*(.+?)(?:\n|$)/gi,
|
|
168
|
-
/ReferenceError:\s*(.+?)(?:\n|$)/gi,
|
|
169
|
-
/SyntaxError:\s*(.+?)(?:\n|$)/gi,
|
|
170
|
-
];
|
|
171
|
-
for (const pattern of errorPatterns) {
|
|
172
|
-
const prevMatches = [...prevText.matchAll(pattern)];
|
|
173
|
-
for (const match of prevMatches) {
|
|
174
|
-
const errorFragment = match[1].trim().slice(0, 30);
|
|
175
|
-
if (errorFragment.length > 5 && currText.includes(errorFragment)) {
|
|
176
|
-
return match[0].trim();
|
|
177
|
-
}
|
|
61
|
+
// Inter-turn edge: last chunk of this turn → first chunk of next turn
|
|
62
|
+
if (ti < sortedTurns.length - 1) {
|
|
63
|
+
const nextTurn = sortedTurns[ti + 1];
|
|
64
|
+
const nextChunkIndices = chunkIndicesByTurn.get(nextTurn);
|
|
65
|
+
// Topic shift gating
|
|
66
|
+
const lastChunkIdx = chunkIndices[chunkIndices.length - 1];
|
|
67
|
+
const firstNextChunkIdx = nextChunkIndices[0];
|
|
68
|
+
const lastChunk = chunks[lastChunkIdx];
|
|
69
|
+
const firstNextChunk = chunks[firstNextChunkIdx];
|
|
70
|
+
const timeGapMs = getTimeGapMs(lastChunk, firstNextChunk);
|
|
71
|
+
if (timeGapMs > timeGapThresholdMs)
|
|
72
|
+
continue;
|
|
73
|
+
const userText = extractUserText(firstNextChunk.text);
|
|
74
|
+
if (hasTopicShiftMarker(userText))
|
|
75
|
+
continue;
|
|
76
|
+
emitEdge(lastChunkIdx, firstNextChunkIdx, 'within-chain', `Inter-turn sequential: turn ${turn} → turn ${nextTurn}`);
|
|
178
77
|
}
|
|
179
78
|
}
|
|
180
|
-
return
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Check for explicit backreference phrases.
|
|
184
|
-
*/
|
|
185
|
-
function hasExplicitBackreference(text) {
|
|
186
|
-
const patterns = [
|
|
187
|
-
/\b(the|that|this)\s+(error|issue|problem|bug|fix|solution|code|file|function)\b/i,
|
|
188
|
-
/\b(as|like)\s+(you|we)\s+(mentioned|discussed|said|showed)\b/i,
|
|
189
|
-
/\b(from|in)\s+(the|your)\s+(previous|last|earlier)\b/i,
|
|
190
|
-
/\b(still|again|same)\s+(error|issue|problem)\b/i,
|
|
191
|
-
];
|
|
192
|
-
return patterns.some((p) => p.test(text));
|
|
79
|
+
return results;
|
|
193
80
|
}
|
|
194
81
|
/**
|
|
195
|
-
*
|
|
82
|
+
* Legacy alias — detectTransitions now delegates to detectCausalTransitions.
|
|
196
83
|
*/
|
|
197
|
-
function
|
|
198
|
-
|
|
199
|
-
const toolResultPattern = /\[Result:(\w+)\]/g;
|
|
200
|
-
const tools = new Set();
|
|
201
|
-
let match;
|
|
202
|
-
while ((match = toolResultPattern.exec(prevText)) !== null) {
|
|
203
|
-
tools.add(match[1]);
|
|
204
|
-
}
|
|
205
|
-
if (tools.size === 0)
|
|
206
|
-
return null;
|
|
207
|
-
// Check if current text references tool output
|
|
208
|
-
for (const tool of tools) {
|
|
209
|
-
const toolPatterns = [
|
|
210
|
-
new RegExp(`\\b(the|that|this)\\s+${tool}\\s*(output|result)`, 'i'),
|
|
211
|
-
new RegExp(`\\b(from|in)\\s+(the\\s+)?${tool}`, 'i'),
|
|
212
|
-
];
|
|
213
|
-
if (toolPatterns.some((p) => p.test(currText))) {
|
|
214
|
-
return tool;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
return null;
|
|
84
|
+
export function detectTransitions(chunks, options = {}) {
|
|
85
|
+
return detectCausalTransitions(chunks, options);
|
|
218
86
|
}
|
|
219
87
|
/**
|
|
220
88
|
* Extract user text from a chunk's rendered text.
|
|
@@ -224,7 +92,7 @@ function extractUserText(chunkText) {
|
|
|
224
92
|
return match ? match[1] : '';
|
|
225
93
|
}
|
|
226
94
|
/**
|
|
227
|
-
* Get time gap between two
|
|
95
|
+
* Get time gap between two chunks in milliseconds.
|
|
228
96
|
*/
|
|
229
97
|
export function getTimeGapMs(chunk1, chunk2) {
|
|
230
98
|
const end1 = new Date(chunk1.metadata.endTime).getTime();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-detector.js","sourceRoot":"","sources":["../../src/ingest/edge-detector.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"edge-detector.js","sourceRoot":"","sources":["../../src/ingest/edge-detector.ts"],"names":[],"mappings":"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"}
|
package/dist/ingest/index.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ export { ingestSession, chunkToInput } from './ingest-session.js';
|
|
|
5
5
|
export type { IngestOptions, IngestResult } from './ingest-session.js';
|
|
6
6
|
export { batchIngest, batchIngestDirectory, discoverSessions, filterAlreadyIngested, } from './batch-ingest.js';
|
|
7
7
|
export type { BatchIngestOptions, BatchIngestResult } from './batch-ingest.js';
|
|
8
|
-
export { detectTransitions, getTimeGapMs } from './edge-detector.js';
|
|
8
|
+
export { detectCausalTransitions, detectTransitions, getTimeGapMs } from './edge-detector.js';
|
|
9
9
|
export type { TransitionResult, DetectionOptions } from './edge-detector.js';
|
|
10
|
-
export { createEdgesFromTransitions,
|
|
10
|
+
export { createEdgesFromTransitions, createForwardEdge, createCrossSessionEdges, createBriefEdge, createDebriefEdge, } from './edge-creator.js';
|
|
11
11
|
export type { EdgeCreationResult } from './edge-creator.js';
|
|
12
|
-
export { linkCrossSession, linkAllSessions, isContinuedSession
|
|
12
|
+
export { linkCrossSession, linkAllSessions, isContinuedSession } from './cross-session-linker.js';
|
|
13
13
|
export type { CrossSessionLinkResult } from './cross-session-linker.js';
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ingest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGvE,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ingest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGvE,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9F,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClG,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/ingest/index.js
CHANGED
|
@@ -6,9 +6,9 @@ export { ingestSession, chunkToInput } from './ingest-session.js';
|
|
|
6
6
|
// Batch ingestion
|
|
7
7
|
export { batchIngest, batchIngestDirectory, discoverSessions, filterAlreadyIngested, } from './batch-ingest.js';
|
|
8
8
|
// Edge detection
|
|
9
|
-
export { detectTransitions, getTimeGapMs } from './edge-detector.js';
|
|
9
|
+
export { detectCausalTransitions, detectTransitions, getTimeGapMs } from './edge-detector.js';
|
|
10
10
|
// Edge creation
|
|
11
|
-
export { createEdgesFromTransitions,
|
|
11
|
+
export { createEdgesFromTransitions, createForwardEdge, createCrossSessionEdges, createBriefEdge, createDebriefEdge, } from './edge-creator.js';
|
|
12
12
|
// Cross-session linking
|
|
13
|
-
export { linkCrossSession, linkAllSessions, isContinuedSession
|
|
13
|
+
export { linkCrossSession, linkAllSessions, isContinuedSession } from './cross-session-linker.js';
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
package/dist/ingest/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ingest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGlE,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ingest/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGlE,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,iBAAiB;AACjB,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG9F,gBAAgB;AAChB,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session ingestion orchestrator.
|
|
3
3
|
* Parses, chunks, embeds, and stores a single session.
|
|
4
|
-
* Supports sub-agent discovery
|
|
4
|
+
* Supports sub-agent discovery and performance optimizations:
|
|
5
5
|
* - True batch embedding for faster inference
|
|
6
6
|
* - Content-hash caching to skip unchanged content
|
|
7
7
|
* - Incremental ingestion via checkpoints
|
|
8
8
|
* - File mtime checks to skip unchanged files
|
|
9
9
|
* - Streaming for large files
|
|
10
10
|
*/
|
|
11
|
-
import { type ChunkWithClock } from '../parser/chunker.js';
|
|
12
11
|
import { Embedder } from '../models/embedder.js';
|
|
13
12
|
import type { ChunkInput } from '../storage/types.js';
|
|
14
13
|
import type { Chunk } from '../parser/types.js';
|
|
@@ -30,8 +29,6 @@ export interface IngestOptions {
|
|
|
30
29
|
embedder?: Embedder;
|
|
31
30
|
/** Process sub-agents. Default: true. */
|
|
32
31
|
processSubAgents?: boolean;
|
|
33
|
-
/** Use vector clocks. Default: true. */
|
|
34
|
-
useVectorClocks?: boolean;
|
|
35
32
|
/** Use incremental ingestion (resume from checkpoints). Default: true. */
|
|
36
33
|
useIncrementalIngestion?: boolean;
|
|
37
34
|
/** Use embedding cache. Default: true. */
|
|
@@ -76,8 +73,4 @@ export declare function ingestSession(sessionPath: string, options?: IngestOptio
|
|
|
76
73
|
* Convert parser Chunk to storage ChunkInput.
|
|
77
74
|
*/
|
|
78
75
|
export declare function chunkToInput(chunk: Chunk): ChunkInput;
|
|
79
|
-
/**
|
|
80
|
-
* Convert parser ChunkWithClock to storage ChunkInput.
|
|
81
|
-
*/
|
|
82
|
-
export declare function chunkWithClockToInput(chunk: ChunkWithClock): ChunkInput;
|
|
83
76
|
//# sourceMappingURL=ingest-session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest-session.d.ts","sourceRoot":"","sources":["../../src/ingest/ingest-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"ingest-session.d.ts","sourceRoot":"","sources":["../../src/ingest/ingest-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAsBjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAQ,MAAM,oBAAoB,CAAC;AAKtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,CAAC;CACrE;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAsUvB;AA6ED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAarD"}
|