@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,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skillsmith Error Classes - SMI-881
|
|
3
|
+
*
|
|
4
|
+
* Custom error classes with proper cause chaining for better error propagation.
|
|
5
|
+
* Ensures stack traces and context are preserved through error handling layers.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Base error class for all Skillsmith errors.
|
|
9
|
+
* Preserves cause chain and provides structured error information.
|
|
10
|
+
*/
|
|
11
|
+
export class SkillsmithError extends Error {
|
|
12
|
+
/** Error code for programmatic handling */
|
|
13
|
+
code;
|
|
14
|
+
/** Additional context about the error */
|
|
15
|
+
context;
|
|
16
|
+
constructor(message, options) {
|
|
17
|
+
super(message, { cause: options?.cause });
|
|
18
|
+
this.name = 'SkillsmithError';
|
|
19
|
+
this.code = options?.code ?? 'SKILLSMITH_ERROR';
|
|
20
|
+
this.context = options?.context;
|
|
21
|
+
// Capture stack trace excluding constructor
|
|
22
|
+
Error.captureStackTrace?.(this, this.constructor);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the full error chain as an array
|
|
26
|
+
*/
|
|
27
|
+
getErrorChain() {
|
|
28
|
+
const chain = [this];
|
|
29
|
+
let current = this.cause;
|
|
30
|
+
while (current instanceof Error) {
|
|
31
|
+
chain.push(current);
|
|
32
|
+
current = current.cause;
|
|
33
|
+
}
|
|
34
|
+
return chain;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Format error with full context for logging
|
|
38
|
+
*/
|
|
39
|
+
toJSON() {
|
|
40
|
+
return {
|
|
41
|
+
name: this.name,
|
|
42
|
+
code: this.code,
|
|
43
|
+
message: this.message,
|
|
44
|
+
context: this.context,
|
|
45
|
+
cause: this.cause instanceof Error ? this.cause.message : this.cause,
|
|
46
|
+
stack: this.stack,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Network-related errors (fetch failures, timeouts, etc.)
|
|
52
|
+
*/
|
|
53
|
+
export class NetworkError extends SkillsmithError {
|
|
54
|
+
constructor(message, options) {
|
|
55
|
+
super(message, {
|
|
56
|
+
code: 'NETWORK_ERROR',
|
|
57
|
+
cause: options?.cause,
|
|
58
|
+
context: {
|
|
59
|
+
...options?.context,
|
|
60
|
+
url: options?.url,
|
|
61
|
+
statusCode: options?.statusCode,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
this.name = 'NetworkError';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* API-specific errors (rate limits, auth failures, etc.)
|
|
69
|
+
*
|
|
70
|
+
* Note: Rate limit detection includes both 429 (standard) and 403 (GitHub).
|
|
71
|
+
* GitHub returns 403 Forbidden for rate limit exceeded instead of 429.
|
|
72
|
+
* See: https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api
|
|
73
|
+
*/
|
|
74
|
+
export class ApiError extends SkillsmithError {
|
|
75
|
+
/** HTTP status code if applicable */
|
|
76
|
+
statusCode;
|
|
77
|
+
constructor(message, options) {
|
|
78
|
+
super(message, {
|
|
79
|
+
// Check both 429 (standard) and 403 (GitHub uses 403 for rate limits)
|
|
80
|
+
code: options?.statusCode === 429 || options?.statusCode === 403
|
|
81
|
+
? 'RATE_LIMIT_ERROR'
|
|
82
|
+
: 'API_ERROR',
|
|
83
|
+
cause: options?.cause,
|
|
84
|
+
context: {
|
|
85
|
+
...options?.context,
|
|
86
|
+
url: options?.url,
|
|
87
|
+
statusCode: options?.statusCode,
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
this.name = 'ApiError';
|
|
91
|
+
this.statusCode = options?.statusCode;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Check if this is a rate limit error
|
|
95
|
+
*/
|
|
96
|
+
isRateLimitError() {
|
|
97
|
+
return this.statusCode === 429 || this.statusCode === 403;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Check if this is a not found error
|
|
101
|
+
*/
|
|
102
|
+
isNotFoundError() {
|
|
103
|
+
return this.statusCode === 404;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Check if this is a server error (5xx)
|
|
107
|
+
*/
|
|
108
|
+
isServerError() {
|
|
109
|
+
return this.statusCode !== undefined && this.statusCode >= 500;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Validation errors (invalid input, schema violations)
|
|
114
|
+
*/
|
|
115
|
+
export class ValidationError extends SkillsmithError {
|
|
116
|
+
/** Field that failed validation */
|
|
117
|
+
field;
|
|
118
|
+
constructor(message, options) {
|
|
119
|
+
super(message, {
|
|
120
|
+
code: 'VALIDATION_ERROR',
|
|
121
|
+
cause: options?.cause,
|
|
122
|
+
context: {
|
|
123
|
+
...options?.context,
|
|
124
|
+
field: options?.field,
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
this.name = 'ValidationError';
|
|
128
|
+
this.field = options?.field;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Skill-related errors (not found, invalid structure, etc.)
|
|
133
|
+
*/
|
|
134
|
+
export class SkillError extends SkillsmithError {
|
|
135
|
+
/** Skill ID if applicable */
|
|
136
|
+
skillId;
|
|
137
|
+
constructor(message, options) {
|
|
138
|
+
super(message, {
|
|
139
|
+
code: 'SKILL_ERROR',
|
|
140
|
+
cause: options?.cause,
|
|
141
|
+
context: {
|
|
142
|
+
...options?.context,
|
|
143
|
+
skillId: options?.skillId,
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
this.name = 'SkillError';
|
|
147
|
+
this.skillId = options?.skillId;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Configuration errors
|
|
152
|
+
*/
|
|
153
|
+
export class ConfigurationError extends SkillsmithError {
|
|
154
|
+
constructor(message, options) {
|
|
155
|
+
super(message, {
|
|
156
|
+
code: 'CONFIGURATION_ERROR',
|
|
157
|
+
cause: options?.cause,
|
|
158
|
+
context: options?.context,
|
|
159
|
+
});
|
|
160
|
+
this.name = 'ConfigurationError';
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Wrap an unknown error in a SkillsmithError if not already one
|
|
165
|
+
*/
|
|
166
|
+
export function wrapError(error, message, options) {
|
|
167
|
+
if (error instanceof SkillsmithError) {
|
|
168
|
+
return error;
|
|
169
|
+
}
|
|
170
|
+
return new SkillsmithError(message, {
|
|
171
|
+
code: options?.code,
|
|
172
|
+
cause: error,
|
|
173
|
+
context: options?.context,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Extract error message from unknown error
|
|
178
|
+
*/
|
|
179
|
+
export function getErrorMessage(error) {
|
|
180
|
+
if (error instanceof Error) {
|
|
181
|
+
return error.message;
|
|
182
|
+
}
|
|
183
|
+
if (typeof error === 'string') {
|
|
184
|
+
return error;
|
|
185
|
+
}
|
|
186
|
+
return 'Unknown error';
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Check if error is a specific type
|
|
190
|
+
*/
|
|
191
|
+
export function isSkillsmithError(error) {
|
|
192
|
+
return error instanceof SkillsmithError;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=SkillsmithError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillsmithError.js","sourceRoot":"","sources":["../../../src/errors/SkillsmithError.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Classes Module - SMI-881
|
|
3
|
+
*
|
|
4
|
+
* Provides custom error classes with proper cause chaining for better error propagation.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import {
|
|
9
|
+
* SkillsmithError,
|
|
10
|
+
* ApiError,
|
|
11
|
+
* NetworkError,
|
|
12
|
+
* ValidationError,
|
|
13
|
+
* SkillError,
|
|
14
|
+
* ConfigurationError,
|
|
15
|
+
* wrapError,
|
|
16
|
+
* getErrorMessage
|
|
17
|
+
* } from '@skillsmith/core/errors'
|
|
18
|
+
*
|
|
19
|
+
* try {
|
|
20
|
+
* const response = await fetch(url)
|
|
21
|
+
* if (!response.ok) {
|
|
22
|
+
* throw new ApiError('API request failed', {
|
|
23
|
+
* statusCode: response.status,
|
|
24
|
+
* url
|
|
25
|
+
* })
|
|
26
|
+
* }
|
|
27
|
+
* } catch (error) {
|
|
28
|
+
* // Wrap unknown errors for consistent handling
|
|
29
|
+
* throw wrapError(error, 'Failed to fetch data')
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @module errors
|
|
34
|
+
*/
|
|
35
|
+
export { SkillsmithError, NetworkError, ApiError, ValidationError, SkillError, ConfigurationError, wrapError, getErrorMessage, isSkillsmithError, } from './SkillsmithError.js';
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,iBAAiB,GAClB,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Classes Module - SMI-881
|
|
3
|
+
*
|
|
4
|
+
* Provides custom error classes with proper cause chaining for better error propagation.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import {
|
|
9
|
+
* SkillsmithError,
|
|
10
|
+
* ApiError,
|
|
11
|
+
* NetworkError,
|
|
12
|
+
* ValidationError,
|
|
13
|
+
* SkillError,
|
|
14
|
+
* ConfigurationError,
|
|
15
|
+
* wrapError,
|
|
16
|
+
* getErrorMessage
|
|
17
|
+
* } from '@skillsmith/core/errors'
|
|
18
|
+
*
|
|
19
|
+
* try {
|
|
20
|
+
* const response = await fetch(url)
|
|
21
|
+
* if (!response.ok) {
|
|
22
|
+
* throw new ApiError('API request failed', {
|
|
23
|
+
* statusCode: response.status,
|
|
24
|
+
* url
|
|
25
|
+
* })
|
|
26
|
+
* }
|
|
27
|
+
* } catch (error) {
|
|
28
|
+
* // Wrap unknown errors for consistent handling
|
|
29
|
+
* throw wrapError(error, 'Failed to fetch data')
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @module errors
|
|
34
|
+
*/
|
|
35
|
+
export { SkillsmithError, NetworkError, ApiError, ValidationError, SkillError, ConfigurationError, wrapError, getErrorMessage, isSkillsmithError, } from './SkillsmithError.js';
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,iBAAiB,GAClB,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skillsmith Error Code Taxonomy
|
|
3
|
+
* SMI-583: Structured error handling
|
|
4
|
+
*/
|
|
5
|
+
export type ErrorCategory = 'SKILL' | 'SEARCH' | 'CONFIG' | 'NETWORK' | 'VALIDATION' | 'INTERNAL';
|
|
6
|
+
export declare const ErrorCodes: {
|
|
7
|
+
readonly SKILL_NOT_FOUND: "SKILL_NOT_FOUND";
|
|
8
|
+
readonly SKILL_INVALID_ID: "SKILL_INVALID_ID";
|
|
9
|
+
readonly SKILL_INSTALL_FAILED: "SKILL_INSTALL_FAILED";
|
|
10
|
+
readonly SKILL_PARSE_ERROR: "SKILL_PARSE_ERROR";
|
|
11
|
+
readonly SEARCH_QUERY_EMPTY: "SEARCH_QUERY_EMPTY";
|
|
12
|
+
readonly SEARCH_QUERY_INVALID: "SEARCH_QUERY_INVALID";
|
|
13
|
+
readonly SEARCH_INDEX_UNAVAILABLE: "SEARCH_INDEX_UNAVAILABLE";
|
|
14
|
+
readonly SEARCH_TIMEOUT: "SEARCH_TIMEOUT";
|
|
15
|
+
readonly CONFIG_NOT_FOUND: "CONFIG_NOT_FOUND";
|
|
16
|
+
readonly CONFIG_INVALID: "CONFIG_INVALID";
|
|
17
|
+
readonly CONFIG_PERMISSION_DENIED: "CONFIG_PERMISSION_DENIED";
|
|
18
|
+
readonly NETWORK_UNREACHABLE: "NETWORK_UNREACHABLE";
|
|
19
|
+
readonly NETWORK_TIMEOUT: "NETWORK_TIMEOUT";
|
|
20
|
+
readonly NETWORK_RATE_LIMITED: "NETWORK_RATE_LIMITED";
|
|
21
|
+
readonly VALIDATION_REQUIRED_FIELD: "VALIDATION_REQUIRED_FIELD";
|
|
22
|
+
readonly VALIDATION_INVALID_TYPE: "VALIDATION_INVALID_TYPE";
|
|
23
|
+
readonly VALIDATION_OUT_OF_RANGE: "VALIDATION_OUT_OF_RANGE";
|
|
24
|
+
readonly INTERNAL_ERROR: "INTERNAL_ERROR";
|
|
25
|
+
readonly INTERNAL_NOT_IMPLEMENTED: "INTERNAL_NOT_IMPLEMENTED";
|
|
26
|
+
};
|
|
27
|
+
export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];
|
|
28
|
+
/**
|
|
29
|
+
* Structured error response format
|
|
30
|
+
*/
|
|
31
|
+
export interface ErrorResponse {
|
|
32
|
+
error: {
|
|
33
|
+
code: ErrorCode;
|
|
34
|
+
message: string;
|
|
35
|
+
suggestion?: string;
|
|
36
|
+
details?: Record<string, unknown>;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Error suggestions map for actionable feedback
|
|
41
|
+
*/
|
|
42
|
+
export declare const ErrorSuggestions: Partial<Record<ErrorCode, string>>;
|
|
43
|
+
/**
|
|
44
|
+
* Custom error class for Skillsmith operations
|
|
45
|
+
*/
|
|
46
|
+
export declare class SkillsmithError extends Error {
|
|
47
|
+
readonly code: ErrorCode;
|
|
48
|
+
readonly suggestion?: string;
|
|
49
|
+
readonly details?: Record<string, unknown>;
|
|
50
|
+
constructor(code: ErrorCode, message: string, options?: {
|
|
51
|
+
suggestion?: string;
|
|
52
|
+
details?: Record<string, unknown>;
|
|
53
|
+
cause?: Error;
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Convert to structured error response
|
|
57
|
+
*/
|
|
58
|
+
toResponse(): ErrorResponse;
|
|
59
|
+
/**
|
|
60
|
+
* Format for terminal display
|
|
61
|
+
*/
|
|
62
|
+
toTerminalString(): string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create an error response from an unknown error
|
|
66
|
+
*/
|
|
67
|
+
export declare function createErrorResponse(error: unknown): ErrorResponse;
|
|
68
|
+
/**
|
|
69
|
+
* Wrap a handler function with error boundary
|
|
70
|
+
*/
|
|
71
|
+
export declare function withErrorBoundary<T extends (...args: unknown[]) => Promise<unknown>>(handler: T, logError?: (error: unknown) => void): T;
|
|
72
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,UAAU,CAAA;AAGd,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CA+Bb,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AAEpE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAClC,CAAA;CACF;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAO/D,CAAA;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,IAAI,EAAE,SAAS,CAAA;IAC/B,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAG/C,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACjC,KAAK,CAAC,EAAE,KAAK,CAAA;KACd;IASH;;OAEG;IACH,UAAU,IAAI,aAAa;IAW3B;;OAEG;IACH,gBAAgB,IAAI,MAAM;CAO3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAuBjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAClF,OAAO,EAAE,CAAC,EACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAClC,CAAC,CAeH"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skillsmith Error Code Taxonomy
|
|
3
|
+
* SMI-583: Structured error handling
|
|
4
|
+
*/
|
|
5
|
+
// Specific error codes
|
|
6
|
+
export const ErrorCodes = {
|
|
7
|
+
// Skill errors
|
|
8
|
+
SKILL_NOT_FOUND: 'SKILL_NOT_FOUND',
|
|
9
|
+
SKILL_INVALID_ID: 'SKILL_INVALID_ID',
|
|
10
|
+
SKILL_INSTALL_FAILED: 'SKILL_INSTALL_FAILED',
|
|
11
|
+
SKILL_PARSE_ERROR: 'SKILL_PARSE_ERROR',
|
|
12
|
+
// Search errors
|
|
13
|
+
SEARCH_QUERY_EMPTY: 'SEARCH_QUERY_EMPTY',
|
|
14
|
+
SEARCH_QUERY_INVALID: 'SEARCH_QUERY_INVALID',
|
|
15
|
+
SEARCH_INDEX_UNAVAILABLE: 'SEARCH_INDEX_UNAVAILABLE',
|
|
16
|
+
SEARCH_TIMEOUT: 'SEARCH_TIMEOUT',
|
|
17
|
+
// Config errors
|
|
18
|
+
CONFIG_NOT_FOUND: 'CONFIG_NOT_FOUND',
|
|
19
|
+
CONFIG_INVALID: 'CONFIG_INVALID',
|
|
20
|
+
CONFIG_PERMISSION_DENIED: 'CONFIG_PERMISSION_DENIED',
|
|
21
|
+
// Network errors
|
|
22
|
+
NETWORK_UNREACHABLE: 'NETWORK_UNREACHABLE',
|
|
23
|
+
NETWORK_TIMEOUT: 'NETWORK_TIMEOUT',
|
|
24
|
+
NETWORK_RATE_LIMITED: 'NETWORK_RATE_LIMITED',
|
|
25
|
+
// Validation errors
|
|
26
|
+
VALIDATION_REQUIRED_FIELD: 'VALIDATION_REQUIRED_FIELD',
|
|
27
|
+
VALIDATION_INVALID_TYPE: 'VALIDATION_INVALID_TYPE',
|
|
28
|
+
VALIDATION_OUT_OF_RANGE: 'VALIDATION_OUT_OF_RANGE',
|
|
29
|
+
// Internal errors
|
|
30
|
+
INTERNAL_ERROR: 'INTERNAL_ERROR',
|
|
31
|
+
INTERNAL_NOT_IMPLEMENTED: 'INTERNAL_NOT_IMPLEMENTED',
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Error suggestions map for actionable feedback
|
|
35
|
+
*/
|
|
36
|
+
export const ErrorSuggestions = {
|
|
37
|
+
SKILL_NOT_FOUND: 'Try searching with different keywords or check the skill ID spelling',
|
|
38
|
+
SKILL_INVALID_ID: 'Skill IDs should be in format "author/skill-name" or a valid UUID',
|
|
39
|
+
SEARCH_QUERY_EMPTY: 'Provide a search query with at least 2 characters',
|
|
40
|
+
SEARCH_INDEX_UNAVAILABLE: 'The search index is being updated. Please try again in a moment',
|
|
41
|
+
CONFIG_NOT_FOUND: 'Run "skillsmith init" to create the configuration file',
|
|
42
|
+
NETWORK_RATE_LIMITED: 'Wait a few minutes before trying again',
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Custom error class for Skillsmith operations
|
|
46
|
+
*/
|
|
47
|
+
export class SkillsmithError extends Error {
|
|
48
|
+
code;
|
|
49
|
+
suggestion;
|
|
50
|
+
details;
|
|
51
|
+
constructor(code, message, options) {
|
|
52
|
+
super(message, { cause: options?.cause });
|
|
53
|
+
this.name = 'SkillsmithError';
|
|
54
|
+
this.code = code;
|
|
55
|
+
this.suggestion = options?.suggestion ?? ErrorSuggestions[code];
|
|
56
|
+
this.details = options?.details;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Convert to structured error response
|
|
60
|
+
*/
|
|
61
|
+
toResponse() {
|
|
62
|
+
return {
|
|
63
|
+
error: {
|
|
64
|
+
code: this.code,
|
|
65
|
+
message: this.message,
|
|
66
|
+
suggestion: this.suggestion,
|
|
67
|
+
details: this.details,
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Format for terminal display
|
|
73
|
+
*/
|
|
74
|
+
toTerminalString() {
|
|
75
|
+
let output = `Error [${this.code}]: ${this.message}`;
|
|
76
|
+
if (this.suggestion) {
|
|
77
|
+
output += `\n Suggestion: ${this.suggestion}`;
|
|
78
|
+
}
|
|
79
|
+
return output;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Create an error response from an unknown error
|
|
84
|
+
*/
|
|
85
|
+
export function createErrorResponse(error) {
|
|
86
|
+
if (error instanceof SkillsmithError) {
|
|
87
|
+
return error.toResponse();
|
|
88
|
+
}
|
|
89
|
+
if (error instanceof Error) {
|
|
90
|
+
return {
|
|
91
|
+
error: {
|
|
92
|
+
code: ErrorCodes.INTERNAL_ERROR,
|
|
93
|
+
message: error.message,
|
|
94
|
+
suggestion: 'An unexpected error occurred. Please try again or report this issue.',
|
|
95
|
+
details: { stack: error.stack },
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
error: {
|
|
101
|
+
code: ErrorCodes.INTERNAL_ERROR,
|
|
102
|
+
message: String(error),
|
|
103
|
+
suggestion: 'An unexpected error occurred. Please try again.',
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Wrap a handler function with error boundary
|
|
109
|
+
*/
|
|
110
|
+
export function withErrorBoundary(handler, logError) {
|
|
111
|
+
return (async (...args) => {
|
|
112
|
+
try {
|
|
113
|
+
return await handler(...args);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
logError?.(error);
|
|
117
|
+
throw error instanceof SkillsmithError
|
|
118
|
+
? error
|
|
119
|
+
: new SkillsmithError(ErrorCodes.INTERNAL_ERROR, error instanceof Error ? error.message : String(error), { cause: error instanceof Error ? error : undefined });
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @skillsmith/core - Core functionality for skill discovery
|
|
3
|
+
*/
|
|
4
|
+
export declare const VERSION = "0.1.0";
|
|
5
|
+
export { SCHEMA_VERSION, createDatabase, openDatabase, closeDatabase, initializeSchema, getSchemaVersion, runMigrations, runMigrationsSafe, } from './db/schema.js';
|
|
6
|
+
export type { DatabaseType } from './db/schema.js';
|
|
7
|
+
export { SkillRepository } from './repositories/SkillRepository.js';
|
|
8
|
+
export { CacheRepository } from './repositories/CacheRepository.js';
|
|
9
|
+
export { IndexerRepository } from './repositories/IndexerRepository.js';
|
|
10
|
+
export type { IndexedSkill, UpsertResult, BatchUpsertResult, } from './repositories/IndexerRepository.js';
|
|
11
|
+
export { SearchService } from './services/SearchService.js';
|
|
12
|
+
export type { Skill, SkillCreateInput, SkillUpdateInput, PaginatedResults, SearchOptions, SearchResult, TrustTier, CacheEntry, } from './types/skill.js';
|
|
13
|
+
export { HybridSearch } from './search/index.js';
|
|
14
|
+
export type { HybridSearchOptions, SearchQuery, SearchResponse } from './search/index.js';
|
|
15
|
+
export type { EmbeddingResult, SimilarityResult, EmbeddingServiceOptions, } from './embeddings/index.js';
|
|
16
|
+
export { L1Cache, L2Cache, TieredCache } from './cache/index.js';
|
|
17
|
+
export type { SearchCacheEntry, SearchResult as CachedSearchResult, CacheStats, TieredCacheOptions, } from './cache/index.js';
|
|
18
|
+
export { SecurityScanner } from './security/index.js';
|
|
19
|
+
export type { SecurityFinding, ScanReport, ScannerOptions } from './security/index.js';
|
|
20
|
+
export { validateDbPath, validateDbPathOrThrow, isPathSafe, DEFAULT_ALLOWED_DIRS, } from './security/index.js';
|
|
21
|
+
export type { PathValidationOptions, PathValidationResult } from './security/index.js';
|
|
22
|
+
export { ErrorCodes, ErrorSuggestions, SkillsmithError, createErrorResponse, withErrorBoundary, type ErrorCategory, type ErrorCode, type ErrorResponse, } from './errors.js';
|
|
23
|
+
/**
|
|
24
|
+
* Enhanced error classes with cause chaining (SMI-881)
|
|
25
|
+
*
|
|
26
|
+
* Error class versioning:
|
|
27
|
+
* - `SkillsmithError` (legacy): Simple error with code property
|
|
28
|
+
* - `SkillsmithErrorV2` (new): Enhanced with cause chaining, context object, getErrorChain() method
|
|
29
|
+
*/
|
|
30
|
+
export { SkillsmithError as SkillsmithErrorV2, NetworkError, ApiError, ValidationError, SkillError, ConfigurationError, wrapError, getErrorMessage, isSkillsmithError, } from './errors/index.js';
|
|
31
|
+
export { TrustTierDescriptions, type TrustTier as MCPTrustTier, type SkillCategory, type ScoreBreakdown, type Skill as MCPSkill, type SkillSearchResult, type SearchFilters, type SearchResponse as MCPSearchResponse, type GetSkillResponse, } from './types.js';
|
|
32
|
+
export { SkillParser, GitHubIndexer } from './indexer/index.js';
|
|
33
|
+
export type { SkillFrontmatter, ParsedSkillMetadata, ValidationResult, SkillParserOptions, GitHubIndexerOptions, IndexResult, SkillMetadata, } from './indexer/index.js';
|
|
34
|
+
export { SessionManager, DefaultCommandExecutor, SessionRecovery, createSessionRecovery, ActiveSessionContext, NullSessionContext, createSessionContext, isActiveContext, getSessionDuration, formatSessionDuration, getLatestCheckpoint, } from './session/index.js';
|
|
35
|
+
export type { SessionOptions, MemoryResult, CommandExecutor, Checkpoint, SessionData, SessionContext, RecoveryStatus, RecoveryResult, RecoveryOptions, } from './session/index.js';
|
|
36
|
+
export { BenchmarkRunner, SearchBenchmark, IndexBenchmark, runAllBenchmarks, formatReportAsJson, formatReportAsText, compareReports, validateSearchResults, validateIndexResults, SEARCH_TARGETS, INDEX_TARGETS, type BenchmarkConfig, type BenchmarkResult, type BenchmarkStats, type BenchmarkReport, type BenchmarkDefinition, type BenchmarkFn, type MemoryStats, type EnvironmentInfo, type ComparisonResult, type MetricComparison, type SearchBenchmarkConfig, type ValidationResult as BenchmarkValidationResult, type IndexBenchmarkConfig, type ThroughputResult, type SizeImpactResult, type IndexValidationResult, type CLIOptions, CacheBenchmark, EmbeddingBenchmark, CACHE_TARGETS, EMBEDDING_TARGETS, validateCacheResults, validateEmbeddingResults, type CacheBenchmarkConfig, type CacheValidationResult, type EmbeddingBenchmarkConfig, type EmbeddingValidationResult, } from './benchmarks/index.js';
|
|
37
|
+
export { WebhookHandler, WebhookQueue, isSkillFile, extractSkillChanges, parseWebhookPayload, } from './webhooks/index.js';
|
|
38
|
+
export type { WebhookEventType, RepositoryAction, GitUser, PushCommit, RepositoryOwner, WebhookRepository, WebhookSender, PushEventPayload, RepositoryEventPayload, PingEventPayload, WebhookPayload, ParsedWebhookEvent, SignatureVerificationResult, SkillFileChange, WebhookHandlerOptions, WebhookHandleResult, QueueItemType, QueuePriority, WebhookQueueItem, QueueProcessResult, QueueStats, WebhookQueueOptions, } from './webhooks/index.js';
|
|
39
|
+
export { BaseSourceAdapter, SourceAdapterRegistry, SourceIndexer, defaultRegistry, isSourceAdapter, } from './sources/index.js';
|
|
40
|
+
export type { ISourceAdapter, SourceType, SourceConfig, RateLimitConfig as SourceRateLimitConfig, SourceAuthConfig, SourceLocation, SourceRepository, SkillContent, SourceSearchOptions, SourceSearchResult, SkillIndexResult, BatchIndexResult, SourceHealth, SourceAdapterFactory, RegistryStats, ParsedSkillMetadata as SourceParsedSkillMetadata, ISkillParser, ISkillRepository, SourceIndexerOptions, } from './sources/index.js';
|
|
41
|
+
export { QualityScorer, quickScore, scoreFromRepository } from './scoring/index.js';
|
|
42
|
+
export type { QualityScoringInput, QualityScoreBreakdown, ScoringWeights } from './scoring/index.js';
|
|
43
|
+
export { DailyIndexPipeline, createScheduledPipeline, runDailyIndex } from './pipeline/index.js';
|
|
44
|
+
export type { PipelineStatus, PipelineSourceConfig, PipelineConfig, PipelineProgress, SourceResult, PipelineResult, } from './pipeline/index.js';
|
|
45
|
+
export { SkillsmithTracer, getTracer, initializeTracing, shutdownTracing, traced, MetricsRegistry, getMetrics, initializeMetrics, timeAsync, timeSync, initializeTelemetry, shutdownTelemetry, LATENCY_BUCKETS, exportToPrometheus, getPrometheusMetrics, createPrometheusHandler, type TracerConfig, type SpanAttributes, type SpanWrapper, type MetricsConfig, type MetricLabels, type Counter, type Histogram, type Gauge, type MetricsSnapshot, type PrometheusExportOptions, } from './telemetry/index.js';
|
|
46
|
+
export { CodebaseAnalyzer, type CodebaseContext, type ImportInfo, type ExportInfo, type FunctionInfo, type FrameworkInfo, type DependencyInfo, type AnalyzeOptions, } from './analysis/index.js';
|
|
47
|
+
export { SkillMatcher, OverlapDetector, type MatchableSkill, type SkillMatchResult, type SkillMatcherOptions, type TriggerPhraseSkill, type OverlapResult, type FilteredSkillsResult, type OverlapDetectorOptions, } from './matching/index.js';
|
|
48
|
+
export { RateLimiter, InMemoryRateLimitStorage, createRateLimiterFromPreset, RATE_LIMIT_PRESETS, type RateLimitConfig, type RateLimitResult, type RateLimitStorage, type RateLimitMetrics, } from './security/RateLimiter.js';
|
|
49
|
+
export { TriggerDetector, ContextScorer, DEFAULT_FILE_TRIGGERS, DEFAULT_COMMAND_TRIGGERS, DEFAULT_ERROR_TRIGGERS, DEFAULT_PROJECT_TRIGGERS, type TriggerType, type FilePatternTrigger, type CommandTrigger, type ErrorTrigger, type ProjectTrigger, type DetectedTrigger, type TriggerDetectionOptions, type ContextScore, type ContextScoringWeights, type ContextScorerOptions, } from './triggers/index.js';
|
|
50
|
+
export { ActivationManager, ZeroConfigActivator, type ActivationOptions, type ActivationResult, type SkillConfigSchema, type ConfigField, type ConfigStatus, type ZeroConfigOptions, } from './activation/index.js';
|
|
51
|
+
export { initializeAnalyticsSchema, AnalyticsRepository, UsageAnalyticsService, ExperimentService, ROIDashboardService, anonymizeUserId, hashProjectContext, AnalyticsStorage, UsageTracker, } from './analytics/index.js';
|
|
52
|
+
export type { UsageEvent, UsageEventInput, UsageEventType, Experiment, ExperimentInput, ExperimentStatus, ExperimentVariant, ExperimentAssignment, ExperimentOutcome, OutcomeInput, ExperimentAnalysis, ROIMetrics, ROIMetricType, ValueAttribution, AttributionType, ValueDimension, UsageAnalyticsSummary, ROIDashboard, ExportFormat, ExportOptions, SkillUsageEvent, SkillUsageOutcome, SkillMetrics, UsageTrackerOptions, MetricsAggregator, MetricsExporter, AggregationPeriod, GlobalMetrics, MetricsExport, } from './analytics/index.js';
|
|
53
|
+
export { initializeQuarantineSchema, hasQuarantineTable, migrateQuarantineSchema, QUARANTINE_SEVERITY_POLICIES, type QuarantineSeverity, type QuarantineReviewStatus, } from './db/quarantine-schema.js';
|
|
54
|
+
export { QuarantineRepository, type QuarantineEntry, type QuarantineCreateInput, type QuarantineUpdateInput, type QuarantineQueryFilter, type PaginatedQuarantineResults, type QuarantineStats, type ReviewDecision, } from './repositories/QuarantineRepository.js';
|
|
55
|
+
export { AuditLogger, MIN_RETENTION_DAYS, MAX_RETENTION_DAYS, type AuditEventType, type AuditActor, type AuditResult, type AuditLogEntry, type AuditQueryFilter, type AuditLoggerConfig, type AuditStats, } from './security/AuditLogger.js';
|
|
56
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @skillsmith/core - Core functionality for skill discovery
|
|
3
|
+
*/
|
|
4
|
+
// Version
|
|
5
|
+
export const VERSION = '0.1.0';
|
|
6
|
+
// Database (SMI-577, SMI-974)
|
|
7
|
+
export { SCHEMA_VERSION, createDatabase, openDatabase, closeDatabase, initializeSchema, getSchemaVersion, runMigrations, runMigrationsSafe, } from './db/schema.js';
|
|
8
|
+
// Repositories (SMI-578, SMI-628)
|
|
9
|
+
export { SkillRepository } from './repositories/SkillRepository.js';
|
|
10
|
+
export { CacheRepository } from './repositories/CacheRepository.js';
|
|
11
|
+
export { IndexerRepository } from './repositories/IndexerRepository.js';
|
|
12
|
+
// Services (SMI-579)
|
|
13
|
+
export { SearchService } from './services/SearchService.js';
|
|
14
|
+
// Search
|
|
15
|
+
export { HybridSearch } from './search/index.js';
|
|
16
|
+
// Cache
|
|
17
|
+
export { L1Cache, L2Cache, TieredCache } from './cache/index.js';
|
|
18
|
+
// Security
|
|
19
|
+
export { SecurityScanner } from './security/index.js';
|
|
20
|
+
// SMI-898: Path Traversal Protection
|
|
21
|
+
export { validateDbPath, validateDbPathOrThrow, isPathSafe, DEFAULT_ALLOWED_DIRS, } from './security/index.js';
|
|
22
|
+
// Error handling (SMI-583)
|
|
23
|
+
export { ErrorCodes, ErrorSuggestions, SkillsmithError, createErrorResponse, withErrorBoundary, } from './errors.js';
|
|
24
|
+
/**
|
|
25
|
+
* Enhanced error classes with cause chaining (SMI-881)
|
|
26
|
+
*
|
|
27
|
+
* Error class versioning:
|
|
28
|
+
* - `SkillsmithError` (legacy): Simple error with code property
|
|
29
|
+
* - `SkillsmithErrorV2` (new): Enhanced with cause chaining, context object, getErrorChain() method
|
|
30
|
+
*/
|
|
31
|
+
export { SkillsmithError as SkillsmithErrorV2, NetworkError, ApiError, ValidationError, SkillError, ConfigurationError, wrapError, getErrorMessage, isSkillsmithError, } from './errors/index.js';
|
|
32
|
+
// MCP types (SMI-581, SMI-582)
|
|
33
|
+
export { TrustTierDescriptions, } from './types.js';
|
|
34
|
+
// Indexer (SMI-628)
|
|
35
|
+
export { SkillParser, GitHubIndexer } from './indexer/index.js';
|
|
36
|
+
// Session Management (SMI-641)
|
|
37
|
+
export { SessionManager, DefaultCommandExecutor, SessionRecovery, createSessionRecovery, ActiveSessionContext, NullSessionContext, createSessionContext, isActiveContext, getSessionDuration, formatSessionDuration, getLatestCheckpoint, } from './session/index.js';
|
|
38
|
+
// Benchmarks (SMI-632)
|
|
39
|
+
export { BenchmarkRunner, SearchBenchmark, IndexBenchmark, runAllBenchmarks, formatReportAsJson, formatReportAsText, compareReports, validateSearchResults, validateIndexResults, SEARCH_TARGETS, INDEX_TARGETS,
|
|
40
|
+
// SMI-738: Cache and embedding benchmarks
|
|
41
|
+
CacheBenchmark, EmbeddingBenchmark, CACHE_TARGETS, EMBEDDING_TARGETS, validateCacheResults, validateEmbeddingResults, } from './benchmarks/index.js';
|
|
42
|
+
// Webhooks (SMI-645)
|
|
43
|
+
export { WebhookHandler, WebhookQueue, isSkillFile, extractSkillChanges, parseWebhookPayload, } from './webhooks/index.js';
|
|
44
|
+
// Source Adapters (SMI-589)
|
|
45
|
+
export { BaseSourceAdapter, SourceAdapterRegistry, SourceIndexer, defaultRegistry, isSourceAdapter, } from './sources/index.js';
|
|
46
|
+
// Quality Scoring (SMI-592)
|
|
47
|
+
export { QualityScorer, quickScore, scoreFromRepository } from './scoring/index.js';
|
|
48
|
+
// Pipeline (SMI-593)
|
|
49
|
+
export { DailyIndexPipeline, createScheduledPipeline, runDailyIndex } from './pipeline/index.js';
|
|
50
|
+
// Telemetry (SMI-739)
|
|
51
|
+
export { SkillsmithTracer, getTracer, initializeTracing, shutdownTracing, traced, MetricsRegistry, getMetrics, initializeMetrics, timeAsync, timeSync, initializeTelemetry, shutdownTelemetry, LATENCY_BUCKETS,
|
|
52
|
+
// SMI-1018: Prometheus metrics export
|
|
53
|
+
exportToPrometheus, getPrometheusMetrics, createPrometheusHandler, } from './telemetry/index.js';
|
|
54
|
+
// Codebase Analysis (SMI-600)
|
|
55
|
+
export { CodebaseAnalyzer, } from './analysis/index.js';
|
|
56
|
+
// Skill Matching (SMI-602, SMI-604)
|
|
57
|
+
export { SkillMatcher, OverlapDetector, } from './matching/index.js';
|
|
58
|
+
// Security (SMI-730)
|
|
59
|
+
export { RateLimiter, InMemoryRateLimitStorage, createRateLimiterFromPreset, RATE_LIMIT_PRESETS, } from './security/RateLimiter.js';
|
|
60
|
+
// Trigger System (Phase 4)
|
|
61
|
+
export { TriggerDetector, ContextScorer, DEFAULT_FILE_TRIGGERS, DEFAULT_COMMAND_TRIGGERS, DEFAULT_ERROR_TRIGGERS, DEFAULT_PROJECT_TRIGGERS, } from './triggers/index.js';
|
|
62
|
+
// Skill Activation (Phase 4)
|
|
63
|
+
export { ActivationManager, ZeroConfigActivator, } from './activation/index.js';
|
|
64
|
+
// Analytics (Phase 4: Epic 3 & Epic 4)
|
|
65
|
+
export { initializeAnalyticsSchema, AnalyticsRepository, UsageAnalyticsService, ExperimentService, ROIDashboardService,
|
|
66
|
+
// SMI-914: Skill usage event tracking
|
|
67
|
+
anonymizeUserId, hashProjectContext, AnalyticsStorage, UsageTracker, } from './analytics/index.js';
|
|
68
|
+
// Quarantine Management (SMI-865)
|
|
69
|
+
export { initializeQuarantineSchema, hasQuarantineTable, migrateQuarantineSchema, QUARANTINE_SEVERITY_POLICIES, } from './db/quarantine-schema.js';
|
|
70
|
+
export { QuarantineRepository, } from './repositories/QuarantineRepository.js';
|
|
71
|
+
// Audit Logging (SMI-733)
|
|
72
|
+
export { AuditLogger, MIN_RETENTION_DAYS, MAX_RETENTION_DAYS, } from './security/AuditLogger.js';
|
|
73
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|