@skillsmith/core 0.4.0 → 0.4.1

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 (308) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
  3. package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
  4. package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -1
  5. package/dist/src/analysis/language-detector.d.ts +4 -20
  6. package/dist/src/analysis/language-detector.d.ts.map +1 -1
  7. package/dist/src/analysis/language-detector.js +2 -399
  8. package/dist/src/analysis/language-detector.js.map +1 -1
  9. package/dist/src/analysis/language-detector.patterns.d.ts +17 -0
  10. package/dist/src/analysis/language-detector.patterns.d.ts.map +1 -0
  11. package/dist/src/analysis/language-detector.patterns.js +413 -0
  12. package/dist/src/analysis/language-detector.patterns.js.map +1 -0
  13. package/dist/src/analysis/language-detector.types.d.ts +48 -0
  14. package/dist/src/analysis/language-detector.types.d.ts.map +1 -0
  15. package/dist/src/analysis/language-detector.types.js +6 -0
  16. package/dist/src/analysis/language-detector.types.js.map +1 -0
  17. package/dist/src/analysis/metrics.d.ts +22 -219
  18. package/dist/src/analysis/metrics.d.ts.map +1 -1
  19. package/dist/src/analysis/metrics.implementations.d.ts +39 -0
  20. package/dist/src/analysis/metrics.implementations.d.ts.map +1 -0
  21. package/dist/src/analysis/metrics.implementations.js +114 -0
  22. package/dist/src/analysis/metrics.implementations.js.map +1 -0
  23. package/dist/src/analysis/metrics.js +21 -224
  24. package/dist/src/analysis/metrics.js.map +1 -1
  25. package/dist/src/analysis/metrics.types.d.ts +79 -0
  26. package/dist/src/analysis/metrics.types.d.ts.map +1 -0
  27. package/dist/src/analysis/metrics.types.js +6 -0
  28. package/dist/src/analysis/metrics.types.js.map +1 -0
  29. package/dist/src/analytics/ROIDashboardService.js +4 -2
  30. package/dist/src/analytics/ROIDashboardService.js.map +1 -1
  31. package/dist/src/api/cache.d.ts.map +1 -1
  32. package/dist/src/api/cache.js.map +1 -1
  33. package/dist/src/api/client.d.ts +1 -0
  34. package/dist/src/api/client.d.ts.map +1 -1
  35. package/dist/src/api/client.js +17 -3
  36. package/dist/src/api/client.js.map +1 -1
  37. package/dist/src/api/types.d.ts +1 -1
  38. package/dist/src/api/types.d.ts.map +1 -1
  39. package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -1
  40. package/dist/src/benchmarks/BenchmarkRunner.js +1 -1
  41. package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
  42. package/dist/src/billing/BillingService.d.ts +15 -53
  43. package/dist/src/billing/BillingService.d.ts.map +1 -1
  44. package/dist/src/billing/BillingService.helpers.d.ts +15 -0
  45. package/dist/src/billing/BillingService.helpers.d.ts.map +1 -0
  46. package/dist/src/billing/BillingService.helpers.js +45 -0
  47. package/dist/src/billing/BillingService.helpers.js.map +1 -0
  48. package/dist/src/billing/BillingService.js +49 -179
  49. package/dist/src/billing/BillingService.js.map +1 -1
  50. package/dist/src/billing/BillingService.types.d.ts +52 -0
  51. package/dist/src/billing/BillingService.types.d.ts.map +1 -0
  52. package/dist/src/billing/BillingService.types.js +6 -0
  53. package/dist/src/billing/BillingService.types.js.map +1 -0
  54. package/dist/src/billing/StripeClient.d.ts +3 -2
  55. package/dist/src/billing/StripeClient.d.ts.map +1 -1
  56. package/dist/src/billing/StripeClient.js +4 -3
  57. package/dist/src/billing/StripeClient.js.map +1 -1
  58. package/dist/src/billing/StripeWebhookHandler.d.ts +13 -0
  59. package/dist/src/billing/StripeWebhookHandler.d.ts.map +1 -1
  60. package/dist/src/billing/StripeWebhookHandler.js +52 -9
  61. package/dist/src/billing/StripeWebhookHandler.js.map +1 -1
  62. package/dist/src/db/migration.d.ts +129 -0
  63. package/dist/src/db/migration.d.ts.map +1 -0
  64. package/dist/src/db/migration.js +289 -0
  65. package/dist/src/db/migration.js.map +1 -0
  66. package/dist/src/db/schema.d.ts +2 -2
  67. package/dist/src/db/schema.d.ts.map +1 -1
  68. package/dist/src/db/schema.js +23 -1
  69. package/dist/src/db/schema.js.map +1 -1
  70. package/dist/src/embeddings/hnsw-store.d.ts +8 -518
  71. package/dist/src/embeddings/hnsw-store.d.ts.map +1 -1
  72. package/dist/src/embeddings/hnsw-store.helpers.d.ts +83 -0
  73. package/dist/src/embeddings/hnsw-store.helpers.d.ts.map +1 -0
  74. package/dist/src/embeddings/hnsw-store.helpers.js +147 -0
  75. package/dist/src/embeddings/hnsw-store.helpers.js.map +1 -0
  76. package/dist/src/embeddings/hnsw-store.js +66 -517
  77. package/dist/src/embeddings/hnsw-store.js.map +1 -1
  78. package/dist/src/embeddings/hnsw-store.types.d.ts +154 -0
  79. package/dist/src/embeddings/hnsw-store.types.d.ts.map +1 -0
  80. package/dist/src/embeddings/hnsw-store.types.js +26 -0
  81. package/dist/src/embeddings/hnsw-store.types.js.map +1 -0
  82. package/dist/src/errors.d.ts.map +1 -1
  83. package/dist/src/errors.js +1 -1
  84. package/dist/src/errors.js.map +1 -1
  85. package/dist/src/index.d.ts +8 -1
  86. package/dist/src/index.d.ts.map +1 -1
  87. package/dist/src/index.js +18 -0
  88. package/dist/src/index.js.map +1 -1
  89. package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
  90. package/dist/src/indexer/GitHubIndexer.js +17 -4
  91. package/dist/src/indexer/GitHubIndexer.js.map +1 -1
  92. package/dist/src/indexer/SwarmIndexer.d.ts.map +1 -1
  93. package/dist/src/indexer/SwarmIndexer.js +1 -1
  94. package/dist/src/indexer/SwarmIndexer.js.map +1 -1
  95. package/dist/src/learning/PatternStore.d.ts +6 -426
  96. package/dist/src/learning/PatternStore.d.ts.map +1 -1
  97. package/dist/src/learning/PatternStore.helpers.d.ts +88 -0
  98. package/dist/src/learning/PatternStore.helpers.d.ts.map +1 -0
  99. package/dist/src/learning/PatternStore.helpers.js +286 -0
  100. package/dist/src/learning/PatternStore.helpers.js.map +1 -0
  101. package/dist/src/learning/PatternStore.js +52 -598
  102. package/dist/src/learning/PatternStore.js.map +1 -1
  103. package/dist/src/learning/PatternStore.queries.d.ts +83 -0
  104. package/dist/src/learning/PatternStore.queries.d.ts.map +1 -0
  105. package/dist/src/learning/PatternStore.queries.js +189 -0
  106. package/dist/src/learning/PatternStore.queries.js.map +1 -0
  107. package/dist/src/learning/PatternStore.types.d.ts +308 -0
  108. package/dist/src/learning/PatternStore.types.d.ts.map +1 -0
  109. package/dist/src/learning/PatternStore.types.js +44 -0
  110. package/dist/src/learning/PatternStore.types.js.map +1 -0
  111. package/dist/src/learning/ReasoningBankIntegration.d.ts +5 -345
  112. package/dist/src/learning/ReasoningBankIntegration.d.ts.map +1 -1
  113. package/dist/src/learning/ReasoningBankIntegration.helpers.d.ts +49 -0
  114. package/dist/src/learning/ReasoningBankIntegration.helpers.d.ts.map +1 -0
  115. package/dist/src/learning/ReasoningBankIntegration.helpers.js +180 -0
  116. package/dist/src/learning/ReasoningBankIntegration.helpers.js.map +1 -0
  117. package/dist/src/learning/ReasoningBankIntegration.js +21 -390
  118. package/dist/src/learning/ReasoningBankIntegration.js.map +1 -1
  119. package/dist/src/learning/ReasoningBankIntegration.types.d.ts +167 -0
  120. package/dist/src/learning/ReasoningBankIntegration.types.d.ts.map +1 -0
  121. package/dist/src/learning/ReasoningBankIntegration.types.js +51 -0
  122. package/dist/src/learning/ReasoningBankIntegration.types.js.map +1 -0
  123. package/dist/src/learning/interfaces.d.ts.map +1 -1
  124. package/dist/src/pipeline/DailyIndexPipeline.js +1 -1
  125. package/dist/src/pipeline/DailyIndexPipeline.js.map +1 -1
  126. package/dist/src/repositories/IndexerRepository.d.ts +1 -0
  127. package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
  128. package/dist/src/repositories/IndexerRepository.js +6 -0
  129. package/dist/src/repositories/IndexerRepository.js.map +1 -1
  130. package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
  131. package/dist/src/repositories/SkillRepository.js +20 -5
  132. package/dist/src/repositories/SkillRepository.js.map +1 -1
  133. package/dist/src/routing/SONARouter.d.ts +3 -101
  134. package/dist/src/routing/SONARouter.d.ts.map +1 -1
  135. package/dist/src/routing/SONARouter.helpers.d.ts +112 -0
  136. package/dist/src/routing/SONARouter.helpers.d.ts.map +1 -0
  137. package/dist/src/routing/SONARouter.helpers.js +184 -0
  138. package/dist/src/routing/SONARouter.helpers.js.map +1 -0
  139. package/dist/src/routing/SONARouter.js +16 -318
  140. package/dist/src/routing/SONARouter.js.map +1 -1
  141. package/dist/src/scripts/github-import/github-client.js +0 -1
  142. package/dist/src/scripts/github-import/github-client.js.map +1 -1
  143. package/dist/src/scripts/ingest-lenny-skills.d.ts +40 -0
  144. package/dist/src/scripts/ingest-lenny-skills.d.ts.map +1 -0
  145. package/dist/src/scripts/ingest-lenny-skills.js +346 -0
  146. package/dist/src/scripts/ingest-lenny-skills.js.map +1 -0
  147. package/dist/src/scripts/review-lenny-skills.d.ts +25 -0
  148. package/dist/src/scripts/review-lenny-skills.d.ts.map +1 -0
  149. package/dist/src/scripts/review-lenny-skills.js +520 -0
  150. package/dist/src/scripts/review-lenny-skills.js.map +1 -0
  151. package/dist/src/scripts/sync-to-supabase.d.ts +10 -0
  152. package/dist/src/scripts/sync-to-supabase.d.ts.map +1 -0
  153. package/dist/src/scripts/sync-to-supabase.js +93 -0
  154. package/dist/src/scripts/sync-to-supabase.js.map +1 -0
  155. package/dist/src/security/AuditLogger.js +1 -1
  156. package/dist/src/security/AuditLogger.js.map +1 -1
  157. package/dist/src/security/__tests__/pathValidation.test.js.map +1 -1
  158. package/dist/src/security/scanner/SecurityScanner.d.ts +12 -88
  159. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
  160. package/dist/src/security/scanner/SecurityScanner.formatters.d.ts +49 -0
  161. package/dist/src/security/scanner/SecurityScanner.formatters.d.ts.map +1 -0
  162. package/dist/src/security/scanner/SecurityScanner.formatters.js +139 -0
  163. package/dist/src/security/scanner/SecurityScanner.formatters.js.map +1 -0
  164. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +40 -0
  165. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -0
  166. package/dist/src/security/scanner/SecurityScanner.helpers.js +142 -0
  167. package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -0
  168. package/dist/src/security/scanner/SecurityScanner.js +26 -255
  169. package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
  170. package/dist/src/services/SearchService.d.ts +5 -0
  171. package/dist/src/services/SearchService.d.ts.map +1 -1
  172. package/dist/src/services/SearchService.js +143 -11
  173. package/dist/src/services/SearchService.js.map +1 -1
  174. package/dist/src/services/SkillAnalyzer.d.ts +117 -0
  175. package/dist/src/services/SkillAnalyzer.d.ts.map +1 -0
  176. package/dist/src/services/SkillAnalyzer.js +421 -0
  177. package/dist/src/services/SkillAnalyzer.js.map +1 -0
  178. package/dist/src/services/SkillDecomposer.d.ts +103 -0
  179. package/dist/src/services/SkillDecomposer.d.ts.map +1 -0
  180. package/dist/src/services/SkillDecomposer.js +359 -0
  181. package/dist/src/services/SkillDecomposer.js.map +1 -0
  182. package/dist/src/services/SubagentGenerator.d.ts +68 -0
  183. package/dist/src/services/SubagentGenerator.d.ts.map +1 -0
  184. package/dist/src/services/SubagentGenerator.js +319 -0
  185. package/dist/src/services/SubagentGenerator.js.map +1 -0
  186. package/dist/src/services/TransformationService.d.ts +163 -0
  187. package/dist/src/services/TransformationService.d.ts.map +1 -0
  188. package/dist/src/services/TransformationService.js +291 -0
  189. package/dist/src/services/TransformationService.js.map +1 -0
  190. package/dist/src/services/__tests__/SkillAnalyzer.test.d.ts +6 -0
  191. package/dist/src/services/__tests__/SkillAnalyzer.test.d.ts.map +1 -0
  192. package/dist/src/services/__tests__/SkillAnalyzer.test.js +177 -0
  193. package/dist/src/services/__tests__/SkillAnalyzer.test.js.map +1 -0
  194. package/dist/src/services/__tests__/SkillDecomposer.test.d.ts +6 -0
  195. package/dist/src/services/__tests__/SkillDecomposer.test.d.ts.map +1 -0
  196. package/dist/src/services/__tests__/SkillDecomposer.test.js +235 -0
  197. package/dist/src/services/__tests__/SkillDecomposer.test.js.map +1 -0
  198. package/dist/src/services/__tests__/SubagentGenerator.test.d.ts +6 -0
  199. package/dist/src/services/__tests__/SubagentGenerator.test.d.ts.map +1 -0
  200. package/dist/src/services/__tests__/SubagentGenerator.test.js +174 -0
  201. package/dist/src/services/__tests__/SubagentGenerator.test.js.map +1 -0
  202. package/dist/src/services/__tests__/TransformationService.test.d.ts +6 -0
  203. package/dist/src/services/__tests__/TransformationService.test.d.ts.map +1 -0
  204. package/dist/src/services/__tests__/TransformationService.test.js +242 -0
  205. package/dist/src/services/__tests__/TransformationService.test.js.map +1 -0
  206. package/dist/src/session/SessionContext.js +1 -1
  207. package/dist/src/session/SessionContext.js.map +1 -1
  208. package/dist/src/session/SessionManager.d.ts +3 -67
  209. package/dist/src/session/SessionManager.d.ts.map +1 -1
  210. package/dist/src/session/SessionManager.helpers.d.ts +68 -0
  211. package/dist/src/session/SessionManager.helpers.d.ts.map +1 -0
  212. package/dist/src/session/SessionManager.helpers.js +152 -0
  213. package/dist/src/session/SessionManager.helpers.js.map +1 -0
  214. package/dist/src/session/SessionManager.js +58 -163
  215. package/dist/src/session/SessionManager.js.map +1 -1
  216. package/dist/src/session/SessionManager.types.d.ts +88 -0
  217. package/dist/src/session/SessionManager.types.d.ts.map +1 -0
  218. package/dist/src/session/SessionManager.types.js +27 -0
  219. package/dist/src/session/SessionManager.types.js.map +1 -0
  220. package/dist/src/session/SessionRecovery.d.ts.map +1 -1
  221. package/dist/src/session/SessionRecovery.js +3 -2
  222. package/dist/src/session/SessionRecovery.js.map +1 -1
  223. package/dist/src/sources/RawUrlSourceAdapter.js.map +1 -1
  224. package/dist/src/sources/SourceAdapterRegistry.js +1 -1
  225. package/dist/src/sources/SourceAdapterRegistry.js.map +1 -1
  226. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  227. package/dist/src/telemetry/tracer.js +2 -3
  228. package/dist/src/telemetry/tracer.js.map +1 -1
  229. package/dist/src/testing/MultiLLMProvider.d.ts +17 -293
  230. package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
  231. package/dist/src/testing/MultiLLMProvider.helpers.d.ts +54 -0
  232. package/dist/src/testing/MultiLLMProvider.helpers.d.ts.map +1 -0
  233. package/dist/src/testing/MultiLLMProvider.helpers.js +126 -0
  234. package/dist/src/testing/MultiLLMProvider.helpers.js.map +1 -0
  235. package/dist/src/testing/MultiLLMProvider.js +50 -323
  236. package/dist/src/testing/MultiLLMProvider.js.map +1 -1
  237. package/dist/src/testing/MultiLLMProvider.types.d.ts +253 -0
  238. package/dist/src/testing/MultiLLMProvider.types.d.ts.map +1 -0
  239. package/dist/src/testing/MultiLLMProvider.types.js +111 -0
  240. package/dist/src/testing/MultiLLMProvider.types.js.map +1 -0
  241. package/dist/src/triggers/__tests__/TriggerDetector.test.js +1 -1
  242. package/dist/src/triggers/__tests__/TriggerDetector.test.js.map +1 -1
  243. package/dist/src/types/skill.d.ts +29 -0
  244. package/dist/src/types/skill.d.ts.map +1 -1
  245. package/dist/src/types/skill.js +11 -1
  246. package/dist/src/types/skill.js.map +1 -1
  247. package/dist/src/types.d.ts +22 -0
  248. package/dist/src/types.d.ts.map +1 -1
  249. package/dist/src/utils/retry.js +2 -2
  250. package/dist/src/utils/retry.js.map +1 -1
  251. package/dist/src/validation/index.js +2 -2
  252. package/dist/src/validation/index.js.map +1 -1
  253. package/dist/src/webhooks/WebhookHandler.d.ts.map +1 -1
  254. package/dist/src/webhooks/WebhookHandler.js.map +1 -1
  255. package/dist/src/webhooks/WebhookPayload.js +1 -1
  256. package/dist/src/webhooks/WebhookPayload.js.map +1 -1
  257. package/dist/tests/Analytics.integration.test.js +2 -2
  258. package/dist/tests/Analytics.integration.test.js.map +1 -1
  259. package/dist/tests/AnalyticsRepository.test.js +3 -5
  260. package/dist/tests/AnalyticsRepository.test.js.map +1 -1
  261. package/dist/tests/AnalyticsStorage.test.js.map +1 -1
  262. package/dist/tests/ApiPartialResponses.test.d.ts +12 -0
  263. package/dist/tests/ApiPartialResponses.test.d.ts.map +1 -0
  264. package/dist/tests/ApiPartialResponses.test.js +202 -0
  265. package/dist/tests/ApiPartialResponses.test.js.map +1 -0
  266. package/dist/tests/AuditLogger.test.js.map +1 -1
  267. package/dist/tests/BenchmarkRunner.test.js +6 -6
  268. package/dist/tests/BenchmarkRunner.test.js.map +1 -1
  269. package/dist/tests/CacheSecurity.test.js.map +1 -1
  270. package/dist/tests/CodebaseAnalyzer.test.js.map +1 -1
  271. package/dist/tests/DailyIndexPipeline.test.js.map +1 -1
  272. package/dist/tests/EmbeddingService.test.js.map +1 -1
  273. package/dist/tests/GitHubIndexer.test.js +4 -3
  274. package/dist/tests/GitHubIndexer.test.js.map +1 -1
  275. package/dist/tests/MemoryProfiler.test.js +3 -3
  276. package/dist/tests/MemoryProfiler.test.js.map +1 -1
  277. package/dist/tests/QualityScorer.test.js.map +1 -1
  278. package/dist/tests/RateLimiter.test.js.map +1 -1
  279. package/dist/tests/ScraperAdapters.test.js.map +1 -1
  280. package/dist/tests/SecurityScanner.test.js +4 -4
  281. package/dist/tests/SecurityScanner.test.js.map +1 -1
  282. package/dist/tests/SessionManager.security.test.js +1 -1
  283. package/dist/tests/SessionManager.security.test.js.map +1 -1
  284. package/dist/tests/SessionManager.test.js +4 -4
  285. package/dist/tests/SessionManager.test.js.map +1 -1
  286. package/dist/tests/SwarmIndexer.test.js +1 -1
  287. package/dist/tests/SwarmIndexer.test.js.map +1 -1
  288. package/dist/tests/TieredCache.test.js +2 -11
  289. package/dist/tests/TieredCache.test.js.map +1 -1
  290. package/dist/tests/WebhookHandler.test.js.map +1 -1
  291. package/dist/tests/fixtures/api-responses/index.d.ts +119 -0
  292. package/dist/tests/fixtures/api-responses/index.d.ts.map +1 -0
  293. package/dist/tests/fixtures/api-responses/index.js +419 -0
  294. package/dist/tests/fixtures/api-responses/index.js.map +1 -0
  295. package/dist/tests/logger.test.js +1 -1
  296. package/dist/tests/logger.test.js.map +1 -1
  297. package/dist/tests/performance/LargeScalePerformance.test.js +1 -1
  298. package/dist/tests/performance/LargeScalePerformance.test.js.map +1 -1
  299. package/dist/tests/sanitization.test.js.map +1 -1
  300. package/dist/tests/session/SessionManager.helpers.test.d.ts +8 -0
  301. package/dist/tests/session/SessionManager.helpers.test.d.ts.map +1 -0
  302. package/dist/tests/session/SessionManager.helpers.test.js +105 -0
  303. package/dist/tests/session/SessionManager.helpers.test.js.map +1 -0
  304. package/dist/tests/sources.test.js.map +1 -1
  305. package/dist/tests/webhooks/WebhookHandler.idempotency.test.js +1 -1
  306. package/dist/tests/webhooks/WebhookHandler.idempotency.test.js.map +1 -1
  307. package/dist/tests/webhooks/WebhookPayload.security.test.js.map +1 -1
  308. package/package.json +9 -9
