mcp-adr-analysis-server 2.1.11 → 2.1.20

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 (362) hide show
  1. package/README.md +55 -8
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/index.d.ts +69 -2
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +1638 -551
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/prompts/index.d.ts.map +1 -1
  8. package/dist/src/prompts/index.js +23 -6
  9. package/dist/src/prompts/index.js.map +1 -1
  10. package/dist/src/prompts/validated-pattern-prompts.d.ts +33 -0
  11. package/dist/src/prompts/validated-pattern-prompts.d.ts.map +1 -0
  12. package/dist/src/prompts/validated-pattern-prompts.js +337 -0
  13. package/dist/src/prompts/validated-pattern-prompts.js.map +1 -0
  14. package/dist/src/resources/adr-by-id-resource.d.ts +116 -0
  15. package/dist/src/resources/adr-by-id-resource.d.ts.map +1 -0
  16. package/dist/src/resources/adr-by-id-resource.js +213 -0
  17. package/dist/src/resources/adr-by-id-resource.js.map +1 -0
  18. package/dist/src/resources/code-quality-resource.d.ts +105 -0
  19. package/dist/src/resources/code-quality-resource.d.ts.map +1 -0
  20. package/dist/src/resources/code-quality-resource.js +282 -0
  21. package/dist/src/resources/code-quality-resource.js.map +1 -0
  22. package/dist/src/resources/deployment-history-resource.d.ts +214 -0
  23. package/dist/src/resources/deployment-history-resource.d.ts.map +1 -0
  24. package/dist/src/resources/deployment-history-resource.js +308 -0
  25. package/dist/src/resources/deployment-history-resource.js.map +1 -0
  26. package/dist/src/resources/deployment-status-resource.d.ts +256 -0
  27. package/dist/src/resources/deployment-status-resource.d.ts.map +1 -0
  28. package/dist/src/resources/deployment-status-resource.js +665 -0
  29. package/dist/src/resources/deployment-status-resource.js.map +1 -0
  30. package/dist/src/resources/environment-analysis-resource.d.ts +237 -0
  31. package/dist/src/resources/environment-analysis-resource.d.ts.map +1 -0
  32. package/dist/src/resources/environment-analysis-resource.js +646 -0
  33. package/dist/src/resources/environment-analysis-resource.js.map +1 -0
  34. package/dist/src/resources/index.d.ts +6 -2
  35. package/dist/src/resources/index.d.ts.map +1 -1
  36. package/dist/src/resources/index.js +247 -492
  37. package/dist/src/resources/index.js.map +1 -1
  38. package/dist/src/resources/memory-snapshots-resource.d.ts +180 -0
  39. package/dist/src/resources/memory-snapshots-resource.d.ts.map +1 -0
  40. package/dist/src/resources/memory-snapshots-resource.js +847 -0
  41. package/dist/src/resources/memory-snapshots-resource.js.map +1 -0
  42. package/dist/src/resources/pattern-base-code-by-platform-resource.d.ts +35 -0
  43. package/dist/src/resources/pattern-base-code-by-platform-resource.d.ts.map +1 -0
  44. package/dist/src/resources/pattern-base-code-by-platform-resource.js +72 -0
  45. package/dist/src/resources/pattern-base-code-by-platform-resource.js.map +1 -0
  46. package/dist/src/resources/pattern-by-name-resource.d.ts +53 -0
  47. package/dist/src/resources/pattern-by-name-resource.d.ts.map +1 -0
  48. package/dist/src/resources/pattern-by-name-resource.js +200 -0
  49. package/dist/src/resources/pattern-by-name-resource.js.map +1 -0
  50. package/dist/src/resources/pattern-sources-by-platform-resource.d.ts +26 -0
  51. package/dist/src/resources/pattern-sources-by-platform-resource.d.ts.map +1 -0
  52. package/dist/src/resources/pattern-sources-by-platform-resource.js +59 -0
  53. package/dist/src/resources/pattern-sources-by-platform-resource.js.map +1 -0
  54. package/dist/src/resources/project-metrics-resource.d.ts +180 -0
  55. package/dist/src/resources/project-metrics-resource.d.ts.map +1 -0
  56. package/dist/src/resources/project-metrics-resource.js +487 -0
  57. package/dist/src/resources/project-metrics-resource.js.map +1 -0
  58. package/dist/src/resources/project-status-resource.d.ts +75 -0
  59. package/dist/src/resources/project-status-resource.d.ts.map +1 -0
  60. package/dist/src/resources/project-status-resource.js +189 -0
  61. package/dist/src/resources/project-status-resource.js.map +1 -0
  62. package/dist/src/resources/research-by-topic-resource.d.ts +21 -0
  63. package/dist/src/resources/research-by-topic-resource.d.ts.map +1 -0
  64. package/dist/src/resources/research-by-topic-resource.js +125 -0
  65. package/dist/src/resources/research-by-topic-resource.js.map +1 -0
  66. package/dist/src/resources/research-index-resource.d.ts +100 -0
  67. package/dist/src/resources/research-index-resource.d.ts.map +1 -0
  68. package/dist/src/resources/research-index-resource.js +200 -0
  69. package/dist/src/resources/research-index-resource.js.map +1 -0
  70. package/dist/src/resources/resource-cache.d.ts +144 -0
  71. package/dist/src/resources/resource-cache.d.ts.map +1 -0
  72. package/dist/src/resources/resource-cache.js +316 -0
  73. package/dist/src/resources/resource-cache.js.map +1 -0
  74. package/dist/src/resources/resource-router.d.ts +45 -0
  75. package/dist/src/resources/resource-router.d.ts.map +1 -0
  76. package/dist/src/resources/resource-router.js +96 -0
  77. package/dist/src/resources/resource-router.js.map +1 -0
  78. package/dist/src/resources/rule-by-id-resource.d.ts +38 -0
  79. package/dist/src/resources/rule-by-id-resource.d.ts.map +1 -0
  80. package/dist/src/resources/rule-by-id-resource.js +104 -0
  81. package/dist/src/resources/rule-by-id-resource.js.map +1 -0
  82. package/dist/src/resources/rule-catalog-resource.d.ts +126 -0
  83. package/dist/src/resources/rule-catalog-resource.d.ts.map +1 -0
  84. package/dist/src/resources/rule-catalog-resource.js +224 -0
  85. package/dist/src/resources/rule-catalog-resource.js.map +1 -0
  86. package/dist/src/resources/rule-generation-resource.d.ts +80 -0
  87. package/dist/src/resources/rule-generation-resource.d.ts.map +1 -0
  88. package/dist/src/resources/rule-generation-resource.js +282 -0
  89. package/dist/src/resources/rule-generation-resource.js.map +1 -0
  90. package/dist/src/resources/technology-by-name-resource.d.ts +43 -0
  91. package/dist/src/resources/technology-by-name-resource.d.ts.map +1 -0
  92. package/dist/src/resources/technology-by-name-resource.js +176 -0
  93. package/dist/src/resources/technology-by-name-resource.js.map +1 -0
  94. package/dist/src/resources/todo-by-id-resource.d.ts +46 -0
  95. package/dist/src/resources/todo-by-id-resource.d.ts.map +1 -0
  96. package/dist/src/resources/todo-by-id-resource.js +192 -0
  97. package/dist/src/resources/todo-by-id-resource.js.map +1 -0
  98. package/dist/src/resources/todo-list-resource.d.ts +96 -0
  99. package/dist/src/resources/todo-list-resource.d.ts.map +1 -0
  100. package/dist/src/resources/todo-list-resource.js +209 -0
  101. package/dist/src/resources/todo-list-resource.js.map +1 -0
  102. package/dist/src/resources/validated-pattern-by-platform-resource.d.ts +14 -0
  103. package/dist/src/resources/validated-pattern-by-platform-resource.d.ts.map +1 -0
  104. package/dist/src/resources/validated-pattern-by-platform-resource.js +45 -0
  105. package/dist/src/resources/validated-pattern-by-platform-resource.js.map +1 -0
  106. package/dist/src/resources/validated-patterns-catalog-resource.d.ts +36 -0
  107. package/dist/src/resources/validated-patterns-catalog-resource.d.ts.map +1 -0
  108. package/dist/src/resources/validated-patterns-catalog-resource.js +57 -0
  109. package/dist/src/resources/validated-patterns-catalog-resource.js.map +1 -0
  110. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -1
  111. package/dist/src/tools/adr-bootstrap-validation-tool.js +214 -4
  112. package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -1
  113. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  114. package/dist/src/tools/adr-suggestion-tool.js +4 -1
  115. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  116. package/dist/src/tools/adr-validation-tool.d.ts +52 -0
  117. package/dist/src/tools/adr-validation-tool.d.ts.map +1 -1
  118. package/dist/src/tools/adr-validation-tool.js +52 -0
  119. package/dist/src/tools/adr-validation-tool.js.map +1 -1
  120. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts +262 -0
  121. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts.map +1 -0
  122. package/dist/src/tools/bootstrap-validation-loop-tool.js +1934 -0
  123. package/dist/src/tools/bootstrap-validation-loop-tool.js.map +1 -0
  124. package/dist/src/tools/conversation-memory-tool.d.ts +48 -0
  125. package/dist/src/tools/conversation-memory-tool.d.ts.map +1 -0
  126. package/dist/src/tools/conversation-memory-tool.js +254 -0
  127. package/dist/src/tools/conversation-memory-tool.js.map +1 -0
  128. package/dist/src/tools/deployment-analysis-tool.d.ts.map +1 -1
  129. package/dist/src/tools/deployment-analysis-tool.js +47 -5
  130. package/dist/src/tools/deployment-analysis-tool.js.map +1 -1
  131. package/dist/src/tools/deployment-guidance-tool.d.ts.map +1 -1
  132. package/dist/src/tools/deployment-guidance-tool.js +48 -1
  133. package/dist/src/tools/deployment-guidance-tool.js.map +1 -1
  134. package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
  135. package/dist/src/tools/deployment-readiness-tool.js +15 -1
  136. package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
  137. package/dist/src/tools/expand-analysis-tool.d.ts +23 -0
  138. package/dist/src/tools/expand-analysis-tool.d.ts.map +1 -0
  139. package/dist/src/tools/expand-analysis-tool.js +107 -0
  140. package/dist/src/tools/expand-analysis-tool.js.map +1 -0
  141. package/dist/src/tools/get-server-context-tool.d.ts +67 -0
  142. package/dist/src/tools/get-server-context-tool.d.ts.map +1 -0
  143. package/dist/src/tools/get-server-context-tool.js +75 -0
  144. package/dist/src/tools/get-server-context-tool.js.map +1 -0
  145. package/dist/src/tools/llm-cloud-management-tool.d.ts +62 -0
  146. package/dist/src/tools/llm-cloud-management-tool.d.ts.map +1 -0
  147. package/dist/src/tools/llm-cloud-management-tool.js +202 -0
  148. package/dist/src/tools/llm-cloud-management-tool.js.map +1 -0
  149. package/dist/src/tools/llm-database-management-tool.d.ts +62 -0
  150. package/dist/src/tools/llm-database-management-tool.d.ts.map +1 -0
  151. package/dist/src/tools/llm-database-management-tool.js +203 -0
  152. package/dist/src/tools/llm-database-management-tool.js.map +1 -0
  153. package/dist/src/tools/llm-web-search-tool.d.ts +59 -0
  154. package/dist/src/tools/llm-web-search-tool.d.ts.map +1 -0
  155. package/dist/src/tools/llm-web-search-tool.js +165 -0
  156. package/dist/src/tools/llm-web-search-tool.js.map +1 -0
  157. package/dist/src/tools/mcp-planning-tool.d.ts.map +1 -1
  158. package/dist/src/tools/mcp-planning-tool.js +10 -3
  159. package/dist/src/tools/mcp-planning-tool.js.map +1 -1
  160. package/dist/src/tools/memory-loading-tool.d.ts.map +1 -1
  161. package/dist/src/tools/memory-loading-tool.js +4 -2
  162. package/dist/src/tools/memory-loading-tool.js.map +1 -1
  163. package/dist/src/tools/perform-research-tool.d.ts +45 -1
  164. package/dist/src/tools/perform-research-tool.d.ts.map +1 -1
  165. package/dist/src/tools/perform-research-tool.js +146 -2
  166. package/dist/src/tools/perform-research-tool.js.map +1 -1
  167. package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -1
  168. package/dist/src/tools/review-existing-adrs-tool.js +4 -1
  169. package/dist/src/tools/review-existing-adrs-tool.js.map +1 -1
  170. package/dist/src/tools/tool-chain-orchestrator.d.ts +15 -94
  171. package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
  172. package/dist/src/tools/tool-chain-orchestrator.js +2 -2
  173. package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
  174. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +25 -120
  175. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
  176. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +2 -2
  177. package/dist/src/types/ape-framework.d.ts +50 -283
  178. package/dist/src/types/ape-framework.d.ts.map +1 -1
  179. package/dist/src/types/conversation-memory.d.ts +184 -0
  180. package/dist/src/types/conversation-memory.d.ts.map +1 -0
  181. package/dist/src/types/conversation-memory.js +8 -0
  182. package/dist/src/types/conversation-memory.js.map +1 -0
  183. package/dist/src/types/index.d.ts +112 -339
  184. package/dist/src/types/index.d.ts.map +1 -1
  185. package/dist/src/types/knowledge-generation.d.ts +96 -401
  186. package/dist/src/types/knowledge-generation.d.ts.map +1 -1
  187. package/dist/src/types/knowledge-graph-schemas.d.ts +77 -715
  188. package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -1
  189. package/dist/src/types/knowledge-graph-schemas.js +8 -8
  190. package/dist/src/types/knowledge-graph-schemas.js.map +1 -1
  191. package/dist/src/types/memory-entities.d.ts +1230 -6164
  192. package/dist/src/types/memory-entities.d.ts.map +1 -1
  193. package/dist/src/types/memory-entities.js +8 -8
  194. package/dist/src/types/memory-entities.js.map +1 -1
  195. package/dist/src/types/reflexion-framework.d.ts +35 -264
  196. package/dist/src/types/reflexion-framework.d.ts.map +1 -1
  197. package/dist/src/types/reflexion-framework.js +1 -1
  198. package/dist/src/types/reflexion-framework.js.map +1 -1
  199. package/dist/src/types/state-reinforcement.d.ts +87 -0
  200. package/dist/src/types/state-reinforcement.d.ts.map +1 -0
  201. package/dist/src/types/state-reinforcement.js +5 -0
  202. package/dist/src/types/state-reinforcement.js.map +1 -0
  203. package/dist/src/types/tiered-response.d.ts +61 -0
  204. package/dist/src/types/tiered-response.d.ts.map +1 -0
  205. package/dist/src/types/tiered-response.js +8 -0
  206. package/dist/src/types/tiered-response.js.map +1 -0
  207. package/dist/src/types/tool-context.d.ts +50 -0
  208. package/dist/src/types/tool-context.d.ts.map +1 -0
  209. package/dist/src/types/tool-context.js +20 -0
  210. package/dist/src/types/tool-context.js.map +1 -0
  211. package/dist/src/utils/adr-action-analyzer.d.ts +23 -0
  212. package/dist/src/utils/adr-action-analyzer.d.ts.map +1 -0
  213. package/dist/src/utils/adr-action-analyzer.js +323 -0
  214. package/dist/src/utils/adr-action-analyzer.js.map +1 -0
  215. package/dist/src/utils/adr-context-detector.d.ts +33 -0
  216. package/dist/src/utils/adr-context-detector.d.ts.map +1 -0
  217. package/dist/src/utils/adr-context-detector.js +279 -0
  218. package/dist/src/utils/adr-context-detector.js.map +1 -0
  219. package/dist/src/utils/adr-discovery.d.ts +28 -2
  220. package/dist/src/utils/adr-discovery.d.ts.map +1 -1
  221. package/dist/src/utils/adr-discovery.js +91 -7
  222. package/dist/src/utils/adr-discovery.js.map +1 -1
  223. package/dist/src/utils/adr-knowledge-initializer.d.ts +54 -0
  224. package/dist/src/utils/adr-knowledge-initializer.d.ts.map +1 -0
  225. package/dist/src/utils/adr-knowledge-initializer.js +240 -0
  226. package/dist/src/utils/adr-knowledge-initializer.js.map +1 -0
  227. package/dist/src/utils/adr-timeline-extractor.d.ts +21 -0
  228. package/dist/src/utils/adr-timeline-extractor.d.ts.map +1 -0
  229. package/dist/src/utils/adr-timeline-extractor.js +294 -0
  230. package/dist/src/utils/adr-timeline-extractor.js.map +1 -0
  231. package/dist/src/utils/adr-timeline-types.d.ts +234 -0
  232. package/dist/src/utils/adr-timeline-types.d.ts.map +1 -0
  233. package/dist/src/utils/adr-timeline-types.js +7 -0
  234. package/dist/src/utils/adr-timeline-types.js.map +1 -0
  235. package/dist/src/utils/ai-executor.d.ts +36 -0
  236. package/dist/src/utils/ai-executor.d.ts.map +1 -1
  237. package/dist/src/utils/ai-executor.js +36 -0
  238. package/dist/src/utils/ai-executor.js.map +1 -1
  239. package/dist/src/utils/conditional-request.d.ts +105 -0
  240. package/dist/src/utils/conditional-request.d.ts.map +1 -0
  241. package/dist/src/utils/conditional-request.js +186 -0
  242. package/dist/src/utils/conditional-request.js.map +1 -0
  243. package/dist/src/utils/config.d.ts +72 -18
  244. package/dist/src/utils/config.d.ts.map +1 -1
  245. package/dist/src/utils/config.js +75 -0
  246. package/dist/src/utils/config.js.map +1 -1
  247. package/dist/src/utils/context-document-manager.d.ts +112 -0
  248. package/dist/src/utils/context-document-manager.d.ts.map +1 -0
  249. package/dist/src/utils/context-document-manager.js +351 -0
  250. package/dist/src/utils/context-document-manager.js.map +1 -0
  251. package/dist/src/utils/conversation-memory-manager.d.ts +86 -0
  252. package/dist/src/utils/conversation-memory-manager.d.ts.map +1 -0
  253. package/dist/src/utils/conversation-memory-manager.js +443 -0
  254. package/dist/src/utils/conversation-memory-manager.js.map +1 -0
  255. package/dist/src/utils/dag-executor.d.ts +106 -0
  256. package/dist/src/utils/dag-executor.d.ts.map +1 -0
  257. package/dist/src/utils/dag-executor.js +453 -0
  258. package/dist/src/utils/dag-executor.js.map +1 -0
  259. package/dist/src/utils/deployment-analysis.d.ts.map +1 -1
  260. package/dist/src/utils/deployment-analysis.js +4 -1
  261. package/dist/src/utils/deployment-analysis.js.map +1 -1
  262. package/dist/src/utils/deployment-type-registry.d.ts +52 -0
  263. package/dist/src/utils/deployment-type-registry.d.ts.map +1 -0
  264. package/dist/src/utils/deployment-type-registry.js +543 -0
  265. package/dist/src/utils/deployment-type-registry.js.map +1 -0
  266. package/dist/src/utils/dynamic-deployment-intelligence.d.ts +117 -0
  267. package/dist/src/utils/dynamic-deployment-intelligence.d.ts.map +1 -0
  268. package/dist/src/utils/dynamic-deployment-intelligence.js +445 -0
  269. package/dist/src/utils/dynamic-deployment-intelligence.js.map +1 -0
  270. package/dist/src/utils/environment-analysis.d.ts.map +1 -1
  271. package/dist/src/utils/environment-analysis.js +4 -1
  272. package/dist/src/utils/environment-analysis.js.map +1 -1
  273. package/dist/src/utils/knowledge-graph-manager.d.ts +16 -1
  274. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
  275. package/dist/src/utils/knowledge-graph-manager.js +159 -3
  276. package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
  277. package/dist/src/utils/mermaid-diagrams.d.ts +101 -0
  278. package/dist/src/utils/mermaid-diagrams.d.ts.map +1 -0
  279. package/dist/src/utils/mermaid-diagrams.js +445 -0
  280. package/dist/src/utils/mermaid-diagrams.js.map +1 -0
  281. package/dist/src/utils/monitoring.d.ts +249 -0
  282. package/dist/src/utils/monitoring.d.ts.map +1 -0
  283. package/dist/src/utils/monitoring.js +513 -0
  284. package/dist/src/utils/monitoring.js.map +1 -0
  285. package/dist/src/utils/pattern-contribution-helper.d.ts +60 -0
  286. package/dist/src/utils/pattern-contribution-helper.d.ts.map +1 -0
  287. package/dist/src/utils/pattern-contribution-helper.js +308 -0
  288. package/dist/src/utils/pattern-contribution-helper.js.map +1 -0
  289. package/dist/src/utils/pattern-loader.d.ts +183 -0
  290. package/dist/src/utils/pattern-loader.d.ts.map +1 -0
  291. package/dist/src/utils/pattern-loader.js +200 -0
  292. package/dist/src/utils/pattern-loader.js.map +1 -0
  293. package/dist/src/utils/pattern-research-utility.d.ts +107 -0
  294. package/dist/src/utils/pattern-research-utility.d.ts.map +1 -0
  295. package/dist/src/utils/pattern-research-utility.js +360 -0
  296. package/dist/src/utils/pattern-research-utility.js.map +1 -0
  297. package/dist/src/utils/pattern-to-dag-converter.d.ts +62 -0
  298. package/dist/src/utils/pattern-to-dag-converter.d.ts.map +1 -0
  299. package/dist/src/utils/pattern-to-dag-converter.js +265 -0
  300. package/dist/src/utils/pattern-to-dag-converter.js.map +1 -0
  301. package/dist/src/utils/platform-detector.d.ts +86 -0
  302. package/dist/src/utils/platform-detector.d.ts.map +1 -0
  303. package/dist/src/utils/platform-detector.js +509 -0
  304. package/dist/src/utils/platform-detector.js.map +1 -0
  305. package/dist/src/utils/research-integration.d.ts.map +1 -1
  306. package/dist/src/utils/research-integration.js +8 -2
  307. package/dist/src/utils/research-integration.js.map +1 -1
  308. package/dist/src/utils/research-orchestrator.d.ts +135 -3
  309. package/dist/src/utils/research-orchestrator.d.ts.map +1 -1
  310. package/dist/src/utils/research-orchestrator.js +440 -27
  311. package/dist/src/utils/research-orchestrator.js.map +1 -1
  312. package/dist/src/utils/research-questions.d.ts.map +1 -1
  313. package/dist/src/utils/research-questions.js +4 -1
  314. package/dist/src/utils/research-questions.js.map +1 -1
  315. package/dist/src/utils/resource-extractor.d.ts +57 -0
  316. package/dist/src/utils/resource-extractor.d.ts.map +1 -0
  317. package/dist/src/utils/resource-extractor.js +323 -0
  318. package/dist/src/utils/resource-extractor.js.map +1 -0
  319. package/dist/src/utils/resource-versioning.d.ts +124 -0
  320. package/dist/src/utils/resource-versioning.d.ts.map +1 -0
  321. package/dist/src/utils/resource-versioning.js +272 -0
  322. package/dist/src/utils/resource-versioning.js.map +1 -0
  323. package/dist/src/utils/root-manager.d.ts +118 -0
  324. package/dist/src/utils/root-manager.d.ts.map +1 -0
  325. package/dist/src/utils/root-manager.js +154 -0
  326. package/dist/src/utils/root-manager.js.map +1 -0
  327. package/dist/src/utils/rule-generation.d.ts.map +1 -1
  328. package/dist/src/utils/rule-generation.js +4 -1
  329. package/dist/src/utils/rule-generation.js.map +1 -1
  330. package/dist/src/utils/server-context-generator.d.ts +47 -0
  331. package/dist/src/utils/server-context-generator.d.ts.map +1 -0
  332. package/dist/src/utils/server-context-generator.js +666 -0
  333. package/dist/src/utils/server-context-generator.js.map +1 -0
  334. package/dist/src/utils/state-reinforcement-manager.d.ts +60 -0
  335. package/dist/src/utils/state-reinforcement-manager.d.ts.map +1 -0
  336. package/dist/src/utils/state-reinforcement-manager.js +200 -0
  337. package/dist/src/utils/state-reinforcement-manager.js.map +1 -0
  338. package/dist/src/utils/system-card-manager.d.ts +194 -0
  339. package/dist/src/utils/system-card-manager.d.ts.map +1 -0
  340. package/dist/src/utils/system-card-manager.js +336 -0
  341. package/dist/src/utils/system-card-manager.js.map +1 -0
  342. package/dist/src/utils/tiered-response-manager.d.ts +40 -0
  343. package/dist/src/utils/tiered-response-manager.d.ts.map +1 -0
  344. package/dist/src/utils/tiered-response-manager.js +243 -0
  345. package/dist/src/utils/tiered-response-manager.js.map +1 -0
  346. package/dist/src/utils/validated-pattern-definitions.d.ts +219 -0
  347. package/dist/src/utils/validated-pattern-definitions.d.ts.map +1 -0
  348. package/dist/src/utils/validated-pattern-definitions.js +1511 -0
  349. package/dist/src/utils/validated-pattern-definitions.js.map +1 -0
  350. package/package.json +22 -13
  351. package/dist/src/prompts/todo-prompts.d.ts +0 -49
  352. package/dist/src/prompts/todo-prompts.d.ts.map +0 -1
  353. package/dist/src/prompts/todo-prompts.js +0 -824
  354. package/dist/src/prompts/todo-prompts.js.map +0 -1
  355. package/dist/src/types/todo-json-schemas.d.ts +0 -17
  356. package/dist/src/types/todo-json-schemas.d.ts.map +0 -1
  357. package/dist/src/types/todo-json-schemas.js +0 -9
  358. package/dist/src/types/todo-json-schemas.js.map +0 -1
  359. package/dist/src/utils/todo-file-watcher.d.ts +0 -14
  360. package/dist/src/utils/todo-file-watcher.d.ts.map +0 -1
  361. package/dist/src/utils/todo-file-watcher.js +0 -25
  362. package/dist/src/utils/todo-file-watcher.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitoring.d.ts","sourceRoot":"","sources":["../../../src/utils/monitoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,513 @@
