driftdetect-cortex 0.9.41
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 +75 -0
- package/dist/cache/index.d.ts +14 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +14 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/l1-memory.d.ts +39 -0
- package/dist/cache/l1-memory.d.ts.map +1 -0
- package/dist/cache/l1-memory.js +76 -0
- package/dist/cache/l1-memory.js.map +1 -0
- package/dist/cache/l2-index.d.ts +38 -0
- package/dist/cache/l2-index.d.ts.map +1 -0
- package/dist/cache/l2-index.js +65 -0
- package/dist/cache/l2-index.js.map +1 -0
- package/dist/cache/l3-shard.d.ts +40 -0
- package/dist/cache/l3-shard.d.ts.map +1 -0
- package/dist/cache/l3-shard.js +77 -0
- package/dist/cache/l3-shard.js.map +1 -0
- package/dist/cache/preloader.d.ts +24 -0
- package/dist/cache/preloader.d.ts.map +1 -0
- package/dist/cache/preloader.js +49 -0
- package/dist/cache/preloader.js.map +1 -0
- package/dist/causal/index.d.ts +15 -0
- package/dist/causal/index.d.ts.map +1 -0
- package/dist/causal/index.js +18 -0
- package/dist/causal/index.js.map +1 -0
- package/dist/causal/inference/engine.d.ts +91 -0
- package/dist/causal/inference/engine.d.ts.map +1 -0
- package/dist/causal/inference/engine.js +329 -0
- package/dist/causal/inference/engine.js.map +1 -0
- package/dist/causal/inference/entity.d.ts +66 -0
- package/dist/causal/inference/entity.d.ts.map +1 -0
- package/dist/causal/inference/entity.js +185 -0
- package/dist/causal/inference/entity.js.map +1 -0
- package/dist/causal/inference/explicit.d.ts +62 -0
- package/dist/causal/inference/explicit.d.ts.map +1 -0
- package/dist/causal/inference/explicit.js +244 -0
- package/dist/causal/inference/explicit.js.map +1 -0
- package/dist/causal/inference/index.d.ts +11 -0
- package/dist/causal/inference/index.d.ts.map +1 -0
- package/dist/causal/inference/index.js +11 -0
- package/dist/causal/inference/index.js.map +1 -0
- package/dist/causal/inference/semantic.d.ts +72 -0
- package/dist/causal/inference/semantic.d.ts.map +1 -0
- package/dist/causal/inference/semantic.js +213 -0
- package/dist/causal/inference/semantic.js.map +1 -0
- package/dist/causal/inference/temporal.d.ts +50 -0
- package/dist/causal/inference/temporal.d.ts.map +1 -0
- package/dist/causal/inference/temporal.js +104 -0
- package/dist/causal/inference/temporal.js.map +1 -0
- package/dist/causal/narrative/generator.d.ts +117 -0
- package/dist/causal/narrative/generator.d.ts.map +1 -0
- package/dist/causal/narrative/generator.js +253 -0
- package/dist/causal/narrative/generator.js.map +1 -0
- package/dist/causal/narrative/index.d.ts +8 -0
- package/dist/causal/narrative/index.d.ts.map +1 -0
- package/dist/causal/narrative/index.js +8 -0
- package/dist/causal/narrative/index.js.map +1 -0
- package/dist/causal/narrative/templates.d.ts +92 -0
- package/dist/causal/narrative/templates.d.ts.map +1 -0
- package/dist/causal/narrative/templates.js +190 -0
- package/dist/causal/narrative/templates.js.map +1 -0
- package/dist/causal/storage/index.d.ts +8 -0
- package/dist/causal/storage/index.d.ts.map +1 -0
- package/dist/causal/storage/index.js +8 -0
- package/dist/causal/storage/index.js.map +1 -0
- package/dist/causal/storage/interface.d.ts +108 -0
- package/dist/causal/storage/interface.d.ts.map +1 -0
- package/dist/causal/storage/interface.js +11 -0
- package/dist/causal/storage/interface.js.map +1 -0
- package/dist/causal/storage/sqlite.d.ts +133 -0
- package/dist/causal/storage/sqlite.d.ts.map +1 -0
- package/dist/causal/storage/sqlite.js +526 -0
- package/dist/causal/storage/sqlite.js.map +1 -0
- package/dist/causal/traversal/index.d.ts +9 -0
- package/dist/causal/traversal/index.d.ts.map +1 -0
- package/dist/causal/traversal/index.js +9 -0
- package/dist/causal/traversal/index.js.map +1 -0
- package/dist/causal/traversal/path-finder.d.ts +79 -0
- package/dist/causal/traversal/path-finder.d.ts.map +1 -0
- package/dist/causal/traversal/path-finder.js +246 -0
- package/dist/causal/traversal/path-finder.js.map +1 -0
- package/dist/causal/traversal/subgraph.d.ts +59 -0
- package/dist/causal/traversal/subgraph.d.ts.map +1 -0
- package/dist/causal/traversal/subgraph.js +226 -0
- package/dist/causal/traversal/subgraph.js.map +1 -0
- package/dist/causal/traversal/traverser.d.ts +53 -0
- package/dist/causal/traversal/traverser.d.ts.map +1 -0
- package/dist/causal/traversal/traverser.js +254 -0
- package/dist/causal/traversal/traverser.js.map +1 -0
- package/dist/compression/budget/estimator.d.ts +55 -0
- package/dist/compression/budget/estimator.d.ts.map +1 -0
- package/dist/compression/budget/estimator.js +204 -0
- package/dist/compression/budget/estimator.js.map +1 -0
- package/dist/compression/budget/index.d.ts +13 -0
- package/dist/compression/budget/index.d.ts.map +1 -0
- package/dist/compression/budget/index.js +11 -0
- package/dist/compression/budget/index.js.map +1 -0
- package/dist/compression/budget/manager-v2.d.ts +98 -0
- package/dist/compression/budget/manager-v2.d.ts.map +1 -0
- package/dist/compression/budget/manager-v2.js +211 -0
- package/dist/compression/budget/manager-v2.js.map +1 -0
- package/dist/compression/budget/packer.d.ts +88 -0
- package/dist/compression/budget/packer.d.ts.map +1 -0
- package/dist/compression/budget/packer.js +153 -0
- package/dist/compression/budget/packer.js.map +1 -0
- package/dist/compression/compressor/hierarchical.d.ts +76 -0
- package/dist/compression/compressor/hierarchical.d.ts.map +1 -0
- package/dist/compression/compressor/hierarchical.js +189 -0
- package/dist/compression/compressor/hierarchical.js.map +1 -0
- package/dist/compression/compressor/index.d.ts +13 -0
- package/dist/compression/compressor/index.d.ts.map +1 -0
- package/dist/compression/compressor/index.js +13 -0
- package/dist/compression/compressor/index.js.map +1 -0
- package/dist/compression/compressor/level-0.d.ts +47 -0
- package/dist/compression/compressor/level-0.d.ts.map +1 -0
- package/dist/compression/compressor/level-0.js +68 -0
- package/dist/compression/compressor/level-0.js.map +1 -0
- package/dist/compression/compressor/level-1.d.ts +60 -0
- package/dist/compression/compressor/level-1.d.ts.map +1 -0
- package/dist/compression/compressor/level-1.js +171 -0
- package/dist/compression/compressor/level-1.js.map +1 -0
- package/dist/compression/compressor/level-2.d.ts +72 -0
- package/dist/compression/compressor/level-2.d.ts.map +1 -0
- package/dist/compression/compressor/level-2.js +273 -0
- package/dist/compression/compressor/level-2.js.map +1 -0
- package/dist/compression/compressor/level-3.d.ts +68 -0
- package/dist/compression/compressor/level-3.d.ts.map +1 -0
- package/dist/compression/compressor/level-3.js +389 -0
- package/dist/compression/compressor/level-3.js.map +1 -0
- package/dist/compression/index.d.ts +16 -0
- package/dist/compression/index.d.ts.map +1 -0
- package/dist/compression/index.js +19 -0
- package/dist/compression/index.js.map +1 -0
- package/dist/compression/types.d.ts +10 -0
- package/dist/compression/types.d.ts.map +1 -0
- package/dist/compression/types.js +9 -0
- package/dist/compression/types.js.map +1 -0
- package/dist/consolidation/abstraction.d.ts +40 -0
- package/dist/consolidation/abstraction.d.ts.map +1 -0
- package/dist/consolidation/abstraction.js +80 -0
- package/dist/consolidation/abstraction.js.map +1 -0
- package/dist/consolidation/engine.d.ts +54 -0
- package/dist/consolidation/engine.d.ts.map +1 -0
- package/dist/consolidation/engine.js +88 -0
- package/dist/consolidation/engine.js.map +1 -0
- package/dist/consolidation/index.d.ts +18 -0
- package/dist/consolidation/index.d.ts.map +1 -0
- package/dist/consolidation/index.js +18 -0
- package/dist/consolidation/index.js.map +1 -0
- package/dist/consolidation/integration.d.ts +31 -0
- package/dist/consolidation/integration.d.ts.map +1 -0
- package/dist/consolidation/integration.js +105 -0
- package/dist/consolidation/integration.js.map +1 -0
- package/dist/consolidation/pruning.d.ts +34 -0
- package/dist/consolidation/pruning.d.ts.map +1 -0
- package/dist/consolidation/pruning.js +45 -0
- package/dist/consolidation/pruning.js.map +1 -0
- package/dist/consolidation/replay.d.ts +31 -0
- package/dist/consolidation/replay.d.ts.map +1 -0
- package/dist/consolidation/replay.js +36 -0
- package/dist/consolidation/replay.js.map +1 -0
- package/dist/consolidation/scheduler.d.ts +49 -0
- package/dist/consolidation/scheduler.d.ts.map +1 -0
- package/dist/consolidation/scheduler.js +77 -0
- package/dist/consolidation/scheduler.js.map +1 -0
- package/dist/consolidation/strengthening.d.ts +19 -0
- package/dist/consolidation/strengthening.d.ts.map +1 -0
- package/dist/consolidation/strengthening.js +38 -0
- package/dist/consolidation/strengthening.js.map +1 -0
- package/dist/cortex.d.ts +137 -0
- package/dist/cortex.d.ts.map +1 -0
- package/dist/cortex.js +241 -0
- package/dist/cortex.js.map +1 -0
- package/dist/decay/boosters.d.ts +23 -0
- package/dist/decay/boosters.d.ts.map +1 -0
- package/dist/decay/boosters.js +43 -0
- package/dist/decay/boosters.js.map +1 -0
- package/dist/decay/calculator.d.ts +41 -0
- package/dist/decay/calculator.d.ts.map +1 -0
- package/dist/decay/calculator.js +66 -0
- package/dist/decay/calculator.js.map +1 -0
- package/dist/decay/half-lives.d.ts +16 -0
- package/dist/decay/half-lives.d.ts.map +1 -0
- package/dist/decay/half-lives.js +35 -0
- package/dist/decay/half-lives.js.map +1 -0
- package/dist/decay/index.d.ts +15 -0
- package/dist/decay/index.d.ts.map +1 -0
- package/dist/decay/index.js +15 -0
- package/dist/decay/index.js.map +1 -0
- package/dist/embeddings/cache/index.d.ts +15 -0
- package/dist/embeddings/cache/index.d.ts.map +1 -0
- package/dist/embeddings/cache/index.js +15 -0
- package/dist/embeddings/cache/index.js.map +1 -0
- package/dist/embeddings/cache/l1-memory.d.ts +89 -0
- package/dist/embeddings/cache/l1-memory.d.ts.map +1 -0
- package/dist/embeddings/cache/l1-memory.js +168 -0
- package/dist/embeddings/cache/l1-memory.js.map +1 -0
- package/dist/embeddings/cache/l2-sqlite.d.ts +102 -0
- package/dist/embeddings/cache/l2-sqlite.d.ts.map +1 -0
- package/dist/embeddings/cache/l2-sqlite.js +308 -0
- package/dist/embeddings/cache/l2-sqlite.js.map +1 -0
- package/dist/embeddings/cache/l3-precomputed.d.ts +106 -0
- package/dist/embeddings/cache/l3-precomputed.d.ts.map +1 -0
- package/dist/embeddings/cache/l3-precomputed.js +270 -0
- package/dist/embeddings/cache/l3-precomputed.js.map +1 -0
- package/dist/embeddings/cache/manager.d.ts +150 -0
- package/dist/embeddings/cache/manager.d.ts.map +1 -0
- package/dist/embeddings/cache/manager.js +261 -0
- package/dist/embeddings/cache/manager.js.map +1 -0
- package/dist/embeddings/factory.d.ts +40 -0
- package/dist/embeddings/factory.d.ts.map +1 -0
- package/dist/embeddings/factory.js +89 -0
- package/dist/embeddings/factory.js.map +1 -0
- package/dist/embeddings/hybrid/embedder.d.ts +141 -0
- package/dist/embeddings/hybrid/embedder.d.ts.map +1 -0
- package/dist/embeddings/hybrid/embedder.js +231 -0
- package/dist/embeddings/hybrid/embedder.js.map +1 -0
- package/dist/embeddings/hybrid/fusion.d.ts +75 -0
- package/dist/embeddings/hybrid/fusion.d.ts.map +1 -0
- package/dist/embeddings/hybrid/fusion.js +230 -0
- package/dist/embeddings/hybrid/fusion.js.map +1 -0
- package/dist/embeddings/hybrid/index.d.ts +12 -0
- package/dist/embeddings/hybrid/index.d.ts.map +1 -0
- package/dist/embeddings/hybrid/index.js +12 -0
- package/dist/embeddings/hybrid/index.js.map +1 -0
- package/dist/embeddings/hybrid/weights.d.ts +78 -0
- package/dist/embeddings/hybrid/weights.d.ts.map +1 -0
- package/dist/embeddings/hybrid/weights.js +170 -0
- package/dist/embeddings/hybrid/weights.js.map +1 -0
- package/dist/embeddings/index.d.ts +20 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +26 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/interface.d.ts +25 -0
- package/dist/embeddings/interface.d.ts.map +1 -0
- package/dist/embeddings/interface.js +7 -0
- package/dist/embeddings/interface.js.map +1 -0
- package/dist/embeddings/lexical/embedder.d.ts +85 -0
- package/dist/embeddings/lexical/embedder.d.ts.map +1 -0
- package/dist/embeddings/lexical/embedder.js +146 -0
- package/dist/embeddings/lexical/embedder.js.map +1 -0
- package/dist/embeddings/lexical/index.d.ts +12 -0
- package/dist/embeddings/lexical/index.d.ts.map +1 -0
- package/dist/embeddings/lexical/index.js +12 -0
- package/dist/embeddings/lexical/index.js.map +1 -0
- package/dist/embeddings/lexical/tfidf.d.ts +69 -0
- package/dist/embeddings/lexical/tfidf.d.ts.map +1 -0
- package/dist/embeddings/lexical/tfidf.js +274 -0
- package/dist/embeddings/lexical/tfidf.js.map +1 -0
- package/dist/embeddings/lexical/tokenizer.d.ts +71 -0
- package/dist/embeddings/lexical/tokenizer.d.ts.map +1 -0
- package/dist/embeddings/lexical/tokenizer.js +167 -0
- package/dist/embeddings/lexical/tokenizer.js.map +1 -0
- package/dist/embeddings/local.d.ts +35 -0
- package/dist/embeddings/local.d.ts.map +1 -0
- package/dist/embeddings/local.js +71 -0
- package/dist/embeddings/local.js.map +1 -0
- package/dist/embeddings/ollama.d.ts +35 -0
- package/dist/embeddings/ollama.d.ts.map +1 -0
- package/dist/embeddings/ollama.js +67 -0
- package/dist/embeddings/ollama.js.map +1 -0
- package/dist/embeddings/openai.d.ts +36 -0
- package/dist/embeddings/openai.d.ts.map +1 -0
- package/dist/embeddings/openai.js +92 -0
- package/dist/embeddings/openai.js.map +1 -0
- package/dist/embeddings/semantic/codebert.d.ts +88 -0
- package/dist/embeddings/semantic/codebert.d.ts.map +1 -0
- package/dist/embeddings/semantic/codebert.js +203 -0
- package/dist/embeddings/semantic/codebert.js.map +1 -0
- package/dist/embeddings/semantic/embedder.d.ts +86 -0
- package/dist/embeddings/semantic/embedder.d.ts.map +1 -0
- package/dist/embeddings/semantic/embedder.js +230 -0
- package/dist/embeddings/semantic/embedder.js.map +1 -0
- package/dist/embeddings/semantic/index.d.ts +12 -0
- package/dist/embeddings/semantic/index.d.ts.map +1 -0
- package/dist/embeddings/semantic/index.js +12 -0
- package/dist/embeddings/semantic/index.js.map +1 -0
- package/dist/embeddings/semantic/model-loader.d.ts +93 -0
- package/dist/embeddings/semantic/model-loader.d.ts.map +1 -0
- package/dist/embeddings/semantic/model-loader.js +194 -0
- package/dist/embeddings/semantic/model-loader.js.map +1 -0
- package/dist/embeddings/structural/ast-analyzer.d.ts +114 -0
- package/dist/embeddings/structural/ast-analyzer.d.ts.map +1 -0
- package/dist/embeddings/structural/ast-analyzer.js +308 -0
- package/dist/embeddings/structural/ast-analyzer.js.map +1 -0
- package/dist/embeddings/structural/embedder.d.ts +98 -0
- package/dist/embeddings/structural/embedder.d.ts.map +1 -0
- package/dist/embeddings/structural/embedder.js +186 -0
- package/dist/embeddings/structural/embedder.js.map +1 -0
- package/dist/embeddings/structural/feature-extractor.d.ts +77 -0
- package/dist/embeddings/structural/feature-extractor.d.ts.map +1 -0
- package/dist/embeddings/structural/feature-extractor.js +231 -0
- package/dist/embeddings/structural/feature-extractor.js.map +1 -0
- package/dist/embeddings/structural/index.d.ts +13 -0
- package/dist/embeddings/structural/index.d.ts.map +1 -0
- package/dist/embeddings/structural/index.js +13 -0
- package/dist/embeddings/structural/index.js.map +1 -0
- package/dist/embeddings/structural/pattern-classifier.d.ts +64 -0
- package/dist/embeddings/structural/pattern-classifier.d.ts.map +1 -0
- package/dist/embeddings/structural/pattern-classifier.js +340 -0
- package/dist/embeddings/structural/pattern-classifier.js.map +1 -0
- package/dist/generation/context/antipattern-gatherer.d.ts +62 -0
- package/dist/generation/context/antipattern-gatherer.d.ts.map +1 -0
- package/dist/generation/context/antipattern-gatherer.js +233 -0
- package/dist/generation/context/antipattern-gatherer.js.map +1 -0
- package/dist/generation/context/builder.d.ts +72 -0
- package/dist/generation/context/builder.d.ts.map +1 -0
- package/dist/generation/context/builder.js +152 -0
- package/dist/generation/context/builder.js.map +1 -0
- package/dist/generation/context/constraint-gatherer.d.ts +77 -0
- package/dist/generation/context/constraint-gatherer.d.ts.map +1 -0
- package/dist/generation/context/constraint-gatherer.js +297 -0
- package/dist/generation/context/constraint-gatherer.js.map +1 -0
- package/dist/generation/context/index.d.ts +18 -0
- package/dist/generation/context/index.d.ts.map +1 -0
- package/dist/generation/context/index.js +13 -0
- package/dist/generation/context/index.js.map +1 -0
- package/dist/generation/context/pattern-gatherer.d.ts +80 -0
- package/dist/generation/context/pattern-gatherer.d.ts.map +1 -0
- package/dist/generation/context/pattern-gatherer.js +281 -0
- package/dist/generation/context/pattern-gatherer.js.map +1 -0
- package/dist/generation/context/tribal-gatherer.d.ts +70 -0
- package/dist/generation/context/tribal-gatherer.d.ts.map +1 -0
- package/dist/generation/context/tribal-gatherer.js +253 -0
- package/dist/generation/context/tribal-gatherer.js.map +1 -0
- package/dist/generation/feedback/index.d.ts +11 -0
- package/dist/generation/feedback/index.d.ts.map +1 -0
- package/dist/generation/feedback/index.js +10 -0
- package/dist/generation/feedback/index.js.map +1 -0
- package/dist/generation/feedback/loop.d.ts +72 -0
- package/dist/generation/feedback/loop.d.ts.map +1 -0
- package/dist/generation/feedback/loop.js +123 -0
- package/dist/generation/feedback/loop.js.map +1 -0
- package/dist/generation/feedback/outcome-processor.d.ts +48 -0
- package/dist/generation/feedback/outcome-processor.d.ts.map +1 -0
- package/dist/generation/feedback/outcome-processor.js +127 -0
- package/dist/generation/feedback/outcome-processor.js.map +1 -0
- package/dist/generation/index.d.ts +19 -0
- package/dist/generation/index.d.ts.map +1 -0
- package/dist/generation/index.js +18 -0
- package/dist/generation/index.js.map +1 -0
- package/dist/generation/provenance/comment-generator.d.ts +89 -0
- package/dist/generation/provenance/comment-generator.d.ts.map +1 -0
- package/dist/generation/provenance/comment-generator.js +213 -0
- package/dist/generation/provenance/comment-generator.js.map +1 -0
- package/dist/generation/provenance/explanation-builder.d.ts +83 -0
- package/dist/generation/provenance/explanation-builder.d.ts.map +1 -0
- package/dist/generation/provenance/explanation-builder.js +237 -0
- package/dist/generation/provenance/explanation-builder.js.map +1 -0
- package/dist/generation/provenance/index.d.ts +13 -0
- package/dist/generation/provenance/index.d.ts.map +1 -0
- package/dist/generation/provenance/index.js +11 -0
- package/dist/generation/provenance/index.js.map +1 -0
- package/dist/generation/provenance/tracker.d.ts +74 -0
- package/dist/generation/provenance/tracker.d.ts.map +1 -0
- package/dist/generation/provenance/tracker.js +154 -0
- package/dist/generation/provenance/tracker.js.map +1 -0
- package/dist/generation/types.d.ts +9 -0
- package/dist/generation/types.d.ts.map +1 -0
- package/dist/generation/types.js +9 -0
- package/dist/generation/types.js.map +1 -0
- package/dist/generation/validation/antipattern-checker.d.ts +64 -0
- package/dist/generation/validation/antipattern-checker.d.ts.map +1 -0
- package/dist/generation/validation/antipattern-checker.js +201 -0
- package/dist/generation/validation/antipattern-checker.js.map +1 -0
- package/dist/generation/validation/index.d.ts +16 -0
- package/dist/generation/validation/index.d.ts.map +1 -0
- package/dist/generation/validation/index.js +12 -0
- package/dist/generation/validation/index.js.map +1 -0
- package/dist/generation/validation/pattern-checker.d.ts +66 -0
- package/dist/generation/validation/pattern-checker.d.ts.map +1 -0
- package/dist/generation/validation/pattern-checker.js +187 -0
- package/dist/generation/validation/pattern-checker.js.map +1 -0
- package/dist/generation/validation/tribal-checker.d.ts +62 -0
- package/dist/generation/validation/tribal-checker.d.ts.map +1 -0
- package/dist/generation/validation/tribal-checker.js +159 -0
- package/dist/generation/validation/tribal-checker.js.map +1 -0
- package/dist/generation/validation/validator.d.ts +90 -0
- package/dist/generation/validation/validator.d.ts.map +1 -0
- package/dist/generation/validation/validator.js +192 -0
- package/dist/generation/validation/validator.js.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/learning/active/candidate-selector.d.ts +84 -0
- package/dist/learning/active/candidate-selector.d.ts.map +1 -0
- package/dist/learning/active/candidate-selector.js +215 -0
- package/dist/learning/active/candidate-selector.js.map +1 -0
- package/dist/learning/active/index.d.ts +14 -0
- package/dist/learning/active/index.d.ts.map +1 -0
- package/dist/learning/active/index.js +14 -0
- package/dist/learning/active/index.js.map +1 -0
- package/dist/learning/active/loop.d.ts +119 -0
- package/dist/learning/active/loop.d.ts.map +1 -0
- package/dist/learning/active/loop.js +288 -0
- package/dist/learning/active/loop.js.map +1 -0
- package/dist/learning/active/prompt-generator.d.ts +90 -0
- package/dist/learning/active/prompt-generator.d.ts.map +1 -0
- package/dist/learning/active/prompt-generator.js +273 -0
- package/dist/learning/active/prompt-generator.js.map +1 -0
- package/dist/learning/analysis/analyzer.d.ts +66 -0
- package/dist/learning/analysis/analyzer.d.ts.map +1 -0
- package/dist/learning/analysis/analyzer.js +148 -0
- package/dist/learning/analysis/analyzer.js.map +1 -0
- package/dist/learning/analysis/categorizer.d.ts +78 -0
- package/dist/learning/analysis/categorizer.d.ts.map +1 -0
- package/dist/learning/analysis/categorizer.js +327 -0
- package/dist/learning/analysis/categorizer.js.map +1 -0
- package/dist/learning/analysis/diff-analyzer.d.ts +69 -0
- package/dist/learning/analysis/diff-analyzer.d.ts.map +1 -0
- package/dist/learning/analysis/diff-analyzer.js +333 -0
- package/dist/learning/analysis/diff-analyzer.js.map +1 -0
- package/dist/learning/analysis/index.d.ts +15 -0
- package/dist/learning/analysis/index.d.ts.map +1 -0
- package/dist/learning/analysis/index.js +15 -0
- package/dist/learning/analysis/index.js.map +1 -0
- package/dist/learning/analysis/principle-extractor.d.ts +93 -0
- package/dist/learning/analysis/principle-extractor.d.ts.map +1 -0
- package/dist/learning/analysis/principle-extractor.js +468 -0
- package/dist/learning/analysis/principle-extractor.js.map +1 -0
- package/dist/learning/confidence/calibrator.d.ts +93 -0
- package/dist/learning/confidence/calibrator.d.ts.map +1 -0
- package/dist/learning/confidence/calibrator.js +350 -0
- package/dist/learning/confidence/calibrator.js.map +1 -0
- package/dist/learning/confidence/decay-integrator.d.ts +95 -0
- package/dist/learning/confidence/decay-integrator.d.ts.map +1 -0
- package/dist/learning/confidence/decay-integrator.js +223 -0
- package/dist/learning/confidence/decay-integrator.js.map +1 -0
- package/dist/learning/confidence/index.d.ts +15 -0
- package/dist/learning/confidence/index.d.ts.map +1 -0
- package/dist/learning/confidence/index.js +15 -0
- package/dist/learning/confidence/index.js.map +1 -0
- package/dist/learning/confidence/metrics.d.ts +77 -0
- package/dist/learning/confidence/metrics.d.ts.map +1 -0
- package/dist/learning/confidence/metrics.js +168 -0
- package/dist/learning/confidence/metrics.js.map +1 -0
- package/dist/learning/correction-extractor.d.ts +89 -0
- package/dist/learning/correction-extractor.d.ts.map +1 -0
- package/dist/learning/correction-extractor.js +211 -0
- package/dist/learning/correction-extractor.js.map +1 -0
- package/dist/learning/fact-extractor.d.ts +20 -0
- package/dist/learning/fact-extractor.d.ts.map +1 -0
- package/dist/learning/fact-extractor.js +61 -0
- package/dist/learning/fact-extractor.js.map +1 -0
- package/dist/learning/factory/index.d.ts +15 -0
- package/dist/learning/factory/index.d.ts.map +1 -0
- package/dist/learning/factory/index.js +15 -0
- package/dist/learning/factory/index.js.map +1 -0
- package/dist/learning/factory/memory-factory.d.ts +76 -0
- package/dist/learning/factory/memory-factory.d.ts.map +1 -0
- package/dist/learning/factory/memory-factory.js +139 -0
- package/dist/learning/factory/memory-factory.js.map +1 -0
- package/dist/learning/factory/pattern-creator.d.ts +64 -0
- package/dist/learning/factory/pattern-creator.d.ts.map +1 -0
- package/dist/learning/factory/pattern-creator.js +271 -0
- package/dist/learning/factory/pattern-creator.js.map +1 -0
- package/dist/learning/factory/smell-creator.d.ts +67 -0
- package/dist/learning/factory/smell-creator.d.ts.map +1 -0
- package/dist/learning/factory/smell-creator.js +307 -0
- package/dist/learning/factory/smell-creator.js.map +1 -0
- package/dist/learning/factory/tribal-creator.d.ts +61 -0
- package/dist/learning/factory/tribal-creator.d.ts.map +1 -0
- package/dist/learning/factory/tribal-creator.js +228 -0
- package/dist/learning/factory/tribal-creator.js.map +1 -0
- package/dist/learning/index.d.ts +21 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +26 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/outcome-tracker.d.ts +120 -0
- package/dist/learning/outcome-tracker.d.ts.map +1 -0
- package/dist/learning/outcome-tracker.js +297 -0
- package/dist/learning/outcome-tracker.js.map +1 -0
- package/dist/learning/preference-learner.d.ts +31 -0
- package/dist/learning/preference-learner.d.ts.map +1 -0
- package/dist/learning/preference-learner.js +60 -0
- package/dist/learning/preference-learner.js.map +1 -0
- package/dist/linking/constraint-linker.d.ts +30 -0
- package/dist/linking/constraint-linker.d.ts.map +1 -0
- package/dist/linking/constraint-linker.js +44 -0
- package/dist/linking/constraint-linker.js.map +1 -0
- package/dist/linking/decision-linker.d.ts +30 -0
- package/dist/linking/decision-linker.d.ts.map +1 -0
- package/dist/linking/decision-linker.js +45 -0
- package/dist/linking/decision-linker.js.map +1 -0
- package/dist/linking/file-linker.d.ts +27 -0
- package/dist/linking/file-linker.d.ts.map +1 -0
- package/dist/linking/file-linker.js +44 -0
- package/dist/linking/file-linker.js.map +1 -0
- package/dist/linking/function-linker.d.ts +30 -0
- package/dist/linking/function-linker.d.ts.map +1 -0
- package/dist/linking/function-linker.js +42 -0
- package/dist/linking/function-linker.js.map +1 -0
- package/dist/linking/index.d.ts +16 -0
- package/dist/linking/index.d.ts.map +1 -0
- package/dist/linking/index.js +16 -0
- package/dist/linking/index.js.map +1 -0
- package/dist/linking/pattern-linker.d.ts +30 -0
- package/dist/linking/pattern-linker.d.ts.map +1 -0
- package/dist/linking/pattern-linker.js +42 -0
- package/dist/linking/pattern-linker.js.map +1 -0
- package/dist/orchestrators/cortex-v2.d.ts +266 -0
- package/dist/orchestrators/cortex-v2.d.ts.map +1 -0
- package/dist/orchestrators/cortex-v2.js +395 -0
- package/dist/orchestrators/cortex-v2.js.map +1 -0
- package/dist/orchestrators/generation-orchestrator.d.ts +108 -0
- package/dist/orchestrators/generation-orchestrator.d.ts.map +1 -0
- package/dist/orchestrators/generation-orchestrator.js +313 -0
- package/dist/orchestrators/generation-orchestrator.js.map +1 -0
- package/dist/orchestrators/index.d.ts +16 -0
- package/dist/orchestrators/index.d.ts.map +1 -0
- package/dist/orchestrators/index.js +16 -0
- package/dist/orchestrators/index.js.map +1 -0
- package/dist/orchestrators/learning-orchestrator.d.ts +132 -0
- package/dist/orchestrators/learning-orchestrator.d.ts.map +1 -0
- package/dist/orchestrators/learning-orchestrator.js +346 -0
- package/dist/orchestrators/learning-orchestrator.js.map +1 -0
- package/dist/orchestrators/retrieval-orchestrator.d.ts +123 -0
- package/dist/orchestrators/retrieval-orchestrator.d.ts.map +1 -0
- package/dist/orchestrators/retrieval-orchestrator.js +319 -0
- package/dist/orchestrators/retrieval-orchestrator.js.map +1 -0
- package/dist/prediction/cache/index.d.ts +10 -0
- package/dist/prediction/cache/index.d.ts.map +1 -0
- package/dist/prediction/cache/index.js +10 -0
- package/dist/prediction/cache/index.js.map +1 -0
- package/dist/prediction/cache/prediction-cache.d.ts +97 -0
- package/dist/prediction/cache/prediction-cache.d.ts.map +1 -0
- package/dist/prediction/cache/prediction-cache.js +242 -0
- package/dist/prediction/cache/prediction-cache.js.map +1 -0
- package/dist/prediction/cache/preloader.d.ts +95 -0
- package/dist/prediction/cache/preloader.d.ts.map +1 -0
- package/dist/prediction/cache/preloader.js +192 -0
- package/dist/prediction/cache/preloader.js.map +1 -0
- package/dist/prediction/index.d.ts +21 -0
- package/dist/prediction/index.d.ts.map +1 -0
- package/dist/prediction/index.js +25 -0
- package/dist/prediction/index.js.map +1 -0
- package/dist/prediction/predictor/behavioral-predictor.d.ts +75 -0
- package/dist/prediction/predictor/behavioral-predictor.d.ts.map +1 -0
- package/dist/prediction/predictor/behavioral-predictor.js +273 -0
- package/dist/prediction/predictor/behavioral-predictor.js.map +1 -0
- package/dist/prediction/predictor/engine.d.ts +90 -0
- package/dist/prediction/predictor/engine.d.ts.map +1 -0
- package/dist/prediction/predictor/engine.js +210 -0
- package/dist/prediction/predictor/engine.js.map +1 -0
- package/dist/prediction/predictor/file-predictor.d.ts +69 -0
- package/dist/prediction/predictor/file-predictor.d.ts.map +1 -0
- package/dist/prediction/predictor/file-predictor.js +210 -0
- package/dist/prediction/predictor/file-predictor.js.map +1 -0
- package/dist/prediction/predictor/index.d.ts +13 -0
- package/dist/prediction/predictor/index.d.ts.map +1 -0
- package/dist/prediction/predictor/index.js +13 -0
- package/dist/prediction/predictor/index.js.map +1 -0
- package/dist/prediction/predictor/pattern-predictor.d.ts +65 -0
- package/dist/prediction/predictor/pattern-predictor.d.ts.map +1 -0
- package/dist/prediction/predictor/pattern-predictor.js +183 -0
- package/dist/prediction/predictor/pattern-predictor.js.map +1 -0
- package/dist/prediction/predictor/temporal-predictor.d.ts +98 -0
- package/dist/prediction/predictor/temporal-predictor.d.ts.map +1 -0
- package/dist/prediction/predictor/temporal-predictor.js +282 -0
- package/dist/prediction/predictor/temporal-predictor.js.map +1 -0
- package/dist/prediction/signals/behavioral-signals.d.ts +139 -0
- package/dist/prediction/signals/behavioral-signals.d.ts.map +1 -0
- package/dist/prediction/signals/behavioral-signals.js +402 -0
- package/dist/prediction/signals/behavioral-signals.js.map +1 -0
- package/dist/prediction/signals/file-signals.d.ts +53 -0
- package/dist/prediction/signals/file-signals.d.ts.map +1 -0
- package/dist/prediction/signals/file-signals.js +255 -0
- package/dist/prediction/signals/file-signals.js.map +1 -0
- package/dist/prediction/signals/gatherer.d.ts +113 -0
- package/dist/prediction/signals/gatherer.d.ts.map +1 -0
- package/dist/prediction/signals/gatherer.js +160 -0
- package/dist/prediction/signals/gatherer.js.map +1 -0
- package/dist/prediction/signals/git-signals.d.ts +98 -0
- package/dist/prediction/signals/git-signals.d.ts.map +1 -0
- package/dist/prediction/signals/git-signals.js +286 -0
- package/dist/prediction/signals/git-signals.js.map +1 -0
- package/dist/prediction/signals/index.d.ts +13 -0
- package/dist/prediction/signals/index.d.ts.map +1 -0
- package/dist/prediction/signals/index.js +13 -0
- package/dist/prediction/signals/index.js.map +1 -0
- package/dist/prediction/signals/temporal-signals.d.ts +81 -0
- package/dist/prediction/signals/temporal-signals.d.ts.map +1 -0
- package/dist/prediction/signals/temporal-signals.js +174 -0
- package/dist/prediction/signals/temporal-signals.js.map +1 -0
- package/dist/prediction/types.d.ts +10 -0
- package/dist/prediction/types.d.ts.map +1 -0
- package/dist/prediction/types.js +9 -0
- package/dist/prediction/types.js.map +1 -0
- package/dist/privacy/index.d.ts +12 -0
- package/dist/privacy/index.d.ts.map +1 -0
- package/dist/privacy/index.js +12 -0
- package/dist/privacy/index.js.map +1 -0
- package/dist/privacy/patterns.d.ts +30 -0
- package/dist/privacy/patterns.d.ts.map +1 -0
- package/dist/privacy/patterns.js +40 -0
- package/dist/privacy/patterns.js.map +1 -0
- package/dist/privacy/sanitizer.d.ts +35 -0
- package/dist/privacy/sanitizer.d.ts.map +1 -0
- package/dist/privacy/sanitizer.js +86 -0
- package/dist/privacy/sanitizer.js.map +1 -0
- package/dist/privacy/validator.d.ts +28 -0
- package/dist/privacy/validator.d.ts.map +1 -0
- package/dist/privacy/validator.js +40 -0
- package/dist/privacy/validator.js.map +1 -0
- package/dist/retrieval/budget.d.ts +26 -0
- package/dist/retrieval/budget.d.ts.map +1 -0
- package/dist/retrieval/budget.js +74 -0
- package/dist/retrieval/budget.js.map +1 -0
- package/dist/retrieval/compression.d.ts +52 -0
- package/dist/retrieval/compression.d.ts.map +1 -0
- package/dist/retrieval/compression.js +126 -0
- package/dist/retrieval/compression.js.map +1 -0
- package/dist/retrieval/engine.d.ts +112 -0
- package/dist/retrieval/engine.d.ts.map +1 -0
- package/dist/retrieval/engine.js +159 -0
- package/dist/retrieval/engine.js.map +1 -0
- package/dist/retrieval/index.d.ts +17 -0
- package/dist/retrieval/index.d.ts.map +1 -0
- package/dist/retrieval/index.js +17 -0
- package/dist/retrieval/index.js.map +1 -0
- package/dist/retrieval/ranking.d.ts +28 -0
- package/dist/retrieval/ranking.d.ts.map +1 -0
- package/dist/retrieval/ranking.js +42 -0
- package/dist/retrieval/ranking.js.map +1 -0
- package/dist/retrieval/scoring.d.ts +38 -0
- package/dist/retrieval/scoring.d.ts.map +1 -0
- package/dist/retrieval/scoring.js +101 -0
- package/dist/retrieval/scoring.js.map +1 -0
- package/dist/retrieval/weighting.d.ts +23 -0
- package/dist/retrieval/weighting.d.ts.map +1 -0
- package/dist/retrieval/weighting.js +96 -0
- package/dist/retrieval/weighting.js.map +1 -0
- package/dist/session/context/deduplicator.d.ts +88 -0
- package/dist/session/context/deduplicator.d.ts.map +1 -0
- package/dist/session/context/deduplicator.js +138 -0
- package/dist/session/context/deduplicator.js.map +1 -0
- package/dist/session/context/index.d.ts +11 -0
- package/dist/session/context/index.d.ts.map +1 -0
- package/dist/session/context/index.js +11 -0
- package/dist/session/context/index.js.map +1 -0
- package/dist/session/context/manager.d.ts +76 -0
- package/dist/session/context/manager.d.ts.map +1 -0
- package/dist/session/context/manager.js +271 -0
- package/dist/session/context/manager.js.map +1 -0
- package/dist/session/context/tracker.d.ts +105 -0
- package/dist/session/context/tracker.d.ts.map +1 -0
- package/dist/session/context/tracker.js +171 -0
- package/dist/session/context/tracker.js.map +1 -0
- package/dist/session/index.d.ts +13 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +16 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/storage/index.d.ts +10 -0
- package/dist/session/storage/index.d.ts.map +1 -0
- package/dist/session/storage/index.js +9 -0
- package/dist/session/storage/index.js.map +1 -0
- package/dist/session/storage/interface.d.ts +64 -0
- package/dist/session/storage/interface.d.ts.map +1 -0
- package/dist/session/storage/interface.js +54 -0
- package/dist/session/storage/interface.js.map +1 -0
- package/dist/session/storage/sqlite.d.ts +66 -0
- package/dist/session/storage/sqlite.d.ts.map +1 -0
- package/dist/session/storage/sqlite.js +197 -0
- package/dist/session/storage/sqlite.js.map +1 -0
- package/dist/session/types.d.ts +10 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +9 -0
- package/dist/session/types.js.map +1 -0
- package/dist/storage/factory.d.ts +35 -0
- package/dist/storage/factory.d.ts.map +1 -0
- package/dist/storage/factory.js +44 -0
- package/dist/storage/factory.js.map +1 -0
- package/dist/storage/index.d.ts +10 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +10 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/interface.d.ts +113 -0
- package/dist/storage/interface.d.ts.map +1 -0
- package/dist/storage/interface.js +9 -0
- package/dist/storage/interface.js.map +1 -0
- package/dist/storage/sqlite/client.d.ts +64 -0
- package/dist/storage/sqlite/client.d.ts.map +1 -0
- package/dist/storage/sqlite/client.js +94 -0
- package/dist/storage/sqlite/client.js.map +1 -0
- package/dist/storage/sqlite/index.d.ts +11 -0
- package/dist/storage/sqlite/index.d.ts.map +1 -0
- package/dist/storage/sqlite/index.js +11 -0
- package/dist/storage/sqlite/index.js.map +1 -0
- package/dist/storage/sqlite/migrations.d.ts +32 -0
- package/dist/storage/sqlite/migrations.d.ts.map +1 -0
- package/dist/storage/sqlite/migrations.js +198 -0
- package/dist/storage/sqlite/migrations.js.map +1 -0
- package/dist/storage/sqlite/queries.d.ts +106 -0
- package/dist/storage/sqlite/queries.d.ts.map +1 -0
- package/dist/storage/sqlite/queries.js +192 -0
- package/dist/storage/sqlite/queries.js.map +1 -0
- package/dist/storage/sqlite/schema.d.ts +24 -0
- package/dist/storage/sqlite/schema.d.ts.map +1 -0
- package/dist/storage/sqlite/schema.js +169 -0
- package/dist/storage/sqlite/schema.js.map +1 -0
- package/dist/storage/sqlite/storage.d.ts +148 -0
- package/dist/storage/sqlite/storage.d.ts.map +1 -0
- package/dist/storage/sqlite/storage.js +513 -0
- package/dist/storage/sqlite/storage.js.map +1 -0
- package/dist/types/bitemporal.d.ts +46 -0
- package/dist/types/bitemporal.d.ts.map +1 -0
- package/dist/types/bitemporal.js +13 -0
- package/dist/types/bitemporal.js.map +1 -0
- package/dist/types/causal.d.ts +189 -0
- package/dist/types/causal.d.ts.map +1 -0
- package/dist/types/causal.js +13 -0
- package/dist/types/causal.js.map +1 -0
- package/dist/types/citation.d.ts +37 -0
- package/dist/types/citation.d.ts.map +1 -0
- package/dist/types/citation.js +9 -0
- package/dist/types/citation.js.map +1 -0
- package/dist/types/code-smell.d.ts +67 -0
- package/dist/types/code-smell.d.ts.map +1 -0
- package/dist/types/code-smell.js +8 -0
- package/dist/types/code-smell.js.map +1 -0
- package/dist/types/compressed-memory.d.ts +196 -0
- package/dist/types/compressed-memory.d.ts.map +1 -0
- package/dist/types/compressed-memory.js +43 -0
- package/dist/types/compressed-memory.js.map +1 -0
- package/dist/types/constraint-override.d.ts +55 -0
- package/dist/types/constraint-override.d.ts.map +1 -0
- package/dist/types/constraint-override.js +8 -0
- package/dist/types/constraint-override.js.map +1 -0
- package/dist/types/core-memory.d.ts +80 -0
- package/dist/types/core-memory.d.ts.map +1 -0
- package/dist/types/core-memory.js +8 -0
- package/dist/types/core-memory.js.map +1 -0
- package/dist/types/decision-context.d.ts +44 -0
- package/dist/types/decision-context.d.ts.map +1 -0
- package/dist/types/decision-context.js +8 -0
- package/dist/types/decision-context.js.map +1 -0
- package/dist/types/episodic-memory.d.ts +70 -0
- package/dist/types/episodic-memory.d.ts.map +1 -0
- package/dist/types/episodic-memory.js +8 -0
- package/dist/types/episodic-memory.js.map +1 -0
- package/dist/types/generation-context.d.ts +306 -0
- package/dist/types/generation-context.d.ts.map +1 -0
- package/dist/types/generation-context.js +11 -0
- package/dist/types/generation-context.js.map +1 -0
- package/dist/types/index.d.ts +33 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +35 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/learning.d.ts +297 -0
- package/dist/types/learning.d.ts.map +1 -0
- package/dist/types/learning.js +13 -0
- package/dist/types/learning.js.map +1 -0
- package/dist/types/memory.d.ts +133 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +14 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/pattern-rationale.d.ts +49 -0
- package/dist/types/pattern-rationale.d.ts.map +1 -0
- package/dist/types/pattern-rationale.js +8 -0
- package/dist/types/pattern-rationale.js.map +1 -0
- package/dist/types/prediction.d.ts +239 -0
- package/dist/types/prediction.d.ts.map +1 -0
- package/dist/types/prediction.js +25 -0
- package/dist/types/prediction.js.map +1 -0
- package/dist/types/procedural-memory.d.ts +83 -0
- package/dist/types/procedural-memory.d.ts.map +1 -0
- package/dist/types/procedural-memory.js +9 -0
- package/dist/types/procedural-memory.js.map +1 -0
- package/dist/types/semantic-memory.d.ts +47 -0
- package/dist/types/semantic-memory.d.ts.map +1 -0
- package/dist/types/semantic-memory.js +8 -0
- package/dist/types/semantic-memory.js.map +1 -0
- package/dist/types/session-context.d.ts +175 -0
- package/dist/types/session-context.d.ts.map +1 -0
- package/dist/types/session-context.js +22 -0
- package/dist/types/session-context.js.map +1 -0
- package/dist/types/tribal-memory.d.ts +59 -0
- package/dist/types/tribal-memory.d.ts.map +1 -0
- package/dist/types/tribal-memory.js +9 -0
- package/dist/types/tribal-memory.js.map +1 -0
- package/dist/utils/hash.d.ts +19 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +27 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/id-generator.d.ts +40 -0
- package/dist/utils/id-generator.d.ts.map +1 -0
- package/dist/utils/id-generator.js +73 -0
- package/dist/utils/id-generator.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/time.d.ts +28 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +46 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/tokens.d.ts +23 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/tokens.js +35 -0
- package/dist/utils/tokens.js.map +1 -0
- package/dist/validation/citation-validator.d.ts +30 -0
- package/dist/validation/citation-validator.d.ts.map +1 -0
- package/dist/validation/citation-validator.js +86 -0
- package/dist/validation/citation-validator.js.map +1 -0
- package/dist/validation/contradiction-detector.d.ts +33 -0
- package/dist/validation/contradiction-detector.d.ts.map +1 -0
- package/dist/validation/contradiction-detector.js +87 -0
- package/dist/validation/contradiction-detector.js.map +1 -0
- package/dist/validation/engine.d.ts +94 -0
- package/dist/validation/engine.d.ts.map +1 -0
- package/dist/validation/engine.js +170 -0
- package/dist/validation/engine.js.map +1 -0
- package/dist/validation/healing.d.ts +36 -0
- package/dist/validation/healing.d.ts.map +1 -0
- package/dist/validation/healing.js +88 -0
- package/dist/validation/healing.js.map +1 -0
- package/dist/validation/index.d.ts +18 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +18 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/pattern-alignment.d.ts +18 -0
- package/dist/validation/pattern-alignment.d.ts.map +1 -0
- package/dist/validation/pattern-alignment.js +58 -0
- package/dist/validation/pattern-alignment.js.map +1 -0
- package/dist/validation/temporal-validator.d.ts +22 -0
- package/dist/validation/temporal-validator.d.ts.map +1 -0
- package/dist/validation/temporal-validator.js +77 -0
- package/dist/validation/temporal-validator.js.map +1 -0
- package/dist/why/decision-context.d.ts +19 -0
- package/dist/why/decision-context.d.ts.map +1 -0
- package/dist/why/decision-context.js +38 -0
- package/dist/why/decision-context.js.map +1 -0
- package/dist/why/index.d.ts +12 -0
- package/dist/why/index.d.ts.map +1 -0
- package/dist/why/index.js +12 -0
- package/dist/why/index.js.map +1 -0
- package/dist/why/pattern-context.d.ts +19 -0
- package/dist/why/pattern-context.d.ts.map +1 -0
- package/dist/why/pattern-context.js +46 -0
- package/dist/why/pattern-context.js.map +1 -0
- package/dist/why/synthesizer.d.ts +59 -0
- package/dist/why/synthesizer.d.ts.map +1 -0
- package/dist/why/synthesizer.js +68 -0
- package/dist/why/synthesizer.js.map +1 -0
- package/dist/why/tribal-context.d.ts +19 -0
- package/dist/why/tribal-context.d.ts.map +1 -0
- package/dist/why/tribal-context.js +35 -0
- package/dist/why/tribal-context.js.map +1 -0
- package/dist/why/warning-aggregator.d.ts +16 -0
- package/dist/why/warning-aggregator.d.ts.map +1 -0
- package/dist/why/warning-aggregator.js +53 -0
- package/dist/why/warning-aggregator.js.map +1 -0
- package/package.json +93 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Budget Manager V2
|
|
3
|
+
*
|
|
4
|
+
* Manages token budgets for memory retrieval with
|
|
5
|
+
* intelligent level escalation and session awareness.
|
|
6
|
+
*
|
|
7
|
+
* @module compression/budget/manager-v2
|
|
8
|
+
*/
|
|
9
|
+
import type { CompressionLevel, CompressedMemory, TokenBudget } from '../../types/compressed-memory.js';
|
|
10
|
+
import type { SessionContext } from '../../types/session-context.js';
|
|
11
|
+
import type { Memory } from '../../types/memory.js';
|
|
12
|
+
import { HierarchicalCompressorV2 } from '../compressor/hierarchical.js';
|
|
13
|
+
import { TokenEstimator } from './estimator.js';
|
|
14
|
+
import { GreedyPacker } from './packer.js';
|
|
15
|
+
/**
|
|
16
|
+
* Scored memory for budget allocation
|
|
17
|
+
*/
|
|
18
|
+
export interface ScoredMemory {
|
|
19
|
+
/** The memory */
|
|
20
|
+
memory: Memory;
|
|
21
|
+
/** Relevance score (0.0 - 1.0) */
|
|
22
|
+
score: number;
|
|
23
|
+
/** Whether this memory is new to the session */
|
|
24
|
+
isNew?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Options for budget fitting
|
|
28
|
+
*/
|
|
29
|
+
export interface BudgetOptions {
|
|
30
|
+
/** Prefer newer memories */
|
|
31
|
+
preferNew?: boolean;
|
|
32
|
+
/** Minimum compression level */
|
|
33
|
+
minLevel?: CompressionLevel;
|
|
34
|
+
/** Maximum compression level */
|
|
35
|
+
maxLevel?: CompressionLevel;
|
|
36
|
+
/** Session context for deduplication */
|
|
37
|
+
sessionContext?: SessionContext;
|
|
38
|
+
/** Reserved tokens for system prompts */
|
|
39
|
+
reservedTokens?: number;
|
|
40
|
+
/** Target utilization (0.0 - 1.0) */
|
|
41
|
+
targetUtilization?: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Budget allocation result
|
|
45
|
+
*/
|
|
46
|
+
export interface BudgetAllocation {
|
|
47
|
+
/** Compressed memories */
|
|
48
|
+
memories: CompressedMemory[];
|
|
49
|
+
/** Total tokens used */
|
|
50
|
+
tokensUsed: number;
|
|
51
|
+
/** Tokens remaining */
|
|
52
|
+
tokensRemaining: number;
|
|
53
|
+
/** Budget utilization (0.0 - 1.0) */
|
|
54
|
+
utilization: number;
|
|
55
|
+
/** Compression level distribution */
|
|
56
|
+
levelDistribution: Record<CompressionLevel, number>;
|
|
57
|
+
/** Memories that didn't fit */
|
|
58
|
+
excluded: string[];
|
|
59
|
+
/** Tokens saved by deduplication */
|
|
60
|
+
tokensSavedByDedup: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Token Budget Manager V2
|
|
64
|
+
*
|
|
65
|
+
* Fits memories to token budgets with:
|
|
66
|
+
* - Intelligent level escalation
|
|
67
|
+
* - Session-aware deduplication
|
|
68
|
+
* - Priority-based allocation
|
|
69
|
+
*/
|
|
70
|
+
export declare class TokenBudgetManagerV2 {
|
|
71
|
+
private compressor;
|
|
72
|
+
private estimator;
|
|
73
|
+
private packer;
|
|
74
|
+
constructor(compressor?: HierarchicalCompressorV2, estimator?: TokenEstimator, packer?: GreedyPacker);
|
|
75
|
+
/**
|
|
76
|
+
* Fit memories to a token budget
|
|
77
|
+
*/
|
|
78
|
+
fitToBudget(candidates: ScoredMemory[], budget: number, options?: BudgetOptions): BudgetAllocation;
|
|
79
|
+
/**
|
|
80
|
+
* Calculate token budget breakdown
|
|
81
|
+
*/
|
|
82
|
+
calculateBudget(totalTokens: number, reservedForSystem?: number, reservedForResponse?: number): TokenBudget;
|
|
83
|
+
/**
|
|
84
|
+
* Estimate how many memories can fit at each level
|
|
85
|
+
*/
|
|
86
|
+
estimateCapacity(budget: number): Record<CompressionLevel, number>;
|
|
87
|
+
/**
|
|
88
|
+
* Suggest optimal level distribution for a set of memories
|
|
89
|
+
*/
|
|
90
|
+
suggestLevelDistribution(memories: ScoredMemory[], budget: number): Map<string, CompressionLevel>;
|
|
91
|
+
private emptyAllocation;
|
|
92
|
+
private deduplicateWithSession;
|
|
93
|
+
private adjustScores;
|
|
94
|
+
private toPackableItems;
|
|
95
|
+
private compressWithEscalation;
|
|
96
|
+
private calculateLevelDistribution;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=manager-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager-v2.d.ts","sourceRoot":"","sources":["../../../src/compression/budget/manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACZ,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,wCAAwC;IACxC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACpD,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oCAAoC;IACpC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAe;gBAG3B,UAAU,CAAC,EAAE,wBAAwB,EACrC,SAAS,CAAC,EAAE,cAAc,EAC1B,MAAM,CAAC,EAAE,YAAY;IAOvB;;OAEG;IACH,WAAW,CACT,UAAU,EAAE,YAAY,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,aAAkB,GAC1B,gBAAgB;IAiEnB;;OAEG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,iBAAiB,GAAE,MAAU,EAC7B,mBAAmB,GAAE,MAAU,GAC9B,WAAW;IAad;;OAEG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC;IASnC;;OAEG;IACH,wBAAwB,CACtB,QAAQ,EAAE,YAAY,EAAE,EACxB,MAAM,EAAE,MAAM,GACb,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;IA6ChC,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,0BAA0B;CAWnC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token Budget Manager V2
|
|
3
|
+
*
|
|
4
|
+
* Manages token budgets for memory retrieval with
|
|
5
|
+
* intelligent level escalation and session awareness.
|
|
6
|
+
*
|
|
7
|
+
* @module compression/budget/manager-v2
|
|
8
|
+
*/
|
|
9
|
+
import { HierarchicalCompressorV2 } from '../compressor/hierarchical.js';
|
|
10
|
+
import { TokenEstimator } from './estimator.js';
|
|
11
|
+
import { GreedyPacker } from './packer.js';
|
|
12
|
+
/**
|
|
13
|
+
* Token Budget Manager V2
|
|
14
|
+
*
|
|
15
|
+
* Fits memories to token budgets with:
|
|
16
|
+
* - Intelligent level escalation
|
|
17
|
+
* - Session-aware deduplication
|
|
18
|
+
* - Priority-based allocation
|
|
19
|
+
*/
|
|
20
|
+
export class TokenBudgetManagerV2 {
|
|
21
|
+
compressor;
|
|
22
|
+
estimator;
|
|
23
|
+
packer;
|
|
24
|
+
constructor(compressor, estimator, packer) {
|
|
25
|
+
this.compressor = compressor || new HierarchicalCompressorV2();
|
|
26
|
+
this.estimator = estimator || new TokenEstimator();
|
|
27
|
+
this.packer = packer || new GreedyPacker();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Fit memories to a token budget
|
|
31
|
+
*/
|
|
32
|
+
fitToBudget(candidates, budget, options = {}) {
|
|
33
|
+
const { preferNew = true, minLevel = 0, maxLevel = 3, sessionContext, reservedTokens = 0,
|
|
34
|
+
// targetUtilization is available for future use
|
|
35
|
+
} = options;
|
|
36
|
+
const availableBudget = budget - reservedTokens;
|
|
37
|
+
if (availableBudget <= 0 || candidates.length === 0) {
|
|
38
|
+
return this.emptyAllocation(budget);
|
|
39
|
+
}
|
|
40
|
+
// Filter out already-loaded memories if session context provided
|
|
41
|
+
let filteredCandidates = candidates;
|
|
42
|
+
let tokensSavedByDedup = 0;
|
|
43
|
+
if (sessionContext) {
|
|
44
|
+
const { filtered, saved } = this.deduplicateWithSession(candidates, sessionContext);
|
|
45
|
+
filteredCandidates = filtered;
|
|
46
|
+
tokensSavedByDedup = saved;
|
|
47
|
+
}
|
|
48
|
+
// Adjust scores based on preferences
|
|
49
|
+
const adjusted = this.adjustScores(filteredCandidates, preferNew);
|
|
50
|
+
// Convert to packable items with estimated tokens
|
|
51
|
+
const packableItems = this.toPackableItems(adjusted, maxLevel);
|
|
52
|
+
// Pack items into budget
|
|
53
|
+
const packResult = this.packer.pack(packableItems, availableBudget, {
|
|
54
|
+
strategy: 'balanced',
|
|
55
|
+
});
|
|
56
|
+
// Compress packed items with level escalation
|
|
57
|
+
const compressed = this.compressWithEscalation(packResult.packed, adjusted, availableBudget, minLevel, maxLevel);
|
|
58
|
+
// Calculate level distribution
|
|
59
|
+
const levelDistribution = this.calculateLevelDistribution(compressed);
|
|
60
|
+
const tokensUsed = compressed.reduce((sum, c) => sum + c.tokenCount, 0);
|
|
61
|
+
return {
|
|
62
|
+
memories: compressed,
|
|
63
|
+
tokensUsed,
|
|
64
|
+
tokensRemaining: budget - tokensUsed,
|
|
65
|
+
utilization: availableBudget > 0 ? tokensUsed / availableBudget : 0,
|
|
66
|
+
levelDistribution,
|
|
67
|
+
excluded: packResult.remaining.map(r => r.id),
|
|
68
|
+
tokensSavedByDedup,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Calculate token budget breakdown
|
|
73
|
+
*/
|
|
74
|
+
calculateBudget(totalTokens, reservedForSystem = 0, reservedForResponse = 0) {
|
|
75
|
+
const reserved = reservedForSystem + reservedForResponse;
|
|
76
|
+
const availableForMemories = Math.max(0, totalTokens - reserved);
|
|
77
|
+
return {
|
|
78
|
+
total: totalTokens,
|
|
79
|
+
used: 0,
|
|
80
|
+
remaining: totalTokens,
|
|
81
|
+
reserved,
|
|
82
|
+
availableForMemories,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Estimate how many memories can fit at each level
|
|
87
|
+
*/
|
|
88
|
+
estimateCapacity(budget) {
|
|
89
|
+
return {
|
|
90
|
+
0: Math.floor(budget / 5), // ~5 tokens per level 0
|
|
91
|
+
1: Math.floor(budget / 50), // ~50 tokens per level 1
|
|
92
|
+
2: Math.floor(budget / 200), // ~200 tokens per level 2
|
|
93
|
+
3: Math.floor(budget / 500), // ~500 tokens per level 3
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Suggest optimal level distribution for a set of memories
|
|
98
|
+
*/
|
|
99
|
+
suggestLevelDistribution(memories, budget) {
|
|
100
|
+
const distribution = new Map();
|
|
101
|
+
// Sort by score
|
|
102
|
+
const sorted = [...memories].sort((a, b) => b.score - a.score);
|
|
103
|
+
let remainingBudget = budget;
|
|
104
|
+
for (const { memory, score } of sorted) {
|
|
105
|
+
// Higher scored memories get higher levels
|
|
106
|
+
let targetLevel;
|
|
107
|
+
if (score >= 0.8) {
|
|
108
|
+
targetLevel = 3;
|
|
109
|
+
}
|
|
110
|
+
else if (score >= 0.6) {
|
|
111
|
+
targetLevel = 2;
|
|
112
|
+
}
|
|
113
|
+
else if (score >= 0.4) {
|
|
114
|
+
targetLevel = 1;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
targetLevel = 0;
|
|
118
|
+
}
|
|
119
|
+
// Check if it fits
|
|
120
|
+
const tokens = this.compressor.getTokenCount(memory, targetLevel);
|
|
121
|
+
while (targetLevel > 0 && tokens > remainingBudget) {
|
|
122
|
+
targetLevel = (targetLevel - 1);
|
|
123
|
+
}
|
|
124
|
+
const actualTokens = this.compressor.getTokenCount(memory, targetLevel);
|
|
125
|
+
if (actualTokens <= remainingBudget) {
|
|
126
|
+
distribution.set(memory.id, targetLevel);
|
|
127
|
+
remainingBudget -= actualTokens;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// Doesn't fit at any level
|
|
131
|
+
distribution.set(memory.id, 0);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return distribution;
|
|
135
|
+
}
|
|
136
|
+
// Private helper methods
|
|
137
|
+
emptyAllocation(budget) {
|
|
138
|
+
return {
|
|
139
|
+
memories: [],
|
|
140
|
+
tokensUsed: 0,
|
|
141
|
+
tokensRemaining: budget,
|
|
142
|
+
utilization: 0,
|
|
143
|
+
levelDistribution: { 0: 0, 1: 0, 2: 0, 3: 0 },
|
|
144
|
+
excluded: [],
|
|
145
|
+
tokensSavedByDedup: 0,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
deduplicateWithSession(candidates, sessionContext) {
|
|
149
|
+
const filtered = [];
|
|
150
|
+
let saved = 0;
|
|
151
|
+
for (const candidate of candidates) {
|
|
152
|
+
if (sessionContext.loadedMemories.has(candidate.memory.id)) {
|
|
153
|
+
// Already loaded - estimate tokens saved
|
|
154
|
+
saved += this.estimator.estimateMemory(candidate.memory, 2);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
filtered.push({ ...candidate, isNew: true });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return { filtered, saved };
|
|
161
|
+
}
|
|
162
|
+
adjustScores(candidates, preferNew) {
|
|
163
|
+
if (!preferNew) {
|
|
164
|
+
return candidates;
|
|
165
|
+
}
|
|
166
|
+
return candidates.map(c => ({
|
|
167
|
+
...c,
|
|
168
|
+
score: c.isNew ? c.score * 1.1 : c.score, // 10% boost for new memories
|
|
169
|
+
}));
|
|
170
|
+
}
|
|
171
|
+
toPackableItems(candidates, maxLevel) {
|
|
172
|
+
return candidates.map(c => ({
|
|
173
|
+
id: c.memory.id,
|
|
174
|
+
tokens: this.estimator.estimateMemory(c.memory, maxLevel),
|
|
175
|
+
priority: c.score,
|
|
176
|
+
metadata: { memory: c.memory },
|
|
177
|
+
}));
|
|
178
|
+
}
|
|
179
|
+
compressWithEscalation(packed, candidates, budget, minLevel, maxLevel) {
|
|
180
|
+
const compressed = [];
|
|
181
|
+
let remainingBudget = budget;
|
|
182
|
+
// Create lookup for memories
|
|
183
|
+
const memoryMap = new Map();
|
|
184
|
+
for (const c of candidates) {
|
|
185
|
+
memoryMap.set(c.memory.id, c.memory);
|
|
186
|
+
}
|
|
187
|
+
// Sort packed items by priority (highest first)
|
|
188
|
+
const sortedPacked = [...packed].sort((a, b) => b.priority - a.priority);
|
|
189
|
+
for (const item of sortedPacked) {
|
|
190
|
+
const memory = memoryMap.get(item.id);
|
|
191
|
+
if (!memory)
|
|
192
|
+
continue;
|
|
193
|
+
// Try to compress at highest level that fits
|
|
194
|
+
const result = this.compressor.compressToFit(memory, remainingBudget, {
|
|
195
|
+
minLevel,
|
|
196
|
+
maxLevel,
|
|
197
|
+
});
|
|
198
|
+
compressed.push(result);
|
|
199
|
+
remainingBudget -= result.tokenCount;
|
|
200
|
+
}
|
|
201
|
+
return compressed;
|
|
202
|
+
}
|
|
203
|
+
calculateLevelDistribution(compressed) {
|
|
204
|
+
const distribution = { 0: 0, 1: 0, 2: 0, 3: 0 };
|
|
205
|
+
for (const c of compressed) {
|
|
206
|
+
distribution[c.level]++;
|
|
207
|
+
}
|
|
208
|
+
return distribution;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=manager-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager-v2.js","sourceRoot":"","sources":["../../../src/compression/budget/manager-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Greedy Packer
|
|
3
|
+
*
|
|
4
|
+
* Packs items into a budget using a greedy algorithm.
|
|
5
|
+
* Prioritizes items by score while respecting token limits.
|
|
6
|
+
*
|
|
7
|
+
* @module compression/budget/packer
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* An item that can be packed
|
|
11
|
+
*/
|
|
12
|
+
export interface PackableItem {
|
|
13
|
+
/** Unique identifier */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Token count for this item */
|
|
16
|
+
tokens: number;
|
|
17
|
+
/** Priority score (higher = more important) */
|
|
18
|
+
priority: number;
|
|
19
|
+
/** Optional metadata */
|
|
20
|
+
metadata?: Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Options for packing
|
|
24
|
+
*/
|
|
25
|
+
export interface PackOptions {
|
|
26
|
+
/** Minimum tokens to reserve */
|
|
27
|
+
reserveTokens?: number;
|
|
28
|
+
/** Maximum items to pack */
|
|
29
|
+
maxItems?: number;
|
|
30
|
+
/** Minimum priority to include */
|
|
31
|
+
minPriority?: number;
|
|
32
|
+
/** Whether to allow partial fills */
|
|
33
|
+
allowPartial?: boolean;
|
|
34
|
+
/** Strategy for packing */
|
|
35
|
+
strategy?: 'greedy' | 'balanced';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Result of packing operation
|
|
39
|
+
*/
|
|
40
|
+
export interface PackResult {
|
|
41
|
+
/** Items that were packed */
|
|
42
|
+
packed: PackableItem[];
|
|
43
|
+
/** Items that didn't fit */
|
|
44
|
+
remaining: PackableItem[];
|
|
45
|
+
/** Total tokens used */
|
|
46
|
+
tokensUsed: number;
|
|
47
|
+
/** Tokens remaining in budget */
|
|
48
|
+
tokensRemaining: number;
|
|
49
|
+
/** Whether budget was fully utilized */
|
|
50
|
+
fullyUtilized: boolean;
|
|
51
|
+
/** Packing efficiency (0.0 - 1.0) */
|
|
52
|
+
efficiency: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Greedy Packer
|
|
56
|
+
*
|
|
57
|
+
* Implements a greedy bin-packing algorithm that:
|
|
58
|
+
* 1. Sorts items by priority (descending)
|
|
59
|
+
* 2. Adds items until budget is exhausted
|
|
60
|
+
* 3. Optionally tries to fill gaps with smaller items
|
|
61
|
+
*/
|
|
62
|
+
export declare class GreedyPacker {
|
|
63
|
+
/**
|
|
64
|
+
* Pack items into a budget
|
|
65
|
+
*/
|
|
66
|
+
pack(items: PackableItem[], budget: number, options?: PackOptions): PackResult;
|
|
67
|
+
/**
|
|
68
|
+
* Pack with a specific token allocation per item
|
|
69
|
+
*/
|
|
70
|
+
packWithAllocation(items: PackableItem[], budget: number, tokensPerItem: number): PackResult;
|
|
71
|
+
/**
|
|
72
|
+
* Estimate how many items can fit
|
|
73
|
+
*/
|
|
74
|
+
estimateCapacity(items: PackableItem[], budget: number): {
|
|
75
|
+
count: number;
|
|
76
|
+
tokens: number;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Find optimal budget distribution for multiple categories
|
|
80
|
+
*/
|
|
81
|
+
distributeBudget(categories: {
|
|
82
|
+
name: string;
|
|
83
|
+
items: PackableItem[];
|
|
84
|
+
weight: number;
|
|
85
|
+
}[], totalBudget: number): Map<string, number>;
|
|
86
|
+
private packBalanced;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=packer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packer.d.ts","sourceRoot":"","sources":["../../../src/compression/budget/packer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,4BAA4B;IAC5B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,aAAa,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,IAAI,CACF,KAAK,EAAE,YAAY,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,WAAgB,GACxB,UAAU;IA0Eb;;OAEG;IACH,kBAAkB,CAChB,KAAK,EAAE,YAAY,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,UAAU;IAKb;;OAEG;IACH,gBAAgB,CACd,KAAK,EAAE,YAAY,EAAE,EACrB,MAAM,EAAE,MAAM,GACb;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAgBpC;;OAEG;IACH,gBAAgB,CACd,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,EACrE,WAAW,EAAE,MAAM,GAClB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IActB,OAAO,CAAC,YAAY;CA+CrB"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Greedy Packer
|
|
3
|
+
*
|
|
4
|
+
* Packs items into a budget using a greedy algorithm.
|
|
5
|
+
* Prioritizes items by score while respecting token limits.
|
|
6
|
+
*
|
|
7
|
+
* @module compression/budget/packer
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Greedy Packer
|
|
11
|
+
*
|
|
12
|
+
* Implements a greedy bin-packing algorithm that:
|
|
13
|
+
* 1. Sorts items by priority (descending)
|
|
14
|
+
* 2. Adds items until budget is exhausted
|
|
15
|
+
* 3. Optionally tries to fill gaps with smaller items
|
|
16
|
+
*/
|
|
17
|
+
export class GreedyPacker {
|
|
18
|
+
/**
|
|
19
|
+
* Pack items into a budget
|
|
20
|
+
*/
|
|
21
|
+
pack(items, budget, options = {}) {
|
|
22
|
+
const { reserveTokens = 0, maxItems = Infinity, minPriority = 0, allowPartial = true, strategy = 'greedy', } = options;
|
|
23
|
+
const availableBudget = budget - reserveTokens;
|
|
24
|
+
if (availableBudget <= 0) {
|
|
25
|
+
return {
|
|
26
|
+
packed: [],
|
|
27
|
+
remaining: [...items],
|
|
28
|
+
tokensUsed: 0,
|
|
29
|
+
tokensRemaining: budget,
|
|
30
|
+
fullyUtilized: false,
|
|
31
|
+
efficiency: 0,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
// Filter by minimum priority
|
|
35
|
+
const eligible = items.filter(item => item.priority >= minPriority);
|
|
36
|
+
// Sort by priority (descending)
|
|
37
|
+
const sorted = [...eligible].sort((a, b) => b.priority - a.priority);
|
|
38
|
+
const packed = [];
|
|
39
|
+
const remaining = [];
|
|
40
|
+
let tokensUsed = 0;
|
|
41
|
+
if (strategy === 'greedy') {
|
|
42
|
+
// Simple greedy: take highest priority items that fit
|
|
43
|
+
for (const item of sorted) {
|
|
44
|
+
if (packed.length >= maxItems) {
|
|
45
|
+
remaining.push(item);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (tokensUsed + item.tokens <= availableBudget) {
|
|
49
|
+
packed.push(item);
|
|
50
|
+
tokensUsed += item.tokens;
|
|
51
|
+
}
|
|
52
|
+
else if (allowPartial) {
|
|
53
|
+
remaining.push(item);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
remaining.push(item);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// Balanced: try to maximize utilization
|
|
62
|
+
this.packBalanced(sorted, availableBudget, maxItems, packed, remaining);
|
|
63
|
+
tokensUsed = packed.reduce((sum, item) => sum + item.tokens, 0);
|
|
64
|
+
}
|
|
65
|
+
// Add items that weren't eligible
|
|
66
|
+
for (const item of items) {
|
|
67
|
+
if (!eligible.includes(item)) {
|
|
68
|
+
remaining.push(item);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const efficiency = availableBudget > 0 ? tokensUsed / availableBudget : 0;
|
|
72
|
+
return {
|
|
73
|
+
packed,
|
|
74
|
+
remaining,
|
|
75
|
+
tokensUsed,
|
|
76
|
+
tokensRemaining: budget - tokensUsed,
|
|
77
|
+
fullyUtilized: tokensUsed >= availableBudget * 0.9,
|
|
78
|
+
efficiency: Math.min(1, efficiency),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Pack with a specific token allocation per item
|
|
83
|
+
*/
|
|
84
|
+
packWithAllocation(items, budget, tokensPerItem) {
|
|
85
|
+
const maxItems = Math.floor(budget / tokensPerItem);
|
|
86
|
+
return this.pack(items, budget, { maxItems });
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Estimate how many items can fit
|
|
90
|
+
*/
|
|
91
|
+
estimateCapacity(items, budget) {
|
|
92
|
+
const sorted = [...items].sort((a, b) => b.priority - a.priority);
|
|
93
|
+
let count = 0;
|
|
94
|
+
let tokens = 0;
|
|
95
|
+
for (const item of sorted) {
|
|
96
|
+
if (tokens + item.tokens <= budget) {
|
|
97
|
+
count++;
|
|
98
|
+
tokens += item.tokens;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return { count, tokens };
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Find optimal budget distribution for multiple categories
|
|
105
|
+
*/
|
|
106
|
+
distributeBudget(categories, totalBudget) {
|
|
107
|
+
const totalWeight = categories.reduce((sum, c) => sum + c.weight, 0);
|
|
108
|
+
const distribution = new Map();
|
|
109
|
+
for (const category of categories) {
|
|
110
|
+
const share = (category.weight / totalWeight) * totalBudget;
|
|
111
|
+
distribution.set(category.name, Math.floor(share));
|
|
112
|
+
}
|
|
113
|
+
return distribution;
|
|
114
|
+
}
|
|
115
|
+
// Private helper methods
|
|
116
|
+
packBalanced(sorted, budget, maxItems, packed, remaining) {
|
|
117
|
+
// First pass: add high-priority items
|
|
118
|
+
let tokensUsed = 0;
|
|
119
|
+
const skipped = [];
|
|
120
|
+
for (const item of sorted) {
|
|
121
|
+
if (packed.length >= maxItems) {
|
|
122
|
+
remaining.push(item);
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
if (tokensUsed + item.tokens <= budget) {
|
|
126
|
+
packed.push(item);
|
|
127
|
+
tokensUsed += item.tokens;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
skipped.push(item);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Second pass: try to fill gaps with smaller skipped items
|
|
134
|
+
const remainingBudget = budget - tokensUsed;
|
|
135
|
+
const smallEnough = skipped
|
|
136
|
+
.filter(item => item.tokens <= remainingBudget)
|
|
137
|
+
.sort((a, b) => b.priority - a.priority);
|
|
138
|
+
for (const item of smallEnough) {
|
|
139
|
+
if (packed.length >= maxItems) {
|
|
140
|
+
remaining.push(item);
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (tokensUsed + item.tokens <= budget) {
|
|
144
|
+
packed.push(item);
|
|
145
|
+
tokensUsed += item.tokens;
|
|
146
|
+
skipped.splice(skipped.indexOf(item), 1);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Add remaining skipped items
|
|
150
|
+
remaining.push(...skipped);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=packer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packer.js","sourceRoot":"","sources":["../../../src/compression/budget/packer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hierarchical Compressor V2
|
|
3
|
+
*
|
|
4
|
+
* Orchestrates the 4-level compression system.
|
|
5
|
+
* Provides intelligent level selection based on token budgets.
|
|
6
|
+
*
|
|
7
|
+
* @module compression/compressor/hierarchical
|
|
8
|
+
*/
|
|
9
|
+
import type { CompressionLevel, CompressedMemory } from '../../types/compressed-memory.js';
|
|
10
|
+
import type { Memory } from '../../types/memory.js';
|
|
11
|
+
import { Level0Compressor } from './level-0.js';
|
|
12
|
+
import { Level1Compressor } from './level-1.js';
|
|
13
|
+
import { Level2Compressor } from './level-2.js';
|
|
14
|
+
import { Level3Compressor } from './level-3.js';
|
|
15
|
+
/**
|
|
16
|
+
* Options for compression
|
|
17
|
+
*/
|
|
18
|
+
export interface HierarchicalCompressionOptions {
|
|
19
|
+
/** Minimum compression level */
|
|
20
|
+
minLevel?: CompressionLevel;
|
|
21
|
+
/** Maximum compression level */
|
|
22
|
+
maxLevel?: CompressionLevel;
|
|
23
|
+
/** Whether to allow level escalation to fit budget */
|
|
24
|
+
allowEscalation?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Hierarchical Compressor V2
|
|
28
|
+
*
|
|
29
|
+
* Coordinates 4 level compressors to provide flexible
|
|
30
|
+
* compression based on token budgets and requirements.
|
|
31
|
+
*/
|
|
32
|
+
export declare class HierarchicalCompressorV2 {
|
|
33
|
+
private level0;
|
|
34
|
+
private level1;
|
|
35
|
+
private level2;
|
|
36
|
+
private level3;
|
|
37
|
+
constructor(level0?: Level0Compressor, level1?: Level1Compressor, level2?: Level2Compressor, level3?: Level3Compressor);
|
|
38
|
+
/**
|
|
39
|
+
* Compress a memory to a specific level
|
|
40
|
+
*/
|
|
41
|
+
compress(memory: Memory, level: CompressionLevel): CompressedMemory;
|
|
42
|
+
/**
|
|
43
|
+
* Compress a memory to fit within a token budget
|
|
44
|
+
*
|
|
45
|
+
* Starts at the highest level and decreases until it fits.
|
|
46
|
+
*/
|
|
47
|
+
compressToFit(memory: Memory, maxTokens: number, options?: HierarchicalCompressionOptions): CompressedMemory;
|
|
48
|
+
/**
|
|
49
|
+
* Compress multiple memories to fit within a total budget
|
|
50
|
+
*
|
|
51
|
+
* Uses a greedy approach, prioritizing higher importance memories.
|
|
52
|
+
*/
|
|
53
|
+
compressBatchToFit(memories: Memory[], totalBudget: number, options?: HierarchicalCompressionOptions): CompressedMemory[];
|
|
54
|
+
/**
|
|
55
|
+
* Get token count for a memory at a specific level
|
|
56
|
+
*/
|
|
57
|
+
getTokenCount(memory: Memory, level: CompressionLevel): number;
|
|
58
|
+
/**
|
|
59
|
+
* Get token counts for all levels
|
|
60
|
+
*/
|
|
61
|
+
getTokenCountsAllLevels(memory: Memory): Record<CompressionLevel, number>;
|
|
62
|
+
/**
|
|
63
|
+
* Suggest optimal level for a given budget
|
|
64
|
+
*/
|
|
65
|
+
suggestLevel(memory: Memory, budget: number): CompressionLevel;
|
|
66
|
+
/**
|
|
67
|
+
* Format compressed memory as string
|
|
68
|
+
*/
|
|
69
|
+
format(compressed: CompressedMemory): string;
|
|
70
|
+
/**
|
|
71
|
+
* Get target tokens for a level
|
|
72
|
+
*/
|
|
73
|
+
getTargetTokens(level: CompressionLevel): number;
|
|
74
|
+
private compressToLevel;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=hierarchical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchical.d.ts","sourceRoot":"","sources":["../../../src/compression/compressor/hierarchical.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAKjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,gCAAgC;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAmB;gBAG/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,gBAAgB;IAQ3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,gBAAgB;IAenE;;;;OAIG;IACH,aAAa,CACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,8BAAmC,GAC3C,gBAAgB;IAqCnB;;;;OAIG;IACH,kBAAkB,CAChB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,8BAAmC,GAC3C,gBAAgB,EAAE;IAuBrB;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAK9D;;OAEG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC;IASzE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAU9D;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM;IAe5C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAiBhD,OAAO,CAAC,eAAe;CAiBxB"}
|