@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.
Files changed (612) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
  3. package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
  4. package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -1
  5. package/dist/src/analysis/adapters/java-parsers.d.ts +64 -0
  6. package/dist/src/analysis/adapters/java-parsers.d.ts.map +1 -0
  7. package/dist/src/analysis/adapters/java-parsers.js +114 -0
  8. package/dist/src/analysis/adapters/java-parsers.js.map +1 -0
  9. package/dist/src/analysis/adapters/java.d.ts +1 -51
  10. package/dist/src/analysis/adapters/java.d.ts.map +1 -1
  11. package/dist/src/analysis/adapters/java.js +94 -205
  12. package/dist/src/analysis/adapters/java.js.map +1 -1
  13. package/dist/src/analysis/adapters/python-frameworks.d.ts +21 -0
  14. package/dist/src/analysis/adapters/python-frameworks.d.ts.map +1 -0
  15. package/dist/src/analysis/adapters/python-frameworks.js +86 -0
  16. package/dist/src/analysis/adapters/python-frameworks.js.map +1 -0
  17. package/dist/src/analysis/adapters/python.d.ts +0 -50
  18. package/dist/src/analysis/adapters/python.d.ts.map +1 -1
  19. package/dist/src/analysis/adapters/python.js +5 -120
  20. package/dist/src/analysis/adapters/python.js.map +1 -1
  21. package/dist/src/analysis/adapters/rust-parsers.d.ts +33 -0
  22. package/dist/src/analysis/adapters/rust-parsers.d.ts.map +1 -0
  23. package/dist/src/analysis/adapters/rust-parsers.js +94 -0
  24. package/dist/src/analysis/adapters/rust-parsers.js.map +1 -0
  25. package/dist/src/analysis/adapters/rust.d.ts +1 -43
  26. package/dist/src/analysis/adapters/rust.d.ts.map +1 -1
  27. package/dist/src/analysis/adapters/rust.js +74 -173
  28. package/dist/src/analysis/adapters/rust.js.map +1 -1
  29. package/dist/src/analysis/language-detector.d.ts +4 -20
  30. package/dist/src/analysis/language-detector.d.ts.map +1 -1
  31. package/dist/src/analysis/language-detector.js +2 -399
  32. package/dist/src/analysis/language-detector.js.map +1 -1
  33. package/dist/src/analysis/language-detector.patterns.d.ts +17 -0
  34. package/dist/src/analysis/language-detector.patterns.d.ts.map +1 -0
  35. package/dist/src/analysis/language-detector.patterns.js +413 -0
  36. package/dist/src/analysis/language-detector.patterns.js.map +1 -0
  37. package/dist/src/analysis/language-detector.types.d.ts +48 -0
  38. package/dist/src/analysis/language-detector.types.d.ts.map +1 -0
  39. package/dist/src/analysis/language-detector.types.js +6 -0
  40. package/dist/src/analysis/language-detector.types.js.map +1 -0
  41. package/dist/src/analysis/metrics.d.ts +22 -219
  42. package/dist/src/analysis/metrics.d.ts.map +1 -1
  43. package/dist/src/analysis/metrics.implementations.d.ts +39 -0
  44. package/dist/src/analysis/metrics.implementations.d.ts.map +1 -0
  45. package/dist/src/analysis/metrics.implementations.js +114 -0
  46. package/dist/src/analysis/metrics.implementations.js.map +1 -0
  47. package/dist/src/analysis/metrics.js +21 -224
  48. package/dist/src/analysis/metrics.js.map +1 -1
  49. package/dist/src/analysis/metrics.types.d.ts +79 -0
  50. package/dist/src/analysis/metrics.types.d.ts.map +1 -0
  51. package/dist/src/analysis/metrics.types.js +6 -0
  52. package/dist/src/analysis/metrics.types.js.map +1 -0
  53. package/dist/src/analysis/worker-pool.d.ts +25 -52
  54. package/dist/src/analysis/worker-pool.d.ts.map +1 -1
  55. package/dist/src/analysis/worker-pool.js +29 -181
  56. package/dist/src/analysis/worker-pool.js.map +1 -1
  57. package/dist/src/analysis/worker-types.d.ts +64 -0
  58. package/dist/src/analysis/worker-types.d.ts.map +1 -0
  59. package/dist/src/analysis/worker-types.js +11 -0
  60. package/dist/src/analysis/worker-types.js.map +1 -0
  61. package/dist/src/analysis/worker-utils.d.ts +49 -0
  62. package/dist/src/analysis/worker-utils.d.ts.map +1 -0
  63. package/dist/src/analysis/worker-utils.js +206 -0
  64. package/dist/src/analysis/worker-utils.js.map +1 -0
  65. package/dist/src/analytics/AnalyticsRepository.d.ts +1 -5
  66. package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
  67. package/dist/src/analytics/AnalyticsRepository.helpers.d.ts +28 -0
  68. package/dist/src/analytics/AnalyticsRepository.helpers.d.ts.map +1 -0
  69. package/dist/src/analytics/AnalyticsRepository.helpers.js +90 -0
  70. package/dist/src/analytics/AnalyticsRepository.helpers.js.map +1 -0
  71. package/dist/src/analytics/AnalyticsRepository.js +16 -129
  72. package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
  73. package/dist/src/analytics/AnalyticsRepository.types.d.ts +82 -0
  74. package/dist/src/analytics/AnalyticsRepository.types.d.ts.map +1 -0
  75. package/dist/src/analytics/AnalyticsRepository.types.js +8 -0
  76. package/dist/src/analytics/AnalyticsRepository.types.js.map +1 -0
  77. package/dist/src/analytics/ROIDashboardService.js +4 -2
  78. package/dist/src/analytics/ROIDashboardService.js.map +1 -1
  79. package/dist/src/api/cache.d.ts.map +1 -1
  80. package/dist/src/api/cache.js.map +1 -1
  81. package/dist/src/api/client.d.ts +6 -121
  82. package/dist/src/api/client.d.ts.map +1 -1
  83. package/dist/src/api/client.js +29 -129
  84. package/dist/src/api/client.js.map +1 -1
  85. package/dist/src/api/schemas.d.ts +122 -0
  86. package/dist/src/api/schemas.d.ts.map +1 -0
  87. package/dist/src/api/schemas.js +71 -0
  88. package/dist/src/api/schemas.js.map +1 -0
  89. package/dist/src/api/types.d.ts +1 -1
  90. package/dist/src/api/types.d.ts.map +1 -1
  91. package/dist/src/api/utils.d.ts +35 -0
  92. package/dist/src/api/utils.d.ts.map +1 -0
  93. package/dist/src/api/utils.js +86 -0
  94. package/dist/src/api/utils.js.map +1 -0
  95. package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -1
  96. package/dist/src/benchmarks/BenchmarkRunner.js +1 -1
  97. package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
  98. package/dist/src/billing/BillingService.d.ts +15 -53
  99. package/dist/src/billing/BillingService.d.ts.map +1 -1
  100. package/dist/src/billing/BillingService.helpers.d.ts +15 -0
  101. package/dist/src/billing/BillingService.helpers.d.ts.map +1 -0
  102. package/dist/src/billing/BillingService.helpers.js +45 -0
  103. package/dist/src/billing/BillingService.helpers.js.map +1 -0
  104. package/dist/src/billing/BillingService.js +49 -179
  105. package/dist/src/billing/BillingService.js.map +1 -1
  106. package/dist/src/billing/BillingService.types.d.ts +52 -0
  107. package/dist/src/billing/BillingService.types.d.ts.map +1 -0
  108. package/dist/src/billing/BillingService.types.js +6 -0
  109. package/dist/src/billing/BillingService.types.js.map +1 -0
  110. package/dist/src/billing/GDPRComplianceService.d.ts +2 -97
  111. package/dist/src/billing/GDPRComplianceService.d.ts.map +1 -1
  112. package/dist/src/billing/GDPRComplianceService.js.map +1 -1
  113. package/dist/src/billing/StripeClient.d.ts +6 -64
  114. package/dist/src/billing/StripeClient.d.ts.map +1 -1
  115. package/dist/src/billing/StripeClient.js +14 -71
  116. package/dist/src/billing/StripeClient.js.map +1 -1
  117. package/dist/src/billing/StripeReconciliationJob.d.ts +2 -47
  118. package/dist/src/billing/StripeReconciliationJob.d.ts.map +1 -1
  119. package/dist/src/billing/StripeReconciliationJob.js +1 -41
  120. package/dist/src/billing/StripeReconciliationJob.js.map +1 -1
  121. package/dist/src/billing/StripeWebhookHandler.d.ts +3 -46
  122. package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -1
  123. package/dist/src/billing/StripeWebhookHandler.js +14 -261
  124. package/dist/src/billing/StripeWebhookHandler.js.map +1 -1
  125. package/dist/src/billing/gdpr-types.d.ts +103 -0
  126. package/dist/src/billing/gdpr-types.d.ts.map +1 -0
  127. package/dist/src/billing/gdpr-types.js +7 -0
  128. package/dist/src/billing/gdpr-types.js.map +1 -0
  129. package/dist/src/billing/reconciliation-helpers.d.ts +16 -0
  130. package/dist/src/billing/reconciliation-helpers.d.ts.map +1 -0
  131. package/dist/src/billing/reconciliation-helpers.js +53 -0
  132. package/dist/src/billing/reconciliation-helpers.js.map +1 -0
  133. package/dist/src/billing/reconciliation-types.d.ts +71 -0
  134. package/dist/src/billing/reconciliation-types.d.ts.map +1 -0
  135. package/dist/src/billing/reconciliation-types.js +7 -0
  136. package/dist/src/billing/reconciliation-types.js.map +1 -0
  137. package/dist/src/billing/stripe-client-types.d.ts +45 -0
  138. package/dist/src/billing/stripe-client-types.d.ts.map +1 -0
  139. package/dist/src/billing/stripe-client-types.js +7 -0
  140. package/dist/src/billing/stripe-client-types.js.map +1 -0
  141. package/dist/src/billing/stripe-helpers.d.ts +17 -0
  142. package/dist/src/billing/stripe-helpers.d.ts.map +1 -0
  143. package/dist/src/billing/stripe-helpers.js +50 -0
  144. package/dist/src/billing/stripe-helpers.js.map +1 -0
  145. package/dist/src/billing/webhook-handlers.d.ts +56 -0
  146. package/dist/src/billing/webhook-handlers.d.ts.map +1 -0
  147. package/dist/src/billing/webhook-handlers.js +303 -0
  148. package/dist/src/billing/webhook-handlers.js.map +1 -0
  149. package/dist/src/billing/webhook-types.d.ts +42 -0
  150. package/dist/src/billing/webhook-types.d.ts.map +1 -0
  151. package/dist/src/billing/webhook-types.js +7 -0
  152. package/dist/src/billing/webhook-types.js.map +1 -0
  153. package/dist/src/config/index.d.ts +118 -0
  154. package/dist/src/config/index.d.ts.map +1 -0
  155. package/dist/src/config/index.js +172 -0
  156. package/dist/src/config/index.js.map +1 -0
  157. package/dist/src/db/migration-types.d.ts +101 -0
  158. package/dist/src/db/migration-types.d.ts.map +1 -0
  159. package/dist/src/db/migration-types.js +6 -0
  160. package/dist/src/db/migration-types.js.map +1 -0
  161. package/dist/src/db/migration.d.ts +32 -0
  162. package/dist/src/db/migration.d.ts.map +1 -0
  163. package/dist/src/db/migration.js +239 -0
  164. package/dist/src/db/migration.js.map +1 -0
  165. package/dist/src/db/schema.d.ts +2 -2
  166. package/dist/src/db/schema.d.ts.map +1 -1
  167. package/dist/src/db/schema.js +23 -1
  168. package/dist/src/db/schema.js.map +1 -1
  169. package/dist/src/embeddings/embedding-types.d.ts +44 -0
  170. package/dist/src/embeddings/embedding-types.d.ts.map +1 -0
  171. package/dist/src/embeddings/embedding-types.js +6 -0
  172. package/dist/src/embeddings/embedding-types.js.map +1 -0
  173. package/dist/src/embeddings/embedding-utils.d.ts +42 -0
  174. package/dist/src/embeddings/embedding-utils.d.ts.map +1 -0
  175. package/dist/src/embeddings/embedding-utils.js +121 -0
  176. package/dist/src/embeddings/embedding-utils.js.map +1 -0
  177. package/dist/src/embeddings/hnsw-store.d.ts +8 -518
  178. package/dist/src/embeddings/hnsw-store.d.ts.map +1 -1
  179. package/dist/src/embeddings/hnsw-store.helpers.d.ts +83 -0
  180. package/dist/src/embeddings/hnsw-store.helpers.d.ts.map +1 -0
  181. package/dist/src/embeddings/hnsw-store.helpers.js +147 -0
  182. package/dist/src/embeddings/hnsw-store.helpers.js.map +1 -0
  183. package/dist/src/embeddings/hnsw-store.js +66 -517
  184. package/dist/src/embeddings/hnsw-store.js.map +1 -1
  185. package/dist/src/embeddings/hnsw-store.types.d.ts +154 -0
  186. package/dist/src/embeddings/hnsw-store.types.d.ts.map +1 -0
  187. package/dist/src/embeddings/hnsw-store.types.js +26 -0
  188. package/dist/src/embeddings/hnsw-store.types.js.map +1 -0
  189. package/dist/src/embeddings/index.d.ts +36 -112
  190. package/dist/src/embeddings/index.d.ts.map +1 -1
  191. package/dist/src/embeddings/index.js +37 -210
  192. package/dist/src/embeddings/index.js.map +1 -1
  193. package/dist/src/errors.d.ts.map +1 -1
  194. package/dist/src/errors.js +1 -1
  195. package/dist/src/errors.js.map +1 -1
  196. package/dist/src/exports/repositories.d.ts +18 -0
  197. package/dist/src/exports/repositories.d.ts.map +1 -0
  198. package/dist/src/exports/repositories.js +30 -0
  199. package/dist/src/exports/repositories.js.map +1 -0
  200. package/dist/src/exports/services.d.ts +30 -0
  201. package/dist/src/exports/services.d.ts.map +1 -0
  202. package/dist/src/exports/services.js +70 -0
  203. package/dist/src/exports/services.js.map +1 -0
  204. package/dist/src/exports/types.d.ts +21 -0
  205. package/dist/src/exports/types.d.ts.map +1 -0
  206. package/dist/src/exports/types.js +12 -0
  207. package/dist/src/exports/types.js.map +1 -0
  208. package/dist/src/index.d.ts +10 -47
  209. package/dist/src/index.d.ts.map +1 -1
  210. package/dist/src/index.js +31 -48
  211. package/dist/src/index.js.map +1 -1
  212. package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
  213. package/dist/src/indexer/GitHubIndexer.js +17 -4
  214. package/dist/src/indexer/GitHubIndexer.js.map +1 -1
  215. package/dist/src/indexer/SwarmIndexer.d.ts.map +1 -1
  216. package/dist/src/indexer/SwarmIndexer.js +1 -1
  217. package/dist/src/indexer/SwarmIndexer.js.map +1 -1
  218. package/dist/src/learning/PatternStore.d.ts +6 -426
  219. package/dist/src/learning/PatternStore.d.ts.map +1 -1
  220. package/dist/src/learning/PatternStore.helpers.d.ts +88 -0
  221. package/dist/src/learning/PatternStore.helpers.d.ts.map +1 -0
  222. package/dist/src/learning/PatternStore.helpers.js +286 -0
  223. package/dist/src/learning/PatternStore.helpers.js.map +1 -0
  224. package/dist/src/learning/PatternStore.js +52 -598
  225. package/dist/src/learning/PatternStore.js.map +1 -1
  226. package/dist/src/learning/PatternStore.queries.d.ts +83 -0
  227. package/dist/src/learning/PatternStore.queries.d.ts.map +1 -0
  228. package/dist/src/learning/PatternStore.queries.js +189 -0
  229. package/dist/src/learning/PatternStore.queries.js.map +1 -0
  230. package/dist/src/learning/PatternStore.types.d.ts +308 -0
  231. package/dist/src/learning/PatternStore.types.d.ts.map +1 -0
  232. package/dist/src/learning/PatternStore.types.js +44 -0
  233. package/dist/src/learning/PatternStore.types.js.map +1 -0
  234. package/dist/src/learning/ReasoningBankIntegration.d.ts +5 -345
  235. package/dist/src/learning/ReasoningBankIntegration.d.ts.map +1 -1
  236. package/dist/src/learning/ReasoningBankIntegration.helpers.d.ts +49 -0
  237. package/dist/src/learning/ReasoningBankIntegration.helpers.d.ts.map +1 -0
  238. package/dist/src/learning/ReasoningBankIntegration.helpers.js +180 -0
  239. package/dist/src/learning/ReasoningBankIntegration.helpers.js.map +1 -0
  240. package/dist/src/learning/ReasoningBankIntegration.js +21 -390
  241. package/dist/src/learning/ReasoningBankIntegration.js.map +1 -1
  242. package/dist/src/learning/ReasoningBankIntegration.types.d.ts +167 -0
  243. package/dist/src/learning/ReasoningBankIntegration.types.d.ts.map +1 -0
  244. package/dist/src/learning/ReasoningBankIntegration.types.js +51 -0
  245. package/dist/src/learning/ReasoningBankIntegration.types.js.map +1 -0
  246. package/dist/src/learning/interfaces.d.ts.map +1 -1
  247. package/dist/src/pipeline/DailyIndexPipeline.d.ts +4 -176
  248. package/dist/src/pipeline/DailyIndexPipeline.d.ts.map +1 -1
  249. package/dist/src/pipeline/DailyIndexPipeline.js +9 -83
  250. package/dist/src/pipeline/DailyIndexPipeline.js.map +1 -1
  251. package/dist/src/pipeline/pipeline-types.d.ts +132 -0
  252. package/dist/src/pipeline/pipeline-types.d.ts.map +1 -0
  253. package/dist/src/pipeline/pipeline-types.js +6 -0
  254. package/dist/src/pipeline/pipeline-types.js.map +1 -0
  255. package/dist/src/repositories/IndexerRepository.d.ts +1 -0
  256. package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
  257. package/dist/src/repositories/IndexerRepository.js +6 -0
  258. package/dist/src/repositories/IndexerRepository.js.map +1 -1
  259. package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
  260. package/dist/src/repositories/SkillRepository.js +20 -5
  261. package/dist/src/repositories/SkillRepository.js.map +1 -1
  262. package/dist/src/routing/SONARouter.d.ts +3 -101
  263. package/dist/src/routing/SONARouter.d.ts.map +1 -1
  264. package/dist/src/routing/SONARouter.helpers.d.ts +112 -0
  265. package/dist/src/routing/SONARouter.helpers.d.ts.map +1 -0
  266. package/dist/src/routing/SONARouter.helpers.js +184 -0
  267. package/dist/src/routing/SONARouter.helpers.js.map +1 -0
  268. package/dist/src/routing/SONARouter.js +16 -318
  269. package/dist/src/routing/SONARouter.js.map +1 -1
  270. package/dist/src/routing/expert-types.d.ts +109 -0
  271. package/dist/src/routing/expert-types.d.ts.map +1 -0
  272. package/dist/src/routing/expert-types.js +162 -0
  273. package/dist/src/routing/expert-types.js.map +1 -0
  274. package/dist/src/routing/request-types.d.ts +113 -0
  275. package/dist/src/routing/request-types.d.ts.map +1 -0
  276. package/dist/src/routing/request-types.js +9 -0
  277. package/dist/src/routing/request-types.js.map +1 -0
  278. package/dist/src/routing/types.d.ts +5 -207
  279. package/dist/src/routing/types.d.ts.map +1 -1
  280. package/dist/src/routing/types.js +3 -153
  281. package/dist/src/routing/types.js.map +1 -1
  282. package/dist/src/scripts/github-import/github-auth.d.ts +17 -0
  283. package/dist/src/scripts/github-import/github-auth.d.ts.map +1 -0
  284. package/dist/src/scripts/github-import/github-auth.js +201 -0
  285. package/dist/src/scripts/github-import/github-auth.js.map +1 -0
  286. package/dist/src/scripts/github-import/github-client.d.ts +5 -5
  287. package/dist/src/scripts/github-import/github-client.d.ts.map +1 -1
  288. package/dist/src/scripts/github-import/github-client.js +5 -204
  289. package/dist/src/scripts/github-import/github-client.js.map +1 -1
  290. package/dist/src/scripts/ingest-lenny-skills.d.ts +40 -0
  291. package/dist/src/scripts/ingest-lenny-skills.d.ts.map +1 -0
  292. package/dist/src/scripts/ingest-lenny-skills.js +346 -0
  293. package/dist/src/scripts/ingest-lenny-skills.js.map +1 -0
  294. package/dist/src/scripts/merge-skills.d.ts +5 -27
  295. package/dist/src/scripts/merge-skills.d.ts.map +1 -1
  296. package/dist/src/scripts/merge-skills.js +4 -144
  297. package/dist/src/scripts/merge-skills.js.map +1 -1
  298. package/dist/src/scripts/merge-types.d.ts +72 -0
  299. package/dist/src/scripts/merge-types.d.ts.map +1 -0
  300. package/dist/src/scripts/merge-types.js +7 -0
  301. package/dist/src/scripts/merge-types.js.map +1 -0
  302. package/dist/src/scripts/merge-utils.d.ts +23 -0
  303. package/dist/src/scripts/merge-utils.d.ts.map +1 -0
  304. package/dist/src/scripts/merge-utils.js +150 -0
  305. package/dist/src/scripts/merge-utils.js.map +1 -0
  306. package/dist/src/scripts/review-categories.d.ts +41 -0
  307. package/dist/src/scripts/review-categories.d.ts.map +1 -0
  308. package/dist/src/scripts/review-categories.js +316 -0
  309. package/dist/src/scripts/review-categories.js.map +1 -0
  310. package/dist/src/scripts/review-lenny-skills.d.ts +26 -0
  311. package/dist/src/scripts/review-lenny-skills.d.ts.map +1 -0
  312. package/dist/src/scripts/review-lenny-skills.js +215 -0
  313. package/dist/src/scripts/review-lenny-skills.js.map +1 -0
  314. package/dist/src/scripts/sync-to-supabase.d.ts +10 -0
  315. package/dist/src/scripts/sync-to-supabase.d.ts.map +1 -0
  316. package/dist/src/scripts/sync-to-supabase.js +93 -0
  317. package/dist/src/scripts/sync-to-supabase.js.map +1 -0
  318. package/dist/src/security/AuditLogger.d.ts +4 -75
  319. package/dist/src/security/AuditLogger.d.ts.map +1 -1
  320. package/dist/src/security/AuditLogger.js +3 -12
  321. package/dist/src/security/AuditLogger.js.map +1 -1
  322. package/dist/src/security/__tests__/pathValidation.test.js.map +1 -1
  323. package/dist/src/security/audit-types.d.ts +96 -0
  324. package/dist/src/security/audit-types.d.ts.map +1 -0
  325. package/dist/src/security/audit-types.js +15 -0
  326. package/dist/src/security/audit-types.js.map +1 -0
  327. package/dist/src/security/sanitization.d.ts +1 -85
  328. package/dist/src/security/sanitization.d.ts.map +1 -1
  329. package/dist/src/security/sanitization.js +2 -133
  330. package/dist/src/security/sanitization.js.map +1 -1
  331. package/dist/src/security/scanner/SecurityScanner.d.ts +12 -88
  332. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
  333. package/dist/src/security/scanner/SecurityScanner.formatters.d.ts +49 -0
  334. package/dist/src/security/scanner/SecurityScanner.formatters.d.ts.map +1 -0
  335. package/dist/src/security/scanner/SecurityScanner.formatters.js +139 -0
  336. package/dist/src/security/scanner/SecurityScanner.formatters.js.map +1 -0
  337. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +40 -0
  338. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -0
  339. package/dist/src/security/scanner/SecurityScanner.helpers.js +142 -0
  340. package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -0
  341. package/dist/src/security/scanner/SecurityScanner.js +26 -255
  342. package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
  343. package/dist/src/security/stripe-validators.d.ts +92 -0
  344. package/dist/src/security/stripe-validators.d.ts.map +1 -0
  345. package/dist/src/security/stripe-validators.js +139 -0
  346. package/dist/src/security/stripe-validators.js.map +1 -0
  347. package/dist/src/services/SearchService.d.ts +5 -29
  348. package/dist/src/services/SearchService.d.ts.map +1 -1
  349. package/dist/src/services/SearchService.helpers.d.ts +42 -0
  350. package/dist/src/services/SearchService.helpers.d.ts.map +1 -0
  351. package/dist/src/services/SearchService.helpers.js +128 -0
  352. package/dist/src/services/SearchService.helpers.js.map +1 -0
  353. package/dist/src/services/SearchService.js +142 -128
  354. package/dist/src/services/SearchService.js.map +1 -1
  355. package/dist/src/services/SearchService.types.d.ts +53 -0
  356. package/dist/src/services/SearchService.types.d.ts.map +1 -0
  357. package/dist/src/services/SearchService.types.js +7 -0
  358. package/dist/src/services/SearchService.types.js.map +1 -0
  359. package/dist/src/services/SkillAnalyzer.d.ts +37 -0
  360. package/dist/src/services/SkillAnalyzer.d.ts.map +1 -0
  361. package/dist/src/services/SkillAnalyzer.helpers.d.ts +103 -0
  362. package/dist/src/services/SkillAnalyzer.helpers.d.ts.map +1 -0
  363. package/dist/src/services/SkillAnalyzer.helpers.js +237 -0
  364. package/dist/src/services/SkillAnalyzer.helpers.js.map +1 -0
  365. package/dist/src/services/SkillAnalyzer.js +270 -0
  366. package/dist/src/services/SkillAnalyzer.js.map +1 -0
  367. package/dist/src/services/SkillAnalyzer.types.d.ts +110 -0
  368. package/dist/src/services/SkillAnalyzer.types.d.ts.map +1 -0
  369. package/dist/src/services/SkillAnalyzer.types.js +9 -0
  370. package/dist/src/services/SkillAnalyzer.types.js.map +1 -0
  371. package/dist/src/services/SkillDecomposer.d.ts +37 -0
  372. package/dist/src/services/SkillDecomposer.d.ts.map +1 -0
  373. package/dist/src/services/SkillDecomposer.helpers.d.ts +75 -0
  374. package/dist/src/services/SkillDecomposer.helpers.d.ts.map +1 -0
  375. package/dist/src/services/SkillDecomposer.helpers.js +277 -0
  376. package/dist/src/services/SkillDecomposer.helpers.js.map +1 -0
  377. package/dist/src/services/SkillDecomposer.js +116 -0
  378. package/dist/src/services/SkillDecomposer.js.map +1 -0
  379. package/dist/src/services/SkillDecomposer.types.d.ts +104 -0
  380. package/dist/src/services/SkillDecomposer.types.d.ts.map +1 -0
  381. package/dist/src/services/SkillDecomposer.types.js +9 -0
  382. package/dist/src/services/SkillDecomposer.types.js.map +1 -0
  383. package/dist/src/services/SubagentGenerator.d.ts +77 -0
  384. package/dist/src/services/SubagentGenerator.d.ts.map +1 -0
  385. package/dist/src/services/SubagentGenerator.js +352 -0
  386. package/dist/src/services/SubagentGenerator.js.map +1 -0
  387. package/dist/src/services/TaskRunner.d.ts +227 -0
  388. package/dist/src/services/TaskRunner.d.ts.map +1 -0
  389. package/dist/src/services/TaskRunner.js +423 -0
  390. package/dist/src/services/TaskRunner.js.map +1 -0
  391. package/dist/src/services/TransformationService.d.ts +167 -0
  392. package/dist/src/services/TransformationService.d.ts.map +1 -0
  393. package/dist/src/services/TransformationService.js +315 -0
  394. package/dist/src/services/TransformationService.js.map +1 -0
  395. package/dist/src/services/__tests__/SkillAnalyzer.test.d.ts +6 -0
  396. package/dist/src/services/__tests__/SkillAnalyzer.test.d.ts.map +1 -0
  397. package/dist/src/services/__tests__/SkillAnalyzer.test.js +177 -0
  398. package/dist/src/services/__tests__/SkillAnalyzer.test.js.map +1 -0
  399. package/dist/src/services/__tests__/SkillDecomposer.test.d.ts +6 -0
  400. package/dist/src/services/__tests__/SkillDecomposer.test.d.ts.map +1 -0
  401. package/dist/src/services/__tests__/SkillDecomposer.test.js +235 -0
  402. package/dist/src/services/__tests__/SkillDecomposer.test.js.map +1 -0
  403. package/dist/src/services/__tests__/SubagentGenerator.test.d.ts +6 -0
  404. package/dist/src/services/__tests__/SubagentGenerator.test.d.ts.map +1 -0
  405. package/dist/src/services/__tests__/SubagentGenerator.test.js +174 -0
  406. package/dist/src/services/__tests__/SubagentGenerator.test.js.map +1 -0
  407. package/dist/src/services/__tests__/TaskRunner.test.d.ts +7 -0
  408. package/dist/src/services/__tests__/TaskRunner.test.d.ts.map +1 -0
  409. package/dist/src/services/__tests__/TaskRunner.test.js +316 -0
  410. package/dist/src/services/__tests__/TaskRunner.test.js.map +1 -0
  411. package/dist/src/services/__tests__/TransformationService.test.d.ts +6 -0
  412. package/dist/src/services/__tests__/TransformationService.test.d.ts.map +1 -0
  413. package/dist/src/services/__tests__/TransformationService.test.js +244 -0
  414. package/dist/src/services/__tests__/TransformationService.test.js.map +1 -0
  415. package/dist/src/session/SessionContext.js +1 -1
  416. package/dist/src/session/SessionContext.js.map +1 -1
  417. package/dist/src/session/SessionManager.d.ts +3 -67
  418. package/dist/src/session/SessionManager.d.ts.map +1 -1
  419. package/dist/src/session/SessionManager.helpers.d.ts +68 -0
  420. package/dist/src/session/SessionManager.helpers.d.ts.map +1 -0
  421. package/dist/src/session/SessionManager.helpers.js +152 -0
  422. package/dist/src/session/SessionManager.helpers.js.map +1 -0
  423. package/dist/src/session/SessionManager.js +58 -163
  424. package/dist/src/session/SessionManager.js.map +1 -1
  425. package/dist/src/session/SessionManager.types.d.ts +88 -0
  426. package/dist/src/session/SessionManager.types.d.ts.map +1 -0
  427. package/dist/src/session/SessionManager.types.js +27 -0
  428. package/dist/src/session/SessionManager.types.js.map +1 -0
  429. package/dist/src/session/SessionRecovery.d.ts.map +1 -1
  430. package/dist/src/session/SessionRecovery.js +3 -2
  431. package/dist/src/session/SessionRecovery.js.map +1 -1
  432. package/dist/src/sources/RawUrlSourceAdapter.js.map +1 -1
  433. package/dist/src/sources/SourceAdapterRegistry.js +1 -1
  434. package/dist/src/sources/SourceAdapterRegistry.js.map +1 -1
  435. package/dist/src/telemetry/metric-helpers.d.ts +47 -0
  436. package/dist/src/telemetry/metric-helpers.d.ts.map +1 -0
  437. package/dist/src/telemetry/metric-helpers.js +96 -0
  438. package/dist/src/telemetry/metric-helpers.js.map +1 -0
  439. package/dist/src/telemetry/metric-types.d.ts +73 -0
  440. package/dist/src/telemetry/metric-types.d.ts.map +1 -0
  441. package/dist/src/telemetry/metric-types.js +9 -0
  442. package/dist/src/telemetry/metric-types.js.map +1 -0
  443. package/dist/src/telemetry/metrics.d.ts +8 -119
  444. package/dist/src/telemetry/metrics.d.ts.map +1 -1
  445. package/dist/src/telemetry/metrics.js +20 -193
  446. package/dist/src/telemetry/metrics.js.map +1 -1
  447. package/dist/src/telemetry/span-utils.d.ts +30 -0
  448. package/dist/src/telemetry/span-utils.d.ts.map +1 -0
  449. package/dist/src/telemetry/span-utils.js +62 -0
  450. package/dist/src/telemetry/span-utils.js.map +1 -0
  451. package/dist/src/telemetry/tracer-types.d.ts +91 -0
  452. package/dist/src/telemetry/tracer-types.d.ts.map +1 -0
  453. package/dist/src/telemetry/tracer-types.js +6 -0
  454. package/dist/src/telemetry/tracer-types.js.map +1 -0
  455. package/dist/src/telemetry/tracer.d.ts +5 -122
  456. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  457. package/dist/src/telemetry/tracer.js +24 -170
  458. package/dist/src/telemetry/tracer.js.map +1 -1
  459. package/dist/src/testing/MultiLLMProvider.d.ts +17 -293
  460. package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
  461. package/dist/src/testing/MultiLLMProvider.helpers.d.ts +54 -0
  462. package/dist/src/testing/MultiLLMProvider.helpers.d.ts.map +1 -0
  463. package/dist/src/testing/MultiLLMProvider.helpers.js +126 -0
  464. package/dist/src/testing/MultiLLMProvider.helpers.js.map +1 -0
  465. package/dist/src/testing/MultiLLMProvider.js +50 -323
  466. package/dist/src/testing/MultiLLMProvider.js.map +1 -1
  467. package/dist/src/testing/MultiLLMProvider.types.d.ts +253 -0
  468. package/dist/src/testing/MultiLLMProvider.types.d.ts.map +1 -0
  469. package/dist/src/testing/MultiLLMProvider.types.js +111 -0
  470. package/dist/src/testing/MultiLLMProvider.types.js.map +1 -0
  471. package/dist/src/triggers/TriggerDetector.d.ts +6 -142
  472. package/dist/src/triggers/TriggerDetector.d.ts.map +1 -1
  473. package/dist/src/triggers/TriggerDetector.js +15 -247
  474. package/dist/src/triggers/TriggerDetector.js.map +1 -1
  475. package/dist/src/triggers/__tests__/TriggerDetector.test.js +1 -1
  476. package/dist/src/triggers/__tests__/TriggerDetector.test.js.map +1 -1
  477. package/dist/src/triggers/trigger-constants.d.ts +22 -0
  478. package/dist/src/triggers/trigger-constants.d.ts.map +1 -0
  479. package/dist/src/triggers/trigger-constants.js +185 -0
  480. package/dist/src/triggers/trigger-constants.js.map +1 -0
  481. package/dist/src/triggers/trigger-types.d.ts +90 -0
  482. package/dist/src/triggers/trigger-types.d.ts.map +1 -0
  483. package/dist/src/triggers/trigger-types.js +6 -0
  484. package/dist/src/triggers/trigger-types.js.map +1 -0
  485. package/dist/src/types/skill.d.ts +33 -1
  486. package/dist/src/types/skill.d.ts.map +1 -1
  487. package/dist/src/types/skill.js +11 -1
  488. package/dist/src/types/skill.js.map +1 -1
  489. package/dist/src/types.d.ts +28 -2
  490. package/dist/src/types.d.ts.map +1 -1
  491. package/dist/src/types.js +1 -0
  492. package/dist/src/types.js.map +1 -1
  493. package/dist/src/utils/retry.js +2 -2
  494. package/dist/src/utils/retry.js.map +1 -1
  495. package/dist/src/validation/index.d.ts +5 -105
  496. package/dist/src/validation/index.d.ts.map +1 -1
  497. package/dist/src/validation/index.js +9 -421
  498. package/dist/src/validation/index.js.map +1 -1
  499. package/dist/src/validation/input-validators.d.ts +68 -0
  500. package/dist/src/validation/input-validators.d.ts.map +1 -0
  501. package/dist/src/validation/input-validators.js +126 -0
  502. package/dist/src/validation/input-validators.js.map +1 -0
  503. package/dist/src/validation/path-validators.d.ts +23 -0
  504. package/dist/src/validation/path-validators.d.ts.map +1 -0
  505. package/dist/src/validation/path-validators.js +47 -0
  506. package/dist/src/validation/path-validators.js.map +1 -0
  507. package/dist/src/validation/url-validators.d.ts +55 -0
  508. package/dist/src/validation/url-validators.d.ts.map +1 -0
  509. package/dist/src/validation/url-validators.js +267 -0
  510. package/dist/src/validation/url-validators.js.map +1 -0
  511. package/dist/src/validation/validation-error.d.ts +14 -0
  512. package/dist/src/validation/validation-error.d.ts.map +1 -0
  513. package/dist/src/validation/validation-error.js +19 -0
  514. package/dist/src/validation/validation-error.js.map +1 -0
  515. package/dist/src/webhooks/WebhookHandler.d.ts.map +1 -1
  516. package/dist/src/webhooks/WebhookHandler.js.map +1 -1
  517. package/dist/src/webhooks/WebhookPayload.d.ts +4 -215
  518. package/dist/src/webhooks/WebhookPayload.d.ts.map +1 -1
  519. package/dist/src/webhooks/WebhookPayload.js +1 -122
  520. package/dist/src/webhooks/WebhookPayload.js.map +1 -1
  521. package/dist/src/webhooks/WebhookQueue.d.ts +2 -140
  522. package/dist/src/webhooks/WebhookQueue.d.ts.map +1 -1
  523. package/dist/src/webhooks/WebhookQueue.js +4 -11
  524. package/dist/src/webhooks/WebhookQueue.js.map +1 -1
  525. package/dist/src/webhooks/WebhookQueue.types.d.ts +149 -0
  526. package/dist/src/webhooks/WebhookQueue.types.d.ts.map +1 -0
  527. package/dist/src/webhooks/WebhookQueue.types.js +10 -0
  528. package/dist/src/webhooks/WebhookQueue.types.js.map +1 -0
  529. package/dist/src/webhooks/WebhookQueue.utils.d.ts +44 -0
  530. package/dist/src/webhooks/WebhookQueue.utils.d.ts.map +1 -0
  531. package/dist/src/webhooks/WebhookQueue.utils.js +58 -0
  532. package/dist/src/webhooks/WebhookQueue.utils.js.map +1 -0
  533. package/dist/src/webhooks/webhook-schemas.d.ts +213 -0
  534. package/dist/src/webhooks/webhook-schemas.d.ts.map +1 -0
  535. package/dist/src/webhooks/webhook-schemas.js +132 -0
  536. package/dist/src/webhooks/webhook-schemas.js.map +1 -0
  537. package/dist/src/webhooks/webhook-types.d.ts +222 -0
  538. package/dist/src/webhooks/webhook-types.d.ts.map +1 -0
  539. package/dist/src/webhooks/webhook-types.js +10 -0
  540. package/dist/src/webhooks/webhook-types.js.map +1 -0
  541. package/dist/tests/Analytics.integration.test.js +2 -2
  542. package/dist/tests/Analytics.integration.test.js.map +1 -1
  543. package/dist/tests/AnalyticsRepository.test.js +3 -5
  544. package/dist/tests/AnalyticsRepository.test.js.map +1 -1
  545. package/dist/tests/AnalyticsStorage.test.js.map +1 -1
  546. package/dist/tests/ApiPartialResponses.test.d.ts +12 -0
  547. package/dist/tests/ApiPartialResponses.test.d.ts.map +1 -0
  548. package/dist/tests/ApiPartialResponses.test.js +202 -0
  549. package/dist/tests/ApiPartialResponses.test.js.map +1 -0
  550. package/dist/tests/AuditLogger.test.js.map +1 -1
  551. package/dist/tests/BenchmarkRunner.test.js +6 -6
  552. package/dist/tests/BenchmarkRunner.test.js.map +1 -1
  553. package/dist/tests/CacheSecurity.test.js.map +1 -1
  554. package/dist/tests/CodebaseAnalyzer.test.js.map +1 -1
  555. package/dist/tests/DailyIndexPipeline.test.js.map +1 -1
  556. package/dist/tests/EmbeddingService.test.js.map +1 -1
  557. package/dist/tests/GitHubIndexer.test.js +4 -3
  558. package/dist/tests/GitHubIndexer.test.js.map +1 -1
  559. package/dist/tests/MemoryProfiler.test.js +3 -3
  560. package/dist/tests/MemoryProfiler.test.js.map +1 -1
  561. package/dist/tests/QualityScorer.test.js.map +1 -1
  562. package/dist/tests/RateLimiter.test.js.map +1 -1
  563. package/dist/tests/ScraperAdapters.test.js.map +1 -1
  564. package/dist/tests/SecurityScanner.test.js +4 -4
  565. package/dist/tests/SecurityScanner.test.js.map +1 -1
  566. package/dist/tests/SessionManager.security.test.js +1 -1
  567. package/dist/tests/SessionManager.security.test.js.map +1 -1
  568. package/dist/tests/SessionManager.test.js +4 -4
  569. package/dist/tests/SessionManager.test.js.map +1 -1
  570. package/dist/tests/SwarmIndexer.test.js +1 -1
  571. package/dist/tests/SwarmIndexer.test.js.map +1 -1
  572. package/dist/tests/TieredCache.test.js +2 -11
  573. package/dist/tests/TieredCache.test.js.map +1 -1
  574. package/dist/tests/WebhookHandler.test.js.map +1 -1
  575. package/dist/tests/fixtures/api-responses/index.d.ts +119 -0
  576. package/dist/tests/fixtures/api-responses/index.d.ts.map +1 -0
  577. package/dist/tests/fixtures/api-responses/index.js +419 -0
  578. package/dist/tests/fixtures/api-responses/index.js.map +1 -0
  579. package/dist/tests/integration/neural/neural-fixtures.d.ts +19 -0
  580. package/dist/tests/integration/neural/neural-fixtures.d.ts.map +1 -0
  581. package/dist/tests/integration/neural/neural-fixtures.js +49 -0
  582. package/dist/tests/integration/neural/neural-fixtures.js.map +1 -0
  583. package/dist/tests/integration/neural/neural-mocks-privacy.d.ts +78 -0
  584. package/dist/tests/integration/neural/neural-mocks-privacy.d.ts.map +1 -0
  585. package/dist/tests/integration/neural/neural-mocks-privacy.js +146 -0
  586. package/dist/tests/integration/neural/neural-mocks-privacy.js.map +1 -0
  587. package/dist/tests/integration/neural/neural-mocks.d.ts +90 -0
  588. package/dist/tests/integration/neural/neural-mocks.d.ts.map +1 -0
  589. package/dist/tests/integration/neural/neural-mocks.js +288 -0
  590. package/dist/tests/integration/neural/neural-mocks.js.map +1 -0
  591. package/dist/tests/integration/neural/neural-test-utils.d.ts +27 -0
  592. package/dist/tests/integration/neural/neural-test-utils.d.ts.map +1 -0
  593. package/dist/tests/integration/neural/neural-test-utils.js +35 -0
  594. package/dist/tests/integration/neural/neural-test-utils.js.map +1 -0
  595. package/dist/tests/integration/neural/setup.d.ts +6 -165
  596. package/dist/tests/integration/neural/setup.d.ts.map +1 -1
  597. package/dist/tests/integration/neural/setup.js +9 -477
  598. package/dist/tests/integration/neural/setup.js.map +1 -1
  599. package/dist/tests/logger.test.js +1 -1
  600. package/dist/tests/logger.test.js.map +1 -1
  601. package/dist/tests/performance/LargeScalePerformance.test.js +1 -1
  602. package/dist/tests/performance/LargeScalePerformance.test.js.map +1 -1
  603. package/dist/tests/sanitization.test.js.map +1 -1
  604. package/dist/tests/session/SessionManager.helpers.test.d.ts +8 -0
  605. package/dist/tests/session/SessionManager.helpers.test.d.ts.map +1 -0
  606. package/dist/tests/session/SessionManager.helpers.test.js +105 -0
  607. package/dist/tests/session/SessionManager.helpers.test.js.map +1 -0
  608. package/dist/tests/sources.test.js.map +1 -1
  609. package/dist/tests/webhooks/WebhookHandler.idempotency.test.js +1 -1
  610. package/dist/tests/webhooks/WebhookHandler.idempotency.test.js.map +1 -1
  611. package/dist/tests/webhooks/WebhookPayload.security.test.js.map +1 -1
  612. package/package.json +11 -11
