@skillsmith/core 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +235 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/analysis/__tests__/incremental.test.d.ts +13 -0
- package/dist/src/analysis/__tests__/incremental.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/incremental.test.js +515 -0
- package/dist/src/analysis/__tests__/incremental.test.js.map +1 -0
- package/dist/src/analysis/__tests__/integration.test.d.ts +14 -0
- package/dist/src/analysis/__tests__/integration.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/integration.test.js +1059 -0
- package/dist/src/analysis/__tests__/integration.test.js.map +1 -0
- package/dist/src/analysis/__tests__/metrics.test.d.ts +9 -0
- package/dist/src/analysis/__tests__/metrics.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/metrics.test.js +369 -0
- package/dist/src/analysis/__tests__/metrics.test.js.map +1 -0
- package/dist/src/analysis/__tests__/performance.test.d.ts +15 -0
- package/dist/src/analysis/__tests__/performance.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/performance.test.js +402 -0
- package/dist/src/analysis/__tests__/performance.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/go.test.d.ts +12 -0
- package/dist/src/analysis/adapters/__tests__/go.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/go.test.js +561 -0
- package/dist/src/analysis/adapters/__tests__/go.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/python.test.d.ts +11 -0
- package/dist/src/analysis/adapters/__tests__/python.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/python.test.js +669 -0
- package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.d.ts +12 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.js +676 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts +14 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.js +381 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.js.map +1 -0
- package/dist/src/analysis/adapters/base.d.ts +83 -0
- package/dist/src/analysis/adapters/base.d.ts.map +1 -0
- package/dist/src/analysis/adapters/base.js +40 -0
- package/dist/src/analysis/adapters/base.js.map +1 -0
- package/dist/src/analysis/adapters/factory.d.ts +150 -0
- package/dist/src/analysis/adapters/factory.d.ts.map +1 -0
- package/dist/src/analysis/adapters/factory.js +244 -0
- package/dist/src/analysis/adapters/factory.js.map +1 -0
- package/dist/src/analysis/adapters/go.d.ts +131 -0
- package/dist/src/analysis/adapters/go.d.ts.map +1 -0
- package/dist/src/analysis/adapters/go.js +414 -0
- package/dist/src/analysis/adapters/go.js.map +1 -0
- package/dist/src/analysis/adapters/index.d.ts +20 -0
- package/dist/src/analysis/adapters/index.d.ts.map +1 -0
- package/dist/src/analysis/adapters/index.js +23 -0
- package/dist/src/analysis/adapters/index.js.map +1 -0
- package/dist/src/analysis/adapters/java.d.ts +154 -0
- package/dist/src/analysis/adapters/java.d.ts.map +1 -0
- package/dist/src/analysis/adapters/java.js +407 -0
- package/dist/src/analysis/adapters/java.js.map +1 -0
- package/dist/src/analysis/adapters/python.d.ts +165 -0
- package/dist/src/analysis/adapters/python.d.ts.map +1 -0
- package/dist/src/analysis/adapters/python.js +475 -0
- package/dist/src/analysis/adapters/python.js.map +1 -0
- package/dist/src/analysis/adapters/rust.d.ts +116 -0
- package/dist/src/analysis/adapters/rust.d.ts.map +1 -0
- package/dist/src/analysis/adapters/rust.js +476 -0
- package/dist/src/analysis/adapters/rust.js.map +1 -0
- package/dist/src/analysis/adapters/typescript.d.ts +68 -0
- package/dist/src/analysis/adapters/typescript.d.ts.map +1 -0
- package/dist/src/analysis/adapters/typescript.js +79 -0
- package/dist/src/analysis/adapters/typescript.js.map +1 -0
- package/dist/src/analysis/aggregator.d.ts +193 -0
- package/dist/src/analysis/aggregator.d.ts.map +1 -0
- package/dist/src/analysis/aggregator.js +283 -0
- package/dist/src/analysis/aggregator.js.map +1 -0
- package/dist/src/analysis/cache.d.ts +180 -0
- package/dist/src/analysis/cache.d.ts.map +1 -0
- package/dist/src/analysis/cache.js +279 -0
- package/dist/src/analysis/cache.js.map +1 -0
- package/dist/src/analysis/file-streamer.d.ts +136 -0
- package/dist/src/analysis/file-streamer.d.ts.map +1 -0
- package/dist/src/analysis/file-streamer.js +291 -0
- package/dist/src/analysis/file-streamer.js.map +1 -0
- package/dist/src/analysis/incremental-parser.d.ts +186 -0
- package/dist/src/analysis/incremental-parser.d.ts.map +1 -0
- package/dist/src/analysis/incremental-parser.js +291 -0
- package/dist/src/analysis/incremental-parser.js.map +1 -0
- package/dist/src/analysis/incremental.d.ts +186 -0
- package/dist/src/analysis/incremental.d.ts.map +1 -0
- package/dist/src/analysis/incremental.js +247 -0
- package/dist/src/analysis/incremental.js.map +1 -0
- package/dist/src/analysis/index.d.ts +25 -3
- package/dist/src/analysis/index.d.ts.map +1 -1
- package/dist/src/analysis/index.js +45 -3
- package/dist/src/analysis/index.js.map +1 -1
- package/dist/src/analysis/language-detector.d.ts +92 -0
- package/dist/src/analysis/language-detector.d.ts.map +1 -0
- package/dist/src/analysis/language-detector.js +602 -0
- package/dist/src/analysis/language-detector.js.map +1 -0
- package/dist/src/analysis/memory-monitor.d.ts +199 -0
- package/dist/src/analysis/memory-monitor.d.ts.map +1 -0
- package/dist/src/analysis/memory-monitor.js +271 -0
- package/dist/src/analysis/memory-monitor.js.map +1 -0
- package/dist/src/analysis/metrics.d.ts +300 -0
- package/dist/src/analysis/metrics.d.ts.map +1 -0
- package/dist/src/analysis/metrics.js +537 -0
- package/dist/src/analysis/metrics.js.map +1 -0
- package/dist/src/analysis/router.d.ts +264 -0
- package/dist/src/analysis/router.d.ts.map +1 -0
- package/dist/src/analysis/router.js +398 -0
- package/dist/src/analysis/router.js.map +1 -0
- package/dist/src/analysis/tree-cache.d.ts +208 -0
- package/dist/src/analysis/tree-cache.d.ts.map +1 -0
- package/dist/src/analysis/tree-cache.js +288 -0
- package/dist/src/analysis/tree-cache.js.map +1 -0
- package/dist/src/analysis/tree-sitter/manager.d.ts +141 -0
- package/dist/src/analysis/tree-sitter/manager.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/manager.js +239 -0
- package/dist/src/analysis/tree-sitter/manager.js.map +1 -0
- package/dist/src/analysis/types.d.ts +71 -6
- package/dist/src/analysis/types.d.ts.map +1 -1
- package/dist/src/analysis/types.js +36 -3
- package/dist/src/analysis/types.js.map +1 -1
- package/dist/src/analysis/worker-pool.d.ts +141 -0
- package/dist/src/analysis/worker-pool.d.ts.map +1 -0
- package/dist/src/analysis/worker-pool.js +418 -0
- package/dist/src/analysis/worker-pool.js.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.d.ts +4 -0
- package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
- package/dist/src/analytics/AnalyticsRepository.js +26 -44
- package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
- package/dist/src/analytics/schema.d.ts +1 -1
- package/dist/src/analytics/schema.d.ts.map +1 -1
- package/dist/src/analytics/schema.js +140 -0
- package/dist/src/analytics/schema.js.map +1 -1
- package/dist/src/api/cache.d.ts +24 -1
- package/dist/src/api/cache.d.ts.map +1 -1
- package/dist/src/api/cache.js +50 -2
- package/dist/src/api/cache.js.map +1 -1
- package/dist/src/api/client.d.ts +140 -6
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.js +222 -21
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/index.d.ts +2 -0
- package/dist/src/api/index.d.ts.map +1 -1
- package/dist/src/api/index.js +7 -0
- package/dist/src/api/index.js.map +1 -1
- package/dist/src/api/types.d.ts +251 -0
- package/dist/src/api/types.d.ts.map +1 -0
- package/dist/src/api/types.js +9 -0
- package/dist/src/api/types.js.map +1 -0
- package/dist/src/benchmarks/memory/MemoryProfiler.d.ts.map +1 -1
- package/dist/src/benchmarks/memory/MemoryProfiler.js.map +1 -1
- package/dist/src/billing/BillingService.d.ts +139 -0
- package/dist/src/billing/BillingService.d.ts.map +1 -0
- package/dist/src/billing/BillingService.js +393 -0
- package/dist/src/billing/BillingService.js.map +1 -0
- package/dist/src/billing/GDPRComplianceService.d.ts +176 -0
- package/dist/src/billing/GDPRComplianceService.d.ts.map +1 -0
- package/dist/src/billing/GDPRComplianceService.js +361 -0
- package/dist/src/billing/GDPRComplianceService.js.map +1 -0
- package/dist/src/billing/StripeClient.d.ts +177 -0
- package/dist/src/billing/StripeClient.d.ts.map +1 -0
- package/dist/src/billing/StripeClient.js +462 -0
- package/dist/src/billing/StripeClient.js.map +1 -0
- package/dist/src/billing/StripeReconciliationJob.d.ts +95 -0
- package/dist/src/billing/StripeReconciliationJob.d.ts.map +1 -0
- package/dist/src/billing/StripeReconciliationJob.js +405 -0
- package/dist/src/billing/StripeReconciliationJob.js.map +1 -0
- package/dist/src/billing/StripeWebhookHandler.d.ts +92 -0
- package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -0
- package/dist/src/billing/StripeWebhookHandler.js +409 -0
- package/dist/src/billing/StripeWebhookHandler.js.map +1 -0
- package/dist/src/billing/index.d.ts +18 -0
- package/dist/src/billing/index.d.ts.map +1 -0
- package/dist/src/billing/index.js +19 -0
- package/dist/src/billing/index.js.map +1 -0
- package/dist/src/billing/types.d.ts +266 -0
- package/dist/src/billing/types.d.ts.map +1 -0
- package/dist/src/billing/types.js +23 -0
- package/dist/src/billing/types.js.map +1 -0
- package/dist/src/db/schema.d.ts +1 -1
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +41 -1
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/embeddings/hnsw-store.d.ts +568 -0
- package/dist/src/embeddings/hnsw-store.d.ts.map +1 -0
- package/dist/src/embeddings/hnsw-store.js +805 -0
- package/dist/src/embeddings/hnsw-store.js.map +1 -0
- package/dist/src/embeddings/index.d.ts +2 -0
- package/dist/src/embeddings/index.d.ts.map +1 -1
- package/dist/src/embeddings/index.js +2 -0
- package/dist/src/embeddings/index.js.map +1 -1
- package/dist/src/errors.d.ts +1 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +1 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +5 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/learning/PatternStore.d.ts +457 -0
- package/dist/src/learning/PatternStore.d.ts.map +1 -0
- package/dist/src/learning/PatternStore.js +893 -0
- package/dist/src/learning/PatternStore.js.map +1 -0
- package/dist/src/learning/ReasoningBankIntegration.d.ts +403 -0
- package/dist/src/learning/ReasoningBankIntegration.d.ts.map +1 -0
- package/dist/src/learning/ReasoningBankIntegration.js +627 -0
- package/dist/src/learning/ReasoningBankIntegration.js.map +1 -0
- package/dist/src/learning/index.d.ts +15 -0
- package/dist/src/learning/index.d.ts.map +1 -0
- package/dist/src/learning/index.js +15 -0
- package/dist/src/learning/index.js.map +1 -0
- package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
- package/dist/src/repositories/IndexerRepository.js +1 -0
- package/dist/src/repositories/IndexerRepository.js.map +1 -1
- package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
- package/dist/src/repositories/SkillRepository.js +1 -0
- package/dist/src/repositories/SkillRepository.js.map +1 -1
- package/dist/src/repositories/SyncConfigRepository.d.ts +91 -0
- package/dist/src/repositories/SyncConfigRepository.d.ts.map +1 -0
- package/dist/src/repositories/SyncConfigRepository.js +202 -0
- package/dist/src/repositories/SyncConfigRepository.js.map +1 -0
- package/dist/src/repositories/SyncHistoryRepository.d.ts +104 -0
- package/dist/src/repositories/SyncHistoryRepository.d.ts.map +1 -0
- package/dist/src/repositories/SyncHistoryRepository.js +235 -0
- package/dist/src/repositories/SyncHistoryRepository.js.map +1 -0
- package/dist/src/repositories/quarantine/QuarantineRepository.d.ts.map +1 -1
- package/dist/src/repositories/quarantine/QuarantineRepository.js.map +1 -1
- package/dist/src/repositories/quarantine/query-builder.d.ts.map +1 -1
- package/dist/src/repositories/quarantine/query-builder.js +1 -1
- package/dist/src/repositories/quarantine/query-builder.js.map +1 -1
- package/dist/src/routing/SONARouter.d.ts +154 -0
- package/dist/src/routing/SONARouter.d.ts.map +1 -0
- package/dist/src/routing/SONARouter.js +679 -0
- package/dist/src/routing/SONARouter.js.map +1 -0
- package/dist/src/routing/index.d.ts +9 -0
- package/dist/src/routing/index.d.ts.map +1 -0
- package/dist/src/routing/index.js +10 -0
- package/dist/src/routing/index.js.map +1 -0
- package/dist/src/routing/types.d.ts +331 -0
- package/dist/src/routing/types.d.ts.map +1 -0
- package/dist/src/routing/types.js +203 -0
- package/dist/src/routing/types.js.map +1 -0
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js +8 -3
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
- package/dist/src/scripts/github-import/github-client.d.ts +30 -2
- package/dist/src/scripts/github-import/github-client.d.ts.map +1 -1
- package/dist/src/scripts/github-import/github-client.js +293 -4
- package/dist/src/scripts/github-import/github-client.js.map +1 -1
- package/dist/src/scripts/github-import/index.js +3 -10
- package/dist/src/scripts/github-import/index.js.map +1 -1
- package/dist/src/scripts/github-import/types.d.ts +6 -0
- package/dist/src/scripts/github-import/types.d.ts.map +1 -1
- package/dist/src/scripts/github-import/types.js +3 -0
- package/dist/src/scripts/github-import/types.js.map +1 -1
- package/dist/src/scripts/import-github-skills.js +10 -5
- package/dist/src/scripts/import-github-skills.js.map +1 -1
- package/dist/src/scripts/merge-skills.d.ts +56 -0
- package/dist/src/scripts/merge-skills.d.ts.map +1 -0
- package/dist/src/scripts/merge-skills.js +411 -0
- package/dist/src/scripts/merge-skills.js.map +1 -0
- package/dist/src/scripts/skill-scanner/index.d.ts +9 -2
- package/dist/src/scripts/skill-scanner/index.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/index.js +98 -7
- package/dist/src/scripts/skill-scanner/index.js.map +1 -1
- package/dist/src/scripts/skill-scanner/logger.d.ts +51 -0
- package/dist/src/scripts/skill-scanner/logger.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/logger.js +255 -1
- package/dist/src/scripts/skill-scanner/logger.js.map +1 -1
- package/dist/src/scripts/skill-scanner/reporter.d.ts +1 -1
- package/dist/src/scripts/skill-scanner/reporter.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/reporter.js +67 -15
- package/dist/src/scripts/skill-scanner/reporter.js.map +1 -1
- package/dist/src/scripts/skill-scanner/scanner.d.ts +5 -2
- package/dist/src/scripts/skill-scanner/scanner.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/scanner.js +156 -39
- package/dist/src/scripts/skill-scanner/scanner.js.map +1 -1
- package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -1
- package/dist/src/scripts/skill-scanner/types.d.ts +44 -0
- package/dist/src/scripts/skill-scanner/types.d.ts.map +1 -1
- package/dist/src/scripts/validation/index.js +1 -2
- package/dist/src/scripts/validation/index.js.map +1 -1
- package/dist/src/scripts/validation/pipeline.d.ts.map +1 -1
- package/dist/src/scripts/validation/pipeline.js.map +1 -1
- package/dist/src/scripts/validation/types.d.ts +2 -2
- package/dist/src/security/SkillSandbox.d.ts +156 -0
- package/dist/src/security/SkillSandbox.d.ts.map +1 -0
- package/dist/src/security/SkillSandbox.js +303 -0
- package/dist/src/security/SkillSandbox.js.map +1 -0
- package/dist/src/security/index.d.ts +3 -1
- package/dist/src/security/index.d.ts.map +1 -1
- package/dist/src/security/index.js +5 -1
- package/dist/src/security/index.js.map +1 -1
- package/dist/src/security/rate-limiter/presets.d.ts +12 -0
- package/dist/src/security/rate-limiter/presets.d.ts.map +1 -1
- package/dist/src/security/rate-limiter/presets.js +12 -0
- package/dist/src/security/rate-limiter/presets.js.map +1 -1
- package/dist/src/security/sanitization.d.ts +85 -0
- package/dist/src/security/sanitization.d.ts.map +1 -1
- package/dist/src/security/sanitization.js +133 -0
- package/dist/src/security/sanitization.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.d.ts +23 -0
- package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.js +232 -28
- package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
- package/dist/src/security/scanner/patterns.d.ts +13 -0
- package/dist/src/security/scanner/patterns.d.ts.map +1 -1
- package/dist/src/security/scanner/patterns.js +51 -0
- package/dist/src/security/scanner/patterns.js.map +1 -1
- package/dist/src/security/scanner/types.d.ts +13 -1
- package/dist/src/security/scanner/types.d.ts.map +1 -1
- package/dist/src/security/scanner/weights.d.ts.map +1 -1
- package/dist/src/security/scanner/weights.js +1 -0
- package/dist/src/security/scanner/weights.js.map +1 -1
- package/dist/src/services/SearchService.d.ts.map +1 -1
- package/dist/src/services/SearchService.js +1 -0
- package/dist/src/services/SearchService.js.map +1 -1
- package/dist/src/session/SessionHealthMonitor.d.ts +1 -1
- package/dist/src/session/SessionHealthMonitor.d.ts.map +1 -1
- package/dist/src/session/SessionHealthMonitor.js +1 -1
- package/dist/src/session/SessionHealthMonitor.js.map +1 -1
- package/dist/src/session/SessionManager.d.ts +7 -0
- package/dist/src/session/SessionManager.d.ts.map +1 -1
- package/dist/src/session/SessionManager.js +117 -10
- package/dist/src/session/SessionManager.js.map +1 -1
- package/dist/src/sync/BackgroundSyncService.d.ts +90 -0
- package/dist/src/sync/BackgroundSyncService.d.ts.map +1 -0
- package/dist/src/sync/BackgroundSyncService.js +214 -0
- package/dist/src/sync/BackgroundSyncService.js.map +1 -0
- package/dist/src/sync/SyncEngine.d.ts +76 -0
- package/dist/src/sync/SyncEngine.d.ts.map +1 -0
- package/dist/src/sync/SyncEngine.js +292 -0
- package/dist/src/sync/SyncEngine.js.map +1 -0
- package/dist/src/sync/index.d.ts +11 -0
- package/dist/src/sync/index.d.ts.map +1 -0
- package/dist/src/sync/index.js +14 -0
- package/dist/src/sync/index.js.map +1 -0
- package/dist/src/telemetry/index.d.ts +1 -1
- package/dist/src/telemetry/index.d.ts.map +1 -1
- package/dist/src/telemetry/index.js +2 -2
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/posthog.d.ts +27 -5
- package/dist/src/telemetry/posthog.d.ts.map +1 -1
- package/dist/src/telemetry/posthog.js +20 -5
- package/dist/src/telemetry/posthog.js.map +1 -1
- package/dist/src/testing/MultiLLMProvider.d.ts +374 -0
- package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -0
- package/dist/src/testing/MultiLLMProvider.js +720 -0
- package/dist/src/testing/MultiLLMProvider.js.map +1 -0
- package/dist/src/testing/index.d.ts +8 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +9 -0
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/types/skill.d.ts +3 -0
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types.d.ts +5 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +2 -2
- package/dist/src/types.js.map +1 -1
- package/dist/tests/SecurityScanner.test.js +337 -1
- package/dist/tests/SecurityScanner.test.js.map +1 -1
- package/dist/tests/adapters-factory.test.d.ts +13 -0
- package/dist/tests/adapters-factory.test.d.ts.map +1 -0
- package/dist/tests/adapters-factory.test.js +308 -0
- package/dist/tests/adapters-factory.test.js.map +1 -0
- package/dist/tests/adapters-java.test.d.ts +13 -0
- package/dist/tests/adapters-java.test.d.ts.map +1 -0
- package/dist/tests/adapters-java.test.js +925 -0
- package/dist/tests/adapters-java.test.js.map +1 -0
- package/dist/tests/api/client.validation.test.d.ts +7 -0
- package/dist/tests/api/client.validation.test.d.ts.map +1 -0
- package/dist/tests/api/client.validation.test.js +183 -0
- package/dist/tests/api/client.validation.test.js.map +1 -0
- package/dist/tests/billing/BillingService.test.d.ts +7 -0
- package/dist/tests/billing/BillingService.test.d.ts.map +1 -0
- package/dist/tests/billing/BillingService.test.js +168 -0
- package/dist/tests/billing/BillingService.test.js.map +1 -0
- package/dist/tests/billing/GDPRCompliance.test.d.ts +7 -0
- package/dist/tests/billing/GDPRCompliance.test.d.ts.map +1 -0
- package/dist/tests/billing/GDPRCompliance.test.js +195 -0
- package/dist/tests/billing/GDPRCompliance.test.js.map +1 -0
- package/dist/tests/billing/StripeReconciliation.test.d.ts +7 -0
- package/dist/tests/billing/StripeReconciliation.test.d.ts.map +1 -0
- package/dist/tests/billing/StripeReconciliation.test.js +266 -0
- package/dist/tests/billing/StripeReconciliation.test.js.map +1 -0
- package/dist/tests/billing/stripe-validators.test.d.ts +7 -0
- package/dist/tests/billing/stripe-validators.test.d.ts.map +1 -0
- package/dist/tests/billing/stripe-validators.test.js +107 -0
- package/dist/tests/billing/stripe-validators.test.js.map +1 -0
- package/dist/tests/embeddings/hnsw-store.test.d.ts +7 -0
- package/dist/tests/embeddings/hnsw-store.test.d.ts.map +1 -0
- package/dist/tests/embeddings/hnsw-store.test.js +295 -0
- package/dist/tests/embeddings/hnsw-store.test.js.map +1 -0
- package/dist/tests/integration/neural/e2e-learning.test.d.ts +17 -0
- package/dist/tests/integration/neural/e2e-learning.test.d.ts.map +1 -0
- package/dist/tests/integration/neural/e2e-learning.test.js +238 -0
- package/dist/tests/integration/neural/e2e-learning.test.js.map +1 -0
- package/dist/tests/integration/neural/helpers.d.ts +132 -0
- package/dist/tests/integration/neural/helpers.d.ts.map +1 -0
- package/dist/tests/integration/neural/helpers.js +287 -0
- package/dist/tests/integration/neural/helpers.js.map +1 -0
- package/dist/tests/integration/neural/personalization.test.d.ts +21 -0
- package/dist/tests/integration/neural/personalization.test.d.ts.map +1 -0
- package/dist/tests/integration/neural/personalization.test.js +304 -0
- package/dist/tests/integration/neural/personalization.test.js.map +1 -0
- package/dist/tests/integration/neural/preference-learner.test.d.ts +23 -0
- package/dist/tests/integration/neural/preference-learner.test.d.ts.map +1 -0
- package/dist/tests/integration/neural/preference-learner.test.js +289 -0
- package/dist/tests/integration/neural/preference-learner.test.js.map +1 -0
- package/dist/tests/integration/neural/privacy.test.d.ts +19 -0
- package/dist/tests/integration/neural/privacy.test.d.ts.map +1 -0
- package/dist/tests/integration/neural/privacy.test.js +249 -0
- package/dist/tests/integration/neural/privacy.test.js.map +1 -0
- package/dist/tests/integration/neural/setup.d.ts +175 -0
- package/dist/tests/integration/neural/setup.d.ts.map +1 -0
- package/dist/tests/integration/neural/setup.js +487 -0
- package/dist/tests/integration/neural/setup.js.map +1 -0
- package/dist/tests/integration/neural/signal-collection.test.d.ts +21 -0
- package/dist/tests/integration/neural/signal-collection.test.d.ts.map +1 -0
- package/dist/tests/integration/neural/signal-collection.test.js +232 -0
- package/dist/tests/integration/neural/signal-collection.test.js.map +1 -0
- package/dist/tests/language-detector.test.d.ts +13 -0
- package/dist/tests/language-detector.test.d.ts.map +1 -0
- package/dist/tests/language-detector.test.js +674 -0
- package/dist/tests/language-detector.test.js.map +1 -0
- package/dist/tests/learning/PatternStore.test.d.ts +8 -0
- package/dist/tests/learning/PatternStore.test.d.ts.map +1 -0
- package/dist/tests/learning/PatternStore.test.js +589 -0
- package/dist/tests/learning/PatternStore.test.js.map +1 -0
- package/dist/tests/learning/ReasoningBankIntegration.test.d.ts +8 -0
- package/dist/tests/learning/ReasoningBankIntegration.test.d.ts.map +1 -0
- package/dist/tests/learning/ReasoningBankIntegration.test.js +269 -0
- package/dist/tests/learning/ReasoningBankIntegration.test.js.map +1 -0
- package/dist/tests/routing/SONARouter.test.d.ts +8 -0
- package/dist/tests/routing/SONARouter.test.d.ts.map +1 -0
- package/dist/tests/routing/SONARouter.test.js +400 -0
- package/dist/tests/routing/SONARouter.test.js.map +1 -0
- package/dist/tests/security/ContinuousSecurity.test.js +10 -12
- package/dist/tests/security/ContinuousSecurity.test.js.map +1 -1
- package/dist/tests/security/SkillSandbox.test.d.ts +8 -0
- package/dist/tests/security/SkillSandbox.test.d.ts.map +1 -0
- package/dist/tests/security/SkillSandbox.test.js +321 -0
- package/dist/tests/security/SkillSandbox.test.js.map +1 -0
- package/dist/tests/sync/SyncConfigRepository.test.d.ts +7 -0
- package/dist/tests/sync/SyncConfigRepository.test.d.ts.map +1 -0
- package/dist/tests/sync/SyncConfigRepository.test.js +154 -0
- package/dist/tests/sync/SyncConfigRepository.test.js.map +1 -0
- package/dist/tests/sync/SyncEngine.test.d.ts +7 -0
- package/dist/tests/sync/SyncEngine.test.d.ts.map +1 -0
- package/dist/tests/sync/SyncEngine.test.js +300 -0
- package/dist/tests/sync/SyncEngine.test.js.map +1 -0
- package/dist/tests/sync/SyncHistoryRepository.test.d.ts +7 -0
- package/dist/tests/sync/SyncHistoryRepository.test.d.ts.map +1 -0
- package/dist/tests/sync/SyncHistoryRepository.test.js +220 -0
- package/dist/tests/sync/SyncHistoryRepository.test.js.map +1 -0
- package/dist/tests/telemetry/posthog.test.d.ts +13 -0
- package/dist/tests/telemetry/posthog.test.d.ts.map +1 -0
- package/dist/tests/telemetry/posthog.test.js +600 -0
- package/dist/tests/telemetry/posthog.test.js.map +1 -0
- package/dist/tests/testing/MultiLLMProvider.test.d.ts +14 -0
- package/dist/tests/testing/MultiLLMProvider.test.d.ts.map +1 -0
- package/dist/tests/testing/MultiLLMProvider.test.js +438 -0
- package/dist/tests/testing/MultiLLMProvider.test.js.map +1 -0
- package/package.json +20 -6
- package/dist/src/security/RateLimiter.d.ts +0 -337
- package/dist/src/security/RateLimiter.d.ts.map +0 -1
- package/dist/src/security/RateLimiter.js +0 -782
- package/dist/src/security/RateLimiter.js.map +0 -1
- package/dist/src/security/scanner.d.ts +0 -151
- package/dist/src/security/scanner.d.ts.map +0 -1
- package/dist/src/security/scanner.js +0 -599
- package/dist/src/security/scanner.js.map +0 -1
|
@@ -0,0 +1,457 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PatternStore with EWC++ for catastrophic forgetting prevention
|
|
3
|
+
* @module @skillsmith/core/learning/PatternStore
|
|
4
|
+
* @see SMI-1522: Add EWC++ pattern storage for successful matches
|
|
5
|
+
*
|
|
6
|
+
* Implements Elastic Weight Consolidation++ (EWC++) to store successful
|
|
7
|
+
* recommendation patterns without catastrophic forgetting. Unlike traditional
|
|
8
|
+
* storage that overwrites old patterns, EWC++ preserves important learned
|
|
9
|
+
* patterns while integrating new ones.
|
|
10
|
+
*
|
|
11
|
+
* Key capabilities:
|
|
12
|
+
* - storePattern(): Encodes successful matches with Fisher Information tracking
|
|
13
|
+
* - findSimilarPatterns(): Retrieves relevant patterns using importance-weighted similarity
|
|
14
|
+
* - consolidate(): Updates Fisher Information matrix without forgetting important patterns
|
|
15
|
+
* - 95%+ pattern preservation: New patterns do not overwrite important historical patterns
|
|
16
|
+
*
|
|
17
|
+
* @see https://arxiv.org/abs/1801.10112 (Progress & Compress)
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* EWC++ algorithm configuration
|
|
21
|
+
*
|
|
22
|
+
* @see https://arxiv.org/abs/1801.10112 (Progress & Compress)
|
|
23
|
+
*/
|
|
24
|
+
export interface EWCConfig {
|
|
25
|
+
/**
|
|
26
|
+
* Lambda (regularization strength).
|
|
27
|
+
* Higher values = stronger preservation of old patterns.
|
|
28
|
+
*
|
|
29
|
+
* - 0.1-1.0: Allows more plasticity (learning new patterns)
|
|
30
|
+
* - 1.0-10.0: Balanced preservation and learning
|
|
31
|
+
* - 10.0-100.0: Strong preservation (minimal forgetting)
|
|
32
|
+
*
|
|
33
|
+
* @default 5.0
|
|
34
|
+
*/
|
|
35
|
+
lambda: number;
|
|
36
|
+
/**
|
|
37
|
+
* Decay factor for online Fisher Information updates.
|
|
38
|
+
* Applied to running sum before adding new gradient squared.
|
|
39
|
+
*
|
|
40
|
+
* - 0.9: Fast decay, recent patterns dominate
|
|
41
|
+
* - 0.99: Slow decay, historical patterns preserved longer
|
|
42
|
+
* - 1.0: No decay (original EWC, not recommended)
|
|
43
|
+
*
|
|
44
|
+
* @default 0.95
|
|
45
|
+
*/
|
|
46
|
+
fisherDecay: number;
|
|
47
|
+
/**
|
|
48
|
+
* Minimum importance threshold for pattern preservation.
|
|
49
|
+
* Patterns below this threshold are eligible for overwriting.
|
|
50
|
+
*
|
|
51
|
+
* @default 0.01
|
|
52
|
+
*/
|
|
53
|
+
importanceThreshold: number;
|
|
54
|
+
/**
|
|
55
|
+
* Number of patterns to sample for Fisher Information estimation.
|
|
56
|
+
* Higher values = more accurate importance estimates but slower.
|
|
57
|
+
*
|
|
58
|
+
* @default 100
|
|
59
|
+
*/
|
|
60
|
+
fisherSampleSize: number;
|
|
61
|
+
/**
|
|
62
|
+
* Consolidation trigger threshold.
|
|
63
|
+
* Consolidate when (new_patterns / total_patterns) exceeds this.
|
|
64
|
+
*
|
|
65
|
+
* @default 0.1 (10%)
|
|
66
|
+
*/
|
|
67
|
+
consolidationThreshold: number;
|
|
68
|
+
/**
|
|
69
|
+
* Maximum patterns to retain before pruning low-importance ones.
|
|
70
|
+
*
|
|
71
|
+
* @default 10000
|
|
72
|
+
*/
|
|
73
|
+
maxPatterns: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* PatternStore configuration
|
|
77
|
+
*/
|
|
78
|
+
export interface PatternStoreConfig {
|
|
79
|
+
/**
|
|
80
|
+
* Path to SQLite database for pattern storage.
|
|
81
|
+
* If not provided, uses in-memory database.
|
|
82
|
+
*/
|
|
83
|
+
dbPath?: string;
|
|
84
|
+
/**
|
|
85
|
+
* EWC++ algorithm parameters.
|
|
86
|
+
*/
|
|
87
|
+
ewc?: Partial<EWCConfig>;
|
|
88
|
+
/**
|
|
89
|
+
* Embedding dimensions (must match embedding model).
|
|
90
|
+
* @default 384 (all-MiniLM-L6-v2)
|
|
91
|
+
*/
|
|
92
|
+
dimensions?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Enable automatic consolidation on pattern insertion.
|
|
95
|
+
* @default true
|
|
96
|
+
*/
|
|
97
|
+
autoConsolidate?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Enable pattern access tracking for importance boosting.
|
|
100
|
+
* @default true
|
|
101
|
+
*/
|
|
102
|
+
trackAccess?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Enable V3 ReasoningBank integration.
|
|
105
|
+
* @default true (auto-detect)
|
|
106
|
+
*/
|
|
107
|
+
useV3Integration?: boolean;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Default EWC++ configuration
|
|
111
|
+
*/
|
|
112
|
+
export declare const DEFAULT_EWC_CONFIG: EWCConfig;
|
|
113
|
+
/**
|
|
114
|
+
* Default PatternStore configuration
|
|
115
|
+
*/
|
|
116
|
+
export declare const DEFAULT_PATTERN_STORE_CONFIG: Required<Omit<PatternStoreConfig, 'dbPath'>> & {
|
|
117
|
+
dbPath?: string;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Pattern outcome types aligned with ReasoningBankIntegration rewards
|
|
121
|
+
*
|
|
122
|
+
* @see ReasoningBankIntegration.TRAJECTORY_REWARDS
|
|
123
|
+
*/
|
|
124
|
+
export type PatternOutcomeType = 'accept' | 'usage' | 'frequent' | 'dismiss' | 'abandonment' | 'uninstall';
|
|
125
|
+
/**
|
|
126
|
+
* Outcome result for a pattern
|
|
127
|
+
*/
|
|
128
|
+
export interface PatternOutcome {
|
|
129
|
+
/** Type of outcome */
|
|
130
|
+
type: PatternOutcomeType;
|
|
131
|
+
/** Reward value [-1.0, 1.0] */
|
|
132
|
+
reward: number;
|
|
133
|
+
/** Confidence in this outcome (for partial observations) */
|
|
134
|
+
confidence?: number;
|
|
135
|
+
/** Additional metadata */
|
|
136
|
+
metadata?: Record<string, unknown>;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Reward values for pattern outcomes
|
|
140
|
+
* Matches ReasoningBankIntegration.TRAJECTORY_REWARDS
|
|
141
|
+
*/
|
|
142
|
+
export declare const PATTERN_REWARDS: Record<PatternOutcomeType, number>;
|
|
143
|
+
/**
|
|
144
|
+
* Context that led to a recommendation
|
|
145
|
+
*/
|
|
146
|
+
export interface PatternRecommendationContext {
|
|
147
|
+
/** User's current installed skills */
|
|
148
|
+
installedSkills: string[];
|
|
149
|
+
/** Frameworks/languages detected in project */
|
|
150
|
+
frameworks?: string[];
|
|
151
|
+
/** Keywords from user query or context */
|
|
152
|
+
keywords?: string[];
|
|
153
|
+
/** Time of day (for temporal patterns) */
|
|
154
|
+
timeOfDay?: 'morning' | 'afternoon' | 'evening' | 'night';
|
|
155
|
+
/** Day type (for usage patterns) */
|
|
156
|
+
dayType?: 'weekday' | 'weekend';
|
|
157
|
+
/** Session duration in minutes */
|
|
158
|
+
sessionDuration?: number;
|
|
159
|
+
/** Number of recommendations shown in session */
|
|
160
|
+
recommendationsShown?: number;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Skill features used in pattern matching
|
|
164
|
+
*/
|
|
165
|
+
export interface SkillFeatures {
|
|
166
|
+
/** Skill identifier (author/name format) */
|
|
167
|
+
skillId: string;
|
|
168
|
+
/** Skill category */
|
|
169
|
+
category?: string;
|
|
170
|
+
/** Trust tier (verified, community, experimental) */
|
|
171
|
+
trustTier?: string;
|
|
172
|
+
/** Skill keywords/tags */
|
|
173
|
+
keywords?: string[];
|
|
174
|
+
/** Trigger phrases */
|
|
175
|
+
triggerPhrases?: string[];
|
|
176
|
+
/** Quality score [0-100] */
|
|
177
|
+
qualityScore?: number;
|
|
178
|
+
/** Install count */
|
|
179
|
+
installCount?: number;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Complete pattern definition
|
|
183
|
+
*/
|
|
184
|
+
export interface Pattern {
|
|
185
|
+
/** Unique pattern identifier (auto-generated if not provided) */
|
|
186
|
+
id?: string;
|
|
187
|
+
/** Recommendation context that led to this match */
|
|
188
|
+
context: PatternRecommendationContext;
|
|
189
|
+
/** Skill that was recommended */
|
|
190
|
+
skill: SkillFeatures;
|
|
191
|
+
/** Original recommendation score [0-1] */
|
|
192
|
+
originalScore: number;
|
|
193
|
+
/** Source of the recommendation (search, recommend, install) */
|
|
194
|
+
source: 'search' | 'recommend' | 'install' | 'compare';
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Stored pattern with computed fields
|
|
198
|
+
*/
|
|
199
|
+
export interface StoredPattern extends Pattern {
|
|
200
|
+
/** Pattern ID (guaranteed after storage) */
|
|
201
|
+
id: string;
|
|
202
|
+
/** Context embedding vector */
|
|
203
|
+
contextEmbedding: Float32Array;
|
|
204
|
+
/** Pattern outcome */
|
|
205
|
+
outcome: PatternOutcome;
|
|
206
|
+
/** Pattern importance (from Fisher Information) */
|
|
207
|
+
importance: number;
|
|
208
|
+
/** Number of times this pattern was accessed */
|
|
209
|
+
accessCount: number;
|
|
210
|
+
/** Creation timestamp */
|
|
211
|
+
createdAt: Date;
|
|
212
|
+
/** Last access timestamp */
|
|
213
|
+
lastAccessedAt: Date;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Pattern query for similarity search
|
|
217
|
+
*/
|
|
218
|
+
export interface PatternQuery {
|
|
219
|
+
/** Context to match against */
|
|
220
|
+
context: PatternRecommendationContext;
|
|
221
|
+
/** Optional skill to filter by */
|
|
222
|
+
skillId?: string;
|
|
223
|
+
/** Optional category filter */
|
|
224
|
+
category?: string;
|
|
225
|
+
/** Minimum importance threshold */
|
|
226
|
+
minImportance?: number;
|
|
227
|
+
/** Outcome type filter */
|
|
228
|
+
outcomeType?: PatternOutcomeType;
|
|
229
|
+
/** Only positive outcomes (accept, usage, frequent) */
|
|
230
|
+
positiveOnly?: boolean;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Similar pattern result
|
|
234
|
+
*/
|
|
235
|
+
export interface SimilarPattern {
|
|
236
|
+
/** The matched pattern */
|
|
237
|
+
pattern: StoredPattern;
|
|
238
|
+
/** Similarity score [0-1] */
|
|
239
|
+
similarity: number;
|
|
240
|
+
/** Importance-weighted similarity */
|
|
241
|
+
weightedSimilarity: number;
|
|
242
|
+
/** Rank in results */
|
|
243
|
+
rank: number;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Consolidation operation result
|
|
247
|
+
*/
|
|
248
|
+
export interface ConsolidationResult {
|
|
249
|
+
/** Whether consolidation was performed */
|
|
250
|
+
consolidated: boolean;
|
|
251
|
+
/** Patterns processed during consolidation */
|
|
252
|
+
patternsProcessed: number;
|
|
253
|
+
/** Patterns preserved (importance above threshold) */
|
|
254
|
+
patternsPreserved: number;
|
|
255
|
+
/** Patterns pruned (importance below threshold) */
|
|
256
|
+
patternsPruned: number;
|
|
257
|
+
/** Preservation rate (should be >= 0.95) */
|
|
258
|
+
preservationRate: number;
|
|
259
|
+
/** Time taken in milliseconds */
|
|
260
|
+
durationMs: number;
|
|
261
|
+
/** New average importance after consolidation */
|
|
262
|
+
averageImportance: number;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* PatternStore metrics for monitoring
|
|
266
|
+
*/
|
|
267
|
+
export interface PatternStoreMetrics {
|
|
268
|
+
/** Total patterns stored */
|
|
269
|
+
totalPatterns: number;
|
|
270
|
+
/** Patterns by outcome type */
|
|
271
|
+
patternsByOutcome: Record<PatternOutcomeType, number>;
|
|
272
|
+
/** Average pattern importance */
|
|
273
|
+
averageImportance: number;
|
|
274
|
+
/** High importance patterns (above 90th percentile) */
|
|
275
|
+
highImportancePatterns: number;
|
|
276
|
+
/** Consolidation statistics */
|
|
277
|
+
consolidation: {
|
|
278
|
+
totalConsolidations: number;
|
|
279
|
+
lastConsolidation: Date | null;
|
|
280
|
+
averagePreservationRate: number;
|
|
281
|
+
patternsPruned: number;
|
|
282
|
+
};
|
|
283
|
+
/** Storage statistics */
|
|
284
|
+
storage: {
|
|
285
|
+
sizeBytes: number;
|
|
286
|
+
fisherMatrixSizeBytes: number;
|
|
287
|
+
};
|
|
288
|
+
/** Query performance */
|
|
289
|
+
queryPerformance: {
|
|
290
|
+
averageLatencyMs: number;
|
|
291
|
+
queriesPerformed: number;
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Fisher Information Matrix interface
|
|
296
|
+
*/
|
|
297
|
+
export interface IFisherInformationMatrix {
|
|
298
|
+
getImportance(dimensionIndex: number): number;
|
|
299
|
+
update(gradient: Float32Array): void;
|
|
300
|
+
decay(decayFactor: number): void;
|
|
301
|
+
getImportanceVector(): Float32Array;
|
|
302
|
+
getAverageImportance(): number;
|
|
303
|
+
serialize(): Buffer;
|
|
304
|
+
deserialize(buffer: Buffer): void;
|
|
305
|
+
reset(): void;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Fisher Information Matrix implementation for EWC++
|
|
309
|
+
*
|
|
310
|
+
* Stores diagonal approximation of Fisher Information,
|
|
311
|
+
* indicating which "weights" (pattern dimensions) are important.
|
|
312
|
+
*
|
|
313
|
+
* In the context of pattern storage:
|
|
314
|
+
* - Each dimension of the context embedding has an importance value
|
|
315
|
+
* - High importance = changing this dimension would harm prediction
|
|
316
|
+
* - Low importance = safe to overwrite with new patterns
|
|
317
|
+
*/
|
|
318
|
+
export declare class FisherInformationMatrix implements IFisherInformationMatrix {
|
|
319
|
+
private dimensions;
|
|
320
|
+
/** Diagonal of Fisher Information (importance per dimension) */
|
|
321
|
+
private importance;
|
|
322
|
+
/** Running sum for online updates */
|
|
323
|
+
private runningSum;
|
|
324
|
+
/** Number of updates performed */
|
|
325
|
+
private updateCount;
|
|
326
|
+
constructor(dimensions: number);
|
|
327
|
+
getImportance(dimensionIndex: number): number;
|
|
328
|
+
update(gradient: Float32Array): void;
|
|
329
|
+
decay(decayFactor: number): void;
|
|
330
|
+
getImportanceVector(): Float32Array;
|
|
331
|
+
getAverageImportance(): number;
|
|
332
|
+
serialize(): Buffer;
|
|
333
|
+
deserialize(buffer: Buffer): void;
|
|
334
|
+
reset(): void;
|
|
335
|
+
getUpdateCount(): number;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* PatternStore - EWC++ pattern storage for successful recommendation matches
|
|
339
|
+
*
|
|
340
|
+
* Prevents catastrophic forgetting by tracking which pattern dimensions
|
|
341
|
+
* are important via Fisher Information Matrix and preserving high-importance
|
|
342
|
+
* patterns during consolidation.
|
|
343
|
+
*
|
|
344
|
+
* @example
|
|
345
|
+
* ```typescript
|
|
346
|
+
* const store = new PatternStore({ dbPath: './patterns.db' })
|
|
347
|
+
* await store.initialize()
|
|
348
|
+
*
|
|
349
|
+
* // Store a successful pattern
|
|
350
|
+
* await store.storePattern(
|
|
351
|
+
* {
|
|
352
|
+
* context: { installedSkills: ['commit'], frameworks: ['react'] },
|
|
353
|
+
* skill: { skillId: 'jest-helper', category: 'testing' },
|
|
354
|
+
* originalScore: 0.85,
|
|
355
|
+
* source: 'recommend'
|
|
356
|
+
* },
|
|
357
|
+
* { type: 'accept', reward: 1.0 }
|
|
358
|
+
* )
|
|
359
|
+
*
|
|
360
|
+
* // Find similar patterns
|
|
361
|
+
* const similar = await store.findSimilarPatterns({
|
|
362
|
+
* context: { installedSkills: ['commit'], frameworks: ['react', 'typescript'] }
|
|
363
|
+
* })
|
|
364
|
+
* ```
|
|
365
|
+
*/
|
|
366
|
+
export declare class PatternStore {
|
|
367
|
+
private db;
|
|
368
|
+
private fisherMatrix;
|
|
369
|
+
private embeddingService;
|
|
370
|
+
private consolidationState;
|
|
371
|
+
private config;
|
|
372
|
+
private ewcConfig;
|
|
373
|
+
private initialized;
|
|
374
|
+
private queryLatencies;
|
|
375
|
+
private maxQuerySamples;
|
|
376
|
+
constructor(config?: PatternStoreConfig);
|
|
377
|
+
/**
|
|
378
|
+
* Initialize the PatternStore
|
|
379
|
+
*/
|
|
380
|
+
initialize(): Promise<void>;
|
|
381
|
+
/**
|
|
382
|
+
* Check if PatternStore is initialized
|
|
383
|
+
*/
|
|
384
|
+
isInitialized(): boolean;
|
|
385
|
+
/**
|
|
386
|
+
* Attempt to initialize V3 ReasoningBank integration
|
|
387
|
+
*/
|
|
388
|
+
private initializeV3Integration;
|
|
389
|
+
/**
|
|
390
|
+
* Store a pattern with EWC++ protection
|
|
391
|
+
*
|
|
392
|
+
* @param pattern - Pattern to store
|
|
393
|
+
* @param outcome - Outcome of the recommendation
|
|
394
|
+
* @returns Pattern ID
|
|
395
|
+
*/
|
|
396
|
+
storePattern(pattern: Pattern, outcome: PatternOutcome): Promise<string>;
|
|
397
|
+
/**
|
|
398
|
+
* Find similar patterns using importance-weighted similarity
|
|
399
|
+
*
|
|
400
|
+
* @param query - Pattern query
|
|
401
|
+
* @param limit - Maximum results
|
|
402
|
+
* @returns Similar patterns sorted by weighted similarity
|
|
403
|
+
*/
|
|
404
|
+
findSimilarPatterns(query: PatternQuery, limit?: number): Promise<SimilarPattern[]>;
|
|
405
|
+
/**
|
|
406
|
+
* Consolidate patterns using EWC++
|
|
407
|
+
*
|
|
408
|
+
* Applies Fisher decay, recalculates importance, and prunes low-importance patterns.
|
|
409
|
+
* Guarantees 95%+ preservation of important patterns.
|
|
410
|
+
*
|
|
411
|
+
* @returns Consolidation result
|
|
412
|
+
*/
|
|
413
|
+
consolidate(): Promise<ConsolidationResult>;
|
|
414
|
+
/**
|
|
415
|
+
* Get pattern importance value
|
|
416
|
+
*
|
|
417
|
+
* @param patternId - Pattern identifier
|
|
418
|
+
* @returns Importance value or 0 if not found
|
|
419
|
+
*/
|
|
420
|
+
getPatternImportance(patternId: string): number;
|
|
421
|
+
/**
|
|
422
|
+
* Get PatternStore metrics
|
|
423
|
+
*/
|
|
424
|
+
getMetrics(): PatternStoreMetrics;
|
|
425
|
+
/**
|
|
426
|
+
* Close the PatternStore and release resources
|
|
427
|
+
*/
|
|
428
|
+
close(): void;
|
|
429
|
+
private ensureInitialized;
|
|
430
|
+
private contextToText;
|
|
431
|
+
private computeGradient;
|
|
432
|
+
private computeAverageEmbedding;
|
|
433
|
+
private deserializeEmbedding;
|
|
434
|
+
private cosineSimilarity;
|
|
435
|
+
private importanceWeightedSimilarity;
|
|
436
|
+
private calculatePatternImportance;
|
|
437
|
+
private calculateDimensionImportance;
|
|
438
|
+
private shouldConsolidate;
|
|
439
|
+
private getPatternCount;
|
|
440
|
+
private getSamplePatterns;
|
|
441
|
+
private getAllPatterns;
|
|
442
|
+
private updatePatternInDB;
|
|
443
|
+
private updatePatternImportance;
|
|
444
|
+
private updateAccessCount;
|
|
445
|
+
private deletePattern;
|
|
446
|
+
private getDatabaseSize;
|
|
447
|
+
private loadFisherMatrix;
|
|
448
|
+
private saveFisherMatrix;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Create and initialize a PatternStore instance
|
|
452
|
+
*
|
|
453
|
+
* @param config - Configuration options
|
|
454
|
+
* @returns Initialized PatternStore
|
|
455
|
+
*/
|
|
456
|
+
export declare function createPatternStore(config?: PatternStoreConfig): Promise<PatternStore>;
|
|
457
|
+
//# sourceMappingURL=PatternStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternStore.d.ts","sourceRoot":"","sources":["../../../src/learning/PatternStore.ts"],"names":[],"mappings":"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"}
|