@skillsmith/core 0.4.14 → 0.4.16

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 (287) hide show
  1. package/README.md +2 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/analysis/DependencyMerger.d.ts +39 -0
  4. package/dist/src/analysis/DependencyMerger.d.ts.map +1 -0
  5. package/dist/src/analysis/DependencyMerger.js +191 -0
  6. package/dist/src/analysis/DependencyMerger.js.map +1 -0
  7. package/dist/src/analysis/DependencyMerger.test.d.ts +2 -0
  8. package/dist/src/analysis/DependencyMerger.test.d.ts.map +1 -0
  9. package/dist/src/analysis/DependencyMerger.test.js +258 -0
  10. package/dist/src/analysis/DependencyMerger.test.js.map +1 -0
  11. package/dist/src/analysis/McpReferenceExtractor.d.ts +42 -0
  12. package/dist/src/analysis/McpReferenceExtractor.d.ts.map +1 -0
  13. package/dist/src/analysis/McpReferenceExtractor.js +92 -0
  14. package/dist/src/analysis/McpReferenceExtractor.js.map +1 -0
  15. package/dist/src/analysis/McpReferenceExtractor.test.d.ts +2 -0
  16. package/dist/src/analysis/McpReferenceExtractor.test.d.ts.map +1 -0
  17. package/dist/src/analysis/McpReferenceExtractor.test.js +262 -0
  18. package/dist/src/analysis/McpReferenceExtractor.test.js.map +1 -0
  19. package/dist/src/api/client.d.ts +1 -0
  20. package/dist/src/api/client.d.ts.map +1 -1
  21. package/dist/src/api/client.health.d.ts +26 -0
  22. package/dist/src/api/client.health.d.ts.map +1 -0
  23. package/dist/src/api/client.health.js +74 -0
  24. package/dist/src/api/client.health.js.map +1 -0
  25. package/dist/src/api/client.js +3 -51
  26. package/dist/src/api/client.js.map +1 -1
  27. package/dist/src/api/schemas.d.ts +4 -4
  28. package/dist/src/db/createDatabase.d.ts +9 -1
  29. package/dist/src/db/createDatabase.d.ts.map +1 -1
  30. package/dist/src/db/createDatabase.js +9 -1
  31. package/dist/src/db/createDatabase.js.map +1 -1
  32. package/dist/src/db/drivers/sqljsDriver.d.ts.map +1 -1
  33. package/dist/src/db/drivers/sqljsDriver.js +7 -8
  34. package/dist/src/db/drivers/sqljsDriver.js.map +1 -1
  35. package/dist/src/db/migrations/v10-dependencies.d.ts +18 -0
  36. package/dist/src/db/migrations/v10-dependencies.d.ts.map +1 -0
  37. package/dist/src/db/migrations/v10-dependencies.js +50 -0
  38. package/dist/src/db/migrations/v10-dependencies.js.map +1 -0
  39. package/dist/src/db/migrations/v2-phase5-columns.d.ts +7 -0
  40. package/dist/src/db/migrations/v2-phase5-columns.d.ts.map +1 -0
  41. package/dist/src/db/migrations/v2-phase5-columns.js +16 -0
  42. package/dist/src/db/migrations/v2-phase5-columns.js.map +1 -0
  43. package/dist/src/db/migrations/v3-sync-tables.d.ts +6 -0
  44. package/dist/src/db/migrations/v3-sync-tables.d.ts.map +1 -0
  45. package/dist/src/db/migrations/v3-sync-tables.js +41 -0
  46. package/dist/src/db/migrations/v3-sync-tables.js.map +1 -0
  47. package/dist/src/db/migrations/v4-security-columns.d.ts +7 -0
  48. package/dist/src/db/migrations/v4-security-columns.d.ts.map +1 -0
  49. package/dist/src/db/migrations/v4-security-columns.js +17 -0
  50. package/dist/src/db/migrations/v4-security-columns.js.map +1 -0
  51. package/dist/src/db/migrations/v5b-change-type.d.ts +19 -0
  52. package/dist/src/db/migrations/v5b-change-type.d.ts.map +1 -0
  53. package/dist/src/db/migrations/v5b-change-type.js +22 -0
  54. package/dist/src/db/migrations/v5b-change-type.js.map +1 -0
  55. package/dist/src/db/migrations/v6-advisories.d.ts +32 -0
  56. package/dist/src/db/migrations/v6-advisories.d.ts.map +1 -0
  57. package/dist/src/db/migrations/v6-advisories.js +53 -0
  58. package/dist/src/db/migrations/v6-advisories.js.map +1 -0
  59. package/dist/src/db/migrations/v7-compatibility.d.ts +21 -0
  60. package/dist/src/db/migrations/v7-compatibility.d.ts.map +1 -0
  61. package/dist/src/db/migrations/v7-compatibility.js +23 -0
  62. package/dist/src/db/migrations/v7-compatibility.js.map +1 -0
  63. package/dist/src/db/migrations/v8-co-installs.d.ts +21 -0
  64. package/dist/src/db/migrations/v8-co-installs.d.ts.map +1 -0
  65. package/dist/src/db/migrations/v8-co-installs.js +33 -0
  66. package/dist/src/db/migrations/v8-co-installs.js.map +1 -0
  67. package/dist/src/db/schema.d.ts +5 -16
  68. package/dist/src/db/schema.d.ts.map +1 -1
  69. package/dist/src/db/schema.js +50 -79
  70. package/dist/src/db/schema.js.map +1 -1
  71. package/dist/src/exports/repositories.d.ts +6 -0
  72. package/dist/src/exports/repositories.d.ts.map +1 -1
  73. package/dist/src/exports/repositories.js +21 -0
  74. package/dist/src/exports/repositories.js.map +1 -1
  75. package/dist/src/exports/services.d.ts +2 -0
  76. package/dist/src/exports/services.d.ts.map +1 -1
  77. package/dist/src/exports/services.js +5 -0
  78. package/dist/src/exports/services.js.map +1 -1
  79. package/dist/src/exports/types.d.ts +2 -1
  80. package/dist/src/exports/types.d.ts.map +1 -1
  81. package/dist/src/exports/types.js.map +1 -1
  82. package/dist/src/indexer/GitHubIndexer.d.ts +3 -1
  83. package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
  84. package/dist/src/indexer/GitHubIndexer.js.map +1 -1
  85. package/dist/src/indexer/SkillParser.d.ts +22 -9
  86. package/dist/src/indexer/SkillParser.d.ts.map +1 -1
  87. package/dist/src/indexer/SkillParser.js +17 -10
  88. package/dist/src/indexer/SkillParser.js.map +1 -1
  89. package/dist/src/learning/PatternStore.d.ts +0 -2
  90. package/dist/src/learning/PatternStore.d.ts.map +1 -1
  91. package/dist/src/learning/PatternStore.helpers.d.ts +19 -1
  92. package/dist/src/learning/PatternStore.helpers.d.ts.map +1 -1
  93. package/dist/src/learning/PatternStore.helpers.js +51 -0
  94. package/dist/src/learning/PatternStore.helpers.js.map +1 -1
  95. package/dist/src/learning/PatternStore.js +5 -37
  96. package/dist/src/learning/PatternStore.js.map +1 -1
  97. package/dist/src/repositories/AdvisoryRepository.d.ts +80 -0
  98. package/dist/src/repositories/AdvisoryRepository.d.ts.map +1 -0
  99. package/dist/src/repositories/AdvisoryRepository.js +128 -0
  100. package/dist/src/repositories/AdvisoryRepository.js.map +1 -0
  101. package/dist/src/repositories/AdvisoryRepository.test.d.ts +6 -0
  102. package/dist/src/repositories/AdvisoryRepository.test.d.ts.map +1 -0
  103. package/dist/src/repositories/AdvisoryRepository.test.js +149 -0
  104. package/dist/src/repositories/AdvisoryRepository.test.js.map +1 -0
  105. package/dist/src/repositories/CoInstallRepository.d.ts +68 -0
  106. package/dist/src/repositories/CoInstallRepository.d.ts.map +1 -0
  107. package/dist/src/repositories/CoInstallRepository.js +122 -0
  108. package/dist/src/repositories/CoInstallRepository.js.map +1 -0
  109. package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
  110. package/dist/src/repositories/IndexerRepository.js +5 -1
  111. package/dist/src/repositories/IndexerRepository.js.map +1 -1
  112. package/dist/src/repositories/SkillDependencyRepository.d.ts +73 -0
  113. package/dist/src/repositories/SkillDependencyRepository.d.ts.map +1 -0
  114. package/dist/src/repositories/SkillDependencyRepository.js +199 -0
  115. package/dist/src/repositories/SkillDependencyRepository.js.map +1 -0
  116. package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
  117. package/dist/src/repositories/SkillRepository.js +16 -5
  118. package/dist/src/repositories/SkillRepository.js.map +1 -1
  119. package/dist/src/scripts/validation/types.d.ts +2 -2
  120. package/dist/src/services/SearchService.helpers.d.ts.map +1 -1
  121. package/dist/src/services/SearchService.helpers.js +4 -0
  122. package/dist/src/services/SearchService.helpers.js.map +1 -1
  123. package/dist/src/services/SearchService.types.d.ts +1 -0
  124. package/dist/src/services/SearchService.types.d.ts.map +1 -1
  125. package/dist/src/services/TaskRunner.d.ts +5 -81
  126. package/dist/src/services/TaskRunner.d.ts.map +1 -1
  127. package/dist/src/services/TaskRunner.js +7 -68
  128. package/dist/src/services/TaskRunner.js.map +1 -1
  129. package/dist/src/services/TaskRunner.process.d.ts +33 -0
  130. package/dist/src/services/TaskRunner.process.d.ts.map +1 -0
  131. package/dist/src/services/TaskRunner.process.js +70 -0
  132. package/dist/src/services/TaskRunner.process.js.map +1 -0
  133. package/dist/src/services/TaskRunner.types.d.ts +76 -0
  134. package/dist/src/services/TaskRunner.types.d.ts.map +1 -0
  135. package/dist/src/services/TaskRunner.types.js +22 -0
  136. package/dist/src/services/TaskRunner.types.js.map +1 -0
  137. package/dist/src/services/__tests__/TaskRunner.process.test.d.ts +13 -0
  138. package/dist/src/services/__tests__/TaskRunner.process.test.d.ts.map +1 -0
  139. package/dist/src/services/__tests__/TaskRunner.process.test.js +91 -0
  140. package/dist/src/services/__tests__/TaskRunner.process.test.js.map +1 -0
  141. package/dist/src/services/quarantine/QuarantineService.d.ts +3 -24
  142. package/dist/src/services/quarantine/QuarantineService.d.ts.map +1 -1
  143. package/dist/src/services/quarantine/QuarantineService.js +8 -205
  144. package/dist/src/services/quarantine/QuarantineService.js.map +1 -1
  145. package/dist/src/services/quarantine/QuarantineService.multiapproval.d.ts +57 -0
  146. package/dist/src/services/quarantine/QuarantineService.multiapproval.d.ts.map +1 -0
  147. package/dist/src/services/quarantine/QuarantineService.multiapproval.js +211 -0
  148. package/dist/src/services/quarantine/QuarantineService.multiapproval.js.map +1 -0
  149. package/dist/src/session/SessionManager.d.ts +2 -33
  150. package/dist/src/session/SessionManager.d.ts.map +1 -1
  151. package/dist/src/session/SessionManager.js +14 -238
  152. package/dist/src/session/SessionManager.js.map +1 -1
  153. package/dist/src/session/SessionManager.memory.d.ts +67 -0
  154. package/dist/src/session/SessionManager.memory.d.ts.map +1 -0
  155. package/dist/src/session/SessionManager.memory.js +262 -0
  156. package/dist/src/session/SessionManager.memory.js.map +1 -0
  157. package/dist/src/sources/SourceIndexer.d.ts +3 -1
  158. package/dist/src/sources/SourceIndexer.d.ts.map +1 -1
  159. package/dist/src/sources/SourceIndexer.js.map +1 -1
  160. package/dist/src/sync/SyncEngine.d.ts +13 -1
  161. package/dist/src/sync/SyncEngine.d.ts.map +1 -1
  162. package/dist/src/sync/SyncEngine.js +50 -1
  163. package/dist/src/sync/SyncEngine.js.map +1 -1
  164. package/dist/src/testing/MultiLLMProvider.d.ts +5 -6
  165. package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
  166. package/dist/src/testing/MultiLLMProvider.js +18 -130
  167. package/dist/src/testing/MultiLLMProvider.js.map +1 -1
  168. package/dist/src/testing/MultiLLMProvider.metrics.d.ts +33 -0
  169. package/dist/src/testing/MultiLLMProvider.metrics.d.ts.map +1 -0
  170. package/dist/src/testing/MultiLLMProvider.metrics.js +87 -0
  171. package/dist/src/testing/MultiLLMProvider.metrics.js.map +1 -0
  172. package/dist/src/testing/MultiLLMProvider.selection.d.ts +77 -0
  173. package/dist/src/testing/MultiLLMProvider.selection.d.ts.map +1 -0
  174. package/dist/src/testing/MultiLLMProvider.selection.js +151 -0
  175. package/dist/src/testing/MultiLLMProvider.selection.js.map +1 -0
  176. package/dist/src/types/dependencies.d.ts +85 -0
  177. package/dist/src/types/dependencies.d.ts.map +1 -0
  178. package/dist/src/types/dependencies.js +11 -0
  179. package/dist/src/types/dependencies.js.map +1 -0
  180. package/dist/src/types/skill.d.ts +13 -0
  181. package/dist/src/types/skill.d.ts.map +1 -1
  182. package/dist/src/types/skill.js.map +1 -1
  183. package/dist/src/types.d.ts +32 -0
  184. package/dist/src/types.d.ts.map +1 -1
  185. package/dist/src/versioning/change-classifier.d.ts +38 -0
  186. package/dist/src/versioning/change-classifier.d.ts.map +1 -0
  187. package/dist/src/versioning/change-classifier.js +187 -0
  188. package/dist/src/versioning/change-classifier.js.map +1 -0
  189. package/dist/src/versioning/change-classifier.test.d.ts +6 -0
  190. package/dist/src/versioning/change-classifier.test.d.ts.map +1 -0
  191. package/dist/src/versioning/change-classifier.test.js +275 -0
  192. package/dist/src/versioning/change-classifier.test.js.map +1 -0
  193. package/dist/src/versioning/update-risk.d.ts +50 -0
  194. package/dist/src/versioning/update-risk.d.ts.map +1 -0
  195. package/dist/src/versioning/update-risk.js +80 -0
  196. package/dist/src/versioning/update-risk.js.map +1 -0
  197. package/dist/src/versioning/update-risk.test.d.ts +6 -0
  198. package/dist/src/versioning/update-risk.test.d.ts.map +1 -0
  199. package/dist/src/versioning/update-risk.test.js +200 -0
  200. package/dist/src/versioning/update-risk.test.js.map +1 -0
  201. package/dist/tests/AuditLogger.edge-cases.test.d.ts +10 -0
  202. package/dist/tests/AuditLogger.edge-cases.test.d.ts.map +1 -0
  203. package/dist/tests/AuditLogger.edge-cases.test.js +183 -0
  204. package/dist/tests/AuditLogger.edge-cases.test.js.map +1 -0
  205. package/dist/tests/CacheManager.test.d.ts +9 -0
  206. package/dist/tests/CacheManager.test.d.ts.map +1 -0
  207. package/dist/tests/CacheManager.test.js +163 -0
  208. package/dist/tests/CacheManager.test.js.map +1 -0
  209. package/dist/tests/DailyIndexPipeline.test.js +3 -3
  210. package/dist/tests/DailyIndexPipeline.test.js.map +1 -1
  211. package/dist/tests/GitHubIndexer.edge-cases.test.d.ts +10 -0
  212. package/dist/tests/GitHubIndexer.edge-cases.test.d.ts.map +1 -0
  213. package/dist/tests/GitHubIndexer.edge-cases.test.js +255 -0
  214. package/dist/tests/GitHubIndexer.edge-cases.test.js.map +1 -0
  215. package/dist/tests/GitHubIndexer.test.js +4 -2
  216. package/dist/tests/GitHubIndexer.test.js.map +1 -1
  217. package/dist/tests/SearchService.test.js +71 -0
  218. package/dist/tests/SearchService.test.js.map +1 -1
  219. package/dist/tests/SkillVersionRepository.test.d.ts +0 -11
  220. package/dist/tests/SkillVersionRepository.test.d.ts.map +1 -1
  221. package/dist/tests/SkillVersionRepository.test.js +131 -194
  222. package/dist/tests/SkillVersionRepository.test.js.map +1 -1
  223. package/dist/tests/api/client.health.test.d.ts +15 -0
  224. package/dist/tests/api/client.health.test.d.ts.map +1 -0
  225. package/dist/tests/api/client.health.test.js +111 -0
  226. package/dist/tests/api/client.health.test.js.map +1 -0
  227. package/dist/tests/db/betterSqlite3Driver.test.d.ts +8 -0
  228. package/dist/tests/db/betterSqlite3Driver.test.d.ts.map +1 -0
  229. package/dist/tests/db/betterSqlite3Driver.test.js +88 -0
  230. package/dist/tests/db/betterSqlite3Driver.test.js.map +1 -0
  231. package/dist/tests/db/database-abstraction.test.js +12 -0
  232. package/dist/tests/db/database-abstraction.test.js.map +1 -1
  233. package/dist/tests/db/schema-migrations.test.d.ts +10 -0
  234. package/dist/tests/db/schema-migrations.test.d.ts.map +1 -0
  235. package/dist/tests/db/schema-migrations.test.js +134 -0
  236. package/dist/tests/db/schema-migrations.test.js.map +1 -0
  237. package/dist/tests/db/sqljsDriver.test.d.ts +9 -0
  238. package/dist/tests/db/sqljsDriver.test.d.ts.map +1 -0
  239. package/dist/tests/db/sqljsDriver.test.js +75 -0
  240. package/dist/tests/db/sqljsDriver.test.js.map +1 -0
  241. package/dist/tests/edge-cases/EdgeCases.test.js +4 -1
  242. package/dist/tests/edge-cases/EdgeCases.test.js.map +1 -1
  243. package/dist/tests/helpers/database.d.ts +32 -0
  244. package/dist/tests/helpers/database.d.ts.map +1 -0
  245. package/dist/tests/helpers/database.js +54 -0
  246. package/dist/tests/helpers/database.js.map +1 -0
  247. package/dist/tests/learning/PatternStore.helpers.test.d.ts +17 -0
  248. package/dist/tests/learning/PatternStore.helpers.test.d.ts.map +1 -0
  249. package/dist/tests/learning/PatternStore.helpers.test.js +301 -0
  250. package/dist/tests/learning/PatternStore.helpers.test.js.map +1 -0
  251. package/dist/tests/repositories/CoInstallRepository.test.d.ts +9 -0
  252. package/dist/tests/repositories/CoInstallRepository.test.d.ts.map +1 -0
  253. package/dist/tests/repositories/CoInstallRepository.test.js +126 -0
  254. package/dist/tests/repositories/CoInstallRepository.test.js.map +1 -0
  255. package/dist/tests/repositories/SkillDependencyRepository.test.d.ts +10 -0
  256. package/dist/tests/repositories/SkillDependencyRepository.test.d.ts.map +1 -0
  257. package/dist/tests/repositories/SkillDependencyRepository.test.js +336 -0
  258. package/dist/tests/repositories/SkillDependencyRepository.test.js.map +1 -0
  259. package/dist/tests/routing/LanguageRouter.test.d.ts +9 -0
  260. package/dist/tests/routing/LanguageRouter.test.d.ts.map +1 -0
  261. package/dist/tests/routing/LanguageRouter.test.js +150 -0
  262. package/dist/tests/routing/LanguageRouter.test.js.map +1 -0
  263. package/dist/tests/session/SessionManager.memory.test.d.ts +11 -0
  264. package/dist/tests/session/SessionManager.memory.test.d.ts.map +1 -0
  265. package/dist/tests/session/SessionManager.memory.test.js +219 -0
  266. package/dist/tests/session/SessionManager.memory.test.js.map +1 -0
  267. package/dist/tests/sources.test.js +1 -1
  268. package/dist/tests/sources.test.js.map +1 -1
  269. package/dist/tests/sync/SyncEngine.test.js +32 -18
  270. package/dist/tests/sync/SyncEngine.test.js.map +1 -1
  271. package/dist/tests/testing/MultiLLMProvider.metrics.test.d.ts +13 -0
  272. package/dist/tests/testing/MultiLLMProvider.metrics.test.d.ts.map +1 -0
  273. package/dist/tests/testing/MultiLLMProvider.metrics.test.js +149 -0
  274. package/dist/tests/testing/MultiLLMProvider.metrics.test.js.map +1 -0
  275. package/dist/tests/testing/MultiLLMProvider.selection.test.d.ts +15 -0
  276. package/dist/tests/testing/MultiLLMProvider.selection.test.d.ts.map +1 -0
  277. package/dist/tests/testing/MultiLLMProvider.selection.test.js +249 -0
  278. package/dist/tests/testing/MultiLLMProvider.selection.test.js.map +1 -0
  279. package/dist/tests/unit/migrations/v10-dependencies.test.d.ts +6 -0
  280. package/dist/tests/unit/migrations/v10-dependencies.test.d.ts.map +1 -0
  281. package/dist/tests/unit/migrations/v10-dependencies.test.js +166 -0
  282. package/dist/tests/unit/migrations/v10-dependencies.test.js.map +1 -0
  283. package/dist/tests/unit/quarantine-query-builder.test.d.ts +10 -0
  284. package/dist/tests/unit/quarantine-query-builder.test.d.ts.map +1 -0
  285. package/dist/tests/unit/quarantine-query-builder.test.js +157 -0
  286. package/dist/tests/unit/quarantine-query-builder.test.js.map +1 -0
  287. package/package.json +1 -1
