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,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anti-Pattern Checker
|
|
3
|
+
*
|
|
4
|
+
* Checks if generated code contains any of the
|
|
5
|
+
* anti-patterns from the generation context.
|
|
6
|
+
*
|
|
7
|
+
* @module generation/validation/antipattern-checker
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Anti-Pattern Checker
|
|
11
|
+
*
|
|
12
|
+
* Checks if generated code contains anti-patterns.
|
|
13
|
+
*/
|
|
14
|
+
export class AntiPatternChecker {
|
|
15
|
+
/**
|
|
16
|
+
* Check code against anti-patterns
|
|
17
|
+
*/
|
|
18
|
+
check(code, antiPatterns) {
|
|
19
|
+
const matches = [];
|
|
20
|
+
for (const antiPattern of antiPatterns) {
|
|
21
|
+
const match = this.matchesAntiPattern(code, antiPattern);
|
|
22
|
+
if (match) {
|
|
23
|
+
matches.push(match);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return matches;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if code matches an anti-pattern
|
|
30
|
+
*/
|
|
31
|
+
matchesAntiPattern(code, antiPattern) {
|
|
32
|
+
// Try regex pattern if it looks like one
|
|
33
|
+
if (this.isRegexPattern(antiPattern.pattern)) {
|
|
34
|
+
const match = this.matchRegexPattern(code, antiPattern);
|
|
35
|
+
if (match) {
|
|
36
|
+
return match;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// Try keyword matching
|
|
40
|
+
const keywordMatch = this.matchKeywords(code, antiPattern);
|
|
41
|
+
if (keywordMatch) {
|
|
42
|
+
return keywordMatch;
|
|
43
|
+
}
|
|
44
|
+
// Try structural matching
|
|
45
|
+
const structuralMatch = this.matchStructural(code, antiPattern);
|
|
46
|
+
if (structuralMatch) {
|
|
47
|
+
return structuralMatch;
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Check if pattern looks like a regex
|
|
53
|
+
*/
|
|
54
|
+
isRegexPattern(pattern) {
|
|
55
|
+
const regexIndicators = ['^', '$', '\\', '[', ']', '(', ')', '*', '+', '?', '{', '}', '|'];
|
|
56
|
+
return regexIndicators.some(indicator => pattern.includes(indicator));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Match using regex pattern
|
|
60
|
+
*/
|
|
61
|
+
matchRegexPattern(code, antiPattern) {
|
|
62
|
+
try {
|
|
63
|
+
const regex = new RegExp(antiPattern.pattern, 'gi');
|
|
64
|
+
const match = regex.exec(code);
|
|
65
|
+
if (match) {
|
|
66
|
+
// Find line number
|
|
67
|
+
const beforeMatch = code.substring(0, match.index);
|
|
68
|
+
const line = (beforeMatch.match(/\n/g) ?? []).length + 1;
|
|
69
|
+
return {
|
|
70
|
+
memoryId: antiPattern.memoryId,
|
|
71
|
+
name: antiPattern.name,
|
|
72
|
+
description: `Anti-pattern detected: ${antiPattern.name}`,
|
|
73
|
+
severity: 'warning',
|
|
74
|
+
pattern: antiPattern.pattern,
|
|
75
|
+
alternative: antiPattern.alternative,
|
|
76
|
+
line,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// Invalid regex, fall through to other matching methods
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Match using keywords from pattern
|
|
87
|
+
*/
|
|
88
|
+
matchKeywords(code, antiPattern) {
|
|
89
|
+
const codeLower = code.toLowerCase();
|
|
90
|
+
const patternLower = antiPattern.pattern.toLowerCase();
|
|
91
|
+
// Extract keywords from pattern
|
|
92
|
+
const keywords = patternLower
|
|
93
|
+
.split(/\s+/)
|
|
94
|
+
.filter(word => word.length > 3)
|
|
95
|
+
.slice(0, 5);
|
|
96
|
+
// Check if most keywords are present
|
|
97
|
+
const matchedKeywords = keywords.filter(kw => codeLower.includes(kw));
|
|
98
|
+
const matchRatio = keywords.length > 0 ? matchedKeywords.length / keywords.length : 0;
|
|
99
|
+
if (matchRatio >= 0.6) {
|
|
100
|
+
return {
|
|
101
|
+
memoryId: antiPattern.memoryId,
|
|
102
|
+
name: antiPattern.name,
|
|
103
|
+
description: `Code may contain anti-pattern: ${antiPattern.name}`,
|
|
104
|
+
severity: 'warning',
|
|
105
|
+
pattern: antiPattern.pattern,
|
|
106
|
+
alternative: antiPattern.alternative,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Match using structural patterns
|
|
113
|
+
*/
|
|
114
|
+
matchStructural(code, antiPattern) {
|
|
115
|
+
const nameLower = antiPattern.name.toLowerCase();
|
|
116
|
+
const codeLower = code.toLowerCase();
|
|
117
|
+
// Check for common anti-patterns by name
|
|
118
|
+
if (nameLower.includes('nested ternary') || nameLower.includes('ternary')) {
|
|
119
|
+
// Check for nested ternaries
|
|
120
|
+
const ternaryCount = (code.match(/\?[^:]*:/g) ?? []).length;
|
|
121
|
+
if (ternaryCount >= 2) {
|
|
122
|
+
// Check if they're nested
|
|
123
|
+
const nestedTernaryRegex = /\?[^?:]*\?[^:]*:[^:]*:/;
|
|
124
|
+
if (nestedTernaryRegex.test(code)) {
|
|
125
|
+
return this.createMatch(antiPattern, 'Nested ternary operators detected');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (nameLower.includes('callback hell') || nameLower.includes('pyramid')) {
|
|
130
|
+
// Check for deeply nested callbacks
|
|
131
|
+
const indentLevels = code.split('\n').map(line => {
|
|
132
|
+
const match = line.match(/^(\s*)/);
|
|
133
|
+
return match?.[1]?.length ?? 0;
|
|
134
|
+
});
|
|
135
|
+
const maxIndent = Math.max(...indentLevels);
|
|
136
|
+
if (maxIndent > 20) {
|
|
137
|
+
return this.createMatch(antiPattern, 'Deeply nested code detected (possible callback hell)');
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (nameLower.includes('magic number') || nameLower.includes('hardcoded')) {
|
|
141
|
+
// Check for magic numbers
|
|
142
|
+
const magicNumberRegex = /[^a-zA-Z0-9_]([2-9]\d{2,}|[1-9]\d{3,})[^a-zA-Z0-9_]/g;
|
|
143
|
+
if (magicNumberRegex.test(code)) {
|
|
144
|
+
return this.createMatch(antiPattern, 'Magic numbers detected - consider using named constants');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (nameLower.includes('god class') || nameLower.includes('large class')) {
|
|
148
|
+
// Check for very large classes
|
|
149
|
+
const classMatch = code.match(/class\s+\w+[^{]*\{/);
|
|
150
|
+
if (classMatch) {
|
|
151
|
+
const methodCount = (code.match(/\b(async\s+)?\w+\s*\([^)]*\)\s*[:{]/g) ?? []).length;
|
|
152
|
+
if (methodCount > 15) {
|
|
153
|
+
return this.createMatch(antiPattern, 'Large class detected - consider splitting into smaller classes');
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (nameLower.includes('long function') || nameLower.includes('long method')) {
|
|
158
|
+
// Check for very long functions
|
|
159
|
+
const lines = code.split('\n').length;
|
|
160
|
+
if (lines > 50) {
|
|
161
|
+
return this.createMatch(antiPattern, 'Long function detected - consider breaking into smaller functions');
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (nameLower.includes('sql injection') || nameLower.includes('string concat')) {
|
|
165
|
+
// Check for SQL injection patterns
|
|
166
|
+
const codeLowerCase = code.toLowerCase();
|
|
167
|
+
if (codeLowerCase.includes('query') || codeLowerCase.includes('sql')) {
|
|
168
|
+
if (code.includes('`${') || code.includes("' + ") || code.includes('" + ')) {
|
|
169
|
+
return this.createMatch(antiPattern, 'Potential SQL injection - use parameterized queries');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (nameLower.includes('console.log') || nameLower.includes('debug')) {
|
|
174
|
+
// Check for console.log statements
|
|
175
|
+
if (codeLower.includes('console.log')) {
|
|
176
|
+
return this.createMatch(antiPattern, 'console.log statements detected - use proper logging');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (nameLower.includes('any type') || nameLower.includes('typescript any')) {
|
|
180
|
+
// Check for 'any' type usage
|
|
181
|
+
if (code.includes(': any') || code.includes('<any>') || code.includes('as any')) {
|
|
182
|
+
return this.createMatch(antiPattern, 'TypeScript "any" type detected - use specific types');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Create a match result
|
|
189
|
+
*/
|
|
190
|
+
createMatch(antiPattern, description) {
|
|
191
|
+
return {
|
|
192
|
+
memoryId: antiPattern.memoryId,
|
|
193
|
+
name: antiPattern.name,
|
|
194
|
+
description,
|
|
195
|
+
severity: 'warning',
|
|
196
|
+
pattern: antiPattern.pattern,
|
|
197
|
+
alternative: antiPattern.alternative,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=antipattern-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antipattern-checker.js","sourceRoot":"","sources":["../../../src/generation/validation/antipattern-checker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAwBH;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;OAEG;IACH,KAAK,CAAC,IAAY,EAAE,YAAkC;QACpD,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAY,EAAE,WAA+B;QACtE,yCAAyC;QACzC,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACxD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,0BAA0B;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QACpC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3F,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAY,EAAE,WAA+B;QACrE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,KAAK,EAAE,CAAC;gBACV,mBAAmB;gBACnB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEzD,OAAO;oBACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,WAAW,EAAE,0BAA0B,WAAW,CAAC,IAAI,EAAE;oBACzD,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,IAAI;iBACL,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY,EAAE,WAA+B;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAEvD,gCAAgC;QAChC,MAAM,QAAQ,GAAG,YAAY;aAC1B,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEf,qCAAqC;QACrC,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtF,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,WAAW,EAAE,kCAAkC,WAAW,CAAC,IAAI,EAAE;gBACjE,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,WAAW,EAAE,WAAW,CAAC,WAAW;aACrC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAY,EAAE,WAA+B;QACnE,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,yCAAyC;QACzC,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1E,6BAA6B;YAC7B,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC5D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;gBACtB,0BAA0B;gBAC1B,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;gBACpD,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzE,oCAAoC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;YAC5C,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,sDAAsD,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1E,0BAA0B;YAC1B,MAAM,gBAAgB,GAAG,sDAAsD,CAAC;YAChF,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,yDAAyD,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACzE,+BAA+B;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACtF,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,gEAAgE,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7E,gCAAgC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACtC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,mEAAmE,CAAC,CAAC;YAC5G,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/E,mCAAmC;YACnC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3E,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,qDAAqD,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrE,mCAAmC;YACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,sDAAsD,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3E,6BAA6B;YAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChF,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,qDAAqD,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,WAA+B,EAAE,WAAmB;QACtE,OAAO;YACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,WAAW;YACX,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,WAAW,EAAE,WAAW,CAAC,WAAW;SACrC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation Module
|
|
3
|
+
*
|
|
4
|
+
* Exports all validation components for generated code.
|
|
5
|
+
*
|
|
6
|
+
* @module generation/validation
|
|
7
|
+
*/
|
|
8
|
+
export { GeneratedCodeValidator } from './validator.js';
|
|
9
|
+
export type { ValidationResult, ValidatorConfig } from './validator.js';
|
|
10
|
+
export { PatternComplianceChecker } from './pattern-checker.js';
|
|
11
|
+
export type { PatternViolation } from './pattern-checker.js';
|
|
12
|
+
export { TribalComplianceChecker } from './tribal-checker.js';
|
|
13
|
+
export type { TribalViolation } from './tribal-checker.js';
|
|
14
|
+
export { AntiPatternChecker } from './antipattern-checker.js';
|
|
15
|
+
export type { AntiPatternMatch } from './antipattern-checker.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generation/validation/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation Module
|
|
3
|
+
*
|
|
4
|
+
* Exports all validation components for generated code.
|
|
5
|
+
*
|
|
6
|
+
* @module generation/validation
|
|
7
|
+
*/
|
|
8
|
+
export { GeneratedCodeValidator } from './validator.js';
|
|
9
|
+
export { PatternComplianceChecker } from './pattern-checker.js';
|
|
10
|
+
export { TribalComplianceChecker } from './tribal-checker.js';
|
|
11
|
+
export { AntiPatternChecker } from './antipattern-checker.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generation/validation/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Compliance Checker
|
|
3
|
+
*
|
|
4
|
+
* Checks if generated code follows the patterns
|
|
5
|
+
* from the generation context.
|
|
6
|
+
*
|
|
7
|
+
* @module generation/validation/pattern-checker
|
|
8
|
+
*/
|
|
9
|
+
import type { PatternContext } from '../types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Pattern violation
|
|
12
|
+
*/
|
|
13
|
+
export interface PatternViolation {
|
|
14
|
+
/** Pattern that was violated */
|
|
15
|
+
patternId: string;
|
|
16
|
+
/** Pattern name */
|
|
17
|
+
patternName: string;
|
|
18
|
+
/** Description of the violation */
|
|
19
|
+
description: string;
|
|
20
|
+
/** Severity */
|
|
21
|
+
severity: 'error' | 'warning' | 'info';
|
|
22
|
+
/** Suggested fix */
|
|
23
|
+
suggestion?: string;
|
|
24
|
+
/** Line number (if applicable) */
|
|
25
|
+
line?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Pattern Compliance Checker
|
|
29
|
+
*
|
|
30
|
+
* Checks if generated code follows patterns.
|
|
31
|
+
*/
|
|
32
|
+
export declare class PatternComplianceChecker {
|
|
33
|
+
/**
|
|
34
|
+
* Check code against patterns
|
|
35
|
+
*/
|
|
36
|
+
check(code: string, patterns: PatternContext[]): PatternViolation[];
|
|
37
|
+
/**
|
|
38
|
+
* Check code against a single pattern
|
|
39
|
+
*/
|
|
40
|
+
private checkPattern;
|
|
41
|
+
/**
|
|
42
|
+
* Check if code follows a rule
|
|
43
|
+
*/
|
|
44
|
+
private followsRule;
|
|
45
|
+
/**
|
|
46
|
+
* Check category-specific patterns
|
|
47
|
+
*/
|
|
48
|
+
private checkCategoryPatterns;
|
|
49
|
+
/**
|
|
50
|
+
* Check API patterns
|
|
51
|
+
*/
|
|
52
|
+
private checkApiPatterns;
|
|
53
|
+
/**
|
|
54
|
+
* Check auth patterns
|
|
55
|
+
*/
|
|
56
|
+
private checkAuthPatterns;
|
|
57
|
+
/**
|
|
58
|
+
* Check error handling patterns
|
|
59
|
+
*/
|
|
60
|
+
private checkErrorPatterns;
|
|
61
|
+
/**
|
|
62
|
+
* Check database patterns
|
|
63
|
+
*/
|
|
64
|
+
private checkDatabasePatterns;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=pattern-checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-checker.d.ts","sourceRoot":"","sources":["../../../src/generation/validation/pattern-checker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,oBAAoB;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,wBAAwB;IACnC;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,gBAAgB,EAAE;IAWnE;;OAEG;IACH,OAAO,CAAC,YAAY;IAuBpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAmCnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAkB9B"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Compliance Checker
|
|
3
|
+
*
|
|
4
|
+
* Checks if generated code follows the patterns
|
|
5
|
+
* from the generation context.
|
|
6
|
+
*
|
|
7
|
+
* @module generation/validation/pattern-checker
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Pattern Compliance Checker
|
|
11
|
+
*
|
|
12
|
+
* Checks if generated code follows patterns.
|
|
13
|
+
*/
|
|
14
|
+
export class PatternComplianceChecker {
|
|
15
|
+
/**
|
|
16
|
+
* Check code against patterns
|
|
17
|
+
*/
|
|
18
|
+
check(code, patterns) {
|
|
19
|
+
const violations = [];
|
|
20
|
+
for (const pattern of patterns) {
|
|
21
|
+
const patternViolations = this.checkPattern(code, pattern);
|
|
22
|
+
violations.push(...patternViolations);
|
|
23
|
+
}
|
|
24
|
+
return violations;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check code against a single pattern
|
|
28
|
+
*/
|
|
29
|
+
checkPattern(code, pattern) {
|
|
30
|
+
const violations = [];
|
|
31
|
+
// Check key rules
|
|
32
|
+
for (const rule of pattern.keyRules) {
|
|
33
|
+
if (!this.followsRule(code, rule)) {
|
|
34
|
+
violations.push({
|
|
35
|
+
patternId: pattern.patternId,
|
|
36
|
+
patternName: pattern.patternName,
|
|
37
|
+
description: `Code may not follow rule: ${rule}`,
|
|
38
|
+
severity: 'warning',
|
|
39
|
+
suggestion: `Review code to ensure it follows: ${rule}`,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Check for common pattern violations based on category
|
|
44
|
+
const categoryViolations = this.checkCategoryPatterns(code, pattern);
|
|
45
|
+
violations.push(...categoryViolations);
|
|
46
|
+
return violations;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if code follows a rule
|
|
50
|
+
*/
|
|
51
|
+
followsRule(code, rule) {
|
|
52
|
+
const ruleLower = rule.toLowerCase();
|
|
53
|
+
const codeLower = code.toLowerCase();
|
|
54
|
+
// Check for common rule patterns
|
|
55
|
+
if (ruleLower.includes('error handling') || ruleLower.includes('try-catch')) {
|
|
56
|
+
return codeLower.includes('try') && codeLower.includes('catch');
|
|
57
|
+
}
|
|
58
|
+
if (ruleLower.includes('async') || ruleLower.includes('await')) {
|
|
59
|
+
if (codeLower.includes('async')) {
|
|
60
|
+
return codeLower.includes('await') || codeLower.includes('promise');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (ruleLower.includes('type') || ruleLower.includes('typescript')) {
|
|
64
|
+
// Check for type annotations
|
|
65
|
+
return code.includes(':') || code.includes('interface') || code.includes('type ');
|
|
66
|
+
}
|
|
67
|
+
if (ruleLower.includes('export')) {
|
|
68
|
+
return codeLower.includes('export');
|
|
69
|
+
}
|
|
70
|
+
if (ruleLower.includes('const') || ruleLower.includes('immutable')) {
|
|
71
|
+
// Check that let/var aren't used excessively
|
|
72
|
+
const letCount = (code.match(/\blet\b/g) ?? []).length;
|
|
73
|
+
const constCount = (code.match(/\bconst\b/g) ?? []).length;
|
|
74
|
+
return constCount >= letCount;
|
|
75
|
+
}
|
|
76
|
+
// Default: assume rule is followed if we can't check
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Check category-specific patterns
|
|
81
|
+
*/
|
|
82
|
+
checkCategoryPatterns(code, pattern) {
|
|
83
|
+
const violations = [];
|
|
84
|
+
const category = pattern.category.toLowerCase();
|
|
85
|
+
switch (category) {
|
|
86
|
+
case 'api':
|
|
87
|
+
violations.push(...this.checkApiPatterns(code, pattern));
|
|
88
|
+
break;
|
|
89
|
+
case 'auth':
|
|
90
|
+
violations.push(...this.checkAuthPatterns(code, pattern));
|
|
91
|
+
break;
|
|
92
|
+
case 'error':
|
|
93
|
+
violations.push(...this.checkErrorPatterns(code, pattern));
|
|
94
|
+
break;
|
|
95
|
+
case 'database':
|
|
96
|
+
violations.push(...this.checkDatabasePatterns(code, pattern));
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
return violations;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Check API patterns
|
|
103
|
+
*/
|
|
104
|
+
checkApiPatterns(code, pattern) {
|
|
105
|
+
const violations = [];
|
|
106
|
+
// Check for response handling
|
|
107
|
+
if (code.includes('fetch') || code.includes('axios') || code.includes('http')) {
|
|
108
|
+
if (!code.includes('catch') && !code.includes('.catch')) {
|
|
109
|
+
violations.push({
|
|
110
|
+
patternId: pattern.patternId,
|
|
111
|
+
patternName: pattern.patternName,
|
|
112
|
+
description: 'API call without error handling',
|
|
113
|
+
severity: 'warning',
|
|
114
|
+
suggestion: 'Add try-catch or .catch() for API error handling',
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return violations;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Check auth patterns
|
|
122
|
+
*/
|
|
123
|
+
checkAuthPatterns(code, pattern) {
|
|
124
|
+
const violations = [];
|
|
125
|
+
// Check for token handling
|
|
126
|
+
if (code.includes('token') || code.includes('auth')) {
|
|
127
|
+
if (code.includes('localStorage') || code.includes('sessionStorage')) {
|
|
128
|
+
violations.push({
|
|
129
|
+
patternId: pattern.patternId,
|
|
130
|
+
patternName: pattern.patternName,
|
|
131
|
+
description: 'Storing auth tokens in browser storage may be insecure',
|
|
132
|
+
severity: 'warning',
|
|
133
|
+
suggestion: 'Consider using httpOnly cookies for token storage',
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return violations;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Check error handling patterns
|
|
141
|
+
*/
|
|
142
|
+
checkErrorPatterns(code, pattern) {
|
|
143
|
+
const violations = [];
|
|
144
|
+
// Check for empty catch blocks
|
|
145
|
+
const emptyCatchRegex = /catch\s*\([^)]*\)\s*\{\s*\}/g;
|
|
146
|
+
if (emptyCatchRegex.test(code)) {
|
|
147
|
+
violations.push({
|
|
148
|
+
patternId: pattern.patternId,
|
|
149
|
+
patternName: pattern.patternName,
|
|
150
|
+
description: 'Empty catch block detected',
|
|
151
|
+
severity: 'error',
|
|
152
|
+
suggestion: 'Handle or log errors in catch blocks',
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
// Check for console.log in error handling
|
|
156
|
+
if (code.includes('catch') && code.includes('console.log')) {
|
|
157
|
+
violations.push({
|
|
158
|
+
patternId: pattern.patternId,
|
|
159
|
+
patternName: pattern.patternName,
|
|
160
|
+
description: 'Using console.log for error logging',
|
|
161
|
+
severity: 'info',
|
|
162
|
+
suggestion: 'Consider using a proper logging framework',
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
return violations;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Check database patterns
|
|
169
|
+
*/
|
|
170
|
+
checkDatabasePatterns(code, pattern) {
|
|
171
|
+
const violations = [];
|
|
172
|
+
// Check for SQL injection risks
|
|
173
|
+
if (code.includes('query') || code.includes('sql')) {
|
|
174
|
+
if (code.includes('`${') || code.includes("' + ")) {
|
|
175
|
+
violations.push({
|
|
176
|
+
patternId: pattern.patternId,
|
|
177
|
+
patternName: pattern.patternName,
|
|
178
|
+
description: 'Potential SQL injection risk with string concatenation',
|
|
179
|
+
severity: 'error',
|
|
180
|
+
suggestion: 'Use parameterized queries instead of string concatenation',
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return violations;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=pattern-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-checker.js","sourceRoot":"","sources":["../../../src/generation/validation/pattern-checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tribal Compliance Checker
|
|
3
|
+
*
|
|
4
|
+
* Checks if generated code respects tribal knowledge
|
|
5
|
+
* from the generation context.
|
|
6
|
+
*
|
|
7
|
+
* @module generation/validation/tribal-checker
|
|
8
|
+
*/
|
|
9
|
+
import type { TribalContext } from '../types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Tribal violation
|
|
12
|
+
*/
|
|
13
|
+
export interface TribalViolation {
|
|
14
|
+
/** Memory ID of the tribal knowledge */
|
|
15
|
+
memoryId: string;
|
|
16
|
+
/** Topic of the tribal knowledge */
|
|
17
|
+
topic: string;
|
|
18
|
+
/** Description of the violation */
|
|
19
|
+
description: string;
|
|
20
|
+
/** Severity */
|
|
21
|
+
severity: 'error' | 'warning' | 'info';
|
|
22
|
+
/** The knowledge that was violated */
|
|
23
|
+
knowledge: string;
|
|
24
|
+
/** Consequences of the violation */
|
|
25
|
+
consequences?: string[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Tribal Compliance Checker
|
|
29
|
+
*
|
|
30
|
+
* Checks if generated code respects tribal knowledge.
|
|
31
|
+
*/
|
|
32
|
+
export declare class TribalComplianceChecker {
|
|
33
|
+
/**
|
|
34
|
+
* Check code against tribal knowledge
|
|
35
|
+
*/
|
|
36
|
+
check(code: string, tribal: TribalContext[]): TribalViolation[];
|
|
37
|
+
/**
|
|
38
|
+
* Check if code violates tribal knowledge
|
|
39
|
+
*/
|
|
40
|
+
private violatesTribal;
|
|
41
|
+
/**
|
|
42
|
+
* Extract key terms from text
|
|
43
|
+
*/
|
|
44
|
+
private extractKeyTerms;
|
|
45
|
+
/**
|
|
46
|
+
* Extract negative patterns (things to avoid)
|
|
47
|
+
*/
|
|
48
|
+
private extractNegativePatterns;
|
|
49
|
+
/**
|
|
50
|
+
* Check if warning is in negative context
|
|
51
|
+
*/
|
|
52
|
+
private isNegativeContext;
|
|
53
|
+
/**
|
|
54
|
+
* Check topic-specific violations
|
|
55
|
+
*/
|
|
56
|
+
private checkTopicSpecificViolations;
|
|
57
|
+
/**
|
|
58
|
+
* Map tribal severity to violation severity
|
|
59
|
+
*/
|
|
60
|
+
private mapSeverity;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=tribal-checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tribal-checker.d.ts","sourceRoot":"","sources":["../../../src/generation/validation/tribal-checker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,uBAAuB;IAClC;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE;IAsB/D;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA0CpC;;OAEG;IACH,OAAO,CAAC,WAAW;CAYpB"}
|