@skillsmith/core 0.4.1 → 0.4.3
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/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/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/api/client.d.ts +5 -121
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.js +24 -136
- 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/utils.d.ts +46 -0
- package/dist/src/api/utils.d.ts.map +1 -0
- package/dist/src/api/utils.js +96 -0
- package/dist/src/api/utils.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 +3 -62
- package/dist/src/billing/StripeClient.d.ts.map +1 -1
- package/dist/src/billing/StripeClient.js +10 -68
- 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 -59
- package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -1
- package/dist/src/billing/StripeWebhookHandler.js +14 -304
- 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 +7 -104
- package/dist/src/db/migration.d.ts.map +1 -1
- package/dist/src/db/migration.js +15 -65
- package/dist/src/db/migration.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/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/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 +11 -55
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +24 -59
- package/dist/src/index.js.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/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 -203
- package/dist/src/scripts/github-import/github-client.js.map +1 -1
- 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 +1 -0
- package/dist/src/scripts/review-lenny-skills.d.ts.map +1 -1
- package/dist/src/scripts/review-lenny-skills.js +5 -310
- package/dist/src/scripts/review-lenny-skills.js.map +1 -1
- 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 +2 -11
- package/dist/src/security/AuditLogger.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/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 +2 -31
- 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 +14 -132
- 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 +6 -86
- package/dist/src/services/SkillAnalyzer.d.ts.map +1 -1
- 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 +16 -167
- package/dist/src/services/SkillAnalyzer.js.map +1 -1
- 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 +4 -70
- package/dist/src/services/SkillDecomposer.d.ts.map +1 -1
- 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 +6 -249
- package/dist/src/services/SkillDecomposer.js.map +1 -1
- 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 +12 -3
- package/dist/src/services/SubagentGenerator.d.ts.map +1 -1
- package/dist/src/services/SubagentGenerator.js +43 -10
- package/dist/src/services/SubagentGenerator.js.map +1 -1
- 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 +8 -4
- package/dist/src/services/TransformationService.d.ts.map +1 -1
- package/dist/src/services/TransformationService.js +58 -34
- package/dist/src/services/TransformationService.js.map +1 -1
- 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.js +12 -10
- package/dist/src/services/__tests__/TransformationService.test.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 +23 -168
- package/dist/src/telemetry/tracer.js.map +1 -1
- 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/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 +4 -1
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types/skill.js.map +1 -1
- package/dist/src/types.d.ts +6 -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/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/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/api/utils.test.d.ts +7 -0
- package/dist/tests/api/utils.test.d.ts.map +1 -0
- package/dist/tests/api/utils.test.js +121 -0
- package/dist/tests/api/utils.test.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/package.json +4 -4
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Daily Index Generation Pipeline (SMI-593)
|
|
3
3
|
*
|
|
4
4
|
* Orchestrates the daily skill indexing process across multiple sources.
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
|
+
* @see pipeline-types.ts for type definitions
|
|
6
7
|
*/
|
|
7
8
|
import { SourceIndexer, } from '../sources/SourceIndexer.js';
|
|
8
9
|
import { QualityScorer } from '../scoring/QualityScorer.js';
|
|
@@ -14,50 +15,22 @@ import { QualityScorer } from '../scoring/QualityScorer.js';
|
|
|
14
15
|
* - Progress tracking and callbacks
|
|
15
16
|
* - Error handling and recovery
|
|
16
17
|
* - Run state management
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const pipeline = new DailyIndexPipeline()
|
|
21
|
-
*
|
|
22
|
-
* const result = await pipeline.run({
|
|
23
|
-
* sources: [
|
|
24
|
-
* { adapter: githubAdapter, searchOptions: { topics: ['claude-skill'] } },
|
|
25
|
-
* { adapter: gitlabAdapter, searchOptions: { topics: ['claude'] } }
|
|
26
|
-
* ],
|
|
27
|
-
* parser: skillParser,
|
|
28
|
-
* repository: skillRepository,
|
|
29
|
-
* onProgress: (p) => console.log(`${p.sourcesCompleted}/${p.totalSources} sources`)
|
|
30
|
-
* })
|
|
31
|
-
*
|
|
32
|
-
* console.log(`Indexed ${result.summary.skillsCreated} new skills`)
|
|
33
|
-
* ```
|
|
34
18
|
*/
|
|
35
19
|
export class DailyIndexPipeline {
|
|
36
20
|
currentRun = null;
|
|
37
21
|
scorer = new QualityScorer();
|
|
38
|
-
/**
|
|
39
|
-
* Check if pipeline is currently running
|
|
40
|
-
*/
|
|
41
22
|
get isRunning() {
|
|
42
23
|
return this.currentRun?.status === 'running';
|
|
43
24
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Get current run ID
|
|
46
|
-
*/
|
|
47
25
|
get currentRunId() {
|
|
48
26
|
return this.currentRun?.id ?? null;
|
|
49
27
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Run the pipeline
|
|
52
|
-
*/
|
|
53
28
|
async run(config) {
|
|
54
|
-
if (this.isRunning)
|
|
29
|
+
if (this.isRunning)
|
|
55
30
|
throw new Error('Pipeline is already running');
|
|
56
|
-
}
|
|
57
31
|
const runId = config.runId ?? this.generateRunId();
|
|
58
32
|
const startedAt = new Date().toISOString();
|
|
59
33
|
const startTime = Date.now();
|
|
60
|
-
// Initialize run state
|
|
61
34
|
this.currentRun = {
|
|
62
35
|
id: runId,
|
|
63
36
|
status: 'running',
|
|
@@ -68,11 +41,9 @@ export class DailyIndexPipeline {
|
|
|
68
41
|
indexed: 0,
|
|
69
42
|
cancelled: false,
|
|
70
43
|
};
|
|
71
|
-
// Sort sources by priority
|
|
72
44
|
const sortedSources = [...config.sources].sort((a, b) => (a.priority ?? 100) - (b.priority ?? 100));
|
|
73
45
|
const maxConcurrent = config.maxConcurrentSources ?? 1;
|
|
74
46
|
try {
|
|
75
|
-
// Process sources in batches
|
|
76
47
|
for (let i = 0; i < sortedSources.length; i += maxConcurrent) {
|
|
77
48
|
if (this.currentRun.cancelled) {
|
|
78
49
|
this.currentRun.status = 'cancelled';
|
|
@@ -92,7 +63,6 @@ export class DailyIndexPipeline {
|
|
|
92
63
|
}
|
|
93
64
|
}
|
|
94
65
|
else {
|
|
95
|
-
// Handle rejected promises (when continueOnError: false)
|
|
96
66
|
const now = new Date().toISOString();
|
|
97
67
|
this.currentRun.results.push({
|
|
98
68
|
sourceId: sourceConfig.adapter.id,
|
|
@@ -105,10 +75,8 @@ export class DailyIndexPipeline {
|
|
|
105
75
|
});
|
|
106
76
|
}
|
|
107
77
|
}
|
|
108
|
-
// Emit progress
|
|
109
78
|
this.emitProgress(config);
|
|
110
79
|
}
|
|
111
|
-
// Determine final status
|
|
112
80
|
if (this.currentRun.status === 'running') {
|
|
113
81
|
const hasFailures = this.currentRun.results.some((r) => r.error);
|
|
114
82
|
this.currentRun.status = hasFailures && !config.continueOnError ? 'failed' : 'completed';
|
|
@@ -118,17 +86,12 @@ export class DailyIndexPipeline {
|
|
|
118
86
|
this.currentRun.status = 'failed';
|
|
119
87
|
throw error;
|
|
120
88
|
}
|
|
121
|
-
// Build result
|
|
122
89
|
const completedAt = new Date().toISOString();
|
|
123
90
|
const result = this.buildResult(runId, startedAt, completedAt);
|
|
124
|
-
// Clean up
|
|
125
91
|
const finalResult = { ...result };
|
|
126
92
|
this.currentRun = null;
|
|
127
93
|
return finalResult;
|
|
128
94
|
}
|
|
129
|
-
/**
|
|
130
|
-
* Cancel the current run
|
|
131
|
-
*/
|
|
132
95
|
cancel() {
|
|
133
96
|
if (this.currentRun && this.currentRun.status === 'running') {
|
|
134
97
|
this.currentRun.cancelled = true;
|
|
@@ -136,16 +99,12 @@ export class DailyIndexPipeline {
|
|
|
136
99
|
}
|
|
137
100
|
return false;
|
|
138
101
|
}
|
|
139
|
-
/**
|
|
140
|
-
* Get current progress
|
|
141
|
-
*/
|
|
142
102
|
getProgress() {
|
|
143
103
|
if (!this.currentRun)
|
|
144
104
|
return null;
|
|
145
105
|
const elapsed = Date.now() - this.currentRun.startTime;
|
|
146
106
|
const completed = this.currentRun.results.length;
|
|
147
107
|
const total = this.currentRun.config.sources.length;
|
|
148
|
-
// Estimate remaining time
|
|
149
108
|
let estimatedRemaining;
|
|
150
109
|
if (completed > 0 && completed < total) {
|
|
151
110
|
const avgTimePerSource = elapsed / completed;
|
|
@@ -158,29 +117,21 @@ export class DailyIndexPipeline {
|
|
|
158
117
|
totalSources: total,
|
|
159
118
|
skillsProcessed: this.currentRun.processed,
|
|
160
119
|
skillsIndexed: this.currentRun.indexed,
|
|
161
|
-
currentSource: undefined,
|
|
120
|
+
currentSource: undefined,
|
|
162
121
|
elapsedMs: elapsed,
|
|
163
122
|
estimatedRemainingMs: estimatedRemaining,
|
|
164
123
|
};
|
|
165
124
|
}
|
|
166
|
-
/**
|
|
167
|
-
* Process a single source
|
|
168
|
-
*/
|
|
169
125
|
async processSource(sourceConfig, pipelineConfig) {
|
|
170
126
|
const { adapter } = sourceConfig;
|
|
171
127
|
const startedAt = new Date().toISOString();
|
|
172
128
|
const startTime = Date.now();
|
|
173
129
|
try {
|
|
174
|
-
// Initialize adapter if needed
|
|
175
130
|
await adapter.initialize();
|
|
176
|
-
// Create indexer for this source
|
|
177
131
|
const indexer = new SourceIndexer(adapter, pipelineConfig.parser, pipelineConfig.repository, {
|
|
178
132
|
skipUnchanged: sourceConfig.incremental ?? true,
|
|
179
|
-
onProgress: (
|
|
180
|
-
// Could emit granular progress here
|
|
181
|
-
},
|
|
133
|
+
onProgress: () => { },
|
|
182
134
|
});
|
|
183
|
-
// Run indexing
|
|
184
135
|
const result = await indexer.indexAll(sourceConfig.searchOptions ?? {});
|
|
185
136
|
const completedAt = new Date().toISOString();
|
|
186
137
|
const sourceResult = {
|
|
@@ -191,14 +142,12 @@ export class DailyIndexPipeline {
|
|
|
191
142
|
startedAt,
|
|
192
143
|
completedAt,
|
|
193
144
|
};
|
|
194
|
-
// Notify completion
|
|
195
145
|
pipelineConfig.onSourceComplete?.(adapter.id, result);
|
|
196
146
|
return sourceResult;
|
|
197
147
|
}
|
|
198
148
|
catch (error) {
|
|
199
149
|
const completedAt = new Date().toISOString();
|
|
200
150
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
201
|
-
// Notify error
|
|
202
151
|
pipelineConfig.onError?.(adapter.id, error instanceof Error ? error : new Error(errorMessage));
|
|
203
152
|
const sourceResult = {
|
|
204
153
|
sourceId: adapter.id,
|
|
@@ -209,24 +158,16 @@ export class DailyIndexPipeline {
|
|
|
209
158
|
startedAt,
|
|
210
159
|
completedAt,
|
|
211
160
|
};
|
|
212
|
-
if (!pipelineConfig.continueOnError)
|
|
161
|
+
if (!pipelineConfig.continueOnError)
|
|
213
162
|
throw error;
|
|
214
|
-
}
|
|
215
163
|
return sourceResult;
|
|
216
164
|
}
|
|
217
165
|
}
|
|
218
|
-
/**
|
|
219
|
-
* Emit progress update
|
|
220
|
-
*/
|
|
221
166
|
emitProgress(config) {
|
|
222
167
|
const progress = this.getProgress();
|
|
223
|
-
if (progress && config.onProgress)
|
|
168
|
+
if (progress && config.onProgress)
|
|
224
169
|
config.onProgress(progress);
|
|
225
|
-
}
|
|
226
170
|
}
|
|
227
|
-
/**
|
|
228
|
-
* Build final result
|
|
229
|
-
*/
|
|
230
171
|
buildResult(runId, startedAt, completedAt) {
|
|
231
172
|
const run = this.currentRun;
|
|
232
173
|
const results = run.results;
|
|
@@ -251,9 +192,6 @@ export class DailyIndexPipeline {
|
|
|
251
192
|
summary,
|
|
252
193
|
};
|
|
253
194
|
}
|
|
254
|
-
/**
|
|
255
|
-
* Generate a unique run ID
|
|
256
|
-
*/
|
|
257
195
|
generateRunId() {
|
|
258
196
|
const date = new Date();
|
|
259
197
|
const dateStr = date.toISOString().split('T')[0].replace(/-/g, '');
|
|
@@ -262,9 +200,6 @@ export class DailyIndexPipeline {
|
|
|
262
200
|
return `run-${dateStr}-${timeStr}-${random}`;
|
|
263
201
|
}
|
|
264
202
|
}
|
|
265
|
-
/**
|
|
266
|
-
* Create a scheduled pipeline runner
|
|
267
|
-
*/
|
|
268
203
|
export function createScheduledPipeline(config, options) {
|
|
269
204
|
const pipeline = new DailyIndexPipeline();
|
|
270
205
|
let intervalId = null;
|
|
@@ -289,9 +224,8 @@ export function createScheduledPipeline(config, options) {
|
|
|
289
224
|
start: () => {
|
|
290
225
|
if (intervalId)
|
|
291
226
|
return;
|
|
292
|
-
if (options.runImmediately)
|
|
227
|
+
if (options.runImmediately)
|
|
293
228
|
runPipeline();
|
|
294
|
-
}
|
|
295
229
|
intervalId = setInterval(runPipeline, options.intervalMs);
|
|
296
230
|
},
|
|
297
231
|
stop: () => {
|
|
@@ -305,16 +239,8 @@ export function createScheduledPipeline(config, options) {
|
|
|
305
239
|
getLastResult: () => lastResult,
|
|
306
240
|
};
|
|
307
241
|
}
|
|
308
|
-
/**
|
|
309
|
-
* Run pipeline once with default configuration
|
|
310
|
-
*/
|
|
311
242
|
export async function runDailyIndex(sources, parser, repository, options) {
|
|
312
243
|
const pipeline = new DailyIndexPipeline();
|
|
313
|
-
return pipeline.run({
|
|
314
|
-
sources,
|
|
315
|
-
parser,
|
|
316
|
-
repository,
|
|
317
|
-
...options,
|
|
318
|
-
});
|
|
244
|
+
return pipeline.run({ sources, parser, repository, ...options });
|
|
319
245
|
}
|
|
320
246
|
//# sourceMappingURL=DailyIndexPipeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DailyIndexPipeline.js","sourceRoot":"","sources":["../../../src/pipeline/DailyIndexPipeline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"DailyIndexPipeline.js","sourceRoot":"","sources":["../../../src/pipeline/DailyIndexPipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for DailyIndexPipeline
|
|
3
|
+
* @module @skillsmith/core/pipeline/pipeline-types
|
|
4
|
+
*/
|
|
5
|
+
import type { ISourceAdapter } from '../sources/ISourceAdapter.js';
|
|
6
|
+
import type { SourceSearchOptions, BatchIndexResult } from '../sources/types.js';
|
|
7
|
+
import type { ISkillParser, ISkillRepository } from '../sources/SourceIndexer.js';
|
|
8
|
+
/**
|
|
9
|
+
* Pipeline execution status
|
|
10
|
+
*/
|
|
11
|
+
export type PipelineStatus = 'idle' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
12
|
+
/**
|
|
13
|
+
* Source configuration for the pipeline
|
|
14
|
+
*/
|
|
15
|
+
export interface PipelineSourceConfig {
|
|
16
|
+
/** Source adapter instance */
|
|
17
|
+
adapter: ISourceAdapter;
|
|
18
|
+
/** Search options for this source */
|
|
19
|
+
searchOptions?: SourceSearchOptions;
|
|
20
|
+
/** Whether to enable incremental updates (skip unchanged) */
|
|
21
|
+
incremental?: boolean;
|
|
22
|
+
/** Priority (lower runs first) */
|
|
23
|
+
priority?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Pipeline run configuration
|
|
27
|
+
*/
|
|
28
|
+
export interface PipelineConfig {
|
|
29
|
+
/** Sources to index */
|
|
30
|
+
sources: PipelineSourceConfig[];
|
|
31
|
+
/** Skill content parser */
|
|
32
|
+
parser: ISkillParser;
|
|
33
|
+
/** Skill repository for persistence */
|
|
34
|
+
repository: ISkillRepository;
|
|
35
|
+
/** Maximum concurrent source processing */
|
|
36
|
+
maxConcurrentSources?: number;
|
|
37
|
+
/** Callback for progress updates */
|
|
38
|
+
onProgress?: (progress: PipelineProgress) => void;
|
|
39
|
+
/** Callback for source completion */
|
|
40
|
+
onSourceComplete?: (sourceId: string, result: BatchIndexResult) => void;
|
|
41
|
+
/** Callback for errors */
|
|
42
|
+
onError?: (sourceId: string, error: Error) => void;
|
|
43
|
+
/** Whether to continue on source errors */
|
|
44
|
+
continueOnError?: boolean;
|
|
45
|
+
/** Run identifier */
|
|
46
|
+
runId?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Progress information
|
|
50
|
+
*/
|
|
51
|
+
export interface PipelineProgress {
|
|
52
|
+
/** Current run ID */
|
|
53
|
+
runId: string;
|
|
54
|
+
/** Current status */
|
|
55
|
+
status: PipelineStatus;
|
|
56
|
+
/** Sources completed */
|
|
57
|
+
sourcesCompleted: number;
|
|
58
|
+
/** Total sources */
|
|
59
|
+
totalSources: number;
|
|
60
|
+
/** Skills processed so far */
|
|
61
|
+
skillsProcessed: number;
|
|
62
|
+
/** Skills indexed (created + updated) */
|
|
63
|
+
skillsIndexed: number;
|
|
64
|
+
/** Current source being processed */
|
|
65
|
+
currentSource?: string;
|
|
66
|
+
/** Elapsed time in milliseconds */
|
|
67
|
+
elapsedMs: number;
|
|
68
|
+
/** Estimated remaining time in milliseconds */
|
|
69
|
+
estimatedRemainingMs?: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Source result
|
|
73
|
+
*/
|
|
74
|
+
export interface SourceResult {
|
|
75
|
+
/** Source identifier */
|
|
76
|
+
sourceId: string;
|
|
77
|
+
/** Source name */
|
|
78
|
+
sourceName: string;
|
|
79
|
+
/** Index result */
|
|
80
|
+
result: BatchIndexResult | null;
|
|
81
|
+
/** Error if failed */
|
|
82
|
+
error?: string;
|
|
83
|
+
/** Duration in milliseconds */
|
|
84
|
+
durationMs: number;
|
|
85
|
+
/** Start time */
|
|
86
|
+
startedAt: string;
|
|
87
|
+
/** End time */
|
|
88
|
+
completedAt: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Pipeline run result
|
|
92
|
+
*/
|
|
93
|
+
export interface PipelineResult {
|
|
94
|
+
/** Run identifier */
|
|
95
|
+
runId: string;
|
|
96
|
+
/** Final status */
|
|
97
|
+
status: PipelineStatus;
|
|
98
|
+
/** When the run started */
|
|
99
|
+
startedAt: string;
|
|
100
|
+
/** When the run completed */
|
|
101
|
+
completedAt: string;
|
|
102
|
+
/** Total duration in milliseconds */
|
|
103
|
+
durationMs: number;
|
|
104
|
+
/** Results per source */
|
|
105
|
+
sourceResults: SourceResult[];
|
|
106
|
+
/** Aggregate statistics */
|
|
107
|
+
summary: PipelineSummary;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Pipeline summary statistics
|
|
111
|
+
*/
|
|
112
|
+
export interface PipelineSummary {
|
|
113
|
+
/** Total sources processed */
|
|
114
|
+
totalSources: number;
|
|
115
|
+
/** Sources that succeeded */
|
|
116
|
+
successfulSources: number;
|
|
117
|
+
/** Sources that failed */
|
|
118
|
+
failedSources: number;
|
|
119
|
+
/** Total skills found */
|
|
120
|
+
totalSkills: number;
|
|
121
|
+
/** Skills created */
|
|
122
|
+
skillsCreated: number;
|
|
123
|
+
/** Skills updated */
|
|
124
|
+
skillsUpdated: number;
|
|
125
|
+
/** Skills unchanged */
|
|
126
|
+
skillsUnchanged: number;
|
|
127
|
+
/** Skills failed */
|
|
128
|
+
skillsFailed: number;
|
|
129
|
+
/** Total errors */
|
|
130
|
+
totalErrors: number;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=pipeline-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-types.d.ts","sourceRoot":"","sources":["../../../src/pipeline/pipeline-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-types.js","sourceRoot":"","sources":["../../../src/pipeline/pipeline-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -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"}
|