@skillsmith/core 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
- package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
- package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -1
- package/dist/src/analysis/adapters/java-parsers.d.ts +64 -0
- package/dist/src/analysis/adapters/java-parsers.d.ts.map +1 -0
- package/dist/src/analysis/adapters/java-parsers.js +114 -0
- package/dist/src/analysis/adapters/java-parsers.js.map +1 -0
- package/dist/src/analysis/adapters/java.d.ts +1 -51
- package/dist/src/analysis/adapters/java.d.ts.map +1 -1
- package/dist/src/analysis/adapters/java.js +94 -205
- package/dist/src/analysis/adapters/java.js.map +1 -1
- package/dist/src/analysis/adapters/python-frameworks.d.ts +21 -0
- package/dist/src/analysis/adapters/python-frameworks.d.ts.map +1 -0
- package/dist/src/analysis/adapters/python-frameworks.js +86 -0
- package/dist/src/analysis/adapters/python-frameworks.js.map +1 -0
- package/dist/src/analysis/adapters/python.d.ts +0 -50
- package/dist/src/analysis/adapters/python.d.ts.map +1 -1
- package/dist/src/analysis/adapters/python.js +5 -120
- package/dist/src/analysis/adapters/python.js.map +1 -1
- package/dist/src/analysis/adapters/rust-parsers.d.ts +33 -0
- package/dist/src/analysis/adapters/rust-parsers.d.ts.map +1 -0
- package/dist/src/analysis/adapters/rust-parsers.js +94 -0
- package/dist/src/analysis/adapters/rust-parsers.js.map +1 -0
- package/dist/src/analysis/adapters/rust.d.ts +1 -43
- package/dist/src/analysis/adapters/rust.d.ts.map +1 -1
- package/dist/src/analysis/adapters/rust.js +74 -173
- package/dist/src/analysis/adapters/rust.js.map +1 -1
- package/dist/src/analysis/language-detector.d.ts +4 -20
- package/dist/src/analysis/language-detector.d.ts.map +1 -1
- package/dist/src/analysis/language-detector.js +2 -399
- package/dist/src/analysis/language-detector.js.map +1 -1
- 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/metrics.d.ts +22 -219
- package/dist/src/analysis/metrics.d.ts.map +1 -1
- 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 +21 -224
- package/dist/src/analysis/metrics.js.map +1 -1
- 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/worker-pool.d.ts +25 -52
- package/dist/src/analysis/worker-pool.d.ts.map +1 -1
- package/dist/src/analysis/worker-pool.js +29 -181
- package/dist/src/analysis/worker-pool.js.map +1 -1
- package/dist/src/analysis/worker-types.d.ts +64 -0
- package/dist/src/analysis/worker-types.d.ts.map +1 -0
- package/dist/src/analysis/worker-types.js +11 -0
- package/dist/src/analysis/worker-types.js.map +1 -0
- package/dist/src/analysis/worker-utils.d.ts +49 -0
- package/dist/src/analysis/worker-utils.d.ts.map +1 -0
- package/dist/src/analysis/worker-utils.js +206 -0
- package/dist/src/analysis/worker-utils.js.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.d.ts +1 -5
- package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
- package/dist/src/analytics/AnalyticsRepository.helpers.d.ts +28 -0
- package/dist/src/analytics/AnalyticsRepository.helpers.d.ts.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.helpers.js +90 -0
- package/dist/src/analytics/AnalyticsRepository.helpers.js.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.js +16 -129
- package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
- package/dist/src/analytics/AnalyticsRepository.types.d.ts +82 -0
- package/dist/src/analytics/AnalyticsRepository.types.d.ts.map +1 -0
- package/dist/src/analytics/AnalyticsRepository.types.js +8 -0
- package/dist/src/analytics/AnalyticsRepository.types.js.map +1 -0
- package/dist/src/analytics/ROIDashboardService.js +4 -2
- package/dist/src/analytics/ROIDashboardService.js.map +1 -1
- package/dist/src/api/cache.d.ts.map +1 -1
- package/dist/src/api/cache.js.map +1 -1
- package/dist/src/api/client.d.ts +6 -121
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.js +29 -129
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/schemas.d.ts +122 -0
- package/dist/src/api/schemas.d.ts.map +1 -0
- package/dist/src/api/schemas.js +71 -0
- package/dist/src/api/schemas.js.map +1 -0
- package/dist/src/api/types.d.ts +1 -1
- package/dist/src/api/types.d.ts.map +1 -1
- package/dist/src/api/utils.d.ts +35 -0
- package/dist/src/api/utils.d.ts.map +1 -0
- package/dist/src/api/utils.js +86 -0
- package/dist/src/api/utils.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/billing/BillingService.d.ts +15 -53
- package/dist/src/billing/BillingService.d.ts.map +1 -1
- 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 +49 -179
- package/dist/src/billing/BillingService.js.map +1 -1
- 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 +2 -97
- package/dist/src/billing/GDPRComplianceService.d.ts.map +1 -1
- package/dist/src/billing/GDPRComplianceService.js.map +1 -1
- package/dist/src/billing/StripeClient.d.ts +6 -64
- package/dist/src/billing/StripeClient.d.ts.map +1 -1
- package/dist/src/billing/StripeClient.js +14 -71
- package/dist/src/billing/StripeClient.js.map +1 -1
- package/dist/src/billing/StripeReconciliationJob.d.ts +2 -47
- package/dist/src/billing/StripeReconciliationJob.d.ts.map +1 -1
- package/dist/src/billing/StripeReconciliationJob.js +1 -41
- package/dist/src/billing/StripeReconciliationJob.js.map +1 -1
- package/dist/src/billing/StripeWebhookHandler.d.ts +3 -46
- package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -1
- package/dist/src/billing/StripeWebhookHandler.js +14 -261
- package/dist/src/billing/StripeWebhookHandler.js.map +1 -1
- package/dist/src/billing/gdpr-types.d.ts +103 -0
- package/dist/src/billing/gdpr-types.d.ts.map +1 -0
- package/dist/src/billing/gdpr-types.js +7 -0
- package/dist/src/billing/gdpr-types.js.map +1 -0
- package/dist/src/billing/reconciliation-helpers.d.ts +16 -0
- package/dist/src/billing/reconciliation-helpers.d.ts.map +1 -0
- package/dist/src/billing/reconciliation-helpers.js +53 -0
- package/dist/src/billing/reconciliation-helpers.js.map +1 -0
- package/dist/src/billing/reconciliation-types.d.ts +71 -0
- package/dist/src/billing/reconciliation-types.d.ts.map +1 -0
- package/dist/src/billing/reconciliation-types.js +7 -0
- package/dist/src/billing/reconciliation-types.js.map +1 -0
- package/dist/src/billing/stripe-client-types.d.ts +45 -0
- package/dist/src/billing/stripe-client-types.d.ts.map +1 -0
- package/dist/src/billing/stripe-client-types.js +7 -0
- package/dist/src/billing/stripe-client-types.js.map +1 -0
- package/dist/src/billing/stripe-helpers.d.ts +17 -0
- package/dist/src/billing/stripe-helpers.d.ts.map +1 -0
- package/dist/src/billing/stripe-helpers.js +50 -0
- package/dist/src/billing/stripe-helpers.js.map +1 -0
- package/dist/src/billing/webhook-handlers.d.ts +56 -0
- package/dist/src/billing/webhook-handlers.d.ts.map +1 -0
- package/dist/src/billing/webhook-handlers.js +303 -0
- package/dist/src/billing/webhook-handlers.js.map +1 -0
- package/dist/src/billing/webhook-types.d.ts +42 -0
- package/dist/src/billing/webhook-types.d.ts.map +1 -0
- package/dist/src/billing/webhook-types.js +7 -0
- package/dist/src/billing/webhook-types.js.map +1 -0
- package/dist/src/config/index.d.ts +118 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +172 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/db/migration-types.d.ts +101 -0
- package/dist/src/db/migration-types.d.ts.map +1 -0
- package/dist/src/db/migration-types.js +6 -0
- package/dist/src/db/migration-types.js.map +1 -0
- package/dist/src/db/migration.d.ts +32 -0
- package/dist/src/db/migration.d.ts.map +1 -0
- package/dist/src/db/migration.js +239 -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 +23 -1
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/embeddings/embedding-types.d.ts +44 -0
- package/dist/src/embeddings/embedding-types.d.ts.map +1 -0
- package/dist/src/embeddings/embedding-types.js +6 -0
- package/dist/src/embeddings/embedding-types.js.map +1 -0
- package/dist/src/embeddings/embedding-utils.d.ts +42 -0
- package/dist/src/embeddings/embedding-utils.d.ts.map +1 -0
- package/dist/src/embeddings/embedding-utils.js +121 -0
- package/dist/src/embeddings/embedding-utils.js.map +1 -0
- package/dist/src/embeddings/hnsw-store.d.ts +8 -518
- package/dist/src/embeddings/hnsw-store.d.ts.map +1 -1
- 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 +66 -517
- package/dist/src/embeddings/hnsw-store.js.map +1 -1
- 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 +36 -112
- package/dist/src/embeddings/index.d.ts.map +1 -1
- package/dist/src/embeddings/index.js +37 -210
- package/dist/src/embeddings/index.js.map +1 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +1 -1
- package/dist/src/errors.js.map +1 -1
- package/dist/src/exports/repositories.d.ts +18 -0
- package/dist/src/exports/repositories.d.ts.map +1 -0
- package/dist/src/exports/repositories.js +30 -0
- package/dist/src/exports/repositories.js.map +1 -0
- package/dist/src/exports/services.d.ts +30 -0
- package/dist/src/exports/services.d.ts.map +1 -0
- package/dist/src/exports/services.js +70 -0
- package/dist/src/exports/services.js.map +1 -0
- package/dist/src/exports/types.d.ts +21 -0
- package/dist/src/exports/types.d.ts.map +1 -0
- package/dist/src/exports/types.js +12 -0
- package/dist/src/exports/types.js.map +1 -0
- package/dist/src/index.d.ts +10 -47
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +31 -48
- 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 +6 -426
- package/dist/src/learning/PatternStore.d.ts.map +1 -1
- 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 +52 -598
- package/dist/src/learning/PatternStore.js.map +1 -1
- 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 +5 -345
- package/dist/src/learning/ReasoningBankIntegration.d.ts.map +1 -1
- 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 +21 -390
- package/dist/src/learning/ReasoningBankIntegration.js.map +1 -1
- 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/interfaces.d.ts.map +1 -1
- package/dist/src/pipeline/DailyIndexPipeline.d.ts +4 -176
- package/dist/src/pipeline/DailyIndexPipeline.d.ts.map +1 -1
- package/dist/src/pipeline/DailyIndexPipeline.js +9 -83
- package/dist/src/pipeline/DailyIndexPipeline.js.map +1 -1
- package/dist/src/pipeline/pipeline-types.d.ts +132 -0
- package/dist/src/pipeline/pipeline-types.d.ts.map +1 -0
- package/dist/src/pipeline/pipeline-types.js +6 -0
- package/dist/src/pipeline/pipeline-types.js.map +1 -0
- 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 +6 -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 +20 -5
- package/dist/src/repositories/SkillRepository.js.map +1 -1
- package/dist/src/routing/SONARouter.d.ts +3 -101
- package/dist/src/routing/SONARouter.d.ts.map +1 -1
- 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 +16 -318
- package/dist/src/routing/SONARouter.js.map +1 -1
- package/dist/src/routing/expert-types.d.ts +109 -0
- package/dist/src/routing/expert-types.d.ts.map +1 -0
- package/dist/src/routing/expert-types.js +162 -0
- package/dist/src/routing/expert-types.js.map +1 -0
- package/dist/src/routing/request-types.d.ts +113 -0
- package/dist/src/routing/request-types.d.ts.map +1 -0
- package/dist/src/routing/request-types.js +9 -0
- package/dist/src/routing/request-types.js.map +1 -0
- package/dist/src/routing/types.d.ts +5 -207
- package/dist/src/routing/types.d.ts.map +1 -1
- package/dist/src/routing/types.js +3 -153
- package/dist/src/routing/types.js.map +1 -1
- package/dist/src/scripts/github-import/github-auth.d.ts +17 -0
- package/dist/src/scripts/github-import/github-auth.d.ts.map +1 -0
- package/dist/src/scripts/github-import/github-auth.js +201 -0
- package/dist/src/scripts/github-import/github-auth.js.map +1 -0
- package/dist/src/scripts/github-import/github-client.d.ts +5 -5
- package/dist/src/scripts/github-import/github-client.d.ts.map +1 -1
- package/dist/src/scripts/github-import/github-client.js +5 -204
- package/dist/src/scripts/github-import/github-client.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 +5 -27
- package/dist/src/scripts/merge-skills.d.ts.map +1 -1
- package/dist/src/scripts/merge-skills.js +4 -144
- package/dist/src/scripts/merge-skills.js.map +1 -1
- package/dist/src/scripts/merge-types.d.ts +72 -0
- package/dist/src/scripts/merge-types.d.ts.map +1 -0
- package/dist/src/scripts/merge-types.js +7 -0
- package/dist/src/scripts/merge-types.js.map +1 -0
- package/dist/src/scripts/merge-utils.d.ts +23 -0
- package/dist/src/scripts/merge-utils.d.ts.map +1 -0
- package/dist/src/scripts/merge-utils.js +150 -0
- package/dist/src/scripts/merge-utils.js.map +1 -0
- package/dist/src/scripts/review-categories.d.ts +41 -0
- package/dist/src/scripts/review-categories.d.ts.map +1 -0
- package/dist/src/scripts/review-categories.js +316 -0
- package/dist/src/scripts/review-categories.js.map +1 -0
- package/dist/src/scripts/review-lenny-skills.d.ts +26 -0
- package/dist/src/scripts/review-lenny-skills.d.ts.map +1 -0
- package/dist/src/scripts/review-lenny-skills.js +215 -0
- package/dist/src/scripts/review-lenny-skills.js.map +1 -0
- 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/security/AuditLogger.d.ts +4 -75
- package/dist/src/security/AuditLogger.d.ts.map +1 -1
- package/dist/src/security/AuditLogger.js +3 -12
- package/dist/src/security/AuditLogger.js.map +1 -1
- package/dist/src/security/__tests__/pathValidation.test.js.map +1 -1
- package/dist/src/security/audit-types.d.ts +96 -0
- package/dist/src/security/audit-types.d.ts.map +1 -0
- package/dist/src/security/audit-types.js +15 -0
- package/dist/src/security/audit-types.js.map +1 -0
- package/dist/src/security/sanitization.d.ts +1 -85
- package/dist/src/security/sanitization.d.ts.map +1 -1
- package/dist/src/security/sanitization.js +2 -133
- package/dist/src/security/sanitization.js.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.d.ts +12 -88
- 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 +26 -255
- package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
- package/dist/src/security/stripe-validators.d.ts +92 -0
- package/dist/src/security/stripe-validators.d.ts.map +1 -0
- package/dist/src/security/stripe-validators.js +139 -0
- package/dist/src/security/stripe-validators.js.map +1 -0
- package/dist/src/services/SearchService.d.ts +5 -29
- package/dist/src/services/SearchService.d.ts.map +1 -1
- package/dist/src/services/SearchService.helpers.d.ts +42 -0
- package/dist/src/services/SearchService.helpers.d.ts.map +1 -0
- package/dist/src/services/SearchService.helpers.js +128 -0
- package/dist/src/services/SearchService.helpers.js.map +1 -0
- package/dist/src/services/SearchService.js +142 -128
- package/dist/src/services/SearchService.js.map +1 -1
- package/dist/src/services/SearchService.types.d.ts +53 -0
- package/dist/src/services/SearchService.types.d.ts.map +1 -0
- package/dist/src/services/SearchService.types.js +7 -0
- package/dist/src/services/SearchService.types.js.map +1 -0
- package/dist/src/services/SkillAnalyzer.d.ts +37 -0
- package/dist/src/services/SkillAnalyzer.d.ts.map +1 -0
- package/dist/src/services/SkillAnalyzer.helpers.d.ts +103 -0
- package/dist/src/services/SkillAnalyzer.helpers.d.ts.map +1 -0
- package/dist/src/services/SkillAnalyzer.helpers.js +237 -0
- package/dist/src/services/SkillAnalyzer.helpers.js.map +1 -0
- package/dist/src/services/SkillAnalyzer.js +270 -0
- package/dist/src/services/SkillAnalyzer.js.map +1 -0
- package/dist/src/services/SkillAnalyzer.types.d.ts +110 -0
- package/dist/src/services/SkillAnalyzer.types.d.ts.map +1 -0
- package/dist/src/services/SkillAnalyzer.types.js +9 -0
- package/dist/src/services/SkillAnalyzer.types.js.map +1 -0
- package/dist/src/services/SkillDecomposer.d.ts +37 -0
- package/dist/src/services/SkillDecomposer.d.ts.map +1 -0
- package/dist/src/services/SkillDecomposer.helpers.d.ts +75 -0
- package/dist/src/services/SkillDecomposer.helpers.d.ts.map +1 -0
- package/dist/src/services/SkillDecomposer.helpers.js +277 -0
- package/dist/src/services/SkillDecomposer.helpers.js.map +1 -0
- package/dist/src/services/SkillDecomposer.js +116 -0
- package/dist/src/services/SkillDecomposer.js.map +1 -0
- package/dist/src/services/SkillDecomposer.types.d.ts +104 -0
- package/dist/src/services/SkillDecomposer.types.d.ts.map +1 -0
- package/dist/src/services/SkillDecomposer.types.js +9 -0
- package/dist/src/services/SkillDecomposer.types.js.map +1 -0
- package/dist/src/services/SubagentGenerator.d.ts +77 -0
- package/dist/src/services/SubagentGenerator.d.ts.map +1 -0
- package/dist/src/services/SubagentGenerator.js +352 -0
- package/dist/src/services/SubagentGenerator.js.map +1 -0
- package/dist/src/services/TaskRunner.d.ts +227 -0
- package/dist/src/services/TaskRunner.d.ts.map +1 -0
- package/dist/src/services/TaskRunner.js +423 -0
- package/dist/src/services/TaskRunner.js.map +1 -0
- package/dist/src/services/TransformationService.d.ts +167 -0
- package/dist/src/services/TransformationService.d.ts.map +1 -0
- package/dist/src/services/TransformationService.js +315 -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__/TaskRunner.test.d.ts +7 -0
- package/dist/src/services/__tests__/TaskRunner.test.d.ts.map +1 -0
- package/dist/src/services/__tests__/TaskRunner.test.js +316 -0
- package/dist/src/services/__tests__/TaskRunner.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 +244 -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/SessionManager.d.ts +3 -67
- 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 +58 -163
- 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/telemetry/metric-helpers.d.ts +47 -0
- package/dist/src/telemetry/metric-helpers.d.ts.map +1 -0
- package/dist/src/telemetry/metric-helpers.js +96 -0
- package/dist/src/telemetry/metric-helpers.js.map +1 -0
- package/dist/src/telemetry/metric-types.d.ts +73 -0
- package/dist/src/telemetry/metric-types.d.ts.map +1 -0
- package/dist/src/telemetry/metric-types.js +9 -0
- package/dist/src/telemetry/metric-types.js.map +1 -0
- package/dist/src/telemetry/metrics.d.ts +8 -119
- package/dist/src/telemetry/metrics.d.ts.map +1 -1
- package/dist/src/telemetry/metrics.js +20 -193
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/span-utils.d.ts +30 -0
- package/dist/src/telemetry/span-utils.d.ts.map +1 -0
- package/dist/src/telemetry/span-utils.js +62 -0
- package/dist/src/telemetry/span-utils.js.map +1 -0
- package/dist/src/telemetry/tracer-types.d.ts +91 -0
- package/dist/src/telemetry/tracer-types.d.ts.map +1 -0
- package/dist/src/telemetry/tracer-types.js +6 -0
- package/dist/src/telemetry/tracer-types.js.map +1 -0
- package/dist/src/telemetry/tracer.d.ts +5 -122
- package/dist/src/telemetry/tracer.d.ts.map +1 -1
- package/dist/src/telemetry/tracer.js +24 -170
- package/dist/src/telemetry/tracer.js.map +1 -1
- package/dist/src/testing/MultiLLMProvider.d.ts +17 -293
- package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
- 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 +50 -323
- package/dist/src/testing/MultiLLMProvider.js.map +1 -1
- 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/triggers/TriggerDetector.d.ts +6 -142
- package/dist/src/triggers/TriggerDetector.d.ts.map +1 -1
- package/dist/src/triggers/TriggerDetector.js +15 -247
- package/dist/src/triggers/TriggerDetector.js.map +1 -1
- package/dist/src/triggers/__tests__/TriggerDetector.test.js +1 -1
- package/dist/src/triggers/__tests__/TriggerDetector.test.js.map +1 -1
- package/dist/src/triggers/trigger-constants.d.ts +22 -0
- package/dist/src/triggers/trigger-constants.d.ts.map +1 -0
- package/dist/src/triggers/trigger-constants.js +185 -0
- package/dist/src/triggers/trigger-constants.js.map +1 -0
- package/dist/src/triggers/trigger-types.d.ts +90 -0
- package/dist/src/triggers/trigger-types.d.ts.map +1 -0
- package/dist/src/triggers/trigger-types.js +6 -0
- package/dist/src/triggers/trigger-types.js.map +1 -0
- package/dist/src/types/skill.d.ts +33 -1
- 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 +28 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -0
- 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.d.ts +5 -105
- package/dist/src/validation/index.d.ts.map +1 -1
- package/dist/src/validation/index.js +9 -421
- package/dist/src/validation/index.js.map +1 -1
- package/dist/src/validation/input-validators.d.ts +68 -0
- package/dist/src/validation/input-validators.d.ts.map +1 -0
- package/dist/src/validation/input-validators.js +126 -0
- package/dist/src/validation/input-validators.js.map +1 -0
- package/dist/src/validation/path-validators.d.ts +23 -0
- package/dist/src/validation/path-validators.d.ts.map +1 -0
- package/dist/src/validation/path-validators.js +47 -0
- package/dist/src/validation/path-validators.js.map +1 -0
- package/dist/src/validation/url-validators.d.ts +55 -0
- package/dist/src/validation/url-validators.d.ts.map +1 -0
- package/dist/src/validation/url-validators.js +267 -0
- package/dist/src/validation/url-validators.js.map +1 -0
- package/dist/src/validation/validation-error.d.ts +14 -0
- package/dist/src/validation/validation-error.d.ts.map +1 -0
- package/dist/src/validation/validation-error.js +19 -0
- package/dist/src/validation/validation-error.js.map +1 -0
- package/dist/src/webhooks/WebhookHandler.d.ts.map +1 -1
- package/dist/src/webhooks/WebhookHandler.js.map +1 -1
- package/dist/src/webhooks/WebhookPayload.d.ts +4 -215
- package/dist/src/webhooks/WebhookPayload.d.ts.map +1 -1
- package/dist/src/webhooks/WebhookPayload.js +1 -122
- package/dist/src/webhooks/WebhookPayload.js.map +1 -1
- package/dist/src/webhooks/WebhookQueue.d.ts +2 -140
- package/dist/src/webhooks/WebhookQueue.d.ts.map +1 -1
- package/dist/src/webhooks/WebhookQueue.js +4 -11
- package/dist/src/webhooks/WebhookQueue.js.map +1 -1
- package/dist/src/webhooks/WebhookQueue.types.d.ts +149 -0
- package/dist/src/webhooks/WebhookQueue.types.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookQueue.types.js +10 -0
- package/dist/src/webhooks/WebhookQueue.types.js.map +1 -0
- package/dist/src/webhooks/WebhookQueue.utils.d.ts +44 -0
- package/dist/src/webhooks/WebhookQueue.utils.d.ts.map +1 -0
- package/dist/src/webhooks/WebhookQueue.utils.js +58 -0
- package/dist/src/webhooks/WebhookQueue.utils.js.map +1 -0
- package/dist/src/webhooks/webhook-schemas.d.ts +213 -0
- package/dist/src/webhooks/webhook-schemas.d.ts.map +1 -0
- package/dist/src/webhooks/webhook-schemas.js +132 -0
- package/dist/src/webhooks/webhook-schemas.js.map +1 -0
- package/dist/src/webhooks/webhook-types.d.ts +222 -0
- package/dist/src/webhooks/webhook-types.d.ts.map +1 -0
- package/dist/src/webhooks/webhook-types.js +10 -0
- package/dist/src/webhooks/webhook-types.js.map +1 -0
- 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 +4 -4
- 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/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/neural-fixtures.d.ts +19 -0
- package/dist/tests/integration/neural/neural-fixtures.d.ts.map +1 -0
- package/dist/tests/integration/neural/neural-fixtures.js +49 -0
- package/dist/tests/integration/neural/neural-fixtures.js.map +1 -0
- package/dist/tests/integration/neural/neural-mocks-privacy.d.ts +78 -0
- package/dist/tests/integration/neural/neural-mocks-privacy.d.ts.map +1 -0
- package/dist/tests/integration/neural/neural-mocks-privacy.js +146 -0
- package/dist/tests/integration/neural/neural-mocks-privacy.js.map +1 -0
- package/dist/tests/integration/neural/neural-mocks.d.ts +90 -0
- package/dist/tests/integration/neural/neural-mocks.d.ts.map +1 -0
- package/dist/tests/integration/neural/neural-mocks.js +288 -0
- package/dist/tests/integration/neural/neural-mocks.js.map +1 -0
- package/dist/tests/integration/neural/neural-test-utils.d.ts +27 -0
- package/dist/tests/integration/neural/neural-test-utils.d.ts.map +1 -0
- package/dist/tests/integration/neural/neural-test-utils.js +35 -0
- package/dist/tests/integration/neural/neural-test-utils.js.map +1 -0
- package/dist/tests/integration/neural/setup.d.ts +6 -165
- package/dist/tests/integration/neural/setup.d.ts.map +1 -1
- package/dist/tests/integration/neural/setup.js +9 -477
- package/dist/tests/integration/neural/setup.js.map +1 -1
- 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/sanitization.test.js.map +1 -1
- 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/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 +11 -11
|
@@ -5,176 +5,13 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Provides integration between Skillsmith's signal collection and
|
|
7
7
|
* Claude-Flow V3's ReasoningBank for pattern storage and learning.
|
|
8
|
-
*
|
|
9
|
-
* Responsibilities:
|
|
10
|
-
* - Convert user signals to ReasoningBank trajectories
|
|
11
|
-
* - Store learned patterns in V3's pattern storage
|
|
12
|
-
* - Query learned confidence scores (verdicts)
|
|
13
|
-
* - Maintain backwards compatibility with existing signal storage
|
|
14
8
|
*/
|
|
15
9
|
import type { ISignalCollector } from './interfaces.js';
|
|
16
10
|
import type { SignalEvent, SignalFilter, RecommendationContext, SignalMetadata, DismissReason } from './types.js';
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export interface IntelligenceConfig {
|
|
22
|
-
/** Path to pattern storage database */
|
|
23
|
-
storagePath?: string;
|
|
24
|
-
/** Enable neural pattern training */
|
|
25
|
-
enableNeural?: boolean;
|
|
26
|
-
/** Maximum patterns to retain */
|
|
27
|
-
maxPatterns?: number;
|
|
28
|
-
/** Similarity threshold for pattern matching */
|
|
29
|
-
similarityThreshold?: number;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* A single step in a reasoning trajectory
|
|
33
|
-
*/
|
|
34
|
-
export interface TrajectoryStep {
|
|
35
|
-
/** Step identifier */
|
|
36
|
-
id: string;
|
|
37
|
-
/** Action taken (e.g., 'recommend', 'user_action') */
|
|
38
|
-
action: string;
|
|
39
|
-
/** Observation or context at this step */
|
|
40
|
-
observation: string;
|
|
41
|
-
/** Reward signal for this step */
|
|
42
|
-
reward: number;
|
|
43
|
-
/** Additional metadata */
|
|
44
|
-
metadata?: Record<string, unknown>;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Verdict judgment for a trajectory
|
|
48
|
-
*/
|
|
49
|
-
export interface TrajectoryVerdict {
|
|
50
|
-
/** Overall success/failure */
|
|
51
|
-
success: boolean;
|
|
52
|
-
/** Confidence score [0-1] */
|
|
53
|
-
confidence: number;
|
|
54
|
-
/** Reasoning for the verdict */
|
|
55
|
-
reasoning?: string;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Pattern returned from similarity search
|
|
59
|
-
*/
|
|
60
|
-
export interface SimilarPattern {
|
|
61
|
-
/** Pattern identifier */
|
|
62
|
-
id: string;
|
|
63
|
-
/** Similarity score [0-1] */
|
|
64
|
-
similarity: number;
|
|
65
|
-
/** Associated trajectory steps */
|
|
66
|
-
trajectory: TrajectoryStep[];
|
|
67
|
-
/** Stored verdict */
|
|
68
|
-
verdict: TrajectoryVerdict;
|
|
69
|
-
/** Pattern metadata */
|
|
70
|
-
metadata?: Record<string, unknown>;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Options for pattern search
|
|
74
|
-
*/
|
|
75
|
-
export interface PatternSearchOptions {
|
|
76
|
-
/** Maximum results to return */
|
|
77
|
-
limit?: number;
|
|
78
|
-
/** Minimum similarity threshold */
|
|
79
|
-
minSimilarity?: number;
|
|
80
|
-
/** Filter by action type */
|
|
81
|
-
actionFilter?: string;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* V3 ReasoningBank instance interface
|
|
85
|
-
*/
|
|
86
|
-
export interface IReasoningBank {
|
|
87
|
-
/** Record a trajectory with verdict */
|
|
88
|
-
recordTrajectory(steps: TrajectoryStep[], verdict: TrajectoryVerdict): Promise<string>;
|
|
89
|
-
/** Find similar patterns to a query */
|
|
90
|
-
findSimilarPatterns(query: string, options?: PatternSearchOptions): Promise<SimilarPattern[]>;
|
|
91
|
-
/** Get pattern by ID */
|
|
92
|
-
getPattern(id: string): Promise<SimilarPattern | null>;
|
|
93
|
-
/** Clear all patterns */
|
|
94
|
-
clear(): Promise<void>;
|
|
95
|
-
/** Get total pattern count */
|
|
96
|
-
getPatternCount(): Promise<number>;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Reward values for different user actions
|
|
100
|
-
* These map user signals to trajectory rewards for reinforcement learning
|
|
101
|
-
*/
|
|
102
|
-
export declare const TRAJECTORY_REWARDS: {
|
|
103
|
-
/** User accepted recommendation - positive signal */
|
|
104
|
-
readonly ACCEPT: 1;
|
|
105
|
-
/** User dismissed recommendation - mild negative signal */
|
|
106
|
-
readonly DISMISS: -0.5;
|
|
107
|
-
/** User actively uses skill - reinforcement signal */
|
|
108
|
-
readonly USAGE: 0.3;
|
|
109
|
-
/** Skill abandoned (installed but unused) - negative signal */
|
|
110
|
-
readonly ABANDONMENT: -0.3;
|
|
111
|
-
/** User uninstalled skill - strong negative signal */
|
|
112
|
-
readonly UNINSTALL: -0.7;
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* Verdict confidence thresholds
|
|
116
|
-
*/
|
|
117
|
-
export declare const CONFIDENCE_THRESHOLDS: {
|
|
118
|
-
/** High confidence - strong signal pattern */
|
|
119
|
-
readonly HIGH: 0.8;
|
|
120
|
-
/** Medium confidence - moderate signal pattern */
|
|
121
|
-
readonly MEDIUM: 0.5;
|
|
122
|
-
/** Low confidence - weak signal pattern */
|
|
123
|
-
readonly LOW: 0.3;
|
|
124
|
-
/** Minimum for personalization */
|
|
125
|
-
readonly MINIMUM: 0.1;
|
|
126
|
-
};
|
|
127
|
-
/**
|
|
128
|
-
* Result from querying learned confidence for a skill
|
|
129
|
-
*/
|
|
130
|
-
export interface SkillVerdict {
|
|
131
|
-
/** Skill identifier */
|
|
132
|
-
skillId: string;
|
|
133
|
-
/** Learned confidence score [-1, 1] where positive = likely to be accepted */
|
|
134
|
-
confidence: number;
|
|
135
|
-
/** Number of patterns used to derive confidence */
|
|
136
|
-
patternCount: number;
|
|
137
|
-
/** Whether enough data exists for confident prediction */
|
|
138
|
-
hasEnoughData: boolean;
|
|
139
|
-
/** Breakdown of signals contributing to verdict */
|
|
140
|
-
signalBreakdown?: {
|
|
141
|
-
accepts: number;
|
|
142
|
-
dismisses: number;
|
|
143
|
-
usages: number;
|
|
144
|
-
abandonments: number;
|
|
145
|
-
uninstalls: number;
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Batch verdict query result
|
|
150
|
-
*/
|
|
151
|
-
export interface BatchVerdictResult {
|
|
152
|
-
/** Individual skill verdicts */
|
|
153
|
-
verdicts: SkillVerdict[];
|
|
154
|
-
/** Total patterns searched */
|
|
155
|
-
totalPatterns: number;
|
|
156
|
-
/** Query latency in milliseconds */
|
|
157
|
-
latencyMs: number;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Configuration for ReasoningBankIntegration
|
|
161
|
-
*/
|
|
162
|
-
export interface ReasoningBankIntegrationConfig {
|
|
163
|
-
/** V3 intelligence module configuration */
|
|
164
|
-
intelligenceConfig?: IntelligenceConfig;
|
|
165
|
-
/** Underlying signal collector for backwards compatibility */
|
|
166
|
-
signalCollector?: ISignalCollector;
|
|
167
|
-
/** Enable dual-write to both ReasoningBank and legacy storage */
|
|
168
|
-
enableDualWrite?: boolean;
|
|
169
|
-
/** Minimum patterns required for confident verdict */
|
|
170
|
-
minPatternsForVerdict?: number;
|
|
171
|
-
/** Similarity threshold for pattern matching */
|
|
172
|
-
patternSimilarityThreshold?: number;
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Default configuration values
|
|
176
|
-
*/
|
|
177
|
-
export declare const DEFAULT_CONFIG: Required<ReasoningBankIntegrationConfig>;
|
|
11
|
+
export type { IntelligenceConfig, TrajectoryStep, TrajectoryVerdict, SimilarPattern, PatternSearchOptions, IReasoningBank, SkillVerdict, BatchVerdictResult, ReasoningBankIntegrationConfig, } from './ReasoningBankIntegration.types.js';
|
|
12
|
+
export { TRAJECTORY_REWARDS, CONFIDENCE_THRESHOLDS, DEFAULT_CONFIG, } from './ReasoningBankIntegration.types.js';
|
|
13
|
+
export { hasConfidentVerdict, indicatesPreference, indicatesRejection, } from './ReasoningBankIntegration.helpers.js';
|
|
14
|
+
import type { SkillVerdict, BatchVerdictResult, ReasoningBankIntegrationConfig } from './ReasoningBankIntegration.types.js';
|
|
178
15
|
/**
|
|
179
16
|
* ReasoningBankIntegration bridges Skillsmith's learning loop with V3's intelligence module.
|
|
180
17
|
*
|
|
@@ -186,19 +23,14 @@ export declare const DEFAULT_CONFIG: Required<ReasoningBankIntegrationConfig>;
|
|
|
186
23
|
*
|
|
187
24
|
* @example
|
|
188
25
|
* ```typescript
|
|
189
|
-
* // Initialize with V3 ReasoningBank
|
|
190
26
|
* const integration = new ReasoningBankIntegration({
|
|
191
27
|
* intelligenceConfig: { enableNeural: true },
|
|
192
|
-
* enableDualWrite: true,
|
|
28
|
+
* enableDualWrite: true,
|
|
193
29
|
* })
|
|
194
30
|
* await integration.initialize()
|
|
195
31
|
*
|
|
196
|
-
* // Record signals (automatically converts to trajectories)
|
|
197
32
|
* await integration.recordAccept('anthropic/commit', context)
|
|
198
|
-
*
|
|
199
|
-
* // Query learned confidence
|
|
200
33
|
* const verdict = await integration.getVerdict('anthropic/commit')
|
|
201
|
-
* console.log(verdict.confidence) // 0.85 = likely to be accepted
|
|
202
34
|
* ```
|
|
203
35
|
*/
|
|
204
36
|
export declare class ReasoningBankIntegration implements ISignalCollector {
|
|
@@ -206,198 +38,26 @@ export declare class ReasoningBankIntegration implements ISignalCollector {
|
|
|
206
38
|
private reasoningBank;
|
|
207
39
|
private legacyCollector;
|
|
208
40
|
private initialized;
|
|
209
|
-
/**
|
|
210
|
-
* Creates a new ReasoningBankIntegration instance
|
|
211
|
-
*
|
|
212
|
-
* @param config - Integration configuration
|
|
213
|
-
*/
|
|
214
41
|
constructor(config?: ReasoningBankIntegrationConfig);
|
|
215
|
-
/**
|
|
216
|
-
* Initialize the integration with V3 ReasoningBank
|
|
217
|
-
*
|
|
218
|
-
* Must be called before using any signal recording or verdict methods.
|
|
219
|
-
*
|
|
220
|
-
* @throws {Error} If V3 intelligence module initialization fails
|
|
221
|
-
*/
|
|
222
42
|
initialize(): Promise<void>;
|
|
223
|
-
/**
|
|
224
|
-
* Check if integration is initialized
|
|
225
|
-
*/
|
|
226
43
|
isInitialized(): boolean;
|
|
227
|
-
/**
|
|
228
|
-
* Record user accepting a recommendation
|
|
229
|
-
*
|
|
230
|
-
* Converts to positive trajectory (reward: 1.0) in ReasoningBank.
|
|
231
|
-
*
|
|
232
|
-
* @param skillId - Skill that was accepted
|
|
233
|
-
* @param context - Context when skill was recommended
|
|
234
|
-
* @param metadata - Optional metadata
|
|
235
|
-
*/
|
|
236
44
|
recordAccept(skillId: string, context: RecommendationContext, metadata?: SignalMetadata): Promise<void>;
|
|
237
|
-
/**
|
|
238
|
-
* Record user dismissing a recommendation
|
|
239
|
-
*
|
|
240
|
-
* Converts to negative trajectory (reward: -0.5) in ReasoningBank.
|
|
241
|
-
*
|
|
242
|
-
* @param skillId - Skill that was dismissed
|
|
243
|
-
* @param context - Context when skill was recommended
|
|
244
|
-
* @param reason - Optional dismissal reason
|
|
245
|
-
*/
|
|
246
45
|
recordDismiss(skillId: string, context: RecommendationContext, reason?: DismissReason): Promise<void>;
|
|
247
|
-
/**
|
|
248
|
-
* Record skill usage event
|
|
249
|
-
*
|
|
250
|
-
* Converts to reinforcement trajectory (reward: 0.3) in ReasoningBank.
|
|
251
|
-
*
|
|
252
|
-
* @param skillId - Skill that was used
|
|
253
|
-
* @param frequency - Usage frequency
|
|
254
|
-
*/
|
|
255
46
|
recordUsage(skillId: string, frequency: 'daily' | 'weekly'): Promise<void>;
|
|
256
|
-
/**
|
|
257
|
-
* Record skill abandonment
|
|
258
|
-
*
|
|
259
|
-
* Converts to negative trajectory (reward: -0.3) in ReasoningBank.
|
|
260
|
-
*
|
|
261
|
-
* @param skillId - Skill that was abandoned
|
|
262
|
-
* @param daysSinceInstall - Days since installation
|
|
263
|
-
*/
|
|
264
47
|
recordAbandonment(skillId: string, daysSinceInstall: number): Promise<void>;
|
|
265
|
-
/**
|
|
266
|
-
* Record skill uninstallation
|
|
267
|
-
*
|
|
268
|
-
* Converts to strong negative trajectory (reward: -0.7) in ReasoningBank.
|
|
269
|
-
*
|
|
270
|
-
* @param skillId - Skill that was uninstalled
|
|
271
|
-
* @param daysSinceInstall - Days since installation
|
|
272
|
-
*/
|
|
273
48
|
recordUninstall(skillId: string, daysSinceInstall: number): Promise<void>;
|
|
274
|
-
/**
|
|
275
|
-
* Query signals with filtering
|
|
276
|
-
*
|
|
277
|
-
* Delegates to legacy collector if available, otherwise returns empty array.
|
|
278
|
-
*
|
|
279
|
-
* @param filter - Filter criteria
|
|
280
|
-
* @param limit - Maximum results
|
|
281
|
-
* @returns Matching signal events
|
|
282
|
-
*/
|
|
283
49
|
getSignals(filter: SignalFilter, limit?: number): Promise<SignalEvent[]>;
|
|
284
|
-
/**
|
|
285
|
-
* Get total signal count
|
|
286
|
-
*
|
|
287
|
-
* Returns count from legacy collector or ReasoningBank pattern count.
|
|
288
|
-
*/
|
|
289
50
|
getSignalCount(): Promise<number>;
|
|
290
|
-
/**
|
|
291
|
-
* Get signals for specific skill
|
|
292
|
-
*
|
|
293
|
-
* @param skillId - Skill identifier
|
|
294
|
-
* @returns All signals for this skill
|
|
295
|
-
*/
|
|
296
51
|
getSignalsForSkill(skillId: string): Promise<SignalEvent[]>;
|
|
297
|
-
/**
|
|
298
|
-
* Query learned confidence for a skill
|
|
299
|
-
*
|
|
300
|
-
* Uses ReasoningBank pattern matching to determine how likely
|
|
301
|
-
* the user is to accept recommendations for this skill.
|
|
302
|
-
*
|
|
303
|
-
* @param skillId - Skill identifier to query
|
|
304
|
-
* @returns Verdict with confidence score and metadata
|
|
305
|
-
*
|
|
306
|
-
* @example
|
|
307
|
-
* ```typescript
|
|
308
|
-
* const verdict = await integration.getVerdict('anthropic/commit')
|
|
309
|
-
* if (verdict.confidence > 0.7 && verdict.hasEnoughData) {
|
|
310
|
-
* // High confidence the user will accept this skill
|
|
311
|
-
* }
|
|
312
|
-
* ```
|
|
313
|
-
*/
|
|
314
52
|
getVerdict(skillId: string): Promise<SkillVerdict>;
|
|
315
|
-
/**
|
|
316
|
-
* Query verdicts for multiple skills in batch
|
|
317
|
-
*
|
|
318
|
-
* More efficient than individual queries for ranking recommendations.
|
|
319
|
-
*
|
|
320
|
-
* @param skillIds - Array of skill identifiers
|
|
321
|
-
* @returns Batch result with all verdicts
|
|
322
|
-
*/
|
|
323
53
|
getBatchVerdicts(skillIds: string[]): Promise<BatchVerdictResult>;
|
|
324
|
-
/**
|
|
325
|
-
* Get top N skills by learned confidence
|
|
326
|
-
*
|
|
327
|
-
* Useful for proactive recommendations based on user patterns.
|
|
328
|
-
*
|
|
329
|
-
* @param limit - Maximum skills to return
|
|
330
|
-
* @returns Skills sorted by confidence (highest first)
|
|
331
|
-
*/
|
|
332
54
|
getTopSkillsByConfidence(limit?: number): Promise<SkillVerdict[]>;
|
|
333
|
-
/**
|
|
334
|
-
* Ensure integration is initialized before operations
|
|
335
|
-
*/
|
|
336
55
|
private ensureInitialized;
|
|
337
|
-
/**
|
|
338
|
-
* Create trajectory steps from user signal
|
|
339
|
-
*/
|
|
340
56
|
private createTrajectory;
|
|
341
|
-
/**
|
|
342
|
-
* Create verdict from action success and reward
|
|
343
|
-
*/
|
|
344
|
-
private createVerdict;
|
|
345
|
-
/**
|
|
346
|
-
* Get reward value for action type
|
|
347
|
-
*/
|
|
348
|
-
private getRewardForAction;
|
|
349
|
-
/**
|
|
350
|
-
* Record trajectory to ReasoningBank
|
|
351
|
-
*/
|
|
352
57
|
private recordTrajectoryInternal;
|
|
353
|
-
/**
|
|
354
|
-
* Create empty verdict for skill with insufficient data
|
|
355
|
-
*/
|
|
356
|
-
private createEmptyVerdict;
|
|
357
|
-
/**
|
|
358
|
-
* Calculate confidence score from patterns
|
|
359
|
-
*/
|
|
360
|
-
private calculateConfidenceFromPatterns;
|
|
361
|
-
/**
|
|
362
|
-
* Extract skill ID from pattern
|
|
363
|
-
*/
|
|
364
|
-
private extractSkillIdFromPattern;
|
|
365
|
-
/**
|
|
366
|
-
* Extract action type from pattern
|
|
367
|
-
*/
|
|
368
|
-
private extractActionFromPattern;
|
|
369
|
-
/**
|
|
370
|
-
* Create stub ReasoningBank for when V3 module is unavailable
|
|
371
|
-
*/
|
|
372
|
-
private createStubReasoningBank;
|
|
373
58
|
}
|
|
374
59
|
/**
|
|
375
60
|
* Create and initialize a ReasoningBankIntegration instance
|
|
376
|
-
*
|
|
377
|
-
* Convenience factory that handles initialization.
|
|
378
|
-
*
|
|
379
|
-
* @param config - Integration configuration
|
|
380
|
-
* @returns Initialized integration instance
|
|
381
|
-
*
|
|
382
|
-
* @example
|
|
383
|
-
* ```typescript
|
|
384
|
-
* const integration = await createReasoningBankIntegration({
|
|
385
|
-
* enableDualWrite: true,
|
|
386
|
-
* signalCollector: legacyCollector,
|
|
387
|
-
* })
|
|
388
|
-
* ```
|
|
389
61
|
*/
|
|
390
62
|
export declare function createReasoningBankIntegration(config?: ReasoningBankIntegrationConfig): Promise<ReasoningBankIntegration>;
|
|
391
|
-
/**
|
|
392
|
-
* Check if a verdict has sufficient data for personalization
|
|
393
|
-
*/
|
|
394
|
-
export declare function hasConfidentVerdict(verdict: SkillVerdict): boolean;
|
|
395
|
-
/**
|
|
396
|
-
* Check if verdict indicates user preference (positive confidence)
|
|
397
|
-
*/
|
|
398
|
-
export declare function indicatesPreference(verdict: SkillVerdict): boolean;
|
|
399
|
-
/**
|
|
400
|
-
* Check if verdict indicates user rejection (negative confidence)
|
|
401
|
-
*/
|
|
402
|
-
export declare function indicatesRejection(verdict: SkillVerdict): boolean;
|
|
403
63
|
//# sourceMappingURL=ReasoningBankIntegration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReasoningBankIntegration.d.ts","sourceRoot":"","sources":["../../../src/learning/ReasoningBankIntegration.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ReasoningBankIntegration.d.ts","sourceRoot":"","sources":["../../../src/learning/ReasoningBankIntegration.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAA;AAGnB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,8BAA8B,GAC/B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,MAAM,qCAAqC,CAAA;AAG5C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,uCAAuC,CAAA;AAG9C,OAAO,KAAK,EAKV,YAAY,EACZ,kBAAkB,EAClB,8BAA8B,EAC/B,MAAM,qCAAqC,CAAA;AAe5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAQ;gBAEf,MAAM,GAAE,8BAAmC;IAgBjD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBjC,aAAa,IAAI,OAAO;IAQlB,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,CAAC;IAcV,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,EAC9B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IAaV,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1E,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB3E,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzE,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOxE,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAUjC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAW3D,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BlD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWjE,wBAAwB,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA2C3E,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;YA2BV,wBAAwB;CAOvC;AAMD;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,GAAE,8BAAmC,GAC1C,OAAO,CAAC,wBAAwB,CAAC,CAInC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReasoningBank Integration Helper Functions
|
|
3
|
+
* @module @skillsmith/core/learning/ReasoningBankIntegration.helpers
|
|
4
|
+
*/
|
|
5
|
+
import type { SkillVerdict, SimilarPattern, TrajectoryVerdict, IReasoningBank } from './ReasoningBankIntegration.types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Check if a verdict has sufficient data for personalization
|
|
8
|
+
*/
|
|
9
|
+
export declare function hasConfidentVerdict(verdict: SkillVerdict): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Check if verdict indicates user preference (positive confidence)
|
|
12
|
+
*/
|
|
13
|
+
export declare function indicatesPreference(verdict: SkillVerdict): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Check if verdict indicates user rejection (negative confidence)
|
|
16
|
+
*/
|
|
17
|
+
export declare function indicatesRejection(verdict: SkillVerdict): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Get reward value for action type
|
|
20
|
+
*/
|
|
21
|
+
export declare function getRewardForAction(action: string): number;
|
|
22
|
+
/**
|
|
23
|
+
* Extract skill ID from pattern
|
|
24
|
+
*/
|
|
25
|
+
export declare function extractSkillIdFromPattern(pattern: SimilarPattern): string | null;
|
|
26
|
+
/**
|
|
27
|
+
* Extract action type from pattern
|
|
28
|
+
*/
|
|
29
|
+
export declare function extractActionFromPattern(pattern: SimilarPattern): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* Calculate confidence score from patterns
|
|
32
|
+
*/
|
|
33
|
+
export declare function calculateConfidenceFromPatterns(patterns: SimilarPattern[]): {
|
|
34
|
+
confidence: number;
|
|
35
|
+
breakdown: SkillVerdict['signalBreakdown'];
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Create empty verdict for skill with insufficient data
|
|
39
|
+
*/
|
|
40
|
+
export declare function createEmptyVerdict(skillId: string): SkillVerdict;
|
|
41
|
+
/**
|
|
42
|
+
* Create verdict from action success and reward
|
|
43
|
+
*/
|
|
44
|
+
export declare function createVerdict(success: boolean, confidenceFromReward: number): TrajectoryVerdict;
|
|
45
|
+
/**
|
|
46
|
+
* Create stub ReasoningBank for when V3 module is unavailable
|
|
47
|
+
*/
|
|
48
|
+
export declare function createStubReasoningBank(): IReasoningBank;
|
|
49
|
+
//# sourceMappingURL=ReasoningBankIntegration.helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReasoningBankIntegration.helpers.d.ts","sourceRoot":"","sources":["../../../src/learning/ReasoningBankIntegration.helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EAEd,iBAAiB,EACjB,cAAc,EAEf,MAAM,qCAAqC,CAAA;AAO5C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAElE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAElE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAEjE;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAezD;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAMhF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAM/E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG;IAC3E,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAC3C,CA4CA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAOhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,GAAG,iBAAiB,CAQ/F;AAMD;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,cAAc,CA2CxD"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReasoningBank Integration Helper Functions
|
|
3
|
+
* @module @skillsmith/core/learning/ReasoningBankIntegration.helpers
|
|
4
|
+
*/
|
|
5
|
+
import { TRAJECTORY_REWARDS, CONFIDENCE_THRESHOLDS } from './ReasoningBankIntegration.types.js';
|
|
6
|
+
// ============================================================================
|
|
7
|
+
// Type Guards
|
|
8
|
+
// ============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Check if a verdict has sufficient data for personalization
|
|
11
|
+
*/
|
|
12
|
+
export function hasConfidentVerdict(verdict) {
|
|
13
|
+
return verdict.hasEnoughData && Math.abs(verdict.confidence) >= CONFIDENCE_THRESHOLDS.MINIMUM;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Check if verdict indicates user preference (positive confidence)
|
|
17
|
+
*/
|
|
18
|
+
export function indicatesPreference(verdict) {
|
|
19
|
+
return verdict.confidence > CONFIDENCE_THRESHOLDS.LOW && verdict.hasEnoughData;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Check if verdict indicates user rejection (negative confidence)
|
|
23
|
+
*/
|
|
24
|
+
export function indicatesRejection(verdict) {
|
|
25
|
+
return verdict.confidence < -CONFIDENCE_THRESHOLDS.LOW && verdict.hasEnoughData;
|
|
26
|
+
}
|
|
27
|
+
// ============================================================================
|
|
28
|
+
// Reward Helpers
|
|
29
|
+
// ============================================================================
|
|
30
|
+
/**
|
|
31
|
+
* Get reward value for action type
|
|
32
|
+
*/
|
|
33
|
+
export function getRewardForAction(action) {
|
|
34
|
+
switch (action) {
|
|
35
|
+
case 'accept':
|
|
36
|
+
return TRAJECTORY_REWARDS.ACCEPT;
|
|
37
|
+
case 'dismiss':
|
|
38
|
+
return TRAJECTORY_REWARDS.DISMISS;
|
|
39
|
+
case 'usage':
|
|
40
|
+
return TRAJECTORY_REWARDS.USAGE;
|
|
41
|
+
case 'abandonment':
|
|
42
|
+
return TRAJECTORY_REWARDS.ABANDONMENT;
|
|
43
|
+
case 'uninstall':
|
|
44
|
+
return TRAJECTORY_REWARDS.UNINSTALL;
|
|
45
|
+
default:
|
|
46
|
+
return 0;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// ============================================================================
|
|
50
|
+
// Pattern Helpers
|
|
51
|
+
// ============================================================================
|
|
52
|
+
/**
|
|
53
|
+
* Extract skill ID from pattern
|
|
54
|
+
*/
|
|
55
|
+
export function extractSkillIdFromPattern(pattern) {
|
|
56
|
+
const step = pattern.trajectory[0];
|
|
57
|
+
if (step?.metadata?.skillId) {
|
|
58
|
+
return step.metadata.skillId;
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Extract action type from pattern
|
|
64
|
+
*/
|
|
65
|
+
export function extractActionFromPattern(pattern) {
|
|
66
|
+
const step = pattern.trajectory[0];
|
|
67
|
+
if (step?.action) {
|
|
68
|
+
return step.action.replace('skill:', '');
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Calculate confidence score from patterns
|
|
74
|
+
*/
|
|
75
|
+
export function calculateConfidenceFromPatterns(patterns) {
|
|
76
|
+
let positiveWeight = 0;
|
|
77
|
+
let negativeWeight = 0;
|
|
78
|
+
const breakdown = {
|
|
79
|
+
accepts: 0,
|
|
80
|
+
dismisses: 0,
|
|
81
|
+
usages: 0,
|
|
82
|
+
abandonments: 0,
|
|
83
|
+
uninstalls: 0,
|
|
84
|
+
};
|
|
85
|
+
for (const pattern of patterns) {
|
|
86
|
+
const weight = pattern.similarity * pattern.verdict.confidence;
|
|
87
|
+
const action = extractActionFromPattern(pattern);
|
|
88
|
+
switch (action) {
|
|
89
|
+
case 'accept':
|
|
90
|
+
positiveWeight += weight * TRAJECTORY_REWARDS.ACCEPT;
|
|
91
|
+
breakdown.accepts++;
|
|
92
|
+
break;
|
|
93
|
+
case 'dismiss':
|
|
94
|
+
negativeWeight += weight * Math.abs(TRAJECTORY_REWARDS.DISMISS);
|
|
95
|
+
breakdown.dismisses++;
|
|
96
|
+
break;
|
|
97
|
+
case 'usage':
|
|
98
|
+
positiveWeight += weight * TRAJECTORY_REWARDS.USAGE;
|
|
99
|
+
breakdown.usages++;
|
|
100
|
+
break;
|
|
101
|
+
case 'abandonment':
|
|
102
|
+
negativeWeight += weight * Math.abs(TRAJECTORY_REWARDS.ABANDONMENT);
|
|
103
|
+
breakdown.abandonments++;
|
|
104
|
+
break;
|
|
105
|
+
case 'uninstall':
|
|
106
|
+
negativeWeight += weight * Math.abs(TRAJECTORY_REWARDS.UNINSTALL);
|
|
107
|
+
breakdown.uninstalls++;
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Normalize confidence to [-1, 1] range
|
|
112
|
+
const totalWeight = positiveWeight + negativeWeight;
|
|
113
|
+
const confidence = totalWeight > 0 ? (positiveWeight - negativeWeight) / totalWeight : 0;
|
|
114
|
+
return { confidence, breakdown };
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Create empty verdict for skill with insufficient data
|
|
118
|
+
*/
|
|
119
|
+
export function createEmptyVerdict(skillId) {
|
|
120
|
+
return {
|
|
121
|
+
skillId,
|
|
122
|
+
confidence: 0,
|
|
123
|
+
patternCount: 0,
|
|
124
|
+
hasEnoughData: false,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Create verdict from action success and reward
|
|
129
|
+
*/
|
|
130
|
+
export function createVerdict(success, confidenceFromReward) {
|
|
131
|
+
return {
|
|
132
|
+
success,
|
|
133
|
+
confidence: Math.min(1.0, Math.abs(confidenceFromReward)),
|
|
134
|
+
reasoning: success
|
|
135
|
+
? 'User action indicates positive preference'
|
|
136
|
+
: 'User action indicates negative preference',
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
// ============================================================================
|
|
140
|
+
// Stub ReasoningBank
|
|
141
|
+
// ============================================================================
|
|
142
|
+
/**
|
|
143
|
+
* Create stub ReasoningBank for when V3 module is unavailable
|
|
144
|
+
*/
|
|
145
|
+
export function createStubReasoningBank() {
|
|
146
|
+
const patterns = new Map();
|
|
147
|
+
return {
|
|
148
|
+
async recordTrajectory(steps, verdict) {
|
|
149
|
+
const id = `pattern-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
150
|
+
patterns.set(id, { id, similarity: 1.0, trajectory: steps, verdict });
|
|
151
|
+
return id;
|
|
152
|
+
},
|
|
153
|
+
async findSimilarPatterns(query, options) {
|
|
154
|
+
const limit = options?.limit ?? 10;
|
|
155
|
+
const minSimilarity = options?.minSimilarity ?? 0.5;
|
|
156
|
+
return Array.from(patterns.values())
|
|
157
|
+
.filter((p) => {
|
|
158
|
+
// Simple query matching for stub
|
|
159
|
+
if (query.startsWith('skill:')) {
|
|
160
|
+
const skillId = query.replace('skill:', '');
|
|
161
|
+
const patternSkillId = p.trajectory[0]?.metadata?.skillId;
|
|
162
|
+
return skillId === '*' || patternSkillId === skillId;
|
|
163
|
+
}
|
|
164
|
+
return true;
|
|
165
|
+
})
|
|
166
|
+
.filter((p) => p.similarity >= minSimilarity)
|
|
167
|
+
.slice(0, limit);
|
|
168
|
+
},
|
|
169
|
+
async getPattern(id) {
|
|
170
|
+
return patterns.get(id) ?? null;
|
|
171
|
+
},
|
|
172
|
+
async clear() {
|
|
173
|
+
patterns.clear();
|
|
174
|
+
},
|
|
175
|
+
async getPatternCount() {
|
|
176
|
+
return patterns.size;
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=ReasoningBankIntegration.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReasoningBankIntegration.helpers.js","sourceRoot":"","sources":["../../../src/learning/ReasoningBankIntegration.helpers.ts"],"names":[],"mappings":"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"}
|