@skillsmith/core 0.1.2 → 0.2.0

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 (325) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/analysis/CodebaseAnalyzer.d.ts +4 -134
  3. package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
  4. package/dist/src/analysis/CodebaseAnalyzer.js +7 -315
  5. package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
  6. package/dist/src/analysis/framework-detector.d.ts +47 -0
  7. package/dist/src/analysis/framework-detector.d.ts.map +1 -0
  8. package/dist/src/analysis/framework-detector.js +151 -0
  9. package/dist/src/analysis/framework-detector.js.map +1 -0
  10. package/dist/src/analysis/index.d.ts +6 -1
  11. package/dist/src/analysis/index.d.ts.map +1 -1
  12. package/dist/src/analysis/index.js +10 -1
  13. package/dist/src/analysis/index.js.map +1 -1
  14. package/dist/src/analysis/parsers.d.ts +43 -0
  15. package/dist/src/analysis/parsers.d.ts.map +1 -0
  16. package/dist/src/analysis/parsers.js +219 -0
  17. package/dist/src/analysis/parsers.js.map +1 -0
  18. package/dist/src/analysis/types.d.ts +138 -0
  19. package/dist/src/analysis/types.d.ts.map +1 -0
  20. package/dist/src/analysis/types.js +25 -0
  21. package/dist/src/analysis/types.js.map +1 -0
  22. package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
  23. package/dist/src/analytics/AnalyticsRepository.js +4 -4
  24. package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
  25. package/dist/src/api/cache.d.ts +108 -0
  26. package/dist/src/api/cache.d.ts.map +1 -0
  27. package/dist/src/api/cache.js +216 -0
  28. package/dist/src/api/cache.js.map +1 -0
  29. package/dist/src/api/client.d.ts +152 -0
  30. package/dist/src/api/client.d.ts.map +1 -0
  31. package/dist/src/api/client.js +221 -0
  32. package/dist/src/api/client.js.map +1 -0
  33. package/dist/src/api/index.d.ts +10 -0
  34. package/dist/src/api/index.d.ts.map +1 -0
  35. package/dist/src/api/index.js +10 -0
  36. package/dist/src/api/index.js.map +1 -0
  37. package/dist/src/benchmarks/BenchmarkRunner.d.ts +6 -175
  38. package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -1
  39. package/dist/src/benchmarks/BenchmarkRunner.js +6 -123
  40. package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
  41. package/dist/src/benchmarks/MemoryProfiler.d.ts +4 -262
  42. package/dist/src/benchmarks/MemoryProfiler.d.ts.map +1 -1
  43. package/dist/src/benchmarks/MemoryProfiler.js +4 -400
  44. package/dist/src/benchmarks/MemoryProfiler.js.map +1 -1
  45. package/dist/src/benchmarks/comparator.d.ts +38 -0
  46. package/dist/src/benchmarks/comparator.d.ts.map +1 -0
  47. package/dist/src/benchmarks/comparator.js +81 -0
  48. package/dist/src/benchmarks/comparator.js.map +1 -0
  49. package/dist/src/benchmarks/formatters.d.ts +30 -0
  50. package/dist/src/benchmarks/formatters.d.ts.map +1 -0
  51. package/dist/src/benchmarks/formatters.js +88 -0
  52. package/dist/src/benchmarks/formatters.js.map +1 -0
  53. package/dist/src/benchmarks/index.d.ts +5 -1
  54. package/dist/src/benchmarks/index.d.ts.map +1 -1
  55. package/dist/src/benchmarks/index.js +9 -2
  56. package/dist/src/benchmarks/index.js.map +1 -1
  57. package/dist/src/benchmarks/memory/MemoryProfiler.d.ts +165 -0
  58. package/dist/src/benchmarks/memory/MemoryProfiler.d.ts.map +1 -0
  59. package/dist/src/benchmarks/memory/MemoryProfiler.js +312 -0
  60. package/dist/src/benchmarks/memory/MemoryProfiler.js.map +1 -0
  61. package/dist/src/benchmarks/memory/baseline-manager.d.ts +64 -0
  62. package/dist/src/benchmarks/memory/baseline-manager.d.ts.map +1 -0
  63. package/dist/src/benchmarks/memory/baseline-manager.js +95 -0
  64. package/dist/src/benchmarks/memory/baseline-manager.js.map +1 -0
  65. package/dist/src/benchmarks/memory/index.d.ts +12 -0
  66. package/dist/src/benchmarks/memory/index.d.ts.map +1 -0
  67. package/dist/src/benchmarks/memory/index.js +12 -0
  68. package/dist/src/benchmarks/memory/index.js.map +1 -0
  69. package/dist/src/benchmarks/memory/leak-detector.d.ts +23 -0
  70. package/dist/src/benchmarks/memory/leak-detector.d.ts.map +1 -0
  71. package/dist/src/benchmarks/memory/leak-detector.js +46 -0
  72. package/dist/src/benchmarks/memory/leak-detector.js.map +1 -0
  73. package/dist/src/benchmarks/memory/regression-detector.d.ts +17 -0
  74. package/dist/src/benchmarks/memory/regression-detector.d.ts.map +1 -0
  75. package/dist/src/benchmarks/memory/regression-detector.js +56 -0
  76. package/dist/src/benchmarks/memory/regression-detector.js.map +1 -0
  77. package/dist/src/benchmarks/memory/types.d.ts +111 -0
  78. package/dist/src/benchmarks/memory/types.d.ts.map +1 -0
  79. package/dist/src/benchmarks/memory/types.js +7 -0
  80. package/dist/src/benchmarks/memory/types.js.map +1 -0
  81. package/dist/src/benchmarks/memory/utils.d.ts +17 -0
  82. package/dist/src/benchmarks/memory/utils.d.ts.map +1 -0
  83. package/dist/src/benchmarks/memory/utils.js +29 -0
  84. package/dist/src/benchmarks/memory/utils.js.map +1 -0
  85. package/dist/src/benchmarks/types.d.ts +175 -0
  86. package/dist/src/benchmarks/types.d.ts.map +1 -0
  87. package/dist/src/benchmarks/types.js +20 -0
  88. package/dist/src/benchmarks/types.js.map +1 -0
  89. package/dist/src/index.d.ts +4 -2
  90. package/dist/src/index.d.ts.map +1 -1
  91. package/dist/src/index.js +7 -3
  92. package/dist/src/index.js.map +1 -1
  93. package/dist/src/repositories/QuarantineRepository.d.ts +4 -251
  94. package/dist/src/repositories/QuarantineRepository.d.ts.map +1 -1
  95. package/dist/src/repositories/QuarantineRepository.js +4 -441
  96. package/dist/src/repositories/QuarantineRepository.js.map +1 -1
  97. package/dist/src/repositories/quarantine/QuarantineRepository.d.ts +168 -0
  98. package/dist/src/repositories/quarantine/QuarantineRepository.d.ts.map +1 -0
  99. package/dist/src/repositories/quarantine/QuarantineRepository.js +341 -0
  100. package/dist/src/repositories/quarantine/QuarantineRepository.js.map +1 -0
  101. package/dist/src/repositories/quarantine/index.d.ts +10 -0
  102. package/dist/src/repositories/quarantine/index.d.ts.map +1 -0
  103. package/dist/src/repositories/quarantine/index.js +10 -0
  104. package/dist/src/repositories/quarantine/index.js.map +1 -0
  105. package/dist/src/repositories/quarantine/queries.d.ts +58 -0
  106. package/dist/src/repositories/quarantine/queries.d.ts.map +1 -0
  107. package/dist/src/repositories/quarantine/queries.js +88 -0
  108. package/dist/src/repositories/quarantine/queries.js.map +1 -0
  109. package/dist/src/repositories/quarantine/query-builder.d.ts +44 -0
  110. package/dist/src/repositories/quarantine/query-builder.d.ts.map +1 -0
  111. package/dist/src/repositories/quarantine/query-builder.js +87 -0
  112. package/dist/src/repositories/quarantine/query-builder.js.map +1 -0
  113. package/dist/src/repositories/quarantine/types.d.ts +155 -0
  114. package/dist/src/repositories/quarantine/types.d.ts.map +1 -0
  115. package/dist/src/repositories/quarantine/types.js +13 -0
  116. package/dist/src/repositories/quarantine/types.js.map +1 -0
  117. package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts +1 -0
  118. package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts.map +1 -1
  119. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +7 -43
  120. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  121. package/dist/src/scripts/github-import/checkpoint.d.ts +21 -0
  122. package/dist/src/scripts/github-import/checkpoint.d.ts.map +1 -0
  123. package/dist/src/scripts/github-import/checkpoint.js +52 -0
  124. package/dist/src/scripts/github-import/checkpoint.js.map +1 -0
  125. package/dist/src/scripts/github-import/deduplication.d.ts +15 -0
  126. package/dist/src/scripts/github-import/deduplication.d.ts.map +1 -0
  127. package/dist/src/scripts/github-import/deduplication.js +33 -0
  128. package/dist/src/scripts/github-import/deduplication.js.map +1 -0
  129. package/dist/src/scripts/github-import/github-client.d.ts +29 -0
  130. package/dist/src/scripts/github-import/github-client.d.ts.map +1 -0
  131. package/dist/src/scripts/github-import/github-client.js +184 -0
  132. package/dist/src/scripts/github-import/github-client.js.map +1 -0
  133. package/dist/src/scripts/github-import/index.d.ts +29 -0
  134. package/dist/src/scripts/github-import/index.d.ts.map +1 -0
  135. package/dist/src/scripts/github-import/index.js +198 -0
  136. package/dist/src/scripts/github-import/index.js.map +1 -0
  137. package/dist/src/scripts/github-import/output.d.ts +12 -0
  138. package/dist/src/scripts/github-import/output.d.ts.map +1 -0
  139. package/dist/src/scripts/github-import/output.js +34 -0
  140. package/dist/src/scripts/github-import/output.js.map +1 -0
  141. package/dist/src/scripts/github-import/types.d.ts +108 -0
  142. package/dist/src/scripts/github-import/types.d.ts.map +1 -0
  143. package/dist/src/scripts/github-import/types.js +44 -0
  144. package/dist/src/scripts/github-import/types.js.map +1 -0
  145. package/dist/src/scripts/github-import/utils.d.ts +13 -0
  146. package/dist/src/scripts/github-import/utils.d.ts.map +1 -0
  147. package/dist/src/scripts/github-import/utils.js +28 -0
  148. package/dist/src/scripts/github-import/utils.js.map +1 -0
  149. package/dist/src/scripts/import-github-skills.d.ts +3 -12
  150. package/dist/src/scripts/import-github-skills.d.ts.map +1 -1
  151. package/dist/src/scripts/import-github-skills.js +18 -398
  152. package/dist/src/scripts/import-github-skills.js.map +1 -1
  153. package/dist/src/scripts/scan-imported-skills.d.ts +7 -7
  154. package/dist/src/scripts/scan-imported-skills.d.ts.map +1 -1
  155. package/dist/src/scripts/scan-imported-skills.js +8 -397
  156. package/dist/src/scripts/scan-imported-skills.js.map +1 -1
  157. package/dist/src/scripts/skill-scanner/categorizer.d.ts +43 -0
  158. package/dist/src/scripts/skill-scanner/categorizer.d.ts.map +1 -0
  159. package/dist/src/scripts/skill-scanner/categorizer.js +61 -0
  160. package/dist/src/scripts/skill-scanner/categorizer.js.map +1 -0
  161. package/dist/src/scripts/skill-scanner/file-scanner.d.ts +43 -0
  162. package/dist/src/scripts/skill-scanner/file-scanner.d.ts.map +1 -0
  163. package/dist/src/scripts/skill-scanner/file-scanner.js +90 -0
  164. package/dist/src/scripts/skill-scanner/file-scanner.js.map +1 -0
  165. package/dist/src/scripts/skill-scanner/index.d.ts +22 -0
  166. package/dist/src/scripts/skill-scanner/index.d.ts.map +1 -0
  167. package/dist/src/scripts/skill-scanner/index.js +43 -0
  168. package/dist/src/scripts/skill-scanner/index.js.map +1 -0
  169. package/dist/src/scripts/skill-scanner/logger.d.ts +59 -0
  170. package/dist/src/scripts/skill-scanner/logger.d.ts.map +1 -0
  171. package/dist/src/scripts/skill-scanner/logger.js +104 -0
  172. package/dist/src/scripts/skill-scanner/logger.js.map +1 -0
  173. package/dist/src/scripts/skill-scanner/reporter.d.ts +56 -0
  174. package/dist/src/scripts/skill-scanner/reporter.d.ts.map +1 -0
  175. package/dist/src/scripts/skill-scanner/reporter.js +166 -0
  176. package/dist/src/scripts/skill-scanner/reporter.js.map +1 -0
  177. package/dist/src/scripts/skill-scanner/scanner.d.ts +44 -0
  178. package/dist/src/scripts/skill-scanner/scanner.d.ts.map +1 -0
  179. package/dist/src/scripts/skill-scanner/scanner.js +140 -0
  180. package/dist/src/scripts/skill-scanner/scanner.js.map +1 -0
  181. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts +59 -0
  182. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -0
  183. package/dist/src/scripts/skill-scanner/trust-scorer.js +62 -0
  184. package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -0
  185. package/dist/src/scripts/skill-scanner/types.d.ts +98 -0
  186. package/dist/src/scripts/skill-scanner/types.d.ts.map +1 -0
  187. package/dist/src/scripts/skill-scanner/types.js +7 -0
  188. package/dist/src/scripts/skill-scanner/types.js.map +1 -0
  189. package/dist/src/scripts/validate-skills.d.ts +3 -172
  190. package/dist/src/scripts/validate-skills.d.ts.map +1 -1
  191. package/dist/src/scripts/validate-skills.js +6 -519
  192. package/dist/src/scripts/validate-skills.js.map +1 -1
  193. package/dist/src/scripts/validation/deduplication.d.ts +23 -0
  194. package/dist/src/scripts/validation/deduplication.d.ts.map +1 -0
  195. package/dist/src/scripts/validation/deduplication.js +127 -0
  196. package/dist/src/scripts/validation/deduplication.js.map +1 -0
  197. package/dist/src/scripts/validation/field-validators.d.ts +9 -0
  198. package/dist/src/scripts/validation/field-validators.d.ts.map +1 -0
  199. package/dist/src/scripts/validation/field-validators.js +135 -0
  200. package/dist/src/scripts/validation/field-validators.js.map +1 -0
  201. package/dist/src/scripts/validation/index.d.ts +29 -0
  202. package/dist/src/scripts/validation/index.d.ts.map +1 -0
  203. package/dist/src/scripts/validation/index.js +84 -0
  204. package/dist/src/scripts/validation/index.js.map +1 -0
  205. package/dist/src/scripts/validation/normalizers.d.ts +29 -0
  206. package/dist/src/scripts/validation/normalizers.d.ts.map +1 -0
  207. package/dist/src/scripts/validation/normalizers.js +79 -0
  208. package/dist/src/scripts/validation/normalizers.js.map +1 -0
  209. package/dist/src/scripts/validation/pipeline.d.ts +13 -0
  210. package/dist/src/scripts/validation/pipeline.d.ts.map +1 -0
  211. package/dist/src/scripts/validation/pipeline.js +126 -0
  212. package/dist/src/scripts/validation/pipeline.js.map +1 -0
  213. package/dist/src/scripts/validation/types.d.ts +128 -0
  214. package/dist/src/scripts/validation/types.d.ts.map +1 -0
  215. package/dist/src/scripts/validation/types.js +43 -0
  216. package/dist/src/scripts/validation/types.js.map +1 -0
  217. package/dist/src/security/index.d.ts +5 -4
  218. package/dist/src/security/index.d.ts.map +1 -1
  219. package/dist/src/security/index.js +8 -2
  220. package/dist/src/security/index.js.map +1 -1
  221. package/dist/src/security/rate-limiter/RateLimiter.d.ts +86 -0
  222. package/dist/src/security/rate-limiter/RateLimiter.d.ts.map +1 -0
  223. package/dist/src/security/rate-limiter/RateLimiter.js +260 -0
  224. package/dist/src/security/rate-limiter/RateLimiter.js.map +1 -0
  225. package/dist/src/security/rate-limiter/constants.d.ts +15 -0
  226. package/dist/src/security/rate-limiter/constants.d.ts.map +1 -0
  227. package/dist/src/security/rate-limiter/constants.js +15 -0
  228. package/dist/src/security/rate-limiter/constants.js.map +1 -0
  229. package/dist/src/security/rate-limiter/errors.d.ts +22 -0
  230. package/dist/src/security/rate-limiter/errors.d.ts.map +1 -0
  231. package/dist/src/security/rate-limiter/errors.js +32 -0
  232. package/dist/src/security/rate-limiter/errors.js.map +1 -0
  233. package/dist/src/security/rate-limiter/index.d.ts +12 -0
  234. package/dist/src/security/rate-limiter/index.d.ts.map +1 -0
  235. package/dist/src/security/rate-limiter/index.js +16 -0
  236. package/dist/src/security/rate-limiter/index.js.map +1 -0
  237. package/dist/src/security/rate-limiter/metrics-manager.d.ts +55 -0
  238. package/dist/src/security/rate-limiter/metrics-manager.d.ts.map +1 -0
  239. package/dist/src/security/rate-limiter/metrics-manager.js +144 -0
  240. package/dist/src/security/rate-limiter/metrics-manager.js.map +1 -0
  241. package/dist/src/security/rate-limiter/presets.d.ts +52 -0
  242. package/dist/src/security/rate-limiter/presets.d.ts.map +1 -0
  243. package/dist/src/security/rate-limiter/presets.js +53 -0
  244. package/dist/src/security/rate-limiter/presets.js.map +1 -0
  245. package/dist/src/security/rate-limiter/queue-manager.d.ts +59 -0
  246. package/dist/src/security/rate-limiter/queue-manager.d.ts.map +1 -0
  247. package/dist/src/security/rate-limiter/queue-manager.js +189 -0
  248. package/dist/src/security/rate-limiter/queue-manager.js.map +1 -0
  249. package/dist/src/security/rate-limiter/storage.d.ts +34 -0
  250. package/dist/src/security/rate-limiter/storage.d.ts.map +1 -0
  251. package/dist/src/security/rate-limiter/storage.js +80 -0
  252. package/dist/src/security/rate-limiter/storage.js.map +1 -0
  253. package/dist/src/security/rate-limiter/token-bucket.d.ts +44 -0
  254. package/dist/src/security/rate-limiter/token-bucket.d.ts.map +1 -0
  255. package/dist/src/security/rate-limiter/token-bucket.js +99 -0
  256. package/dist/src/security/rate-limiter/token-bucket.js.map +1 -0
  257. package/dist/src/security/rate-limiter/types.d.ts +104 -0
  258. package/dist/src/security/rate-limiter/types.d.ts.map +1 -0
  259. package/dist/src/security/rate-limiter/types.js +7 -0
  260. package/dist/src/security/rate-limiter/types.js.map +1 -0
  261. package/dist/src/security/scanner/SecurityScanner.d.ts +94 -0
  262. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -0
  263. package/dist/src/security/scanner/SecurityScanner.js +403 -0
  264. package/dist/src/security/scanner/SecurityScanner.js.map +1 -0
  265. package/dist/src/security/scanner/index.d.ts +11 -0
  266. package/dist/src/security/scanner/index.d.ts.map +1 -0
  267. package/dist/src/security/scanner/index.js +14 -0
  268. package/dist/src/security/scanner/index.js.map +1 -0
  269. package/dist/src/security/scanner/patterns.d.ts +14 -0
  270. package/dist/src/security/scanner/patterns.d.ts.map +1 -0
  271. package/dist/src/security/scanner/patterns.js +147 -0
  272. package/dist/src/security/scanner/patterns.js.map +1 -0
  273. package/dist/src/security/scanner/regex-utils.d.ts +33 -0
  274. package/dist/src/security/scanner/regex-utils.d.ts.map +1 -0
  275. package/dist/src/security/scanner/regex-utils.js +41 -0
  276. package/dist/src/security/scanner/regex-utils.js.map +1 -0
  277. package/dist/src/security/scanner/types.d.ts +63 -0
  278. package/dist/src/security/scanner/types.d.ts.map +1 -0
  279. package/dist/src/security/scanner/types.js +7 -0
  280. package/dist/src/security/scanner/types.js.map +1 -0
  281. package/dist/src/security/scanner/weights.d.ts +15 -0
  282. package/dist/src/security/scanner/weights.d.ts.map +1 -0
  283. package/dist/src/security/scanner/weights.js +28 -0
  284. package/dist/src/security/scanner/weights.js.map +1 -0
  285. package/dist/src/session/SessionHealthMonitor.d.ts +5 -168
  286. package/dist/src/session/SessionHealthMonitor.d.ts.map +1 -1
  287. package/dist/src/session/SessionHealthMonitor.js +22 -91
  288. package/dist/src/session/SessionHealthMonitor.js.map +1 -1
  289. package/dist/src/session/health-checks.d.ts +37 -0
  290. package/dist/src/session/health-checks.d.ts.map +1 -0
  291. package/dist/src/session/health-checks.js +64 -0
  292. package/dist/src/session/health-checks.js.map +1 -0
  293. package/dist/src/session/health-types.d.ts +78 -0
  294. package/dist/src/session/health-types.d.ts.map +1 -0
  295. package/dist/src/session/health-types.js +16 -0
  296. package/dist/src/session/health-types.js.map +1 -0
  297. package/dist/src/session/index.d.ts +5 -1
  298. package/dist/src/session/index.d.ts.map +1 -1
  299. package/dist/src/session/index.js +9 -0
  300. package/dist/src/session/index.js.map +1 -1
  301. package/dist/src/session/metrics-collector.d.ts +23 -0
  302. package/dist/src/session/metrics-collector.d.ts.map +1 -0
  303. package/dist/src/session/metrics-collector.js +44 -0
  304. package/dist/src/session/metrics-collector.js.map +1 -0
  305. package/dist/src/session/typed-event-emitter.d.ts +70 -0
  306. package/dist/src/session/typed-event-emitter.d.ts.map +1 -0
  307. package/dist/src/session/typed-event-emitter.js +79 -0
  308. package/dist/src/session/typed-event-emitter.js.map +1 -0
  309. package/dist/src/sources/BaseSourceAdapter.d.ts +1 -1
  310. package/dist/src/sources/BaseSourceAdapter.d.ts.map +1 -1
  311. package/dist/src/sources/BaseSourceAdapter.js +2 -2
  312. package/dist/src/sources/BaseSourceAdapter.js.map +1 -1
  313. package/dist/src/telemetry/index.d.ts +1 -0
  314. package/dist/src/telemetry/index.d.ts.map +1 -1
  315. package/dist/src/telemetry/index.js +2 -0
  316. package/dist/src/telemetry/index.js.map +1 -1
  317. package/dist/src/telemetry/posthog.d.ts +125 -0
  318. package/dist/src/telemetry/posthog.d.ts.map +1 -0
  319. package/dist/src/telemetry/posthog.js +198 -0
  320. package/dist/src/telemetry/posthog.js.map +1 -0
  321. package/dist/tests/RateLimiter.test.js +4 -4
  322. package/dist/tests/RateLimiter.test.js.map +1 -1
  323. package/dist/tests/e2e/security/security.e2e.test.js +3 -3
  324. package/dist/tests/e2e/security/security.e2e.test.js.map +1 -1
  325. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../../../src/repositories/quarantine/query-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * SMI-865: Quarantine Repository Types