@@ -0,0 +1,183 @@
1
+ /**
2
+ * SMI-2756: Wave 3 — AuditLogger edge-case tests
3
+ *
4
+ * Companion file to AuditLogger.test.ts (which exceeds the 500-line limit).
5
+ * Covers: DB write error propagation, log retention via cleanupOldLogs,
6
+ * meta-log written after successful cleanup, query date-range filters,
7
+ * query action-type filter, and export producing valid JSON.
8
+ */
9
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
10
+ import { createDatabase, closeDatabase } from '../src/db/schema.js';
11
+ import { AuditLogger } from '../src/security/AuditLogger.js';
12
+ describe('AuditLogger — edge cases (SMI-2756)', () => {
13
+ let db;
14
+ let logger;
15
+ beforeEach(() => {
16
+ db = createDatabase(':memory:');
17
+ logger = new AuditLogger(db);
18
+ });
19
+ afterEach(() => {
20
+ if (db)
21
+ closeDatabase(db);
22
+ });
23
+ // -------------------------------------------------------------------------
24
+ // Retention / cleanup
25
+ // -------------------------------------------------------------------------
26
+ describe('cleanupOldLogs', () => {
27
+ it('deletes entries older than the retention period', () => {
28
+ // Insert an old log with a past timestamp
29
+ const oldTimestamp = new Date(Date.now() - 100 * 24 * 60 * 60 * 1000).toISOString();
30
+ logger.log({
31
+ event_type: 'skill_install',
32
+ actor: 'user',
33
+ resource: 'old-skill',
34
+ action: 'install',
35
+ result: 'success',
36
+ timestamp: oldTimestamp,
37
+ });
38
+ // Insert a recent log
39
+ logger.log({
40
+ event_type: 'skill_install',
41
+ actor: 'user',
42
+ resource: 'new-skill',
43
+ action: 'install',
44
+ result: 'success',
45
+ });
46
+ const deleted = logger.cleanupOldLogs(90);
47
+ // Old entry should be removed
48
+ expect(deleted).toBeGreaterThanOrEqual(1);
49
+ const remaining = logger.query({ resource: 'old-skill' });
50
+ expect(remaining).toHaveLength(0);
51
+ });
52
+ it('preserves entries within the retention period', () => {
53
+ // Insert a recent log
54
+ logger.log({
55
+ event_type: 'cache_operation',
56
+ actor: 'user',
57
+ resource: 'recent-skill',
58
+ action: 'search',
59
+ result: 'success',
60
+ });
61
+ const deleted = logger.cleanupOldLogs(90);
62
+ // No recent entries should be deleted
63
+ expect(deleted).toBe(0);
64
+ const remaining = logger.query({ resource: 'recent-skill' });
65
+ expect(remaining).toHaveLength(1);
66
+ });
67
+ it('writes a meta-log entry after successful cleanup', () => {
68
+ // Insert an old entry to be deleted
69
+ const oldTs = new Date(Date.now() - 100 * 24 * 60 * 60 * 1000).toISOString();
70
+ logger.log({
71
+ event_type: 'skill_install',
72
+ actor: 'user',
73
+ resource: 'audit_logs',
74
+ action: 'install',
75
+ result: 'success',
76
+ timestamp: oldTs,
77
+ });
78
+ logger.cleanupOldLogs(90);
79
+ // A config_change event should have been logged as meta-log
80
+ const metaEntries = logger.query({ event_type: 'config_change', resource: 'audit_logs' });
81
+ expect(metaEntries.length).toBeGreaterThanOrEqual(1);
82
+ const cleanupLog = metaEntries.find((e) => e.action === 'cleanup');
83
+ expect(cleanupLog).toBeDefined();
84
+ });
85
+ it('throws for retentionDays below minimum (< 1)', () => {
86
+ expect(() => logger.cleanupOldLogs(0)).toThrow(/minimum/);
87
+ });
88
+ it('throws for fractional retentionDays', () => {
89
+ expect(() => logger.cleanupOldLogs(1.5)).toThrow(/integer/);
90
+ });
91
+ });
92
+ // -------------------------------------------------------------------------
93
+ // Query filters
94
+ // -------------------------------------------------------------------------
95
+ describe('query — date range filters', () => {
96
+ it('filters entries by since date', () => {
97
+ const pastTs = new Date(Date.now() - 10 * 24 * 60 * 60 * 1000).toISOString();
98
+ logger.log({
99
+ event_type: 'skill_install',
100
+ actor: 'user',
101
+ resource: 'old-resource',
102
+ action: 'install',
103
+ result: 'success',
104
+ timestamp: pastTs,
105
+ });
106
+ logger.log({
107
+ event_type: 'skill_install',
108
+ actor: 'user',
109
+ resource: 'new-resource',
110
+ action: 'install',
111
+ result: 'success',
112
+ });
113
+ const since = new Date(Date.now() - 5 * 24 * 60 * 60 * 1000);
114
+ const results = logger.query({ since });
115
+ const resourceNames = results.map((e) => e.resource);
116
+ expect(resourceNames).not.toContain('old-resource');
117
+ expect(resourceNames).toContain('new-resource');
118
+ });
119
+ it('filters entries by until date', () => {
120
+ const oldTs = new Date(Date.now() - 20 * 24 * 60 * 60 * 1000).toISOString();
121
+ logger.log({
122
+ event_type: 'skill_install',
123
+ actor: 'user',
124
+ resource: 'old-resource',
125
+ action: 'install',
126
+ result: 'success',
127
+ timestamp: oldTs,
128
+ });
129
+ logger.log({
130
+ event_type: 'skill_install',
131
+ actor: 'user',
132
+ resource: 'new-resource',
133
+ action: 'install',
134
+ result: 'success',
135
+ });
136
+ const until = new Date(Date.now() - 15 * 24 * 60 * 60 * 1000);
137
+ const results = logger.query({ until });
138
+ const resourceNames = results.map((e) => e.resource);
139
+ expect(resourceNames).toContain('old-resource');
140
+ expect(resourceNames).not.toContain('new-resource');
141
+ });
142
+ });
143
+ describe('query — action type filter', () => {
144
+ it('filters by event_type', () => {
145
+ logger.log({
146
+ event_type: 'cache_operation',
147
+ actor: 'user',
148
+ resource: 'res-a',
149
+ action: 'search',
150
+ result: 'success',
151
+ });
152
+ logger.log({
153
+ event_type: 'skill_install',
154
+ actor: 'user',
155
+ resource: 'res-b',
156
+ action: 'install',
157
+ result: 'success',
158
+ });
159
+ const results = logger.query({ event_type: 'cache_operation' });
160
+ expect(results.every((e) => e.event_type === 'cache_operation')).toBe(true);
161
+ expect(results.some((e) => e.resource === 'res-a')).toBe(true);
162
+ });
163
+ });
164
+ // -------------------------------------------------------------------------
165
+ // export
166
+ // -------------------------------------------------------------------------
167
+ describe('export', () => {
168
+ it('returns valid JSON string containing logged entries', () => {
169
+ logger.log({
170
+ event_type: 'cache_operation',
171
+ actor: 'user',
172
+ resource: 'exported-resource',
173
+ action: 'search',
174
+ result: 'success',
175
+ });
176
+ const json = logger.export();
177
+ const parsed = JSON.parse(json);
178
+ expect(Array.isArray(parsed)).toBe(true);
179
+ expect(parsed.some((e) => e.resource === 'exported-resource')).toBe(true);
180
+ });
181
+ });
182
+ });
183
+ //# sourceMappingURL=AuditLogger.edge-cases.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuditLogger.edge-cases.test.js","sourceRoot":"","sources":["../../tests/AuditLogger.edge-cases.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * SMI-2756: Wave 3 — CacheManager tests
3
+ *
4
+ * CacheManager uses an async factory pattern (CacheManager.create(config)).
5
+ * Tests cover: create/close lifecycle, get/set/has/delete, invalidateAll,
6
+ * onInvalidate listener, getStats shape, and generateKey/parseKey symmetry.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=CacheManager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheManager.test.d.ts","sourceRoot":"","sources":["../../tests/CacheManager.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * SMI-2756: Wave 3 — CacheManager tests
3
+ *
4
+ * CacheManager uses an async factory pattern (CacheManager.create(config)).
5
+ * Tests cover: create/close lifecycle, get/set/has/delete, invalidateAll,
6
+ * onInvalidate listener, getStats shape, and generateKey/parseKey symmetry.
7
+ */
8
+ import { describe, it, expect, afterEach } from 'vitest';
9
+ import { CacheManager } from '../src/cache/CacheManager.js';
10
+ describe('CacheManager', () => {
11
+ let manager;
12
+ afterEach(() => {
13
+ try {
14
+ manager?.close();
15
+ }
16
+ catch {
17
+ // already closed
18
+ }
19
+ });
20
+ // -------------------------------------------------------------------------
21
+ // Factory
22
+ // -------------------------------------------------------------------------
23
+ describe('create', () => {
24
+ it('returns a CacheManager instance', async () => {
25
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
26
+ expect(manager).toBeDefined();
27
+ expect(typeof manager.get).toBe('function');
28
+ });
29
+ it('constructor always throws (use create instead)', () => {
30
+ expect(() => new CacheManager()).toThrow(/Cannot construct synchronously/);
31
+ });
32
+ });
33
+ // -------------------------------------------------------------------------
34
+ // get / set / has / delete
35
+ // -------------------------------------------------------------------------
36
+ describe('get / set / has / delete', () => {
37
+ it('returns undefined for a cache miss', async () => {
38
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
39
+ const result = manager.get({ query: 'missing' });
40
+ expect(result).toBeUndefined();
41
+ });
42
+ it('stores and retrieves results', async () => {
43
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
44
+ const opts = { query: 'typescript', limit: 10 };
45
+ const fakeResults = [{ id: '1', name: 'TypeScript Skill', score: 0.9 }];
46
+ manager.set(opts, fakeResults, 1);
47
+ const cached = manager.get(opts);
48
+ expect(cached).toBeDefined();
49
+ expect(cached?.totalCount).toBe(1);
50
+ });
51
+ it('has returns true after set', async () => {
52
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
53
+ const opts = { query: 'react' };
54
+ manager.set(opts, [], 0);
55
+ expect(manager.has(opts)).toBe(true);
56
+ });
57
+ it('delete removes the entry', async () => {
58
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
59
+ const opts = { query: 'python' };
60
+ manager.set(opts, [], 0);
61
+ expect(manager.has(opts)).toBe(true);
62
+ manager.delete(opts);
63
+ expect(manager.has(opts)).toBe(false);
64
+ });
65
+ });
66
+ // -------------------------------------------------------------------------
67
+ // invalidateAll
68
+ // -------------------------------------------------------------------------
69
+ describe('invalidateAll', () => {
70
+ it('clears all cached entries', async () => {
71
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
72
+ manager.set({ query: 'a' }, [], 0);
73
+ manager.set({ query: 'b' }, [], 0);
74
+ manager.invalidateAll();
75
+ expect(manager.has({ query: 'a' })).toBe(false);
76
+ expect(manager.has({ query: 'b' })).toBe(false);
77
+ });
78
+ it('fires registered onInvalidate listeners', async () => {
79
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
80
+ let callCount = 0;
81
+ manager.onInvalidate(() => {
82
+ callCount++;
83
+ });
84
+ manager.onInvalidate(() => {
85
+ callCount++;
86
+ });
87
+ manager.invalidateAll();
88
+ expect(callCount).toBe(2);
89
+ });
90
+ it('onInvalidate unsubscribe prevents future calls', async () => {
91
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
92
+ let callCount = 0;
93
+ const unsubscribe = manager.onInvalidate(() => {
94
+ callCount++;
95
+ });
96
+ unsubscribe();
97
+ manager.invalidateAll();
98
+ expect(callCount).toBe(0);
99
+ });
100
+ });
101
+ // -------------------------------------------------------------------------
102
+ // getStats
103
+ // -------------------------------------------------------------------------
104
+ describe('getStats', () => {
105
+ it('returns stats with expected shape', async () => {
106
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
107
+ const stats = manager.getStats();
108
+ expect(typeof stats.totalHits).toBe('number');
109
+ expect(typeof stats.totalMisses).toBe('number');
110
+ expect(stats.queryFrequencies).toBeDefined();
111
+ expect(typeof stats.queryFrequencies.popular).toBe('number');
112
+ expect(typeof stats.queryFrequencies.standard).toBe('number');
113
+ expect(typeof stats.queryFrequencies.rare).toBe('number');
114
+ expect(stats.backgroundRefresh).toBeDefined();
115
+ });
116
+ });
117
+ // -------------------------------------------------------------------------
118
+ // generateKey / parseKey
119
+ // -------------------------------------------------------------------------
120
+ describe('generateKey / parseKey', () => {
121
+ it('generates a stable key for the same options', () => {
122
+ const key1 = CacheManager.generateKey({ query: 'test', limit: 20 });
123
+ const key2 = CacheManager.generateKey({ query: 'test', limit: 20 });
124
+ expect(key1).toBe(key2);
125
+ });
126
+ it('normalises query case in the key', () => {
127
+ const key1 = CacheManager.generateKey({ query: 'TypeScript' });
128
+ const key2 = CacheManager.generateKey({ query: 'typescript' });
129
+ expect(key1).toBe(key2);
130
+ });
131
+ it('parseKey returns null for non-matching string', () => {
132
+ expect(CacheManager.parseKey('not-a-cache-key')).toBeNull();
133
+ });
134
+ it('parseKey round-trips a generated key', () => {
135
+ const opts = { query: 'vitest', filters: { tier: 'verified' }, limit: 10, offset: 0 };
136
+ const key = CacheManager.generateKey(opts);
137
+ const parsed = CacheManager.parseKey(key);
138
+ expect(parsed).not.toBeNull();
139
+ expect(parsed?.query).toBe('vitest');
140
+ expect(parsed?.limit).toBe(10);
141
+ expect(parsed?.offset).toBe(0);
142
+ });
143
+ });
144
+ // -------------------------------------------------------------------------
145
+ // getOrCompute
146
+ // -------------------------------------------------------------------------
147
+ describe('getOrCompute', () => {
148
+ it('calls compute only once for the same key on cache miss then hit', async () => {
149
+ manager = await CacheManager.create({ enableBackgroundRefresh: false });
150
+ let callCount = 0;
151
+ const compute = async () => {
152
+ callCount++;
153
+ return { results: [], totalCount: 0 };
154
+ };
155
+ const opts = { query: 'dedupe-test' };
156
+ await manager.getOrCompute(opts, compute);
157
+ await manager.getOrCompute(opts, compute);
158
+ // compute should only be called on the first miss
159
+ expect(callCount).toBe(1);
160
+ });
161
+ });
162
+ });
163
+ //# sourceMappingURL=CacheManager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheManager.test.js","sourceRoot":"","sources":["../../tests/CacheManager.test.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ describe('DailyIndexPipeline (SMI-593)', () => {
79
79
  author: 'test',