1
+ /**
2
+ * Monitoring and Analytics Framework
3
+ *
4
+ * Provides comprehensive monitoring and analytics for MCP server:
5
+ * - Request/response tracking
6
+ * - Performance metrics (latency, throughput)
7
+ * - Error tracking and reporting
8
+ * - Resource usage analytics
9
+ * - Cache performance metrics
10
+ * - Tool execution metrics
11
+ * - Health checks
12
+ * - Metrics aggregation and reporting
13
+ */
14
+ /**
15
+ * Metric types for categorization
16
+ */
17
+ export var MetricType;
18
+ (function (MetricType) {
19
+ MetricType["COUNTER"] = "counter";
20
+ MetricType["GAUGE"] = "gauge";
21
+ MetricType["HISTOGRAM"] = "histogram";
22
+ MetricType["TIMER"] = "timer";
23
+ })(MetricType || (MetricType = {}));
24
+ /**
25
+ * Metric category for organization
26
+ */
27
+ export var MetricCategory;
28
+ (function (MetricCategory) {
29
+ MetricCategory["REQUEST"] = "request";
30
+ MetricCategory["RESOURCE"] = "resource";
31
+ MetricCategory["TOOL"] = "tool";
32
+ MetricCategory["CACHE"] = "cache";
33
+ MetricCategory["ERROR"] = "error";
34
+ MetricCategory["PERFORMANCE"] = "performance";
35
+ MetricCategory["SYSTEM"] = "system";
36
+ })(MetricCategory || (MetricCategory = {}));
37
+ /**
38
+ * Default monitoring configuration
39
+ */
40
+ const DEFAULT_CONFIG = {
41
+ enabled: true,
42
+ metricsRetentionMs: 3600000, // 1 hour
43
+ aggregationIntervalMs: 60000, // 1 minute
44
+ maxMetricsInMemory: 10000,
45
+ enableHealthChecks: true,
46
+ healthCheckIntervalMs: 30000, // 30 seconds
47
+ };
48
+ /**
49
+ * Monitoring manager class
50
+ */
51
+ export class MonitoringManager {
52
+ config;
53
+ metrics = [];
54
+ requests = new Map();
55
+ healthChecks = new Map();
56
+ aggregationTimer = null;
57
+ healthCheckTimer = null;
58
+ startTime;
59
+ constructor(config = {}) {
60
+ this.config = { ...DEFAULT_CONFIG, ...config };
61
+ this.startTime = new Date().toISOString();
62
+ if (this.config.enabled) {
63
+ this.startAggregation();
64
+ if (this.config.enableHealthChecks) {
65
+ this.startHealthChecks();
66
+ }
67
+ }
68
+ }
69
+ /**
70
+ * Record a counter metric (incrementing value)
71
+ */
72
+ recordCounter(name, category, value = 1, tags, metadata) {
73
+ if (!this.config.enabled)
74
+ return;
75
+ const metric = {
76
+ name,
77
+ type: MetricType.COUNTER,
78
+ category,
79
+ value,
80
+ timestamp: new Date().toISOString(),
81
+ };
82
+ if (tags) {
83
+ metric.tags = tags;
84
+ }
85
+ if (metadata) {
86
+ metric.metadata = metadata;
87
+ }
88
+ this.addMetric(metric);
89
+ }
90
+ /**
91
+ * Record a gauge metric (point-in-time value)
92
+ */
93
+ recordGauge(name, category, value, tags, metadata) {
94
+ if (!this.config.enabled)
95
+ return;
96
+ const metric = {
97
+ name,
98
+ type: MetricType.GAUGE,
99
+ category,
100
+ value,
101
+ timestamp: new Date().toISOString(),
102
+ };
103
+ if (tags) {
104
+ metric.tags = tags;
105
+ }
106
+ if (metadata) {
107
+ metric.metadata = metadata;
108
+ }
109
+ this.addMetric(metric);
110
+ }
111
+ /**
112
+ * Record a histogram value (for distribution analysis)
113
+ */
114
+ recordHistogram(name, category, value, tags, metadata) {
115
+ if (!this.config.enabled)
116
+ return;
117
+ const metric = {
118
+ name,
119
+ type: MetricType.HISTOGRAM,
120
+ category,
121
+ value,
122
+ timestamp: new Date().toISOString(),
123
+ };
124
+ if (tags) {
125
+ metric.tags = tags;
126
+ }
127
+ if (metadata) {
128
+ metric.metadata = metadata;
129
+ }
130
+ this.addMetric(metric);
131
+ }
132
+ /**
133
+ * Start tracking a request
134
+ */
135
+ startRequest(requestId, type, name, metadata) {
136
+ if (!this.config.enabled)
137
+ return;
138
+ const request = {
139
+ requestId,
140
+ type,
141
+ name,
142
+ startTime: new Date().toISOString(),
143
+ status: 'pending',
144
+ };
145
+ if (metadata) {
146
+ request.metadata = metadata;
147
+ }
148
+ this.requests.set(requestId, request);
149
+ this.recordCounter('request.started', MetricCategory.REQUEST, 1, { type, name });
150
+ }
151
+ /**
152
+ * Complete a request successfully
153
+ */
154
+ completeRequest(requestId, metadata) {
155
+ if (!this.config.enabled)
156
+ return;
157
+ const request = this.requests.get(requestId);
158
+ if (!request)
159
+ return;
160
+ const endTime = new Date().toISOString();
161
+ const duration = new Date(endTime).getTime() - new Date(request.startTime).getTime();
162
+ request.endTime = endTime;
163
+ request.duration = duration;
164
+ request.status = 'success';
165
+ if (metadata) {
166
+ request.metadata = { ...request.metadata, ...metadata };
167
+ }
168
+ this.recordCounter('request.completed', MetricCategory.REQUEST, 1, {
169
+ type: request.type,
170
+ name: request.name,
171
+ });
172
+ this.recordHistogram('request.duration', MetricCategory.PERFORMANCE, duration, {
173
+ type: request.type,
174
+ name: request.name,
175
+ });
176
+ }
177
+ /**
178
+ * Mark a request as failed
179
+ */
180
+ failRequest(requestId, error, metadata) {
181
+ if (!this.config.enabled)
182
+ return;
183
+ const request = this.requests.get(requestId);
184
+ if (!request)
185
+ return;
186
+ const endTime = new Date().toISOString();
187
+ const duration = new Date(endTime).getTime() - new Date(request.startTime).getTime();
188
+ request.endTime = endTime;
189
+ request.duration = duration;
190
+ request.status = 'error';
191
+ request.error = error;
192
+ if (metadata) {
193
+ request.metadata = { ...request.metadata, ...metadata };
194
+ }
195
+ this.recordCounter('request.failed', MetricCategory.REQUEST, 1, {
196
+ type: request.type,
197
+ name: request.name,
198
+ });
199
+ this.recordCounter('error.total', MetricCategory.ERROR, 1, {
200
+ type: request.type,
201
+ name: request.name,
202
+ error,
203
+ });
204
+ }
205
+ /**
206
+ * Record cache hit
207
+ */
208
+ recordCacheHit(cacheKey) {
209
+ if (!this.config.enabled)
210
+ return;
211
+ this.recordCounter('cache.hit', MetricCategory.CACHE, 1, { key: cacheKey });
212
+ }
213
+ /**
214
+ * Record cache miss
215
+ */
216
+ recordCacheMiss(cacheKey) {
217
+ if (!this.config.enabled)
218
+ return;
219
+ this.recordCounter('cache.miss', MetricCategory.CACHE, 1, { key: cacheKey });
220
+ }
221
+ /**
222
+ * Register a health check
223
+ */
224
+ registerHealthCheck(_name, _check) {
225
+ // Store health check function for periodic execution
226
+ // Implementation would store the check function and run it periodically
227
+ // For now, we'll just track the results when manually called
228
+ }
229
+ /**
230
+ * Run a health check
231
+ */
232
+ async runHealthCheck(name, check) {
233
+ const startTime = Date.now();
234
+ const timestamp = new Date().toISOString();
235
+ try {
236
+ const result = await check();
237
+ const duration = Date.now() - startTime;
238
+ const healthCheck = {
239
+ name,
240
+ status: result.status,
241
+ timestamp,
242
+ duration,
243
+ };
244
+ if (result.message) {
245
+ healthCheck.message = result.message;
246
+ }
247
+ this.healthChecks.set(name, healthCheck);
248
+ return healthCheck;
249
+ }
250
+ catch (error) {
251
+ const duration = Date.now() - startTime;
252
+ const healthCheck = {
253
+ name,
254
+ status: 'unhealthy',
255
+ message: error instanceof Error ? error.message : 'Unknown error',
256
+ timestamp,
257
+ duration,
258
+ };
259
+ this.healthChecks.set(name, healthCheck);
260
+ return healthCheck;
261
+ }
262
+ }
263
+ /**
264
+ * Get all health checks
265
+ */
266
+ getHealthChecks() {
267
+ return Array.from(this.healthChecks.values());
268
+ }
269
+ /**
270
+ * Get overall health status
271
+ */
272
+ getHealthStatus() {
273
+ const checks = this.getHealthChecks();
274
+ if (checks.length === 0)
275
+ return 'healthy';
276
+ const unhealthy = checks.filter(c => c.status === 'unhealthy');
277
+ const degraded = checks.filter(c => c.status === 'degraded');
278
+ if (unhealthy.length > 0)
279
+ return 'unhealthy';
280
+ if (degraded.length > 0)
281
+ return 'degraded';
282
+ return 'healthy';
283
+ }
284
+ /**
285
+ * Get performance snapshot
286
+ */
287
+ getPerformanceSnapshot() {
288
+ const now = new Date().toISOString();
289
+ const requests = Array.from(this.requests.values());
290
+ const total = requests.length;
291
+ const success = requests.filter(r => r.status === 'success').length;
292
+ const error = requests.filter(r => r.status === 'error').length;
293
+ const pending = requests.filter(r => r.status === 'pending').length;
294
+ // Calculate latency percentiles
295
+ const durations = requests
296
+ .filter(r => r.duration !== undefined)
297
+ .map(r => r.duration)
298
+ .sort((a, b) => a - b);
299
+ const latency = this.calculatePercentiles(durations);
300
+ // Calculate throughput
301
+ const oneMinuteAgo = Date.now() - 60000;
302
+ const recentRequests = requests.filter(r => r.startTime && new Date(r.startTime).getTime() > oneMinuteAgo);
303
+ const throughput = {
304
+ requestsPerSecond: recentRequests.length / 60,
305
+ requestsPerMinute: recentRequests.length,
306
+ };
307
+ // Cache metrics
308
+ const cacheHits = this.getMetricSum('cache.hit', MetricCategory.CACHE);
309
+ const cacheMisses = this.getMetricSum('cache.miss', MetricCategory.CACHE);
310
+ const cacheTotal = cacheHits + cacheMisses;
311
+ const hitRate = cacheTotal > 0 ? cacheHits / cacheTotal : 0;
312
+ // Error metrics
313
+ const errorMetrics = this.metrics.filter(m => m.category === MetricCategory.ERROR);
314
+ const errorsByType = {};
315
+ for (const metric of errorMetrics) {
316
+ const errorType = metric.tags?.['error'] || 'unknown';
317
+ errorsByType[errorType] = (errorsByType[errorType] || 0) + metric.value;
318
+ }
319
+ return {
320
+ timestamp: now,
321
+ requests: { total, success, error, pending },
322
+ latency,
323
+ throughput,
324
+ cache: {
325
+ hitRate,
326
+ totalHits: cacheHits,
327
+ totalMisses: cacheMisses,
328
+ },
329
+ errors: {
330
+ total: error,
331
+ byType: errorsByType,
332
+ },
333
+ };
334
+ }
335
+ /**
336
+ * Get metric statistics by name and category
337
+ */
338
+ getMetricStats(name, category) {
339
+ const metricValues = this.metrics
340
+ .filter(m => m.name === name && m.category === category)
341
+ .map(m => m.value)
342
+ .sort((a, b) => a - b);
343
+ if (metricValues.length === 0)
344
+ return null;
345
+ return this.calculateStats(metricValues);
346
+ }
347
+ /**
348
+ * Get all metrics
349
+ */
350
+ getMetrics() {
351
+ return [...this.metrics];
352
+ }
353
+ /**
354
+ * Get metrics by category
355
+ */
356
+ getMetricsByCategory(category) {
357
+ return this.metrics.filter(m => m.category === category);
358
+ }
359
+ /**
360
+ * Get recent requests
361
+ */
362
+ getRecentRequests(limit = 100) {
363
+ return Array.from(this.requests.values())
364
+ .sort((a, b) => new Date(b.startTime).getTime() - new Date(a.startTime).getTime())
365
+ .slice(0, limit);
366
+ }
367
+ /**
368
+ * Clear old metrics based on retention policy
369
+ */
370
+ cleanup() {
371
+ const cutoff = Date.now() - this.config.metricsRetentionMs;
372
+ const initialCount = this.metrics.length;
373
+ this.metrics = this.metrics.filter(m => new Date(m.timestamp).getTime() > cutoff);
374
+ // Also clean up old requests
375
+ const requestsToDelete = [];
376
+ for (const [id, request] of this.requests.entries()) {
377
+ if (request.endTime && new Date(request.endTime).getTime() < cutoff) {
378
+ requestsToDelete.push(id);
379
+ }
380
+ }
381
+ requestsToDelete.forEach(id => this.requests.delete(id));
382
+ return initialCount - this.metrics.length;
383
+ }
384
+ /**
385
+ * Reset all metrics
386
+ */
387
+ reset() {
388
+ this.metrics = [];
389
+ this.requests.clear();
390
+ this.healthChecks.clear();
391
+ }
392
+ /**
393
+ * Stop monitoring
394
+ */
395
+ stop() {
396
+ if (this.aggregationTimer) {
397
+ clearInterval(this.aggregationTimer);
398
+ this.aggregationTimer = null;
399
+ }
400
+ if (this.healthCheckTimer) {
401
+ clearInterval(this.healthCheckTimer);
402
+ this.healthCheckTimer = null;
403
+ }
404
+ }
405
+ /**
406
+ * Get uptime in milliseconds
407
+ */
408
+ getUptime() {
409
+ return Date.now() - new Date(this.startTime).getTime();
410
+ }
411
+ /**
412
+ * Export metrics to JSON
413
+ */
414
+ exportMetrics() {
415
+ return JSON.stringify({
416
+ metrics: this.metrics,
417
+ requests: Array.from(this.requests.values()),
418
+ healthChecks: Array.from(this.healthChecks.values()),
419
+ performance: this.getPerformanceSnapshot(),
420
+ uptime: this.getUptime(),
421
+ timestamp: new Date().toISOString(),
422
+ }, null, 2);
423
+ }
424
+ // Private methods
425
+ addMetric(metric) {
426
+ this.metrics.push(metric);
427
+ // Enforce max metrics limit
428
+ if (this.metrics.length > this.config.maxMetricsInMemory) {
429
+ const toRemove = this.metrics.length - this.config.maxMetricsInMemory;
430
+ this.metrics.splice(0, toRemove);
431
+ }
432
+ }
433
+ getMetricSum(name, category) {
434
+ return this.metrics
435
+ .filter(m => m.name === name && m.category === category)
436
+ .reduce((sum, m) => sum + m.value, 0);
437
+ }
438
+ calculatePercentiles(values) {
439
+ if (values.length === 0) {
440
+ return { p50: 0, p95: 0, p99: 0, avg: 0 };
441
+ }
442
+ const sorted = [...values].sort((a, b) => a - b);
443
+ const avg = sorted.reduce((sum, v) => sum + v, 0) / sorted.length;
444
+ return {
445
+ p50: this.percentile(sorted, 50),
446
+ p95: this.percentile(sorted, 95),
447
+ p99: this.percentile(sorted, 99),
448
+ avg,
449
+ };
450
+ }
451
+ calculateStats(values) {
452
+ if (values.length === 0) {
453
+ return { count: 0, sum: 0, min: 0, max: 0, avg: 0, p50: 0, p95: 0, p99: 0 };
454
+ }
455
+ const sorted = [...values].sort((a, b) => a - b);
456
+ const sum = sorted.reduce((s, v) => s + v, 0);
457
+ const avg = sum / sorted.length;
458
+ return {
459
+ count: sorted.length,
460
+ sum,
461
+ min: sorted[0],
462
+ max: sorted[sorted.length - 1],
463
+ avg,
464
+ p50: this.percentile(sorted, 50),
465
+ p95: this.percentile(sorted, 95),
466
+ p99: this.percentile(sorted, 99),
467
+ };
468
+ }
469
+ percentile(sorted, p) {
470
+ if (sorted.length === 0)
471
+ return 0;
472
+ const index = Math.ceil((p / 100) * sorted.length) - 1;
473
+ return sorted[Math.max(0, index)] || 0;
474
+ }
475
+ startAggregation() {
476
+ this.aggregationTimer = setInterval(() => {
477
+ this.cleanup();
478
+ }, this.config.aggregationIntervalMs);
479
+ }
480
+ startHealthChecks() {
481
+ // Placeholder for periodic health check execution
482
+ this.healthCheckTimer = setInterval(() => {
483
+ // Would run registered health checks here
484
+ }, this.config.healthCheckIntervalMs);
485
+ }
486
+ }
487
+ /**
488
+ * Singleton monitoring instance
489
+ */
490
+ export const monitoring = new MonitoringManager();
491
+ /**
492
+ * Helper to track async operations
493
+ */
494
+ export async function trackOperation(operation, name, category, tags) {
495
+ const startTime = Date.now();
496
+ try {
497
+ const result = await operation();
498
+ const duration = Date.now() - startTime;
499
+ monitoring.recordHistogram(`${name}.duration`, category, duration, tags);
500
+ monitoring.recordCounter(`${name}.success`, category, 1, tags);
501
+ return result;
502
+ }
503
+ catch (error) {
504
+ const duration = Date.now() - startTime;
505
+ monitoring.recordHistogram(`${name}.duration`, category, duration, tags);
506
+ monitoring.recordCounter(`${name}.error`, category, 1, {
507
+ ...tags,
508
+ error: error instanceof Error ? error.message : 'Unknown error',
509
+ });
510
+ throw error;
511
+ }
512
+ }
513
+ //# sourceMappingURL=monitoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../../src/utils/monitoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Pattern Contribution Helper
3
+ *
4
+ * Helps users contribute missing patterns to the validatedpatterns project
5
+ * by creating well-formatted GitHub issues with detection evidence.
6
+ */
7
+ import type { PlatformDetectionResult } from './platform-detector.js';
8
+ /**
9
+ * GitHub issue creation result
10
+ */
11
+ export interface GitHubIssueResult {
12
+ success: boolean;
13
+ issueUrl?: string;
14
+ issueNumber?: number;
15
+ issueTitle: string;
16
+ issueBody: string;
17
+ error?: string;
18
+ }
19
+ /**
20
+ * Helper for creating GitHub issues for missing patterns
21
+ */
22
+ export declare class PatternContributionHelper {
23
+ private logger;
24
+ constructor();
25
+ /**
26
+ * Prompt user to contribute missing pattern
27
+ */
28
+ promptUserForContribution(platform: string, detection: PlatformDetectionResult): string;
29
+ /**
30
+ * Prepare GitHub issue content for missing pattern
31
+ */
32
+ prepareIssueContent(platform: string, detection: PlatformDetectionResult): {
33
+ title: string;
34
+ body: string;
35
+ };
36
+ /**
37
+ * Create GitHub issue (placeholder for actual GitHub API integration)
38
+ *
39
+ * In production, this would use Octokit to create the issue.
40
+ * For now, it returns the issue content for manual creation.
41
+ */
42
+ createGitHubIssue(platform: string, detection: PlatformDetectionResult, _options?: {
43
+ githubToken?: string;
44
+ repository?: string;
45
+ owner?: string;
46
+ }): Promise<GitHubIssueResult>;
47
+ /**
48
+ * Generate summary message for user after issue creation
49
+ */
50
+ generateSuccessMessage(result: GitHubIssueResult, platform: string): string;
51
+ /**
52
+ * Check if GitHub token is configured for automatic issue creation
53
+ */
54
+ isGitHubConfigured(): boolean;
55
+ /**
56
+ * Get GitHub configuration status message
57
+ */
58
+ getConfigurationStatus(): string;
59
+ }
60
+ //# sourceMappingURL=pattern-contribution-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-contribution-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/pattern-contribution-helper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAiB;;IAM/B;;OAEG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,GAAG,MAAM;IA2CvF;;OAEG;IACH,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,uBAAuB,GACjC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IA4JlC;;;;;OAKG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,uBAAuB,EAClC,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,iBAAiB,CAAC;IA+C7B;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAuC3E;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,sBAAsB,IAAI,MAAM;CAOjC"}