causantic 0.2.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/LICENSE +19 -0
- package/README.md +332 -0
- package/config.schema.json +254 -0
- package/dist/cli/commands/archive.d.ts +4 -0
- package/dist/cli/commands/archive.d.ts.map +1 -0
- package/dist/cli/commands/archive.js +76 -0
- package/dist/cli/commands/archive.js.map +1 -0
- package/dist/cli/commands/benchmark-collection.d.ts +8 -0
- package/dist/cli/commands/benchmark-collection.d.ts.map +1 -0
- package/dist/cli/commands/benchmark-collection.js +146 -0
- package/dist/cli/commands/benchmark-collection.js.map +1 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +69 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/dashboard.d.ts +3 -0
- package/dist/cli/commands/dashboard.d.ts.map +1 -0
- package/dist/cli/commands/dashboard.js +12 -0
- package/dist/cli/commands/dashboard.js.map +1 -0
- package/dist/cli/commands/encryption.d.ts +3 -0
- package/dist/cli/commands/encryption.d.ts.map +1 -0
- package/dist/cli/commands/encryption.js +207 -0
- package/dist/cli/commands/encryption.js.map +1 -0
- package/dist/cli/commands/hook.d.ts +3 -0
- package/dist/cli/commands/hook.d.ts.map +1 -0
- package/dist/cli/commands/hook.js +35 -0
- package/dist/cli/commands/hook.js.map +1 -0
- package/dist/cli/commands/ingest.d.ts +4 -0
- package/dist/cli/commands/ingest.d.ts.map +1 -0
- package/dist/cli/commands/ingest.js +31 -0
- package/dist/cli/commands/ingest.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +680 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/maintenance.d.ts +3 -0
- package/dist/cli/commands/maintenance.d.ts.map +1 -0
- package/dist/cli/commands/maintenance.js +67 -0
- package/dist/cli/commands/maintenance.js.map +1 -0
- package/dist/cli/commands/search.d.ts +3 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +16 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +3 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +19 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +4 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +49 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/uninstall.d.ts +3 -0
- package/dist/cli/commands/uninstall.d.ts.map +1 -0
- package/dist/cli/commands/uninstall.js +10 -0
- package/dist/cli/commands/uninstall.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +86 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/skill-templates.d.ts +19 -0
- package/dist/cli/skill-templates.d.ts.map +1 -0
- package/dist/cli/skill-templates.js +1128 -0
- package/dist/cli/skill-templates.js.map +1 -0
- package/dist/cli/types.d.ts +10 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +5 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/uninstall.d.ts +66 -0
- package/dist/cli/uninstall.d.ts.map +1 -0
- package/dist/cli/uninstall.js +490 -0
- package/dist/cli/uninstall.js.map +1 -0
- package/dist/cli/utils.d.ts +26 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +105 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/clusters/cluster-manager.d.ts +96 -0
- package/dist/clusters/cluster-manager.d.ts.map +1 -0
- package/dist/clusters/cluster-manager.js +321 -0
- package/dist/clusters/cluster-manager.js.map +1 -0
- package/dist/clusters/cluster-refresh.d.ts +56 -0
- package/dist/clusters/cluster-refresh.d.ts.map +1 -0
- package/dist/clusters/cluster-refresh.js +187 -0
- package/dist/clusters/cluster-refresh.js.map +1 -0
- package/dist/clusters/hdbscan/cluster-extraction.d.ts +26 -0
- package/dist/clusters/hdbscan/cluster-extraction.d.ts.map +1 -0
- package/dist/clusters/hdbscan/cluster-extraction.js +232 -0
- package/dist/clusters/hdbscan/cluster-extraction.js.map +1 -0
- package/dist/clusters/hdbscan/core-distance-worker.d.ts +6 -0
- package/dist/clusters/hdbscan/core-distance-worker.d.ts.map +1 -0
- package/dist/clusters/hdbscan/core-distance-worker.js +54 -0
- package/dist/clusters/hdbscan/core-distance-worker.js.map +1 -0
- package/dist/clusters/hdbscan/core-distance.d.ts +26 -0
- package/dist/clusters/hdbscan/core-distance.d.ts.map +1 -0
- package/dist/clusters/hdbscan/core-distance.js +94 -0
- package/dist/clusters/hdbscan/core-distance.js.map +1 -0
- package/dist/clusters/hdbscan/distance-cache.d.ts +46 -0
- package/dist/clusters/hdbscan/distance-cache.d.ts.map +1 -0
- package/dist/clusters/hdbscan/distance-cache.js +84 -0
- package/dist/clusters/hdbscan/distance-cache.js.map +1 -0
- package/dist/clusters/hdbscan/hierarchy.d.ts +34 -0
- package/dist/clusters/hdbscan/hierarchy.d.ts.map +1 -0
- package/dist/clusters/hdbscan/hierarchy.js +442 -0
- package/dist/clusters/hdbscan/hierarchy.js.map +1 -0
- package/dist/clusters/hdbscan/incremental.d.ts +30 -0
- package/dist/clusters/hdbscan/incremental.d.ts.map +1 -0
- package/dist/clusters/hdbscan/incremental.js +130 -0
- package/dist/clusters/hdbscan/incremental.js.map +1 -0
- package/dist/clusters/hdbscan/kd-tree.d.ts +51 -0
- package/dist/clusters/hdbscan/kd-tree.d.ts.map +1 -0
- package/dist/clusters/hdbscan/kd-tree.js +130 -0
- package/dist/clusters/hdbscan/kd-tree.js.map +1 -0
- package/dist/clusters/hdbscan/min-heap.d.ts +62 -0
- package/dist/clusters/hdbscan/min-heap.d.ts.map +1 -0
- package/dist/clusters/hdbscan/min-heap.js +139 -0
- package/dist/clusters/hdbscan/min-heap.js.map +1 -0
- package/dist/clusters/hdbscan/mst.d.ts +20 -0
- package/dist/clusters/hdbscan/mst.d.ts.map +1 -0
- package/dist/clusters/hdbscan/mst.js +77 -0
- package/dist/clusters/hdbscan/mst.js.map +1 -0
- package/dist/clusters/hdbscan/probabilities.d.ts +37 -0
- package/dist/clusters/hdbscan/probabilities.d.ts.map +1 -0
- package/dist/clusters/hdbscan/probabilities.js +149 -0
- package/dist/clusters/hdbscan/probabilities.js.map +1 -0
- package/dist/clusters/hdbscan/types.d.ts +123 -0
- package/dist/clusters/hdbscan/types.d.ts.map +1 -0
- package/dist/clusters/hdbscan/types.js +5 -0
- package/dist/clusters/hdbscan/types.js.map +1 -0
- package/dist/clusters/hdbscan/union-find.d.ts +51 -0
- package/dist/clusters/hdbscan/union-find.d.ts.map +1 -0
- package/dist/clusters/hdbscan/union-find.js +115 -0
- package/dist/clusters/hdbscan/union-find.js.map +1 -0
- package/dist/clusters/hdbscan.d.ts +71 -0
- package/dist/clusters/hdbscan.d.ts.map +1 -0
- package/dist/clusters/hdbscan.js +283 -0
- package/dist/clusters/hdbscan.js.map +1 -0
- package/dist/clusters/index.d.ts +8 -0
- package/dist/clusters/index.d.ts.map +1 -0
- package/dist/clusters/index.js +8 -0
- package/dist/clusters/index.js.map +1 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +105 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +339 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/memory-config.d.ts +109 -0
- package/dist/config/memory-config.d.ts.map +1 -0
- package/dist/config/memory-config.js +182 -0
- package/dist/config/memory-config.js.map +1 -0
- package/dist/core/benchmark-types.d.ts +62 -0
- package/dist/core/benchmark-types.d.ts.map +1 -0
- package/dist/core/benchmark-types.js +11 -0
- package/dist/core/benchmark-types.js.map +1 -0
- package/dist/core/decay-types.d.ts +111 -0
- package/dist/core/decay-types.d.ts.map +1 -0
- package/dist/core/decay-types.js +30 -0
- package/dist/core/decay-types.js.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/lexical-features.d.ts +34 -0
- package/dist/core/lexical-features.d.ts.map +1 -0
- package/dist/core/lexical-features.js +155 -0
- package/dist/core/lexical-features.js.map +1 -0
- package/dist/dashboard/client/assets/index-CMUKy4f9.css +1 -0
- package/dist/dashboard/client/assets/index-esv8TpCN.js +168 -0
- package/dist/dashboard/client/index.html +14 -0
- package/dist/dashboard/middleware/async-handler.d.ts +11 -0
- package/dist/dashboard/middleware/async-handler.d.ts.map +1 -0
- package/dist/dashboard/middleware/async-handler.js +12 -0
- package/dist/dashboard/middleware/async-handler.js.map +1 -0
- package/dist/dashboard/middleware/error-handler.d.ts +9 -0
- package/dist/dashboard/middleware/error-handler.d.ts.map +1 -0
- package/dist/dashboard/middleware/error-handler.js +14 -0
- package/dist/dashboard/middleware/error-handler.js.map +1 -0
- package/dist/dashboard/routes/benchmark-collection.d.ts +11 -0
- package/dist/dashboard/routes/benchmark-collection.d.ts.map +1 -0
- package/dist/dashboard/routes/benchmark-collection.js +49 -0
- package/dist/dashboard/routes/benchmark-collection.js.map +1 -0
- package/dist/dashboard/routes/chunks.d.ts +3 -0
- package/dist/dashboard/routes/chunks.d.ts.map +1 -0
- package/dist/dashboard/routes/chunks.js +25 -0
- package/dist/dashboard/routes/chunks.js.map +1 -0
- package/dist/dashboard/routes/clusters.d.ts +3 -0
- package/dist/dashboard/routes/clusters.d.ts.map +1 -0
- package/dist/dashboard/routes/clusters.js +28 -0
- package/dist/dashboard/routes/clusters.js.map +1 -0
- package/dist/dashboard/routes/edges.d.ts +3 -0
- package/dist/dashboard/routes/edges.d.ts.map +1 -0
- package/dist/dashboard/routes/edges.js +32 -0
- package/dist/dashboard/routes/edges.js.map +1 -0
- package/dist/dashboard/routes/graph.d.ts +3 -0
- package/dist/dashboard/routes/graph.d.ts.map +1 -0
- package/dist/dashboard/routes/graph.js +158 -0
- package/dist/dashboard/routes/graph.js.map +1 -0
- package/dist/dashboard/routes/projects.d.ts +3 -0
- package/dist/dashboard/routes/projects.d.ts.map +1 -0
- package/dist/dashboard/routes/projects.js +9 -0
- package/dist/dashboard/routes/projects.js.map +1 -0
- package/dist/dashboard/routes/search.d.ts +3 -0
- package/dist/dashboard/routes/search.d.ts.map +1 -0
- package/dist/dashboard/routes/search.js +105 -0
- package/dist/dashboard/routes/search.js.map +1 -0
- package/dist/dashboard/routes/sessions.d.ts +3 -0
- package/dist/dashboard/routes/sessions.d.ts.map +1 -0
- package/dist/dashboard/routes/sessions.js +16 -0
- package/dist/dashboard/routes/sessions.js.map +1 -0
- package/dist/dashboard/routes/stats.d.ts +3 -0
- package/dist/dashboard/routes/stats.d.ts.map +1 -0
- package/dist/dashboard/routes/stats.js +38 -0
- package/dist/dashboard/routes/stats.js.map +1 -0
- package/dist/dashboard/server.d.ts +3 -0
- package/dist/dashboard/server.d.ts.map +1 -0
- package/dist/dashboard/server.js +85 -0
- package/dist/dashboard/server.js.map +1 -0
- package/dist/eval/annotation-schema.d.ts +41 -0
- package/dist/eval/annotation-schema.d.ts.map +1 -0
- package/dist/eval/annotation-schema.js +171 -0
- package/dist/eval/annotation-schema.js.map +1 -0
- package/dist/eval/benchmark-runner.d.ts +15 -0
- package/dist/eval/benchmark-runner.d.ts.map +1 -0
- package/dist/eval/benchmark-runner.js +93 -0
- package/dist/eval/benchmark-runner.js.map +1 -0
- package/dist/eval/cluster-evaluator.d.ts +39 -0
- package/dist/eval/cluster-evaluator.d.ts.map +1 -0
- package/dist/eval/cluster-evaluator.js +51 -0
- package/dist/eval/cluster-evaluator.js.map +1 -0
- package/dist/eval/code-nl-alignment.d.ts +25 -0
- package/dist/eval/code-nl-alignment.d.ts.map +1 -0
- package/dist/eval/code-nl-alignment.js +49 -0
- package/dist/eval/code-nl-alignment.js.map +1 -0
- package/dist/eval/collection-benchmark/graph-value.d.ts +16 -0
- package/dist/eval/collection-benchmark/graph-value.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/graph-value.js +162 -0
- package/dist/eval/collection-benchmark/graph-value.js.map +1 -0
- package/dist/eval/collection-benchmark/health.d.ts +12 -0
- package/dist/eval/collection-benchmark/health.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/health.js +246 -0
- package/dist/eval/collection-benchmark/health.js.map +1 -0
- package/dist/eval/collection-benchmark/history.d.ts +27 -0
- package/dist/eval/collection-benchmark/history.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/history.js +134 -0
- package/dist/eval/collection-benchmark/history.js.map +1 -0
- package/dist/eval/collection-benchmark/latency.d.ts +16 -0
- package/dist/eval/collection-benchmark/latency.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/latency.js +115 -0
- package/dist/eval/collection-benchmark/latency.js.map +1 -0
- package/dist/eval/collection-benchmark/reporter.d.ts +18 -0
- package/dist/eval/collection-benchmark/reporter.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/reporter.js +244 -0
- package/dist/eval/collection-benchmark/reporter.js.map +1 -0
- package/dist/eval/collection-benchmark/retrieval.d.ts +15 -0
- package/dist/eval/collection-benchmark/retrieval.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/retrieval.js +203 -0
- package/dist/eval/collection-benchmark/retrieval.js.map +1 -0
- package/dist/eval/collection-benchmark/runner.d.ts +20 -0
- package/dist/eval/collection-benchmark/runner.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/runner.js +189 -0
- package/dist/eval/collection-benchmark/runner.js.map +1 -0
- package/dist/eval/collection-benchmark/sampler.d.ts +18 -0
- package/dist/eval/collection-benchmark/sampler.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/sampler.js +186 -0
- package/dist/eval/collection-benchmark/sampler.js.map +1 -0
- package/dist/eval/collection-benchmark/tuning.d.ts +12 -0
- package/dist/eval/collection-benchmark/tuning.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/tuning.js +222 -0
- package/dist/eval/collection-benchmark/tuning.js.map +1 -0
- package/dist/eval/collection-benchmark/types.d.ts +183 -0
- package/dist/eval/collection-benchmark/types.d.ts.map +1 -0
- package/dist/eval/collection-benchmark/types.js +7 -0
- package/dist/eval/collection-benchmark/types.js.map +1 -0
- package/dist/eval/context-window-test.d.ts +34 -0
- package/dist/eval/context-window-test.d.ts.map +1 -0
- package/dist/eval/context-window-test.js +59 -0
- package/dist/eval/context-window-test.js.map +1 -0
- package/dist/eval/corpus-builder.d.ts +33 -0
- package/dist/eval/corpus-builder.d.ts.map +1 -0
- package/dist/eval/corpus-builder.js +88 -0
- package/dist/eval/corpus-builder.js.map +1 -0
- package/dist/eval/experiments/boilerplate-filter.d.ts +26 -0
- package/dist/eval/experiments/boilerplate-filter.d.ts.map +1 -0
- package/dist/eval/experiments/boilerplate-filter.js +95 -0
- package/dist/eval/experiments/boilerplate-filter.js.map +1 -0
- package/dist/eval/experiments/cluster-threshold/index.d.ts +6 -0
- package/dist/eval/experiments/cluster-threshold/index.d.ts.map +1 -0
- package/dist/eval/experiments/cluster-threshold/index.js +5 -0
- package/dist/eval/experiments/cluster-threshold/index.js.map +1 -0
- package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts +58 -0
- package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts.map +1 -0
- package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js +246 -0
- package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js.map +1 -0
- package/dist/eval/experiments/code-focused-mode.d.ts +20 -0
- package/dist/eval/experiments/code-focused-mode.d.ts.map +1 -0
- package/dist/eval/experiments/code-focused-mode.js +66 -0
- package/dist/eval/experiments/code-focused-mode.js.map +1 -0
- package/dist/eval/experiments/edge-decay/decay-curves.d.ts +59 -0
- package/dist/eval/experiments/edge-decay/decay-curves.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/decay-curves.js +124 -0
- package/dist/eval/experiments/edge-decay/decay-curves.js.map +1 -0
- package/dist/eval/experiments/edge-decay/index.d.ts +13 -0
- package/dist/eval/experiments/edge-decay/index.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/index.js +16 -0
- package/dist/eval/experiments/edge-decay/index.js.map +1 -0
- package/dist/eval/experiments/edge-decay/presets.d.ts +52 -0
- package/dist/eval/experiments/edge-decay/presets.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/presets.js +234 -0
- package/dist/eval/experiments/edge-decay/presets.js.map +1 -0
- package/dist/eval/experiments/edge-decay/reference-extractor.d.ts +34 -0
- package/dist/eval/experiments/edge-decay/reference-extractor.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/reference-extractor.js +353 -0
- package/dist/eval/experiments/edge-decay/reference-extractor.js.map +1 -0
- package/dist/eval/experiments/edge-decay/reference-types.d.ts +131 -0
- package/dist/eval/experiments/edge-decay/reference-types.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/reference-types.js +5 -0
- package/dist/eval/experiments/edge-decay/reference-types.js.map +1 -0
- package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts +64 -0
- package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/retrieval-ranking.js +565 -0
- package/dist/eval/experiments/edge-decay/retrieval-ranking.js.map +1 -0
- package/dist/eval/experiments/edge-decay/run-experiments.d.ts +25 -0
- package/dist/eval/experiments/edge-decay/run-experiments.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/run-experiments.js +229 -0
- package/dist/eval/experiments/edge-decay/run-experiments.js.map +1 -0
- package/dist/eval/experiments/edge-decay/simulate.d.ts +42 -0
- package/dist/eval/experiments/edge-decay/simulate.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/simulate.js +232 -0
- package/dist/eval/experiments/edge-decay/simulate.js.map +1 -0
- package/dist/eval/experiments/edge-decay/types.d.ts +10 -0
- package/dist/eval/experiments/edge-decay/types.d.ts.map +1 -0
- package/dist/eval/experiments/edge-decay/types.js +9 -0
- package/dist/eval/experiments/edge-decay/types.js.map +1 -0
- package/dist/eval/experiments/hdbscan-sweep.d.ts +19 -0
- package/dist/eval/experiments/hdbscan-sweep.d.ts.map +1 -0
- package/dist/eval/experiments/hdbscan-sweep.js +71 -0
- package/dist/eval/experiments/hdbscan-sweep.js.map +1 -0
- package/dist/eval/experiments/single-model-run.d.ts +54 -0
- package/dist/eval/experiments/single-model-run.d.ts.map +1 -0
- package/dist/eval/experiments/single-model-run.js +120 -0
- package/dist/eval/experiments/single-model-run.js.map +1 -0
- package/dist/eval/experiments/thinking-ablation.d.ts +21 -0
- package/dist/eval/experiments/thinking-ablation.d.ts.map +1 -0
- package/dist/eval/experiments/thinking-ablation.js +68 -0
- package/dist/eval/experiments/thinking-ablation.js.map +1 -0
- package/dist/eval/experiments/topic-continuity/embedding-classifier.d.ts +55 -0
- package/dist/eval/experiments/topic-continuity/embedding-classifier.d.ts.map +1 -0
- package/dist/eval/experiments/topic-continuity/embedding-classifier.js +126 -0
- package/dist/eval/experiments/topic-continuity/embedding-classifier.js.map +1 -0
- package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts +68 -0
- package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts.map +1 -0
- package/dist/eval/experiments/topic-continuity/hybrid-classifier.js +175 -0
- package/dist/eval/experiments/topic-continuity/hybrid-classifier.js.map +1 -0
- package/dist/eval/experiments/topic-continuity/index.d.ts +13 -0
- package/dist/eval/experiments/topic-continuity/index.d.ts.map +1 -0
- package/dist/eval/experiments/topic-continuity/index.js +17 -0
- package/dist/eval/experiments/topic-continuity/index.js.map +1 -0
- package/dist/eval/experiments/topic-continuity/labeler.d.ts +42 -0
- package/dist/eval/experiments/topic-continuity/labeler.d.ts.map +1 -0
- package/dist/eval/experiments/topic-continuity/labeler.js +253 -0
- package/dist/eval/experiments/topic-continuity/labeler.js.map +1 -0
- package/dist/eval/experiments/topic-continuity/lexical-features.d.ts +26 -0
- package/dist/eval/experiments/topic-continuity/lexical-features.d.ts.map +1 -0
- package/dist/eval/experiments/topic-continuity/lexical-features.js +58 -0
- package/dist/eval/experiments/topic-continuity/lexical-features.js.map +1 -0
- package/dist/eval/experiments/topic-continuity/run-experiment.d.ts +40 -0
- package/dist/eval/experiments/topic-continuity/run-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/topic-continuity/run-experiment.js +379 -0
- package/dist/eval/experiments/topic-continuity/run-experiment.js.map +1 -0
- package/dist/eval/experiments/topic-continuity/types.d.ts +146 -0
- package/dist/eval/experiments/topic-continuity/types.d.ts.map +1 -0
- package/dist/eval/experiments/topic-continuity/types.js +9 -0
- package/dist/eval/experiments/topic-continuity/types.js.map +1 -0
- package/dist/eval/experiments/truncation.d.ts +21 -0
- package/dist/eval/experiments/truncation.d.ts.map +1 -0
- package/dist/eval/experiments/truncation.js +59 -0
- package/dist/eval/experiments/truncation.js.map +1 -0
- package/dist/eval/experiments/types.d.ts +37 -0
- package/dist/eval/experiments/types.d.ts.map +1 -0
- package/dist/eval/experiments/types.js +13 -0
- package/dist/eval/experiments/types.js.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts +10 -0
- package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js +229 -0
- package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts +12 -0
- package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js +316 -0
- package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts +19 -0
- package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/hop-decay.js +127 -0
- package/dist/eval/experiments/vector-decay-shapes/hop-decay.js.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/index.d.ts +11 -0
- package/dist/eval/experiments/vector-decay-shapes/index.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/index.js +11 -0
- package/dist/eval/experiments/vector-decay-shapes/index.js.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts +14 -0
- package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js +274 -0
- package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/presets.d.ts +36 -0
- package/dist/eval/experiments/vector-decay-shapes/presets.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/presets.js +157 -0
- package/dist/eval/experiments/vector-decay-shapes/presets.js.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts +20 -0
- package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/run-experiment.js +504 -0
- package/dist/eval/experiments/vector-decay-shapes/run-experiment.js.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/types.d.ts +111 -0
- package/dist/eval/experiments/vector-decay-shapes/types.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-shapes/types.js +15 -0
- package/dist/eval/experiments/vector-decay-shapes/types.js.map +1 -0
- package/dist/eval/experiments/vector-decay-sweep/index.d.ts +7 -0
- package/dist/eval/experiments/vector-decay-sweep/index.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-sweep/index.js +7 -0
- package/dist/eval/experiments/vector-decay-sweep/index.js.map +1 -0
- package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts +30 -0
- package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-sweep/run-sweep.js +378 -0
- package/dist/eval/experiments/vector-decay-sweep/run-sweep.js.map +1 -0
- package/dist/eval/experiments/vector-decay-sweep/types.d.ts +109 -0
- package/dist/eval/experiments/vector-decay-sweep/types.d.ts.map +1 -0
- package/dist/eval/experiments/vector-decay-sweep/types.js +16 -0
- package/dist/eval/experiments/vector-decay-sweep/types.js.map +1 -0
- package/dist/eval/metrics.d.ts +45 -0
- package/dist/eval/metrics.d.ts.map +1 -0
- package/dist/eval/metrics.js +134 -0
- package/dist/eval/metrics.js.map +1 -0
- package/dist/hooks/claudemd-generator.d.ts +62 -0
- package/dist/hooks/claudemd-generator.d.ts.map +1 -0
- package/dist/hooks/claudemd-generator.js +220 -0
- package/dist/hooks/claudemd-generator.js.map +1 -0
- package/dist/hooks/hook-utils.d.ts +84 -0
- package/dist/hooks/hook-utils.d.ts.map +1 -0
- package/dist/hooks/hook-utils.js +187 -0
- package/dist/hooks/hook-utils.js.map +1 -0
- package/dist/hooks/index.d.ts +12 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +12 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/pre-compact.d.ts +58 -0
- package/dist/hooks/pre-compact.d.ts.map +1 -0
- package/dist/hooks/pre-compact.js +127 -0
- package/dist/hooks/pre-compact.js.map +1 -0
- package/dist/hooks/session-start.d.ts +62 -0
- package/dist/hooks/session-start.d.ts.map +1 -0
- package/dist/hooks/session-start.js +249 -0
- package/dist/hooks/session-start.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/ingest/batch-ingest.d.ts +94 -0
- package/dist/ingest/batch-ingest.d.ts.map +1 -0
- package/dist/ingest/batch-ingest.js +167 -0
- package/dist/ingest/batch-ingest.js.map +1 -0
- package/dist/ingest/brief-debrief-detector.d.ts +74 -0
- package/dist/ingest/brief-debrief-detector.d.ts.map +1 -0
- package/dist/ingest/brief-debrief-detector.js +253 -0
- package/dist/ingest/brief-debrief-detector.js.map +1 -0
- package/dist/ingest/cross-session-linker.d.ts +39 -0
- package/dist/ingest/cross-session-linker.d.ts.map +1 -0
- package/dist/ingest/cross-session-linker.js +103 -0
- package/dist/ingest/cross-session-linker.js.map +1 -0
- package/dist/ingest/edge-creator.d.ts +62 -0
- package/dist/ingest/edge-creator.d.ts.map +1 -0
- package/dist/ingest/edge-creator.js +186 -0
- package/dist/ingest/edge-creator.js.map +1 -0
- package/dist/ingest/edge-detector.d.ts +37 -0
- package/dist/ingest/edge-detector.d.ts.map +1 -0
- package/dist/ingest/edge-detector.js +234 -0
- package/dist/ingest/edge-detector.js.map +1 -0
- package/dist/ingest/index.d.ts +14 -0
- package/dist/ingest/index.d.ts.map +1 -0
- package/dist/ingest/index.js +14 -0
- package/dist/ingest/index.js.map +1 -0
- package/dist/ingest/ingest-session.d.ts +83 -0
- package/dist/ingest/ingest-session.d.ts.map +1 -0
- package/dist/ingest/ingest-session.js +415 -0
- package/dist/ingest/ingest-session.js.map +1 -0
- package/dist/maintenance/index.d.ts +5 -0
- package/dist/maintenance/index.d.ts.map +1 -0
- package/dist/maintenance/index.js +5 -0
- package/dist/maintenance/index.js.map +1 -0
- package/dist/maintenance/scheduler.d.ts +79 -0
- package/dist/maintenance/scheduler.d.ts.map +1 -0
- package/dist/maintenance/scheduler.js +362 -0
- package/dist/maintenance/scheduler.js.map +1 -0
- package/dist/maintenance/tasks/cleanup-vectors.d.ts +10 -0
- package/dist/maintenance/tasks/cleanup-vectors.d.ts.map +1 -0
- package/dist/maintenance/tasks/cleanup-vectors.js +23 -0
- package/dist/maintenance/tasks/cleanup-vectors.js.map +1 -0
- package/dist/maintenance/tasks/index.d.ts +9 -0
- package/dist/maintenance/tasks/index.d.ts.map +1 -0
- package/dist/maintenance/tasks/index.js +9 -0
- package/dist/maintenance/tasks/index.js.map +1 -0
- package/dist/maintenance/tasks/prune-graph.d.ts +12 -0
- package/dist/maintenance/tasks/prune-graph.d.ts.map +1 -0
- package/dist/maintenance/tasks/prune-graph.js +23 -0
- package/dist/maintenance/tasks/prune-graph.js.map +1 -0
- package/dist/maintenance/tasks/scan-projects.d.ts +12 -0
- package/dist/maintenance/tasks/scan-projects.d.ts.map +1 -0
- package/dist/maintenance/tasks/scan-projects.js +31 -0
- package/dist/maintenance/tasks/scan-projects.js.map +1 -0
- package/dist/maintenance/tasks/update-clusters.d.ts +12 -0
- package/dist/maintenance/tasks/update-clusters.d.ts.map +1 -0
- package/dist/maintenance/tasks/update-clusters.js +41 -0
- package/dist/maintenance/tasks/update-clusters.js.map +1 -0
- package/dist/maintenance/tasks/vacuum.d.ts +10 -0
- package/dist/maintenance/tasks/vacuum.d.ts.map +1 -0
- package/dist/maintenance/tasks/vacuum.js +23 -0
- package/dist/maintenance/tasks/vacuum.js.map +1 -0
- package/dist/mcp/index.d.ts +7 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +8 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +90 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +395 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +52 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +292 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/models/device-detector.d.ts +32 -0
- package/dist/models/device-detector.d.ts.map +1 -0
- package/dist/models/device-detector.js +123 -0
- package/dist/models/device-detector.js.map +1 -0
- package/dist/models/embedder.d.ts +60 -0
- package/dist/models/embedder.d.ts.map +1 -0
- package/dist/models/embedder.js +171 -0
- package/dist/models/embedder.js.map +1 -0
- package/dist/models/model-registry.d.ts +25 -0
- package/dist/models/model-registry.d.ts.map +1 -0
- package/dist/models/model-registry.js +56 -0
- package/dist/models/model-registry.js.map +1 -0
- package/dist/parser/chunker.d.ts +74 -0
- package/dist/parser/chunker.d.ts.map +1 -0
- package/dist/parser/chunker.js +330 -0
- package/dist/parser/chunker.js.map +1 -0
- package/dist/parser/session-reader.d.ts +75 -0
- package/dist/parser/session-reader.d.ts.map +1 -0
- package/dist/parser/session-reader.js +198 -0
- package/dist/parser/session-reader.js.map +1 -0
- package/dist/parser/turn-assembler.d.ts +18 -0
- package/dist/parser/turn-assembler.d.ts.map +1 -0
- package/dist/parser/turn-assembler.js +150 -0
- package/dist/parser/turn-assembler.js.map +1 -0
- package/dist/parser/types.d.ts +124 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js +8 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/report/reporter.d.ts +18 -0
- package/dist/report/reporter.d.ts.map +1 -0
- package/dist/report/reporter.js +121 -0
- package/dist/report/reporter.js.map +1 -0
- package/dist/retrieval/cluster-expander.d.ts +30 -0
- package/dist/retrieval/cluster-expander.d.ts.map +1 -0
- package/dist/retrieval/cluster-expander.js +87 -0
- package/dist/retrieval/cluster-expander.js.map +1 -0
- package/dist/retrieval/context-assembler.d.ts +89 -0
- package/dist/retrieval/context-assembler.d.ts.map +1 -0
- package/dist/retrieval/context-assembler.js +313 -0
- package/dist/retrieval/context-assembler.js.map +1 -0
- package/dist/retrieval/index.d.ts +12 -0
- package/dist/retrieval/index.d.ts.map +1 -0
- package/dist/retrieval/index.js +12 -0
- package/dist/retrieval/index.js.map +1 -0
- package/dist/retrieval/rrf.d.ts +25 -0
- package/dist/retrieval/rrf.d.ts.map +1 -0
- package/dist/retrieval/rrf.js +56 -0
- package/dist/retrieval/rrf.js.map +1 -0
- package/dist/retrieval/session-reconstructor.d.ts +79 -0
- package/dist/retrieval/session-reconstructor.d.ts.map +1 -0
- package/dist/retrieval/session-reconstructor.js +173 -0
- package/dist/retrieval/session-reconstructor.js.map +1 -0
- package/dist/retrieval/traverser.d.ts +66 -0
- package/dist/retrieval/traverser.d.ts.map +1 -0
- package/dist/retrieval/traverser.js +160 -0
- package/dist/retrieval/traverser.js.map +1 -0
- package/dist/storage/archive.d.ts +81 -0
- package/dist/storage/archive.d.ts.map +1 -0
- package/dist/storage/archive.js +204 -0
- package/dist/storage/archive.js.map +1 -0
- package/dist/storage/audit-log.d.ts +29 -0
- package/dist/storage/audit-log.d.ts.map +1 -0
- package/dist/storage/audit-log.js +69 -0
- package/dist/storage/audit-log.js.map +1 -0
- package/dist/storage/checkpoint-store.d.ts +38 -0
- package/dist/storage/checkpoint-store.d.ts.map +1 -0
- package/dist/storage/checkpoint-store.js +76 -0
- package/dist/storage/checkpoint-store.js.map +1 -0
- package/dist/storage/chunk-store.d.ts +111 -0
- package/dist/storage/chunk-store.d.ts.map +1 -0
- package/dist/storage/chunk-store.js +298 -0
- package/dist/storage/chunk-store.js.map +1 -0
- package/dist/storage/clock-store.d.ts +80 -0
- package/dist/storage/clock-store.d.ts.map +1 -0
- package/dist/storage/clock-store.js +155 -0
- package/dist/storage/clock-store.js.map +1 -0
- package/dist/storage/cluster-store.d.ts +63 -0
- package/dist/storage/cluster-store.d.ts.map +1 -0
- package/dist/storage/cluster-store.js +219 -0
- package/dist/storage/cluster-store.js.map +1 -0
- package/dist/storage/db.d.ts +57 -0
- package/dist/storage/db.d.ts.map +1 -0
- package/dist/storage/db.js +249 -0
- package/dist/storage/db.js.map +1 -0
- package/dist/storage/decay.d.ts +125 -0
- package/dist/storage/decay.d.ts.map +1 -0
- package/dist/storage/decay.js +276 -0
- package/dist/storage/decay.js.map +1 -0
- package/dist/storage/edge-store.d.ts +75 -0
- package/dist/storage/edge-store.d.ts.map +1 -0
- package/dist/storage/edge-store.js +259 -0
- package/dist/storage/edge-store.js.map +1 -0
- package/dist/storage/embedding-cache.d.ts +51 -0
- package/dist/storage/embedding-cache.d.ts.map +1 -0
- package/dist/storage/embedding-cache.js +155 -0
- package/dist/storage/embedding-cache.js.map +1 -0
- package/dist/storage/encryption.d.ts +55 -0
- package/dist/storage/encryption.d.ts.map +1 -0
- package/dist/storage/encryption.js +130 -0
- package/dist/storage/encryption.js.map +1 -0
- package/dist/storage/index.d.ts +15 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +20 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/keyword-store.d.ts +25 -0
- package/dist/storage/keyword-store.d.ts.map +1 -0
- package/dist/storage/keyword-store.js +104 -0
- package/dist/storage/keyword-store.js.map +1 -0
- package/dist/storage/migrations.d.ts +12 -0
- package/dist/storage/migrations.d.ts.map +1 -0
- package/dist/storage/migrations.js +345 -0
- package/dist/storage/migrations.js.map +1 -0
- package/dist/storage/pruner.d.ts +111 -0
- package/dist/storage/pruner.d.ts.map +1 -0
- package/dist/storage/pruner.js +280 -0
- package/dist/storage/pruner.js.map +1 -0
- package/dist/storage/schema-loader.d.ts +18 -0
- package/dist/storage/schema-loader.d.ts.map +1 -0
- package/dist/storage/schema-loader.js +62 -0
- package/dist/storage/schema-loader.js.map +1 -0
- package/dist/storage/schema.sql +133 -0
- package/dist/storage/types.d.ts +278 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +14 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/storage/vector-store.d.ts +213 -0
- package/dist/storage/vector-store.d.ts.map +1 -0
- package/dist/storage/vector-store.js +440 -0
- package/dist/storage/vector-store.js.map +1 -0
- package/dist/temporal/clock-compactor.d.ts +65 -0
- package/dist/temporal/clock-compactor.d.ts.map +1 -0
- package/dist/temporal/clock-compactor.js +157 -0
- package/dist/temporal/clock-compactor.js.map +1 -0
- package/dist/temporal/index.d.ts +6 -0
- package/dist/temporal/index.d.ts.map +1 -0
- package/dist/temporal/index.js +6 -0
- package/dist/temporal/index.js.map +1 -0
- package/dist/temporal/vector-clock.d.ts +143 -0
- package/dist/temporal/vector-clock.d.ts.map +1 -0
- package/dist/temporal/vector-clock.js +231 -0
- package/dist/temporal/vector-clock.js.map +1 -0
- package/dist/utils/angular-distance.d.ts +31 -0
- package/dist/utils/angular-distance.d.ts.map +1 -0
- package/dist/utils/angular-distance.js +61 -0
- package/dist/utils/angular-distance.js.map +1 -0
- package/dist/utils/array-utils.d.ts +28 -0
- package/dist/utils/array-utils.d.ts.map +1 -0
- package/dist/utils/array-utils.js +67 -0
- package/dist/utils/array-utils.js.map +1 -0
- package/dist/utils/embedding-utils.d.ts +25 -0
- package/dist/utils/embedding-utils.d.ts.map +1 -0
- package/dist/utils/embedding-utils.js +30 -0
- package/dist/utils/embedding-utils.js.map +1 -0
- package/dist/utils/errors.d.ts +143 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +220 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/keychain.d.ts +43 -0
- package/dist/utils/keychain.d.ts.map +1 -0
- package/dist/utils/keychain.js +82 -0
- package/dist/utils/keychain.js.map +1 -0
- package/dist/utils/logger.d.ts +50 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +104 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/secret-store.d.ts +110 -0
- package/dist/utils/secret-store.d.ts.map +1 -0
- package/dist/utils/secret-store.js +340 -0
- package/dist/utils/secret-store.js.map +1 -0
- package/dist/utils/secure-buffer.d.ts +66 -0
- package/dist/utils/secure-buffer.d.ts.map +1 -0
- package/dist/utils/secure-buffer.js +104 -0
- package/dist/utils/secure-buffer.js.map +1 -0
- package/dist/utils/token-counter.d.ts +13 -0
- package/dist/utils/token-counter.d.ts.map +1 -0
- package/dist/utils/token-counter.js +18 -0
- package/dist/utils/token-counter.js.map +1 -0
- package/package.json +110 -0
- package/src/dashboard/client/package-lock.json +3045 -0
- package/src/dashboard/client/package.json +30 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detection of sub-agent spawn (brief) and return (debrief) points.
|
|
3
|
+
*
|
|
4
|
+
* Brief points: Where a parent chunk spawns a sub-agent
|
|
5
|
+
* Debrief points: Where sub-agent results return to the parent
|
|
6
|
+
*
|
|
7
|
+
* These create graph fork/join topology:
|
|
8
|
+
* Main: D1 ─T─> D2 ─[BRIEF]─┬─> SubAgent1: D_s1 ─T─> D_s2 ─[DEBRIEF]─┐
|
|
9
|
+
* │ │
|
|
10
|
+
* └─> SubAgent2: D_s3 ─T─> D_s4 ─[DEBRIEF]─┴─> D5 ─T─> D6
|
|
11
|
+
*/
|
|
12
|
+
import type { Turn } from '../parser/types.js';
|
|
13
|
+
import type { Chunk } from '../parser/types.js';
|
|
14
|
+
import type { VectorClock } from '../temporal/vector-clock.js';
|
|
15
|
+
/**
|
|
16
|
+
* A brief point marks where a sub-agent is spawned.
|
|
17
|
+
*/
|
|
18
|
+
export interface BriefPoint {
|
|
19
|
+
/** ID of the parent chunk that spawned the sub-agent */
|
|
20
|
+
parentChunkId: string;
|
|
21
|
+
/** ID of the spawned sub-agent */
|
|
22
|
+
agentId: string;
|
|
23
|
+
/** Vector clock at spawn time */
|
|
24
|
+
clock: VectorClock;
|
|
25
|
+
/** Turn index where spawn occurred */
|
|
26
|
+
turnIndex: number;
|
|
27
|
+
/** Spawn depth (0 = main, 1 = first sub-agent level, etc.) */
|
|
28
|
+
spawnDepth: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A debrief point marks where sub-agent results return to parent.
|
|
32
|
+
*/
|
|
33
|
+
export interface DebriefPoint {
|
|
34
|
+
/** ID of the sub-agent that completed */
|
|
35
|
+
agentId: string;
|
|
36
|
+
/** IDs of the sub-agent's final chunk(s) */
|
|
37
|
+
agentFinalChunkIds: string[];
|
|
38
|
+
/** ID of the parent chunk that receives the results */
|
|
39
|
+
parentChunkId: string;
|
|
40
|
+
/** Vector clock at debrief time */
|
|
41
|
+
clock: VectorClock;
|
|
42
|
+
/** Turn index where debrief occurred */
|
|
43
|
+
turnIndex: number;
|
|
44
|
+
/** Spawn depth of the sub-agent */
|
|
45
|
+
spawnDepth: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Detect brief points from main session turns.
|
|
49
|
+
* Uses agent_progress messages to find real sub-agent IDs.
|
|
50
|
+
*
|
|
51
|
+
* @param turns - Turns from the main session
|
|
52
|
+
* @param chunkIdsByTurn - Map of turn index → chunk IDs created from that turn
|
|
53
|
+
* @param currentClock - Current vector clock at start of processing
|
|
54
|
+
* @param spawnDepth - Current spawn depth (0 for main session)
|
|
55
|
+
* @returns Array of detected brief points
|
|
56
|
+
*/
|
|
57
|
+
export declare function detectBriefPoints(turns: Turn[], chunkIdsByTurn: Map<number, string[]>, currentClock: VectorClock, spawnDepth?: number): BriefPoint[];
|
|
58
|
+
/**
|
|
59
|
+
* Detect debrief points by matching sub-agent completions to parent turns.
|
|
60
|
+
*
|
|
61
|
+
* @param mainTurns - Turns from the main session
|
|
62
|
+
* @param subAgentChunks - Map of agent ID → chunks from that agent
|
|
63
|
+
* @param mainChunks - Chunks from the main session
|
|
64
|
+
* @param chunkIdsByTurn - Map of turn index → chunk IDs
|
|
65
|
+
* @param currentClock - Current vector clock
|
|
66
|
+
* @param spawnDepth - Spawn depth of sub-agents
|
|
67
|
+
* @returns Array of detected debrief points
|
|
68
|
+
*/
|
|
69
|
+
export declare function detectDebriefPoints(mainTurns: Turn[], subAgentChunks: Map<string, Chunk[]>, mainChunks: Chunk[], chunkIdsByTurn: Map<number, string[]>, currentClock: VectorClock, spawnDepth?: number): DebriefPoint[];
|
|
70
|
+
/**
|
|
71
|
+
* Build a map of turn index → chunk IDs for efficient lookup.
|
|
72
|
+
*/
|
|
73
|
+
export declare function buildChunkIdsByTurn(chunks: Chunk[]): Map<number, string[]>;
|
|
74
|
+
//# sourceMappingURL=brief-debrief-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-debrief-detector.d.ts","sourceRoot":"","sources":["../../src/ingest/brief-debrief-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAA0C,MAAM,oBAAoB,CAAC;AACvF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,KAAK,EAAE,WAAW,CAAC;IACnB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AA+DD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,EAAE,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,YAAY,EAAE,WAAW,EACzB,UAAU,GAAE,MAAU,GACrB,UAAU,EAAE,CA4Bd;AAoDD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,IAAI,EAAE,EACjB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EACpC,UAAU,EAAE,KAAK,EAAE,EACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACrC,YAAY,EAAE,WAAW,EACzB,UAAU,GAAE,MAAU,GACrB,YAAY,EAAE,CAuDhB;AAoDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAY1E"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detection of sub-agent spawn (brief) and return (debrief) points.
|
|
3
|
+
*
|
|
4
|
+
* Brief points: Where a parent chunk spawns a sub-agent
|
|
5
|
+
* Debrief points: Where sub-agent results return to the parent
|
|
6
|
+
*
|
|
7
|
+
* These create graph fork/join topology:
|
|
8
|
+
* Main: D1 ─T─> D2 ─[BRIEF]─┬─> SubAgent1: D_s1 ─T─> D_s2 ─[DEBRIEF]─┐
|
|
9
|
+
* │ │
|
|
10
|
+
* └─> SubAgent2: D_s3 ─T─> D_s4 ─[DEBRIEF]─┴─> D5 ─T─> D6
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Tool names that indicate sub-agent spawning.
|
|
14
|
+
*/
|
|
15
|
+
const SPAWN_TOOL_NAMES = new Set(['Task', 'Agent', 'SubAgent']);
|
|
16
|
+
/**
|
|
17
|
+
* Extract agent spawn mappings from progress messages.
|
|
18
|
+
* These messages link Task tool_use IDs to real sub-agent IDs.
|
|
19
|
+
*/
|
|
20
|
+
function extractAgentSpawns(turns) {
|
|
21
|
+
const spawns = new Map();
|
|
22
|
+
for (const turn of turns) {
|
|
23
|
+
for (const msg of turn.rawMessages) {
|
|
24
|
+
// Look for progress messages with agent_progress data
|
|
25
|
+
if (msg.type !== 'progress')
|
|
26
|
+
continue;
|
|
27
|
+
if (!msg.data || msg.data.type !== 'agent_progress')
|
|
28
|
+
continue;
|
|
29
|
+
const agentId = msg.data.agentId;
|
|
30
|
+
const parentToolUseId = msg.parentToolUseID;
|
|
31
|
+
if (agentId && parentToolUseId && !spawns.has(agentId)) {
|
|
32
|
+
spawns.set(agentId, {
|
|
33
|
+
agentId,
|
|
34
|
+
toolUseId: parentToolUseId,
|
|
35
|
+
turnIndex: turn.index,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return spawns;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Find which turn contains a Task tool_use with the given ID.
|
|
44
|
+
*/
|
|
45
|
+
function findTurnForToolUse(turns, toolUseId) {
|
|
46
|
+
for (const turn of turns) {
|
|
47
|
+
for (const block of turn.assistantBlocks) {
|
|
48
|
+
if (block.type === 'tool_use') {
|
|
49
|
+
const toolUse = block;
|
|
50
|
+
if (toolUse.id === toolUseId && SPAWN_TOOL_NAMES.has(toolUse.name)) {
|
|
51
|
+
return turn.index;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return -1;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Detect brief points from main session turns.
|
|
60
|
+
* Uses agent_progress messages to find real sub-agent IDs.
|
|
61
|
+
*
|
|
62
|
+
* @param turns - Turns from the main session
|
|
63
|
+
* @param chunkIdsByTurn - Map of turn index → chunk IDs created from that turn
|
|
64
|
+
* @param currentClock - Current vector clock at start of processing
|
|
65
|
+
* @param spawnDepth - Current spawn depth (0 for main session)
|
|
66
|
+
* @returns Array of detected brief points
|
|
67
|
+
*/
|
|
68
|
+
export function detectBriefPoints(turns, chunkIdsByTurn, currentClock, spawnDepth = 0) {
|
|
69
|
+
const briefPoints = [];
|
|
70
|
+
// Extract real agent spawns from progress messages
|
|
71
|
+
const agentSpawns = extractAgentSpawns(turns);
|
|
72
|
+
for (const [agentId, spawnInfo] of agentSpawns) {
|
|
73
|
+
// Find which turn contains the Task tool that spawned this agent
|
|
74
|
+
const spawnTurnIndex = findTurnForToolUse(turns, spawnInfo.toolUseId);
|
|
75
|
+
if (spawnTurnIndex === -1)
|
|
76
|
+
continue;
|
|
77
|
+
// Get chunk ID(s) for the spawn turn
|
|
78
|
+
const chunkIds = chunkIdsByTurn.get(spawnTurnIndex);
|
|
79
|
+
if (!chunkIds || chunkIds.length === 0)
|
|
80
|
+
continue;
|
|
81
|
+
// Use the first chunk as the parent (if turn spans multiple chunks)
|
|
82
|
+
const parentChunkId = chunkIds[0];
|
|
83
|
+
briefPoints.push({
|
|
84
|
+
parentChunkId,
|
|
85
|
+
agentId,
|
|
86
|
+
clock: { ...currentClock },
|
|
87
|
+
turnIndex: spawnTurnIndex,
|
|
88
|
+
spawnDepth,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return briefPoints;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Extract spawned agent IDs from a turn (legacy fallback).
|
|
95
|
+
* Uses agent_progress messages if available, otherwise falls back to tool input.
|
|
96
|
+
*/
|
|
97
|
+
function extractSpawnedAgentIds(turn) {
|
|
98
|
+
const agentIds = [];
|
|
99
|
+
// First try: Look for agent_progress messages
|
|
100
|
+
for (const msg of turn.rawMessages) {
|
|
101
|
+
if (msg.type === 'progress' && msg.data?.type === 'agent_progress') {
|
|
102
|
+
const agentId = msg.data.agentId;
|
|
103
|
+
if (agentId && !agentIds.includes(agentId)) {
|
|
104
|
+
agentIds.push(agentId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (agentIds.length > 0)
|
|
109
|
+
return agentIds;
|
|
110
|
+
// Fallback: Try to extract from tool input
|
|
111
|
+
for (const block of turn.assistantBlocks) {
|
|
112
|
+
if (block.type !== 'tool_use')
|
|
113
|
+
continue;
|
|
114
|
+
const toolUse = block;
|
|
115
|
+
if (!SPAWN_TOOL_NAMES.has(toolUse.name))
|
|
116
|
+
continue;
|
|
117
|
+
// Try to extract agent ID from tool input
|
|
118
|
+
const input = toolUse.input;
|
|
119
|
+
// Common patterns for agent ID in tool input
|
|
120
|
+
if (typeof input === 'object' && input !== null) {
|
|
121
|
+
// Check for subagent_type, agent_id, or similar fields
|
|
122
|
+
const potentialIdFields = ['subagent_type', 'agent_id', 'agentId', 'agent_type'];
|
|
123
|
+
for (const field of potentialIdFields) {
|
|
124
|
+
if (field in input && typeof input[field] === 'string') {
|
|
125
|
+
agentIds.push(input[field]);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// If no explicit ID, use the tool_use_id as a fallback
|
|
130
|
+
if (agentIds.length === 0) {
|
|
131
|
+
agentIds.push(toolUse.id);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return agentIds;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Detect debrief points by matching sub-agent completions to parent turns.
|
|
139
|
+
*
|
|
140
|
+
* @param mainTurns - Turns from the main session
|
|
141
|
+
* @param subAgentChunks - Map of agent ID → chunks from that agent
|
|
142
|
+
* @param mainChunks - Chunks from the main session
|
|
143
|
+
* @param chunkIdsByTurn - Map of turn index → chunk IDs
|
|
144
|
+
* @param currentClock - Current vector clock
|
|
145
|
+
* @param spawnDepth - Spawn depth of sub-agents
|
|
146
|
+
* @returns Array of detected debrief points
|
|
147
|
+
*/
|
|
148
|
+
export function detectDebriefPoints(mainTurns, subAgentChunks, mainChunks, chunkIdsByTurn, currentClock, spawnDepth = 1) {
|
|
149
|
+
const debriefPoints = [];
|
|
150
|
+
// For each sub-agent, find where its results are used in the main session
|
|
151
|
+
for (const [agentId, chunks] of subAgentChunks) {
|
|
152
|
+
if (chunks.length === 0)
|
|
153
|
+
continue;
|
|
154
|
+
// Get the final chunk(s) from this sub-agent
|
|
155
|
+
// (could be multiple if agent was split into chunks)
|
|
156
|
+
const finalChunk = chunks[chunks.length - 1];
|
|
157
|
+
const finalChunkIds = [finalChunk.id];
|
|
158
|
+
// Find the turn that follows sub-agent completion
|
|
159
|
+
// This is typically the turn that uses the sub-agent's results
|
|
160
|
+
const debriefTurnIndex = findDebriefTurn(mainTurns, agentId, finalChunk);
|
|
161
|
+
if (debriefTurnIndex === -1) {
|
|
162
|
+
// If no explicit debrief found, link to the next main chunk after spawn
|
|
163
|
+
// Find the brief point for this agent
|
|
164
|
+
for (let i = 0; i < mainTurns.length; i++) {
|
|
165
|
+
const turn = mainTurns[i];
|
|
166
|
+
if (extractSpawnedAgentIds(turn).includes(agentId)) {
|
|
167
|
+
// Link to the next turn's chunk
|
|
168
|
+
const nextChunkIds = chunkIdsByTurn.get(i + 1);
|
|
169
|
+
if (nextChunkIds && nextChunkIds.length > 0) {
|
|
170
|
+
debriefPoints.push({
|
|
171
|
+
agentId,
|
|
172
|
+
agentFinalChunkIds: finalChunkIds,
|
|
173
|
+
parentChunkId: nextChunkIds[0],
|
|
174
|
+
clock: { ...currentClock },
|
|
175
|
+
turnIndex: i + 1,
|
|
176
|
+
spawnDepth,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
// Get chunk ID for the debrief turn
|
|
185
|
+
const debriefChunkIds = chunkIdsByTurn.get(debriefTurnIndex);
|
|
186
|
+
if (!debriefChunkIds || debriefChunkIds.length === 0)
|
|
187
|
+
continue;
|
|
188
|
+
debriefPoints.push({
|
|
189
|
+
agentId,
|
|
190
|
+
agentFinalChunkIds: finalChunkIds,
|
|
191
|
+
parentChunkId: debriefChunkIds[0],
|
|
192
|
+
clock: { ...currentClock },
|
|
193
|
+
turnIndex: debriefTurnIndex,
|
|
194
|
+
spawnDepth,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
return debriefPoints;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Find the turn index where sub-agent results are debriefed.
|
|
201
|
+
* Looks for tool results or references to the sub-agent's output.
|
|
202
|
+
*/
|
|
203
|
+
function findDebriefTurn(turns, agentId, finalChunk) {
|
|
204
|
+
// Strategy 1: Look for turns with tool results that explicitly mention this agent
|
|
205
|
+
for (let i = 0; i < turns.length; i++) {
|
|
206
|
+
const turn = turns[i];
|
|
207
|
+
// Check tool exchanges for results mentioning this specific agent
|
|
208
|
+
for (const exchange of turn.toolExchanges) {
|
|
209
|
+
if (exchange.toolName === 'Task' || exchange.toolName === 'Agent') {
|
|
210
|
+
// Only match if the result explicitly contains this agent's ID
|
|
211
|
+
// (removed isTaskResult fallback - it's too broad and matches unrelated agents)
|
|
212
|
+
if (exchange.result.includes(agentId)) {
|
|
213
|
+
return i;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
// Check raw messages for debrief patterns
|
|
218
|
+
for (const msg of turn.rawMessages) {
|
|
219
|
+
if (msg.type === 'user' && msg.message?.content) {
|
|
220
|
+
const content = msg.message.content;
|
|
221
|
+
if (typeof content === 'string' && content.includes(agentId)) {
|
|
222
|
+
return i;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// Strategy 2: If sub-agent spawned in turn N, debrief is likely in turn N+1 or N+2
|
|
228
|
+
for (let i = 0; i < turns.length; i++) {
|
|
229
|
+
const turn = turns[i];
|
|
230
|
+
if (extractSpawnedAgentIds(turn).includes(agentId)) {
|
|
231
|
+
// Return the next turn if it exists
|
|
232
|
+
if (i + 1 < turns.length) {
|
|
233
|
+
return i + 1;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return -1;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Build a map of turn index → chunk IDs for efficient lookup.
|
|
241
|
+
*/
|
|
242
|
+
export function buildChunkIdsByTurn(chunks) {
|
|
243
|
+
const map = new Map();
|
|
244
|
+
for (const chunk of chunks) {
|
|
245
|
+
for (const turnIndex of chunk.metadata.turnIndices) {
|
|
246
|
+
const existing = map.get(turnIndex) ?? [];
|
|
247
|
+
existing.push(chunk.id);
|
|
248
|
+
map.set(turnIndex, existing);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
return map;
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=brief-debrief-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief-debrief-detector.js","sourceRoot":"","sources":["../../src/ingest/brief-debrief-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-session edge detection and creation.
|
|
3
|
+
* Detects continued sessions and creates edges across session boundaries.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Result of cross-session linking for a single session.
|
|
7
|
+
*/
|
|
8
|
+
export interface CrossSessionLinkResult {
|
|
9
|
+
/** Session ID that was linked */
|
|
10
|
+
sessionId: string;
|
|
11
|
+
/** Previous session ID that was linked to */
|
|
12
|
+
previousSessionId: string | null;
|
|
13
|
+
/** Number of edges created */
|
|
14
|
+
edgeCount: number;
|
|
15
|
+
/** Whether continuation was detected */
|
|
16
|
+
isContinuation: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Check if a session is a continuation of a previous session.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isContinuedSession(firstChunkContent: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Link a session to its previous session if it's a continuation.
|
|
24
|
+
*
|
|
25
|
+
* @param sessionId - Session ID to check
|
|
26
|
+
* @param sessionSlug - Session slug (project identifier)
|
|
27
|
+
* @returns Link result
|
|
28
|
+
*/
|
|
29
|
+
export declare function linkCrossSession(sessionId: string, sessionSlug: string): Promise<CrossSessionLinkResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Link all sessions in the database.
|
|
32
|
+
* Run this after batch ingestion to create cross-session edges.
|
|
33
|
+
*/
|
|
34
|
+
export declare function linkAllSessions(): Promise<{
|
|
35
|
+
totalLinked: number;
|
|
36
|
+
totalEdges: number;
|
|
37
|
+
results: CrossSessionLinkResult[];
|
|
38
|
+
}>;
|
|
39
|
+
//# sourceMappingURL=cross-session-linker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-session-linker.d.ts","sourceRoot":"","sources":["../../src/ingest/cross-session-linker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC,CA6DjC;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC,CAAC,CAsBD"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-session edge detection and creation.
|
|
3
|
+
* Detects continued sessions and creates edges across session boundaries.
|
|
4
|
+
*/
|
|
5
|
+
import { getChunksBySession, getSessionIds, getPreviousSession } from '../storage/chunk-store.js';
|
|
6
|
+
import { createCrossSessionEdges } from './edge-creator.js';
|
|
7
|
+
/**
|
|
8
|
+
* Boilerplate text indicating a continued session.
|
|
9
|
+
*/
|
|
10
|
+
const CONTINUATION_PATTERNS = [
|
|
11
|
+
/^This session is being continued from a previous conversation/,
|
|
12
|
+
/^Continuing from previous session/,
|
|
13
|
+
/^This is a continuation of/,
|
|
14
|
+
/^Resumed session/,
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Check if a session is a continuation of a previous session.
|
|
18
|
+
*/
|
|
19
|
+
export function isContinuedSession(firstChunkContent) {
|
|
20
|
+
return CONTINUATION_PATTERNS.some((p) => p.test(firstChunkContent));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Link a session to its previous session if it's a continuation.
|
|
24
|
+
*
|
|
25
|
+
* @param sessionId - Session ID to check
|
|
26
|
+
* @param sessionSlug - Session slug (project identifier)
|
|
27
|
+
* @returns Link result
|
|
28
|
+
*/
|
|
29
|
+
export async function linkCrossSession(sessionId, sessionSlug) {
|
|
30
|
+
const chunks = getChunksBySession(sessionId);
|
|
31
|
+
if (chunks.length === 0) {
|
|
32
|
+
return {
|
|
33
|
+
sessionId,
|
|
34
|
+
previousSessionId: null,
|
|
35
|
+
edgeCount: 0,
|
|
36
|
+
isContinuation: false,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const firstChunk = chunks[0];
|
|
40
|
+
// Check if this is a continued session
|
|
41
|
+
if (!isContinuedSession(firstChunk.content)) {
|
|
42
|
+
return {
|
|
43
|
+
sessionId,
|
|
44
|
+
previousSessionId: null,
|
|
45
|
+
edgeCount: 0,
|
|
46
|
+
isContinuation: false,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
// Find previous session for this project (uses composite index)
|
|
50
|
+
const prevSessionInfo = getPreviousSession(sessionSlug, sessionId);
|
|
51
|
+
if (!prevSessionInfo) {
|
|
52
|
+
return {
|
|
53
|
+
sessionId,
|
|
54
|
+
previousSessionId: null,
|
|
55
|
+
edgeCount: 0,
|
|
56
|
+
isContinuation: true, // Continuation detected but no previous session found
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// Get final chunks from previous session
|
|
60
|
+
const prevChunks = getChunksBySession(prevSessionInfo.sessionId);
|
|
61
|
+
const finalChunks = prevChunks.slice(-3); // Last 3 chunks
|
|
62
|
+
if (finalChunks.length === 0) {
|
|
63
|
+
return {
|
|
64
|
+
sessionId,
|
|
65
|
+
previousSessionId: prevSessionInfo.sessionId,
|
|
66
|
+
edgeCount: 0,
|
|
67
|
+
isContinuation: true,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// Create cross-session edges
|
|
71
|
+
const edgeCount = await createCrossSessionEdges(finalChunks.map((c) => c.id), firstChunk.id);
|
|
72
|
+
return {
|
|
73
|
+
sessionId,
|
|
74
|
+
previousSessionId: prevSessionInfo.sessionId,
|
|
75
|
+
edgeCount,
|
|
76
|
+
isContinuation: true,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Link all sessions in the database.
|
|
81
|
+
* Run this after batch ingestion to create cross-session edges.
|
|
82
|
+
*/
|
|
83
|
+
export async function linkAllSessions() {
|
|
84
|
+
const sessionIds = getSessionIds();
|
|
85
|
+
const results = [];
|
|
86
|
+
let totalEdges = 0;
|
|
87
|
+
for (const sessionId of sessionIds) {
|
|
88
|
+
const chunks = getChunksBySession(sessionId);
|
|
89
|
+
if (chunks.length === 0)
|
|
90
|
+
continue;
|
|
91
|
+
const sessionSlug = chunks[0].sessionSlug;
|
|
92
|
+
const result = await linkCrossSession(sessionId, sessionSlug);
|
|
93
|
+
results.push(result);
|
|
94
|
+
totalEdges += result.edgeCount;
|
|
95
|
+
}
|
|
96
|
+
const totalLinked = results.filter((r) => r.edgeCount > 0).length;
|
|
97
|
+
return {
|
|
98
|
+
totalLinked,
|
|
99
|
+
totalEdges,
|
|
100
|
+
results,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=cross-session-linker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-session-linker.js","sourceRoot":"","sources":["../../src/ingest/cross-session-linker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge creation with type-based weights.
|
|
3
|
+
* Creates both forward and backward edges for graph traversal.
|
|
4
|
+
*/
|
|
5
|
+
import type { ReferenceType } from '../storage/types.js';
|
|
6
|
+
import type { TransitionResult } from './edge-detector.js';
|
|
7
|
+
import type { VectorClock } from '../temporal/vector-clock.js';
|
|
8
|
+
/**
|
|
9
|
+
* Initial weight by reference type.
|
|
10
|
+
* Higher weights for stronger evidence of continuation.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TYPE_WEIGHTS: Record<ReferenceType, number>;
|
|
13
|
+
/**
|
|
14
|
+
* Result of edge creation.
|
|
15
|
+
*/
|
|
16
|
+
export interface EdgeCreationResult {
|
|
17
|
+
/** Number of backward edges created */
|
|
18
|
+
backwardCount: number;
|
|
19
|
+
/** Number of forward edges created */
|
|
20
|
+
forwardCount: number;
|
|
21
|
+
/** Total edges created */
|
|
22
|
+
totalCount: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for edge creation.
|
|
26
|
+
*/
|
|
27
|
+
export interface EdgeCreationOptions {
|
|
28
|
+
/** Vector clock to stamp on edges (optional). */
|
|
29
|
+
vectorClock?: VectorClock;
|
|
30
|
+
/** Use boost mode to dedupe and boost repeated edges. Default: false. */
|
|
31
|
+
useBoostMode?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Create edges from detected transitions.
|
|
35
|
+
* Creates both backward (for retrieval) and forward (for prediction) edges.
|
|
36
|
+
*
|
|
37
|
+
* @param transitions - Detected transitions between chunks
|
|
38
|
+
* @param chunkIds - Array of chunk IDs corresponding to transition indices
|
|
39
|
+
* @param options - Edge creation options
|
|
40
|
+
* @returns Edge creation result
|
|
41
|
+
*/
|
|
42
|
+
export declare function createEdgesFromTransitions(transitions: TransitionResult[], chunkIds: string[], options?: EdgeCreationOptions): Promise<EdgeCreationResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Create a single edge pair (backward + forward) between two chunks.
|
|
45
|
+
*/
|
|
46
|
+
export declare function createEdgePair(sourceChunkId: string, targetChunkId: string, referenceType: ReferenceType, confidence?: number, vectorClock?: VectorClock): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Create cross-session edges between final chunks of old session
|
|
49
|
+
* and first chunk of new (continued) session.
|
|
50
|
+
*/
|
|
51
|
+
export declare function createCrossSessionEdges(previousFinalChunkIds: string[], newFirstChunkId: string, vectorClock?: VectorClock): Promise<number>;
|
|
52
|
+
/**
|
|
53
|
+
* Create brief edges: parent chunk → sub-agent's first chunk.
|
|
54
|
+
* These represent the point where a sub-agent is spawned.
|
|
55
|
+
*/
|
|
56
|
+
export declare function createBriefEdges(parentChunkId: string, subAgentFirstChunkId: string, vectorClock: VectorClock, spawnDepth?: number): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Create debrief edges: sub-agent's final chunk → parent chunk.
|
|
59
|
+
* These represent the point where a sub-agent returns to the parent.
|
|
60
|
+
*/
|
|
61
|
+
export declare function createDebriefEdges(subAgentFinalChunkIds: string[], parentChunkId: string, vectorClock: VectorClock, spawnDepth?: number): Promise<void>;
|
|
62
|
+
//# sourceMappingURL=edge-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-creator.d.ts","sourceRoot":"","sources":["../../src/ingest/edge-creator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAUtD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA6C7B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,aAAa,EAC5B,UAAU,GAAE,MAAY,EACxB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,qBAAqB,EAAE,MAAM,EAAE,EAC/B,eAAe,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,MAAM,EAC5B,WAAW,EAAE,WAAW,EACxB,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,qBAAqB,EAAE,MAAM,EAAE,EAC/B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,WAAW,EACxB,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|