@@ -6,167 +6,16 @@
6
6
  * Routes MCP tool requests through an 8-expert MoE (Mixture of Experts)
7
7
  * network to optimize tool execution based on accuracy requirements,
8
8
  * latency constraints, and load distribution.
9
- *
10
- * Features:
11
- * - O(1) routing decisions with LRU caching
12
- * - V3 MoE integration with fallback to local scoring
13
- * - Adaptive load balancing across experts
14
- * - Health monitoring and circuit breaker patterns
15
- * - Feature flags for gradual rollout
16
- * - Prometheus-compatible metrics
17
- *
18
- * Performance targets:
19
- * - 2.8-4.4x speed improvement
20
- * - <5ms routing overhead (P95)
21
- * - >60% cache hit rate
22
- *
23
- * @example
24
- * ```typescript
25
- * const router = new SONARouter()
26
- * await router.initialize()
27
- *
28
- * const decision = await router.route({
29
- * requestId: 'req-123',
30
- * tool: 'search',
31
- * arguments: { query: 'testing skills' },
32
- * timestamp: new Date(),
33
- * })
34
- *
35
- * console.log(decision.expertId) // 'accuracy-semantic'
36
- * console.log(decision.confidence) // 0.92
37
- * ```
38
9
  */
39
10
  import { DEFAULT_SONA_CONFIG, TOOL_WEIGHTS } from './types.js';