@@ -9,121 +9,13 @@
9
9
  * - Memory usage (gauge)
10
10
  * - Error counts by type (counter)
11
11
  *
12
- * Configuration:
13
- * - SKILLSMITH_TELEMETRY_ENABLED: Master switch for all telemetry (default: auto)
14
- * - SKILLSMITH_ANALYSIS_METRICS_ENABLED: Enable/disable analysis metrics (default: true)
15
- *
16
- * Graceful Fallback:
17
- * - If OpenTelemetry packages are not installed, uses in-memory implementations
18
- * - Metrics APIs remain functional for local statistics
19
- *
20
12
  * @see docs/architecture/multi-language-analysis.md
21
13
  * @module analysis/metrics
22
14
  */
23
- import type { Counter, Histogram, Gauge, MetricLabels } from '../telemetry/metrics.js';
24
15
  import type { SupportedLanguage } from './types.js';
25
- /**
26
- * Analysis metrics configuration
27
- */
28
- export interface AnalysisMetricsConfig {
29
- /** Whether to enable metrics collection (default: true) */
30
- enabled?: boolean;
31
- /** Prefix for all metric names (default: skillsmith.analysis) */
32
- metricPrefix?: string;
33
- }
34
- /**
35
- * In-memory counter implementation
36
- */
37
- declare class InMemoryCounter implements Counter {
38
- private values;
39
- add(value: number, labels?: MetricLabels): void;
40
- increment(labels?: MetricLabels): void;
41
- getValues(): Map<string, number>;
42
- getTotal(): number;
43
- reset(): void;
44
- }
45
- /**
46
- * In-memory histogram implementation
47
- */
48
- declare class InMemoryHistogram implements Histogram {
49
- private values;
50
- private labeledValues;
51
- record(value: number, labels?: MetricLabels): void;
52
- getStats(): {
53
- count: number;
54
- sum: number;
55
- mean: number;
56
- p50: number;
57
- p95: number;
58
- p99: number;
59
- };
60
- getStatsByLabel(labels: MetricLabels): ReturnType<typeof this.getStats>;
61
- reset(): void;
62
- }
63
- /**
64
- * In-memory gauge implementation
65
- */
66
- declare class InMemoryGauge implements Gauge {
67
- private values;
68
- set(value: number, labels?: MetricLabels): void;
69
- getValue(labels?: MetricLabels): number;
70
- getAllValues(): Map<string, number>;
71
- reset(): void;
72
- }
73
- /**
74
- * Analysis metrics snapshot for export
75
- */
76
- export interface AnalysisMetricsSnapshot {
77
- timestamp: string;
78
- filesParsed: {
79
- total: number;
80
- byLanguage: Record<string, number>;
81
- };
82
- parseDuration: {
83
- stats: {
84
- count: number;
85
- sum: number;
86
- mean: number;
87
- p50: number;
88
- p95: number;
89
- p99: number;
90
- };
91
- byLanguage: Record<string, {
92
- count: number;
93
- sum: number;
94
- mean: number;
95
- p50: number;
96
- p95: number;
97
- p99: number;
98
- }>;
99
- };
100
- cache: {
101
- hits: number;
102
- misses: number;
103
- hitRate: number;
104
- size: number;
105
- };
106
- workerPool: {
107
- activeWorkers: number;
108
- queuedTasks: number;
109
- utilization: number;
110
- };
111
- memory: {
112
- heapUsed: number;
113
- heapTotal: number;
114
- rss: number;
115
- };
116
- errors: {
117
- total: number;
118
- byType: Record<string, number>;
119
- };
120
- aggregator: {
121
- filesProcessed: number;
122
- totalImports: number;
123
- totalExports: number;
124
- totalFunctions: number;
125
- };
126
- }
16
+ import type { AnalysisMetricsConfig, AnalysisMetricsSnapshot } from './metrics.types.js';
17
+ import { InMemoryCounter, InMemoryHistogram, InMemoryGauge } from './metrics.implementations.js';
18
+ export type { AnalysisMetricsConfig, AnalysisMetricsSnapshot } from './metrics.types.js';
127
19
  /**
128
20
  * Analysis Pipeline Metrics Collector
129
21
  *
@@ -169,132 +61,43 @@ export declare class AnalysisMetrics {
169
61
  readonly aggregatorExports: InMemoryGauge;
170
62
  readonly aggregatorFunctions: InMemoryGauge;
171
63
  constructor(config?: AnalysisMetricsConfig);
172
- /**
173
- * Check if metrics collection is enabled
174
- */
64
+ /** Check if metrics collection is enabled */
175
65
  isEnabled(): boolean;
