@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,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Recovery for Claude-Flow Memory
|
|
3
|
+
* SMI-641: Session ID Storage in Claude-Flow Memory
|
|
4
|
+
*
|
|
5
|
+
* Provides session recovery capabilities:
|
|
6
|
+
* - Find latest session from memory
|
|
7
|
+
* - Restore session context
|
|
8
|
+
* - Resume from last checkpoint
|
|
9
|
+
* - Merge with new session if needed
|
|
10
|
+
*/
|
|
11
|
+
import type { SessionData, Checkpoint, SessionContext } from './SessionContext.js';
|
|
12
|
+
import type { SessionManager, CommandExecutor, SessionOptions } from './SessionManager.js';
|
|
13
|
+
/**
|
|
14
|
+
* Recovery result status
|
|
15
|
+
*/
|
|
16
|
+
export type RecoveryStatus = 'restored' | 'merged' | 'not_found' | 'error';
|
|
17
|
+
/**
|
|
18
|
+
* Result of a session recovery attempt
|
|
19
|
+
*/
|
|
20
|
+
export interface RecoveryResult {
|
|
21
|
+
status: RecoveryStatus;
|
|
22
|
+
session: SessionData | null;
|
|
23
|
+
checkpoint: Checkpoint | null;
|
|
24
|
+
message: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Options for session recovery
|
|
28
|
+
*/
|
|
29
|
+
export interface RecoveryOptions {
|
|
30
|
+
/** Session ID to recover (uses current if not specified) */
|
|
31
|
+
sessionId?: string;
|
|
32
|
+
/** Whether to merge with a new session if recovery fails */
|
|
33
|
+
mergeOnFailure?: boolean;
|
|
34
|
+
/** Options for new session if merging */
|
|
35
|
+
newSessionOptions?: SessionOptions;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Session Recovery handles restoring sessions from claude-flow memory
|
|
39
|
+
*/
|
|
40
|
+
export declare class SessionRecovery {
|
|
41
|
+
private manager;
|
|
42
|
+
private executor;
|
|
43
|
+
constructor(manager: SessionManager, executor: CommandExecutor);
|
|
44
|
+
/**
|
|
45
|
+
* Find the latest session from memory
|
|
46
|
+
*/
|
|
47
|
+
findLatestSession(): Promise<SessionData | null>;
|
|
48
|
+
/**
|
|
49
|
+
* Search for recent sessions in memory
|
|
50
|
+
*/
|
|
51
|
+
private searchForRecentSession;
|
|
52
|
+
/**
|
|
53
|
+
* Restore session context from memory
|
|
54
|
+
*/
|
|
55
|
+
restoreSession(options?: RecoveryOptions): Promise<RecoveryResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Resume from the last checkpoint in a session
|
|
58
|
+
*/
|
|
59
|
+
resumeFromCheckpoint(session: SessionData, checkpointId?: string): Promise<RecoveryResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Merge a previous session with a new one
|
|
62
|
+
*
|
|
63
|
+
* This is useful when starting a new session but wanting to
|
|
64
|
+
* preserve context from a previous incomplete session.
|
|
65
|
+
*/
|
|
66
|
+
mergeWithNewSession(previousSession: SessionData, newSessionOptions: SessionOptions): Promise<RecoveryResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Create a session context from recovery result
|
|
69
|
+
*/
|
|
70
|
+
createContext(result: RecoveryResult): SessionContext;
|
|
71
|
+
/**
|
|
72
|
+
* Retrieve checkpoint data from memory
|
|
73
|
+
*/
|
|
74
|
+
private retrieveCheckpointData;
|
|
75
|
+
/**
|
|
76
|
+
* Run session restore hook
|
|
77
|
+
*/
|
|
78
|
+
private runSessionRestoreHook;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Factory function to create SessionRecovery with default dependencies
|
|
82
|
+
*/
|
|
83
|
+
export declare function createSessionRecovery(manager: SessionManager, executor: CommandExecutor): SessionRecovery;
|
|
84
|
+
//# sourceMappingURL=SessionRecovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionRecovery.d.ts","sourceRoot":"","sources":["../../../src/session/SessionRecovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE1F;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAA;AAE1E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,cAAc,CAAA;CACnC;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;gBAErB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe;IAK9D;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAetD;;OAEG;YACW,sBAAsB;IA+CpC;;OAEG;IACG,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAsD5E;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgDhG;;;;;OAKG;IACG,mBAAmB,CACvB,eAAe,EAAE,WAAW,EAC5B,iBAAiB,EAAE,cAAc,GAChC,OAAO,CAAC,cAAc,CAAC;IAqC1B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc;IAIrD;;OAEG;YACW,sBAAsB;IAepC;;OAEG;YACW,qBAAqB;CAQpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe,GACxB,eAAe,CAEjB"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Recovery for Claude-Flow Memory
|
|
3
|
+
* SMI-641: Session ID Storage in Claude-Flow Memory
|
|
4
|
+
*
|
|
5
|
+
* Provides session recovery capabilities:
|
|
6
|
+
* - Find latest session from memory
|
|
7
|
+
* - Restore session context
|
|
8
|
+
* - Resume from last checkpoint
|
|
9
|
+
* - Merge with new session if needed
|
|
10
|
+
*/
|
|
11
|
+
import { createSessionContext, getLatestCheckpoint } from './SessionContext.js';
|
|
12
|
+
/**
|
|
13
|
+
* Session Recovery handles restoring sessions from claude-flow memory
|
|
14
|
+
*/
|
|
15
|
+
export class SessionRecovery {
|
|
16
|
+
manager;
|
|
17
|
+
executor;
|
|
18
|
+
constructor(manager, executor) {
|
|
19
|
+
this.manager = manager;
|
|
20
|
+
this.executor = executor;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Find the latest session from memory
|
|
24
|
+
*/
|
|
25
|
+
async findLatestSession() {
|
|
26
|
+
// First try to get current session pointer
|
|
27
|
+
const currentId = await this.manager.getCurrentSessionId();
|
|
28
|
+
if (currentId) {
|
|
29
|
+
const session = await this.manager.getSession(currentId);
|
|
30
|
+
if (session) {
|
|
31
|
+
return session;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// If no current session, try to list recent sessions
|
|
35
|
+
return this.searchForRecentSession();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Search for recent sessions in memory
|
|
39
|
+
*/
|
|
40
|
+
async searchForRecentSession() {
|
|
41
|
+
try {
|
|
42
|
+
// Use claude-flow memory list to find session keys
|
|
43
|
+
const command = 'npx claude-flow@alpha memory list --pattern "session/*"';
|
|
44
|
+
const { stdout } = await this.executor.execute(command);
|
|
45
|
+
// Parse output to find session keys
|
|
46
|
+
const lines = stdout.trim().split('\n').filter(Boolean);
|
|
47
|
+
const sessionKeys = lines.filter((line) => line.includes('session/') && !line.includes('session/current'));
|
|
48
|
+
if (sessionKeys.length === 0) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
// Get all sessions and find the most recent
|
|
52
|
+
const sessions = [];
|
|
53
|
+
for (const keyLine of sessionKeys) {
|
|
54
|
+
// Extract session ID from key (format varies by claude-flow version)
|
|
55
|
+
const match = keyLine.match(/session\/([a-f0-9-]+)/i);
|
|
56
|
+
if (match) {
|
|
57
|
+
const sessionId = match[1];
|
|
58
|
+
const session = await this.manager.getSession(sessionId);
|
|
59
|
+
if (session) {
|
|
60
|
+
sessions.push(session);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (sessions.length === 0) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
// Return the most recently active session
|
|
68
|
+
return sessions.reduce((latest, current) => {
|
|
69
|
+
const latestTime = new Date(latest.lastActivity).getTime();
|
|
70
|
+
const currentTime = new Date(current.lastActivity).getTime();
|
|
71
|
+
return currentTime > latestTime ? current : latest;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Memory list may not be supported or empty
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Restore session context from memory
|
|
81
|
+
*/
|
|
82
|
+
async restoreSession(options = {}) {
|
|
83
|
+
try {
|
|
84
|
+
let session = null;
|
|
85
|
+
// Try to get specific session or find latest
|
|
86
|
+
if (options.sessionId) {
|
|
87
|
+
session = await this.manager.getSession(options.sessionId);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
session = await this.findLatestSession();
|
|
91
|
+
}
|
|
92
|
+
if (!session) {
|
|
93
|
+
// No session found
|
|
94
|
+
if (options.mergeOnFailure && options.newSessionOptions) {
|
|
95
|
+
// Create a new session instead
|
|
96
|
+
const newSession = await this.manager.startSession(options.newSessionOptions);
|
|
97
|
+
return {
|
|
98
|
+
status: 'merged',
|
|
99
|
+
session: newSession,
|
|
100
|
+
checkpoint: null,
|
|
101
|
+
message: 'No previous session found. Created new session.',
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
status: 'not_found',
|
|
106
|
+
session: null,
|
|
107
|
+
checkpoint: null,
|
|
108
|
+
message: 'No session found to restore.',
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
// Get the latest checkpoint for resume information
|
|
112
|
+
const latestCheckpoint = getLatestCheckpoint(session);
|
|
113
|
+
// Run session restore hook
|
|
114
|
+
await this.runSessionRestoreHook(session.sessionId);
|
|
115
|
+
return {
|
|
116
|
+
status: 'restored',
|
|
117
|
+
session,
|
|
118
|
+
checkpoint: latestCheckpoint,
|
|
119
|
+
message: `Session ${session.sessionId} restored from memory.`,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
return {
|
|
124
|
+
status: 'error',
|
|
125
|
+
session: null,
|
|
126
|
+
checkpoint: null,
|
|
127
|
+
message: error instanceof Error ? error.message : String(error),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Resume from the last checkpoint in a session
|
|
133
|
+
*/
|
|
134
|
+
async resumeFromCheckpoint(session, checkpointId) {
|
|
135
|
+
try {
|
|
136
|
+
// Find the checkpoint to resume from
|
|
137
|
+
let checkpoint = null;
|
|
138
|
+
if (checkpointId) {
|
|
139
|
+
checkpoint = session.checkpoints.find((cp) => cp.id === checkpointId) ?? null;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
checkpoint = getLatestCheckpoint(session);
|
|
143
|
+
}
|
|
144
|
+
if (!checkpoint) {
|
|
145
|
+
return {
|
|
146
|
+
status: 'not_found',
|
|
147
|
+
session,
|
|
148
|
+
checkpoint: null,
|
|
149
|
+
message: 'No checkpoint found to resume from.',
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
// Retrieve checkpoint data from memory
|
|
153
|
+
const checkpointData = await this.retrieveCheckpointData(checkpoint.memoryKey);
|
|
154
|
+
if (!checkpointData) {
|
|
155
|
+
return {
|
|
156
|
+
status: 'error',
|
|
157
|
+
session,
|
|
158
|
+
checkpoint,
|
|
159
|
+
message: `Checkpoint data not found at ${checkpoint.memoryKey}`,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return {
|
|
163
|
+
status: 'restored',
|
|
164
|
+
session,
|
|
165
|
+
checkpoint,
|
|
166
|
+
message: `Resumed from checkpoint: ${checkpoint.description}`,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
return {
|
|
171
|
+
status: 'error',
|
|
172
|
+
session,
|
|
173
|
+
checkpoint: null,
|
|
174
|
+
message: error instanceof Error ? error.message : String(error),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Merge a previous session with a new one
|
|
180
|
+
*
|
|
181
|
+
* This is useful when starting a new session but wanting to
|
|
182
|
+
* preserve context from a previous incomplete session.
|
|
183
|
+
*/
|
|
184
|
+
async mergeWithNewSession(previousSession, newSessionOptions) {
|
|
185
|
+
try {
|
|
186
|
+
// Create new session
|
|
187
|
+
const newSession = await this.manager.startSession({
|
|
188
|
+
...newSessionOptions,
|
|
189
|
+
// Preserve issue ID if not specified
|
|
190
|
+
issueId: newSessionOptions.issueId ?? previousSession.issueId,
|
|
191
|
+
// Preserve worktree if not specified
|
|
192
|
+
worktree: newSessionOptions.worktree ?? previousSession.worktree,
|
|
193
|
+
});
|
|
194
|
+
// Copy relevant context from previous session
|
|
195
|
+
for (const file of previousSession.filesModified) {
|
|
196
|
+
await this.manager.recordFileModified(file);
|
|
197
|
+
}
|
|
198
|
+
// Create a merge checkpoint
|
|
199
|
+
await this.manager.createCheckpoint(`Merged from previous session ${previousSession.sessionId}`);
|
|
200
|
+
return {
|
|
201
|
+
status: 'merged',
|
|
202
|
+
session: this.manager.getCurrentSession(),
|
|
203
|
+
checkpoint: null,
|
|
204
|
+
message: `New session created with context from ${previousSession.sessionId}`,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
return {
|
|
209
|
+
status: 'error',
|
|
210
|
+
session: null,
|
|
211
|
+
checkpoint: null,
|
|
212
|
+
message: error instanceof Error ? error.message : String(error),
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Create a session context from recovery result
|
|
218
|
+
*/
|
|
219
|
+
createContext(result) {
|
|
220
|
+
return createSessionContext(result.session);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Retrieve checkpoint data from memory
|
|
224
|
+
*/
|
|
225
|
+
async retrieveCheckpointData(memoryKey) {
|
|
226
|
+
try {
|
|
227
|
+
const command = `npx claude-flow@alpha memory get --key "${memoryKey}"`;
|
|
228
|
+
const { stdout } = await this.executor.execute(command);
|
|
229
|
+
if (!stdout.trim()) {
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
232
|
+
return JSON.parse(stdout.trim());
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Run session restore hook
|
|
240
|
+
*/
|
|
241
|
+
async runSessionRestoreHook(sessionId) {
|
|
242
|
+
try {
|
|
243
|
+
const command = `npx claude-flow@alpha hooks session-restore --session-id "${sessionId}"`;
|
|
244
|
+
await this.executor.execute(command);
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
// Hooks are optional
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Factory function to create SessionRecovery with default dependencies
|
|
253
|
+
*/
|
|
254
|
+
export function createSessionRecovery(manager, executor) {
|
|
255
|
+
return new SessionRecovery(manager, executor);
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=SessionRecovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionRecovery.js","sourceRoot":"","sources":["../../../src/session/SessionRecovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AA8B/E;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,OAAO,CAAgB;IACvB,QAAQ,CAAiB;IAEjC,YAAY,OAAuB,EAAE,QAAyB;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,2CAA2C;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;QAE1D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YACxD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;IACtC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,OAAO,GAAG,yDAAyD,CAAA;YACzE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAEvD,oCAAoC;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACvD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CACzE,CAAA;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAA;YACb,CAAC;YAED,4CAA4C;YAC5C,MAAM,QAAQ,GAAkB,EAAE,CAAA;YAElC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;gBAClC,qEAAqE;gBACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBACrD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;oBACxD,IAAI,OAAO,EAAE,CAAC;wBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAA;YACb,CAAC;YAED,0CAA0C;YAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;gBACzC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC1D,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC5D,OAAO,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;YACpD,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;YAC5C,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAA2B,EAAE;QAChD,IAAI,CAAC;YACH,IAAI,OAAO,GAAuB,IAAI,CAAA;YAEtC,6CAA6C;YAC7C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAC5D,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;YAC1C,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,mBAAmB;gBACnB,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBACxD,+BAA+B;oBAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;oBAC7E,OAAO;wBACL,MAAM,EAAE,QAAQ;wBAChB,OAAO,EAAE,UAAU;wBACnB,UAAU,EAAE,IAAI;wBAChB,OAAO,EAAE,iDAAiD;qBAC3D,CAAA;gBACH,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,8BAA8B;iBACxC,CAAA;YACH,CAAC;YAED,mDAAmD;YACnD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAErD,2BAA2B;YAC3B,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAEnD,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,OAAO;gBACP,UAAU,EAAE,gBAAgB;gBAC5B,OAAO,EAAE,WAAW,OAAO,CAAC,SAAS,wBAAwB;aAC9D,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAA;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAAoB,EAAE,YAAqB;QACpE,IAAI,CAAC;YACH,qCAAqC;YACrC,IAAI,UAAU,GAAsB,IAAI,CAAA;YAExC,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,IAAI,CAAA;YAC/E,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAC3C,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,MAAM,EAAE,WAAW;oBACnB,OAAO;oBACP,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,qCAAqC;iBAC/C,CAAA;YACH,CAAC;YAED,uCAAuC;YACvC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YAE9E,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,OAAO;oBACP,UAAU;oBACV,OAAO,EAAE,gCAAgC,UAAU,CAAC,SAAS,EAAE;iBAChE,CAAA;YACH,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,OAAO;gBACP,UAAU;gBACV,OAAO,EAAE,4BAA4B,UAAU,CAAC,WAAW,EAAE;aAC9D,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,OAAO;gBACP,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CACvB,eAA4B,EAC5B,iBAAiC;QAEjC,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBACjD,GAAG,iBAAiB;gBACpB,qCAAqC;gBACrC,OAAO,EAAE,iBAAiB,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO;gBAC7D,qCAAqC;gBACrC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ;aACjE,CAAC,CAAA;YAEF,8CAA8C;YAC9C,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;gBACjD,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YAC7C,CAAC;YAED,4BAA4B;YAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CACjC,gCAAgC,eAAe,CAAC,SAAS,EAAE,CAC5D,CAAA;YAED,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACzC,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,yCAAyC,eAAe,CAAC,SAAS,EAAE;aAC9E,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAA;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAsB;QAClC,OAAO,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QACpD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,2CAA2C,SAAS,GAAG,CAAA;YACvE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAEvD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAA;YACb,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAe,CAAA;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CAAC,SAAiB;QACnD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,6DAA6D,SAAS,GAAG,CAAA;YACzF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAuB,EACvB,QAAyB;IAEzB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Management Module
|
|
3
|
+
* SMI-641: Session ID Storage in Claude-Flow Memory
|
|
4
|
+
*
|
|
5
|
+
* Provides session lifecycle management with claude-flow memory integration
|
|
6
|
+
* for context restoration across sessions.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { SessionManager, SessionRecovery, DefaultCommandExecutor } from '@skillsmith/core'
|
|
11
|
+
*
|
|
12
|
+
* const executor = new DefaultCommandExecutor()
|
|
13
|
+
* const manager = new SessionManager(executor)
|
|
14
|
+
*
|
|
15
|
+
* // Start a new session
|
|
16
|
+
* const session = await manager.startSession({
|
|
17
|
+
* issueId: 'SMI-641',
|
|
18
|
+
* worktree: 'phase-2c-session',
|
|
19
|
+
* description: 'Implementing session storage'
|
|
20
|
+
* })
|
|
21
|
+
*
|
|
22
|
+
* // Create checkpoints
|
|
23
|
+
* await manager.createCheckpoint('Completed SessionManager')
|
|
24
|
+
*
|
|
25
|
+
* // Record modified files
|
|
26
|
+
* await manager.recordFileModified('packages/core/src/session/SessionManager.ts')
|
|
27
|
+
*
|
|
28
|
+
* // End session
|
|
29
|
+
* await manager.endSession()
|
|
30
|
+
*
|
|
31
|
+
* // Later, recover session
|
|
32
|
+
* const recovery = new SessionRecovery(manager, executor)
|
|
33
|
+
* const result = await recovery.restoreSession()
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export { SessionManager, DefaultCommandExecutor, type SessionOptions, type MemoryResult, type CommandExecutor, } from './SessionManager.js';
|
|
37
|
+
export { ActiveSessionContext, NullSessionContext, createSessionContext, isActiveContext, getSessionDuration, formatSessionDuration, getLatestCheckpoint, type Checkpoint, type SessionData, type SessionContext, } from './SessionContext.js';
|
|
38
|
+
export { SessionRecovery, createSessionRecovery, type RecoveryStatus, type RecoveryResult, type RecoveryOptions, } from './SessionRecovery.js';
|
|
39
|
+
export { SessionHealthMonitor, getHealthMonitor, initializeHealthMonitor, shutdownHealthMonitor, type SessionHealth, type SessionHealthStatus, type HealthMonitorConfig, } from './SessionHealthMonitor.js';
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Management Module
|
|
3
|
+
* SMI-641: Session ID Storage in Claude-Flow Memory
|
|
4
|
+
*
|
|
5
|
+
* Provides session lifecycle management with claude-flow memory integration
|
|
6
|
+
* for context restoration across sessions.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { SessionManager, SessionRecovery, DefaultCommandExecutor } from '@skillsmith/core'
|
|
11
|
+
*
|
|
12
|
+
* const executor = new DefaultCommandExecutor()
|
|
13
|
+
* const manager = new SessionManager(executor)
|
|
14
|
+
*
|
|
15
|
+
* // Start a new session
|
|
16
|
+
* const session = await manager.startSession({
|
|
17
|
+
* issueId: 'SMI-641',
|
|
18
|
+
* worktree: 'phase-2c-session',
|
|
19
|
+
* description: 'Implementing session storage'
|
|
20
|
+
* })
|
|
21
|
+
*
|
|
22
|
+
* // Create checkpoints
|
|
23
|
+
* await manager.createCheckpoint('Completed SessionManager')
|
|
24
|
+
*
|
|
25
|
+
* // Record modified files
|
|
26
|
+
* await manager.recordFileModified('packages/core/src/session/SessionManager.ts')
|
|
27
|
+
*
|
|
28
|
+
* // End session
|
|
29
|
+
* await manager.endSession()
|
|
30
|
+
*
|
|
31
|
+
* // Later, recover session
|
|
32
|
+
* const recovery = new SessionRecovery(manager, executor)
|
|
33
|
+
* const result = await recovery.restoreSession()
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
// SessionManager - Core session lifecycle management
|
|
37
|
+
export { SessionManager, DefaultCommandExecutor, } from './SessionManager.js';
|
|
38
|
+
// SessionContext - Session state types and utilities
|
|
39
|
+
export { ActiveSessionContext, NullSessionContext, createSessionContext, isActiveContext, getSessionDuration, formatSessionDuration, getLatestCheckpoint, } from './SessionContext.js';
|
|
40
|
+
// SessionRecovery - Session restoration from memory
|
|
41
|
+
export { SessionRecovery, createSessionRecovery, } from './SessionRecovery.js';
|
|
42
|
+
// SessionHealthMonitor - SMI-761: Session health monitoring
|
|
43
|
+
export { SessionHealthMonitor, getHealthMonitor, initializeHealthMonitor, shutdownHealthMonitor, } from './SessionHealthMonitor.js';
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,qDAAqD;AACrD,OAAO,EACL,cAAc,EACd,sBAAsB,GAIvB,MAAM,qBAAqB,CAAA;AAE5B,qDAAqD;AACrD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GAIpB,MAAM,qBAAqB,CAAA;AAE5B,oDAAoD;AACpD,OAAO,EACL,eAAe,EACf,qBAAqB,GAItB,MAAM,sBAAsB,CAAA;AAE7B,4DAA4D;AAC5D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,GAItB,MAAM,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Source Adapter
|
|
3
|
+
* Abstract base class providing common functionality for source adapters
|
|
4
|
+
*
|
|
5
|
+
* SMI-1013: Enhanced with token bucket rate limiting and request queuing
|
|
6
|
+
*/
|
|
7
|
+
import type { ISourceAdapter } from './ISourceAdapter.js';
|
|
8
|
+
import { RateLimiter, type RateLimitConfig as TokenBucketConfig } from '../security/RateLimiter.js';
|
|
9
|
+
import { type RetryConfig } from '../utils/retry.js';
|
|
10
|
+
import type { SourceConfig, SourceLocation, SourceRepository, SourceSearchOptions, SourceSearchResult, SkillContent, SourceHealth } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Extended source config with token bucket rate limiting (SMI-1013)
|
|
13
|
+
*/
|
|
14
|
+
export interface ExtendedSourceConfig extends SourceConfig {
|
|
15
|
+
/** Use token bucket rate limiter with queue support (SMI-1013) */
|
|
16
|
+
useTokenBucket?: boolean;
|
|
17
|
+
/** Token bucket configuration (overrides legacy rateLimit) */
|
|
18
|
+
tokenBucketConfig?: TokenBucketConfig;
|
|
19
|
+
/** Enable retry logic for transient network failures (SMI-880) */
|
|
20
|
+
enableRetry?: boolean;
|
|
21
|
+
/** Retry configuration (SMI-880) */
|
|
22
|
+
retryConfig?: RetryConfig;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Abstract base class for source adapters
|
|
26
|
+
*
|
|
27
|
+
* Provides:
|
|
28
|
+
* - Configuration management
|
|
29
|
+
* - Rate limiting
|
|
30
|
+
* - Request timing
|
|
31
|
+
* - Error handling utilities
|
|
32
|
+
*
|
|
33
|
+
* Subclasses must implement:
|
|
34
|
+
* - search()
|
|
35
|
+
* - getRepository()
|
|
36
|
+
* - fetchSkillContent()
|
|
37
|
+
* - doHealthCheck()
|
|
38
|
+
*/
|
|
39
|
+
export declare abstract class BaseSourceAdapter implements ISourceAdapter {
|
|
40
|
+
readonly config: ExtendedSourceConfig;
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly type: string;
|
|
44
|
+
protected initialized: boolean;
|
|
45
|
+
protected lastRequestTime: number;
|
|
46
|
+
protected requestCount: number;
|
|
47
|
+
protected windowStart: number;
|
|
48
|
+
/** Token bucket rate limiter (SMI-1013) */
|
|
49
|
+
protected rateLimiter: RateLimiter | null;
|
|
50
|
+
constructor(config: SourceConfig | ExtendedSourceConfig);
|
|
51
|
+
/**
|
|
52
|
+
* Initialize the adapter
|
|
53
|
+
* Override in subclasses for custom initialization
|
|
54
|
+
*/
|
|
55
|
+
initialize(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Subclass initialization hook
|
|
58
|
+
*/
|
|
59
|
+
protected doInitialize(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Check source health
|
|
62
|
+
*/
|
|
63
|
+
checkHealth(): Promise<SourceHealth>;
|
|
64
|
+
/**
|
|
65
|
+
* Subclass health check implementation
|
|
66
|
+
*/
|
|
67
|
+
protected abstract doHealthCheck(): Promise<Partial<SourceHealth>>;
|
|
68
|
+
/**
|
|
69
|
+
* Search for repositories
|
|
70
|
+
*/
|
|
71
|
+
abstract search(options: SourceSearchOptions): Promise<SourceSearchResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Get repository metadata
|
|
74
|
+
*/
|
|
75
|
+
abstract getRepository(location: SourceLocation): Promise<SourceRepository>;
|
|
76
|
+
/**
|
|
77
|
+
* Fetch skill content
|
|
78
|
+
*/
|
|
79
|
+
abstract fetchSkillContent(location: SourceLocation): Promise<SkillContent>;
|
|
80
|
+
/**
|
|
81
|
+
* Check if skill exists at location
|
|
82
|
+
*/
|
|
83
|
+
skillExists(location: SourceLocation): Promise<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* Get skill file SHA for change detection
|
|
86
|
+
*/
|
|
87
|
+
getSkillSha(location: SourceLocation): Promise<string | null>;
|
|
88
|
+
/**
|
|
89
|
+
* Dispose of resources
|
|
90
|
+
*/
|
|
91
|
+
dispose(): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Subclass disposal hook
|
|
94
|
+
*/
|
|
95
|
+
protected doDispose(): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Wait for rate limit before making a request
|
|
98
|
+
*/
|
|
99
|
+
protected waitForRateLimit(): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Make a rate-limited fetch request with retry support
|
|
102
|
+
*
|
|
103
|
+
* SMI-1013: Uses token bucket rate limiter with queue support when enabled,
|
|
104
|
+
* otherwise falls back to legacy window-based rate limiting.
|
|
105
|
+
*
|
|
106
|
+
* SMI-880: Automatically retries on transient network failures (ETIMEDOUT,
|
|
107
|
+
* ECONNRESET, 5xx) with exponential backoff when enableRetry is true.
|
|
108
|
+
*/
|
|
109
|
+
protected fetchWithRateLimit(url: string, options?: RequestInit): Promise<Response>;
|
|
110
|
+
/**
|
|
111
|
+
* Get rate limiter status (SMI-1013)
|
|
112
|
+
*
|
|
113
|
+
* Returns information about the token bucket rate limiter state,
|
|
114
|
+
* including queue status if queuing is enabled.
|
|
115
|
+
*/
|
|
116
|
+
getRateLimiterStatus(): {
|
|
117
|
+
usingTokenBucket: boolean;
|
|
118
|
+
queueStatus?: {
|
|
119
|
+
totalQueued: number;
|
|
120
|
+
queues: Map<string, number>;
|
|
121
|
+
} | number;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Update rate limit tracking from response headers
|
|
125
|
+
*/
|
|
126
|
+
protected updateRateLimitFromResponse(response: Response): void;
|
|
127
|
+
/**
|
|
128
|
+
* Build the default skill file path
|
|
129
|
+
*/
|
|
130
|
+
protected getDefaultSkillPath(location: SourceLocation): string;
|
|
131
|
+
/**
|
|
132
|
+
* Build the default branch
|
|
133
|
+
*/
|
|
134
|
+
protected getDefaultBranch(location: SourceLocation): string;
|
|
135
|
+
/**
|
|
136
|
+
* Delay helper
|
|
137
|
+
*/
|
|
138
|
+
protected delay(ms: number): Promise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* Validate configuration
|
|
141
|
+
*/
|
|
142
|
+
protected validateConfig(): void;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=BaseSourceAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSourceAdapter.d.ts","sourceRoot":"","sources":["../../../src/sources/BaseSourceAdapter.ts"],"names":[],"mappings":"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"}
|