3
+ *
4
+ * Type definitions for quarantine management.
5
+ *
6
+ * Severity Categories:
7
+ * - MALICIOUS: Permanent quarantine, security threat detected
8
+ * - SUSPICIOUS: Manual review required before import
9
+ * - RISKY: Can import with warnings displayed
10
+ * - LOW_QUALITY: Can import with reduced quality score
11
+ */
12
+ import type { QuarantineSeverity, QuarantineReviewStatus } from '../../db/quarantine-schema.js';
13
+ /**
14
+ * Database row type for quarantine entries
15
+ */
16
+ export interface QuarantineRow {
17
+ id: string;
18
+ skill_id: string;
19
+ source: string;
20
+ quarantine_reason: string;
21
+ severity: QuarantineSeverity;
22
+ detected_patterns: string;
23
+ quarantine_date: string;
24
+ reviewed_by: string | null;
25
+ review_status: QuarantineReviewStatus;
26
+ review_notes: string | null;
27
+ review_date: string | null;
28
+ created_at: string;
29
+ updated_at: string;
30
+ }
31
+ /**
32
+ * Quarantine entry structure
33
+ */
34
+ export interface QuarantineEntry {
35
+ id: string;
36
+ skillId: string;
37
+ source: string;
38
+ quarantineReason: string;
39
+ severity: QuarantineSeverity;
40
+ detectedPatterns: string[];
41
+ quarantineDate: string;
42
+ reviewedBy: string | null;
43
+ reviewStatus: QuarantineReviewStatus;
44
+ reviewNotes: string | null;
45
+ reviewDate: string | null;
46
+ createdAt: string;
47
+ updatedAt: string;
48
+ }
49
+ /**
50
+ * Input for creating a quarantine entry
51
+ */
52
+ export interface QuarantineCreateInput {
53
+ id?: string;
54
+ skillId: string;
55
+ source: string;
56
+ quarantineReason: string;
57
+ severity: QuarantineSeverity;
58
+ detectedPatterns?: string[];
59
+ }
60
+ /**
61
+ * Input for updating a quarantine entry
62
+ */
63
+ export interface QuarantineUpdateInput {
64
+ quarantineReason?: string;
65
+ severity?: QuarantineSeverity;
66
+ detectedPatterns?: string[];
67
+ reviewedBy?: string;
68
+ reviewStatus?: QuarantineReviewStatus;
69
+ reviewNotes?: string;
70
+ }
71
+ /**
72
+ * Query filters for quarantine entries
73
+ */
74
+ export interface QuarantineQueryFilter {
75
+ skillId?: string;
76
+ source?: string;
77
+ severity?: QuarantineSeverity;
78
+ reviewStatus?: QuarantineReviewStatus;
79
+ reviewedBy?: string;
80
+ since?: Date;
81
+ until?: Date;
82
+ limit?: number;
83
+ offset?: number;
84
+ }
85
+ /**
86
+ * Paginated results for quarantine queries
87
+ */
88
+ export interface PaginatedQuarantineResults {
89
+ items: QuarantineEntry[];
90
+ total: number;
91
+ limit: number;
92
+ offset: number;
93
+ hasMore: boolean;
94
+ }
95
+ /**
96
+ * Quarantine statistics
97
+ */
98
+ export interface QuarantineStats {
99
+ total: number;
100
+ bySeverity: Record<QuarantineSeverity, number>;
101
+ byStatus: Record<QuarantineReviewStatus, number>;
102
+ pendingReview: number;
103
+ oldestEntry: string | null;
104
+ newestEntry: string | null;
105
+ }
106
+ /**
107
+ * Review decision result
108
+ */
109
+ export interface ReviewDecision {
110
+ approved: boolean;
111
+ skillId: string;
112
+ severity: QuarantineSeverity;
113
+ canImport: boolean;
114
+ warnings: string[];
115
+ }
116
+ /**
117
+ * Prepared statement types for database operations
118
+ */
119
+ export interface PreparedStatements {
120
+ insert: {
121
+ run: (...args: unknown[]) => {
122
+ changes: number;
123
+ };
124
+ };
125
+ selectById: {
126
+ get: (id: string) => QuarantineRow | undefined;
127
+ };
128
+ selectBySkillId: {
129
+ all: (skillId: string) => QuarantineRow[];
130
+ };
131
+ selectAll: {
132
+ all: (limit: number, offset: number) => QuarantineRow[];
133
+ };
134
+ selectCount: {
135
+ get: () => {
136
+ count: number;
137
+ };
138
+ };
139
+ update: {
140
+ run: (...args: unknown[]) => {
141
+ changes: number;
142
+ };
143
+ };
144
+ delete: {
145
+ run: (id: string) => {
146
+ changes: number;
147
+ };
148
+ };
149
+ deleteBySkillId: {
150
+ run: (skillId: string) => {
151
+ changes: number;
152
+ };
153
+ };
154
+ }
155
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/repositories/quarantine/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SMI-865: Quarantine Repository Types
3
+ *
4
+ * Type definitions for quarantine management.
5
+ *
6
+ * Severity Categories:
7
+ * - MALICIOUS: Permanent quarantine, security threat detected
8
+ * - SUSPICIOUS: Manual review required before import
9
+ * - RISKY: Can import with warnings displayed
10
+ * - LOW_QUALITY: Can import with reduced quality score
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/repositories/quarantine/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * SMI-864: Tests for Security Scanner for Imported Skills
3
+ * SMI-1189: Updated to use modular imports
3
4
  */
