@skillsmith/core 0.1.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +233 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/analysis/CodebaseAnalyzer.d.ts +4 -134
- package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
- package/dist/src/analysis/CodebaseAnalyzer.js +7 -315
- package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
- package/dist/src/analysis/__tests__/incremental.test.d.ts +13 -0
- package/dist/src/analysis/__tests__/incremental.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/incremental.test.js +515 -0
- package/dist/src/analysis/__tests__/incremental.test.js.map +1 -0
- package/dist/src/analysis/__tests__/integration.test.d.ts +14 -0
- package/dist/src/analysis/__tests__/integration.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/integration.test.js +1059 -0
- package/dist/src/analysis/__tests__/integration.test.js.map +1 -0
- package/dist/src/analysis/__tests__/metrics.test.d.ts +9 -0
- package/dist/src/analysis/__tests__/metrics.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/metrics.test.js +369 -0
- package/dist/src/analysis/__tests__/metrics.test.js.map +1 -0
- package/dist/src/analysis/__tests__/performance.test.d.ts +15 -0
- package/dist/src/analysis/__tests__/performance.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/performance.test.js +402 -0
- package/dist/src/analysis/__tests__/performance.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/go.test.d.ts +12 -0
- package/dist/src/analysis/adapters/__tests__/go.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/go.test.js +561 -0
- package/dist/src/analysis/adapters/__tests__/go.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/python.test.d.ts +11 -0
- package/dist/src/analysis/adapters/__tests__/python.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/python.test.js +669 -0
- package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.d.ts +12 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.js +676 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts +14 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.js +381 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.js.map +1 -0
- package/dist/src/analysis/adapters/base.d.ts +83 -0
- package/dist/src/analysis/adapters/base.d.ts.map +1 -0
- package/dist/src/analysis/adapters/base.js +40 -0
- package/dist/src/analysis/adapters/base.js.map +1 -0
- package/dist/src/analysis/adapters/factory.d.ts +150 -0
- package/dist/src/analysis/adapters/factory.d.ts.map +1 -0
- package/dist/src/analysis/adapters/factory.js +244 -0
- package/dist/src/analysis/adapters/factory.js.map +1 -0
- package/dist/src/analysis/adapters/go.d.ts +131 -0
- package/dist/src/analysis/adapters/go.d.ts.map +1 -0
- package/dist/src/analysis/adapters/go.js +414 -0
- package/dist/src/analysis/adapters/go.js.map +1 -0
- package/dist/src/analysis/adapters/index.d.ts +20 -0
- package/dist/src/analysis/adapters/index.d.ts.map +1 -0
- package/dist/src/analysis/adapters/index.js +23 -0
- package/dist/src/analysis/adapters/index.js.map +1 -0
- package/dist/src/analysis/adapters/java.d.ts +154 -0
- package/dist/src/analysis/adapters/java.d.ts.map +1 -0
- package/dist/src/analysis/adapters/java.js +407 -0
- package/dist/src/analysis/adapters/java.js.map +1 -0
- package/dist/src/analysis/adapters/python.d.ts +165 -0
- package/dist/src/analysis/adapters/python.d.ts.map +1 -0
- package/dist/src/analysis/adapters/python.js +475 -0
- package/dist/src/analysis/adapters/python.js.map +1 -0
- package/dist/src/analysis/adapters/rust.d.ts +116 -0
- package/dist/src/analysis/adapters/rust.d.ts.map +1 -0
- package/dist/src/analysis/adapters/rust.js +476 -0
- package/dist/src/analysis/adapters/rust.js.map +1 -0
- package/dist/src/analysis/adapters/typescript.d.ts +68 -0
- package/dist/src/analysis/adapters/typescript.d.ts.map +1 -0
- package/dist/src/analysis/adapters/typescript.js +79 -0
- package/dist/src/analysis/adapters/typescript.js.map +1 -0
- package/dist/src/analysis/aggregator.d.ts +193 -0
- package/dist/src/analysis/aggregator.d.ts.map +1 -0
- package/dist/src/analysis/aggregator.js +283 -0
- package/dist/src/analysis/aggregator.js.map +1 -0
- package/dist/src/analysis/cache.d.ts +180 -0
- package/dist/src/analysis/cache.d.ts.map +1 -0
- package/dist/src/analysis/cache.js +279 -0
- package/dist/src/analysis/cache.js.map +1 -0
- package/dist/src/analysis/file-streamer.d.ts +136 -0
- package/dist/src/analysis/file-streamer.d.ts.map +1 -0
- package/dist/src/analysis/file-streamer.js +291 -0
- package/dist/src/analysis/file-streamer.js.map +1 -0
- package/dist/src/analysis/framework-detector.d.ts +47 -0
- package/dist/src/analysis/framework-detector.d.ts.map +1 -0
- package/dist/src/analysis/framework-detector.js +151 -0
- package/dist/src/analysis/framework-detector.js.map +1 -0
- package/dist/src/analysis/incremental-parser.d.ts +186 -0
- package/dist/src/analysis/incremental-parser.d.ts.map +1 -0
- package/dist/src/analysis/incremental-parser.js +291 -0
- package/dist/src/analysis/incremental-parser.js.map +1 -0
- package/dist/src/analysis/incremental.d.ts +186 -0
- package/dist/src/analysis/incremental.d.ts.map +1 -0
- package/dist/src/analysis/incremental.js +247 -0
- package/dist/src/analysis/incremental.js.map +1 -0
- package/dist/src/analysis/index.d.ts +29 -2
- package/dist/src/analysis/index.d.ts.map +1 -1
- package/dist/src/analysis/index.js +53 -2
- package/dist/src/analysis/index.js.map +1 -1
- package/dist/src/analysis/language-detector.d.ts +92 -0
- package/dist/src/analysis/language-detector.d.ts.map +1 -0
- package/dist/src/analysis/language-detector.js +602 -0
- package/dist/src/analysis/language-detector.js.map +1 -0
- package/dist/src/analysis/memory-monitor.d.ts +199 -0
- package/dist/src/analysis/memory-monitor.d.ts.map +1 -0
- package/dist/src/analysis/memory-monitor.js +271 -0
- package/dist/src/analysis/memory-monitor.js.map +1 -0
- package/dist/src/analysis/metrics.d.ts +300 -0
- package/dist/src/analysis/metrics.d.ts.map +1 -0
- package/dist/src/analysis/metrics.js +537 -0
- package/dist/src/analysis/metrics.js.map +1 -0
- package/dist/src/analysis/parsers.d.ts +43 -0
- package/dist/src/analysis/parsers.d.ts.map +1 -0
- package/dist/src/analysis/parsers.js +219 -0
- package/dist/src/analysis/parsers.js.map +1 -0
- package/dist/src/analysis/router.d.ts +264 -0
- package/dist/src/analysis/router.d.ts.map +1 -0
- package/dist/src/analysis/router.js +398 -0
- package/dist/src/analysis/router.js.map +1 -0
- package/dist/src/analysis/tree-cache.d.ts +208 -0
- package/dist/src/analysis/tree-cache.d.ts.map +1 -0
- package/dist/src/analysis/tree-cache.js +288 -0
- package/dist/src/analysis/tree-cache.js.map +1 -0
- package/dist/src/analysis/tree-sitter/manager.d.ts +141 -0
- package/dist/src/analysis/tree-sitter/manager.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/manager.js +239 -0
- package/dist/src/analysis/tree-sitter/manager.js.map +1 -0
- package/dist/src/analysis/types.d.ts +201 -0
- package/dist/src/analysis/types.d.ts.map +1 -0
- package/dist/src/analysis/types.js +46 -0
- package/dist/src/analysis/types.js.map +1 -0
- package/dist/src/analysis/worker-pool.d.ts +141 -0
- package/dist/src/analysis/worker-pool.d.ts.map +1 -0
- package/dist/src/analysis/worker-pool.js +418 -0
- package/dist/src/analysis/worker-pool.js.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
- package/dist/src/analytics/AnalyticsRepository.js +4 -4
- package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
- package/dist/src/analytics/schema.d.ts +1 -1
- package/dist/src/analytics/schema.d.ts.map +1 -1
- package/dist/src/analytics/schema.js +72 -0
- package/dist/src/analytics/schema.js.map +1 -1
- package/dist/src/api/cache.d.ts +131 -0
- package/dist/src/api/cache.d.ts.map +1 -0
- package/dist/src/api/cache.js +264 -0
- package/dist/src/api/cache.js.map +1 -0
- package/dist/src/api/client.d.ts +282 -0
- package/dist/src/api/client.d.ts.map +1 -0
- package/dist/src/api/client.js +417 -0
- package/dist/src/api/client.js.map +1 -0
- package/dist/src/api/index.d.ts +12 -0
- package/dist/src/api/index.d.ts.map +1 -0
- package/dist/src/api/index.js +17 -0
- package/dist/src/api/index.js.map +1 -0
- package/dist/src/api/types.d.ts +251 -0
- package/dist/src/api/types.d.ts.map +1 -0
- package/dist/src/api/types.js +9 -0
- package/dist/src/api/types.js.map +1 -0
- package/dist/src/benchmarks/BenchmarkRunner.d.ts +6 -175
- package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -1
- package/dist/src/benchmarks/BenchmarkRunner.js +6 -123
- package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
- package/dist/src/benchmarks/MemoryProfiler.d.ts +4 -262
- package/dist/src/benchmarks/MemoryProfiler.d.ts.map +1 -1
- package/dist/src/benchmarks/MemoryProfiler.js +4 -400
- package/dist/src/benchmarks/MemoryProfiler.js.map +1 -1
- package/dist/src/benchmarks/comparator.d.ts +38 -0
- package/dist/src/benchmarks/comparator.d.ts.map +1 -0
- package/dist/src/benchmarks/comparator.js +81 -0
- package/dist/src/benchmarks/comparator.js.map +1 -0
- package/dist/src/benchmarks/formatters.d.ts +30 -0
- package/dist/src/benchmarks/formatters.d.ts.map +1 -0
- package/dist/src/benchmarks/formatters.js +88 -0
- package/dist/src/benchmarks/formatters.js.map +1 -0
- package/dist/src/benchmarks/index.d.ts +5 -1
- package/dist/src/benchmarks/index.d.ts.map +1 -1
- package/dist/src/benchmarks/index.js +9 -2
- package/dist/src/benchmarks/index.js.map +1 -1
- package/dist/src/benchmarks/memory/MemoryProfiler.d.ts +165 -0
- package/dist/src/benchmarks/memory/MemoryProfiler.d.ts.map +1 -0
- package/dist/src/benchmarks/memory/MemoryProfiler.js +312 -0
- package/dist/src/benchmarks/memory/MemoryProfiler.js.map +1 -0
- package/dist/src/benchmarks/memory/baseline-manager.d.ts +64 -0
- package/dist/src/benchmarks/memory/baseline-manager.d.ts.map +1 -0
- package/dist/src/benchmarks/memory/baseline-manager.js +95 -0
- package/dist/src/benchmarks/memory/baseline-manager.js.map +1 -0
- package/dist/src/benchmarks/memory/index.d.ts +12 -0
- package/dist/src/benchmarks/memory/index.d.ts.map +1 -0
- package/dist/src/benchmarks/memory/index.js +12 -0
- package/dist/src/benchmarks/memory/index.js.map +1 -0
- package/dist/src/benchmarks/memory/leak-detector.d.ts +23 -0
- package/dist/src/benchmarks/memory/leak-detector.d.ts.map +1 -0
- package/dist/src/benchmarks/memory/leak-detector.js +46 -0
- package/dist/src/benchmarks/memory/leak-detector.js.map +1 -0
- package/dist/src/benchmarks/memory/regression-detector.d.ts +17 -0
- package/dist/src/benchmarks/memory/regression-detector.d.ts.map +1 -0
- package/dist/src/benchmarks/memory/regression-detector.js +56 -0
- package/dist/src/benchmarks/memory/regression-detector.js.map +1 -0
- package/dist/src/benchmarks/memory/types.d.ts +111 -0
- package/dist/src/benchmarks/memory/types.d.ts.map +1 -0
- package/dist/src/benchmarks/memory/types.js +7 -0
- package/dist/src/benchmarks/memory/types.js.map +1 -0
- package/dist/src/benchmarks/memory/utils.d.ts +17 -0
- package/dist/src/benchmarks/memory/utils.d.ts.map +1 -0
- package/dist/src/benchmarks/memory/utils.js +29 -0
- package/dist/src/benchmarks/memory/utils.js.map +1 -0
- package/dist/src/benchmarks/types.d.ts +175 -0
- package/dist/src/benchmarks/types.d.ts.map +1 -0
- package/dist/src/benchmarks/types.js +20 -0
- package/dist/src/benchmarks/types.js.map +1 -0
- package/dist/src/embeddings/index.d.ts.map +1 -1
- package/dist/src/embeddings/index.js.map +1 -1
- package/dist/src/errors.d.ts +1 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +1 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +5 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
- package/dist/src/repositories/IndexerRepository.js +1 -0
- package/dist/src/repositories/IndexerRepository.js.map +1 -1
- package/dist/src/repositories/QuarantineRepository.d.ts +4 -251
- package/dist/src/repositories/QuarantineRepository.d.ts.map +1 -1
- package/dist/src/repositories/QuarantineRepository.js +4 -441
- package/dist/src/repositories/QuarantineRepository.js.map +1 -1
- package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
- package/dist/src/repositories/SkillRepository.js +1 -0
- package/dist/src/repositories/SkillRepository.js.map +1 -1
- package/dist/src/repositories/quarantine/QuarantineRepository.d.ts +168 -0
- package/dist/src/repositories/quarantine/QuarantineRepository.d.ts.map +1 -0
- package/dist/src/repositories/quarantine/QuarantineRepository.js +341 -0
- package/dist/src/repositories/quarantine/QuarantineRepository.js.map +1 -0
- package/dist/src/repositories/quarantine/index.d.ts +10 -0
- package/dist/src/repositories/quarantine/index.d.ts.map +1 -0
- package/dist/src/repositories/quarantine/index.js +10 -0
- package/dist/src/repositories/quarantine/index.js.map +1 -0
- package/dist/src/repositories/quarantine/queries.d.ts +58 -0
- package/dist/src/repositories/quarantine/queries.d.ts.map +1 -0
- package/dist/src/repositories/quarantine/queries.js +88 -0
- package/dist/src/repositories/quarantine/queries.js.map +1 -0
- package/dist/src/repositories/quarantine/query-builder.d.ts +44 -0
- package/dist/src/repositories/quarantine/query-builder.d.ts.map +1 -0
- package/dist/src/repositories/quarantine/query-builder.js +87 -0
- package/dist/src/repositories/quarantine/query-builder.js.map +1 -0
- package/dist/src/repositories/quarantine/types.d.ts +155 -0
- package/dist/src/repositories/quarantine/types.d.ts.map +1 -0
- package/dist/src/repositories/quarantine/types.js +13 -0
- package/dist/src/repositories/quarantine/types.js.map +1 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts +1 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts.map +1 -1
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js +7 -43
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
- package/dist/src/scripts/github-import/checkpoint.d.ts +21 -0
- package/dist/src/scripts/github-import/checkpoint.d.ts.map +1 -0
- package/dist/src/scripts/github-import/checkpoint.js +52 -0
- package/dist/src/scripts/github-import/checkpoint.js.map +1 -0
- package/dist/src/scripts/github-import/deduplication.d.ts +15 -0
- package/dist/src/scripts/github-import/deduplication.d.ts.map +1 -0
- package/dist/src/scripts/github-import/deduplication.js +33 -0
- package/dist/src/scripts/github-import/deduplication.js.map +1 -0
- package/dist/src/scripts/github-import/github-client.d.ts +29 -0
- package/dist/src/scripts/github-import/github-client.d.ts.map +1 -0
- package/dist/src/scripts/github-import/github-client.js +184 -0
- package/dist/src/scripts/github-import/github-client.js.map +1 -0
- package/dist/src/scripts/github-import/index.d.ts +29 -0
- package/dist/src/scripts/github-import/index.d.ts.map +1 -0
- package/dist/src/scripts/github-import/index.js +198 -0
- package/dist/src/scripts/github-import/index.js.map +1 -0
- package/dist/src/scripts/github-import/output.d.ts +12 -0
- package/dist/src/scripts/github-import/output.d.ts.map +1 -0
- package/dist/src/scripts/github-import/output.js +34 -0
- package/dist/src/scripts/github-import/output.js.map +1 -0
- package/dist/src/scripts/github-import/types.d.ts +108 -0
- package/dist/src/scripts/github-import/types.d.ts.map +1 -0
- package/dist/src/scripts/github-import/types.js +44 -0
- package/dist/src/scripts/github-import/types.js.map +1 -0
- package/dist/src/scripts/github-import/utils.d.ts +13 -0
- package/dist/src/scripts/github-import/utils.d.ts.map +1 -0
- package/dist/src/scripts/github-import/utils.js +28 -0
- package/dist/src/scripts/github-import/utils.js.map +1 -0
- package/dist/src/scripts/import-github-skills.d.ts +3 -12
- package/dist/src/scripts/import-github-skills.d.ts.map +1 -1
- package/dist/src/scripts/import-github-skills.js +18 -398
- package/dist/src/scripts/import-github-skills.js.map +1 -1
- package/dist/src/scripts/scan-imported-skills.d.ts +7 -7
- package/dist/src/scripts/scan-imported-skills.d.ts.map +1 -1
- package/dist/src/scripts/scan-imported-skills.js +8 -397
- package/dist/src/scripts/scan-imported-skills.js.map +1 -1
- package/dist/src/scripts/skill-scanner/categorizer.d.ts +43 -0
- package/dist/src/scripts/skill-scanner/categorizer.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/categorizer.js +61 -0
- package/dist/src/scripts/skill-scanner/categorizer.js.map +1 -0
- package/dist/src/scripts/skill-scanner/file-scanner.d.ts +43 -0
- package/dist/src/scripts/skill-scanner/file-scanner.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/file-scanner.js +90 -0
- package/dist/src/scripts/skill-scanner/file-scanner.js.map +1 -0
- package/dist/src/scripts/skill-scanner/index.d.ts +22 -0
- package/dist/src/scripts/skill-scanner/index.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/index.js +43 -0
- package/dist/src/scripts/skill-scanner/index.js.map +1 -0
- package/dist/src/scripts/skill-scanner/logger.d.ts +59 -0
- package/dist/src/scripts/skill-scanner/logger.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/logger.js +104 -0
- package/dist/src/scripts/skill-scanner/logger.js.map +1 -0
- package/dist/src/scripts/skill-scanner/reporter.d.ts +56 -0
- package/dist/src/scripts/skill-scanner/reporter.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/reporter.js +166 -0
- package/dist/src/scripts/skill-scanner/reporter.js.map +1 -0
- package/dist/src/scripts/skill-scanner/scanner.d.ts +44 -0
- package/dist/src/scripts/skill-scanner/scanner.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/scanner.js +140 -0
- package/dist/src/scripts/skill-scanner/scanner.js.map +1 -0
- package/dist/src/scripts/skill-scanner/trust-scorer.d.ts +59 -0
- package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/trust-scorer.js +62 -0
- package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -0
- package/dist/src/scripts/skill-scanner/types.d.ts +98 -0
- package/dist/src/scripts/skill-scanner/types.d.ts.map +1 -0
- package/dist/src/scripts/skill-scanner/types.js +7 -0
- package/dist/src/scripts/skill-scanner/types.js.map +1 -0
- package/dist/src/scripts/validate-skills.d.ts +3 -172
- package/dist/src/scripts/validate-skills.d.ts.map +1 -1
- package/dist/src/scripts/validate-skills.js +6 -519
- package/dist/src/scripts/validate-skills.js.map +1 -1
- package/dist/src/scripts/validation/deduplication.d.ts +23 -0
- package/dist/src/scripts/validation/deduplication.d.ts.map +1 -0
- package/dist/src/scripts/validation/deduplication.js +127 -0
- package/dist/src/scripts/validation/deduplication.js.map +1 -0
- package/dist/src/scripts/validation/field-validators.d.ts +9 -0
- package/dist/src/scripts/validation/field-validators.d.ts.map +1 -0
- package/dist/src/scripts/validation/field-validators.js +135 -0
- package/dist/src/scripts/validation/field-validators.js.map +1 -0
- package/dist/src/scripts/validation/index.d.ts +29 -0
- package/dist/src/scripts/validation/index.d.ts.map +1 -0
- package/dist/src/scripts/validation/index.js +83 -0
- package/dist/src/scripts/validation/index.js.map +1 -0
- package/dist/src/scripts/validation/normalizers.d.ts +29 -0
- package/dist/src/scripts/validation/normalizers.d.ts.map +1 -0
- package/dist/src/scripts/validation/normalizers.js +79 -0
- package/dist/src/scripts/validation/normalizers.js.map +1 -0
- package/dist/src/scripts/validation/pipeline.d.ts +13 -0
- package/dist/src/scripts/validation/pipeline.d.ts.map +1 -0
- package/dist/src/scripts/validation/pipeline.js +126 -0
- package/dist/src/scripts/validation/pipeline.js.map +1 -0
- package/dist/src/scripts/validation/types.d.ts +128 -0
- package/dist/src/scripts/validation/types.d.ts.map +1 -0
- package/dist/src/scripts/validation/types.js +43 -0
- package/dist/src/scripts/validation/types.js.map +1 -0
- package/dist/src/security/index.d.ts +5 -4
- package/dist/src/security/index.d.ts.map +1 -1
- package/dist/src/security/index.js +8 -2
- package/dist/src/security/index.js.map +1 -1
- package/dist/src/security/rate-limiter/RateLimiter.d.ts +86 -0
- package/dist/src/security/rate-limiter/RateLimiter.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/RateLimiter.js +260 -0
- package/dist/src/security/rate-limiter/RateLimiter.js.map +1 -0
- package/dist/src/security/rate-limiter/constants.d.ts +15 -0
- package/dist/src/security/rate-limiter/constants.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/constants.js +15 -0
- package/dist/src/security/rate-limiter/constants.js.map +1 -0
- package/dist/src/security/rate-limiter/errors.d.ts +22 -0
- package/dist/src/security/rate-limiter/errors.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/errors.js +32 -0
- package/dist/src/security/rate-limiter/errors.js.map +1 -0
- package/dist/src/security/rate-limiter/index.d.ts +12 -0
- package/dist/src/security/rate-limiter/index.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/index.js +16 -0
- package/dist/src/security/rate-limiter/index.js.map +1 -0
- package/dist/src/security/rate-limiter/metrics-manager.d.ts +55 -0
- package/dist/src/security/rate-limiter/metrics-manager.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/metrics-manager.js +144 -0
- package/dist/src/security/rate-limiter/metrics-manager.js.map +1 -0
- package/dist/src/security/rate-limiter/presets.d.ts +52 -0
- package/dist/src/security/rate-limiter/presets.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/presets.js +53 -0
- package/dist/src/security/rate-limiter/presets.js.map +1 -0
- package/dist/src/security/rate-limiter/queue-manager.d.ts +59 -0
- package/dist/src/security/rate-limiter/queue-manager.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/queue-manager.js +189 -0
- package/dist/src/security/rate-limiter/queue-manager.js.map +1 -0
- package/dist/src/security/rate-limiter/storage.d.ts +34 -0
- package/dist/src/security/rate-limiter/storage.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/storage.js +80 -0
- package/dist/src/security/rate-limiter/storage.js.map +1 -0
- package/dist/src/security/rate-limiter/token-bucket.d.ts +44 -0
- package/dist/src/security/rate-limiter/token-bucket.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/token-bucket.js +99 -0
- package/dist/src/security/rate-limiter/token-bucket.js.map +1 -0
- package/dist/src/security/rate-limiter/types.d.ts +104 -0
- package/dist/src/security/rate-limiter/types.d.ts.map +1 -0
- package/dist/src/security/rate-limiter/types.js +7 -0
- package/dist/src/security/rate-limiter/types.js.map +1 -0
- package/dist/src/security/{scanner.d.ts → scanner/SecurityScanner.d.ts} +5 -62
- package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -0
- package/dist/src/security/{scanner.js → scanner/SecurityScanner.js} +6 -202
- package/dist/src/security/scanner/SecurityScanner.js.map +1 -0
- package/dist/src/security/scanner/index.d.ts +11 -0
- package/dist/src/security/scanner/index.d.ts.map +1 -0
- package/dist/src/security/scanner/index.js +14 -0
- package/dist/src/security/scanner/index.js.map +1 -0
- package/dist/src/security/scanner/patterns.d.ts +14 -0
- package/dist/src/security/scanner/patterns.d.ts.map +1 -0
- package/dist/src/security/scanner/patterns.js +147 -0
- package/dist/src/security/scanner/patterns.js.map +1 -0
- package/dist/src/security/scanner/regex-utils.d.ts +33 -0
- package/dist/src/security/scanner/regex-utils.d.ts.map +1 -0
- package/dist/src/security/scanner/regex-utils.js +41 -0
- package/dist/src/security/scanner/regex-utils.js.map +1 -0
- package/dist/src/security/scanner/types.d.ts +63 -0
- package/dist/src/security/scanner/types.d.ts.map +1 -0
- package/dist/src/security/scanner/types.js +7 -0
- package/dist/src/security/scanner/types.js.map +1 -0
- package/dist/src/security/scanner/weights.d.ts +15 -0
- package/dist/src/security/scanner/weights.d.ts.map +1 -0
- package/dist/src/security/scanner/weights.js +28 -0
- package/dist/src/security/scanner/weights.js.map +1 -0
- package/dist/src/services/SearchService.d.ts.map +1 -1
- package/dist/src/services/SearchService.js +1 -0
- package/dist/src/services/SearchService.js.map +1 -1
- package/dist/src/session/SessionHealthMonitor.d.ts +5 -168
- package/dist/src/session/SessionHealthMonitor.d.ts.map +1 -1
- package/dist/src/session/SessionHealthMonitor.js +22 -91
- package/dist/src/session/SessionHealthMonitor.js.map +1 -1
- package/dist/src/session/health-checks.d.ts +37 -0
- package/dist/src/session/health-checks.d.ts.map +1 -0
- package/dist/src/session/health-checks.js +64 -0
- package/dist/src/session/health-checks.js.map +1 -0
- package/dist/src/session/health-types.d.ts +78 -0
- package/dist/src/session/health-types.d.ts.map +1 -0
- package/dist/src/session/health-types.js +16 -0
- package/dist/src/session/health-types.js.map +1 -0
- package/dist/src/session/index.d.ts +5 -1
- package/dist/src/session/index.d.ts.map +1 -1
- package/dist/src/session/index.js +9 -0
- package/dist/src/session/index.js.map +1 -1
- package/dist/src/session/metrics-collector.d.ts +23 -0
- package/dist/src/session/metrics-collector.d.ts.map +1 -0
- package/dist/src/session/metrics-collector.js +44 -0
- package/dist/src/session/metrics-collector.js.map +1 -0
- package/dist/src/session/typed-event-emitter.d.ts +70 -0
- package/dist/src/session/typed-event-emitter.d.ts.map +1 -0
- package/dist/src/session/typed-event-emitter.js +79 -0
- package/dist/src/session/typed-event-emitter.js.map +1 -0
- package/dist/src/sources/BaseSourceAdapter.d.ts +1 -1
- package/dist/src/sources/BaseSourceAdapter.d.ts.map +1 -1
- package/dist/src/sources/BaseSourceAdapter.js +2 -2
- package/dist/src/sources/BaseSourceAdapter.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +1 -0
- package/dist/src/telemetry/index.d.ts.map +1 -1
- package/dist/src/telemetry/index.js +2 -0
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/posthog.d.ts +147 -0
- package/dist/src/telemetry/posthog.d.ts.map +1 -0
- package/dist/src/telemetry/posthog.js +213 -0
- package/dist/src/telemetry/posthog.js.map +1 -0
- package/dist/src/types/skill.d.ts +3 -0
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types.d.ts +2 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +2 -2
- package/dist/src/types.js.map +1 -1
- package/dist/tests/RateLimiter.test.js +4 -4
- package/dist/tests/RateLimiter.test.js.map +1 -1
- package/dist/tests/adapters-factory.test.d.ts +13 -0
- package/dist/tests/adapters-factory.test.d.ts.map +1 -0
- package/dist/tests/adapters-factory.test.js +308 -0
- package/dist/tests/adapters-factory.test.js.map +1 -0
- package/dist/tests/adapters-java.test.d.ts +13 -0
- package/dist/tests/adapters-java.test.d.ts.map +1 -0
- package/dist/tests/adapters-java.test.js +925 -0
- package/dist/tests/adapters-java.test.js.map +1 -0
- package/dist/tests/api/client.validation.test.d.ts +7 -0
- package/dist/tests/api/client.validation.test.d.ts.map +1 -0
- package/dist/tests/api/client.validation.test.js +183 -0
- package/dist/tests/api/client.validation.test.js.map +1 -0
- package/dist/tests/e2e/security/security.e2e.test.js +3 -3
- package/dist/tests/e2e/security/security.e2e.test.js.map +1 -1
- package/dist/tests/language-detector.test.d.ts +13 -0
- package/dist/tests/language-detector.test.d.ts.map +1 -0
- package/dist/tests/language-detector.test.js +674 -0
- package/dist/tests/language-detector.test.js.map +1 -0
- package/dist/tests/telemetry/posthog.test.d.ts +13 -0
- package/dist/tests/telemetry/posthog.test.d.ts.map +1 -0
- package/dist/tests/telemetry/posthog.test.js +600 -0
- package/dist/tests/telemetry/posthog.test.js.map +1 -0
- package/package.json +5 -5
- package/dist/src/security/RateLimiter.d.ts +0 -337
- package/dist/src/security/RateLimiter.d.ts.map +0 -1
- package/dist/src/security/RateLimiter.js +0 -782
- package/dist/src/security/RateLimiter.js.map +0 -1
- package/dist/src/security/scanner.d.ts.map +0 -1
- package/dist/src/security/scanner.js.map +0 -1
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-600: Source File Parsers
|
|
3
|
+
* SMI-1189: Extracted from CodebaseAnalyzer.ts
|
|
4
|
+
*
|
|
5
|
+
* Functions for parsing TypeScript/JavaScript source files
|
|
6
|
+
* and extracting imports, exports, and functions.
|
|
7
|
+
*/
|
|
8
|
+
import * as ts from 'typescript';
|
|
9
|
+
/**
|
|
10
|
+
* Parse a single file and extract information
|
|
11
|
+
*
|
|
12
|
+
* @param content - File content to parse
|
|
13
|
+
* @param relativePath - Relative path for source file tracking
|
|
14
|
+
* @returns Parsed imports, exports, and functions
|
|
15
|
+
*/
|
|
16
|
+
export function parseFile(content, relativePath) {
|
|
17
|
+
const imports = [];
|
|
18
|
+
const exports = [];
|
|
19
|
+
const functions = [];
|
|
20
|
+
// Create source file
|
|
21
|
+
const sourceFile = ts.createSourceFile(relativePath, content, ts.ScriptTarget.Latest, true, relativePath.endsWith('.tsx') || relativePath.endsWith('.jsx')
|
|
22
|
+
? ts.ScriptKind.TSX
|
|
23
|
+
: ts.ScriptKind.TS);
|
|
24
|
+
// Walk the AST
|
|
25
|
+
const visit = (node) => {
|
|
26
|
+
// Import declarations
|
|
27
|
+
if (ts.isImportDeclaration(node)) {
|
|
28
|
+
const importInfo = extractImport(node, relativePath);
|
|
29
|
+
if (importInfo) {
|
|
30
|
+
imports.push(importInfo);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Export declarations
|
|
34
|
+
if (ts.isExportDeclaration(node) || ts.isExportAssignment(node)) {
|
|
35
|
+
const exportInfos = extractExport(node, relativePath);
|
|
36
|
+
exports.push(...exportInfos);
|
|
37
|
+
}
|
|
38
|
+
// Function declarations
|
|
39
|
+
if (ts.isFunctionDeclaration(node) && node.name) {
|
|
40
|
+
const funcInfo = extractFunction(node, relativePath, sourceFile);
|
|
41
|
+
if (funcInfo) {
|
|
42
|
+
functions.push(funcInfo);
|
|
43
|
+
// Also track as export if exported
|
|
44
|
+
if (funcInfo.isExported) {
|
|
45
|
+
const isDefault = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword);
|
|
46
|
+
exports.push({
|
|
47
|
+
name: node.name.text,
|
|
48
|
+
kind: 'function',
|
|
49
|
+
isDefault: isDefault ?? false,
|
|
50
|
+
sourceFile: relativePath,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Arrow functions assigned to variables
|
|
56
|
+
if (ts.isVariableStatement(node)) {
|
|
57
|
+
for (const decl of node.declarationList.declarations) {
|
|
58
|
+
if (decl.initializer &&
|
|
59
|
+
ts.isArrowFunction(decl.initializer) &&
|
|
60
|
+
ts.isIdentifier(decl.name)) {
|
|
61
|
+
const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
|
|
62
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|
|
63
|
+
functions.push({
|
|
64
|
+
name: decl.name.text,
|
|
65
|
+
parameterCount: decl.initializer.parameters.length,
|
|
66
|
+
isAsync: decl.initializer.modifiers?.some((m) => m.kind === ts.SyntaxKind.AsyncKeyword) ??
|
|
67
|
+
false,
|
|
68
|
+
isExported: isExported ?? false,
|
|
69
|
+
sourceFile: relativePath,
|
|
70
|
+
line: line + 1,
|
|
71
|
+
});
|
|
72
|
+
// Also track as export if exported
|
|
73
|
+
if (isExported) {
|
|
74
|
+
exports.push({
|
|
75
|
+
name: decl.name.text,
|
|
76
|
+
kind: 'function',
|
|
77
|
+
isDefault: false,
|
|
78
|
+
sourceFile: relativePath,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Class declarations
|
|
85
|
+
if (ts.isClassDeclaration(node) && node.name) {
|
|
86
|
+
const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
|
|
87
|
+
const isDefault = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword);
|
|
88
|
+
if (isExported) {
|
|
89
|
+
exports.push({
|
|
90
|
+
name: node.name.text,
|
|
91
|
+
kind: 'class',
|
|
92
|
+
isDefault: isDefault ?? false,
|
|
93
|
+
sourceFile: relativePath,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Interface declarations
|
|
98
|
+
if (ts.isInterfaceDeclaration(node)) {
|
|
99
|
+
const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
|
|
100
|
+
if (isExported) {
|
|
101
|
+
exports.push({
|
|
102
|
+
name: node.name.text,
|
|
103
|
+
kind: 'interface',
|
|
104
|
+
isDefault: false,
|
|
105
|
+
sourceFile: relativePath,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// Type alias declarations
|
|
110
|
+
if (ts.isTypeAliasDeclaration(node)) {
|
|
111
|
+
const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
|
|
112
|
+
if (isExported) {
|
|
113
|
+
exports.push({
|
|
114
|
+
name: node.name.text,
|
|
115
|
+
kind: 'type',
|
|
116
|
+
isDefault: false,
|
|
117
|
+
sourceFile: relativePath,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
ts.forEachChild(node, visit);
|
|
122
|
+
};
|
|
123
|
+
visit(sourceFile);
|
|
124
|
+
return { imports, exports, functions };
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Extract import information from an import declaration
|
|
128
|
+
*
|
|
129
|
+
* @param node - Import declaration node
|
|
130
|
+
* @param sourceFile - Source file path
|
|
131
|
+
* @returns Import info or null if invalid
|
|
132
|
+
*/
|
|
133
|
+
export function extractImport(node, sourceFile) {
|
|
134
|
+
const moduleSpecifier = node.moduleSpecifier;
|
|
135
|
+
if (!ts.isStringLiteral(moduleSpecifier)) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
const importInfo = {
|
|
139
|
+
module: moduleSpecifier.text,
|
|
140
|
+
namedImports: [],
|
|
141
|
+
isTypeOnly: node.importClause?.isTypeOnly ?? false,
|
|
142
|
+
sourceFile,
|
|
143
|
+
};
|
|
144
|
+
const importClause = node.importClause;
|
|
145
|
+
if (importClause) {
|
|
146
|
+
// Default import
|
|
147
|
+
if (importClause.name) {
|
|
148
|
+
importInfo.defaultImport = importClause.name.text;
|
|
149
|
+
}
|
|
150
|
+
// Named imports
|
|
151
|
+
const namedBindings = importClause.namedBindings;
|
|
152
|
+
if (namedBindings) {
|
|
153
|
+
if (ts.isNamespaceImport(namedBindings)) {
|
|
154
|
+
importInfo.namespaceImport = namedBindings.name.text;
|
|
155
|
+
}
|
|
156
|
+
else if (ts.isNamedImports(namedBindings)) {
|
|
157
|
+
for (const element of namedBindings.elements) {
|
|
158
|
+
importInfo.namedImports.push(element.name.text);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return importInfo;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Extract export information from an export declaration
|
|
167
|
+
*
|
|
168
|
+
* @param node - Export declaration or assignment node
|
|
169
|
+
* @param sourceFile - Source file path
|
|
170
|
+
* @returns Array of export info
|
|
171
|
+
*/
|
|
172
|
+
export function extractExport(node, sourceFile) {
|
|
173
|
+
const exports = [];
|
|
174
|
+
if (ts.isExportAssignment(node)) {
|
|
175
|
+
// export default X
|
|
176
|
+
exports.push({
|
|
177
|
+
name: 'default',
|
|
178
|
+
kind: 'unknown',
|
|
179
|
+
isDefault: true,
|
|
180
|
+
sourceFile,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
else if (node.exportClause && ts.isNamedExports(node.exportClause)) {
|
|
184
|
+
// export { X, Y }
|
|
185
|
+
for (const element of node.exportClause.elements) {
|
|
186
|
+
exports.push({
|
|
187
|
+
name: element.name.text,
|
|
188
|
+
kind: 'unknown',
|
|
189
|
+
isDefault: false,
|
|
190
|
+
sourceFile,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return exports;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Extract function information from a function declaration
|
|
198
|
+
*
|
|
199
|
+
* @param node - Function declaration node
|
|
200
|
+
* @param relativePath - Relative file path
|
|
201
|
+
* @param sourceFile - Source file for position lookup
|
|
202
|
+
* @returns Function info or null if no name
|
|
203
|
+
*/
|
|
204
|
+
export function extractFunction(node, relativePath, sourceFile) {
|
|
205
|
+
if (!node.name)
|
|
206
|
+
return null;
|
|
207
|
+
const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
|
|
208
|
+
const isAsync = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.AsyncKeyword);
|
|
209
|
+
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|
|
210
|
+
return {
|
|
211
|
+
name: node.name.text,
|
|
212
|
+
parameterCount: node.parameters.length,
|
|
213
|
+
isAsync: isAsync ?? false,
|
|
214
|
+
isExported: isExported ?? false,
|
|
215
|
+
sourceFile: relativePath,
|
|
216
|
+
line: line + 1,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=parsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/analysis/parsers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-1303: Language Router
|
|
3
|
+
* SMI-1337: Added metrics integration
|
|
4
|
+
* SMI-1339: Added factory pattern integration
|
|
5
|
+
* SMI-1340: Added language detection for extensionless files
|
|
6
|
+
*
|
|
7
|
+
* Detects file language and dispatches to appropriate adapter.
|
|
8
|
+
* Manages adapter registry and provides unified access to framework rules.
|
|
9
|
+
*
|
|
10
|
+
* @see docs/architecture/multi-language-analysis.md
|
|
11
|
+
* @module analysis/router
|
|
12
|
+
*/
|
|
13
|
+
import type { LanguageAdapter } from './adapters/base.js';
|
|
14
|
+
import type { SupportedLanguage, FrameworkRule, ParseResult } from './types.js';
|
|
15
|
+
import { type AnalysisMetrics } from './metrics.js';
|
|
16
|
+
import { type LanguageDetectionResult } from './language-detector.js';
|
|
17
|
+
/**
|
|
18
|
+
* Options for LanguageRouter
|
|
19
|
+
*/
|
|
20
|
+
export interface LanguageRouterOptions {
|
|
21
|
+
/** Whether to throw on unsupported files (default: false) */
|
|
22
|
+
throwOnUnsupported?: boolean;
|
|
23
|
+
/** Custom metrics instance (uses default if not provided) */
|
|
24
|
+
metrics?: AnalysisMetrics;
|
|
25
|
+
/** Languages to register adapters for (default: all) */
|
|
26
|
+
languages?: SupportedLanguage[];
|
|
27
|
+
/** Enable language detection for extensionless files (default: true) */
|
|
28
|
+
enableLanguageDetection?: boolean;
|
|
29
|
+
/** Minimum confidence for language detection (default: 0.5) */
|
|
30
|
+
detectionMinConfidence?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Routes files to appropriate language adapters
|
|
34
|
+
*
|
|
35
|
+
* Manages a registry of language adapters and provides:
|
|
36
|
+
* - File extension to adapter mapping
|
|
37
|
+
* - Aggregated framework detection rules
|
|
38
|
+
* - Unified parsing interface
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const router = new LanguageRouter()
|
|
43
|
+
*
|
|
44
|
+
* // Register adapters
|
|
45
|
+
* router.registerAdapter(new TypeScriptAdapter())
|
|
46
|
+
* router.registerAdapter(new PythonAdapter())
|
|
47
|
+
*
|
|
48
|
+
* // Route files to appropriate adapter
|
|
49
|
+
* const adapter = router.getAdapter('src/main.py')
|
|
50
|
+
* const result = adapter.parseFile(content, 'src/main.py')
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare class LanguageRouter {
|
|
54
|
+
private adapters;
|
|
55
|
+
private extensionMap;
|
|
56
|
+
private readonly throwOnUnsupported;
|
|
57
|
+
private readonly metrics;
|
|
58
|
+
private readonly languageDetector;
|
|
59
|
+
private readonly enableLanguageDetection;
|
|
60
|
+
constructor(options?: LanguageRouterOptions);
|
|
61
|
+
/**
|
|
62
|
+
* Create a LanguageRouter with all adapters pre-registered
|
|
63
|
+
*
|
|
64
|
+
* Uses AdapterFactory to create adapters for all supported languages.
|
|
65
|
+
*
|
|
66
|
+
* @param options - Router options
|
|
67
|
+
* @returns Configured LanguageRouter
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* // Create router with all language adapters
|
|
72
|
+
* const router = LanguageRouter.createWithAllAdapters()
|
|
73
|
+
*
|
|
74
|
+
* // Create router with specific languages only
|
|
75
|
+
* const router2 = LanguageRouter.createWithAllAdapters({
|
|
76
|
+
* languages: ['typescript', 'python']
|
|
77
|
+
* })
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
static createWithAllAdapters(options?: LanguageRouterOptions): LanguageRouter;
|
|
81
|
+
/**
|
|
82
|
+
* Create a LanguageRouter using cached adapters from factory
|
|
83
|
+
*
|
|
84
|
+
* Reuses adapter instances from the factory cache for efficiency.
|
|
85
|
+
*
|
|
86
|
+
* @param options - Router options
|
|
87
|
+
* @returns Configured LanguageRouter
|
|
88
|
+
*/
|
|
89
|
+
static createWithCachedAdapters(options?: LanguageRouterOptions): LanguageRouter;
|
|
90
|
+
/**
|
|
91
|
+
* Register a language adapter
|
|
92
|
+
*
|
|
93
|
+
* The adapter's extensions are mapped for fast lookup.
|
|
94
|
+
* If an adapter for the same language exists, it is replaced.
|
|
95
|
+
*
|
|
96
|
+
* @param adapter - Adapter to register
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* router.registerAdapter(new PythonAdapter())
|
|
101
|
+
* // Now handles .py, .pyi, .pyw files
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
registerAdapter(adapter: LanguageAdapter): void;
|
|
105
|
+
/**
|
|
106
|
+
* Unregister a language adapter
|
|
107
|
+
*
|
|
108
|
+
* @param language - Language to unregister
|
|
109
|
+
* @returns True if adapter was found and removed
|
|
110
|
+
*/
|
|
111
|
+
unregisterAdapter(language: SupportedLanguage): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Get adapter for a file path
|
|
114
|
+
*
|
|
115
|
+
* @param filePath - Path to the file
|
|
116
|
+
* @returns Adapter that can handle the file
|
|
117
|
+
* @throws Error if no adapter found and throwOnUnsupported is true
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const adapter = router.getAdapter('src/main.py')
|
|
122
|
+
* // Returns PythonAdapter
|
|
123
|
+
*
|
|
124
|
+
* const adapter2 = router.getAdapter('unknown.xyz')
|
|
125
|
+
* // Throws if throwOnUnsupported, otherwise returns null
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
getAdapter(filePath: string): LanguageAdapter;
|
|
129
|
+
/**
|
|
130
|
+
* Try to get adapter for a file path (returns null instead of throwing)
|
|
131
|
+
*
|
|
132
|
+
* SMI-1340: For extensionless files, attempts language detection
|
|
133
|
+
* from content if provided and detection is enabled.
|
|
134
|
+
*
|
|
135
|
+
* @param filePath - Path to the file
|
|
136
|
+
* @param content - Optional file content for language detection
|
|
137
|
+
* @returns Adapter or null if not supported
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* // With extension - uses extension mapping
|
|
142
|
+
* const adapter = router.tryGetAdapter('main.py')
|
|
143
|
+
*
|
|
144
|
+
* // Without extension - attempts content detection
|
|
145
|
+
* const adapter2 = router.tryGetAdapter('Makefile', 'package main\n...')
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
tryGetAdapter(filePath: string, content?: string): LanguageAdapter | null;
|
|
149
|
+
/**
|
|
150
|
+
* Detect language from file content
|
|
151
|
+
*
|
|
152
|
+
* Uses heuristics to determine the language of a file:
|
|
153
|
+
* - Shebang analysis (#!/usr/bin/python, etc.)
|
|
154
|
+
* - Content patterns (import statements, syntax markers)
|
|
155
|
+
* - Statistical keyword analysis
|
|
156
|
+
*
|
|
157
|
+
* @param content - File content to analyze
|
|
158
|
+
* @returns Detection result with language and confidence
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```typescript
|
|
162
|
+
* const result = router.detectLanguageFromContent('#!/usr/bin/env python3\nprint("hello")')
|
|
163
|
+
* // { language: 'python', confidence: 1.0, method: 'shebang', evidence: [...] }
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
detectLanguageFromContent(content: string): LanguageDetectionResult;
|
|
167
|
+
/**
|
|
168
|
+
* Try to get adapter using content detection
|
|
169
|
+
*
|
|
170
|
+
* Specifically for extensionless files where content-based
|
|
171
|
+
* detection is required.
|
|
172
|
+
*
|
|
173
|
+
* @param content - File content to analyze
|
|
174
|
+
* @returns Object with adapter and detection result
|
|
175
|
+
*/
|
|
176
|
+
tryGetAdapterFromContent(content: string): {
|
|
177
|
+
adapter: LanguageAdapter | null;
|
|
178
|
+
detection: LanguageDetectionResult;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Check if a file can be handled
|
|
182
|
+
*
|
|
183
|
+
* @param filePath - Path to check
|
|
184
|
+
* @returns True if an adapter is registered for this file type
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```typescript
|
|
188
|
+
* router.canHandle('main.py') // true (if Python adapter registered)
|
|
189
|
+
* router.canHandle('main.xyz') // false
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
canHandle(filePath: string): boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Get language for a file path
|
|
195
|
+
*
|
|
196
|
+
* @param filePath - Path to check
|
|
197
|
+
* @returns Language or null if not supported
|
|
198
|
+
*/
|
|
199
|
+
getLanguage(filePath: string): SupportedLanguage | null;
|
|
200
|
+
/**
|
|
201
|
+
* Parse a file using the appropriate adapter
|
|
202
|
+
*
|
|
203
|
+
* Convenience method that combines getAdapter and parseFile.
|
|
204
|
+
* SMI-1337: Records metrics for file parsing.
|
|
205
|
+
*
|
|
206
|
+
* @param content - File content
|
|
207
|
+
* @param filePath - Path to the file
|
|
208
|
+
* @returns Parse result
|
|
209
|
+
* @throws Error if no adapter for file type
|
|
210
|
+
*/
|
|
211
|
+
parseFile(content: string, filePath: string): ParseResult;
|
|
212
|
+
/**
|
|
213
|
+
* Get list of supported languages
|
|
214
|
+
*
|
|
215
|
+
* @returns Array of registered languages
|
|
216
|
+
*/
|
|
217
|
+
getSupportedLanguages(): SupportedLanguage[];
|
|
218
|
+
/**
|
|
219
|
+
* Get list of supported file extensions
|
|
220
|
+
*
|
|
221
|
+
* @returns Array of extensions (with dot)
|
|
222
|
+
*/
|
|
223
|
+
getSupportedExtensions(): string[];
|
|
224
|
+
/**
|
|
225
|
+
* Get adapter for a specific language
|
|
226
|
+
*
|
|
227
|
+
* @param language - Language to get adapter for
|
|
228
|
+
* @returns Adapter or undefined if not registered
|
|
229
|
+
*/
|
|
230
|
+
getAdapterByLanguage(language: SupportedLanguage): LanguageAdapter | undefined;
|
|
231
|
+
/**
|
|
232
|
+
* Get all framework detection rules from all adapters
|
|
233
|
+
*
|
|
234
|
+
* Aggregates rules from all registered adapters for
|
|
235
|
+
* comprehensive framework detection.
|
|
236
|
+
*
|
|
237
|
+
* @returns Combined array of framework rules
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```typescript
|
|
241
|
+
* const rules = router.getAllFrameworkRules()
|
|
242
|
+
* // Includes rules for React, Django, Gin, Actix, etc.
|
|
243
|
+
* ```
|
|
244
|
+
*/
|
|
245
|
+
getAllFrameworkRules(): FrameworkRule[];
|
|
246
|
+
/**
|
|
247
|
+
* Get framework rules for a specific language
|
|
248
|
+
*
|
|
249
|
+
* @param language - Language to get rules for
|
|
250
|
+
* @returns Framework rules or empty array
|
|
251
|
+
*/
|
|
252
|
+
getFrameworkRules(language: SupportedLanguage): FrameworkRule[];
|
|
253
|
+
/**
|
|
254
|
+
* Get number of registered adapters
|
|
255
|
+
*/
|
|
256
|
+
get adapterCount(): number;
|
|
257
|
+
/**
|
|
258
|
+
* Clean up all adapters
|
|
259
|
+
*
|
|
260
|
+
* Disposes all registered adapters and clears the registry.
|
|
261
|
+
*/
|
|
262
|
+
dispose(): void;
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/analysis/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAEvF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,wDAAwD;IACxD,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC/B,wEAAwE;IACxE,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,+DAA+D;IAC/D,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAqD;IACrE,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;gBAErC,OAAO,GAAE,qBAA0B;IAe/C;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc;IAejF;;;;;;;OAOG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc;IAepF;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAkB/C;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO;IAavD;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAkB7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAoBzE;;;;;;;;;;;;;;;;OAgBG;IACH,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB;IAanE;;;;;;;;OAQG;IACH,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG;QACzC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;QAC/B,SAAS,EAAE,uBAAuB,CAAA;KACnC;IAWD;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKpC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAKvD;;;;;;;;;;OAUG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW;IAkBzD;;;;OAIG;IACH,qBAAqB,IAAI,iBAAiB,EAAE;IAI5C;;;;OAIG;IACH,sBAAsB,IAAI,MAAM,EAAE;IAIlC;;;;;OAKG;IACH,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,eAAe,GAAG,SAAS;IAI9E;;;;;;;;;;;;;OAaG;IACH,oBAAoB,IAAI,aAAa,EAAE;IAUvC;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,aAAa,EAAE;IAK/D;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAWhB"}
|