@skillsmith/core 0.4.1 → 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 (370) 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 +17 -131
  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 +35 -0
  59. package/dist/src/api/utils.d.ts.map +1 -0
  60. package/dist/src/api/utils.js +86 -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 +10 -54
  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/integration/neural/neural-fixtures.d.ts +19 -0
  351. package/dist/tests/integration/neural/neural-fixtures.d.ts.map +1 -0
  352. package/dist/tests/integration/neural/neural-fixtures.js +49 -0
  353. package/dist/tests/integration/neural/neural-fixtures.js.map +1 -0
  354. package/dist/tests/integration/neural/neural-mocks-privacy.d.ts +78 -0
  355. package/dist/tests/integration/neural/neural-mocks-privacy.d.ts.map +1 -0
  356. package/dist/tests/integration/neural/neural-mocks-privacy.js +146 -0
  357. package/dist/tests/integration/neural/neural-mocks-privacy.js.map +1 -0
  358. package/dist/tests/integration/neural/neural-mocks.d.ts +90 -0
  359. package/dist/tests/integration/neural/neural-mocks.d.ts.map +1 -0
  360. package/dist/tests/integration/neural/neural-mocks.js +288 -0
  361. package/dist/tests/integration/neural/neural-mocks.js.map +1 -0
  362. package/dist/tests/integration/neural/neural-test-utils.d.ts +27 -0
  363. package/dist/tests/integration/neural/neural-test-utils.d.ts.map +1 -0
  364. package/dist/tests/integration/neural/neural-test-utils.js +35 -0
  365. package/dist/tests/integration/neural/neural-test-utils.js.map +1 -0
  366. package/dist/tests/integration/neural/setup.d.ts +6 -165
  367. package/dist/tests/integration/neural/setup.d.ts.map +1 -1
  368. package/dist/tests/integration/neural/setup.js +9 -477
  369. package/dist/tests/integration/neural/setup.js.map +1 -1
  370. package/package.json +4 -4
@@ -11,93 +11,9 @@
11
11
  * - getRecommendations: Get skill recommendations based on tech stack
12
12
  * - recordEvent: Record telemetry event
13
13
  */
14
- import { z } from 'zod';
15
14
  import type { Skill, TrustTier, SearchOptions } from '../types/skill.js';
16
- /**
17
- * Trust tier enum values
18
- */
19
- declare const TrustTierSchema: z.ZodEnum<{
20
- verified: "verified";
21
- community: "community";
22
- experimental: "experimental";
23
- unknown: "unknown";
24
- }>;
25
- /**
26
- * Schema for individual search result from API
27
- * SMI-1577: Added .optional() and .default() to handle partial API responses
28
- */
29
- declare const ApiSearchResultSchema: z.ZodObject<{
30
- id: z.ZodString;
31
- name: z.ZodString;
32
- description: z.ZodNullable<z.ZodString>;
33
- author: z.ZodNullable<z.ZodString>;
34
- repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
- quality_score: z.ZodNullable<z.ZodNumber>;
36
- trust_tier: z.ZodDefault<z.ZodEnum<{
37
- verified: "verified";
38
- community: "community";
39
- experimental: "experimental";
40
- unknown: "unknown";
41
- }>>;
42
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
43
- stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
44
- installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
45
- created_at: z.ZodOptional<z.ZodString>;
46
- updated_at: z.ZodOptional<z.ZodString>;
47
- }, z.core.$strip>;
48
- /**
49
- * Schema for telemetry response
50
- */
51
- declare const TelemetryResponseSchema: z.ZodObject<{
52
- data: z.ZodObject<{
53
- ok: z.ZodBoolean;
54
- }, z.core.$strip>;
55
- meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
56
- }, z.core.$strip>;
57
- declare const SearchResponseSchema: z.ZodObject<{
58
- data: z.ZodArray<z.ZodObject<{
59
- id: z.ZodString;
60
- name: z.ZodString;
61
- description: z.ZodNullable<z.ZodString>;
62
- author: z.ZodNullable<z.ZodString>;
63
- repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
64
- quality_score: z.ZodNullable<z.ZodNumber>;
65
- trust_tier: z.ZodDefault<z.ZodEnum<{
66
- verified: "verified";
67
- community: "community";
68
- experimental: "experimental";
69
- unknown: "unknown";
70
- }>>;
71
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
72
- stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
73
- installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
74
- created_at: z.ZodOptional<z.ZodString>;
75
- updated_at: z.ZodOptional<z.ZodString>;
76
- }, z.core.$strip>>;
77
- meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
78
- }, z.core.$strip>;
79
- declare const SingleSkillResponseSchema: z.ZodObject<{
80
- data: z.ZodObject<{
81
- id: z.ZodString;
82
- name: z.ZodString;
83
- description: z.ZodNullable<z.ZodString>;
84
- author: z.ZodNullable<z.ZodString>;
85
- repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
86
- quality_score: z.ZodNullable<z.ZodNumber>;
87
- trust_tier: z.ZodDefault<z.ZodEnum<{
88
- verified: "verified";
89
- community: "community";
90
- experimental: "experimental";
91
- unknown: "unknown";
92
- }>>;
93
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
94
- stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
95
- installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
96
- created_at: z.ZodOptional<z.ZodString>;
97
- updated_at: z.ZodOptional<z.ZodString>;
98
- }, z.core.$strip>;
99
- meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
100
- }, z.core.$strip>;
15
+ export { generateAnonymousId } from './utils.js';
16
+ export { ApiSearchResultSchema, SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, TrustTierSchema, } from './schemas.js';
101
17
  /**
102
18
  * API response wrapper
103
19
  */
