@skillsmith/core 0.1.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/dist/.tsbuildinfo +1 -0
- package/dist/src/__tests__/errors.test.d.ts +5 -0
- package/dist/src/__tests__/errors.test.d.ts.map +1 -0
- package/dist/src/__tests__/errors.test.js +115 -0
- package/dist/src/__tests__/errors.test.js.map +1 -0
- package/dist/src/activation/ActivationManager.d.ts +141 -0
- package/dist/src/activation/ActivationManager.d.ts.map +1 -0
- package/dist/src/activation/ActivationManager.js +282 -0
- package/dist/src/activation/ActivationManager.js.map +1 -0
- package/dist/src/activation/ZeroConfigActivator.d.ts +126 -0
- package/dist/src/activation/ZeroConfigActivator.d.ts.map +1 -0
- package/dist/src/activation/ZeroConfigActivator.js +259 -0
- package/dist/src/activation/ZeroConfigActivator.js.map +1 -0
- package/dist/src/activation/index.d.ts +8 -0
- package/dist/src/activation/index.d.ts.map +1 -0
- package/dist/src/activation/index.js +8 -0
- package/dist/src/activation/index.js.map +1 -0
- package/dist/src/analysis/CodebaseAnalyzer.d.ts +175 -0
- package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -0
- package/dist/src/analysis/CodebaseAnalyzer.js +495 -0
- package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -0
- package/dist/src/analysis/index.d.ts +10 -0
- package/dist/src/analysis/index.d.ts.map +1 -0
- package/dist/src/analysis/index.js +10 -0
- package/dist/src/analysis/index.js.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.d.ts +97 -0
- package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.js +376 -0
- package/dist/src/analytics/AnalyticsRepository.js.map +1 -0
- package/dist/src/analytics/ExperimentService.d.ts +70 -0
- package/dist/src/analytics/ExperimentService.d.ts.map +1 -0
- package/dist/src/analytics/ExperimentService.js +251 -0
- package/dist/src/analytics/ExperimentService.js.map +1 -0
- package/dist/src/analytics/ROIDashboardService.d.ts +55 -0
- package/dist/src/analytics/ROIDashboardService.d.ts.map +1 -0
- package/dist/src/analytics/ROIDashboardService.js +304 -0
- package/dist/src/analytics/ROIDashboardService.js.map +1 -0
- package/dist/src/analytics/UsageAnalyticsService.d.ts +55 -0
- package/dist/src/analytics/UsageAnalyticsService.d.ts.map +1 -0
- package/dist/src/analytics/UsageAnalyticsService.js +180 -0
- package/dist/src/analytics/UsageAnalyticsService.js.map +1 -0
- package/dist/src/analytics/anonymizer.d.ts +53 -0
- package/dist/src/analytics/anonymizer.d.ts.map +1 -0
- package/dist/src/analytics/anonymizer.js +107 -0
- package/dist/src/analytics/anonymizer.js.map +1 -0
- package/dist/src/analytics/constants.d.ts +19 -0
- package/dist/src/analytics/constants.d.ts.map +1 -0
- package/dist/src/analytics/constants.js +19 -0
- package/dist/src/analytics/constants.js.map +1 -0
- package/dist/src/analytics/index.d.ts +23 -0
- package/dist/src/analytics/index.d.ts.map +1 -0
- package/dist/src/analytics/index.js +23 -0
- package/dist/src/analytics/index.js.map +1 -0
- package/dist/src/analytics/metrics-aggregator.d.ts +98 -0
- package/dist/src/analytics/metrics-aggregator.d.ts.map +1 -0
- package/dist/src/analytics/metrics-aggregator.js +176 -0
- package/dist/src/analytics/metrics-aggregator.js.map +1 -0
- package/dist/src/analytics/metrics-exporter.d.ts +148 -0
- package/dist/src/analytics/metrics-exporter.d.ts.map +1 -0
- package/dist/src/analytics/metrics-exporter.js +244 -0
- package/dist/src/analytics/metrics-exporter.js.map +1 -0
- package/dist/src/analytics/schema.d.ts +20 -0
- package/dist/src/analytics/schema.d.ts.map +1 -0
- package/dist/src/analytics/schema.js +125 -0
- package/dist/src/analytics/schema.js.map +1 -0
- package/dist/src/analytics/storage.d.ts +76 -0
- package/dist/src/analytics/storage.d.ts.map +1 -0
- package/dist/src/analytics/storage.js +180 -0
- package/dist/src/analytics/storage.js.map +1 -0
- package/dist/src/analytics/types.d.ts +277 -0
- package/dist/src/analytics/types.d.ts.map +1 -0
- package/dist/src/analytics/types.js +10 -0
- package/dist/src/analytics/types.js.map +1 -0
- package/dist/src/analytics/usage-tracker.d.ts +132 -0
- package/dist/src/analytics/usage-tracker.d.ts.map +1 -0
- package/dist/src/analytics/usage-tracker.js +213 -0
- package/dist/src/analytics/usage-tracker.js.map +1 -0
- package/dist/src/benchmarks/BenchmarkRunner.d.ts +258 -0
- package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -0
- package/dist/src/benchmarks/BenchmarkRunner.js +453 -0
- package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -0
- package/dist/src/benchmarks/IndexBenchmark.d.ts +101 -0
- package/dist/src/benchmarks/IndexBenchmark.d.ts.map +1 -0
- package/dist/src/benchmarks/IndexBenchmark.js +314 -0
- package/dist/src/benchmarks/IndexBenchmark.js.map +1 -0
- package/dist/src/benchmarks/MemoryProfiler.d.ts +266 -0
- package/dist/src/benchmarks/MemoryProfiler.d.ts.map +1 -0
- package/dist/src/benchmarks/MemoryProfiler.js +404 -0
- package/dist/src/benchmarks/MemoryProfiler.js.map +1 -0
- package/dist/src/benchmarks/SearchBenchmark.d.ts +71 -0
- package/dist/src/benchmarks/SearchBenchmark.d.ts.map +1 -0
- package/dist/src/benchmarks/SearchBenchmark.js +321 -0
- package/dist/src/benchmarks/SearchBenchmark.js.map +1 -0
- package/dist/src/benchmarks/cacheBenchmark.d.ts +75 -0
- package/dist/src/benchmarks/cacheBenchmark.d.ts.map +1 -0
- package/dist/src/benchmarks/cacheBenchmark.js +325 -0
- package/dist/src/benchmarks/cacheBenchmark.js.map +1 -0
- package/dist/src/benchmarks/cli.d.ts +17 -0
- package/dist/src/benchmarks/cli.d.ts.map +1 -0
- package/dist/src/benchmarks/cli.js +140 -0
- package/dist/src/benchmarks/cli.js.map +1 -0
- package/dist/src/benchmarks/embeddingBenchmark.d.ts +86 -0
- package/dist/src/benchmarks/embeddingBenchmark.d.ts.map +1 -0
- package/dist/src/benchmarks/embeddingBenchmark.js +329 -0
- package/dist/src/benchmarks/embeddingBenchmark.js.map +1 -0
- package/dist/src/benchmarks/index.d.ts +51 -0
- package/dist/src/benchmarks/index.d.ts.map +1 -0
- package/dist/src/benchmarks/index.js +201 -0
- package/dist/src/benchmarks/index.js.map +1 -0
- package/dist/src/benchmarks/stats.d.ts +56 -0
- package/dist/src/benchmarks/stats.d.ts.map +1 -0
- package/dist/src/benchmarks/stats.js +86 -0
- package/dist/src/benchmarks/stats.js.map +1 -0
- package/dist/src/cache/CacheEntry.d.ts +101 -0
- package/dist/src/cache/CacheEntry.d.ts.map +1 -0
- package/dist/src/cache/CacheEntry.js +238 -0
- package/dist/src/cache/CacheEntry.js.map +1 -0
- package/dist/src/cache/CacheManager.d.ts +167 -0
- package/dist/src/cache/CacheManager.d.ts.map +1 -0
- package/dist/src/cache/CacheManager.js +346 -0
- package/dist/src/cache/CacheManager.js.map +1 -0
- package/dist/src/cache/TieredCache.d.ts +97 -0
- package/dist/src/cache/TieredCache.d.ts.map +1 -0
- package/dist/src/cache/TieredCache.js +352 -0
- package/dist/src/cache/TieredCache.js.map +1 -0
- package/dist/src/cache/index.d.ts +63 -0
- package/dist/src/cache/index.d.ts.map +1 -0
- package/dist/src/cache/index.js +91 -0
- package/dist/src/cache/index.js.map +1 -0
- package/dist/src/cache/lru.d.ts +68 -0
- package/dist/src/cache/lru.d.ts.map +1 -0
- package/dist/src/cache/lru.js +105 -0
- package/dist/src/cache/lru.js.map +1 -0
- package/dist/src/cache/sqlite.d.ts +59 -0
- package/dist/src/cache/sqlite.d.ts.map +1 -0
- package/dist/src/cache/sqlite.js +159 -0
- package/dist/src/cache/sqlite.js.map +1 -0
- package/dist/src/db/quarantine-schema.d.ts +81 -0
- package/dist/src/db/quarantine-schema.d.ts.map +1 -0
- package/dist/src/db/quarantine-schema.js +110 -0
- package/dist/src/db/quarantine-schema.js.map +1 -0
- package/dist/src/db/schema.d.ts +65 -0
- package/dist/src/db/schema.d.ts.map +1 -0
- package/dist/src/db/schema.js +318 -0
- package/dist/src/db/schema.js.map +1 -0
- package/dist/src/embeddings/index.d.ts +158 -0
- package/dist/src/embeddings/index.d.ts.map +1 -0
- package/dist/src/embeddings/index.js +397 -0
- package/dist/src/embeddings/index.js.map +1 -0
- package/dist/src/errors/SkillsmithError.d.ts +118 -0
- package/dist/src/errors/SkillsmithError.d.ts.map +1 -0
- package/dist/src/errors/SkillsmithError.js +194 -0
- package/dist/src/errors/SkillsmithError.js.map +1 -0
- package/dist/src/errors/index.d.ts +36 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +36 -0
- package/dist/src/errors/index.js.map +1 -0
- package/dist/src/errors.d.ts +72 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +123 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/index.d.ts +56 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +73 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/index.test.d.ts +2 -0
- package/dist/src/index.test.d.ts.map +1 -0
- package/dist/src/index.test.js +35 -0
- package/dist/src/index.test.js.map +1 -0
- package/dist/src/indexer/GitHubIndexer.d.ts +107 -0
- package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -0
- package/dist/src/indexer/GitHubIndexer.js +202 -0
- package/dist/src/indexer/GitHubIndexer.js.map +1 -0
- package/dist/src/indexer/PartitionStrategy.d.ts +115 -0
- package/dist/src/indexer/PartitionStrategy.d.ts.map +1 -0
- package/dist/src/indexer/PartitionStrategy.js +207 -0
- package/dist/src/indexer/PartitionStrategy.js.map +1 -0
- package/dist/src/indexer/SkillParser.d.ts +112 -0
- package/dist/src/indexer/SkillParser.d.ts.map +1 -0
- package/dist/src/indexer/SkillParser.js +281 -0
- package/dist/src/indexer/SkillParser.js.map +1 -0
- package/dist/src/indexer/SwarmIndexer.d.ts +163 -0
- package/dist/src/indexer/SwarmIndexer.d.ts.map +1 -0
- package/dist/src/indexer/SwarmIndexer.js +300 -0
- package/dist/src/indexer/SwarmIndexer.js.map +1 -0
- package/dist/src/indexer/index.d.ts +12 -0
- package/dist/src/indexer/index.d.ts.map +1 -0
- package/dist/src/indexer/index.js +16 -0
- package/dist/src/indexer/index.js.map +1 -0
- package/dist/src/learning/interfaces.d.ts +338 -0
- package/dist/src/learning/interfaces.d.ts.map +1 -0
- package/dist/src/learning/interfaces.js +13 -0
- package/dist/src/learning/interfaces.js.map +1 -0
- package/dist/src/learning/types.d.ts +284 -0
- package/dist/src/learning/types.d.ts.map +1 -0
- package/dist/src/learning/types.js +112 -0
- package/dist/src/learning/types.js.map +1 -0
- package/dist/src/matching/OverlapDetector.d.ts +152 -0
- package/dist/src/matching/OverlapDetector.d.ts.map +1 -0
- package/dist/src/matching/OverlapDetector.js +218 -0
- package/dist/src/matching/OverlapDetector.js.map +1 -0
- package/dist/src/matching/SkillMatcher.d.ts +125 -0
- package/dist/src/matching/SkillMatcher.d.ts.map +1 -0
- package/dist/src/matching/SkillMatcher.js +206 -0
- package/dist/src/matching/SkillMatcher.js.map +1 -0
- package/dist/src/matching/index.d.ts +14 -0
- package/dist/src/matching/index.d.ts.map +1 -0
- package/dist/src/matching/index.js +12 -0
- package/dist/src/matching/index.js.map +1 -0
- package/dist/src/pipeline/DailyIndexPipeline.d.ts +220 -0
- package/dist/src/pipeline/DailyIndexPipeline.d.ts.map +1 -0
- package/dist/src/pipeline/DailyIndexPipeline.js +320 -0
- package/dist/src/pipeline/DailyIndexPipeline.js.map +1 -0
- package/dist/src/pipeline/index.d.ts +9 -0
- package/dist/src/pipeline/index.d.ts.map +1 -0
- package/dist/src/pipeline/index.js +9 -0
- package/dist/src/pipeline/index.js.map +1 -0
- package/dist/src/repositories/CacheRepository.d.ts +60 -0
- package/dist/src/repositories/CacheRepository.d.ts.map +1 -0
- package/dist/src/repositories/CacheRepository.js +148 -0
- package/dist/src/repositories/CacheRepository.js.map +1 -0
- package/dist/src/repositories/IndexerRepository.d.ts +126 -0
- package/dist/src/repositories/IndexerRepository.d.ts.map +1 -0
- package/dist/src/repositories/IndexerRepository.js +270 -0
- package/dist/src/repositories/IndexerRepository.js.map +1 -0
- package/dist/src/repositories/QuarantineRepository.d.ts +255 -0
- package/dist/src/repositories/QuarantineRepository.d.ts.map +1 -0
- package/dist/src/repositories/QuarantineRepository.js +445 -0
- package/dist/src/repositories/QuarantineRepository.js.map +1 -0
- package/dist/src/repositories/SkillRepository.d.ts +78 -0
- package/dist/src/repositories/SkillRepository.d.ts.map +1 -0
- package/dist/src/repositories/SkillRepository.js +208 -0
- package/dist/src/repositories/SkillRepository.js.map +1 -0
- package/dist/src/scoring/QualityScorer.d.ts +188 -0
- package/dist/src/scoring/QualityScorer.d.ts.map +1 -0
- package/dist/src/scoring/QualityScorer.js +342 -0
- package/dist/src/scoring/QualityScorer.js.map +1 -0
- package/dist/src/scoring/index.d.ts +9 -0
- package/dist/src/scoring/index.d.ts.map +1 -0
- package/dist/src/scoring/index.js +9 -0
- package/dist/src/scoring/index.js.map +1 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts +5 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts.map +1 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js +365 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -0
- package/dist/src/scripts/import-github-skills.d.ts +24 -0
- package/dist/src/scripts/import-github-skills.d.ts.map +1 -0
- package/dist/src/scripts/import-github-skills.js +545 -0
- package/dist/src/scripts/import-github-skills.js.map +1 -0
- package/dist/src/scripts/import-to-database.d.ts +60 -0
- package/dist/src/scripts/import-to-database.d.ts.map +1 -0
- package/dist/src/scripts/import-to-database.js +307 -0
- package/dist/src/scripts/import-to-database.js.map +1 -0
- package/dist/src/scripts/scan-imported-skills.d.ts +15 -0
- package/dist/src/scripts/scan-imported-skills.d.ts.map +1 -0
- package/dist/src/scripts/scan-imported-skills.js +405 -0
- package/dist/src/scripts/scan-imported-skills.js.map +1 -0
- package/dist/src/scripts/validate-skills.d.ts +180 -0
- package/dist/src/scripts/validate-skills.d.ts.map +1 -0
- package/dist/src/scripts/validate-skills.js +572 -0
- package/dist/src/scripts/validate-skills.js.map +1 -0
- package/dist/src/search/hybrid.d.ts +85 -0
- package/dist/src/search/hybrid.d.ts.map +1 -0
- package/dist/src/search/hybrid.js +291 -0
- package/dist/src/search/hybrid.js.map +1 -0
- package/dist/src/search/index.d.ts +6 -0
- package/dist/src/search/index.d.ts.map +1 -0
- package/dist/src/search/index.js +5 -0
- package/dist/src/search/index.js.map +1 -0
- package/dist/src/security/AuditLogger.d.ts +197 -0
- package/dist/src/security/AuditLogger.d.ts.map +1 -0
- package/dist/src/security/AuditLogger.js +398 -0
- package/dist/src/security/AuditLogger.js.map +1 -0
- package/dist/src/security/RateLimiter.d.ts +337 -0
- package/dist/src/security/RateLimiter.d.ts.map +1 -0
- package/dist/src/security/RateLimiter.js +782 -0
- package/dist/src/security/RateLimiter.js.map +1 -0
- package/dist/src/security/__tests__/pathValidation.test.d.ts +8 -0
- package/dist/src/security/__tests__/pathValidation.test.d.ts.map +1 -0
- package/dist/src/security/__tests__/pathValidation.test.js +249 -0
- package/dist/src/security/__tests__/pathValidation.test.js.map +1 -0
- package/dist/src/security/index.d.ts +18 -0
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +14 -0
- package/dist/src/security/index.js.map +1 -0
- package/dist/src/security/pathValidation.d.ts +95 -0
- package/dist/src/security/pathValidation.d.ts.map +1 -0
- package/dist/src/security/pathValidation.js +216 -0
- package/dist/src/security/pathValidation.js.map +1 -0
- package/dist/src/security/sanitization.d.ts +123 -0
- package/dist/src/security/sanitization.d.ts.map +1 -0
- package/dist/src/security/sanitization.js +378 -0
- package/dist/src/security/sanitization.js.map +1 -0
- package/dist/src/security/scanner.d.ts +151 -0
- package/dist/src/security/scanner.d.ts.map +1 -0
- package/dist/src/security/scanner.js +599 -0
- package/dist/src/security/scanner.js.map +1 -0
- package/dist/src/services/SearchService.d.ts +88 -0
- package/dist/src/services/SearchService.d.ts.map +1 -0
- package/dist/src/services/SearchService.js +305 -0
- package/dist/src/services/SearchService.js.map +1 -0
- package/dist/src/session/SessionContext.d.ts +116 -0
- package/dist/src/session/SessionContext.d.ts.map +1 -0
- package/dist/src/session/SessionContext.js +134 -0
- package/dist/src/session/SessionContext.js.map +1 -0
- package/dist/src/session/SessionHealthMonitor.d.ts +249 -0
- package/dist/src/session/SessionHealthMonitor.d.ts.map +1 -0
- package/dist/src/session/SessionHealthMonitor.js +302 -0
- package/dist/src/session/SessionHealthMonitor.js.map +1 -0
- package/dist/src/session/SessionManager.d.ts +179 -0
- package/dist/src/session/SessionManager.d.ts.map +1 -0
- package/dist/src/session/SessionManager.js +451 -0
- package/dist/src/session/SessionManager.js.map +1 -0
- package/dist/src/session/SessionRecovery.d.ts +84 -0
- package/dist/src/session/SessionRecovery.d.ts.map +1 -0
- package/dist/src/session/SessionRecovery.js +257 -0
- package/dist/src/session/SessionRecovery.js.map +1 -0
- package/dist/src/session/index.d.ts +40 -0
- package/dist/src/session/index.d.ts.map +1 -0
- package/dist/src/session/index.js +44 -0
- package/dist/src/session/index.js.map +1 -0
- package/dist/src/sources/BaseSourceAdapter.d.ts +144 -0
- package/dist/src/sources/BaseSourceAdapter.d.ts.map +1 -0
- package/dist/src/sources/BaseSourceAdapter.js +287 -0
- package/dist/src/sources/BaseSourceAdapter.js.map +1 -0
- package/dist/src/sources/GitHubSourceAdapter.d.ts +98 -0
- package/dist/src/sources/GitHubSourceAdapter.d.ts.map +1 -0
- package/dist/src/sources/GitHubSourceAdapter.js +269 -0
- package/dist/src/sources/GitHubSourceAdapter.js.map +1 -0
- package/dist/src/sources/GitLabSourceAdapter.d.ts +102 -0
- package/dist/src/sources/GitLabSourceAdapter.d.ts.map +1 -0
- package/dist/src/sources/GitLabSourceAdapter.js +310 -0
- package/dist/src/sources/GitLabSourceAdapter.js.map +1 -0
- package/dist/src/sources/ISourceAdapter.d.ts +110 -0
- package/dist/src/sources/ISourceAdapter.d.ts.map +1 -0
- package/dist/src/sources/ISourceAdapter.js +19 -0
- package/dist/src/sources/ISourceAdapter.js.map +1 -0
- package/dist/src/sources/LocalFilesystemAdapter.d.ts +112 -0
- package/dist/src/sources/LocalFilesystemAdapter.d.ts.map +1 -0
- package/dist/src/sources/LocalFilesystemAdapter.js +340 -0
- package/dist/src/sources/LocalFilesystemAdapter.js.map +1 -0
- package/dist/src/sources/RawUrlSourceAdapter.d.ts +128 -0
- package/dist/src/sources/RawUrlSourceAdapter.d.ts.map +1 -0
- package/dist/src/sources/RawUrlSourceAdapter.js +282 -0
- package/dist/src/sources/RawUrlSourceAdapter.js.map +1 -0
- package/dist/src/sources/SourceAdapterRegistry.d.ts +156 -0
- package/dist/src/sources/SourceAdapterRegistry.d.ts.map +1 -0
- package/dist/src/sources/SourceAdapterRegistry.js +242 -0
- package/dist/src/sources/SourceAdapterRegistry.js.map +1 -0
- package/dist/src/sources/SourceIndexer.d.ts +119 -0
- package/dist/src/sources/SourceIndexer.d.ts.map +1 -0
- package/dist/src/sources/SourceIndexer.js +285 -0
- package/dist/src/sources/SourceIndexer.js.map +1 -0
- package/dist/src/sources/index.d.ts +45 -0
- package/dist/src/sources/index.d.ts.map +1 -0
- package/dist/src/sources/index.js +51 -0
- package/dist/src/sources/index.js.map +1 -0
- package/dist/src/sources/shared.d.ts +125 -0
- package/dist/src/sources/shared.d.ts.map +1 -0
- package/dist/src/sources/shared.js +191 -0
- package/dist/src/sources/shared.js.map +1 -0
- package/dist/src/sources/types.d.ts +204 -0
- package/dist/src/sources/types.d.ts.map +1 -0
- package/dist/src/sources/types.js +6 -0
- package/dist/src/sources/types.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +25 -0
- package/dist/src/telemetry/index.d.ts.map +1 -0
- package/dist/src/telemetry/index.js +32 -0
- package/dist/src/telemetry/index.js.map +1 -0
- package/dist/src/telemetry/metrics.d.ts +171 -0
- package/dist/src/telemetry/metrics.d.ts.map +1 -0
- package/dist/src/telemetry/metrics.js +401 -0
- package/dist/src/telemetry/metrics.js.map +1 -0
- package/dist/src/telemetry/prometheus.d.ts +81 -0
- package/dist/src/telemetry/prometheus.d.ts.map +1 -0
- package/dist/src/telemetry/prometheus.js +252 -0
- package/dist/src/telemetry/prometheus.js.map +1 -0
- package/dist/src/telemetry/tracer.d.ts +151 -0
- package/dist/src/telemetry/tracer.d.ts.map +1 -0
- package/dist/src/telemetry/tracer.js +391 -0
- package/dist/src/telemetry/tracer.js.map +1 -0
- package/dist/src/triggers/ContextScorer.d.ts +118 -0
- package/dist/src/triggers/ContextScorer.d.ts.map +1 -0
- package/dist/src/triggers/ContextScorer.js +265 -0
- package/dist/src/triggers/ContextScorer.js.map +1 -0
- package/dist/src/triggers/TriggerDetector.d.ts +178 -0
- package/dist/src/triggers/TriggerDetector.d.ts.map +1 -0
- package/dist/src/triggers/TriggerDetector.js +390 -0
- package/dist/src/triggers/TriggerDetector.js.map +1 -0
- package/dist/src/triggers/__tests__/ContextScorer.test.d.ts +6 -0
- package/dist/src/triggers/__tests__/ContextScorer.test.d.ts.map +1 -0
- package/dist/src/triggers/__tests__/ContextScorer.test.js +307 -0
- package/dist/src/triggers/__tests__/ContextScorer.test.js.map +1 -0
- package/dist/src/triggers/__tests__/TriggerDetector.test.d.ts +6 -0
- package/dist/src/triggers/__tests__/TriggerDetector.test.d.ts.map +1 -0
- package/dist/src/triggers/__tests__/TriggerDetector.test.js +249 -0
- package/dist/src/triggers/__tests__/TriggerDetector.test.js.map +1 -0
- package/dist/src/triggers/index.d.ts +8 -0
- package/dist/src/triggers/index.d.ts.map +1 -0
- package/dist/src/triggers/index.js +8 -0
- package/dist/src/triggers/index.js.map +1 -0
- package/dist/src/types/skill.d.ts +80 -0
- package/dist/src/types/skill.d.ts.map +1 -0
- package/dist/src/types/skill.js +5 -0
- package/dist/src/types/skill.js.map +1 -0
- package/dist/src/types.d.ts +88 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +13 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/index.d.ts +6 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +6 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/logger.d.ts +172 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +291 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/retry.d.ts +97 -0
- package/dist/src/utils/retry.d.ts.map +1 -0
- package/dist/src/utils/retry.js +267 -0
- package/dist/src/utils/retry.js.map +1 -0
- package/dist/src/validation/index.d.ts +118 -0
- package/dist/src/validation/index.d.ts.map +1 -0
- package/dist/src/validation/index.js +434 -0
- package/dist/src/validation/index.js.map +1 -0
- package/dist/src/webhooks/WebhookHandler.d.ts +117 -0
- package/dist/src/webhooks/WebhookHandler.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookHandler.js +349 -0
- package/dist/src/webhooks/WebhookHandler.js.map +1 -0
- package/dist/src/webhooks/WebhookPayload.d.ts +238 -0
- package/dist/src/webhooks/WebhookPayload.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookPayload.js +244 -0
- package/dist/src/webhooks/WebhookPayload.js.map +1 -0
- package/dist/src/webhooks/WebhookQueue.d.ts +227 -0
- package/dist/src/webhooks/WebhookQueue.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookQueue.js +328 -0
- package/dist/src/webhooks/WebhookQueue.js.map +1 -0
- package/dist/src/webhooks/index.d.ts +12 -0
- package/dist/src/webhooks/index.d.ts.map +1 -0
- package/dist/src/webhooks/index.js +15 -0
- package/dist/src/webhooks/index.js.map +1 -0
- package/dist/tests/Analytics.integration.test.d.ts +7 -0
- package/dist/tests/Analytics.integration.test.d.ts.map +1 -0
- package/dist/tests/Analytics.integration.test.js +367 -0
- package/dist/tests/Analytics.integration.test.js.map +1 -0
- package/dist/tests/AnalyticsRepository.test.d.ts +8 -0
- package/dist/tests/AnalyticsRepository.test.d.ts.map +1 -0
- package/dist/tests/AnalyticsRepository.test.js +399 -0
- package/dist/tests/AnalyticsRepository.test.js.map +1 -0
- package/dist/tests/AnalyticsStorage.test.d.ts +8 -0
- package/dist/tests/AnalyticsStorage.test.d.ts.map +1 -0
- package/dist/tests/AnalyticsStorage.test.js +271 -0
- package/dist/tests/AnalyticsStorage.test.js.map +1 -0
- package/dist/tests/AuditLogger.test.d.ts +8 -0
- package/dist/tests/AuditLogger.test.d.ts.map +1 -0
- package/dist/tests/AuditLogger.test.js +699 -0
- package/dist/tests/AuditLogger.test.js.map +1 -0
- package/dist/tests/BenchmarkRunner.test.d.ts +11 -0
- package/dist/tests/BenchmarkRunner.test.d.ts.map +1 -0
- package/dist/tests/BenchmarkRunner.test.js +641 -0
- package/dist/tests/BenchmarkRunner.test.js.map +1 -0
- package/dist/tests/CacheRepository.test.d.ts +5 -0
- package/dist/tests/CacheRepository.test.d.ts.map +1 -0
- package/dist/tests/CacheRepository.test.js +184 -0
- package/dist/tests/CacheRepository.test.js.map +1 -0
- package/dist/tests/CacheSecurity.test.d.ts +8 -0
- package/dist/tests/CacheSecurity.test.d.ts.map +1 -0
- package/dist/tests/CacheSecurity.test.js +273 -0
- package/dist/tests/CacheSecurity.test.js.map +1 -0
- package/dist/tests/CodebaseAnalyzer.test.d.ts +2 -0
- package/dist/tests/CodebaseAnalyzer.test.d.ts.map +1 -0
- package/dist/tests/CodebaseAnalyzer.test.js +347 -0
- package/dist/tests/CodebaseAnalyzer.test.js.map +1 -0
- package/dist/tests/DailyIndexPipeline.test.d.ts +7 -0
- package/dist/tests/DailyIndexPipeline.test.d.ts.map +1 -0
- package/dist/tests/DailyIndexPipeline.test.js +539 -0
- package/dist/tests/DailyIndexPipeline.test.js.map +1 -0
- package/dist/tests/EmbeddingService.test.d.ts +2 -0
- package/dist/tests/EmbeddingService.test.d.ts.map +1 -0
- package/dist/tests/EmbeddingService.test.js +252 -0
- package/dist/tests/EmbeddingService.test.js.map +1 -0
- package/dist/tests/ExperimentService.test.d.ts +7 -0
- package/dist/tests/ExperimentService.test.d.ts.map +1 -0
- package/dist/tests/ExperimentService.test.js +293 -0
- package/dist/tests/ExperimentService.test.js.map +1 -0
- package/dist/tests/GitHubIndexer.test.d.ts +10 -0
- package/dist/tests/GitHubIndexer.test.d.ts.map +1 -0
- package/dist/tests/GitHubIndexer.test.js +524 -0
- package/dist/tests/GitHubIndexer.test.js.map +1 -0
- package/dist/tests/GitHubSourceAdapter.test.d.ts +5 -0
- package/dist/tests/GitHubSourceAdapter.test.d.ts.map +1 -0
- package/dist/tests/GitHubSourceAdapter.test.js +385 -0
- package/dist/tests/GitHubSourceAdapter.test.js.map +1 -0
- package/dist/tests/MemoryProfiler.test.d.ts +12 -0
- package/dist/tests/MemoryProfiler.test.d.ts.map +1 -0
- package/dist/tests/MemoryProfiler.test.js +402 -0
- package/dist/tests/MemoryProfiler.test.js.map +1 -0
- package/dist/tests/OverlapDetector.test.d.ts +2 -0
- package/dist/tests/OverlapDetector.test.d.ts.map +1 -0
- package/dist/tests/OverlapDetector.test.js +340 -0
- package/dist/tests/OverlapDetector.test.js.map +1 -0
- package/dist/tests/QualityScorer.test.d.ts +7 -0
- package/dist/tests/QualityScorer.test.d.ts.map +1 -0
- package/dist/tests/QualityScorer.test.js +340 -0
- package/dist/tests/QualityScorer.test.js.map +1 -0
- package/dist/tests/QuarantineRepository.test.d.ts +7 -0
- package/dist/tests/QuarantineRepository.test.d.ts.map +1 -0
- package/dist/tests/QuarantineRepository.test.js +582 -0
- package/dist/tests/QuarantineRepository.test.js.map +1 -0
- package/dist/tests/ROIDashboardService.test.d.ts +7 -0
- package/dist/tests/ROIDashboardService.test.d.ts.map +1 -0
- package/dist/tests/ROIDashboardService.test.js +324 -0
- package/dist/tests/ROIDashboardService.test.js.map +1 -0
- package/dist/tests/RateLimiter.test.d.ts +7 -0
- package/dist/tests/RateLimiter.test.d.ts.map +1 -0
- package/dist/tests/RateLimiter.test.js +1017 -0
- package/dist/tests/RateLimiter.test.js.map +1 -0
- package/dist/tests/RawUrlSourceAdapter.security.test.d.ts +7 -0
- package/dist/tests/RawUrlSourceAdapter.security.test.d.ts.map +1 -0
- package/dist/tests/RawUrlSourceAdapter.security.test.js +455 -0
- package/dist/tests/RawUrlSourceAdapter.security.test.js.map +1 -0
- package/dist/tests/ScraperAdapters.test.d.ts +7 -0
- package/dist/tests/ScraperAdapters.test.d.ts.map +1 -0
- package/dist/tests/ScraperAdapters.test.js +748 -0
- package/dist/tests/ScraperAdapters.test.js.map +1 -0
- package/dist/tests/SearchQuality.test.d.ts +8 -0
- package/dist/tests/SearchQuality.test.d.ts.map +1 -0
- package/dist/tests/SearchQuality.test.js +397 -0
- package/dist/tests/SearchQuality.test.js.map +1 -0
- package/dist/tests/SearchService.test.d.ts +5 -0
- package/dist/tests/SearchService.test.d.ts.map +1 -0
- package/dist/tests/SearchService.test.js +218 -0
- package/dist/tests/SearchService.test.js.map +1 -0
- package/dist/tests/SecurityScanner.test.d.ts +6 -0
- package/dist/tests/SecurityScanner.test.d.ts.map +1 -0
- package/dist/tests/SecurityScanner.test.js +449 -0
- package/dist/tests/SecurityScanner.test.js.map +1 -0
- package/dist/tests/SessionHealthMonitor.test.d.ts +5 -0
- package/dist/tests/SessionHealthMonitor.test.d.ts.map +1 -0
- package/dist/tests/SessionHealthMonitor.test.js +449 -0
- package/dist/tests/SessionHealthMonitor.test.js.map +1 -0
- package/dist/tests/SessionManager.security.test.d.ts +10 -0
- package/dist/tests/SessionManager.security.test.d.ts.map +1 -0
- package/dist/tests/SessionManager.security.test.js +395 -0
- package/dist/tests/SessionManager.security.test.js.map +1 -0
- package/dist/tests/SessionManager.test.d.ts +8 -0
- package/dist/tests/SessionManager.test.d.ts.map +1 -0
- package/dist/tests/SessionManager.test.js +446 -0
- package/dist/tests/SessionManager.test.js.map +1 -0
- package/dist/tests/SkillMatcher.test.d.ts +2 -0
- package/dist/tests/SkillMatcher.test.d.ts.map +1 -0
- package/dist/tests/SkillMatcher.test.js +253 -0
- package/dist/tests/SkillMatcher.test.js.map +1 -0
- package/dist/tests/SkillRepository.test.d.ts +5 -0
- package/dist/tests/SkillRepository.test.d.ts.map +1 -0
- package/dist/tests/SkillRepository.test.js +237 -0
- package/dist/tests/SkillRepository.test.js.map +1 -0
- package/dist/tests/SwarmIndexer.test.d.ts +11 -0
- package/dist/tests/SwarmIndexer.test.d.ts.map +1 -0
- package/dist/tests/SwarmIndexer.test.js +374 -0
- package/dist/tests/SwarmIndexer.test.js.map +1 -0
- package/dist/tests/TieredCache.test.d.ts +7 -0
- package/dist/tests/TieredCache.test.d.ts.map +1 -0
- package/dist/tests/TieredCache.test.js +529 -0
- package/dist/tests/TieredCache.test.js.map +1 -0
- package/dist/tests/UsageAnalyticsService.test.d.ts +7 -0
- package/dist/tests/UsageAnalyticsService.test.d.ts.map +1 -0
- package/dist/tests/UsageAnalyticsService.test.js +238 -0
- package/dist/tests/UsageAnalyticsService.test.js.map +1 -0
- package/dist/tests/UsageTracker.test.d.ts +7 -0
- package/dist/tests/UsageTracker.test.d.ts.map +1 -0
- package/dist/tests/UsageTracker.test.js +196 -0
- package/dist/tests/UsageTracker.test.js.map +1 -0
- package/dist/tests/WebhookHandler.test.d.ts +10 -0
- package/dist/tests/WebhookHandler.test.d.ts.map +1 -0
- package/dist/tests/WebhookHandler.test.js +592 -0
- package/dist/tests/WebhookHandler.test.js.map +1 -0
- package/dist/tests/analytics/metrics-aggregator.test.d.ts +11 -0
- package/dist/tests/analytics/metrics-aggregator.test.d.ts.map +1 -0
- package/dist/tests/analytics/metrics-aggregator.test.js +273 -0
- package/dist/tests/analytics/metrics-aggregator.test.js.map +1 -0
- package/dist/tests/analytics/metrics-exporter.test.d.ts +11 -0
- package/dist/tests/analytics/metrics-exporter.test.d.ts.map +1 -0
- package/dist/tests/analytics/metrics-exporter.test.js +371 -0
- package/dist/tests/analytics/metrics-exporter.test.js.map +1 -0
- package/dist/tests/analytics/usage-tracker.test.d.ts +10 -0
- package/dist/tests/analytics/usage-tracker.test.d.ts.map +1 -0
- package/dist/tests/analytics/usage-tracker.test.js +151 -0
- package/dist/tests/analytics/usage-tracker.test.js.map +1 -0
- package/dist/tests/anonymizer.test.d.ts +8 -0
- package/dist/tests/anonymizer.test.d.ts.map +1 -0
- package/dist/tests/anonymizer.test.js +153 -0
- package/dist/tests/anonymizer.test.js.map +1 -0
- package/dist/tests/cache.test.d.ts +6 -0
- package/dist/tests/cache.test.d.ts.map +1 -0
- package/dist/tests/cache.test.js +170 -0
- package/dist/tests/cache.test.js.map +1 -0
- package/dist/tests/e2e/security/security.e2e.test.d.ts +8 -0
- package/dist/tests/e2e/security/security.e2e.test.d.ts.map +1 -0
- package/dist/tests/e2e/security/security.e2e.test.js +448 -0
- package/dist/tests/e2e/security/security.e2e.test.js.map +1 -0
- package/dist/tests/edge-cases/EdgeCases.test.d.ts +13 -0
- package/dist/tests/edge-cases/EdgeCases.test.d.ts.map +1 -0
- package/dist/tests/edge-cases/EdgeCases.test.js +844 -0
- package/dist/tests/edge-cases/EdgeCases.test.js.map +1 -0
- package/dist/tests/import-github-skills.test.d.ts +8 -0
- package/dist/tests/import-github-skills.test.d.ts.map +1 -0
- package/dist/tests/import-github-skills.test.js +390 -0
- package/dist/tests/import-github-skills.test.js.map +1 -0
- package/dist/tests/logger.test.d.ts +2 -0
- package/dist/tests/logger.test.d.ts.map +1 -0
- package/dist/tests/logger.test.js +417 -0
- package/dist/tests/logger.test.js.map +1 -0
- package/dist/tests/performance/LargeScalePerformance.test.d.ts +14 -0
- package/dist/tests/performance/LargeScalePerformance.test.d.ts.map +1 -0
- package/dist/tests/performance/LargeScalePerformance.test.js +558 -0
- package/dist/tests/performance/LargeScalePerformance.test.js.map +1 -0
- package/dist/tests/retry.test.d.ts +7 -0
- package/dist/tests/retry.test.d.ts.map +1 -0
- package/dist/tests/retry.test.js +302 -0
- package/dist/tests/retry.test.js.map +1 -0
- package/dist/tests/sanitization.test.d.ts +8 -0
- package/dist/tests/sanitization.test.d.ts.map +1 -0
- package/dist/tests/sanitization.test.js +413 -0
- package/dist/tests/sanitization.test.js.map +1 -0
- package/dist/tests/schema.test.d.ts +5 -0
- package/dist/tests/schema.test.d.ts.map +1 -0
- package/dist/tests/schema.test.js +167 -0
- package/dist/tests/schema.test.js.map +1 -0
- package/dist/tests/scripts/import-to-database.test.d.ts +11 -0
- package/dist/tests/scripts/import-to-database.test.d.ts.map +1 -0
- package/dist/tests/scripts/import-to-database.test.js +325 -0
- package/dist/tests/scripts/import-to-database.test.js.map +1 -0
- package/dist/tests/security/ContinuousSecurity.test.d.ts +6 -0
- package/dist/tests/security/ContinuousSecurity.test.d.ts.map +1 -0
- package/dist/tests/security/ContinuousSecurity.test.js +595 -0
- package/dist/tests/security/ContinuousSecurity.test.js.map +1 -0
- package/dist/tests/security/ReDoS.test.d.ts +8 -0
- package/dist/tests/security/ReDoS.test.d.ts.map +1 -0
- package/dist/tests/security/ReDoS.test.js +213 -0
- package/dist/tests/security/ReDoS.test.js.map +1 -0
- package/dist/tests/security.test.d.ts +5 -0
- package/dist/tests/security.test.d.ts.map +1 -0
- package/dist/tests/security.test.js +134 -0
- package/dist/tests/security.test.js.map +1 -0
- package/dist/tests/shared.test.d.ts +7 -0
- package/dist/tests/shared.test.d.ts.map +1 -0
- package/dist/tests/shared.test.js +480 -0
- package/dist/tests/shared.test.js.map +1 -0
- package/dist/tests/sources.test.d.ts +5 -0
- package/dist/tests/sources.test.d.ts.map +1 -0
- package/dist/tests/sources.test.js +369 -0
- package/dist/tests/sources.test.js.map +1 -0
- package/dist/tests/stats.test.d.ts +11 -0
- package/dist/tests/stats.test.d.ts.map +1 -0
- package/dist/tests/stats.test.js +124 -0
- package/dist/tests/stats.test.js.map +1 -0
- package/dist/tests/telemetry.test.d.ts +11 -0
- package/dist/tests/telemetry.test.d.ts.map +1 -0
- package/dist/tests/telemetry.test.js +424 -0
- package/dist/tests/telemetry.test.js.map +1 -0
- package/dist/tests/test-utils.d.ts +74 -0
- package/dist/tests/test-utils.d.ts.map +1 -0
- package/dist/tests/test-utils.js +98 -0
- package/dist/tests/test-utils.js.map +1 -0
- package/dist/tests/validate-skills.test.d.ts +5 -0
- package/dist/tests/validate-skills.test.d.ts.map +1 -0
- package/dist/tests/validate-skills.test.js +649 -0
- package/dist/tests/validate-skills.test.js.map +1 -0
- package/dist/tests/validation.test.d.ts +7 -0
- package/dist/tests/validation.test.d.ts.map +1 -0
- package/dist/tests/validation.test.js +495 -0
- package/dist/tests/validation.test.js.map +1 -0
- package/dist/tests/webhooks/WebhookHandler.idempotency.test.d.ts +8 -0
- package/dist/tests/webhooks/WebhookHandler.idempotency.test.d.ts.map +1 -0
- package/dist/tests/webhooks/WebhookHandler.idempotency.test.js +190 -0
- package/dist/tests/webhooks/WebhookHandler.idempotency.test.js.map +1 -0
- package/dist/tests/webhooks/WebhookPayload.security.test.d.ts +8 -0
- package/dist/tests/webhooks/WebhookPayload.security.test.d.ts.map +1 -0
- package/dist/tests/webhooks/WebhookPayload.security.test.js +204 -0
- package/dist/tests/webhooks/WebhookPayload.security.test.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +13 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Source Adapter Utilities - SMI-879
|
|
3
|
+
*
|
|
4
|
+
* Consolidates duplicated code patterns from GitHub, GitLab, and RawUrl adapters.
|
|
5
|
+
* Provides common utilities for content decoding, error handling, and response processing.
|
|
6
|
+
*/
|
|
7
|
+
import { ApiError } from '../errors/SkillsmithError.js';
|
|
8
|
+
/**
|
|
9
|
+
* Standard skill file paths to search for
|
|
10
|
+
*/
|
|
11
|
+
export const SKILL_FILE_PATHS = [
|
|
12
|
+
'SKILL.md',
|
|
13
|
+
'skill.md',
|
|
14
|
+
'.claude/SKILL.md',
|
|
15
|
+
'.claude/skill.md',
|
|
16
|
+
'docs/SKILL.md',
|
|
17
|
+
'docs/skill.md',
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Decode base64 encoded content (used by GitHub and GitLab APIs)
|
|
21
|
+
*
|
|
22
|
+
* Previously duplicated in:
|
|
23
|
+
* - GitHubSourceAdapter.ts:356-367
|
|
24
|
+
* - GitLabSourceAdapter.ts:376-386
|
|
25
|
+
*
|
|
26
|
+
* @param content - The encoded content string
|
|
27
|
+
* @param encoding - The encoding type ('base64' or 'text')
|
|
28
|
+
* @returns Decoded string content
|
|
29
|
+
*/
|
|
30
|
+
export function decodeBase64Content(content, encoding) {
|
|
31
|
+
if (encoding === 'base64') {
|
|
32
|
+
// Remove any newlines that might be in the base64 string
|
|
33
|
+
const base64 = content.replace(/\n/g, '');
|
|
34
|
+
// Use Buffer in Node.js environment
|
|
35
|
+
if (typeof Buffer !== 'undefined') {
|
|
36
|
+
return Buffer.from(base64, 'base64').toString('utf-8');
|
|
37
|
+
}
|
|
38
|
+
// Fallback for browser environment
|
|
39
|
+
// atob() decodes to Latin-1, so we need to convert to UTF-8 manually
|
|
40
|
+
const binaryStr = atob(base64);
|
|
41
|
+
const bytes = new Uint8Array(binaryStr.length);
|
|
42
|
+
for (let i = 0; i < binaryStr.length; i++) {
|
|
43
|
+
bytes[i] = binaryStr.charCodeAt(i);
|
|
44
|
+
}
|
|
45
|
+
return new TextDecoder('utf-8').decode(bytes);
|
|
46
|
+
}
|
|
47
|
+
return content;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if an HTTP status code indicates a rate limit error
|
|
51
|
+
*
|
|
52
|
+
* @param status - HTTP status code
|
|
53
|
+
* @returns true if rate limit error
|
|
54
|
+
*/
|
|
55
|
+
export function isRateLimitStatus(status) {
|
|
56
|
+
return status === 403 || status === 429;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check if an HTTP status code indicates a server error (retryable)
|
|
60
|
+
*
|
|
61
|
+
* @param status - HTTP status code
|
|
62
|
+
* @returns true if server error
|
|
63
|
+
*/
|
|
64
|
+
export function isServerError(status) {
|
|
65
|
+
return status >= 500 && status < 600;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if an HTTP status code indicates not found
|
|
69
|
+
*
|
|
70
|
+
* @param status - HTTP status code
|
|
71
|
+
* @returns true if not found
|
|
72
|
+
*/
|
|
73
|
+
export function isNotFoundStatus(status) {
|
|
74
|
+
return status === 404;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Handle API response errors with proper error wrapping
|
|
78
|
+
*
|
|
79
|
+
* Previously duplicated error handling in:
|
|
80
|
+
* - GitHubSourceAdapter.ts:166-170, 309-313
|
|
81
|
+
* - GitLabSourceAdapter.ts:164-168, 324-328
|
|
82
|
+
* - RawUrlSourceAdapter.ts:113-114, 248-249
|
|
83
|
+
*
|
|
84
|
+
* @param response - Fetch Response object
|
|
85
|
+
* @param context - Context for error message (e.g., "GitHub API", "GitLab API")
|
|
86
|
+
* @throws ApiError with appropriate code and context
|
|
87
|
+
*/
|
|
88
|
+
export async function handleApiError(response, context, options) {
|
|
89
|
+
const status = response.status;
|
|
90
|
+
if (isRateLimitStatus(status)) {
|
|
91
|
+
throw new ApiError(`${context} rate limit exceeded`, {
|
|
92
|
+
statusCode: status,
|
|
93
|
+
url: options?.url,
|
|
94
|
+
context: {
|
|
95
|
+
retryAfter: response.headers.get('Retry-After'),
|
|
96
|
+
rateLimitRemaining: response.headers.get('X-RateLimit-Remaining'),
|
|
97
|
+
rateLimitReset: response.headers.get('X-RateLimit-Reset'),
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (isNotFoundStatus(status)) {
|
|
102
|
+
throw new ApiError(`${context} resource not found`, {
|
|
103
|
+
statusCode: status,
|
|
104
|
+
url: options?.url,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
// Try to get error message from response body
|
|
108
|
+
let errorBody;
|
|
109
|
+
try {
|
|
110
|
+
errorBody = await response.text();
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Ignore body parsing errors
|
|
114
|
+
}
|
|
115
|
+
throw new ApiError(`${context} error: ${status}`, {
|
|
116
|
+
statusCode: status,
|
|
117
|
+
url: options?.url,
|
|
118
|
+
context: {
|
|
119
|
+
statusText: response.statusText,
|
|
120
|
+
body: errorBody?.slice(0, 500), // Truncate long bodies
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Check response and throw appropriate error if not OK
|
|
126
|
+
*
|
|
127
|
+
* @param response - Fetch Response object
|
|
128
|
+
* @param context - Context for error message
|
|
129
|
+
* @throws ApiError if response is not OK
|
|
130
|
+
*/
|
|
131
|
+
export async function assertResponseOk(response, context, options) {
|
|
132
|
+
if (!response.ok) {
|
|
133
|
+
await handleApiError(response, context, options);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Parse rate limit headers from response
|
|
138
|
+
*
|
|
139
|
+
* @param response - Fetch Response object
|
|
140
|
+
* @returns Rate limit info or null if not available
|
|
141
|
+
*/
|
|
142
|
+
export function parseRateLimitHeaders(response) {
|
|
143
|
+
const remaining = response.headers.get('X-RateLimit-Remaining');
|
|
144
|
+
const limit = response.headers.get('X-RateLimit-Limit');
|
|
145
|
+
const reset = response.headers.get('X-RateLimit-Reset');
|
|
146
|
+
return {
|
|
147
|
+
remaining: remaining ? parseInt(remaining, 10) : null,
|
|
148
|
+
limit: limit ? parseInt(limit, 10) : null,
|
|
149
|
+
reset: reset ? new Date(parseInt(reset, 10) * 1000) : null,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Extract default branch from repository data
|
|
154
|
+
*
|
|
155
|
+
* @param item - API response with branch info
|
|
156
|
+
* @param defaultValue - Default value if not found
|
|
157
|
+
*/
|
|
158
|
+
export function extractDefaultBranch(item, defaultValue = 'main') {
|
|
159
|
+
return item.default_branch ?? item.defaultBranch ?? defaultValue;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Build pagination parameters for API requests
|
|
163
|
+
*
|
|
164
|
+
* @param page - Page number (1-indexed)
|
|
165
|
+
* @param perPage - Items per page
|
|
166
|
+
* @returns URL search params string
|
|
167
|
+
*/
|
|
168
|
+
export function buildPaginationParams(page, perPage) {
|
|
169
|
+
return `page=${page}&per_page=${perPage}`;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Safely parse JSON response with error handling
|
|
173
|
+
*
|
|
174
|
+
* @param response - Fetch Response object
|
|
175
|
+
* @param context - Context for error message
|
|
176
|
+
* @returns Parsed JSON data
|
|
177
|
+
*/
|
|
178
|
+
export async function parseJsonResponse(response, context) {
|
|
179
|
+
try {
|
|
180
|
+
return (await response.json());
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
throw new ApiError(`Failed to parse ${context} response`, {
|
|
184
|
+
cause: error,
|
|
185
|
+
context: {
|
|
186
|
+
contentType: response.headers.get('Content-Type'),
|
|
187
|
+
},
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/sources/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Source Adapter Types
|
|
3
|
+
* Core type definitions for the skill source adapter architecture
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Supported source types
|
|
7
|
+
*/
|
|
8
|
+
export type SourceType = 'github' | 'gitlab' | 'local' | 'raw-url' | 'registry' | 'custom';
|
|
9
|
+
/**
|
|
10
|
+
* Source adapter configuration
|
|
11
|
+
*/
|
|
12
|
+
export interface SourceConfig {
|
|
13
|
+
/** Unique identifier for this source instance */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Human-readable name */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Source type */
|
|
18
|
+
type: SourceType;
|
|
19
|
+
/** Base URL for API requests */
|
|
20
|
+
baseUrl: string;
|
|
21
|
+
/** Whether this source is enabled */
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
/** Rate limiting configuration */
|
|
24
|
+
rateLimit?: RateLimitConfig;
|
|
25
|
+
/** Authentication configuration */
|
|
26
|
+
auth?: SourceAuthConfig;
|
|
27
|
+
/** Additional source-specific options */
|
|
28
|
+
options?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Rate limiting configuration
|
|
32
|
+
*/
|
|
33
|
+
export interface RateLimitConfig {
|
|
34
|
+
/** Maximum requests per window */
|
|
35
|
+
maxRequests: number;
|
|
36
|
+
/** Window duration in milliseconds */
|
|
37
|
+
windowMs: number;
|
|
38
|
+
/** Minimum delay between requests in milliseconds */
|
|
39
|
+
minDelayMs: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Authentication configuration
|
|
43
|
+
*/
|
|
44
|
+
export interface SourceAuthConfig {
|
|
45
|
+
/** Auth type */
|
|
46
|
+
type: 'token' | 'basic' | 'oauth' | 'none';
|
|
47
|
+
/** Token or credentials (should be loaded from env) */
|
|
48
|
+
credentials?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Location of a skill within a source
|
|
52
|
+
*/
|
|
53
|
+
export interface SourceLocation {
|
|
54
|
+
/** Repository owner/namespace */
|
|
55
|
+
owner?: string;
|
|
56
|
+
/** Repository name (optional for local/raw-url sources) */
|
|
57
|
+
repo?: string;
|
|
58
|
+
/** Branch or ref (default: main/master) */
|
|
59
|
+
branch?: string;
|
|
60
|
+
/** Path to skill file (default: SKILL.md) */
|
|
61
|
+
path?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Repository information from a source
|
|
65
|
+
*/
|
|
66
|
+
export interface SourceRepository {
|
|
67
|
+
/** Unique identifier within the source */
|
|
68
|
+
id: string;
|
|
69
|
+
/** Repository name */
|
|
70
|
+
name: string;
|
|
71
|
+
/** Full URL to the repository */
|
|
72
|
+
url: string;
|
|
73
|
+
/** Repository description */
|
|
74
|
+
description: string | null;
|
|
75
|
+
/** Owner/namespace */
|
|
76
|
+
owner: string;
|
|
77
|
+
/** Default branch */
|
|
78
|
+
defaultBranch: string;
|
|
79
|
+
/** Star/like count */
|
|
80
|
+
stars: number;
|
|
81
|
+
/** Fork count */
|
|
82
|
+
forks: number;
|
|
83
|
+
/** Topics/tags */
|
|
84
|
+
topics: string[];
|
|
85
|
+
/** Last update timestamp */
|
|
86
|
+
updatedAt: string;
|
|
87
|
+
/** Creation timestamp */
|
|
88
|
+
createdAt: string;
|
|
89
|
+
/** License identifier */
|
|
90
|
+
license: string | null;
|
|
91
|
+
/** Additional metadata */
|
|
92
|
+
metadata: Record<string, unknown>;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Raw skill content fetched from source
|
|
96
|
+
*/
|
|
97
|
+
export interface SkillContent {
|
|
98
|
+
/** Raw content of the skill file */
|
|
99
|
+
rawContent: string;
|
|
100
|
+
/** Content hash for change detection */
|
|
101
|
+
sha: string;
|
|
102
|
+
/** Location where content was found */
|
|
103
|
+
location: SourceLocation;
|
|
104
|
+
/** File path within repository */
|
|
105
|
+
filePath: string;
|
|
106
|
+
/** Content encoding */
|
|
107
|
+
encoding: 'utf-8' | 'base64';
|
|
108
|
+
/** Last modification timestamp (for local sources) */
|
|
109
|
+
lastModified?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Search options for querying sources
|
|
113
|
+
*/
|
|
114
|
+
export interface SourceSearchOptions {
|
|
115
|
+
/** Search query string */
|
|
116
|
+
query?: string;
|
|
117
|
+
/** Topic/tag filters */
|
|
118
|
+
topics?: string[];
|
|
119
|
+
/** Minimum star count */
|
|
120
|
+
minStars?: number;
|
|
121
|
+
/** Language filter */
|
|
122
|
+
language?: string;
|
|
123
|
+
/** Maximum results to return */
|
|
124
|
+
limit?: number;
|
|
125
|
+
/** Offset for pagination */
|
|
126
|
+
offset?: number;
|
|
127
|
+
/** Sort field */
|
|
128
|
+
sortBy?: 'updated' | 'stars' | 'name' | 'created';
|
|
129
|
+
/** Sort direction */
|
|
130
|
+
sortOrder?: 'asc' | 'desc';
|
|
131
|
+
/** Additional filters */
|
|
132
|
+
filters?: Record<string, unknown>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Result of a search operation
|
|
136
|
+
*/
|
|
137
|
+
export interface SourceSearchResult {
|
|
138
|
+
/** Found repositories */
|
|
139
|
+
repositories: SourceRepository[];
|
|
140
|
+
/** Total count (may be estimated) */
|
|
141
|
+
totalCount: number;
|
|
142
|
+
/** Whether more results are available */
|
|
143
|
+
hasMore: boolean;
|
|
144
|
+
/** Cursor for next page (if applicable) */
|
|
145
|
+
nextCursor?: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Result of indexing a single skill
|
|
149
|
+
*/
|
|
150
|
+
export interface SkillIndexResult {
|
|
151
|
+
/** Whether indexing succeeded */
|
|
152
|
+
success: boolean;
|
|
153
|
+
/** Repository URL */
|
|
154
|
+
repoUrl: string;
|
|
155
|
+
/** Skill ID if created/updated */
|
|
156
|
+
skillId?: string;
|
|
157
|
+
/** Action taken */
|
|
158
|
+
action: 'created' | 'updated' | 'unchanged' | 'failed';
|
|
159
|
+
/** Error message if failed */
|
|
160
|
+
error?: string;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Result of a batch indexing operation
|
|
164
|
+
*/
|
|
165
|
+
export interface BatchIndexResult {
|
|
166
|
+
/** Source identifier */
|
|
167
|
+
sourceId: string;
|
|
168
|
+
/** Total repositories processed */
|
|
169
|
+
total: number;
|
|
170
|
+
/** Successfully indexed */
|
|
171
|
+
indexed: number;
|
|
172
|
+
/** Created new skills */
|
|
173
|
+
created: number;
|
|
174
|
+
/** Updated existing skills */
|
|
175
|
+
updated: number;
|
|
176
|
+
/** Unchanged (SHA match) */
|
|
177
|
+
unchanged: number;
|
|
178
|
+
/** Failed to index */
|
|
179
|
+
failed: number;
|
|
180
|
+
/** Individual results */
|
|
181
|
+
results: SkillIndexResult[];
|
|
182
|
+
/** Errors encountered */
|
|
183
|
+
errors: string[];
|
|
184
|
+
/** Duration in milliseconds */
|
|
185
|
+
durationMs: number;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Source health status
|
|
189
|
+
*/
|
|
190
|
+
export interface SourceHealth {
|
|
191
|
+
/** Whether the source is reachable */
|
|
192
|
+
healthy: boolean;
|
|
193
|
+
/** Last successful check timestamp */
|
|
194
|
+
lastCheck: string;
|
|
195
|
+
/** Response time in milliseconds */
|
|
196
|
+
responseTimeMs: number;
|
|
197
|
+
/** Rate limit remaining (if applicable) */
|
|
198
|
+
rateLimitRemaining?: number;
|
|
199
|
+
/** Rate limit reset time */
|
|
200
|
+
rateLimitReset?: string;
|
|
201
|
+
/** Error message if unhealthy */
|
|
202
|
+
error?: string;
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sources/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sources/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-739: Telemetry Module Exports
|
|
3
|
+
*
|
|
4
|
+
* Provides OpenTelemetry tracing and metrics for Skillsmith:
|
|
5
|
+
* - Distributed tracing for request flows
|
|
6
|
+
* - Custom metrics for performance monitoring
|
|
7
|
+
* - Graceful fallback when tracing is disabled
|
|
8
|
+
*/
|
|
9
|
+
export { SkillsmithTracer, getTracer, initializeTracing, shutdownTracing, traced, type TracerConfig, type SpanAttributes, type SpanWrapper, } from './tracer.js';
|
|
10
|
+
export { MetricsRegistry, getMetrics, initializeMetrics, timeAsync, timeSync, LATENCY_BUCKETS, type MetricsConfig, type MetricLabels, type Counter, type Histogram, type Gauge, type MetricsSnapshot, } from './metrics.js';
|
|
11
|
+
export { exportToPrometheus, getPrometheusMetrics, createPrometheusHandler, type PrometheusExportOptions, } from './prometheus.js';
|
|
12
|
+
/**
|
|
13
|
+
* Initialize all telemetry (tracing + metrics)
|
|
14
|
+
* Call this at application startup
|
|
15
|
+
*/
|
|
16
|
+
export declare function initializeTelemetry(config?: {
|
|
17
|
+
tracing?: import('./tracer.js').TracerConfig;
|
|
18
|
+
metrics?: import('./metrics.js').MetricsConfig;
|
|
19
|
+
}): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Shutdown all telemetry
|
|
22
|
+
* Call this at application shutdown
|
|
23
|
+
*/
|
|
24
|
+
export declare function shutdownTelemetry(): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,eAAe,GACrB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,iBAAiB,CAAA;AAExB;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE;IACjD,OAAO,CAAC,EAAE,OAAO,aAAa,EAAE,YAAY,CAAA;IAC5C,OAAO,CAAC,EAAE,OAAO,cAAc,EAAE,aAAa,CAAA;CAC/C,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGvD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-739: Telemetry Module Exports
|
|
3
|
+
*
|
|
4
|
+
* Provides OpenTelemetry tracing and metrics for Skillsmith:
|
|
5
|
+
* - Distributed tracing for request flows
|
|
6
|
+
* - Custom metrics for performance monitoring
|
|
7
|
+
* - Graceful fallback when tracing is disabled
|
|
8
|
+
*/
|
|
9
|
+
// Tracer exports
|
|
10
|
+
export { SkillsmithTracer, getTracer, initializeTracing, shutdownTracing, traced, } from './tracer.js';
|
|
11
|
+
// Metrics exports
|
|
12
|
+
export { MetricsRegistry, getMetrics, initializeMetrics, timeAsync, timeSync, LATENCY_BUCKETS, } from './metrics.js';
|
|
13
|
+
// Prometheus exports (SMI-1018)
|
|
14
|
+
export { exportToPrometheus, getPrometheusMetrics, createPrometheusHandler, } from './prometheus.js';
|
|
15
|
+
/**
|
|
16
|
+
* Initialize all telemetry (tracing + metrics)
|
|
17
|
+
* Call this at application startup
|
|
18
|
+
*/
|
|
19
|
+
export async function initializeTelemetry(config) {
|
|
20
|
+
const { initializeTracing } = await import('./tracer.js');
|
|
21
|
+
const { initializeMetrics } = await import('./metrics.js');
|
|
22
|
+
await Promise.all([initializeTracing(config?.tracing), initializeMetrics(config?.metrics)]);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Shutdown all telemetry
|
|
26
|
+
* Call this at application shutdown
|
|
27
|
+
*/
|
|
28
|
+
export async function shutdownTelemetry() {
|
|
29
|
+
const { shutdownTracing } = await import('./tracer.js');
|
|
30
|
+
await shutdownTracing();
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iBAAiB;AACjB,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,MAAM,GAIP,MAAM,aAAa,CAAA;AAEpB,kBAAkB;AAClB,OAAO,EACL,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,eAAe,GAOhB,MAAM,cAAc,CAAA;AAErB,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,GAExB,MAAM,iBAAiB,CAAA;AAExB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAGzC;IACC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IACzD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAE1D,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IACvD,MAAM,eAAe,EAAE,CAAA;AACzB,CAAC"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-739: Custom Metrics Registration
|
|
3
|
+
* SMI-755: Graceful fallback when OpenTelemetry unavailable
|
|
4
|
+
*
|
|
5
|
+
* Provides metrics collection for Skillsmith operations:
|
|
6
|
+
* - Request latency histograms
|
|
7
|
+
* - Cache hit/miss counters
|
|
8
|
+
* - Error rate counters
|
|
9
|
+
* - Active operations gauges
|
|
10
|
+
*
|
|
11
|
+
* Configuration:
|
|
12
|
+
* - OTEL_EXPORTER_OTLP_ENDPOINT: OTLP endpoint for metrics export
|
|
13
|
+
* - SKILLSMITH_TELEMETRY_ENABLED: Master switch for all telemetry (default: auto)
|
|
14
|
+
* - SKILLSMITH_METRICS_ENABLED: Enable/disable metrics (default: true if endpoint set)
|
|
15
|
+
*
|
|
16
|
+
* Graceful Fallback:
|
|
17
|
+
* - If OpenTelemetry packages are not installed, uses in-memory implementations
|
|
18
|
+
* - Metrics APIs remain functional for local statistics
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Metric types
|
|
22
|
+
*/
|
|
23
|
+
export type MetricType = 'counter' | 'histogram' | 'gauge';
|
|
24
|
+
/**
|
|
25
|
+
* Metrics configuration
|
|
26
|
+
*/
|
|
27
|
+
export interface MetricsConfig {
|
|
28
|
+
/** Service name for metrics (default: skillsmith) */
|
|
29
|
+
serviceName?: string;
|
|
30
|
+
/** OTLP endpoint URL */
|
|
31
|
+
endpoint?: string;
|
|
32
|
+
/** Export interval in ms (default: 60000) */
|
|
33
|
+
exportIntervalMs?: number;
|
|
34
|
+
/** Enable console export for debugging (default: false) */
|
|
35
|
+
consoleExport?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Histogram bucket boundaries for latency metrics
|
|
39
|
+
*/
|
|
40
|
+
export declare const LATENCY_BUCKETS: number[];
|
|
41
|
+
/**
|
|
42
|
+
* Metric labels/attributes
|
|
43
|
+
*/
|
|
44
|
+
export interface MetricLabels {
|
|
45
|
+
[key: string]: string | number | boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Counter metric interface
|
|
49
|
+
*/
|
|
50
|
+
export interface Counter {
|
|
51
|
+
/** Add a value to the counter */
|
|
52
|
+
add(value: number, labels?: MetricLabels): void;
|
|
53
|
+
/** Increment by 1 */
|
|
54
|
+
increment(labels?: MetricLabels): void;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Histogram metric interface
|
|
58
|
+
*/
|
|
59
|
+
export interface Histogram {
|
|
60
|
+
/** Record a value */
|
|
61
|
+
record(value: number, labels?: MetricLabels): void;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Gauge metric interface
|
|
65
|
+
*/
|
|
66
|
+
export interface Gauge {
|
|
67
|
+
/** Set the gauge value */
|
|
68
|
+
set(value: number, labels?: MetricLabels): void;
|
|
69
|
+
/** Get the current value (if tracked) */
|
|
70
|
+
getValue(labels?: MetricLabels): number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Skillsmith Metrics Registry
|
|
74
|
+
*/
|
|
75
|
+
export declare class MetricsRegistry {
|
|
76
|
+
private counters;
|
|
77
|
+
private histograms;
|
|
78
|
+
private gauges;
|
|
79
|
+
private enabled;
|
|
80
|
+
private initialized;
|
|
81
|
+
private config;
|
|
82
|
+
readonly mcpRequestLatency: Histogram;
|
|
83
|
+
readonly mcpRequestCount: Counter;
|
|
84
|
+
readonly mcpErrorCount: Counter;
|
|
85
|
+
readonly dbQueryLatency: Histogram;
|
|
86
|
+
readonly dbQueryCount: Counter;
|
|
87
|
+
readonly cacheHits: Counter;
|
|
88
|
+
readonly cacheMisses: Counter;
|
|
89
|
+
readonly cacheSize: Gauge;
|
|
90
|
+
readonly embeddingLatency: Histogram;
|
|
91
|
+
readonly embeddingCount: Counter;
|
|
92
|
+
readonly searchLatency: Histogram;
|
|
93
|
+
readonly searchCount: Counter;
|
|
94
|
+
readonly activeOperations: Gauge;
|
|
95
|
+
constructor(config?: MetricsConfig);
|
|
96
|
+
/**
|
|
97
|
+
* Initialize metrics collection
|
|
98
|
+
*/
|
|
99
|
+
initialize(): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Check if metrics are enabled
|
|
102
|
+
*/
|
|
103
|
+
isEnabled(): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Create a counter metric
|
|
106
|
+
*/
|
|
107
|
+
createCounter(name: string, _options?: {
|
|
108
|
+
description?: string;
|
|
109
|
+
unit?: string;
|
|
110
|
+
}): Counter;
|
|
111
|
+
/**
|
|
112
|
+
* Create a histogram metric
|
|
113
|
+
*/
|
|
114
|
+
createHistogram(name: string, _options?: {
|
|
115
|
+
description?: string;
|
|
116
|
+
unit?: string;
|
|
117
|
+
buckets?: number[];
|
|
118
|
+
}): Histogram;
|
|
119
|
+
/**
|
|
120
|
+
* Create a gauge metric
|
|
121
|
+
*/
|
|
122
|
+
createGauge(name: string, _options?: {
|
|
123
|
+
description?: string;
|
|
124
|
+
unit?: string;
|
|
125
|
+
}): Gauge;
|
|
126
|
+
/**
|
|
127
|
+
* Get current cache hit ratio
|
|
128
|
+
*/
|
|
129
|
+
getCacheHitRatio(): number;
|
|
130
|
+
/**
|
|
131
|
+
* Get all metrics as a snapshot
|
|
132
|
+
*/
|
|
133
|
+
getSnapshot(): MetricsSnapshot;
|
|
134
|
+
/**
|
|
135
|
+
* Reset all metrics
|
|
136
|
+
*/
|
|
137
|
+
reset(): void;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Metrics snapshot for export
|
|
141
|
+
*/
|
|
142
|
+
export interface MetricsSnapshot {
|
|
143
|
+
timestamp: string;
|
|
144
|
+
counters: Record<string, number>;
|
|
145
|
+
histograms: Record<string, {
|
|
146
|
+
count: number;
|
|
147
|
+
sum: number;
|
|
148
|
+
mean: number;
|
|
149
|
+
p50: number;
|
|
150
|
+
p95: number;
|
|
151
|
+
p99: number;
|
|
152
|
+
}>;
|
|
153
|
+
gauges: Record<string, number>;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get the default metrics registry
|
|
157
|
+
*/
|
|
158
|
+
export declare function getMetrics(): MetricsRegistry;
|
|
159
|
+
/**
|
|
160
|
+
* Initialize the default metrics registry
|
|
161
|
+
*/
|
|
162
|
+
export declare function initializeMetrics(config?: MetricsConfig): Promise<MetricsRegistry>;
|
|
163
|
+
/**
|
|
164
|
+
* Helper: Time an async operation and record to histogram
|
|
165
|
+
*/
|
|
166
|
+
export declare function timeAsync<T>(histogram: Histogram, fn: () => Promise<T>, labels?: MetricLabels): Promise<T>;
|
|
167
|
+
/**
|
|
168
|
+
* Helper: Time a sync operation and record to histogram
|
|
169
|
+
*/
|
|
170
|
+
export declare function timeSync<T>(histogram: Histogram, fn: () => T, labels?: MetricLabels): T;
|
|
171
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/telemetry/metrics.ts"],"names":[],"mappings":"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"}
|