@skillsmith/core 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/analysis/adapters/java-parsers.d.ts +64 -0
  3. package/dist/src/analysis/adapters/java-parsers.d.ts.map +1 -0
  4. package/dist/src/analysis/adapters/java-parsers.js +114 -0
  5. package/dist/src/analysis/adapters/java-parsers.js.map +1 -0
  6. package/dist/src/analysis/adapters/java.d.ts +1 -51
  7. package/dist/src/analysis/adapters/java.d.ts.map +1 -1
  8. package/dist/src/analysis/adapters/java.js +94 -205
  9. package/dist/src/analysis/adapters/java.js.map +1 -1
  10. package/dist/src/analysis/adapters/python-frameworks.d.ts +21 -0
  11. package/dist/src/analysis/adapters/python-frameworks.d.ts.map +1 -0
  12. package/dist/src/analysis/adapters/python-frameworks.js +86 -0
  13. package/dist/src/analysis/adapters/python-frameworks.js.map +1 -0
  14. package/dist/src/analysis/adapters/python.d.ts +0 -50
  15. package/dist/src/analysis/adapters/python.d.ts.map +1 -1
  16. package/dist/src/analysis/adapters/python.js +5 -120
  17. package/dist/src/analysis/adapters/python.js.map +1 -1
  18. package/dist/src/analysis/adapters/rust-parsers.d.ts +33 -0
  19. package/dist/src/analysis/adapters/rust-parsers.d.ts.map +1 -0
  20. package/dist/src/analysis/adapters/rust-parsers.js +94 -0
  21. package/dist/src/analysis/adapters/rust-parsers.js.map +1 -0
  22. package/dist/src/analysis/adapters/rust.d.ts +1 -43
  23. package/dist/src/analysis/adapters/rust.d.ts.map +1 -1
  24. package/dist/src/analysis/adapters/rust.js +74 -173
  25. package/dist/src/analysis/adapters/rust.js.map +1 -1
  26. package/dist/src/analysis/worker-pool.d.ts +25 -52
  27. package/dist/src/analysis/worker-pool.d.ts.map +1 -1
  28. package/dist/src/analysis/worker-pool.js +29 -181
  29. package/dist/src/analysis/worker-pool.js.map +1 -1
  30. package/dist/src/analysis/worker-types.d.ts +64 -0
  31. package/dist/src/analysis/worker-types.d.ts.map +1 -0
  32. package/dist/src/analysis/worker-types.js +11 -0
  33. package/dist/src/analysis/worker-types.js.map +1 -0
  34. package/dist/src/analysis/worker-utils.d.ts +49 -0
  35. package/dist/src/analysis/worker-utils.d.ts.map +1 -0
  36. package/dist/src/analysis/worker-utils.js +206 -0
  37. package/dist/src/analysis/worker-utils.js.map +1 -0
  38. package/dist/src/analytics/AnalyticsRepository.d.ts +1 -5
  39. package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
  40. package/dist/src/analytics/AnalyticsRepository.helpers.d.ts +28 -0
  41. package/dist/src/analytics/AnalyticsRepository.helpers.d.ts.map +1 -0
  42. package/dist/src/analytics/AnalyticsRepository.helpers.js +90 -0
  43. package/dist/src/analytics/AnalyticsRepository.helpers.js.map +1 -0
  44. package/dist/src/analytics/AnalyticsRepository.js +16 -129
  45. package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
  46. package/dist/src/analytics/AnalyticsRepository.types.d.ts +82 -0
  47. package/dist/src/analytics/AnalyticsRepository.types.d.ts.map +1 -0
  48. package/dist/src/analytics/AnalyticsRepository.types.js +8 -0
  49. package/dist/src/analytics/AnalyticsRepository.types.js.map +1 -0
  50. package/dist/src/api/client.d.ts +5 -121
  51. package/dist/src/api/client.d.ts.map +1 -1
  52. package/dist/src/api/client.js +24 -136
  53. package/dist/src/api/client.js.map +1 -1
  54. package/dist/src/api/schemas.d.ts +122 -0
  55. package/dist/src/api/schemas.d.ts.map +1 -0
  56. package/dist/src/api/schemas.js +71 -0
  57. package/dist/src/api/schemas.js.map +1 -0
  58. package/dist/src/api/utils.d.ts +46 -0
  59. package/dist/src/api/utils.d.ts.map +1 -0
  60. package/dist/src/api/utils.js +96 -0
  61. package/dist/src/api/utils.js.map +1 -0
  62. package/dist/src/billing/GDPRComplianceService.d.ts +2 -97
  63. package/dist/src/billing/GDPRComplianceService.d.ts.map +1 -1
  64. package/dist/src/billing/GDPRComplianceService.js.map +1 -1
  65. package/dist/src/billing/StripeClient.d.ts +3 -62
  66. package/dist/src/billing/StripeClient.d.ts.map +1 -1
  67. package/dist/src/billing/StripeClient.js +10 -68
  68. package/dist/src/billing/StripeClient.js.map +1 -1
  69. package/dist/src/billing/StripeReconciliationJob.d.ts +2 -47
  70. package/dist/src/billing/StripeReconciliationJob.d.ts.map +1 -1
  71. package/dist/src/billing/StripeReconciliationJob.js +1 -41
  72. package/dist/src/billing/StripeReconciliationJob.js.map +1 -1
  73. package/dist/src/billing/StripeWebhookHandler.d.ts +3 -59
  74. package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -1
  75. package/dist/src/billing/StripeWebhookHandler.js +14 -304
  76. package/dist/src/billing/StripeWebhookHandler.js.map +1 -1
  77. package/dist/src/billing/gdpr-types.d.ts +103 -0
  78. package/dist/src/billing/gdpr-types.d.ts.map +1 -0
  79. package/dist/src/billing/gdpr-types.js +7 -0
  80. package/dist/src/billing/gdpr-types.js.map +1 -0
  81. package/dist/src/billing/reconciliation-helpers.d.ts +16 -0
  82. package/dist/src/billing/reconciliation-helpers.d.ts.map +1 -0
  83. package/dist/src/billing/reconciliation-helpers.js +53 -0
  84. package/dist/src/billing/reconciliation-helpers.js.map +1 -0
  85. package/dist/src/billing/reconciliation-types.d.ts +71 -0
  86. package/dist/src/billing/reconciliation-types.d.ts.map +1 -0
  87. package/dist/src/billing/reconciliation-types.js +7 -0
  88. package/dist/src/billing/reconciliation-types.js.map +1 -0
  89. package/dist/src/billing/stripe-client-types.d.ts +45 -0
  90. package/dist/src/billing/stripe-client-types.d.ts.map +1 -0
  91. package/dist/src/billing/stripe-client-types.js +7 -0
  92. package/dist/src/billing/stripe-client-types.js.map +1 -0
  93. package/dist/src/billing/stripe-helpers.d.ts +17 -0
  94. package/dist/src/billing/stripe-helpers.d.ts.map +1 -0
  95. package/dist/src/billing/stripe-helpers.js +50 -0
  96. package/dist/src/billing/stripe-helpers.js.map +1 -0
  97. package/dist/src/billing/webhook-handlers.d.ts +56 -0
  98. package/dist/src/billing/webhook-handlers.d.ts.map +1 -0
  99. package/dist/src/billing/webhook-handlers.js +303 -0
  100. package/dist/src/billing/webhook-handlers.js.map +1 -0
  101. package/dist/src/billing/webhook-types.d.ts +42 -0
  102. package/dist/src/billing/webhook-types.d.ts.map +1 -0
  103. package/dist/src/billing/webhook-types.js +7 -0
  104. package/dist/src/billing/webhook-types.js.map +1 -0
  105. package/dist/src/config/index.d.ts +118 -0
  106. package/dist/src/config/index.d.ts.map +1 -0
  107. package/dist/src/config/index.js +172 -0
  108. package/dist/src/config/index.js.map +1 -0
  109. package/dist/src/db/migration-types.d.ts +101 -0
  110. package/dist/src/db/migration-types.d.ts.map +1 -0
  111. package/dist/src/db/migration-types.js +6 -0
  112. package/dist/src/db/migration-types.js.map +1 -0
  113. package/dist/src/db/migration.d.ts +7 -104
  114. package/dist/src/db/migration.d.ts.map +1 -1
  115. package/dist/src/db/migration.js +15 -65
  116. package/dist/src/db/migration.js.map +1 -1
  117. package/dist/src/embeddings/embedding-types.d.ts +44 -0
  118. package/dist/src/embeddings/embedding-types.d.ts.map +1 -0
  119. package/dist/src/embeddings/embedding-types.js +6 -0
  120. package/dist/src/embeddings/embedding-types.js.map +1 -0
  121. package/dist/src/embeddings/embedding-utils.d.ts +42 -0
  122. package/dist/src/embeddings/embedding-utils.d.ts.map +1 -0
  123. package/dist/src/embeddings/embedding-utils.js +121 -0
  124. package/dist/src/embeddings/embedding-utils.js.map +1 -0
  125. package/dist/src/embeddings/index.d.ts +36 -112
  126. package/dist/src/embeddings/index.d.ts.map +1 -1
  127. package/dist/src/embeddings/index.js +37 -210
  128. package/dist/src/embeddings/index.js.map +1 -1
  129. package/dist/src/exports/repositories.d.ts +18 -0
  130. package/dist/src/exports/repositories.d.ts.map +1 -0
  131. package/dist/src/exports/repositories.js +30 -0
  132. package/dist/src/exports/repositories.js.map +1 -0
  133. package/dist/src/exports/services.d.ts +30 -0
  134. package/dist/src/exports/services.d.ts.map +1 -0
  135. package/dist/src/exports/services.js +70 -0
  136. package/dist/src/exports/services.js.map +1 -0
  137. package/dist/src/exports/types.d.ts +21 -0
  138. package/dist/src/exports/types.d.ts.map +1 -0
  139. package/dist/src/exports/types.js +12 -0
  140. package/dist/src/exports/types.js.map +1 -0
  141. package/dist/src/index.d.ts +11 -55
  142. package/dist/src/index.d.ts.map +1 -1
  143. package/dist/src/index.js +24 -59
  144. package/dist/src/index.js.map +1 -1
  145. package/dist/src/pipeline/DailyIndexPipeline.d.ts +4 -176
  146. package/dist/src/pipeline/DailyIndexPipeline.d.ts.map +1 -1
  147. package/dist/src/pipeline/DailyIndexPipeline.js +9 -83
  148. package/dist/src/pipeline/DailyIndexPipeline.js.map +1 -1
  149. package/dist/src/pipeline/pipeline-types.d.ts +132 -0
  150. package/dist/src/pipeline/pipeline-types.d.ts.map +1 -0
  151. package/dist/src/pipeline/pipeline-types.js +6 -0
  152. package/dist/src/pipeline/pipeline-types.js.map +1 -0
  153. package/dist/src/routing/expert-types.d.ts +109 -0
  154. package/dist/src/routing/expert-types.d.ts.map +1 -0
  155. package/dist/src/routing/expert-types.js +162 -0
  156. package/dist/src/routing/expert-types.js.map +1 -0
  157. package/dist/src/routing/request-types.d.ts +113 -0
  158. package/dist/src/routing/request-types.d.ts.map +1 -0
  159. package/dist/src/routing/request-types.js +9 -0
  160. package/dist/src/routing/request-types.js.map +1 -0
  161. package/dist/src/routing/types.d.ts +5 -207
  162. package/dist/src/routing/types.d.ts.map +1 -1
  163. package/dist/src/routing/types.js +3 -153
  164. package/dist/src/routing/types.js.map +1 -1
  165. package/dist/src/scripts/github-import/github-auth.d.ts +17 -0
  166. package/dist/src/scripts/github-import/github-auth.d.ts.map +1 -0
  167. package/dist/src/scripts/github-import/github-auth.js +201 -0
  168. package/dist/src/scripts/github-import/github-auth.js.map +1 -0
  169. package/dist/src/scripts/github-import/github-client.d.ts +5 -5
  170. package/dist/src/scripts/github-import/github-client.d.ts.map +1 -1
  171. package/dist/src/scripts/github-import/github-client.js +5 -203
  172. package/dist/src/scripts/github-import/github-client.js.map +1 -1
  173. package/dist/src/scripts/merge-skills.d.ts +5 -27
  174. package/dist/src/scripts/merge-skills.d.ts.map +1 -1
  175. package/dist/src/scripts/merge-skills.js +4 -144
  176. package/dist/src/scripts/merge-skills.js.map +1 -1
  177. package/dist/src/scripts/merge-types.d.ts +72 -0
  178. package/dist/src/scripts/merge-types.d.ts.map +1 -0
  179. package/dist/src/scripts/merge-types.js +7 -0
  180. package/dist/src/scripts/merge-types.js.map +1 -0
  181. package/dist/src/scripts/merge-utils.d.ts +23 -0
  182. package/dist/src/scripts/merge-utils.d.ts.map +1 -0
  183. package/dist/src/scripts/merge-utils.js +150 -0
  184. package/dist/src/scripts/merge-utils.js.map +1 -0
  185. package/dist/src/scripts/review-categories.d.ts +41 -0
  186. package/dist/src/scripts/review-categories.d.ts.map +1 -0
  187. package/dist/src/scripts/review-categories.js +316 -0
  188. package/dist/src/scripts/review-categories.js.map +1 -0
  189. package/dist/src/scripts/review-lenny-skills.d.ts +1 -0
  190. package/dist/src/scripts/review-lenny-skills.d.ts.map +1 -1
  191. package/dist/src/scripts/review-lenny-skills.js +5 -310
  192. package/dist/src/scripts/review-lenny-skills.js.map +1 -1
  193. package/dist/src/security/AuditLogger.d.ts +4 -75
  194. package/dist/src/security/AuditLogger.d.ts.map +1 -1
  195. package/dist/src/security/AuditLogger.js +2 -11
  196. package/dist/src/security/AuditLogger.js.map +1 -1
  197. package/dist/src/security/audit-types.d.ts +96 -0
  198. package/dist/src/security/audit-types.d.ts.map +1 -0
  199. package/dist/src/security/audit-types.js +15 -0
  200. package/dist/src/security/audit-types.js.map +1 -0
  201. package/dist/src/security/sanitization.d.ts +1 -85
  202. package/dist/src/security/sanitization.d.ts.map +1 -1
  203. package/dist/src/security/sanitization.js +2 -133
  204. package/dist/src/security/sanitization.js.map +1 -1
  205. package/dist/src/security/stripe-validators.d.ts +92 -0
  206. package/dist/src/security/stripe-validators.d.ts.map +1 -0
  207. package/dist/src/security/stripe-validators.js +139 -0
  208. package/dist/src/security/stripe-validators.js.map +1 -0
  209. package/dist/src/services/SearchService.d.ts +2 -31
  210. package/dist/src/services/SearchService.d.ts.map +1 -1
  211. package/dist/src/services/SearchService.helpers.d.ts +42 -0
  212. package/dist/src/services/SearchService.helpers.d.ts.map +1 -0
  213. package/dist/src/services/SearchService.helpers.js +128 -0
  214. package/dist/src/services/SearchService.helpers.js.map +1 -0
  215. package/dist/src/services/SearchService.js +14 -132
  216. package/dist/src/services/SearchService.js.map +1 -1
  217. package/dist/src/services/SearchService.types.d.ts +53 -0
  218. package/dist/src/services/SearchService.types.d.ts.map +1 -0
  219. package/dist/src/services/SearchService.types.js +7 -0
  220. package/dist/src/services/SearchService.types.js.map +1 -0
  221. package/dist/src/services/SkillAnalyzer.d.ts +6 -86
  222. package/dist/src/services/SkillAnalyzer.d.ts.map +1 -1
  223. package/dist/src/services/SkillAnalyzer.helpers.d.ts +103 -0
  224. package/dist/src/services/SkillAnalyzer.helpers.d.ts.map +1 -0
  225. package/dist/src/services/SkillAnalyzer.helpers.js +237 -0
  226. package/dist/src/services/SkillAnalyzer.helpers.js.map +1 -0
  227. package/dist/src/services/SkillAnalyzer.js +16 -167
  228. package/dist/src/services/SkillAnalyzer.js.map +1 -1
  229. package/dist/src/services/SkillAnalyzer.types.d.ts +110 -0
  230. package/dist/src/services/SkillAnalyzer.types.d.ts.map +1 -0
  231. package/dist/src/services/SkillAnalyzer.types.js +9 -0
  232. package/dist/src/services/SkillAnalyzer.types.js.map +1 -0
  233. package/dist/src/services/SkillDecomposer.d.ts +4 -70
  234. package/dist/src/services/SkillDecomposer.d.ts.map +1 -1
  235. package/dist/src/services/SkillDecomposer.helpers.d.ts +75 -0
  236. package/dist/src/services/SkillDecomposer.helpers.d.ts.map +1 -0
  237. package/dist/src/services/SkillDecomposer.helpers.js +277 -0
  238. package/dist/src/services/SkillDecomposer.helpers.js.map +1 -0
  239. package/dist/src/services/SkillDecomposer.js +6 -249
  240. package/dist/src/services/SkillDecomposer.js.map +1 -1
  241. package/dist/src/services/SkillDecomposer.types.d.ts +104 -0
  242. package/dist/src/services/SkillDecomposer.types.d.ts.map +1 -0
  243. package/dist/src/services/SkillDecomposer.types.js +9 -0
  244. package/dist/src/services/SkillDecomposer.types.js.map +1 -0
  245. package/dist/src/services/SubagentGenerator.d.ts +12 -3
  246. package/dist/src/services/SubagentGenerator.d.ts.map +1 -1
  247. package/dist/src/services/SubagentGenerator.js +43 -10
  248. package/dist/src/services/SubagentGenerator.js.map +1 -1
  249. package/dist/src/services/TaskRunner.d.ts +227 -0
  250. package/dist/src/services/TaskRunner.d.ts.map +1 -0
  251. package/dist/src/services/TaskRunner.js +423 -0
  252. package/dist/src/services/TaskRunner.js.map +1 -0
  253. package/dist/src/services/TransformationService.d.ts +8 -4
  254. package/dist/src/services/TransformationService.d.ts.map +1 -1
  255. package/dist/src/services/TransformationService.js +58 -34
  256. package/dist/src/services/TransformationService.js.map +1 -1
  257. package/dist/src/services/__tests__/TaskRunner.test.d.ts +7 -0
  258. package/dist/src/services/__tests__/TaskRunner.test.d.ts.map +1 -0
  259. package/dist/src/services/__tests__/TaskRunner.test.js +316 -0
  260. package/dist/src/services/__tests__/TaskRunner.test.js.map +1 -0
  261. package/dist/src/services/__tests__/TransformationService.test.js +12 -10
  262. package/dist/src/services/__tests__/TransformationService.test.js.map +1 -1
  263. package/dist/src/telemetry/metric-helpers.d.ts +47 -0
  264. package/dist/src/telemetry/metric-helpers.d.ts.map +1 -0
  265. package/dist/src/telemetry/metric-helpers.js +96 -0
  266. package/dist/src/telemetry/metric-helpers.js.map +1 -0
  267. package/dist/src/telemetry/metric-types.d.ts +73 -0
  268. package/dist/src/telemetry/metric-types.d.ts.map +1 -0
  269. package/dist/src/telemetry/metric-types.js +9 -0
  270. package/dist/src/telemetry/metric-types.js.map +1 -0
  271. package/dist/src/telemetry/metrics.d.ts +8 -119
  272. package/dist/src/telemetry/metrics.d.ts.map +1 -1
  273. package/dist/src/telemetry/metrics.js +20 -193
  274. package/dist/src/telemetry/metrics.js.map +1 -1
  275. package/dist/src/telemetry/span-utils.d.ts +30 -0
  276. package/dist/src/telemetry/span-utils.d.ts.map +1 -0
  277. package/dist/src/telemetry/span-utils.js +62 -0
  278. package/dist/src/telemetry/span-utils.js.map +1 -0
  279. package/dist/src/telemetry/tracer-types.d.ts +91 -0
  280. package/dist/src/telemetry/tracer-types.d.ts.map +1 -0
  281. package/dist/src/telemetry/tracer-types.js +6 -0
  282. package/dist/src/telemetry/tracer-types.js.map +1 -0
  283. package/dist/src/telemetry/tracer.d.ts +5 -122
  284. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  285. package/dist/src/telemetry/tracer.js +23 -168
  286. package/dist/src/telemetry/tracer.js.map +1 -1
  287. package/dist/src/triggers/TriggerDetector.d.ts +6 -142
  288. package/dist/src/triggers/TriggerDetector.d.ts.map +1 -1
  289. package/dist/src/triggers/TriggerDetector.js +15 -247
  290. package/dist/src/triggers/TriggerDetector.js.map +1 -1
  291. package/dist/src/triggers/trigger-constants.d.ts +22 -0
  292. package/dist/src/triggers/trigger-constants.d.ts.map +1 -0
  293. package/dist/src/triggers/trigger-constants.js +185 -0
  294. package/dist/src/triggers/trigger-constants.js.map +1 -0
  295. package/dist/src/triggers/trigger-types.d.ts +90 -0
  296. package/dist/src/triggers/trigger-types.d.ts.map +1 -0
  297. package/dist/src/triggers/trigger-types.js +6 -0
  298. package/dist/src/triggers/trigger-types.js.map +1 -0
  299. package/dist/src/types/skill.d.ts +4 -1
  300. package/dist/src/types/skill.d.ts.map +1 -1
  301. package/dist/src/types/skill.js.map +1 -1
  302. package/dist/src/types.d.ts +6 -2
  303. package/dist/src/types.d.ts.map +1 -1
  304. package/dist/src/types.js +1 -0
  305. package/dist/src/types.js.map +1 -1
  306. package/dist/src/validation/index.d.ts +5 -105
  307. package/dist/src/validation/index.d.ts.map +1 -1
  308. package/dist/src/validation/index.js +9 -421
  309. package/dist/src/validation/index.js.map +1 -1
  310. package/dist/src/validation/input-validators.d.ts +68 -0
  311. package/dist/src/validation/input-validators.d.ts.map +1 -0
  312. package/dist/src/validation/input-validators.js +126 -0
  313. package/dist/src/validation/input-validators.js.map +1 -0
  314. package/dist/src/validation/path-validators.d.ts +23 -0
  315. package/dist/src/validation/path-validators.d.ts.map +1 -0
  316. package/dist/src/validation/path-validators.js +47 -0
  317. package/dist/src/validation/path-validators.js.map +1 -0
  318. package/dist/src/validation/url-validators.d.ts +55 -0
  319. package/dist/src/validation/url-validators.d.ts.map +1 -0
  320. package/dist/src/validation/url-validators.js +267 -0
  321. package/dist/src/validation/url-validators.js.map +1 -0
  322. package/dist/src/validation/validation-error.d.ts +14 -0
  323. package/dist/src/validation/validation-error.d.ts.map +1 -0
  324. package/dist/src/validation/validation-error.js +19 -0
  325. package/dist/src/validation/validation-error.js.map +1 -0
  326. package/dist/src/webhooks/WebhookPayload.d.ts +4 -215
  327. package/dist/src/webhooks/WebhookPayload.d.ts.map +1 -1
  328. package/dist/src/webhooks/WebhookPayload.js +1 -122
  329. package/dist/src/webhooks/WebhookPayload.js.map +1 -1
  330. package/dist/src/webhooks/WebhookQueue.d.ts +2 -140
  331. package/dist/src/webhooks/WebhookQueue.d.ts.map +1 -1
  332. package/dist/src/webhooks/WebhookQueue.js +4 -11
  333. package/dist/src/webhooks/WebhookQueue.js.map +1 -1
  334. package/dist/src/webhooks/WebhookQueue.types.d.ts +149 -0
  335. package/dist/src/webhooks/WebhookQueue.types.d.ts.map +1 -0
  336. package/dist/src/webhooks/WebhookQueue.types.js +10 -0
  337. package/dist/src/webhooks/WebhookQueue.types.js.map +1 -0
  338. package/dist/src/webhooks/WebhookQueue.utils.d.ts +44 -0
  339. package/dist/src/webhooks/WebhookQueue.utils.d.ts.map +1 -0
  340. package/dist/src/webhooks/WebhookQueue.utils.js +58 -0
  341. package/dist/src/webhooks/WebhookQueue.utils.js.map +1 -0
  342. package/dist/src/webhooks/webhook-schemas.d.ts +213 -0
  343. package/dist/src/webhooks/webhook-schemas.d.ts.map +1 -0
  344. package/dist/src/webhooks/webhook-schemas.js +132 -0
  345. package/dist/src/webhooks/webhook-schemas.js.map +1 -0
  346. package/dist/src/webhooks/webhook-types.d.ts +222 -0
  347. package/dist/src/webhooks/webhook-types.d.ts.map +1 -0
  348. package/dist/src/webhooks/webhook-types.js +10 -0
  349. package/dist/src/webhooks/webhook-types.js.map +1 -0
  350. package/dist/tests/api/utils.test.d.ts +7 -0
  351. package/dist/tests/api/utils.test.d.ts.map +1 -0
  352. package/dist/tests/api/utils.test.js +121 -0
  353. package/dist/tests/api/utils.test.js.map +1 -0
  354. package/dist/tests/integration/neural/neural-fixtures.d.ts +19 -0
  355. package/dist/tests/integration/neural/neural-fixtures.d.ts.map +1 -0
  356. package/dist/tests/integration/neural/neural-fixtures.js +49 -0
  357. package/dist/tests/integration/neural/neural-fixtures.js.map +1 -0
  358. package/dist/tests/integration/neural/neural-mocks-privacy.d.ts +78 -0
  359. package/dist/tests/integration/neural/neural-mocks-privacy.d.ts.map +1 -0
  360. package/dist/tests/integration/neural/neural-mocks-privacy.js +146 -0
  361. package/dist/tests/integration/neural/neural-mocks-privacy.js.map +1 -0
  362. package/dist/tests/integration/neural/neural-mocks.d.ts +90 -0
  363. package/dist/tests/integration/neural/neural-mocks.d.ts.map +1 -0
  364. package/dist/tests/integration/neural/neural-mocks.js +288 -0
  365. package/dist/tests/integration/neural/neural-mocks.js.map +1 -0
  366. package/dist/tests/integration/neural/neural-test-utils.d.ts +27 -0
  367. package/dist/tests/integration/neural/neural-test-utils.d.ts.map +1 -0
  368. package/dist/tests/integration/neural/neural-test-utils.js +35 -0
  369. package/dist/tests/integration/neural/neural-test-utils.js.map +1 -0
  370. package/dist/tests/integration/neural/setup.d.ts +6 -165
  371. package/dist/tests/integration/neural/setup.d.ts.map +1 -1
  372. package/dist/tests/integration/neural/setup.js +9 -477
  373. package/dist/tests/integration/neural/setup.js.map +1 -1
  374. package/package.json +4 -4
