@skillsmith/core 0.2.0 → 0.4.1
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/CodebaseAnalyzer.d.ts.map +1 -1
- package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
- package/dist/src/analysis/__tests__/incremental.test.d.ts +13 -0
- package/dist/src/analysis/__tests__/incremental.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/incremental.test.js +515 -0
- package/dist/src/analysis/__tests__/incremental.test.js.map +1 -0
- package/dist/src/analysis/__tests__/integration.test.d.ts +14 -0
- package/dist/src/analysis/__tests__/integration.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/integration.test.js +1059 -0
- package/dist/src/analysis/__tests__/integration.test.js.map +1 -0
- package/dist/src/analysis/__tests__/metrics.test.d.ts +9 -0
- package/dist/src/analysis/__tests__/metrics.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/metrics.test.js +369 -0
- package/dist/src/analysis/__tests__/metrics.test.js.map +1 -0
- package/dist/src/analysis/__tests__/performance.test.d.ts +15 -0
- package/dist/src/analysis/__tests__/performance.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/performance.test.js +402 -0
- package/dist/src/analysis/__tests__/performance.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/go.test.d.ts +12 -0
- package/dist/src/analysis/adapters/__tests__/go.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/go.test.js +561 -0
- package/dist/src/analysis/adapters/__tests__/go.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/python.test.d.ts +11 -0
- package/dist/src/analysis/adapters/__tests__/python.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/python.test.js +669 -0
- package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.d.ts +12 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.js +676 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts +14 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.js +381 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.js.map +1 -0
- package/dist/src/analysis/adapters/base.d.ts +83 -0
- package/dist/src/analysis/adapters/base.d.ts.map +1 -0
- package/dist/src/analysis/adapters/base.js +40 -0
- package/dist/src/analysis/adapters/base.js.map +1 -0
- package/dist/src/analysis/adapters/factory.d.ts +150 -0
- package/dist/src/analysis/adapters/factory.d.ts.map +1 -0
- package/dist/src/analysis/adapters/factory.js +244 -0
- package/dist/src/analysis/adapters/factory.js.map +1 -0
- package/dist/src/analysis/adapters/go.d.ts +131 -0
- package/dist/src/analysis/adapters/go.d.ts.map +1 -0
- package/dist/src/analysis/adapters/go.js +414 -0
- package/dist/src/analysis/adapters/go.js.map +1 -0
- package/dist/src/analysis/adapters/index.d.ts +20 -0
- package/dist/src/analysis/adapters/index.d.ts.map +1 -0
- package/dist/src/analysis/adapters/index.js +23 -0
- package/dist/src/analysis/adapters/index.js.map +1 -0
- package/dist/src/analysis/adapters/java.d.ts +154 -0
- package/dist/src/analysis/adapters/java.d.ts.map +1 -0
- package/dist/src/analysis/adapters/java.js +407 -0
- package/dist/src/analysis/adapters/java.js.map +1 -0
- package/dist/src/analysis/adapters/python.d.ts +165 -0
- package/dist/src/analysis/adapters/python.d.ts.map +1 -0
- package/dist/src/analysis/adapters/python.js +475 -0
- package/dist/src/analysis/adapters/python.js.map +1 -0
- package/dist/src/analysis/adapters/rust.d.ts +116 -0
- package/dist/src/analysis/adapters/rust.d.ts.map +1 -0
- package/dist/src/analysis/adapters/rust.js +476 -0
- package/dist/src/analysis/adapters/rust.js.map +1 -0
- package/dist/src/analysis/adapters/typescript.d.ts +68 -0
- package/dist/src/analysis/adapters/typescript.d.ts.map +1 -0
- package/dist/src/analysis/adapters/typescript.js +79 -0
- package/dist/src/analysis/adapters/typescript.js.map +1 -0
- package/dist/src/analysis/aggregator.d.ts +193 -0
- package/dist/src/analysis/aggregator.d.ts.map +1 -0
- package/dist/src/analysis/aggregator.js +283 -0
- package/dist/src/analysis/aggregator.js.map +1 -0
- package/dist/src/analysis/cache.d.ts +180 -0
- package/dist/src/analysis/cache.d.ts.map +1 -0
- package/dist/src/analysis/cache.js +279 -0
- package/dist/src/analysis/cache.js.map +1 -0
- package/dist/src/analysis/file-streamer.d.ts +136 -0
- package/dist/src/analysis/file-streamer.d.ts.map +1 -0
- package/dist/src/analysis/file-streamer.js +291 -0
- package/dist/src/analysis/file-streamer.js.map +1 -0
- package/dist/src/analysis/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 +76 -0
- package/dist/src/analysis/language-detector.d.ts.map +1 -0
- package/dist/src/analysis/language-detector.js +205 -0
- package/dist/src/analysis/language-detector.js.map +1 -0
- package/dist/src/analysis/language-detector.patterns.d.ts +17 -0
- package/dist/src/analysis/language-detector.patterns.d.ts.map +1 -0
- package/dist/src/analysis/language-detector.patterns.js +413 -0
- package/dist/src/analysis/language-detector.patterns.js.map +1 -0
- package/dist/src/analysis/language-detector.types.d.ts +48 -0
- package/dist/src/analysis/language-detector.types.d.ts.map +1 -0
- package/dist/src/analysis/language-detector.types.js +6 -0
- package/dist/src/analysis/language-detector.types.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 +103 -0
- package/dist/src/analysis/metrics.d.ts.map +1 -0
- package/dist/src/analysis/metrics.implementations.d.ts +39 -0
- package/dist/src/analysis/metrics.implementations.d.ts.map +1 -0
- package/dist/src/analysis/metrics.implementations.js +114 -0
- package/dist/src/analysis/metrics.implementations.js.map +1 -0
- package/dist/src/analysis/metrics.js +334 -0
- package/dist/src/analysis/metrics.js.map +1 -0
- package/dist/src/analysis/metrics.types.d.ts +79 -0
- package/dist/src/analysis/metrics.types.d.ts.map +1 -0
- package/dist/src/analysis/metrics.types.js +6 -0
- package/dist/src/analysis/metrics.types.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/ROIDashboardService.js +4 -2
- package/dist/src/analytics/ROIDashboardService.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 +141 -6
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.js +238 -23
- 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/BenchmarkRunner.d.ts.map +1 -1
- package/dist/src/benchmarks/BenchmarkRunner.js +1 -1
- package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
- 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 +101 -0
- package/dist/src/billing/BillingService.d.ts.map +1 -0
- package/dist/src/billing/BillingService.helpers.d.ts +15 -0
- package/dist/src/billing/BillingService.helpers.d.ts.map +1 -0
- package/dist/src/billing/BillingService.helpers.js +45 -0
- package/dist/src/billing/BillingService.helpers.js.map +1 -0
- package/dist/src/billing/BillingService.js +263 -0
- package/dist/src/billing/BillingService.js.map +1 -0
- package/dist/src/billing/BillingService.types.d.ts +52 -0
- package/dist/src/billing/BillingService.types.d.ts.map +1 -0
- package/dist/src/billing/BillingService.types.js +6 -0
- package/dist/src/billing/BillingService.types.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 +178 -0
- package/dist/src/billing/StripeClient.d.ts.map +1 -0
- package/dist/src/billing/StripeClient.js +463 -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 +105 -0
- package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -0
- package/dist/src/billing/StripeWebhookHandler.js +452 -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/migration.d.ts +129 -0
- package/dist/src/db/migration.d.ts.map +1 -0
- package/dist/src/db/migration.js +289 -0
- package/dist/src/db/migration.js.map +1 -0
- package/dist/src/db/schema.d.ts +2 -2
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +63 -1
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/embeddings/hnsw-store.d.ts +58 -0
- package/dist/src/embeddings/hnsw-store.d.ts.map +1 -0
- package/dist/src/embeddings/hnsw-store.helpers.d.ts +83 -0
- package/dist/src/embeddings/hnsw-store.helpers.d.ts.map +1 -0
- package/dist/src/embeddings/hnsw-store.helpers.js +147 -0
- package/dist/src/embeddings/hnsw-store.helpers.js.map +1 -0
- package/dist/src/embeddings/hnsw-store.js +354 -0
- package/dist/src/embeddings/hnsw-store.js.map +1 -0
- package/dist/src/embeddings/hnsw-store.types.d.ts +154 -0
- package/dist/src/embeddings/hnsw-store.types.d.ts.map +1 -0
- package/dist/src/embeddings/hnsw-store.types.js +26 -0
- package/dist/src/embeddings/hnsw-store.types.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 +2 -1
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +13 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +26 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
- package/dist/src/indexer/GitHubIndexer.js +17 -4
- package/dist/src/indexer/GitHubIndexer.js.map +1 -1
- package/dist/src/indexer/SwarmIndexer.d.ts.map +1 -1
- package/dist/src/indexer/SwarmIndexer.js +1 -1
- package/dist/src/indexer/SwarmIndexer.js.map +1 -1
- package/dist/src/learning/PatternStore.d.ts +37 -0
- package/dist/src/learning/PatternStore.d.ts.map +1 -0
- package/dist/src/learning/PatternStore.helpers.d.ts +88 -0
- package/dist/src/learning/PatternStore.helpers.d.ts.map +1 -0
- package/dist/src/learning/PatternStore.helpers.js +286 -0
- package/dist/src/learning/PatternStore.helpers.js.map +1 -0
- package/dist/src/learning/PatternStore.js +347 -0
- package/dist/src/learning/PatternStore.js.map +1 -0
- package/dist/src/learning/PatternStore.queries.d.ts +83 -0
- package/dist/src/learning/PatternStore.queries.d.ts.map +1 -0
- package/dist/src/learning/PatternStore.queries.js +189 -0
- package/dist/src/learning/PatternStore.queries.js.map +1 -0
- package/dist/src/learning/PatternStore.types.d.ts +308 -0
- package/dist/src/learning/PatternStore.types.d.ts.map +1 -0
- package/dist/src/learning/PatternStore.types.js +44 -0
- package/dist/src/learning/PatternStore.types.js.map +1 -0
- package/dist/src/learning/ReasoningBankIntegration.d.ts +63 -0
- package/dist/src/learning/ReasoningBankIntegration.d.ts.map +1 -0
- package/dist/src/learning/ReasoningBankIntegration.helpers.d.ts +49 -0
- package/dist/src/learning/ReasoningBankIntegration.helpers.d.ts.map +1 -0
- package/dist/src/learning/ReasoningBankIntegration.helpers.js +180 -0
- package/dist/src/learning/ReasoningBankIntegration.helpers.js.map +1 -0
- package/dist/src/learning/ReasoningBankIntegration.js +258 -0
- package/dist/src/learning/ReasoningBankIntegration.js.map +1 -0
- package/dist/src/learning/ReasoningBankIntegration.types.d.ts +167 -0
- package/dist/src/learning/ReasoningBankIntegration.types.d.ts.map +1 -0
- package/dist/src/learning/ReasoningBankIntegration.types.js +51 -0
- package/dist/src/learning/ReasoningBankIntegration.types.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/learning/interfaces.d.ts.map +1 -1
- package/dist/src/pipeline/DailyIndexPipeline.js +1 -1
- package/dist/src/pipeline/DailyIndexPipeline.js.map +1 -1
- package/dist/src/repositories/IndexerRepository.d.ts +1 -0
- package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
- package/dist/src/repositories/IndexerRepository.js +7 -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 +21 -5
- 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 +56 -0
- package/dist/src/routing/SONARouter.d.ts.map +1 -0
- package/dist/src/routing/SONARouter.helpers.d.ts +112 -0
- package/dist/src/routing/SONARouter.helpers.d.ts.map +1 -0
- package/dist/src/routing/SONARouter.helpers.js +184 -0
- package/dist/src/routing/SONARouter.helpers.js.map +1 -0
- package/dist/src/routing/SONARouter.js +377 -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 +292 -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/ingest-lenny-skills.d.ts +40 -0
- package/dist/src/scripts/ingest-lenny-skills.d.ts.map +1 -0
- package/dist/src/scripts/ingest-lenny-skills.js +346 -0
- package/dist/src/scripts/ingest-lenny-skills.js.map +1 -0
- 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/review-lenny-skills.d.ts +25 -0
- package/dist/src/scripts/review-lenny-skills.d.ts.map +1 -0
- package/dist/src/scripts/review-lenny-skills.js +520 -0
- package/dist/src/scripts/review-lenny-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/sync-to-supabase.d.ts +10 -0
- package/dist/src/scripts/sync-to-supabase.d.ts.map +1 -0
- package/dist/src/scripts/sync-to-supabase.js +93 -0
- package/dist/src/scripts/sync-to-supabase.js.map +1 -0
- 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/AuditLogger.js +1 -1
- package/dist/src/security/AuditLogger.js.map +1 -1
- 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/__tests__/pathValidation.test.js.map +1 -1
- 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 +13 -66
- package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.formatters.d.ts +49 -0
- package/dist/src/security/scanner/SecurityScanner.formatters.d.ts.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.formatters.js +139 -0
- package/dist/src/security/scanner/SecurityScanner.formatters.js.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +40 -0
- package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.helpers.js +142 -0
- package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -0
- package/dist/src/security/scanner/SecurityScanner.js +141 -166
- 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 +5 -0
- package/dist/src/services/SearchService.d.ts.map +1 -1
- package/dist/src/services/SearchService.js +144 -11
- package/dist/src/services/SearchService.js.map +1 -1
- package/dist/src/services/SkillAnalyzer.d.ts +117 -0
- package/dist/src/services/SkillAnalyzer.d.ts.map +1 -0
- package/dist/src/services/SkillAnalyzer.js +421 -0
- package/dist/src/services/SkillAnalyzer.js.map +1 -0
- package/dist/src/services/SkillDecomposer.d.ts +103 -0
- package/dist/src/services/SkillDecomposer.d.ts.map +1 -0
- package/dist/src/services/SkillDecomposer.js +359 -0
- package/dist/src/services/SkillDecomposer.js.map +1 -0
- package/dist/src/services/SubagentGenerator.d.ts +68 -0
- package/dist/src/services/SubagentGenerator.d.ts.map +1 -0
- package/dist/src/services/SubagentGenerator.js +319 -0
- package/dist/src/services/SubagentGenerator.js.map +1 -0
- package/dist/src/services/TransformationService.d.ts +163 -0
- package/dist/src/services/TransformationService.d.ts.map +1 -0
- package/dist/src/services/TransformationService.js +291 -0
- package/dist/src/services/TransformationService.js.map +1 -0
- package/dist/src/services/__tests__/SkillAnalyzer.test.d.ts +6 -0
- package/dist/src/services/__tests__/SkillAnalyzer.test.d.ts.map +1 -0
- package/dist/src/services/__tests__/SkillAnalyzer.test.js +177 -0
- package/dist/src/services/__tests__/SkillAnalyzer.test.js.map +1 -0
- package/dist/src/services/__tests__/SkillDecomposer.test.d.ts +6 -0
- package/dist/src/services/__tests__/SkillDecomposer.test.d.ts.map +1 -0
- package/dist/src/services/__tests__/SkillDecomposer.test.js +235 -0
- package/dist/src/services/__tests__/SkillDecomposer.test.js.map +1 -0
- package/dist/src/services/__tests__/SubagentGenerator.test.d.ts +6 -0
- package/dist/src/services/__tests__/SubagentGenerator.test.d.ts.map +1 -0
- package/dist/src/services/__tests__/SubagentGenerator.test.js +174 -0
- package/dist/src/services/__tests__/SubagentGenerator.test.js.map +1 -0
- package/dist/src/services/__tests__/TransformationService.test.d.ts +6 -0
- package/dist/src/services/__tests__/TransformationService.test.d.ts.map +1 -0
- package/dist/src/services/__tests__/TransformationService.test.js +242 -0
- package/dist/src/services/__tests__/TransformationService.test.js.map +1 -0
- package/dist/src/session/SessionContext.js +1 -1
- package/dist/src/session/SessionContext.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 +9 -66
- package/dist/src/session/SessionManager.d.ts.map +1 -1
- package/dist/src/session/SessionManager.helpers.d.ts +68 -0
- package/dist/src/session/SessionManager.helpers.d.ts.map +1 -0
- package/dist/src/session/SessionManager.helpers.js +152 -0
- package/dist/src/session/SessionManager.helpers.js.map +1 -0
- package/dist/src/session/SessionManager.js +113 -111
- package/dist/src/session/SessionManager.js.map +1 -1
- package/dist/src/session/SessionManager.types.d.ts +88 -0
- package/dist/src/session/SessionManager.types.d.ts.map +1 -0
- package/dist/src/session/SessionManager.types.js +27 -0
- package/dist/src/session/SessionManager.types.js.map +1 -0
- package/dist/src/session/SessionRecovery.d.ts.map +1 -1
- package/dist/src/session/SessionRecovery.js +3 -2
- package/dist/src/session/SessionRecovery.js.map +1 -1
- package/dist/src/sources/RawUrlSourceAdapter.js.map +1 -1
- package/dist/src/sources/SourceAdapterRegistry.js +1 -1
- package/dist/src/sources/SourceAdapterRegistry.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/telemetry/tracer.d.ts.map +1 -1
- package/dist/src/telemetry/tracer.js +2 -3
- package/dist/src/telemetry/tracer.js.map +1 -1
- package/dist/src/testing/MultiLLMProvider.d.ts +98 -0
- package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -0
- package/dist/src/testing/MultiLLMProvider.helpers.d.ts +54 -0
- package/dist/src/testing/MultiLLMProvider.helpers.d.ts.map +1 -0
- package/dist/src/testing/MultiLLMProvider.helpers.js +126 -0
- package/dist/src/testing/MultiLLMProvider.helpers.js.map +1 -0
- package/dist/src/testing/MultiLLMProvider.js +447 -0
- package/dist/src/testing/MultiLLMProvider.js.map +1 -0
- package/dist/src/testing/MultiLLMProvider.types.d.ts +253 -0
- package/dist/src/testing/MultiLLMProvider.types.d.ts.map +1 -0
- package/dist/src/testing/MultiLLMProvider.types.js +111 -0
- package/dist/src/testing/MultiLLMProvider.types.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/triggers/__tests__/TriggerDetector.test.js +1 -1
- package/dist/src/triggers/__tests__/TriggerDetector.test.js.map +1 -1
- package/dist/src/types/skill.d.ts +32 -0
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types/skill.js +11 -1
- package/dist/src/types/skill.js.map +1 -1
- package/dist/src/types.d.ts +27 -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/src/utils/retry.js +2 -2
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/validation/index.js +2 -2
- package/dist/src/validation/index.js.map +1 -1
- package/dist/src/webhooks/WebhookHandler.d.ts.map +1 -1
- package/dist/src/webhooks/WebhookHandler.js.map +1 -1
- package/dist/src/webhooks/WebhookPayload.js +1 -1
- package/dist/src/webhooks/WebhookPayload.js.map +1 -1
- package/dist/tests/Analytics.integration.test.js +2 -2
- package/dist/tests/Analytics.integration.test.js.map +1 -1
- package/dist/tests/AnalyticsRepository.test.js +3 -5
- package/dist/tests/AnalyticsRepository.test.js.map +1 -1
- package/dist/tests/AnalyticsStorage.test.js.map +1 -1
- package/dist/tests/ApiPartialResponses.test.d.ts +12 -0
- package/dist/tests/ApiPartialResponses.test.d.ts.map +1 -0
- package/dist/tests/ApiPartialResponses.test.js +202 -0
- package/dist/tests/ApiPartialResponses.test.js.map +1 -0
- package/dist/tests/AuditLogger.test.js.map +1 -1
- package/dist/tests/BenchmarkRunner.test.js +6 -6
- package/dist/tests/BenchmarkRunner.test.js.map +1 -1
- package/dist/tests/CacheSecurity.test.js.map +1 -1
- package/dist/tests/CodebaseAnalyzer.test.js.map +1 -1
- package/dist/tests/DailyIndexPipeline.test.js.map +1 -1
- package/dist/tests/EmbeddingService.test.js.map +1 -1
- package/dist/tests/GitHubIndexer.test.js +4 -3
- package/dist/tests/GitHubIndexer.test.js.map +1 -1
- package/dist/tests/MemoryProfiler.test.js +3 -3
- package/dist/tests/MemoryProfiler.test.js.map +1 -1
- package/dist/tests/QualityScorer.test.js.map +1 -1
- package/dist/tests/RateLimiter.test.js.map +1 -1
- package/dist/tests/ScraperAdapters.test.js.map +1 -1
- package/dist/tests/SecurityScanner.test.js +337 -1
- package/dist/tests/SecurityScanner.test.js.map +1 -1
- package/dist/tests/SessionManager.security.test.js +1 -1
- package/dist/tests/SessionManager.security.test.js.map +1 -1
- package/dist/tests/SessionManager.test.js +4 -4
- package/dist/tests/SessionManager.test.js.map +1 -1
- package/dist/tests/SwarmIndexer.test.js +1 -1
- package/dist/tests/SwarmIndexer.test.js.map +1 -1
- package/dist/tests/TieredCache.test.js +2 -11
- package/dist/tests/TieredCache.test.js.map +1 -1
- package/dist/tests/WebhookHandler.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/fixtures/api-responses/index.d.ts +119 -0
- package/dist/tests/fixtures/api-responses/index.d.ts.map +1 -0
- package/dist/tests/fixtures/api-responses/index.js +419 -0
- package/dist/tests/fixtures/api-responses/index.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/logger.test.js +1 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/performance/LargeScalePerformance.test.js +1 -1
- package/dist/tests/performance/LargeScalePerformance.test.js.map +1 -1
- 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/sanitization.test.js.map +1 -1
- 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/session/SessionManager.helpers.test.d.ts +8 -0
- package/dist/tests/session/SessionManager.helpers.test.d.ts.map +1 -0
- package/dist/tests/session/SessionManager.helpers.test.js +105 -0
- package/dist/tests/session/SessionManager.helpers.test.js.map +1 -0
- package/dist/tests/sources.test.js.map +1 -1
- 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/dist/tests/webhooks/WebhookHandler.idempotency.test.js +1 -1
- package/dist/tests/webhooks/WebhookHandler.idempotency.test.js.map +1 -1
- package/dist/tests/webhooks/WebhookPayload.security.test.js.map +1 -1
- package/package.json +27 -13
- 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,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PatternStore helper classes and utility functions
|
|
3
|
+
* @module @skillsmith/core/learning/PatternStore.helpers
|
|
4
|
+
*
|
|
5
|
+
* Contains FisherInformationMatrix implementation, SQL schema, and utility functions.
|
|
6
|
+
*/
|
|
7
|
+
import type { PatternRecommendationContext, StoredPattern, PatternOutcome, PatternRow } from './PatternStore.types.js';
|
|
8
|
+
/**
|
|
9
|
+
* SQLite schema for pattern storage
|
|
10
|
+
*/
|
|
11
|
+
export declare const PATTERN_STORE_SCHEMA = "\n-- Patterns table: stores recommendation patterns with outcomes\nCREATE TABLE IF NOT EXISTS patterns (\n pattern_id TEXT PRIMARY KEY,\n context_embedding BLOB NOT NULL,\n skill_id TEXT NOT NULL,\n skill_features TEXT NOT NULL,\n context_data TEXT NOT NULL,\n outcome_type TEXT NOT NULL,\n outcome_reward REAL NOT NULL,\n importance REAL NOT NULL DEFAULT 0.1,\n original_score REAL NOT NULL,\n source TEXT NOT NULL,\n access_count INTEGER NOT NULL DEFAULT 0,\n created_at INTEGER NOT NULL DEFAULT (unixepoch()),\n last_accessed_at INTEGER NOT NULL DEFAULT (unixepoch())\n);\n\n-- Indexes for efficient queries\nCREATE INDEX IF NOT EXISTS idx_patterns_skill_id ON patterns(skill_id);\nCREATE INDEX IF NOT EXISTS idx_patterns_outcome_type ON patterns(outcome_type);\nCREATE INDEX IF NOT EXISTS idx_patterns_importance ON patterns(importance DESC);\nCREATE INDEX IF NOT EXISTS idx_patterns_created_at ON patterns(created_at DESC);\n\n-- Fisher Information matrix state\nCREATE TABLE IF NOT EXISTS fisher_info (\n id INTEGER PRIMARY KEY DEFAULT 1,\n matrix_data BLOB NOT NULL,\n update_count INTEGER NOT NULL DEFAULT 0,\n last_decay_at INTEGER NOT NULL DEFAULT (unixepoch()),\n updated_at INTEGER NOT NULL DEFAULT (unixepoch())\n);\n\n-- Consolidation history for monitoring\nCREATE TABLE IF NOT EXISTS consolidation_history (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n timestamp INTEGER NOT NULL DEFAULT (unixepoch()),\n patterns_processed INTEGER NOT NULL,\n patterns_preserved INTEGER NOT NULL,\n patterns_pruned INTEGER NOT NULL,\n preservation_rate REAL NOT NULL,\n duration_ms INTEGER NOT NULL,\n average_importance REAL NOT NULL\n);\n";
|
|
12
|
+
/**
|
|
13
|
+
* Fisher Information Matrix interface
|
|
14
|
+
*/
|
|
15
|
+
export interface IFisherInformationMatrix {
|
|
16
|
+
getImportance(dimensionIndex: number): number;
|
|
17
|
+
update(gradient: Float32Array): void;
|
|
18
|
+
decay(decayFactor: number): void;
|
|
19
|
+
getImportanceVector(): Float32Array;
|
|
20
|
+
getAverageImportance(): number;
|
|
21
|
+
serialize(): Buffer;
|
|
22
|
+
deserialize(buffer: Buffer): void;
|
|
23
|
+
reset(): void;
|
|
24
|
+
getUpdateCount(): number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Fisher Information Matrix implementation for EWC++
|
|
28
|
+
*
|
|
29
|
+
* Stores diagonal approximation of Fisher Information,
|
|
30
|
+
* indicating which "weights" (pattern dimensions) are important.
|
|
31
|
+
*
|
|
32
|
+
* In the context of pattern storage:
|
|
33
|
+
* - Each dimension of the context embedding has an importance value
|
|
34
|
+
* - High importance = changing this dimension would harm prediction
|
|
35
|
+
* - Low importance = safe to overwrite with new patterns
|
|
36
|
+
*/
|
|
37
|
+
export declare class FisherInformationMatrix implements IFisherInformationMatrix {
|
|
38
|
+
private dimensions;
|
|
39
|
+
/** Diagonal of Fisher Information (importance per dimension) */
|
|
40
|
+
private importance;
|
|
41
|
+
/** Running sum for online updates */
|
|
42
|
+
private runningSum;
|
|
43
|
+
/** Number of updates performed */
|
|
44
|
+
private updateCount;
|
|
45
|
+
constructor(dimensions: number);
|
|
46
|
+
getImportance(dimensionIndex: number): number;
|
|
47
|
+
update(gradient: Float32Array): void;
|
|
48
|
+
decay(decayFactor: number): void;
|
|
49
|
+
getImportanceVector(): Float32Array;
|
|
50
|
+
getAverageImportance(): number;
|
|
51
|
+
serialize(): Buffer;
|
|
52
|
+
deserialize(buffer: Buffer): void;
|
|
53
|
+
reset(): void;
|
|
54
|
+
getUpdateCount(): number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Convert pattern context to text for embedding
|
|
58
|
+
*/
|
|
59
|
+
export declare function contextToText(context: PatternRecommendationContext): string;
|
|
60
|
+
/**
|
|
61
|
+
* Compute gradient between two embeddings
|
|
62
|
+
*/
|
|
63
|
+
export declare function computeGradient(a: Float32Array, b: Float32Array): Float32Array;
|
|
64
|
+
/**
|
|
65
|
+
* Deserialize embedding from buffer
|
|
66
|
+
*/
|
|
67
|
+
export declare function deserializeEmbedding(buffer: Buffer, dimensions: number): Float32Array;
|
|
68
|
+
/**
|
|
69
|
+
* Calculate cosine similarity between two embeddings
|
|
70
|
+
*/
|
|
71
|
+
export declare function cosineSimilarity(a: Float32Array, b: Float32Array): number;
|
|
72
|
+
/**
|
|
73
|
+
* Calculate importance-weighted similarity
|
|
74
|
+
*/
|
|
75
|
+
export declare function importanceWeightedSimilarity(a: Float32Array, b: Float32Array, importance: Float32Array): number;
|
|
76
|
+
/**
|
|
77
|
+
* Calculate pattern importance based on outcome and access patterns
|
|
78
|
+
*/
|
|
79
|
+
export declare function calculatePatternImportance(pattern: StoredPattern, outcome: PatternOutcome): number;
|
|
80
|
+
/**
|
|
81
|
+
* Calculate dimension-based importance using Fisher Information
|
|
82
|
+
*/
|
|
83
|
+
export declare function calculateDimensionImportance(pattern: StoredPattern, importanceVector: Float32Array, dimensions: number, lambda: number): number;
|
|
84
|
+
/**
|
|
85
|
+
* Convert database row to StoredPattern
|
|
86
|
+
*/
|
|
87
|
+
export declare function rowToStoredPattern(row: PatternRow, dimensions: number): StoredPattern;
|
|
88
|
+
//# sourceMappingURL=PatternStore.helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternStore.helpers.d.ts","sourceRoot":"","sources":["../../../src/learning/PatternStore.helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,4BAA4B,EAC5B,aAAa,EACb,cAAc,EACd,UAAU,EACX,MAAM,yBAAyB,CAAA;AAMhC;;GAEG;AACH,eAAO,MAAM,oBAAoB,ooDA4ChC,CAAA;AAMD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7C,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IACpC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,mBAAmB,IAAI,YAAY,CAAA;IACnC,oBAAoB,IAAI,MAAM,CAAA;IAC9B,SAAS,IAAI,MAAM,CAAA;IACnB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,KAAK,IAAI,IAAI,CAAA;IACb,cAAc,IAAI,MAAM,CAAA;CACzB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,uBAAwB,YAAW,wBAAwB;IAU1D,OAAO,CAAC,UAAU;IAT9B,gEAAgE;IAChE,OAAO,CAAC,UAAU,CAAc;IAEhC,qCAAqC;IACrC,OAAO,CAAC,UAAU,CAAc;IAEhC,kCAAkC;IAClC,OAAO,CAAC,WAAW,CAAY;gBAEX,UAAU,EAAE,MAAM;IAKtC,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAI7C,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAapC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAUhC,mBAAmB,IAAI,YAAY;IAInC,oBAAoB,IAAI,MAAM;IAQ9B,SAAS,IAAI,MAAM;IAcnB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwBjC,KAAK,IAAI,IAAI;IAMb,cAAc,IAAI,MAAM;CAGzB;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAoB3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAM9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAMrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAazE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,CAAC,EAAE,YAAY,EACf,CAAC,EAAE,YAAY,EACf,UAAU,EAAE,YAAY,GACvB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,cAAc,GACtB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,YAAY,EAC9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAiBrF"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PatternStore helper classes and utility functions
|
|
3
|
+
* @module @skillsmith/core/learning/PatternStore.helpers
|
|
4
|
+
*
|
|
5
|
+
* Contains FisherInformationMatrix implementation, SQL schema, and utility functions.
|
|
6
|
+
*/
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// SQL Schema
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* SQLite schema for pattern storage
|
|
12
|
+
*/
|
|
13
|
+
export const PATTERN_STORE_SCHEMA = `
|
|
14
|
+
-- Patterns table: stores recommendation patterns with outcomes
|
|
15
|
+
CREATE TABLE IF NOT EXISTS patterns (
|
|
16
|
+
pattern_id TEXT PRIMARY KEY,
|
|
17
|
+
context_embedding BLOB NOT NULL,
|
|
18
|
+
skill_id TEXT NOT NULL,
|
|
19
|
+
skill_features TEXT NOT NULL,
|
|
20
|
+
context_data TEXT NOT NULL,
|
|
21
|
+
outcome_type TEXT NOT NULL,
|
|
22
|
+
outcome_reward REAL NOT NULL,
|
|
23
|
+
importance REAL NOT NULL DEFAULT 0.1,
|
|
24
|
+
original_score REAL NOT NULL,
|
|
25
|
+
source TEXT NOT NULL,
|
|
26
|
+
access_count INTEGER NOT NULL DEFAULT 0,
|
|
27
|
+
created_at INTEGER NOT NULL DEFAULT (unixepoch()),
|
|
28
|
+
last_accessed_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
-- Indexes for efficient queries
|
|
32
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_skill_id ON patterns(skill_id);
|
|
33
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_outcome_type ON patterns(outcome_type);
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_importance ON patterns(importance DESC);
|
|
35
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_created_at ON patterns(created_at DESC);
|
|
36
|
+
|
|
37
|
+
-- Fisher Information matrix state
|
|
38
|
+
CREATE TABLE IF NOT EXISTS fisher_info (
|
|
39
|
+
id INTEGER PRIMARY KEY DEFAULT 1,
|
|
40
|
+
matrix_data BLOB NOT NULL,
|
|
41
|
+
update_count INTEGER NOT NULL DEFAULT 0,
|
|
42
|
+
last_decay_at INTEGER NOT NULL DEFAULT (unixepoch()),
|
|
43
|
+
updated_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
-- Consolidation history for monitoring
|
|
47
|
+
CREATE TABLE IF NOT EXISTS consolidation_history (
|
|
48
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
49
|
+
timestamp INTEGER NOT NULL DEFAULT (unixepoch()),
|
|
50
|
+
patterns_processed INTEGER NOT NULL,
|
|
51
|
+
patterns_preserved INTEGER NOT NULL,
|
|
52
|
+
patterns_pruned INTEGER NOT NULL,
|
|
53
|
+
preservation_rate REAL NOT NULL,
|
|
54
|
+
duration_ms INTEGER NOT NULL,
|
|
55
|
+
average_importance REAL NOT NULL
|
|
56
|
+
);
|
|
57
|
+
`;
|
|
58
|
+
/**
|
|
59
|
+
* Fisher Information Matrix implementation for EWC++
|
|
60
|
+
*
|
|
61
|
+
* Stores diagonal approximation of Fisher Information,
|
|
62
|
+
* indicating which "weights" (pattern dimensions) are important.
|
|
63
|
+
*
|
|
64
|
+
* In the context of pattern storage:
|
|
65
|
+
* - Each dimension of the context embedding has an importance value
|
|
66
|
+
* - High importance = changing this dimension would harm prediction
|
|
67
|
+
* - Low importance = safe to overwrite with new patterns
|
|
68
|
+
*/
|
|
69
|
+
export class FisherInformationMatrix {
|
|
70
|
+
dimensions;
|
|
71
|
+
/** Diagonal of Fisher Information (importance per dimension) */
|
|
72
|
+
importance;
|
|
73
|
+
/** Running sum for online updates */
|
|
74
|
+
runningSum;
|
|
75
|
+
/** Number of updates performed */
|
|
76
|
+
updateCount = 0;
|
|
77
|
+
constructor(dimensions) {
|
|
78
|
+
this.dimensions = dimensions;
|
|
79
|
+
this.importance = new Float32Array(dimensions);
|
|
80
|
+
this.runningSum = new Float32Array(dimensions);
|
|
81
|
+
}
|
|
82
|
+
getImportance(dimensionIndex) {
|
|
83
|
+
return this.importance[dimensionIndex] ?? 0;
|
|
84
|
+
}
|
|
85
|
+
update(gradient) {
|
|
86
|
+
// EWC++: F = decay * F + gradient^2
|
|
87
|
+
for (let i = 0; i < Math.min(gradient.length, this.dimensions); i++) {
|
|
88
|
+
this.runningSum[i] += gradient[i] * gradient[i];
|
|
89
|
+
}
|
|
90
|
+
this.updateCount++;
|
|
91
|
+
// Update importance as running mean
|
|
92
|
+
for (let i = 0; i < this.importance.length; i++) {
|
|
93
|
+
this.importance[i] = this.runningSum[i] / this.updateCount;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
decay(decayFactor) {
|
|
97
|
+
for (let i = 0; i < this.runningSum.length; i++) {
|
|
98
|
+
this.runningSum[i] *= decayFactor;
|
|
99
|
+
}
|
|
100
|
+
// Recalculate importance after decay
|
|
101
|
+
for (let i = 0; i < this.importance.length; i++) {
|
|
102
|
+
this.importance[i] = this.runningSum[i] / Math.max(1, this.updateCount);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
getImportanceVector() {
|
|
106
|
+
return new Float32Array(this.importance);
|
|
107
|
+
}
|
|
108
|
+
getAverageImportance() {
|
|
109
|
+
let sum = 0;
|
|
110
|
+
for (let i = 0; i < this.importance.length; i++) {
|
|
111
|
+
sum += this.importance[i];
|
|
112
|
+
}
|
|
113
|
+
return sum / this.importance.length;
|
|
114
|
+
}
|
|
115
|
+
serialize() {
|
|
116
|
+
const buffer = Buffer.alloc(4 + // updateCount
|
|
117
|
+
4 * this.importance.length + // importance
|
|
118
|
+
4 * this.runningSum.length // runningSum
|
|
119
|
+
);
|
|
120
|
+
buffer.writeUInt32LE(this.updateCount, 0);
|
|
121
|
+
Buffer.from(this.importance.buffer).copy(buffer, 4);
|
|
122
|
+
Buffer.from(this.runningSum.buffer).copy(buffer, 4 + 4 * this.importance.length);
|
|
123
|
+
return buffer;
|
|
124
|
+
}
|
|
125
|
+
deserialize(buffer) {
|
|
126
|
+
const expectedSize = 4 + 4 * this.dimensions * 2;
|
|
127
|
+
if (buffer.length < expectedSize) {
|
|
128
|
+
throw new Error(`Invalid Fisher matrix buffer: expected ${expectedSize} bytes, got ${buffer.length}`);
|
|
129
|
+
}
|
|
130
|
+
this.updateCount = buffer.readUInt32LE(0);
|
|
131
|
+
const importanceOffset = 4;
|
|
132
|
+
const runningSumOffset = 4 + 4 * this.dimensions;
|
|
133
|
+
// Copy importance values
|
|
134
|
+
for (let i = 0; i < this.dimensions; i++) {
|
|
135
|
+
this.importance[i] = buffer.readFloatLE(importanceOffset + i * 4);
|
|
136
|
+
}
|
|
137
|
+
// Copy runningSum values
|
|
138
|
+
for (let i = 0; i < this.dimensions; i++) {
|
|
139
|
+
this.runningSum[i] = buffer.readFloatLE(runningSumOffset + i * 4);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
reset() {
|
|
143
|
+
this.importance.fill(0);
|
|
144
|
+
this.runningSum.fill(0);
|
|
145
|
+
this.updateCount = 0;
|
|
146
|
+
}
|
|
147
|
+
getUpdateCount() {
|
|
148
|
+
return this.updateCount;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// ============================================================================
|
|
152
|
+
// Utility Functions
|
|
153
|
+
// ============================================================================
|
|
154
|
+
/**
|
|
155
|
+
* Convert pattern context to text for embedding
|
|
156
|
+
*/
|
|
157
|
+
export function contextToText(context) {
|
|
158
|
+
const parts = [];
|
|
159
|
+
if (context.installedSkills && context.installedSkills.length > 0) {
|
|
160
|
+
parts.push(`installed: ${context.installedSkills.join(', ')}`);
|
|
161
|
+
}
|
|
162
|
+
if (context.frameworks && context.frameworks.length > 0) {
|
|
163
|
+
parts.push(`frameworks: ${context.frameworks.join(', ')}`);
|
|
164
|
+
}
|
|
165
|
+
if (context.keywords && context.keywords.length > 0) {
|
|
166
|
+
parts.push(`keywords: ${context.keywords.join(', ')}`);
|
|
167
|
+
}
|
|
168
|
+
if (context.timeOfDay) {
|
|
169
|
+
parts.push(`time: ${context.timeOfDay}`);
|
|
170
|
+
}
|
|
171
|
+
if (context.dayType) {
|
|
172
|
+
parts.push(`day: ${context.dayType}`);
|
|
173
|
+
}
|
|
174
|
+
return parts.join(' | ') || 'empty context';
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Compute gradient between two embeddings
|
|
178
|
+
*/
|
|
179
|
+
export function computeGradient(a, b) {
|
|
180
|
+
const gradient = new Float32Array(a.length);
|
|
181
|
+
for (let i = 0; i < a.length; i++) {
|
|
182
|
+
gradient[i] = a[i] - (b[i] ?? 0);
|
|
183
|
+
}
|
|
184
|
+
return gradient;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Deserialize embedding from buffer
|
|
188
|
+
*/
|
|
189
|
+
export function deserializeEmbedding(buffer, dimensions) {
|
|
190
|
+
const floatArray = new Float32Array(dimensions);
|
|
191
|
+
for (let i = 0; i < dimensions; i++) {
|
|
192
|
+
floatArray[i] = buffer.readFloatLE(i * 4);
|
|
193
|
+
}
|
|
194
|
+
return floatArray;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Calculate cosine similarity between two embeddings
|
|
198
|
+
*/
|
|
199
|
+
export function cosineSimilarity(a, b) {
|
|
200
|
+
let dotProduct = 0;
|
|
201
|
+
let normA = 0;
|
|
202
|
+
let normB = 0;
|
|
203
|
+
for (let i = 0; i < a.length; i++) {
|
|
204
|
+
dotProduct += a[i] * b[i];
|
|
205
|
+
normA += a[i] * a[i];
|
|
206
|
+
normB += b[i] * b[i];
|
|
207
|
+
}
|
|
208
|
+
if (normA === 0 || normB === 0)
|
|
209
|
+
return 0;
|
|
210
|
+
return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Calculate importance-weighted similarity
|
|
214
|
+
*/
|
|
215
|
+
export function importanceWeightedSimilarity(a, b, importance) {
|
|
216
|
+
let weightedDotProduct = 0;
|
|
217
|
+
let normA = 0;
|
|
218
|
+
let normB = 0;
|
|
219
|
+
for (let i = 0; i < a.length; i++) {
|
|
220
|
+
const weight = 1 + (importance[i] ?? 0);
|
|
221
|
+
weightedDotProduct += weight * a[i] * b[i];
|
|
222
|
+
normA += weight * a[i] * a[i];
|
|
223
|
+
normB += weight * b[i] * b[i];
|
|
224
|
+
}
|
|
225
|
+
if (normA === 0 || normB === 0)
|
|
226
|
+
return 0;
|
|
227
|
+
return weightedDotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Calculate pattern importance based on outcome and access patterns
|
|
231
|
+
*/
|
|
232
|
+
export function calculatePatternImportance(pattern, outcome) {
|
|
233
|
+
let baseImportance = Math.abs(outcome.reward);
|
|
234
|
+
if (outcome.reward > 0) {
|
|
235
|
+
baseImportance *= 1.5;
|
|
236
|
+
}
|
|
237
|
+
// Recency factor
|
|
238
|
+
const ageInDays = (Date.now() - pattern.createdAt.getTime()) / (24 * 60 * 60 * 1000);
|
|
239
|
+
const recencyFactor = Math.exp(-ageInDays / 30);
|
|
240
|
+
// Access frequency factor
|
|
241
|
+
const accessFactor = 1 + Math.log(1 + pattern.accessCount);
|
|
242
|
+
return baseImportance * recencyFactor * accessFactor * pattern.importance;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Calculate dimension-based importance using Fisher Information
|
|
246
|
+
*/
|
|
247
|
+
export function calculateDimensionImportance(pattern, importanceVector, dimensions, lambda) {
|
|
248
|
+
let baseImportance = Math.abs(pattern.outcome.reward);
|
|
249
|
+
if (pattern.outcome.reward > 0) {
|
|
250
|
+
baseImportance *= 1.5;
|
|
251
|
+
}
|
|
252
|
+
const ageInDays = (Date.now() - pattern.createdAt.getTime()) / (24 * 60 * 60 * 1000);
|
|
253
|
+
const recencyFactor = Math.exp(-ageInDays / 30);
|
|
254
|
+
const accessFactor = 1 + Math.log(1 + pattern.accessCount);
|
|
255
|
+
// Fisher dimension importance (EWC++ core)
|
|
256
|
+
let dimensionImportance = 0;
|
|
257
|
+
for (let i = 0; i < dimensions; i++) {
|
|
258
|
+
dimensionImportance += (importanceVector[i] ?? 0) * Math.abs(pattern.contextEmbedding[i] ?? 0);
|
|
259
|
+
}
|
|
260
|
+
dimensionImportance /= dimensions;
|
|
261
|
+
// Apply lambda regularization: higher lambda = stronger importance preservation
|
|
262
|
+
const lambdaScaled = 1 + (lambda * dimensionImportance) / 10;
|
|
263
|
+
return baseImportance * recencyFactor * accessFactor * lambdaScaled;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Convert database row to StoredPattern
|
|
267
|
+
*/
|
|
268
|
+
export function rowToStoredPattern(row, dimensions) {
|
|
269
|
+
return {
|
|
270
|
+
id: row.pattern_id,
|
|
271
|
+
context: JSON.parse(row.context_data),
|
|
272
|
+
skill: JSON.parse(row.skill_features),
|
|
273
|
+
originalScore: row.original_score,
|
|
274
|
+
source: row.source,
|
|
275
|
+
contextEmbedding: deserializeEmbedding(row.context_embedding, dimensions),
|
|
276
|
+
outcome: {
|
|
277
|
+
type: row.outcome_type,
|
|
278
|
+
reward: row.outcome_reward,
|
|
279
|
+
},
|
|
280
|
+
importance: row.importance,
|
|
281
|
+
accessCount: row.access_count,
|
|
282
|
+
createdAt: new Date(row.created_at * 1000),
|
|
283
|
+
lastAccessedAt: new Date(row.last_accessed_at * 1000),
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=PatternStore.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternStore.helpers.js","sourceRoot":"","sources":["../../../src/learning/PatternStore.helpers.ts"],"names":[],"mappings":"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"}
|