176
- /**
177
- * Record a file being parsed
178
- *
179
- * @param language - The language of the parsed file
180
- */
66
+ /** Record a file being parsed */
181
67
  recordFileParsed(language: SupportedLanguage | string): void;
182
- /**
183
- * Record parse duration for a file
184
- *
185
- * @param language - The language of the parsed file
186
- * @param durationMs - Parse duration in milliseconds
187
- */
68
+ /** Record parse duration for a file */
188
69
  recordParseDuration(language: SupportedLanguage | string, durationMs: number): void;
189
- /**
190
- * Record a cache hit
191
- *
192
- * @param language - Optional language for the cache hit
193
- */
70
+ /** Record a cache hit */
194
71
  recordCacheHit(language?: SupportedLanguage | string): void;
195
- /**
196
- * Record a cache miss
197
- *
198
- * @param language - Optional language for the cache miss
199
- */
72
+ /** Record a cache miss */
200
73
  recordCacheMiss(language?: SupportedLanguage | string): void;
201
- /**
202
- * Update cache size
203
- *
204
- * @param size - Current cache size in bytes
205
- * @param entries - Current number of cache entries
206
- */
74
+ /** Update cache size */
207
75
  updateCacheSize(size: number, entries?: number): void;
208
- /**
209
- * Update worker pool metrics
210
- *
211
- * @param activeWorkers - Number of currently active workers
212
- * @param queuedTasks - Number of tasks waiting in queue
213
- * @param poolSize - Total pool size for utilization calculation
214
- */
76
+ /** Update worker pool metrics */
215
77
  updateWorkerPool(activeWorkers: number, queuedTasks: number, poolSize?: number): void;
