@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
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Expert Type Definitions for SONARouter
|
|
3
|
+
* @module @skillsmith/core/routing/expert-types
|
|
4
|
+
* @see SMI-1521: SONA routing for MCP tool optimization
|
|
5
|
+
*
|
|
6
|
+
* Type definitions for experts in the SONA MoE network.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Expert identification
|
|
10
|
+
*/
|
|
11
|
+
export type ExpertId = string;
|
|
12
|
+
/**
|
|
13
|
+
* Types of experts in the MoE network
|
|
14
|
+
* - accuracy: Prioritizes result correctness over speed
|
|
15
|
+
* - latency: Prioritizes response time
|
|
16
|
+
* - balanced: Balances accuracy and latency
|
|
17
|
+
* - specialized: Tool-specific optimization
|
|
18
|
+
*/
|
|
19
|
+
export type ExpertType = 'accuracy' | 'latency' | 'balanced' | 'specialized';
|
|
20
|
+
/**
|
|
21
|
+
* Expert state for health monitoring
|
|
22
|
+
*/
|
|
23
|
+
export type ExpertState = 'healthy' | 'degraded' | 'unhealthy' | 'warming_up';
|
|
24
|
+
/**
|
|
25
|
+
* MCP tool types supported by SONARouter
|
|
26
|
+
*/
|
|
27
|
+
export type ToolType = 'search' | 'recommend' | 'install' | 'validate' | 'compare' | 'get_skill' | 'uninstall' | 'analyze';
|
|
28
|
+
/**
|
|
29
|
+
* Weight profile for routing decisions
|
|
30
|
+
* Values range from 0.0 to 1.0
|
|
31
|
+
*/
|
|
32
|
+
export interface WeightProfile {
|
|
33
|
+
/** Weight for accuracy optimization */
|
|
34
|
+
accuracy: number;
|
|
35
|
+
/** Weight for latency optimization */
|
|
36
|
+
latency: number;
|
|
37
|
+
/** Weight for reliability/availability */
|
|
38
|
+
reliability: number;
|
|
39
|
+
/** Weight for resource efficiency */
|
|
40
|
+
efficiency: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Tool-specific weight configurations
|
|
44
|
+
* Based on SMI-1521 requirements:
|
|
45
|
+
* - search: accuracy-weighted
|
|
46
|
+
* - recommend: accuracy + personalization
|
|
47
|
+
* - install: balanced (reliability important)
|
|
48
|
+
* - validate: balanced
|
|
49
|
+
* - compare: accuracy-weighted
|
|
50
|
+
* - get_skill: low latency
|
|
51
|
+
*/
|
|
52
|
+
export declare const TOOL_WEIGHTS: Record<ToolType, WeightProfile>;
|
|
53
|
+
/**
|
|
54
|
+
* Expert capability declaration
|
|
55
|
+
*/
|
|
56
|
+
export interface ExpertCapability {
|
|
57
|
+
/** Tools this expert can handle */
|
|
58
|
+
supportedTools: ToolType[];
|
|
59
|
+
/** Maximum concurrent requests */
|
|
60
|
+
maxConcurrency: number;
|
|
61
|
+
/** Average latency in milliseconds */
|
|
62
|
+
avgLatencyMs: number;
|
|
63
|
+
/** Accuracy score (0-1) based on historical performance */
|
|
64
|
+
accuracyScore: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Expert definition in the MoE network
|
|
68
|
+
*/
|
|
69
|
+
export interface ExpertDefinition {
|
|
70
|
+
/** Unique expert identifier */
|
|
71
|
+
id: ExpertId;
|
|
72
|
+
/** Expert type classification */
|
|
73
|
+
type: ExpertType;
|
|
74
|
+
/** Name for logging/display */
|
|
75
|
+
name: string;
|
|
76
|
+
/** Detailed description */
|
|
77
|
+
description: string;
|
|
78
|
+
/** Declared capabilities */
|
|
79
|
+
capabilities: ExpertCapability;
|
|
80
|
+
/** Weight profile for routing decisions */
|
|
81
|
+
weights: WeightProfile;
|
|
82
|
+
/** Priority (higher = preferred when tied) */
|
|
83
|
+
priority: number;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Runtime expert status
|
|
87
|
+
*/
|
|
88
|
+
export interface ExpertStatus {
|
|
89
|
+
/** Expert identifier */
|
|
90
|
+
id: ExpertId;
|
|
91
|
+
/** Current health state */
|
|
92
|
+
state: ExpertState;
|
|
93
|
+
/** Current load (0-1) */
|
|
94
|
+
load: number;
|
|
95
|
+
/** Active request count */
|
|
96
|
+
activeRequests: number;
|
|
97
|
+
/** Success rate (last 100 requests) */
|
|
98
|
+
successRate: number;
|
|
99
|
+
/** P95 latency in milliseconds */
|
|
100
|
+
p95LatencyMs: number;
|
|
101
|
+
/** Last health check timestamp */
|
|
102
|
+
lastHealthCheck: Date;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 8-Expert MoE Network Configuration
|
|
106
|
+
* Designed for Skillsmith MCP tools
|
|
107
|
+
*/
|
|
108
|
+
export declare const SONA_EXPERTS: ExpertDefinition[];
|
|
109
|
+
//# sourceMappingURL=expert-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expert-types.d.ts","sourceRoot":"","sources":["../../../src/routing/expert-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAA;AAE5E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAA;AAM7E;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,WAAW,GACX,SAAS,GACT,UAAU,GACV,SAAS,GACT,WAAW,GACX,WAAW,GACX,SAAS,CAAA;AAMb;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CASxD,CAAA;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,cAAc,EAAE,QAAQ,EAAE,CAAA;IAC1B,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,EAAE,EAAE,QAAQ,CAAA;IACZ,iCAAiC;IACjC,IAAI,EAAE,UAAU,CAAA;IAChB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,YAAY,EAAE,gBAAgB,CAAA;IAC9B,2CAA2C;IAC3C,OAAO,EAAE,aAAa,CAAA;IACtB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,EAAE,EAAE,QAAQ,CAAA;IACZ,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAA;IAClB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,kCAAkC;IAClC,eAAe,EAAE,IAAI,CAAA;CACtB;AAMD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,gBAAgB,EA8H1C,CAAA"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Expert Type Definitions for SONARouter
|
|
3
|
+
* @module @skillsmith/core/routing/expert-types
|
|
4
|
+
* @see SMI-1521: SONA routing for MCP tool optimization
|
|
5
|
+
*
|
|
6
|
+
* Type definitions for experts in the SONA MoE network.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Tool-specific weight configurations
|
|
10
|
+
* Based on SMI-1521 requirements:
|
|
11
|
+
* - search: accuracy-weighted
|
|
12
|
+
* - recommend: accuracy + personalization
|
|
13
|
+
* - install: balanced (reliability important)
|
|
14
|
+
* - validate: balanced
|
|
15
|
+
* - compare: accuracy-weighted
|
|
16
|
+
* - get_skill: low latency
|
|
17
|
+
*/
|
|
18
|
+
export const TOOL_WEIGHTS = {
|
|
19
|
+
search: { accuracy: 0.7, latency: 0.2, reliability: 0.05, efficiency: 0.05 },
|
|
20
|
+
recommend: { accuracy: 0.6, latency: 0.2, reliability: 0.1, efficiency: 0.1 },
|
|
21
|
+
install: { accuracy: 0.3, latency: 0.2, reliability: 0.4, efficiency: 0.1 },
|
|
22
|
+
validate: { accuracy: 0.4, latency: 0.3, reliability: 0.2, efficiency: 0.1 },
|
|
23
|
+
compare: { accuracy: 0.65, latency: 0.2, reliability: 0.1, efficiency: 0.05 },
|
|
24
|
+
get_skill: { accuracy: 0.2, latency: 0.6, reliability: 0.15, efficiency: 0.05 },
|
|
25
|
+
uninstall: { accuracy: 0.2, latency: 0.3, reliability: 0.4, efficiency: 0.1 },
|
|
26
|
+
analyze: { accuracy: 0.5, latency: 0.25, reliability: 0.15, efficiency: 0.1 },
|
|
27
|
+
};
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// 8-Expert MoE Network Configuration
|
|
30
|
+
// ============================================================================
|
|
31
|
+
/**
|
|
32
|
+
* 8-Expert MoE Network Configuration
|
|
33
|
+
* Designed for Skillsmith MCP tools
|
|
34
|
+
*/
|
|
35
|
+
export const SONA_EXPERTS = [
|
|
36
|
+
// Accuracy-focused experts
|
|
37
|
+
{
|
|
38
|
+
id: 'accuracy-semantic',
|
|
39
|
+
type: 'accuracy',
|
|
40
|
+
name: 'Semantic Search Expert',
|
|
41
|
+
description: 'Optimizes semantic similarity matching for search and recommend',
|
|
42
|
+
capabilities: {
|
|
43
|
+
supportedTools: ['search', 'recommend', 'compare'],
|
|
44
|
+
maxConcurrency: 50,
|
|
45
|
+
avgLatencyMs: 150,
|
|
46
|
+
accuracyScore: 0.95,
|
|
47
|
+
},
|
|
48
|
+
weights: { accuracy: 0.9, latency: 0.05, reliability: 0.03, efficiency: 0.02 },
|
|
49
|
+
priority: 100,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: 'accuracy-validation',
|
|
53
|
+
type: 'accuracy',
|
|
54
|
+
name: 'Validation Expert',
|
|
55
|
+
description: 'Thorough validation with complete error reporting',
|
|
56
|
+
capabilities: {
|
|
57
|
+
supportedTools: ['validate', 'analyze'],
|
|
58
|
+
maxConcurrency: 30,
|
|
59
|
+
avgLatencyMs: 200,
|
|
60
|
+
accuracyScore: 0.98,
|
|
61
|
+
},
|
|
62
|
+
weights: { accuracy: 0.85, latency: 0.05, reliability: 0.08, efficiency: 0.02 },
|
|
63
|
+
priority: 90,
|
|
64
|
+
},
|
|
65
|
+
// Latency-focused experts
|
|
66
|
+
{
|
|
67
|
+
id: 'latency-cache',
|
|
68
|
+
type: 'latency',
|
|
69
|
+
name: 'Cache-First Expert',
|
|
70
|
+
description: 'Serves from cache with fallback to computation',
|
|
71
|
+
capabilities: {
|
|
72
|
+
supportedTools: ['search', 'get_skill', 'recommend'],
|
|
73
|
+
maxConcurrency: 200,
|
|
74
|
+
avgLatencyMs: 15,
|
|
75
|
+
accuracyScore: 0.85,
|
|
76
|
+
},
|
|
77
|
+
weights: { accuracy: 0.2, latency: 0.7, reliability: 0.05, efficiency: 0.05 },
|
|
78
|
+
priority: 80,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: 'latency-index',
|
|
82
|
+
type: 'latency',
|
|
83
|
+
name: 'Index Lookup Expert',
|
|
84
|
+
description: 'Direct index lookups for known entities',
|
|
85
|
+
capabilities: {
|
|
86
|
+
supportedTools: ['get_skill', 'search'],
|
|
87
|
+
maxConcurrency: 500,
|
|
88
|
+
avgLatencyMs: 5,
|
|
89
|
+
accuracyScore: 0.99,
|
|
90
|
+
},
|
|
91
|
+
weights: { accuracy: 0.3, latency: 0.6, reliability: 0.08, efficiency: 0.02 },
|
|
92
|
+
priority: 85,
|
|
93
|
+
},
|
|
94
|
+
// Balanced experts
|
|
95
|
+
{
|
|
96
|
+
id: 'balanced-default',
|
|
97
|
+
type: 'balanced',
|
|
98
|
+
name: 'Default Balanced Expert',
|
|
99
|
+
description: 'General-purpose balanced execution',
|
|
100
|
+
capabilities: {
|
|
101
|
+
supportedTools: [
|
|
102
|
+
'search',
|
|
103
|
+
'recommend',
|
|
104
|
+
'install',
|
|
105
|
+
'validate',
|
|
106
|
+
'compare',
|
|
107
|
+
'get_skill',
|
|
108
|
+
'uninstall',
|
|
109
|
+
'analyze',
|
|
110
|
+
],
|
|
111
|
+
maxConcurrency: 100,
|
|
112
|
+
avgLatencyMs: 75,
|
|
113
|
+
accuracyScore: 0.9,
|
|
114
|
+
},
|
|
115
|
+
weights: { accuracy: 0.4, latency: 0.4, reliability: 0.15, efficiency: 0.05 },
|
|
116
|
+
priority: 50,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: 'balanced-reliability',
|
|
120
|
+
type: 'balanced',
|
|
121
|
+
name: 'Reliability Expert',
|
|
122
|
+
description: 'Prioritizes successful completion over speed',
|
|
123
|
+
capabilities: {
|
|
124
|
+
supportedTools: ['install', 'uninstall', 'validate'],
|
|
125
|
+
maxConcurrency: 25,
|
|
126
|
+
avgLatencyMs: 120,
|
|
127
|
+
accuracyScore: 0.92,
|
|
128
|
+
},
|
|
129
|
+
weights: { accuracy: 0.3, latency: 0.2, reliability: 0.45, efficiency: 0.05 },
|
|
130
|
+
priority: 70,
|
|
131
|
+
},
|
|
132
|
+
// Specialized experts
|
|
133
|
+
{
|
|
134
|
+
id: 'specialized-recommend',
|
|
135
|
+
type: 'specialized',
|
|
136
|
+
name: 'Recommendation Expert',
|
|
137
|
+
description: 'ML-powered personalized recommendations',
|
|
138
|
+
capabilities: {
|
|
139
|
+
supportedTools: ['recommend'],
|
|
140
|
+
maxConcurrency: 40,
|
|
141
|
+
avgLatencyMs: 180,
|
|
142
|
+
accuracyScore: 0.93,
|
|
143
|
+
},
|
|
144
|
+
weights: { accuracy: 0.65, latency: 0.15, reliability: 0.1, efficiency: 0.1 },
|
|
145
|
+
priority: 95,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
id: 'specialized-compare',
|
|
149
|
+
type: 'specialized',
|
|
150
|
+
name: 'Comparison Expert',
|
|
151
|
+
description: 'Deep feature comparison with scoring',
|
|
152
|
+
capabilities: {
|
|
153
|
+
supportedTools: ['compare', 'analyze'],
|
|
154
|
+
maxConcurrency: 35,
|
|
155
|
+
avgLatencyMs: 160,
|
|
156
|
+
accuracyScore: 0.94,
|
|
157
|
+
},
|
|
158
|
+
weights: { accuracy: 0.7, latency: 0.1, reliability: 0.15, efficiency: 0.05 },
|
|
159
|
+
priority: 88,
|
|
160
|
+
},
|
|
161
|
+
];
|
|
162
|
+
//# sourceMappingURL=expert-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expert-types.js","sourceRoot":"","sources":["../../../src/routing/expert-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Request/Response Type Definitions for SONARouter
|
|
3
|
+
* @module @skillsmith/core/routing/request-types
|
|
4
|
+
* @see SMI-1521: SONA routing for MCP tool optimization
|
|
5
|
+
*
|
|
6
|
+
* Type definitions for routing requests, decisions, and responses.
|
|
7
|
+
*/
|
|
8
|
+
import type { ExpertId, ToolType } from './expert-types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Request context for routing decisions
|
|
11
|
+
*/
|
|
12
|
+
export interface ToolRequest {
|
|
13
|
+
/** Request identifier for tracing */
|
|
14
|
+
requestId: string;
|
|
15
|
+
/** Tool being invoked */
|
|
16
|
+
tool: ToolType;
|
|
17
|
+
/** Tool arguments */
|
|
18
|
+
arguments: Record<string, unknown>;
|
|
19
|
+
/** Request timestamp */
|
|
20
|
+
timestamp: Date;
|
|
21
|
+
/** Optional priority override */
|
|
22
|
+
priority?: 'high' | 'normal' | 'low';
|
|
23
|
+
/** Optional latency constraint (ms) */
|
|
24
|
+
maxLatencyMs?: number;
|
|
25
|
+
/** Request metadata */
|
|
26
|
+
metadata?: {
|
|
27
|
+
/** User/session identifier */
|
|
28
|
+
userId?: string;
|
|
29
|
+
/** Source context (mcp, cli, api) */
|
|
30
|
+
source?: string;
|
|
31
|
+
/** Feature flags for this request */
|
|
32
|
+
featureFlags?: Record<string, boolean>;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Score breakdown for routing decision
|
|
37
|
+
*/
|
|
38
|
+
export interface RoutingScores {
|
|
39
|
+
/** Accuracy contribution */
|
|
40
|
+
accuracyScore: number;
|
|
41
|
+
/** Latency contribution */
|
|
42
|
+
latencyScore: number;
|
|
43
|
+
/** Reliability contribution */
|
|
44
|
+
reliabilityScore: number;
|
|
45
|
+
/** Efficiency contribution */
|
|
46
|
+
efficiencyScore: number;
|
|
47
|
+
/** Final weighted score */
|
|
48
|
+
totalScore: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Alternative expert considered in routing
|
|
52
|
+
*/
|
|
53
|
+
export interface RoutingAlternative {
|
|
54
|
+
expertId: ExpertId;
|
|
55
|
+
score: number;
|
|
56
|
+
reason: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Routing decision made by SONARouter
|
|
60
|
+
*/
|
|
61
|
+
export interface RoutingDecision {
|
|
62
|
+
/** Request this decision applies to */
|
|
63
|
+
requestId: string;
|
|
64
|
+
/** Selected expert */
|
|
65
|
+
expertId: ExpertId;
|
|
66
|
+
/** Confidence in this routing (0-1) */
|
|
67
|
+
confidence: number;
|
|
68
|
+
/** Score breakdown */
|
|
69
|
+
scores: RoutingScores;
|
|
70
|
+
/** Alternative experts considered (top 3) */
|
|
71
|
+
alternatives: RoutingAlternative[];
|
|
72
|
+
/** Routing reasoning for debugging */
|
|
73
|
+
reason: string;
|
|
74
|
+
/** Decision timestamp */
|
|
75
|
+
decidedAt: Date;
|
|
76
|
+
/** Time to make decision (ms) */
|
|
77
|
+
decisionTimeMs: number;
|
|
78
|
+
/** Whether from cache */
|
|
79
|
+
cacheHit?: boolean;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Tool execution response
|
|
83
|
+
*/
|
|
84
|
+
export interface ToolResponse<T = unknown> {
|
|
85
|
+
/** Request identifier */
|
|
86
|
+
requestId: string;
|
|
87
|
+
/** Whether execution succeeded */
|
|
88
|
+
success: boolean;
|
|
89
|
+
/** Response data (if successful) */
|
|
90
|
+
data?: T;
|
|
91
|
+
/** Error information (if failed) */
|
|
92
|
+
error?: {
|
|
93
|
+
code: string;
|
|
94
|
+
message: string;
|
|
95
|
+
details?: Record<string, unknown>;
|
|
96
|
+
};
|
|
97
|
+
/** Execution metadata */
|
|
98
|
+
meta: {
|
|
99
|
+
/** Expert that handled the request */
|
|
100
|
+
expertId: ExpertId;
|
|
101
|
+
/** Total execution time (ms) */
|
|
102
|
+
totalTimeMs: number;
|
|
103
|
+
/** Routing decision time (ms) */
|
|
104
|
+
routingTimeMs: number;
|
|
105
|
+
/** Expert execution time (ms) */
|
|
106
|
+
executionTimeMs: number;
|
|
107
|
+
/** Whether cache was used */
|
|
108
|
+
cacheHit: boolean;
|
|
109
|
+
/** Whether fallback was triggered */
|
|
110
|
+
usedFallback: boolean;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=request-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-types.d.ts","sourceRoot":"","sources":["../../../src/routing/request-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAM3D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,yBAAyB;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAA;IACf,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;IACpC,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uBAAuB;IACvB,QAAQ,CAAC,EAAE;QACT,8BAA8B;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,qCAAqC;QACrC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,qCAAqC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACvC,CAAA;CACF;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,sBAAsB;IACtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,6CAA6C;IAC7C,YAAY,EAAE,kBAAkB,EAAE,CAAA;IAClC,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,SAAS,EAAE,IAAI,CAAA;IACf,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,oCAAoC;IACpC,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,oCAAoC;IACpC,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAClC,CAAA;IACD,yBAAyB;IACzB,IAAI,EAAE;QACJ,sCAAsC;QACtC,QAAQ,EAAE,QAAQ,CAAA;QAClB,gCAAgC;QAChC,WAAW,EAAE,MAAM,CAAA;QACnB,iCAAiC;QACjC,aAAa,EAAE,MAAM,CAAA;QACrB,iCAAiC;QACjC,eAAe,EAAE,MAAM,CAAA;QACvB,6BAA6B;QAC7B,QAAQ,EAAE,OAAO,CAAA;QACjB,qCAAqC;QACrC,YAAY,EAAE,OAAO,CAAA;KACtB,CAAA;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Request/Response Type Definitions for SONARouter
|
|
3
|
+
* @module @skillsmith/core/routing/request-types
|
|
4
|
+
* @see SMI-1521: SONA routing for MCP tool optimization
|
|
5
|
+
*
|
|
6
|
+
* Type definitions for routing requests, decisions, and responses.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=request-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-types.js","sourceRoot":"","sources":["../../../src/routing/request-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -3,214 +3,12 @@
|
|
|
3
3
|
* @module @skillsmith/core/routing/types
|
|
4
4
|
* @see SMI-1521: SONA routing for MCP tool optimization
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* routing system that routes MCP tool requests through an 8-expert MoE network.
|
|
6
|
+
* Main barrel file for SONA routing types. Re-exports from modular type files.
|
|
8
7
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Types of experts in the MoE network
|
|
15
|
-
* - accuracy: Prioritizes result correctness over speed
|
|
16
|
-
* - latency: Prioritizes response time
|
|
17
|
-
* - balanced: Balances accuracy and latency
|
|
18
|
-
* - specialized: Tool-specific optimization
|
|
19
|
-
*/
|
|
20
|
-
export type ExpertType = 'accuracy' | 'latency' | 'balanced' | 'specialized';
|
|
21
|
-
/**
|
|
22
|
-
* Expert state for health monitoring
|
|
23
|
-
*/
|
|
24
|
-
export type ExpertState = 'healthy' | 'degraded' | 'unhealthy' | 'warming_up';
|
|
25
|
-
/**
|
|
26
|
-
* MCP tool types supported by SONARouter
|
|
27
|
-
*/
|
|
28
|
-
export type ToolType = 'search' | 'recommend' | 'install' | 'validate' | 'compare' | 'get_skill' | 'uninstall' | 'analyze';
|
|
29
|
-
/**
|
|
30
|
-
* Weight profile for routing decisions
|
|
31
|
-
* Values range from 0.0 to 1.0
|
|
32
|
-
*/
|
|
33
|
-
export interface WeightProfile {
|
|
34
|
-
/** Weight for accuracy optimization */
|
|
35
|
-
accuracy: number;
|
|
36
|
-
/** Weight for latency optimization */
|
|
37
|
-
latency: number;
|
|
38
|
-
/** Weight for reliability/availability */
|
|
39
|
-
reliability: number;
|
|
40
|
-
/** Weight for resource efficiency */
|
|
41
|
-
efficiency: number;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Tool-specific weight configurations
|
|
45
|
-
* Based on SMI-1521 requirements:
|
|
46
|
-
* - search: accuracy-weighted
|
|
47
|
-
* - recommend: accuracy + personalization
|
|
48
|
-
* - install: balanced (reliability important)
|
|
49
|
-
* - validate: balanced
|
|
50
|
-
* - compare: accuracy-weighted
|
|
51
|
-
* - get_skill: low latency
|
|
52
|
-
*/
|
|
53
|
-
export declare const TOOL_WEIGHTS: Record<ToolType, WeightProfile>;
|
|
54
|
-
/**
|
|
55
|
-
* Expert capability declaration
|
|
56
|
-
*/
|
|
57
|
-
export interface ExpertCapability {
|
|
58
|
-
/** Tools this expert can handle */
|
|
59
|
-
supportedTools: ToolType[];
|
|
60
|
-
/** Maximum concurrent requests */
|
|
61
|
-
maxConcurrency: number;
|
|
62
|
-
/** Average latency in milliseconds */
|
|
63
|
-
avgLatencyMs: number;
|
|
64
|
-
/** Accuracy score (0-1) based on historical performance */
|
|
65
|
-
accuracyScore: number;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Expert definition in the MoE network
|
|
69
|
-
*/
|
|
70
|
-
export interface ExpertDefinition {
|
|
71
|
-
/** Unique expert identifier */
|
|
72
|
-
id: ExpertId;
|
|
73
|
-
/** Expert type classification */
|
|
74
|
-
type: ExpertType;
|
|
75
|
-
/** Name for logging/display */
|
|
76
|
-
name: string;
|
|
77
|
-
/** Detailed description */
|
|
78
|
-
description: string;
|
|
79
|
-
/** Declared capabilities */
|
|
80
|
-
capabilities: ExpertCapability;
|
|
81
|
-
/** Weight profile for routing decisions */
|
|
82
|
-
weights: WeightProfile;
|
|
83
|
-
/** Priority (higher = preferred when tied) */
|
|
84
|
-
priority: number;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Runtime expert status
|
|
88
|
-
*/
|
|
89
|
-
export interface ExpertStatus {
|
|
90
|
-
/** Expert identifier */
|
|
91
|
-
id: ExpertId;
|
|
92
|
-
/** Current health state */
|
|
93
|
-
state: ExpertState;
|
|
94
|
-
/** Current load (0-1) */
|
|
95
|
-
load: number;
|
|
96
|
-
/** Active request count */
|
|
97
|
-
activeRequests: number;
|
|
98
|
-
/** Success rate (last 100 requests) */
|
|
99
|
-
successRate: number;
|
|
100
|
-
/** P95 latency in milliseconds */
|
|
101
|
-
p95LatencyMs: number;
|
|
102
|
-
/** Last health check timestamp */
|
|
103
|
-
lastHealthCheck: Date;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* 8-Expert MoE Network Configuration
|
|
107
|
-
* Designed for Skillsmith MCP tools
|
|
108
|
-
*/
|
|
109
|
-
export declare const SONA_EXPERTS: ExpertDefinition[];
|
|
110
|
-
/**
|
|
111
|
-
* Request context for routing decisions
|
|
112
|
-
*/
|
|
113
|
-
export interface ToolRequest {
|
|
114
|
-
/** Request identifier for tracing */
|
|
115
|
-
requestId: string;
|
|
116
|
-
/** Tool being invoked */
|
|
117
|
-
tool: ToolType;
|
|
118
|
-
/** Tool arguments */
|
|
119
|
-
arguments: Record<string, unknown>;
|
|
120
|
-
/** Request timestamp */
|
|
121
|
-
timestamp: Date;
|
|
122
|
-
/** Optional priority override */
|
|
123
|
-
priority?: 'high' | 'normal' | 'low';
|
|
124
|
-
/** Optional latency constraint (ms) */
|
|
125
|
-
maxLatencyMs?: number;
|
|
126
|
-
/** Request metadata */
|
|
127
|
-
metadata?: {
|
|
128
|
-
/** User/session identifier */
|
|
129
|
-
userId?: string;
|
|
130
|
-
/** Source context (mcp, cli, api) */
|
|
131
|
-
source?: string;
|
|
132
|
-
/** Feature flags for this request */
|
|
133
|
-
featureFlags?: Record<string, boolean>;
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Score breakdown for routing decision
|
|
138
|
-
*/
|
|
139
|
-
export interface RoutingScores {
|
|
140
|
-
/** Accuracy contribution */
|
|
141
|
-
accuracyScore: number;
|
|
142
|
-
/** Latency contribution */
|
|
143
|
-
latencyScore: number;
|
|
144
|
-
/** Reliability contribution */
|
|
145
|
-
reliabilityScore: number;
|
|
146
|
-
/** Efficiency contribution */
|
|
147
|
-
efficiencyScore: number;
|
|
148
|
-
/** Final weighted score */
|
|
149
|
-
totalScore: number;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Alternative expert considered in routing
|
|
153
|
-
*/
|
|
154
|
-
export interface RoutingAlternative {
|
|
155
|
-
expertId: ExpertId;
|
|
156
|
-
score: number;
|
|
157
|
-
reason: string;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Routing decision made by SONARouter
|
|
161
|
-
*/
|
|
162
|
-
export interface RoutingDecision {
|
|
163
|
-
/** Request this decision applies to */
|
|
164
|
-
requestId: string;
|
|
165
|
-
/** Selected expert */
|
|
166
|
-
expertId: ExpertId;
|
|
167
|
-
/** Confidence in this routing (0-1) */
|
|
168
|
-
confidence: number;
|
|
169
|
-
/** Score breakdown */
|
|
170
|
-
scores: RoutingScores;
|
|
171
|
-
/** Alternative experts considered (top 3) */
|
|
172
|
-
alternatives: RoutingAlternative[];
|
|
173
|
-
/** Routing reasoning for debugging */
|
|
174
|
-
reason: string;
|
|
175
|
-
/** Decision timestamp */
|
|
176
|
-
decidedAt: Date;
|
|
177
|
-
/** Time to make decision (ms) */
|
|
178
|
-
decisionTimeMs: number;
|
|
179
|
-
/** Whether from cache */
|
|
180
|
-
cacheHit?: boolean;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Tool execution response
|
|
184
|
-
*/
|
|
185
|
-
export interface ToolResponse<T = unknown> {
|
|
186
|
-
/** Request identifier */
|
|
187
|
-
requestId: string;
|
|
188
|
-
/** Whether execution succeeded */
|
|
189
|
-
success: boolean;
|
|
190
|
-
/** Response data (if successful) */
|
|
191
|
-
data?: T;
|
|
192
|
-
/** Error information (if failed) */
|
|
193
|
-
error?: {
|
|
194
|
-
code: string;
|
|
195
|
-
message: string;
|
|
196
|
-
details?: Record<string, unknown>;
|
|
197
|
-
};
|
|
198
|
-
/** Execution metadata */
|
|
199
|
-
meta: {
|
|
200
|
-
/** Expert that handled the request */
|
|
201
|
-
expertId: ExpertId;
|
|
202
|
-
/** Total execution time (ms) */
|
|
203
|
-
totalTimeMs: number;
|
|
204
|
-
/** Routing decision time (ms) */
|
|
205
|
-
routingTimeMs: number;
|
|
206
|
-
/** Expert execution time (ms) */
|
|
207
|
-
executionTimeMs: number;
|
|
208
|
-
/** Whether cache was used */
|
|
209
|
-
cacheHit: boolean;
|
|
210
|
-
/** Whether fallback was triggered */
|
|
211
|
-
usedFallback: boolean;
|
|
212
|
-
};
|
|
213
|
-
}
|
|
8
|
+
export type { ExpertId, ExpertType, ExpertState, ToolType, WeightProfile, ExpertCapability, ExpertDefinition, ExpertStatus, } from './expert-types.js';
|
|
9
|
+
export { TOOL_WEIGHTS, SONA_EXPERTS } from './expert-types.js';
|
|
10
|
+
export type { ToolRequest, RoutingScores, RoutingAlternative, RoutingDecision, ToolResponse, } from './request-types.js';
|
|
11
|
+
import type { ExpertId, ExpertState, ToolType, ExpertDefinition } from './expert-types.js';
|
|
214
12
|
/**
|
|
215
13
|
* Histogram bucket configuration
|
|
216
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routing/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routing/types.ts"],"names":[],"mappings":"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"}
|