40
- // ============================================================================
41
- // LRU Cache Implementation
42
- // ============================================================================
43
- /**
44
- * Simple LRU cache for routing decisions
45
- */
46
- class LRUCache {
47
- cache;
48
- maxSize;
49
- ttlMs;
50
- constructor(maxSize, ttlMs) {
51
- this.cache = new Map();
52
- this.maxSize = maxSize;
53
- this.ttlMs = ttlMs;
54
- }
55
- get(key) {
56
- const entry = this.cache.get(key);
57
- if (!entry)
58
- return null;
59
- // Check TTL
60
- if (Date.now() - entry.timestamp > this.ttlMs) {
61
- this.cache.delete(key);
62
- return null;
63
- }
64
- // Move to end (most recently used)
65
- this.cache.delete(key);
66
- this.cache.set(key, entry);
67
- return entry.value;
68
- }
69
- set(key, value) {
70
- // Remove oldest if at capacity
71
- if (this.cache.size >= this.maxSize) {
72
- const firstKey = this.cache.keys().next().value;
73
- if (firstKey !== undefined) {
74
- this.cache.delete(firstKey);
75
- }
76
- }
77
- this.cache.set(key, { value, timestamp: Date.now() });
78
- }
79
- clear() {
80
- this.cache.clear();
81
- }
82
- get size() {
83
- return this.cache.size;
84
- }
85
- }
86
- // ============================================================================
87
- // Metrics Collector
88
- // ============================================================================
89
- /**
90
- * Simple metrics collector for SONA routing
91
- */
92
- class MetricsCollector {
93
- totalRequests = 0;
94
- requestsByTool = {};
95
- requestsByExpert = {};
96
- cacheHits = 0;
97
- cacheMisses = 0;
98
- totalRoutingTimeMs = 0;
99
- totalExecutionTimeMs = 0;
100
- errorCount = 0;
101
- errorsByType = {};
102
- recordRouting(tool, expertId, routingTimeMs, cacheHit) {
103
- this.totalRequests++;
104
- this.requestsByTool[tool] = (this.requestsByTool[tool] || 0) + 1;
105
- this.requestsByExpert[expertId] = (this.requestsByExpert[expertId] || 0) + 1;
106
- this.totalRoutingTimeMs += routingTimeMs;
107
- if (cacheHit) {
108
- this.cacheHits++;
109
- }
110
- else {
111
- this.cacheMisses++;
112
- }
113
- }
114
- recordExecution(executionTimeMs) {
115
- this.totalExecutionTimeMs += executionTimeMs;
116
- }
117
- recordError(errorType) {
118
- this.errorCount++;
119
- this.errorsByType[errorType] = (this.errorsByType[errorType] || 0) + 1;
120
- }
121
- getMetrics() {
122
- const totalCache = this.cacheHits + this.cacheMisses;
123
- const avgRoutingMs = this.totalRequests > 0 ? this.totalRoutingTimeMs / this.totalRequests : 0;
124
- const avgExecutionMs = this.totalRequests > 0 ? this.totalExecutionTimeMs / this.totalRequests : 0;
125
- return {
126
- totalRequests: this.totalRequests,
127
- requestsByTool: this.requestsByTool,
128
- requestsByExpert: this.requestsByExpert,
129
- cache: {
130
- hits: this.cacheHits,
131
- misses: this.cacheMisses,
132
- hitRate: totalCache > 0 ? this.cacheHits / totalCache : 0,
133
- },
134
- errors: {
135
- total: this.errorCount,
136
- byType: this.errorsByType,
137
- byExpert: {},
138
- },
139
- speedImprovement: {
140
- baselineMs: 100, // Baseline without SONA
141
- currentMs: avgRoutingMs + avgExecutionMs,
142
- improvementRatio: avgRoutingMs + avgExecutionMs > 0 ? 100 / (avgRoutingMs + avgExecutionMs) : 1,
143
- },
144
- };
145
- }
146
- reset() {
147
- this.totalRequests = 0;
148
- this.requestsByTool = {};
149
- this.requestsByExpert = {};
150
- this.cacheHits = 0;
151
- this.cacheMisses = 0;
152
- this.totalRoutingTimeMs = 0;
153
- this.totalExecutionTimeMs = 0;
154
- this.errorCount = 0;
155
- this.errorsByType = {};
156
- }
157
- }
11
+ import { LRUCache, MetricsCollector, hashObject } from './SONARouter.helpers.js';
12
+ // Re-export helpers for public API
13
+ export { LRUCache, MetricsCollector, shouldUseSONARouting, isHighConfidenceDecision, usedFallback, } from './SONARouter.helpers.js';
158
14
  // ============================================================================