216
- /**
217
- * Update memory usage metrics
218
- *
219
- * Records current Node.js memory usage stats.
220
- */
78
+ /** Update memory usage metrics */
221
79
  updateMemoryUsage(): void;
222
- /**
223
- * Record an error
224
- *
225
- * @param errorType - Type/category of the error
226
- * @param language - Optional language context
227
- */
80
+ /** Record an error */
228
81
  recordError(errorType: string, language?: SupportedLanguage | string): void;
229
- /**
230
- * Update aggregator metrics
231
- *
232
- * @param filesProcessed - Number of files processed
233
- * @param imports - Total imports found
234
- * @param exports - Total exports found
235
- * @param functions - Total functions found
236
- */
82
+ /** Update aggregator metrics */
237
83
  updateAggregatorStats(filesProcessed: number, imports: number, exports: number, functions: number): void;
238
- /**
239
- * Get cache hit rate
240
- *
241
- * @returns Cache hit rate as a decimal (0-1)
242
- */
84
+ /** Get cache hit rate */
243
85
  getCacheHitRate(): number;
244
- /**
245
- * Get files parsed by language
246
- *
247
- * @returns Map of language to count
248
- */
86
+ /** Get files parsed by language */
249
87
  getFilesByLanguage(): Record<string, number>;