@@ -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":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAIhC,0CAA0C;AAC1C,IAAI,uBAAuB,GAAgD,IAAI,CAAA;AAE/E;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,UAAU,GAAG,GAAG,CAAA;IAEpB,gEAAgE;IAChE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAChE,GAAG,CAAC,gCAAgC,CAAC,CAAA;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,+CAA+C,EAAE,MAAM,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAE7C,mDAAmD;IACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,6CAA6C;IAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtE,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEpE,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC9F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QAC5C,UAAU,GAAG,GAAG,WAAW,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAA;IACpE,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAA;IAEtE,yBAAyB;IACzB,MAAM,MAAM,GAAG,UAAU;SACtB,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;SACtC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAErB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE/C,IAAI,OAAO,EAAE,CAAC;QACZ,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;YAC9B,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,wBAAwB;YAC9B,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,sBAAsB;YAC5B,IAAI;YACJ,IAAI,EAAE,iCAAiC;YACvC,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,oBAAoB;YAC1B,IAAI;YACJ,IAAI,EAAE,oBAAoB;YAC1B,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,4BAA4B;SACnC,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAA;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAA;QACxC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QAEzC,4BAA4B;QAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QACjC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAA;QAE1B,0BAA0B;QAC1B,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QAC9D,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;QAEvD,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,SAAS,CACrC,OAAO,EACP,KAAK,EACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,EAC9C,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAA;IACH,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,SAAS,CACrC,OAAO,EACP,SAAS,EACT,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,EAC9C,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAA;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,IAAqB;IAC5C,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC7F,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,UAAkB;IAC3D,GAAG,CAAC,+CAA+C,CAAC,CAAA;IAEpD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAEpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,qCAAqC;YACpD,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,wBAAwB;YACxC,GAAG,EAAE,KAAK;SACX,CAAA;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3D,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAA;QAElD,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAC3C,mBAAmB,EACnB,SAAS,EACT,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAC3B,CAAA;QAED,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;QACzE,GAAG,CAAC,0BAA0B,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,yBAAyB,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;QAC9C,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,EAAE,aAAa,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAAA;IAEpF,IAAI,CAAC,aAAa,IAAI,CAAC,0BAA0B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc;IACd,IAAI,uBAAuB,IAAI,uBAAuB,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC9E,GAAG,CAAC,4CAA4C,CAAC,CAAA;QACjD,OAAO,uBAAuB,CAAC,KAAK,CAAA;IACtC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAA;QAErE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,4CAA4C,0BAA0B,gBAAgB,EACtF;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,gCAAgC;gBACxC,aAAa,EAAE,UAAU,GAAG,EAAE;gBAC9B,YAAY,EAAE,uBAAuB;aACtC;SACF,CACF,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACvC,GAAG,CAAC,qCAAqC,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;YACnF,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0C,CAAA;QAE7E,sDAAsD;QACtD,uBAAuB,GAAG;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;SAC/D,CAAA;QAED,GAAG,CAAC,qDAAqD,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,qCAAqC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,gCAAgC;QACxC,YAAY,EAAE,uBAAuB;KACtC,CAAA;IAED,sCAAsC;IACtC,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,EAAE,CAAA;IACtD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,iBAAiB,EAAE,CAAA;QACxD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mBAAmB;IACnB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,CAAC,YAAY,EAAE,CAAA;IAC5D,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -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"}