159
15
  // Main SONARouter Class
160
16
  // ============================================================================
161
17
  /**
162
18
  * SONARouter routes MCP tool requests through an 8-expert MoE network.
163
- *
164
- * The router uses a weighted scoring algorithm to select the optimal expert
165
- * for each request based on tool-specific weight profiles and real-time
166
- * expert health/load status.
167
- *
168
- * When V3 MoE integration is enabled, it leverages Claude-Flow's neural
169
- * routing for improved accuracy. Otherwise, it uses the local scoring algorithm.
170
19
  */
171
20
  export class SONARouter {
172
21
  config;
@@ -178,69 +27,41 @@ export class SONARouter {
178
27
  v3SONA = null;
179
28
  initialized = false;
180
29
  healthCheckInterval = null;
181
- /**
182
- * Create a new SONARouter instance.
183
- *
184
- * @param config - Router configuration
185
- */
186
30
  constructor(config = {}) {
187
31
  this.config = {
188
32
  ...DEFAULT_SONA_CONFIG,
189
33
  ...config,
190
- fallback: {
191
- ...DEFAULT_SONA_CONFIG.fallback,
192
- ...config.fallback,
193
- },
34
+ fallback: { ...DEFAULT_SONA_CONFIG.fallback, ...config.fallback },
194
35
  };
195
- // Initialize expert registry
196
36
  this.experts = new Map();
197
37
  this.expertStatus = new Map();
198
38
  for (const expert of this.config.experts) {
199
39
  this.experts.set(expert.id, expert);
200
40
  this.expertStatus.set(expert.id, this.createInitialStatus(expert.id));
201
41
  }
202
- // Initialize cache and metrics
203
42
  this.cache = new LRUCache(this.config.cacheMaxSize, this.config.cacheTtlMs);
204
43
  this.metrics = new MetricsCollector();
205
44
  }
206
45
  // ==========================================================================
207
46
  // Initialization
208
47
  // ==========================================================================
209
- /**
210
- * Initialize the router with V3 MoE integration.
211
- *
212
- * Attempts to load V3 MoERouter and SONAOptimizer.
213
- * Falls back to local scoring if V3 is unavailable.
214
- */
215
48
  async initialize() {
216
- if (this.initialized) {
49
+ if (this.initialized)
217
50
  return;
218
- }
219
- // Try to load V3 MoE if enabled
220
51
  if (this.config.useV3MoE !== false) {
221
52
  await this.initializeV3MoE();
222
53
  }
223
- // Start health check loop
224
54
  if (this.config.healthCheckIntervalMs > 0) {
225
55
  this.startHealthChecks();
226
56
  }
227
57
  this.initialized = true;
228
58
  }
229
- /**
230
- * Check if router is initialized
231
- */
232
59
  isInitialized() {
233
60
  return this.initialized;
234
61
  }
235
- /**
236
- * Check if V3 MoE is being used
237
- */
238
62
  isUsingV3MoE() {
239
63
  return this.v3MoE !== null;
240
64
  }
241
- /**
242
- * Shutdown the router and cleanup resources
243
- */
244
65
  async shutdown() {
245
66
  if (this.healthCheckInterval) {
246
67
  clearInterval(this.healthCheckInterval);
@@ -252,16 +73,9 @@ export class SONARouter {
252
73
  // ==========================================================================
253
74
  // Routing
254
75
  // ==========================================================================
255
- /**
256
- * Route a tool request to the optimal expert.
257
- *
258
- * @param request - Tool request to route
259
- * @returns Routing decision with selected expert and confidence
260
- */
261
76
  async route(request) {
262
77
  this.ensureInitialized();
263
78
  const startTime = Date.now();
264
- // Check cache first
265
79
  if (this.config.enableCache && request.priority !== 'high') {
266
80
  const cacheKey = this.generateCacheKey(request);
267
81
  const cached = this.cache.get(cacheKey);
@@ -271,43 +85,27 @@ export class SONARouter {
271
85
  return decision;
272
86
  }
273
87
  }
274
- // Get eligible experts
275
88
  const eligible = this.getEligibleExperts(request);
276
89
  if (eligible.length === 0) {
277
90
  return this.createFallbackDecision(request, 'NO_ELIGIBLE_EXPERTS', startTime);
278
91
  }
279
- // Score and select expert
280
92
  const scoredExperts = this.scoreExperts(eligible, request);
281
93
  const decision = this.selectBestExpert(scoredExperts, request, startTime);
282
- // Cache the decision
283
94
  if (this.config.enableCache) {
284
95
  const cacheKey = this.generateCacheKey(request);
285
96
  this.cache.set(cacheKey, decision);
286
97
  }
287
- // Record metrics
288
98
  this.metrics.recordRouting(request.tool, decision.expertId, decision.decisionTimeMs, false);
289
99
  return decision;
290
100
  }
291
- /**
292
- * Execute a tool request with SONA routing.
293
- *
294
- * Routes the request, executes via the selected expert, and records outcome.
295
- *
296
- * @param request - Tool request to execute
297
- * @param executor - Function to execute the tool with given expert
298
- * @returns Tool response with execution metadata
299
- */
300
101
  async executeWithRouting(request, executor) {
301
102
  const routingStart = Date.now();
302
- // Route the request
303
103
  const decision = await this.route(request);
304
104
  const routingTimeMs = Date.now() - routingStart;
305
- // Execute with selected expert
306
105
  const executionStart = Date.now();
307
106
  try {
308
107
  const data = await executor(decision.expertId, request);
309
108
  const executionTimeMs = Date.now() - executionStart;
310
- // Record success
311
109
  this.recordOutcome(request, decision.expertId, true);
312
110
  this.metrics.recordExecution(executionTimeMs);
313
111
  return {
@@ -326,10 +124,8 @@ export class SONARouter {
326
124
  }
327
125
  catch (error) {
328
126
  const executionTimeMs = Date.now() - executionStart;
329
- // Record failure
330
127
  this.recordOutcome(request, decision.expertId, false);
331
128
  this.metrics.recordError(error instanceof Error ? error.name : 'UnknownError');
332
- // Try fallback if enabled
333
129
  if (this.config.fallback.enabled && decision.expertId !== 'direct-fallback') {
334
130
  try {
335
131
  const fallbackData = await executor('direct-fallback', request);
@@ -372,43 +168,27 @@ export class SONARouter {
372
168
  // ==========================================================================
373
169
  // Expert Management
374
170
  // ==========================================================================
375
- /**
376
- * Get current status of all experts
377
- */
378
171
  getExpertStatus() {
379
172
  return Array.from(this.expertStatus.values());
380
173
  }
381
- /**
382
- * Get status of a specific expert
383
- */
384
174
  getExpert(expertId) {
385
175
  return this.experts.get(expertId);
386
176
  }
387
- /**
388
- * Update expert health status
389
- */
390
177
  updateExpertHealth(expertId, state, load) {
391
178
  const status = this.expertStatus.get(expertId);
392
179
  if (status) {
393
180
  status.state = state;
394
- if (load !== undefined) {
181
+ if (load !== undefined)
395
182
  status.load = load;
396
- }
397
183
  status.lastHealthCheck = new Date();
398
184
  }
399
185
  }
400
186
  // ==========================================================================
401
187
  // Metrics
402
188
  // ==========================================================================
403
- /**
404
- * Get current routing metrics
405
- */
406
189
  getMetrics() {
407
190
  return this.metrics.getMetrics();
408
191
  }
409
- /**
410
- * Reset metrics
411
- */
412
192
  resetMetrics() {
413
193
  this.metrics.reset();
414
194
  }
@@ -433,11 +213,9 @@ export class SONARouter {
433
213
  }
434
214
  async initializeV3MoE() {
435
215
  try {
436
- // Dynamic import of V3 MoE router
437
216
  const moeModule = await import('claude-flow/v3/@claude-flow/cli/dist/src/ruvector/moe-router.js');
438
217
  this.v3MoE = moeModule.getMoERouter();
439
218
  await this.v3MoE.initialize();
440
- // Dynamic import of V3 SONA optimizer
441
219
  const sonaModule = await import('claude-flow/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js');
442
220
  const sonaOptimizer = await sonaModule.getSONAOptimizer();
443
221
  await sonaOptimizer.initialize();
@@ -445,7 +223,6 @@ export class SONARouter {
445
223
  console.log('[SONARouter] V3 MoE integration initialized');
446
224
  }
447
225
  catch {
448
- // V3 not available, use local routing
449
226
  console.log('[SONARouter] V3 MoE not available, using local scoring algorithm');
450
227
  this.v3MoE = null;
451
228
  this.v3SONA = null;
@@ -457,9 +234,7 @@ export class SONARouter {
457
234
  }, this.config.healthCheckIntervalMs);
458
235
  }
459
236
  runHealthChecks() {
460
- // Simple health check - in production would ping actual expert endpoints
461
237
  for (const [_expertId, status] of this.expertStatus) {
462
- // Simulate health based on load
463
238
  if (status.load > 0.9) {
464
239
  status.state = 'degraded';
465
240
  }
@@ -473,36 +248,19 @@ export class SONARouter {
473
248
  }
474
249
  }
475
250
  generateCacheKey(request) {
476
- // Cache key based on tool and argument hash
477
- const argsHash = this.hashObject(request.arguments);
251
+ const argsHash = hashObject(request.arguments);
478
252
  return `${request.tool}:${argsHash}`;
479
253
  }
480
- hashObject(obj) {
481
- const str = JSON.stringify(obj, Object.keys(obj).sort());
482
- let hash = 0;
483
- for (let i = 0; i < str.length; i++) {
484
- const char = str.charCodeAt(i);
485
- hash = (hash << 5) - hash + char;
486
- hash = hash & hash;
487
- }
488
- return hash.toString(36);
489
- }
490
254
  getEligibleExperts(request) {
491
255
  const eligible = [];
492
256
  for (const [, expert] of this.experts) {
493
- // Check if expert supports this tool
494
- if (!expert.capabilities.supportedTools.includes(request.tool)) {
257
+ if (!expert.capabilities.supportedTools.includes(request.tool))
495
258
  continue;
496
- }
497
- // Check health
498
259
  const status = this.expertStatus.get(expert.id);
499
- if (!status || status.state === 'unhealthy') {
260
+ if (!status || status.state === 'unhealthy')
500
261
  continue;
501
- }
502
- // Check load
503
- if (status.load >= 0.95) {
262
+ if (status.load >= 0.95)
504
263
  continue;
505
- }
506
264
  eligible.push(expert);
507
265
  }
508
266
  return eligible;
@@ -515,47 +273,31 @@ export class SONARouter {
515
273
  const scores = this.calculateScores(expert, status, toolWeights, request);
516
274
  scoredExperts.push({ expert, scores });
517
275
  }
518
- // Sort by total score descending
519
276
  scoredExperts.sort((a, b) => b.scores.totalScore - a.scores.totalScore);
520
277
  return scoredExperts;
521
278
  }
522
279
  calculateScores(expert, status, toolWeights, request) {
523
- // Accuracy score based on historical performance
524
280
  const accuracyScore = expert.capabilities.accuracyScore * (1 - status.load * 0.1);
525
- // Latency score (normalized, lower is better)
526
- const latencyBaseline = 200; // ms
281
+ const latencyBaseline = 200;
527
282
  let latencyScore = Math.max(0, 1 - expert.capabilities.avgLatencyMs / latencyBaseline);
528
- // Apply latency constraint if specified
529
283
  if (request.maxLatencyMs && expert.capabilities.avgLatencyMs > request.maxLatencyMs) {
530
- latencyScore = latencyScore * 0.5; // Heavy penalty
284
+ latencyScore = latencyScore * 0.5;
531
285
  }
532
- // Reliability score based on success rate
533
286
  const reliabilityScore = status.successRate;
534
- // Efficiency score (inverse of load)
535
287
  const efficiencyScore = 1 - status.load;
536
- // Calculate weighted total
537
288
  let totalScore = toolWeights.accuracy * accuracyScore +
538
289
  toolWeights.latency * latencyScore +
539
290
  toolWeights.reliability * reliabilityScore +
540
291
  toolWeights.efficiency * efficiencyScore;
541
- // Priority boost for specialized experts
542
292
  if (expert.type === 'specialized' && expert.capabilities.supportedTools.length === 1) {
543
293
  totalScore = totalScore * 1.1;
544
294
  }
545
- // Priority tiebreaker
546
295
  totalScore = totalScore + expert.priority / 10000;
547
- return {
548
- accuracyScore,
549
- latencyScore,
550
- reliabilityScore,
551
- efficiencyScore,
552
- totalScore,
553
- };
296
+ return { accuracyScore, latencyScore, reliabilityScore, efficiencyScore, totalScore };
554
297
  }
555
298
  selectBestExpert(scoredExperts, request, startTime) {
556
299
  const selected = scoredExperts[0];
557
- const alternatives = scoredExperts.slice(1, 4); // Top 3 alternatives
558
- // Calculate confidence based on score margin
300
+ const alternatives = scoredExperts.slice(1, 4);
559
301
  let confidence;
560
302
  if (alternatives.length > 0) {
561
303
  const scoreMargin = selected.scores.totalScore - alternatives[0].scores.totalScore;
@@ -572,7 +314,7 @@ export class SONARouter {
572
314
  alternatives: alternatives.map((alt) => ({
573
315
  expertId: alt.expert.id,
574
316
  score: alt.scores.totalScore,
575
- reason: this.generateAlternativeReason(alt.expert, alt.scores),
317
+ reason: `${alt.expert.name}: score ${alt.scores.totalScore.toFixed(3)}`,
576
318
  })),
577
319
  reason: this.generateDecisionReason(selected.expert, selected.scores, request.tool),
578
320
  decidedAt: new Date(),
@@ -585,9 +327,6 @@ export class SONARouter {
585
327
  return (`Selected ${expert.name} (${expert.type}) for ${tool}: ` +
586
328
  `optimized for ${primaryFactor} with score ${scores.totalScore.toFixed(3)}`);
587
329
  }
588
- generateAlternativeReason(expert, scores) {
589
- return `${expert.name}: score ${scores.totalScore.toFixed(3)}`;
590
- }
591
330
  createFallbackDecision(request, reason, startTime) {
592
331
  return {
593
332
  requestId: request.requestId,
@@ -607,13 +346,10 @@ export class SONARouter {
607
346
  };
608
347
  }
609
348
  recordOutcome(request, expertId, success) {
610
- // Update expert status
611
349
  const status = this.expertStatus.get(expertId);
612
350
  if (status) {
613
- // Update success rate (rolling average of last 100)
614
351
  status.successRate = status.successRate * 0.99 + (success ? 0.01 : 0);
615
352
  }
616
- // Update V3 SONA if available
617
353
  if (this.v3SONA) {
618
354
  this.v3SONA.processTrajectoryOutcome({
619
355
  trajectoryId: request.requestId,
@@ -622,14 +358,13 @@ export class SONARouter {
622
358
  success,
623
359
  });
624
360
  }
625
- // Update V3 MoE weights if available
626
361
  if (this.v3MoE) {
627
362
  this.v3MoE.updateExpertWeights(expertId, success ? 1.0 : -0.5);
628
363
  }
629
364
  }
630
365
  }
631
366
  // ============================================================================
632
- // Factory Functions
367
+ // Factory Function
633
368
  // ============================================================================
634
369
  /**
635
370
  * Create and initialize a SONARouter instance
@@ -639,41 +374,4 @@ export async function createSONARouter(config) {
639
374
  await router.initialize();
640
375
  return router;
641
376
  }
642
- /**
643
- * Check if SONA routing should be used for a request
644
- */
645
- export function shouldUseSONARouting(tool, featureFlags, userTier) {
646
- // Master switch
647
- if (!featureFlags['sona.enabled']) {
648
- return false;
649
- }
650
- // Tool-specific flag
651
- const toolFlag = `sona.tools.${tool}`;
652
- if (!featureFlags[toolFlag]) {
653
- return false;
654
- }
655
- // Tier check
656
- if (userTier) {
657
- const tierFlag = `sona.tiers.${userTier}`;
658
- if (!featureFlags[tierFlag]) {
659
- return false;
660
- }
661
- }
662
- return true;
663
- }
664
- // ============================================================================
665
- // Type Guards
666
- // ============================================================================
667
- /**
668
- * Check if a routing decision indicates high confidence
669
- */
670
- export function isHighConfidenceDecision(decision) {
671
- return decision.confidence >= 0.8;
672
- }
673
- /**
674
- * Check if a routing decision used fallback
675
- */
676
- export function usedFallback(decision) {
677
- return decision.expertId === 'direct-fallback';
678
- }
679
377
  //# sourceMappingURL=SONARouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SONARouter.js","sourceRoot":"","sources":["../../../src/routing/SONARouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SONARouter.js","sourceRoot":"","sources":["../../../src/routing/SONARouter.ts"],"names":[],"mappings":"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"}