250
- /**
251
- * Get parse duration stats by language
252
- *
253
- * @param language - Language to get stats for
254
- * @returns Duration statistics
255
- */
88
+ /** Get parse duration stats by language */
256
89
  getParseDurationByLanguage(language: SupportedLanguage | string): ReturnType<InMemoryHistogram['getStats']>;
257
- /**
258
- * Get complete metrics snapshot
259
- *
260
- * @returns Snapshot of all current metrics
261
- */
90
+ /** Get complete metrics snapshot */
262
91
  getSnapshot(): AnalysisMetricsSnapshot;
263
- /**
264
- * Reset all metrics
265
- */
92
+ /** Reset all metrics */
266
93
  reset(): void;
267
94
  }
268
- /**
269
- * Get the default analysis metrics instance
270
- *
271
- * @returns The shared AnalysisMetrics instance
272
- */
95
+ /** Get the default analysis metrics instance */
273
96
  export declare function getAnalysisMetrics(): AnalysisMetrics;
274
- /**
275
- * Initialize the default analysis metrics instance
276
- *
277
- * @param config - Optional configuration
278
- * @returns The initialized AnalysisMetrics instance
279
- */
97
+ /** Initialize the default analysis metrics instance */
280
98
  export declare function initializeAnalysisMetrics(config?: AnalysisMetricsConfig): AnalysisMetrics;