4
5
  export {};
5
6
  //# sourceMappingURL=scan-imported-skills.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan-imported-skills.test.d.ts","sourceRoot":"","sources":["../../../../src/scripts/__tests__/scan-imported-skills.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"scan-imported-skills.test.d.ts","sourceRoot":"","sources":["../../../../src/scripts/__tests__/scan-imported-skills.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,52 +1,16 @@
1
1
  /**
2
2
  * SMI-864: Tests for Security Scanner for Imported Skills
3
+ * SMI-1189: Updated to use modular imports
3
4
  */
4
5
  import { describe, it, expect, beforeEach, afterEach } from 'vitest';
5
6
  import * as fs from 'fs/promises';
6
7
  import { existsSync, mkdirSync, rmSync } from 'fs';
7
8
  import * as path from 'path';
8
- import { SecurityScanner } from '../../security/scanner.js';
9
- // ============================================================================
10
- // Helper Functions (from main script for unit testing)
11
- // ============================================================================
12
- function determineSeverityCategory(findings) {
13
- if (findings.some((f) => f.severity === 'critical'))
14
- return 'CRITICAL';
15
- if (findings.some((f) => f.severity === 'high'))
16
- return 'HIGH';
17
- if (findings.some((f) => f.severity === 'medium'))
18
- return 'MEDIUM';
19
- return 'LOW';
20
- }
21
- function shouldQuarantine(report, threshold = 40) {
22
- return (!report.passed ||
23
- report.riskScore >= threshold ||
24
- report.findings.some((f) => f.severity === 'critical' || f.severity === 'high'));
25
- }
26
- function extractScannableContent(skill) {
27
- const parts = [];
28
- if (skill.name)
29
- parts.push(`# ${skill.name}`);
30
- if (skill.description)
31
- parts.push(skill.description);
32
- if (skill.content)
33
- parts.push(skill.content);
34
- if (skill.instructions)
35
- parts.push(skill.instructions);
36
- if (skill.trigger)
37
- parts.push(skill.trigger);
38
- if (skill.tags?.length)
39
- parts.push(`Tags: ${skill.tags.join(', ')}`);
40
- if (skill.metadata) {
41
- try {
42
- parts.push(JSON.stringify(skill.metadata));
43
- }
44
- catch {
45
- // Ignore serialization errors
46
- }
47
- }
48
- return parts.join('\n\n');
49
- }
9
+ import { SecurityScanner } from '../../security/index.js';
10
+ // Import from the new modular structure (SMI-1189)
11
+ import { determineSeverityCategory, } from '../skill-scanner/categorizer.js';
12
+ import { shouldQuarantine, } from '../skill-scanner/trust-scorer.js';
13
+ import { extractScannableContent, } from '../skill-scanner/file-scanner.js';
50
14
  // ============================================================================