80
80
  version: '1.0.0',
81
81
  tags: ['test'],
82
- dependencies: [],
82
+ dependencies: undefined,
83
83
  category: null,
84
84
  license: 'MIT',
85
85
  rawContent: '# Test',
@@ -466,7 +466,7 @@ describe('runDailyIndex helper', () => {
466
466
  author: 'test',
467
467
  version: '1.0.0',
468
468
  tags: ['test'],
469
- dependencies: [],
469
+ dependencies: undefined,
470
470
  category: null,
471
471
  license: 'MIT',
472
472
  rawContent: '# Test',
@@ -505,7 +505,7 @@ describe('createScheduledPipeline', () => {
505
505
  author: 'test',
506
506
  version: '1.0.0',
507
507
  tags: ['test'],
508
- dependencies: [],
508
+ dependencies: undefined,
509
509
  category: null,
510
510
  license: 'MIT',
511
511
  rawContent: '# Test',
@@ -1 +1 @@
1
- {"version":3,"file":"DailyIndexPipeline.test.js","sourceRoot":"","sources":["../../tests/DailyIndexPipeline.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DailyIndexPipeline.test.js","sourceRoot":"","sources":["../../tests/DailyIndexPipeline.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,GAEd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAcvE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEpF;;GAEG;AACH,MAAM,iBAAkB,SAAQ,iBAAiB;IACxC,WAAW,GAAG,CAAC,CAAA;IACf,UAAU,GAAG,CAAC,CAAA;IACd,UAAU,GAAG,KAAK,CAAA;IAClB,YAAY,GAAuB,EAAE,CAAA;IAElC,KAAK,CAAC,aAAa;QAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAA6B;QACxC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QAClC,CAAC;QACD,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACpC,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAwB;QAC1C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAA;QACvC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,sBAAsB,QAAQ,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,EAAE;YAChE,WAAW,EAAE,iBAAiB;YAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,SAAS;YAClC,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,cAAc;YACzB,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAwB;QAC9C,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7B,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;QACtE,CAAC;QACD,OAAO;YACL,UAAU,EAAE,eAAe,QAAQ,CAAC,IAAI,aAAa,QAAQ,CAAC,IAAI,EAAE;YACpE,GAAG,EAAE,QAAQ;YACb,QAAQ;YACR,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,OAAO;SAClB,CAAA;IACH,CAAC;CACF;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,QAA4B,CAAA;IAChC,IAAI,UAAwB,CAAA;IAC5B,IAAI,cAAgC,CAAA;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,eAAe,EAAE,CAAA;QACjB,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAA;QAEnC,UAAU,GAAG;YACX,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBAC7B,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,YAAY,EAAE,SAAS;gBACvB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,GAAG,EAAE,EAAE;gBACP,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;aACqB,CAAC;SACjC,CAAA;QAED,cAAc,GAAG;YACf,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC5C,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,SAAkB;aAC3B,CAAC;YACF,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;SAC/C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,EAAE,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;gBACpC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,OAAO,CAAC,YAAY,GAAG;gBACrB;oBACE,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,YAAY;oBAClB,GAAG,EAAE,oCAAoC;oBACzC,WAAW,EAAE,cAAc;oBAC3B,KAAK,EAAE,MAAM;oBACb,aAAa,EAAE,MAAM;oBACrB,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC,cAAc,CAAC;oBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,EAAE;iBACb;aACF,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC;gBACrC,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC;gBACrC,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,QAAQ,CAAC,YAAY,GAAG;gBACtB;oBACE,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,iCAAiC;oBACtC,WAAW,EAAE,SAAS;oBACtB,KAAK,EAAE,MAAM;oBACb,aAAa,EAAE,MAAM;oBACrB,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,EAAE;iBACb;aACF,CAAA;YAED,QAAQ,CAAC,YAAY,GAAG;gBACtB;oBACE,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,iCAAiC;oBACtC,WAAW,EAAE,SAAS;oBACtB,KAAK,EAAE,MAAM;oBACb,aAAa,EAAE,MAAM;oBACrB,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,EAAE;iBACb;aACF,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACvD,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC;gBAC3C,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YACF,cAAc,CAAC,UAAU,GAAG,IAAI,CAAA;YAEhC,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC;gBAC3C,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YACF,cAAc,CAAC,YAAY,GAAG;gBAC5B;oBACE,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,iCAAiC;oBACtC,WAAW,EAAE,SAAS;oBACtB,KAAK,EAAE,MAAM;oBACb,aAAa,EAAE,MAAM;oBACrB,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,EAAE;oBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,EAAE;iBACb;aACF,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;gBACnE,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;gBAC1B,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC;gBAC3C,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YACF,cAAc,CAAC,UAAU,GAAG,IAAI,CAAA;YAEhC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;gBACtC,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;gBAC1B,eAAe,EAAE,KAAK;aACvB,CAAC,CAAA;YAEF,0EAA0E;YAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC;gBAC3C,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YACF,cAAc,CAAC,UAAU,GAAG,IAAI,CAAA;YAEhC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;YAEvB,MAAM,QAAQ,CAAC,GAAG,CAAC;gBACjB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;gBACtC,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;gBAC1B,eAAe,EAAE,IAAI;gBACrB,OAAO;aACR,CAAC,CAAA;YAEF,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;gBACpC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;YAE1B,MAAM,QAAQ,CAAC,GAAG,CAAC;gBACjB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;gBAC1B,UAAU;aACX,CAAC,CAAA;YAEF,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CACpC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CACjC,CAAC,CAAC,CAAqB,CAAA;YACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACvC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;gBACpC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;YAEhC,MAAM,QAAQ,CAAC,GAAG,CAAC;gBACjB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;gBAC1B,gBAAgB;aACjB,CAAC,CAAA;YAEF,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QAClF,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,KAAK,GAAa,EAAE,CAAA;YAE1B,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC;gBACrC,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC;gBACrC,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,MAAM,QAAQ,CAAC,GAAG,CAAC;gBACjB,OAAO,EAAE;oBACP,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;oBACpC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;iBACnC;gBACD,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;gBAC1B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;aACrD,CAAC,CAAA;YAEF,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;gBACpC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;gBAC1B,KAAK,EAAE,eAAe;aACvB,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;gBACpC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;gBACpC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;aAChE,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;YAExC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;YAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YACtD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YACtD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YACtD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;YACxD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;YACpC,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,MAAM,UAAU,GAAiB;YAC/B,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBAC7B,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,YAAY,EAAE,SAAS;gBACvB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,GAAG,EAAE,EAAE;gBACP,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;aACT,CAAC;SACH,CAAA;QAED,MAAM,cAAc,GAAqB;YACvC,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC5C,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,SAAkB;aAC3B,CAAC;YACF,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;SAC/C,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,CAAA;QAE7E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;YACpC,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;SAChE,CAAC,CAAA;QAEF,MAAM,UAAU,GAAiB;YAC/B,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBAC7B,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,YAAY,EAAE,SAAS;gBACvB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,GAAG,EAAE,EAAE;gBACP,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;aACT,CAAC;SACH,CAAA;QAED,MAAM,cAAc,GAAqB;YACvC,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC5C,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,SAAkB;aAC3B,CAAC;YACF,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;SAC/C,CAAA;QAED,MAAM,SAAS,GAAG,uBAAuB,CACvC;YACE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;YACtB,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,cAAc;SAC3B,EACD,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CAAA;QAED,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;QAEjD,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SMI-2756: Wave 3 — GitHubIndexer edge-case tests
3
+ *
4
+ * Companion file to GitHubIndexer.test.ts (which exceeds the 500-line limit).
5
+ * Covers: rate-limit handling, network errors, malformed API responses,
6
+ * repositoryToSkill logic (trust tier assignment, log-scale quality),
7
+ * and indexAllTopics deduplication.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=GitHubIndexer.edge-cases.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubIndexer.edge-cases.test.d.ts","sourceRoot":"","sources":["../../tests/GitHubIndexer.edge-cases.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}