281
- /**
282
- * Helper: Time an async operation and record to analysis metrics
283
- *
284
- * @param language - Language being parsed
285
- * @param fn - Async function to time
286
- * @param metrics - Optional metrics instance (uses default if not provided)
287
- * @returns Result of the function
288
- */
99
+ /** Helper: Time an async operation and record to analysis metrics */
289
100
  export declare function timeParseAsync<T>(language: SupportedLanguage | string, fn: () => Promise<T>, metrics?: AnalysisMetrics): Promise<T>;
290
- /**
291
- * Helper: Time a sync operation and record to analysis metrics
292
- *
293
- * @param language - Language being parsed
294
- * @param fn - Function to time
295
- * @param metrics - Optional metrics instance (uses default if not provided)
296
- * @returns Result of the function
297
- */
101
+ /** Helper: Time a sync operation and record to analysis metrics */
298
102
  export declare function timeParseSync<T>(language: SupportedLanguage | string, fn: () => T, metrics?: AnalysisMetrics): T;
299
- export {};
300
103
  //# sourceMappingURL=metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/analysis/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/analysis/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * In-Memory Metrics Implementations
3
+ * @module analysis/metrics.implementations
4
+ */
5
+ import type { Counter, Histogram, Gauge, MetricLabels } from '../telemetry/metrics.js';
6
+ import type { HistogramStats } from './metrics.types.js';
7
+ /**
8
+ * In-memory counter implementation
9
+ */
10
+ export declare class InMemoryCounter implements Counter {
11
+ private values;
12
+ add(value: number, labels?: MetricLabels): void;
13
+ increment(labels?: MetricLabels): void;
14
+ getValues(): Map<string, number>;
15
+ getTotal(): number;
16
+ reset(): void;
17
+ }
18
+ /**
19
+ * In-memory histogram implementation
20
+ */
21
+ export declare class InMemoryHistogram implements Histogram {
22
+ private values;
23
+ private labeledValues;
24
+ record(value: number, labels?: MetricLabels): void;
25
+ getStats(): HistogramStats;
26
+ getStatsByLabel(labels: MetricLabels): HistogramStats;
27
+ reset(): void;
28
+ }
29
+ /**
30
+ * In-memory gauge implementation
31
+ */
32
+ export declare class InMemoryGauge implements Gauge {
33
+ private values;
34
+ set(value: number, labels?: MetricLabels): void;
35
+ getValue(labels?: MetricLabels): number;
36
+ getAllValues(): Map<string, number>;
37
+ reset(): void;
38
+ }
39
+ //# sourceMappingURL=metrics.implementations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.implementations.d.ts","sourceRoot":"","sources":["../../../src/analysis/metrics.implementations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD;;GAEG;AACH,qBAAa,eAAgB,YAAW,OAAO;IAC7C,OAAO,CAAC,MAAM,CAA4B;IAE1C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAM/C,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAItC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIhC,QAAQ,IAAI,MAAM;IAQlB,KAAK,IAAI,IAAI;CAGd;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAA8B;IAEnD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAUlD,QAAQ,IAAI,cAAc;IAwB1B,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc;IA2BrD,KAAK,IAAI,IAAI;CAId;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,KAAK;IACzC,OAAO,CAAC,MAAM,CAA4B;IAE1C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAK/C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM;IAKvC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAInC,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * In-Memory Metrics Implementations
3
+ * @module analysis/metrics.implementations
4
+ */
5
+ /**
6
+ * In-memory counter implementation
7
+ */
8
+ export class InMemoryCounter {
9
+ values = new Map();
10
+ add(value, labels) {
11
+ const key = labels ? JSON.stringify(labels) : '';
12
+ const current = this.values.get(key) ?? 0;
13
+ this.values.set(key, current + value);
14
+ }
15
+ increment(labels) {
16
+ this.add(1, labels);
17
+ }
18
+ getValues() {
19
+ return new Map(this.values);
20
+ }
21
+ getTotal() {
22
+ let total = 0;
23
+ for (const count of this.values.values()) {
24
+ total += count;
25
+ }
26
+ return total;
27
+ }
28
+ reset() {
29
+ this.values.clear();
30
+ }
31
+ }
32
+ /**
33
+ * In-memory histogram implementation
34
+ */
35
+ export class InMemoryHistogram {
36
+ values = [];
37
+ labeledValues = new Map();
38
+ record(value, labels) {
39
+ this.values.push(value);
40
+ if (labels) {
41
+ const key = JSON.stringify(labels);
42
+ const arr = this.labeledValues.get(key) ?? [];
43
+ arr.push(value);
44
+ this.labeledValues.set(key, arr);
45
+ }
46
+ }
47
+ getStats() {
48
+ if (this.values.length === 0) {
49
+ return { count: 0, sum: 0, mean: 0, p50: 0, p95: 0, p99: 0 };
50
+ }
51
+ const sorted = [...this.values].sort((a, b) => a - b);
52
+ const sum = sorted.reduce((acc, v) => acc + v, 0);
53
+ const mean = sum / sorted.length;
54
+ const percentile = (p) => {
55
+ const index = Math.ceil((p / 100) * sorted.length) - 1;
56
+ return sorted[Math.max(0, index)];
57
+ };
58
+ return {
59
+ count: sorted.length,
60
+ sum,
61
+ mean,
62
+ p50: percentile(50),
63
+ p95: percentile(95),
64
+ p99: percentile(99),
65
+ };
66
+ }
67
+ getStatsByLabel(labels) {
68
+ const key = JSON.stringify(labels);
69
+ const values = this.labeledValues.get(key) ?? [];
70
+ if (values.length === 0) {
71
+ return { count: 0, sum: 0, mean: 0, p50: 0, p95: 0, p99: 0 };
72
+ }
73
+ const sorted = [...values].sort((a, b) => a - b);
74
+ const sum = sorted.reduce((acc, v) => acc + v, 0);
75
+ const mean = sum / sorted.length;
76
+ const percentile = (p) => {
77
+ const index = Math.ceil((p / 100) * sorted.length) - 1;
78
+ return sorted[Math.max(0, index)];
79
+ };
80
+ return {
81
+ count: sorted.length,
82
+ sum,
83
+ mean,
84
+ p50: percentile(50),
85
+ p95: percentile(95),
86
+ p99: percentile(99),
87
+ };
88
+ }
89
+ reset() {
90
+ this.values = [];
91
+ this.labeledValues.clear();
92
+ }
93
+ }
94
+ /**
95
+ * In-memory gauge implementation
96
+ */
97
+ export class InMemoryGauge {
98
+ values = new Map();
99
+ set(value, labels) {
100
+ const key = labels ? JSON.stringify(labels) : '';
101
+ this.values.set(key, value);
102
+ }
103
+ getValue(labels) {
104
+ const key = labels ? JSON.stringify(labels) : '';
105
+ return this.values.get(key) ?? 0;
106
+ }
107
+ getAllValues() {
108
+ return new Map(this.values);
109
+ }
110
+ reset() {
111
+ this.values.clear();
112
+ }
113
+ }
114
+ //# sourceMappingURL=metrics.implementations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.implementations.js","sourceRoot":"","sources":["../../../src/analysis/metrics.implementations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE1C,GAAG,CAAC,KAAa,EAAE,MAAqB;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,SAAS,CAAC,MAAqB;QAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACrB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ;QACN,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,KAAK,IAAI,KAAK,CAAA;QAChB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,GAAa,EAAE,CAAA;IACrB,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAA;IAEnD,MAAM,CAAC,KAAa,EAAE,MAAqB;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACf,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAA;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACrD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;QAEhC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,GAAG;YACH,IAAI;YACJ,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;YACnB,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;YACnB,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;SACpB,CAAA;IACH,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAEhD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAA;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;QAEhC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,GAAG;YACH,IAAI;YACJ,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;YACnB,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;YACnB,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;SACpB,CAAA;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE1C,GAAG,CAAC,KAAa,EAAE,MAAqB;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ,CAAC,MAAqB;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF"}