51
15
  // Tests
52
16
  // ============================================================================
@@ -124,7 +88,7 @@ describe('SMI-864: Scan Imported Skills', () => {
124
88
  externalUrls: 0,
125
89
  },
126
90
  };
127
- expect(shouldQuarantine(report, 40)).toBe(true);
91
+ expect(shouldQuarantine(report, { quarantineThreshold: 40 })).toBe(true);
128
92
  });
129
93
  it('should quarantine when critical findings exist', () => {
130
94
  const report = {
@@ -1 +1 @@
1
- {"version":3,"file":"scan-imported-skills.test.js","sourceRoot":"","sources":["../../../../src/scripts/__tests__/scan-imported-skills.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan-imported-skills.test.js","sourceRoot":"","sources":["../../../../src/scripts/__tests__/scan-imported-skills.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SMI-860: Checkpoint management for resume support
3
+ */
4
+ import { Checkpoint } from './types.js';
5
+ /**
6
+ * Saves checkpoint for resume support.
7
+ *
8
+ * @param checkpoint - Checkpoint data to save
9
+ */
10
+ export declare function saveCheckpoint(checkpoint: Checkpoint): void;
11
+ /**
12
+ * Loads checkpoint if exists.
13
+ *
14
+ * @returns Checkpoint data or null if not found
15
+ */
16
+ export declare function loadCheckpoint(): Checkpoint | null;
17
+ /**
18
+ * Clears checkpoint file.
19
+ */
20
+ export declare function clearCheckpoint(): void;
21
+ //# sourceMappingURL=checkpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../../src/scripts/github-import/checkpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAU,UAAU,EAAE,MAAM,YAAY,CAAA;AAG/C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAO3D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,UAAU,GAAG,IAAI,CAgBlD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAKtC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * SMI-860: Checkpoint management for resume support
3
+ */
4
+ import * as fs from 'fs';
5
+ import * as path from 'path';
6
+ import { CONFIG } from './types.js';
7
+ import { log } from './utils.js';
8
+ /**
9
+ * Saves checkpoint for resume support.
10
+ *
11
+ * @param checkpoint - Checkpoint data to save
12
+ */
13
+ export function saveCheckpoint(checkpoint) {
14
+ const dir = path.dirname(CONFIG.CHECKPOINT_PATH);
15
+ if (!fs.existsSync(dir)) {
16
+ fs.mkdirSync(dir, { recursive: true });
17
+ }
18
+ fs.writeFileSync(CONFIG.CHECKPOINT_PATH, JSON.stringify(checkpoint, null, 2));
19
+ log(`Checkpoint saved: ${checkpoint.skills.length} skills, last query: ${checkpoint.last_query}`);
20
+ }
21
+ /**
22
+ * Loads checkpoint if exists.
23
+ *
24
+ * @returns Checkpoint data or null if not found
25
+ */
26
+ export function loadCheckpoint() {
27
+ if (!fs.existsSync(CONFIG.CHECKPOINT_PATH)) {
28
+ return null;
29
+ }
30
+ try {
31
+ const data = fs.readFileSync(CONFIG.CHECKPOINT_PATH, 'utf-8');
32
+ const checkpoint = JSON.parse(data);
33
+ log(`Loaded checkpoint from ${checkpoint.timestamp}`);
34
+ log(` Skills: ${checkpoint.skills.length}`);
35
+ log(` Last query: ${checkpoint.last_query}`);
36
+ return checkpoint;
37
+ }
38
+ catch (error) {
39
+ log(`Error loading checkpoint: ${error}`, 'warn');
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * Clears checkpoint file.
45
+ */
46
+ export function clearCheckpoint() {
47
+ if (fs.existsSync(CONFIG.CHECKPOINT_PATH)) {
48
+ fs.unlinkSync(CONFIG.CHECKPOINT_PATH);
49
+ log('Checkpoint cleared');
50
+ }
51
+ }
52
+ //# sourceMappingURL=checkpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../../src/scripts/github-import/checkpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAc,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAsB;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7E,GAAG,CAAC,qBAAqB,UAAU,CAAC,MAAM,CAAC,MAAM,wBAAwB,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;AACnG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAA;QACjD,GAAG,CAAC,0BAA0B,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;QACrD,GAAG,CAAC,aAAa,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5C,GAAG,CAAC,iBAAiB,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7C,OAAO,UAAU,CAAA;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,6BAA6B,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QACrC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * SMI-860: Deduplication for imported skills
3
+ */
4
+ import { ImportedSkill } from './types.js';
5
+ /**
6
+ * Deduplicates skills by repository URL, keeping the most recently updated version.
7
+ *
8
+ * @param skills - Array of skills that may contain duplicates
9
+ * @returns Object containing unique skills and duplicate count
10
+ */
11
+ export declare function deduplicateSkills(skills: ImportedSkill[]): {
12
+ unique: ImportedSkill[];
13
+ duplicateCount: number;
14
+ };
15
+ //# sourceMappingURL=deduplication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplication.d.ts","sourceRoot":"","sources":["../../../../src/scripts/github-import/deduplication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG;IAC1D,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;CACvB,CAuBA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * SMI-860: Deduplication for imported skills
3
+ */
4
+ import { createHash } from 'crypto';
5
+ /**
6
+ * Deduplicates skills by repository URL, keeping the most recently updated version.
7
+ *
8
+ * @param skills - Array of skills that may contain duplicates
9
+ * @returns Object containing unique skills and duplicate count
10
+ */
11
+ export function deduplicateSkills(skills) {
12
+ const seen = new Map();
13
+ for (const skill of skills) {
14
+ // Normalize key by repo URL
15
+ const key = createHash('md5').update(skill.repo_url.toLowerCase()).digest('hex');
16
+ const existing = seen.get(key);
17
+ if (existing) {
18
+ // Keep the more recently updated version
19
+ if (new Date(skill.updated_at) > new Date(existing.updated_at)) {
20
+ seen.set(key, skill);
21
+ }
22
+ }
23
+ else {
24
+ seen.set(key, skill);
25
+ }
26
+ }
27
+ const unique = Array.from(seen.values());
28
+ return {
29
+ unique,
30
+ duplicateCount: skills.length - unique.length,
31
+ };
32
+ }
33
+ //# sourceMappingURL=deduplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplication.js","sourceRoot":"","sources":["../../../../src/scripts/github-import/deduplication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGnC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IAIvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAA;IAE7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,4BAA4B;QAC5B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACb,yCAAyC;YACzC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACxC,OAAO;QACL,MAAM;QACN,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;KAC9C,CAAA;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * SMI-860: GitHub API client with retry logic
3
+ */
4
+ import { SearchQuery, ImportedSkill } from './types.js';
5
+ /**
6
+ * Fetches a URL with exponential backoff retry logic.
7
+ * Handles rate limiting (429) and server errors (5xx).
8
+ *
9
+ * @param url - The URL to fetch
10
+ * @param options - Fetch options including headers
11
+ * @returns The fetch Response
12
+ * @throws Error after max retries exceeded
13
+ */
14
+ export declare function fetchWithRetry(url: string, options?: RequestInit): Promise<Response>;
15
+ /** Get GitHub API headers */
16
+ export declare function getGitHubHeaders(): Record<string, string>;
17
+ /** Check and display GitHub rate limit status */
18
+ export declare function checkRateLimit(): Promise<void>;
19
+ /**
20
+ * Fetches repositories from GitHub search API for a given query.
21
+ * Handles pagination automatically up to GitHub's 1000 result limit.
22
+ *
23
+ * @param searchQuery - The search query configuration
24
+ * @param startPage - Starting page for resume support
25
+ * @param onProgress - Progress callback
26
+ * @returns Array of imported skill metadata
27
+ */
28
+ export declare function fetchGitHubSearch(searchQuery: SearchQuery, startPage?: number, onProgress?: (current: number, total: number) => void): Promise<ImportedSkill[]>;
29
+ //# sourceMappingURL=github-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-client.d.ts","sourceRoot":"","sources":["../../../../src/scripts/github-import/github-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAU,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/D;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmD9F;AAED,6BAA6B;AAC7B,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASzD;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,CAqG1B"}