@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
@@ -3,160 +3,10 @@
3
3
  * @module @skillsmith/core/routing/types
4
4
  * @see SMI-1521: SONA routing for MCP tool optimization
5
5
  *
6
- * Type definitions for the SONA (Specialized Optimized Network Architecture)
7
- * routing system that routes MCP tool requests through an 8-expert MoE network.
6
+ * Main barrel file for SONA routing types. Re-exports from modular type files.
8
7
  */
9
- /**
10
- * Tool-specific weight configurations
11
- * Based on SMI-1521 requirements:
12
- * - search: accuracy-weighted
13
- * - recommend: accuracy + personalization
14
- * - install: balanced (reliability important)
15
- * - validate: balanced
16
- * - compare: accuracy-weighted
17
- * - get_skill: low latency
18
- */
19
- export const TOOL_WEIGHTS = {
20
- search: { accuracy: 0.7, latency: 0.2, reliability: 0.05, efficiency: 0.05 },
21
- recommend: { accuracy: 0.6, latency: 0.2, reliability: 0.1, efficiency: 0.1 },
22
- install: { accuracy: 0.3, latency: 0.2, reliability: 0.4, efficiency: 0.1 },
23
- validate: { accuracy: 0.4, latency: 0.3, reliability: 0.2, efficiency: 0.1 },
24
- compare: { accuracy: 0.65, latency: 0.2, reliability: 0.1, efficiency: 0.05 },
25
- get_skill: { accuracy: 0.2, latency: 0.6, reliability: 0.15, efficiency: 0.05 },
26
- uninstall: { accuracy: 0.2, latency: 0.3, reliability: 0.4, efficiency: 0.1 },
27
- analyze: { accuracy: 0.5, latency: 0.25, reliability: 0.15, efficiency: 0.1 },
28
- };
29
- /**
30
- * 8-Expert MoE Network Configuration
31
- * Designed for Skillsmith MCP tools
32
- */
33
- export const SONA_EXPERTS = [
34
- // Accuracy-focused experts
35
- {
36
- id: 'accuracy-semantic',
37
- type: 'accuracy',
38
- name: 'Semantic Search Expert',
39
- description: 'Optimizes semantic similarity matching for search and recommend',
40
- capabilities: {
41
- supportedTools: ['search', 'recommend', 'compare'],
42
- maxConcurrency: 50,
43
- avgLatencyMs: 150,
44
- accuracyScore: 0.95,
45
- },
46
- weights: { accuracy: 0.9, latency: 0.05, reliability: 0.03, efficiency: 0.02 },
47
- priority: 100,
48
- },
49
- {
50
- id: 'accuracy-validation',
51
- type: 'accuracy',
52
- name: 'Validation Expert',
53
- description: 'Thorough validation with complete error reporting',
54
- capabilities: {
55
- supportedTools: ['validate', 'analyze'],
56
- maxConcurrency: 30,
57
- avgLatencyMs: 200,
58
- accuracyScore: 0.98,
59
- },
60
- weights: { accuracy: 0.85, latency: 0.05, reliability: 0.08, efficiency: 0.02 },
61
- priority: 90,
62
- },
63
- // Latency-focused experts
64
- {
65
- id: 'latency-cache',
66
- type: 'latency',
67
- name: 'Cache-First Expert',
68
- description: 'Serves from cache with fallback to computation',
69
- capabilities: {
70
- supportedTools: ['search', 'get_skill', 'recommend'],
71
- maxConcurrency: 200,
72
- avgLatencyMs: 15,
73
- accuracyScore: 0.85,
74
- },
75
- weights: { accuracy: 0.2, latency: 0.7, reliability: 0.05, efficiency: 0.05 },
76
- priority: 80,
77
- },
78
- {
79
- id: 'latency-index',
80
- type: 'latency',
81
- name: 'Index Lookup Expert',
82
- description: 'Direct index lookups for known entities',
83
- capabilities: {
84
- supportedTools: ['get_skill', 'search'],
85
- maxConcurrency: 500,
86
- avgLatencyMs: 5,
87
- accuracyScore: 0.99,
88
- },
89
- weights: { accuracy: 0.3, latency: 0.6, reliability: 0.08, efficiency: 0.02 },
90
- priority: 85,
91
- },
92
- // Balanced experts
93
- {
94
- id: 'balanced-default',
95
- type: 'balanced',
96
- name: 'Default Balanced Expert',
97
- description: 'General-purpose balanced execution',
98
- capabilities: {
99
- supportedTools: [
100
- 'search',
101
- 'recommend',
102
- 'install',
103
- 'validate',
104
- 'compare',
105
- 'get_skill',
106
- 'uninstall',
107
- 'analyze',
108
- ],
109
- maxConcurrency: 100,
110
- avgLatencyMs: 75,
111
- accuracyScore: 0.9,
112
- },
113
- weights: { accuracy: 0.4, latency: 0.4, reliability: 0.15, efficiency: 0.05 },
114
- priority: 50,
115
- },
116
- {
117
- id: 'balanced-reliability',
118
- type: 'balanced',
119
- name: 'Reliability Expert',
120
- description: 'Prioritizes successful completion over speed',
121
- capabilities: {
122
- supportedTools: ['install', 'uninstall', 'validate'],
123
- maxConcurrency: 25,
124
- avgLatencyMs: 120,
125
- accuracyScore: 0.92,
126
- },
127
- weights: { accuracy: 0.3, latency: 0.2, reliability: 0.45, efficiency: 0.05 },
128
- priority: 70,
129
- },
130
- // Specialized experts
131
- {
132
- id: 'specialized-recommend',
133
- type: 'specialized',
134
- name: 'Recommendation Expert',
135
- description: 'ML-powered personalized recommendations',
136
- capabilities: {
137
- supportedTools: ['recommend'],
138
- maxConcurrency: 40,
139
- avgLatencyMs: 180,
140
- accuracyScore: 0.93,
141
- },
142
- weights: { accuracy: 0.65, latency: 0.15, reliability: 0.1, efficiency: 0.1 },
143
- priority: 95,
144
- },
145
- {
146
- id: 'specialized-compare',
147
- type: 'specialized',
148
- name: 'Comparison Expert',
149
- description: 'Deep feature comparison with scoring',
150
- capabilities: {
151
- supportedTools: ['compare', 'analyze'],
152
- maxConcurrency: 35,
153
- avgLatencyMs: 160,
154
- accuracyScore: 0.94,
155
- },
156
- weights: { accuracy: 0.7, latency: 0.1, reliability: 0.15, efficiency: 0.05 },
157
- priority: 88,
158
- },
159
- ];
8
+ export { TOOL_WEIGHTS, SONA_EXPERTS } from './expert-types.js';
9
+ import { SONA_EXPERTS } from './expert-types.js';
160
10
  /**
161
11
  * Default SONARouter configuration
162
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/routing/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/routing/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAa9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAwGhD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAE5B;IACF,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,IAAI;IAClB,mBAAmB,EAAE,UAAU;IAC/B,qBAAqB,EAAE,IAAI;IAC3B,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE;QACR,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,CAAC;KACd;CACF,CAAA;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,qCAAqC;IACrC,cAAc,EAAE,KAAK;IACrB,gCAAgC;IAChC,mBAAmB,EAAE,KAAK;IAC1B,sBAAsB,EAAE,KAAK;IAC7B,oBAAoB,EAAE,KAAK;IAC3B,qBAAqB,EAAE,KAAK;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,sBAAsB,EAAE,KAAK;IAC7B,0DAA0D;IAC1D,yBAAyB,EAAE,CAAC;IAC5B,qCAAqC;IACrC,sBAAsB,EAAE,KAAK;IAC7B,uBAAuB,EAAE,KAAK;IAC9B,iBAAiB,EAAE,KAAK;IACxB,uBAAuB,EAAE,IAAI,EAAE,kBAAkB;IACjD,gCAAgC;IAChC,sBAAsB,EAAE,IAAI;CACpB,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SMI-1445: GitHub App Authentication
3
+ *
4
+ * Provides GitHub App authentication for higher rate limits.
5
+ * Extracted from github-client.ts for file size compliance.
6
+ */
7
+ /**
8
+ * Get GitHub App installation access token.
9
+ * Returns cached token if valid, otherwise requests new one.
10
+ */
11
+ export declare function getInstallationToken(): Promise<string | null>;
12
+ /**
13
+ * Get GitHub API headers.
14
+ * Tries GitHub App authentication first (5K req/hr), then falls back to PAT.
15
+ */
16
+ export declare function getGitHubHeaders(): Promise<Record<string, string>>;
17
+ //# sourceMappingURL=github-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-auth.d.ts","sourceRoot":"","sources":["../../../../src/scripts/github-import/github-auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2KH;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgDnE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBxE"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * SMI-1445: GitHub App Authentication
3
+ *
4
+ * Provides GitHub App authentication for higher rate limits.
5
+ * Extracted from github-client.ts for file size compliance.
6
+ */
7
+ import { webcrypto } from 'crypto';
8
+ import { CONFIG } from './types.js';
9
+ import { log } from './utils.js';
10
+ // Cache for GitHub App installation token
11
+ let cachedInstallationToken = null;
12
+ /**
13
+ * Normalize a PEM key string that may have lost newlines in env var storage.
14
+ * Also handles base64-encoded PEM keys.
15
+ */
16
+ function normalizePemKey(key) {
17
+ let normalized = key;
18
+ // Check if the key is base64-encoded (doesn't start with -----)
19
+ if (!normalized.startsWith('-----') && normalized.startsWith('LS0tLS')) {
20
+ try {
21
+ normalized = Buffer.from(normalized, 'base64').toString('utf-8');
22
+ log('Decoded base64-encoded PEM key');
23
+ }
24
+ catch {
25
+ log('Key appears to be base64 but failed to decode', 'warn');
26
+ }
27
+ }
28
+ // Handle escaped newlines (\\n) that might come from JSON encoding
29
+ normalized = normalized.replace(/\\n/g, '\n');
30
+ // If key already has proper newlines, return as-is
31
+ if (normalized.includes('\n') && normalized.split('\n').length > 3) {
32
+ return normalized;
33
+ }
34
+ // Extract header, footer, and base64 content
35
+ const headerMatch = normalized.match(/(-----BEGIN [A-Z ]+-----)/)?.[1];
36
+ const footerMatch = normalized.match(/(-----END [A-Z ]+-----)/)?.[1];
37
+ if (headerMatch && footerMatch) {
38
+ const base64 = normalized.replace(headerMatch, '').replace(footerMatch, '').replace(/\s/g, '');
39
+ const lines = base64.match(/.{1,64}/g) || [];
40
+ normalized = `${headerMatch}\n${lines.join('\n')}\n${footerMatch}`;
41
+ }
42
+ return normalized;
43
+ }
44
+ /**
45
+ * Import a PEM private key for use with Web Crypto.
46
+ * Handles both PKCS#1 (RSA PRIVATE KEY) and PKCS#8 (PRIVATE KEY) formats.
47
+ */
48
+ async function importPrivateKey(pem) {
49
+ const normalized = normalizePemKey(pem);
50
+ const isPkcs1 = normalized.includes('-----BEGIN RSA PRIVATE KEY-----');
51
+ // Extract base64 content
52
+ const base64 = normalized
53
+ .replace(/-----BEGIN [A-Z ]+-----/, '')
54
+ .replace(/-----END [A-Z ]+-----/, '')
55
+ .replace(/\s/g, '');
56
+ const binaryDer = Buffer.from(base64, 'base64');
57
+ if (isPkcs1) {
58
+ // PKCS#1 to PKCS#8 conversion
59
+ const pkcs8Header = Buffer.from([
60
+ 0x30,
61
+ 0x82,
62
+ 0x00,
63
+ 0x00, // SEQUENCE (length TBD)
64
+ 0x02,
65
+ 0x01,
66
+ 0x00, // INTEGER 0 (version)
67
+ 0x30,
68
+ 0x0d, // SEQUENCE (AlgorithmIdentifier)
69
+ 0x06,
70
+ 0x09,
71
+ 0x2a,
72
+ 0x86,
73
+ 0x48,
74
+ 0x86,
75
+ 0xf7,
76
+ 0x0d,
77
+ 0x01,
78
+ 0x01,
79
+ 0x01, // OID rsaEncryption
80
+ 0x05,
81
+ 0x00, // NULL (parameters)
82
+ 0x04,
83
+ 0x82,
84
+ 0x00,
85
+ 0x00, // OCTET STRING (length TBD)
86
+ ]);
87
+ const totalLen = pkcs8Header.length - 4 + binaryDer.length;
88
+ const pkcs8 = Buffer.alloc(4 + totalLen);
89
+ pkcs8Header.copy(pkcs8);
90
+ binaryDer.copy(pkcs8, pkcs8Header.length);
91
+ // Set outer SEQUENCE length
92
+ pkcs8[2] = (totalLen >> 8) & 0xff;
93
+ pkcs8[3] = totalLen & 0xff;
94
+ // Set OCTET STRING length
95
+ pkcs8[pkcs8Header.length - 2] = (binaryDer.length >> 8) & 0xff;
96
+ pkcs8[pkcs8Header.length - 1] = binaryDer.length & 0xff;
97
+ return await webcrypto.subtle.importKey('pkcs8', pkcs8, { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' }, false, ['sign']);
98
+ }
99
+ else {
100
+ return await webcrypto.subtle.importKey('pkcs8', binaryDer, { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' }, false, ['sign']);
101
+ }
102
+ }
103
+ /**
104
+ * Base64URL encode for JWT
105
+ */
106
+ function base64UrlEncode(data) {
107
+ const buffer = typeof data === 'string' ? Buffer.from(data) : data;
108
+ return buffer.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
109
+ }
110
+ /**
111
+ * Create a JWT for GitHub App authentication
112
+ */
113
+ async function createAppJwt(appId, privateKey) {
114
+ log('Creating JWT for GitHub App authentication...');
115
+ try {
116
+ const cryptoKey = await importPrivateKey(privateKey);
117
+ const now = Math.floor(Date.now() / 1000);
118
+ const header = { alg: 'RS256', typ: 'JWT' };
119
+ const payload = {
120
+ iat: now - 60, // Issued 60 seconds ago (clock skew)
121
+ exp: now + 600, // Expires in 10 minutes
122
+ iss: appId,
123
+ };
124
+ const headerB64 = base64UrlEncode(JSON.stringify(header));
125
+ const payloadB64 = base64UrlEncode(JSON.stringify(payload));
126
+ const unsignedToken = `${headerB64}.${payloadB64}`;
127
+ const signature = await webcrypto.subtle.sign('RSASSA-PKCS1-v1_5', cryptoKey, Buffer.from(unsignedToken));
128
+ const jwt = `${unsignedToken}.${base64UrlEncode(Buffer.from(signature))}`;
129
+ log('JWT created successfully');
130
+ return jwt;
131
+ }
132
+ catch (error) {
133
+ log(`Failed to create JWT: ${error}`, 'error');
134
+ throw error;
135
+ }
136
+ }
137
+ /**
138
+ * Get GitHub App installation access token.
139
+ * Returns cached token if valid, otherwise requests new one.
140
+ */
141
+ export async function getInstallationToken() {
142
+ const { GITHUB_APP_ID, GITHUB_APP_INSTALLATION_ID, GITHUB_APP_PRIVATE_KEY } = CONFIG;
143
+ if (!GITHUB_APP_ID || !GITHUB_APP_INSTALLATION_ID || !GITHUB_APP_PRIVATE_KEY) {
144
+ return null;
145
+ }
146
+ // Check cache
147
+ if (cachedInstallationToken && cachedInstallationToken.expiresAt > Date.now()) {
148
+ log('Using cached GitHub App installation token');
149
+ return cachedInstallationToken.token;
150
+ }
151
+ try {
152
+ const jwt = await createAppJwt(GITHUB_APP_ID, GITHUB_APP_PRIVATE_KEY);
153
+ const response = await fetch(`https://api.github.com/app/installations/${GITHUB_APP_INSTALLATION_ID}/access_tokens`, {
154
+ method: 'POST',
155
+ headers: {
156
+ Accept: 'application/vnd.github.v3+json',
157
+ Authorization: `Bearer ${jwt}`,
158
+ 'User-Agent': 'Skillsmith-Import/1.0',
159
+ },
160
+ });
161
+ if (!response.ok) {
162
+ const errorText = await response.text();
163
+ log(`Failed to get installation token: ${response.status} - ${errorText}`, 'error');
164
+ return null;
165
+ }
166
+ const data = (await response.json());
167
+ // Cache the token (expire 5 minutes early for safety)
168
+ cachedInstallationToken = {
169
+ token: data.token,
170
+ expiresAt: new Date(data.expires_at).getTime() - 5 * 60 * 1000,
171
+ };
172
+ log('GitHub App installation token obtained successfully');
173
+ return data.token;
174
+ }
175
+ catch (error) {
176
+ log(`Error getting installation token: ${error}`, 'error');
177
+ return null;
178
+ }
179
+ }
180
+ /**
181
+ * Get GitHub API headers.
182
+ * Tries GitHub App authentication first (5K req/hr), then falls back to PAT.
183
+ */
184
+ export async function getGitHubHeaders() {
185
+ const headers = {
186
+ Accept: 'application/vnd.github.v3+json',
187
+ 'User-Agent': 'Skillsmith-Import/1.0',
188
+ };
189
+ // Try GitHub App authentication first
190
+ const installationToken = await getInstallationToken();
191
+ if (installationToken) {
192
+ headers['Authorization'] = `Bearer ${installationToken}`;
193
+ return headers;
194
+ }
195
+ // Fall back to PAT
196
+ if (CONFIG.GITHUB_TOKEN) {
197
+ headers['Authorization'] = `Bearer ${CONFIG.GITHUB_TOKEN}`;
198
+ }
199
+ return headers;
200
+ }
201
+ //# sourceMappingURL=github-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-auth.js","sourceRoot":"","sources":["../../../../src/scripts/github-import/github-auth.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@
3
3
  * SMI-1445: Added GitHub App authentication support
4
4
  */
5
5
  import { SearchQuery, ImportedSkill } from './types.js';
6
+ import { getGitHubHeaders, getInstallationToken } from './github-auth.js';
7
+ export { getGitHubHeaders, getInstallationToken };
6
8
  export interface RateLimitInfo {
7
9
  remaining: number;
8
10
  limit: number;
@@ -13,7 +15,6 @@ export interface RateLimitStatus {
13
15
  core: RateLimitInfo | null;
14
16
  search: RateLimitInfo | null;
15
17
  }
16
- declare let getRateLimitStatus: () => Promise<RateLimitStatus>;
17
18
  /**
18
19
  * Display rate limit status from response headers (lightweight, no API call).
19
20
  */
@@ -29,11 +30,10 @@ export declare function displayRateLimitFromHeaders(response: Response, label?:
29
30
  */
30
31
  export declare function fetchWithRetry(url: string, options?: RequestInit): Promise<Response>;
31
32
  /**
32
- * Get GitHub API headers.
33
- * Tries GitHub App authentication first (5K req/hr), then falls back to PAT.
33
+ * Get current rate limit status from GitHub API.
34
+ * Returns structured data for monitoring.
34
35
  */
35
- export declare function getGitHubHeaders(): Promise<Record<string, string>>;
36
- export { getRateLimitStatus };
36
+ export declare function getRateLimitStatus(): Promise<RateLimitStatus>;
37
37
  /**
38
38
  * Initialize rate limit tracking at the start of an import.
39
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"github-client.d.ts","sourceRoot":"","sources":["../../../../src/scripts/github-import/github-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAO/D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,IAAI,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;CAC7B;AAYD,QAAA,IAAI,kBAAkB,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;AAEtD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,SAAe,GAAG,IAAI,CAU1F;AAmOD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmD9F;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBxE;AAqDD,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAE7B;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3D;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuB7D;AAED,iDAAiD;AACjD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,WAAW,EACxB,SAAS,SAAI,EACb,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,aAAa,EAAE,CAAC,CAwG1B"}
1
+ {"version":3,"file":"github-client.d.ts","sourceRoot":"","sources":["../../../../src/scripts/github-import/github-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAGzE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA;AAMjD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,IAAI,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;CAC7B;AAUD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,SAAe,GAAG,IAAI,CAU1F;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmD9F;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAuCnE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3D;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuB7D;AAED,iDAAiD;AACjD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,WAAW,EACxB,SAAS,SAAI,EACb,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,aAAa,EAAE,CAAC,CAwG1B"}