@@ -164,6 +80,8 @@ export interface ApiClientConfig {
164
80
  baseUrl?: string;
165
81
  /** Supabase anon key for authentication */
166
82
  anonKey?: string;
83
+ /** API key for authenticated requests (X-API-Key header) */
84
+ apiKey?: string;
167
85
  /** Request timeout in ms (default 30000) */
168
86
  timeout?: number;
169
87
  /** Max retry attempts (default 3) */
@@ -173,14 +91,6 @@ export interface ApiClientConfig {
173
91
  /** Enable offline mode (disables API calls) */
174
92
  offlineMode?: boolean;
175
93
  }
176
- /**
177
- * Generate anonymous ID for telemetry using cryptographic randomness.
178
- * Returns a UUID v4 format string (e.g., "550e8400-e29b-41d4-a716-446655440000").
179
- *
180
- * Note: This generates a fresh ID per session - it is NOT stored persistently.
181
- * For persistent anonymous IDs, the caller must handle storage.
182
- */
183
- export declare function generateAnonymousId(): string;
184
94
  /**
185
95
  * Skillsmith API Client
186
96
  *
@@ -197,6 +107,7 @@ export declare function generateAnonymousId(): string;
197
107
  export declare class SkillsmithApiClient {
198
108
  private baseUrl;
199
109
  private anonKey;
110
+ private apiKey;
200
111
  private timeout;
201
112
  private maxRetries;
202
113
  private debug;
@@ -210,60 +121,35 @@ export declare class SkillsmithApiClient {
210
121
  * Log debug message
211
122
  */
212
123
  private log;
213
- /**
214
- * Build request headers
215
- */
216
- private buildHeaders;
217
124
  /**
218
125
  * Make API request with retry logic and optional schema validation
219
126
  * SMI-1258: Added runtime validation for API responses
220
- *
221
- * @param endpoint - API endpoint path
222
- * @param options - Fetch options
223
- * @param schema - Optional zod schema for response validation
224
127
  */
225
128
  private request;
226
129
  /**
227
130
  * Search for skills
228
131
  * SMI-1258: Validates response against SearchResponseSchema
229
- *
230
- * @param options - Search options
231
- * @returns Search results
232
132
  */
233
133
  search(options: SearchOptions): Promise<ApiResponse<ApiSearchResult[]>>;
234
134
  /**
235
135
  * Get skill by ID
236
136
  * SMI-1258: Validates response against SingleSkillResponseSchema
237
- *
238
- * @param id - Skill ID (UUID or author/name format)
239
- * @returns Skill details
240
137
  */
241
138
  getSkill(id: string): Promise<ApiResponse<ApiSearchResult>>;
242
139
  /**
243
140
  * Get skill recommendations based on tech stack
244
141
  * SMI-1258: Validates response against SearchResponseSchema
245
- *
246
- * @param request - Recommendation request
247
- * @returns Recommended skills
248
142
  */
249
143
  getRecommendations(request: RecommendationRequest): Promise<ApiResponse<ApiSearchResult[]>>;
250
144
  /**
251
145
  * Record telemetry event
252
146
  * SMI-1258: Validates response against TelemetryResponseSchema
253
- *
254
- * @param event - Telemetry event
255
- * @returns Success response
256
147
  */
257
148
  recordEvent(event: TelemetryEvent): Promise<{
258
149
  ok: boolean;
259
150
  }>;
260
151
  /**
261
152
  * Check API health status
262
- *
263
- * Returns service health information including status, timestamp, and version.
264
- * In offline mode, returns a synthetic healthy response.
265
- *
266
- * @returns Health status object
267
153
  */
268
154
  checkHealth(): Promise<{
269
155
  status: 'healthy' | 'degraded' | 'unhealthy';
@@ -273,7 +159,6 @@ export declare class SkillsmithApiClient {
273
159
  /**
274
160
  * Convert API result to Skill type
275
161
  * SMI-1577: Handle optional fields with sensible defaults
276
- * Uses epoch timestamp as sentinel for missing dates to avoid data integrity issues
277
162
  * SMI-825: Added security scan fields
278
163
  */
279
164
  static toSkill(result: ApiSearchResult): Skill;
@@ -282,6 +167,5 @@ export declare class SkillsmithApiClient {
282
167
  * Create a default API client instance
283
168
  */
284
169
  export declare function createApiClient(config?: ApiClientConfig): SkillsmithApiClient;
285
- export { ApiSearchResultSchema, SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, TrustTierSchema, };
286
170
  export default SkillsmithApiClient;
287
171
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -11,54 +11,13 @@
11
11
  * - getRecommendations: Get skill recommendations based on tech stack
12
12
  * - recordEvent: Record telemetry event
13
13
  */
14
- import { z } from 'zod';
15
14
  import { SkillsmithError, ErrorCodes } from '../errors.js';
16
- // ============================================================================
17
- // Zod Schemas for API Response Validation (SMI-1258)
18
- // ============================================================================
19
- /**
20
- * Trust tier enum values
21
- */
22
- const TrustTierSchema = z.enum(['verified', 'community', 'experimental', 'unknown']);
23
- /**
24
- * Schema for individual search result from API
25
- * SMI-1577: Added .optional() and .default() to handle partial API responses
26
- */
27
- const ApiSearchResultSchema = z.object({
28
- id: z.string(),
29
- name: z.string(),
30
- description: z.string().nullable(),
31
- author: z.string().nullable(),
32
- repo_url: z.string().nullable().optional(),
33
- quality_score: z.number().nullable(),
34
- trust_tier: TrustTierSchema.default('unknown'),
35
- tags: z.array(z.string()).default([]),
36
- stars: z.number().nullable().optional(),
37
- installable: z.boolean().nullable().optional(),
38
- created_at: z.string().optional(),
39
- updated_at: z.string().optional(),
40
- });
41
- /**
42
- * Schema for generic API response wrapper
43
- */
44
- function createApiResponseSchema(dataSchema) {
45
- return z.object({
46
- data: dataSchema,
47
- meta: z.record(z.string(), z.unknown()).optional(),
48
- });
49
- }
50
- /**
51
- * Schema for telemetry response
52
- */
53
- const TelemetryResponseSchema = z.object({
54
- data: z.object({
55
- ok: z.boolean(),
56
- }),
57
- meta: z.record(z.string(), z.unknown()).optional(),
58
- });
59
- // Pre-built schemas for common responses
60
- const SearchResponseSchema = createApiResponseSchema(z.array(ApiSearchResultSchema));
61
- const SingleSkillResponseSchema = createApiResponseSchema(ApiSearchResultSchema);
15
+ // Import from extracted modules
16
+ import { SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, } from './schemas.js';
17
+ import { calculateBackoff, buildRequestHeaders, DEFAULT_BASE_URL } from './utils.js';
18
+ // Re-export for backwards compatibility
19
+ export { generateAnonymousId } from './utils.js';
20
+ export { ApiSearchResultSchema, SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, TrustTierSchema, } from './schemas.js';
62
21
  /**
63
22
  * Custom error class for API client errors with retry control
64
23
  * SMI-1257: Replace string-based retry skip with custom error class
@@ -73,50 +32,9 @@ export class ApiClientError extends Error {
73
32
  this.name = 'ApiClientError';
74
33
  }
75
34
  }
76
- // Default base URL is constructed from SUPABASE_URL environment variable
77
- // Falls back to undefined to fail explicitly if not configured
78
- const DEFAULT_BASE_URL = process.env.SUPABASE_URL
79
- ? `${process.env.SUPABASE_URL}/functions/v1`
80
- : undefined;
81
- /**
82
- * Calculate delay with exponential backoff and jitter
83
- */
84
- function calculateBackoff(attempt, baseDelay = 1000) {
85
- const exponentialDelay = baseDelay * Math.pow(2, attempt);
86
- const jitter = Math.random() * 0.3 * exponentialDelay;
87
- return Math.min(exponentialDelay + jitter, 30000); // Max 30s
88
- }
89
- /**
90
- * Generate anonymous ID for telemetry using cryptographic randomness.
91
- * Returns a UUID v4 format string (e.g., "550e8400-e29b-41d4-a716-446655440000").
92
- *
93
- * Note: This generates a fresh ID per session - it is NOT stored persistently.
94
- * For persistent anonymous IDs, the caller must handle storage.
95
- */
96
- export function generateAnonymousId() {
97
- // Use Node.js crypto.randomUUID() for cryptographically secure random IDs
98
- // This is available in Node.js 14.17.0+ and all modern browsers
99
- if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
100
- return crypto.randomUUID();
101
- }
102
- // Fallback for older environments: use crypto.getRandomValues if available
103
- if (typeof crypto !== 'undefined' && typeof crypto.getRandomValues === 'function') {
104
- const bytes = new Uint8Array(16);
105
- crypto.getRandomValues(bytes);
106
- // Set version (4) and variant (RFC4122) bits
107
- bytes[6] = (bytes[6] & 0x0f) | 0x40;
108
- bytes[8] = (bytes[8] & 0x3f) | 0x80;
109
- const hex = Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('');
110
- return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
111
- }
112
- // Last resort fallback (not cryptographically secure, but functional)
113
- const chars = 'abcdef0123456789';
114
- let id = '';
115
- for (let i = 0; i < 32; i++) {
116
- id += chars[Math.floor(Math.random() * chars.length)];
117
- }
118
- return `${id.slice(0, 8)}-${id.slice(8, 12)}-${id.slice(12, 16)}-${id.slice(16, 20)}-${id.slice(20)}`;
119
- }
35
+ // ============================================================================
36
+ // API Client Class
37
+ // ============================================================================
120
38
  /**
121
39
  * Skillsmith API Client
122
40
  *
@@ -133,6 +51,7 @@ export function generateAnonymousId() {
133
51
  export class SkillsmithApiClient {
134
52
  baseUrl;
135
53
  anonKey;
54
+ apiKey;
136
55
  timeout;
137
56
  maxRetries;
138
57
  debug;
@@ -145,6 +64,7 @@ export class SkillsmithApiClient {
145
64
  this.offlineMode = explicitOfflineMode || !baseUrl;
146
65
  this.baseUrl = baseUrl || 'offline://not-configured';
147
66
  this.anonKey = config.anonKey || process.env.SUPABASE_ANON_KEY;
67
+ this.apiKey = config.apiKey || process.env.SKILLSMITH_API_KEY;
148
68
  this.timeout = config.timeout ?? 30000;
149
69
  this.maxRetries = config.maxRetries ?? 3;
150
70
  this.debug = config.debug ?? false;
@@ -163,27 +83,9 @@ export class SkillsmithApiClient {
163
83
  console.log(`[SkillsmithApiClient] ${message}`, data ?? '');
164
84
  }
165
85
  }
166
- /**
167
- * Build request headers
168
- */
169
- buildHeaders() {
170
- const headers = {
171
- 'Content-Type': 'application/json',
172
- 'x-request-id': `client-${Date.now()}-${Math.random().toString(36).slice(2)}`,
173
- };
174
- if (this.anonKey) {
175
- headers['Authorization'] = `Bearer ${this.anonKey}`;
176
- headers['apikey'] = this.anonKey;
177
- }
178
- return headers;
179
- }
180
86
  /**
181
87
  * Make API request with retry logic and optional schema validation
182
88
  * SMI-1258: Added runtime validation for API responses
183
- *
184
- * @param endpoint - API endpoint path
185
- * @param options - Fetch options
186
- * @param schema - Optional zod schema for response validation
187
89
  */
188
90
  async request(endpoint, options = {}, schema) {
189
91
  const url = `${this.baseUrl}${endpoint}`;
@@ -196,7 +98,8 @@ export class SkillsmithApiClient {
196
98
  const response = await fetch(url, {
197
99
  ...options,
198
100
  headers: {
199
- ...this.buildHeaders(),
101
+ ...buildRequestHeaders(this.anonKey),
102
+ ...(this.apiKey && { 'X-API-Key': this.apiKey }),
200
103
  ...options.headers,
201
104
  },
202
105
  signal: controller.signal,
@@ -270,9 +173,6 @@ export class SkillsmithApiClient {
270
173
  /**
271
174
  * Search for skills
272
175
  * SMI-1258: Validates response against SearchResponseSchema
273
- *
274
- * @param options - Search options
275
- * @returns Search results
276
176
  */
277
177
  async search(options) {
278
178
  const params = new URLSearchParams();
@@ -292,9 +192,6 @@ export class SkillsmithApiClient {
292
192
  /**
293
193
  * Get skill by ID
294
194
  * SMI-1258: Validates response against SingleSkillResponseSchema
295
- *
296
- * @param id - Skill ID (UUID or author/name format)
297
- * @returns Skill details
298
195
  */
299
196
  async getSkill(id) {
300
197
  const encodedId = encodeURIComponent(id);
@@ -303,9 +200,6 @@ export class SkillsmithApiClient {
303
200
  /**
304
201
  * Get skill recommendations based on tech stack
305
202
  * SMI-1258: Validates response against SearchResponseSchema
306
- *
307
- * @param request - Recommendation request
308
- * @returns Recommended skills
309
203
  */
310
204
  async getRecommendations(request) {
311
205
  return this.request('/skills-recommend', {
@@ -316,9 +210,6 @@ export class SkillsmithApiClient {
316
210
  /**
317
211
  * Record telemetry event
318
212
  * SMI-1258: Validates response against TelemetryResponseSchema
319
- *
320
- * @param event - Telemetry event
321
- * @returns Success response
322
213
  */
323
214
  async recordEvent(event) {
324
215
  try {
@@ -336,11 +227,6 @@ export class SkillsmithApiClient {
336
227
  }
337
228
  /**
338
229
  * Check API health status
339
- *
340
- * Returns service health information including status, timestamp, and version.
341
- * In offline mode, returns a synthetic healthy response.
342
- *
343
- * @returns Health status object
344
230
  */
345
231
  async checkHealth() {
346
232
  // In offline mode, return synthetic healthy status
@@ -356,7 +242,7 @@ export class SkillsmithApiClient {
356
242
  const controller = new AbortController();
357
243
  const timeoutId = setTimeout(() => controller.abort(), 5000); // 5s timeout for health
358
244
  const response = await fetch(`${this.baseUrl}/health`, {
359
- headers: this.buildHeaders(),
245
+ headers: buildRequestHeaders(this.anonKey),
360
246
  signal: controller.signal,
361
247
  });
362
248
  clearTimeout(timeoutId);
@@ -398,7 +284,6 @@ export class SkillsmithApiClient {
398
284
  /**
399
285
  * Convert API result to Skill type
400
286
  * SMI-1577: Handle optional fields with sensible defaults
401
- * Uses epoch timestamp as sentinel for missing dates to avoid data integrity issues
402
287
  * SMI-825: Added security scan fields
403
288
  */
404
289
  static toSkill(result) {
@@ -424,13 +309,14 @@ export class SkillsmithApiClient {
424
309
  };
425
310
  }
426
311
  }
312
+ // ============================================================================
313
+ // Factory Function
314
+ // ============================================================================
427
315
  /**
428
316
  * Create a default API client instance
429
317
  */
430
318
  export function createApiClient(config) {
431
319
  return new SkillsmithApiClient(config);
432
320
  }
433
- // SMI-1258: Export schemas for testing and external validation
434
- export { ApiSearchResultSchema, SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, TrustTierSchema, };
435
321
  export default SkillsmithApiClient;
436
322
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE1D,+EAA+E;AAC/E,qDAAqD;AACrD,+EAA+E;AAE/E;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAA;AAEpF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAEF;;GAEG;AACH,SAAS,uBAAuB,CAAyB,UAAa;IACpE,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KACnD,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;KAChB,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAA;AAEF,yCAAyC;AACzC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;AACpF,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,qBAAqB,CAAC,CAAA;AAkBhF;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IAGrB;IACA;IAHlB,YACE,OAAe,EACC,YAAqB,KAAK,EAC1B,UAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAA;QAHE,cAAS,GAAT,SAAS,CAAiB;QAC1B,eAAU,GAAV,UAAU,CAAS;QAGnC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,CAAC;CACF;AAkED,yEAAyE;AACzE,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY;IAC/C,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,eAAe;IAC5C,CAAC,CAAC,SAAS,CAAA;AAEb;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe,EAAE,SAAS,GAAG,IAAI;IACzD,MAAM,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,gBAAgB,CAAA;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,EAAE,KAAK,CAAC,CAAA,CAAC,UAAU;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,0EAA0E;IAC1E,gEAAgE;IAChE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC7E,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;IAED,2EAA2E;IAC3E,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAC7B,6CAA6C;QAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;QACnC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9E,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;IAC5G,CAAC;IAED,sEAAsE;IACtE,MAAM,KAAK,GAAG,kBAAkB,CAAA;IAChC,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;AACvG,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IACtB,OAAO,CAAQ;IACf,OAAO,CAAoB;IAC3B,OAAO,CAAQ;IACf,UAAU,CAAQ;IAClB,KAAK,CAAS;IACd,WAAW,CAAS;IAE5B,YAAY,SAA0B,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,gBAAgB,CAAA;QAEpF,0EAA0E;QAC1E,yFAAyF;QACzF,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM,CAAA;QAChG,IAAI,CAAC,WAAW,GAAG,mBAAmB,IAAI,CAAC,OAAO,CAAA;QAElD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,0BAA0B,CAAA;QACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAA;QACtC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED;;OAEG;IACK,GAAG,CAAC,OAAe,EAAE,IAAc;QACzC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,cAAc,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC9E,CAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,OAAO,EAAE,CAAA;YACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAClC,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,OAAO,CACnB,QAAgB,EAChB,UAAuB,EAAE,EACzB,MAAkC;QAElC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAA;QACxC,IAAI,SAA4B,CAAA;QAEhC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,mBAAmB,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAA;gBAErF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;gBACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBAEpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAChC,GAAG,OAAO;oBACV,OAAO,EAAE;wBACP,GAAG,IAAI,CAAC,YAAY,EAAE;wBACtB,GAAG,OAAO,CAAC,OAAO;qBACnB;oBACD,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAA;gBAEF,YAAY,CAAC,SAAS,CAAC,CAAA;gBAEvB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ;yBAC9B,IAAI,EAAE;yBACN,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAqB,CAAA;oBAEjE,qDAAqD;oBACrD,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBACpD,MAAM,IAAI,cAAc,CACtB,SAAS,CAAC,KAAK,IAAI,cAAc,QAAQ,CAAC,MAAM,EAAE,EAClD,KAAK,EAAE,gBAAgB;wBACvB,QAAQ,CAAC,MAAM,CAChB,CAAA;oBACH,CAAC;oBAED,iEAAiE;oBACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;wBACtD,MAAM,IAAI,cAAc,CAAC,iBAAiB,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;oBACrF,CAAC;oBAED,yBAAyB;oBACzB,MAAM,IAAI,cAAc,CACtB,SAAS,CAAC,KAAK,IAAI,cAAc,QAAQ,CAAC,MAAM,EAAE,EAClD,KAAK,EACL,QAAQ,CAAC,MAAM,CAChB,CAAA;gBACH,CAAC;gBAED,MAAM,OAAO,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAE9C,yDAAyD;gBACzD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;oBAC3C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;wBACvB,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM;6BACxC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;6BAC3D,IAAI,CAAC,IAAI,CAAC,CAAA;wBACb,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;wBAC/D,MAAM,IAAI,eAAe,CACvB,UAAU,CAAC,wBAAwB,EACnC,yBAAyB,YAAY,EAAE,EACvC;4BACE,OAAO,EAAE;gCACP,QAAQ;gCACR,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;6BACzC;yBACF,CACF,CAAA;oBACH,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;oBACzE,OAAO,SAAS,CAAC,IAAI,CAAA;gBACvB,CAAC;gBAED,kEAAkE;gBAClE,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;gBAC3D,OAAO,OAAyB,CAAA;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBACrE,IAAI,CAAC,GAAG,CAAC,WAAW,OAAO,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;gBAE7D,8BAA8B;gBAC9B,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACpC,MAAM,SAAS,CAAA;gBACjB,CAAC;gBAED,8EAA8E;gBAC9E,IACE,SAAS,YAAY,eAAe;oBACpC,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,wBAAwB,EACtD,CAAC;oBACD,MAAM,SAAS,CAAA;gBACjB,CAAC;gBAED,8DAA8D;gBAC9D,0CAA0C;gBAC1C,IAAI,SAAS,YAAY,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;oBAChE,MAAM,SAAS,CAAA;gBACjB,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;oBACvC,IAAI,CAAC,GAAG,CAAC,eAAe,KAAK,OAAO,CAAC,CAAA;oBACrC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAC9D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAElC,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7D,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QAChE,IAAI,OAAO,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAClE,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;QAC1D,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE9D,OAAO,IAAI,CAAC,OAAO,CACjB,kBAAkB,MAAM,CAAC,QAAQ,EAAE,EAAE,EACrC,EAAE,EACF,oBAAoB,CACrB,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACxC,OAAO,IAAI,CAAC,OAAO,CACjB,kBAAkB,SAAS,EAAE,EAC7B,EAAE,EACF,yBAAyB,CAC1B,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAA8B;QAE9B,OAAO,IAAI,CAAC,OAAO,CACjB,mBAAmB,EACnB;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,EACD,oBAAoB,CACrB,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,KAAqB;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,SAAS,EACT;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAC5B,EACD,uBAAuB,CACxB,CAAA;YACD,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;YAC7C,IAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;YACjD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW;QAKf,mDAAmD;QACnD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,SAAS;aACnB,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,6CAA6C;YAC7C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA,CAAC,wBAAwB;YAErF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,SAAS,EAAE;gBACrD,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YAEF,YAAY,CAAC,SAAS,CAAC,CAAA;YAEvB,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,gEAAgE;gBAChE,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0C,CAAA;oBAC7E,OAAO;wBACL,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;qBACjC,CAAA;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;wBACL,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,OAAO,EAAE,OAAO;qBACjB,CAAA;gBACH,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;gBACzD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,SAAS;aACnB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;YAEvC,4CAA4C;YAC5C,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,SAAS;aACnB,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,MAAuB;QACpC,yEAAyE;QACzE,MAAM,YAAY,GAAG,0BAA0B,CAAA;QAC/C,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;YAChC,YAAY,EAAE,MAAM,CAAC,aAAa;YAClC,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;YACxC,yEAAyE;YACzE,SAAS,EAAE,IAAI;YACf,qBAAqB,EAAE,CAAC;YACxB,iBAAiB,EAAE,IAAI;YACvB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,YAAY;YAC5C,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,YAAY;SAC7C,CAAA;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAwB;IACtD,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAA;AACxC,CAAC;AAED,+DAA+D;AAC/D,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,eAAe,GAChB,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Zod Schemas for API Response Validation
3
+ * @module api/schemas
4
+ *
5
+ * SMI-1258: Runtime validation for API responses using zod
6
+ */
7
+ import { z } from 'zod';
8
+ /**
9
+ * Trust tier enum values
10
+ */
11
+ export declare const TrustTierSchema: z.ZodEnum<{
12
+ verified: "verified";
13
+ community: "community";
14
+ experimental: "experimental";
15
+ unknown: "unknown";
16
+ }>;
17
+ /**
18
+ * Schema for individual search result from API
19
+ * SMI-1577: Added .optional() and .default() to handle partial API responses
20
+ */
21
+ export declare const ApiSearchResultSchema: z.ZodObject<{
22
+ id: z.ZodString;
23
+ name: z.ZodString;
24
+ description: z.ZodNullable<z.ZodString>;
25
+ author: z.ZodNullable<z.ZodString>;
26
+ repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ quality_score: z.ZodNullable<z.ZodNumber>;
28
+ trust_tier: z.ZodDefault<z.ZodEnum<{
29
+ verified: "verified";
30
+ community: "community";
31
+ experimental: "experimental";
32
+ unknown: "unknown";
33
+ }>>;
34
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
35
+ stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
36
+ installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
37
+ created_at: z.ZodOptional<z.ZodString>;
38
+ updated_at: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>;
40
+ /**
41
+ * Schema for generic API response wrapper
42
+ */
43
+ export declare function createApiResponseSchema<T extends z.ZodTypeAny>(dataSchema: T): z.ZodObject<{
44
+ data: T;
45
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
46
+ }, z.core.$strip>;
47
+ /**
48
+ * Schema for telemetry response
49
+ */
50
+ export declare const TelemetryResponseSchema: z.ZodObject<{
51
+ data: z.ZodObject<{
52
+ ok: z.ZodBoolean;
53
+ }, z.core.$strip>;
54
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
55
+ }, z.core.$strip>;
56
+ /**
57
+ * Search response schema with array of results
58
+ */
59
+ export declare const SearchResponseSchema: z.ZodObject<{
60
+ data: z.ZodArray<z.ZodObject<{
61
+ id: z.ZodString;
62
+ name: z.ZodString;
63
+ description: z.ZodNullable<z.ZodString>;
64
+ author: z.ZodNullable<z.ZodString>;
65
+ repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ quality_score: z.ZodNullable<z.ZodNumber>;
67
+ trust_tier: z.ZodDefault<z.ZodEnum<{
68
+ verified: "verified";
69
+ community: "community";
70
+ experimental: "experimental";
71
+ unknown: "unknown";
72
+ }>>;
73
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
74
+ stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
75
+ installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
76
+ created_at: z.ZodOptional<z.ZodString>;
77
+ updated_at: z.ZodOptional<z.ZodString>;
78
+ }, z.core.$strip>>;
79
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
80
+ }, z.core.$strip>;
81
+ /**
82
+ * Single skill response schema
83
+ */
84
+ export declare const SingleSkillResponseSchema: z.ZodObject<{
85
+ data: z.ZodObject<{
86
+ id: z.ZodString;
87
+ name: z.ZodString;
88
+ description: z.ZodNullable<z.ZodString>;
89
+ author: z.ZodNullable<z.ZodString>;
90
+ repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
91
+ quality_score: z.ZodNullable<z.ZodNumber>;
92
+ trust_tier: z.ZodDefault<z.ZodEnum<{
93
+ verified: "verified";
94
+ community: "community";
95
+ experimental: "experimental";
96
+ unknown: "unknown";
97
+ }>>;
98
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
99
+ stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
100
+ installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
101
+ created_at: z.ZodOptional<z.ZodString>;
102
+ updated_at: z.ZodOptional<z.ZodString>;
103
+ }, z.core.$strip>;
104
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
105
+ }, z.core.$strip>;
106
+ /**
107
+ * Inferred type from ApiSearchResultSchema
108
+ */
109
+ export type ValidatedApiSearchResult = z.infer<typeof ApiSearchResultSchema>;
110
+ /**
111
+ * Inferred type from SearchResponseSchema
112
+ */
113
+ export type ValidatedSearchResponse = z.infer<typeof SearchResponseSchema>;
114
+ /**
115
+ * Inferred type from SingleSkillResponseSchema
116
+ */
117
+ export type ValidatedSingleSkillResponse = z.infer<typeof SingleSkillResponseSchema>;
118
+ /**
119
+ * Inferred type from TelemetryResponseSchema
120
+ */
121
+ export type ValidatedTelemetryResponse = z.infer<typeof TelemetryResponseSchema>;
122
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/api/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;EAA+D,CAAA;AAM3F;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAahC,CAAA;AAMF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;;;kBAK5E;AAMD;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;iBAKlC,CAAA;AAMF;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;iBAA0D,CAAA;AAE3F;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;iBAAiD,CAAA;AAMvF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE5E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAE1E;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEpF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA"}