@lagoon-protocol/lagoon-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +618 -0
  3. package/dist/cache/index.d.ts +97 -0
  4. package/dist/cache/index.d.ts.map +1 -0
  5. package/dist/cache/index.js +106 -0
  6. package/dist/cache/index.js.map +1 -0
  7. package/dist/config.d.ts +34 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +40 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/core/cache-adapter.d.ts +73 -0
  12. package/dist/core/cache-adapter.d.ts.map +1 -0
  13. package/dist/core/cache-adapter.js +47 -0
  14. package/dist/core/cache-adapter.js.map +1 -0
  15. package/dist/core/cache-invalidation.d.ts +72 -0
  16. package/dist/core/cache-invalidation.d.ts.map +1 -0
  17. package/dist/core/cache-invalidation.js +114 -0
  18. package/dist/core/cache-invalidation.js.map +1 -0
  19. package/dist/core/container.d.ts +34 -0
  20. package/dist/core/container.d.ts.map +1 -0
  21. package/dist/core/container.js +75 -0
  22. package/dist/core/container.js.map +1 -0
  23. package/dist/graphql/client.d.ts +32 -0
  24. package/dist/graphql/client.d.ts.map +1 -0
  25. package/dist/graphql/client.js +49 -0
  26. package/dist/graphql/client.js.map +1 -0
  27. package/dist/graphql/fragments/apr-breakdown.fragment.d.ts +64 -0
  28. package/dist/graphql/fragments/apr-breakdown.fragment.d.ts.map +1 -0
  29. package/dist/graphql/fragments/apr-breakdown.fragment.js +62 -0
  30. package/dist/graphql/fragments/apr-breakdown.fragment.js.map +1 -0
  31. package/dist/graphql/fragments/asset-info.fragment.d.ts +18 -0
  32. package/dist/graphql/fragments/asset-info.fragment.d.ts.map +1 -0
  33. package/dist/graphql/fragments/asset-info.fragment.js +36 -0
  34. package/dist/graphql/fragments/asset-info.fragment.js.map +1 -0
  35. package/dist/graphql/fragments/chain-info.fragment.d.ts +18 -0
  36. package/dist/graphql/fragments/chain-info.fragment.d.ts.map +1 -0
  37. package/dist/graphql/fragments/chain-info.fragment.js +32 -0
  38. package/dist/graphql/fragments/chain-info.fragment.js.map +1 -0
  39. package/dist/graphql/fragments/index.d.ts +15 -0
  40. package/dist/graphql/fragments/index.d.ts.map +1 -0
  41. package/dist/graphql/fragments/index.js +21 -0
  42. package/dist/graphql/fragments/index.js.map +1 -0
  43. package/dist/graphql/fragments/pageinfo.fragment.d.ts +33 -0
  44. package/dist/graphql/fragments/pageinfo.fragment.d.ts.map +1 -0
  45. package/dist/graphql/fragments/pageinfo.fragment.js +47 -0
  46. package/dist/graphql/fragments/pageinfo.fragment.js.map +1 -0
  47. package/dist/graphql/fragments/transaction-base.fragment.d.ts +19 -0
  48. package/dist/graphql/fragments/transaction-base.fragment.d.ts.map +1 -0
  49. package/dist/graphql/fragments/transaction-base.fragment.js +32 -0
  50. package/dist/graphql/fragments/transaction-base.fragment.js.map +1 -0
  51. package/dist/graphql/fragments/vault-list.fragment.d.ts +53 -0
  52. package/dist/graphql/fragments/vault-list.fragment.d.ts.map +1 -0
  53. package/dist/graphql/fragments/vault-list.fragment.js +51 -0
  54. package/dist/graphql/fragments/vault-list.fragment.js.map +1 -0
  55. package/dist/graphql/fragments/vault-summary.fragment.d.ts +68 -0
  56. package/dist/graphql/fragments/vault-summary.fragment.d.ts.map +1 -0
  57. package/dist/graphql/fragments/vault-summary.fragment.js +66 -0
  58. package/dist/graphql/fragments/vault-summary.fragment.js.map +1 -0
  59. package/dist/graphql/fragments/vault.fragment.d.ts +133 -0
  60. package/dist/graphql/fragments/vault.fragment.d.ts.map +1 -0
  61. package/dist/graphql/fragments/vault.fragment.js +119 -0
  62. package/dist/graphql/fragments/vault.fragment.js.map +1 -0
  63. package/dist/graphql/fragments.d.ts +183 -0
  64. package/dist/graphql/fragments.d.ts.map +1 -0
  65. package/dist/graphql/fragments.js +297 -0
  66. package/dist/graphql/fragments.js.map +1 -0
  67. package/dist/graphql/queries/export.queries.d.ts +72 -0
  68. package/dist/graphql/queries/export.queries.d.ts.map +1 -0
  69. package/dist/graphql/queries/export.queries.js +202 -0
  70. package/dist/graphql/queries/export.queries.js.map +1 -0
  71. package/dist/graphql/queries/index.d.ts +15 -0
  72. package/dist/graphql/queries/index.d.ts.map +1 -0
  73. package/dist/graphql/queries/index.js +23 -0
  74. package/dist/graphql/queries/index.js.map +1 -0
  75. package/dist/graphql/queries/performance.queries.d.ts +63 -0
  76. package/dist/graphql/queries/performance.queries.d.ts.map +1 -0
  77. package/dist/graphql/queries/performance.queries.js +133 -0
  78. package/dist/graphql/queries/performance.queries.js.map +1 -0
  79. package/dist/graphql/queries/period-summaries.d.ts +15 -0
  80. package/dist/graphql/queries/period-summaries.d.ts.map +1 -0
  81. package/dist/graphql/queries/period-summaries.js +24 -0
  82. package/dist/graphql/queries/period-summaries.js.map +1 -0
  83. package/dist/graphql/queries/portfolio.queries.d.ts +78 -0
  84. package/dist/graphql/queries/portfolio.queries.d.ts.map +1 -0
  85. package/dist/graphql/queries/portfolio.queries.js +198 -0
  86. package/dist/graphql/queries/portfolio.queries.js.map +1 -0
  87. package/dist/graphql/queries/prediction.queries.d.ts +38 -0
  88. package/dist/graphql/queries/prediction.queries.d.ts.map +1 -0
  89. package/dist/graphql/queries/prediction.queries.js +100 -0
  90. package/dist/graphql/queries/prediction.queries.js.map +1 -0
  91. package/dist/graphql/queries/risk.queries.d.ts +37 -0
  92. package/dist/graphql/queries/risk.queries.d.ts.map +1 -0
  93. package/dist/graphql/queries/risk.queries.js +90 -0
  94. package/dist/graphql/queries/risk.queries.js.map +1 -0
  95. package/dist/graphql/queries/search.queries.d.ts +61 -0
  96. package/dist/graphql/queries/search.queries.d.ts.map +1 -0
  97. package/dist/graphql/queries/search.queries.js +103 -0
  98. package/dist/graphql/queries/search.queries.js.map +1 -0
  99. package/dist/graphql/queries/transaction.queries.d.ts +60 -0
  100. package/dist/graphql/queries/transaction.queries.d.ts.map +1 -0
  101. package/dist/graphql/queries/transaction.queries.js +252 -0
  102. package/dist/graphql/queries/transaction.queries.js.map +1 -0
  103. package/dist/graphql/queries/vault.queries.d.ts +54 -0
  104. package/dist/graphql/queries/vault.queries.d.ts.map +1 -0
  105. package/dist/graphql/queries/vault.queries.js +78 -0
  106. package/dist/graphql/queries/vault.queries.js.map +1 -0
  107. package/dist/index.d.ts +12 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +32 -0
  110. package/dist/index.js.map +1 -0
  111. package/dist/prompts/competitor-comparison.d.ts +8 -0
  112. package/dist/prompts/competitor-comparison.d.ts.map +1 -0
  113. package/dist/prompts/competitor-comparison.js +432 -0
  114. package/dist/prompts/competitor-comparison.js.map +1 -0
  115. package/dist/prompts/curator-performance.d.ts +8 -0
  116. package/dist/prompts/curator-performance.d.ts.map +1 -0
  117. package/dist/prompts/curator-performance.js +383 -0
  118. package/dist/prompts/curator-performance.js.map +1 -0
  119. package/dist/prompts/financial-analysis.d.ts +8 -0
  120. package/dist/prompts/financial-analysis.d.ts.map +1 -0
  121. package/dist/prompts/financial-analysis.js +480 -0
  122. package/dist/prompts/financial-analysis.js.map +1 -0
  123. package/dist/prompts/index.d.ts +21 -0
  124. package/dist/prompts/index.d.ts.map +1 -0
  125. package/dist/prompts/index.js +50 -0
  126. package/dist/prompts/index.js.map +1 -0
  127. package/dist/prompts/onboarding-first-vault.d.ts +8 -0
  128. package/dist/prompts/onboarding-first-vault.d.ts.map +1 -0
  129. package/dist/prompts/onboarding-first-vault.js +317 -0
  130. package/dist/prompts/onboarding-first-vault.js.map +1 -0
  131. package/dist/prompts/portfolio-optimization.d.ts +8 -0
  132. package/dist/prompts/portfolio-optimization.d.ts.map +1 -0
  133. package/dist/prompts/portfolio-optimization.js +412 -0
  134. package/dist/prompts/portfolio-optimization.js.map +1 -0
  135. package/dist/prompts/protocol-overview.d.ts +8 -0
  136. package/dist/prompts/protocol-overview.d.ts.map +1 -0
  137. package/dist/prompts/protocol-overview.js +398 -0
  138. package/dist/prompts/protocol-overview.js.map +1 -0
  139. package/dist/prompts/shared/disclaimers.d.ts +54 -0
  140. package/dist/prompts/shared/disclaimers.d.ts.map +1 -0
  141. package/dist/prompts/shared/disclaimers.js +400 -0
  142. package/dist/prompts/shared/disclaimers.js.map +1 -0
  143. package/dist/resources/glossary.d.ts +8 -0
  144. package/dist/resources/glossary.d.ts.map +1 -0
  145. package/dist/resources/glossary.js +407 -0
  146. package/dist/resources/glossary.js.map +1 -0
  147. package/dist/resources/index.d.ts +18 -0
  148. package/dist/resources/index.d.ts.map +1 -0
  149. package/dist/resources/index.js +29 -0
  150. package/dist/resources/index.js.map +1 -0
  151. package/dist/resources/schema.d.ts +22 -0
  152. package/dist/resources/schema.d.ts.map +1 -0
  153. package/dist/resources/schema.js +67 -0
  154. package/dist/resources/schema.js.map +1 -0
  155. package/dist/schemas/config.schema.d.ts +46 -0
  156. package/dist/schemas/config.schema.d.ts.map +1 -0
  157. package/dist/schemas/config.schema.js +48 -0
  158. package/dist/schemas/config.schema.js.map +1 -0
  159. package/dist/sdk/__tests__/apr-service.test.d.ts +7 -0
  160. package/dist/sdk/__tests__/apr-service.test.d.ts.map +1 -0
  161. package/dist/sdk/__tests__/apr-service.test.js +385 -0
  162. package/dist/sdk/__tests__/apr-service.test.js.map +1 -0
  163. package/dist/sdk/__tests__/math-utils.test.d.ts +7 -0
  164. package/dist/sdk/__tests__/math-utils.test.d.ts.map +1 -0
  165. package/dist/sdk/__tests__/math-utils.test.js +185 -0
  166. package/dist/sdk/__tests__/math-utils.test.js.map +1 -0
  167. package/dist/sdk/__tests__/simulation-service.test.d.ts +5 -0
  168. package/dist/sdk/__tests__/simulation-service.test.d.ts.map +1 -0
  169. package/dist/sdk/__tests__/simulation-service.test.js +397 -0
  170. package/dist/sdk/__tests__/simulation-service.test.js.map +1 -0
  171. package/dist/sdk/__tests__/vault-utils.test.d.ts +7 -0
  172. package/dist/sdk/__tests__/vault-utils.test.d.ts.map +1 -0
  173. package/dist/sdk/__tests__/vault-utils.test.js +189 -0
  174. package/dist/sdk/__tests__/vault-utils.test.js.map +1 -0
  175. package/dist/sdk/apr-service.d.ts +101 -0
  176. package/dist/sdk/apr-service.d.ts.map +1 -0
  177. package/dist/sdk/apr-service.js +175 -0
  178. package/dist/sdk/apr-service.js.map +1 -0
  179. package/dist/sdk/math-utils.d.ts +138 -0
  180. package/dist/sdk/math-utils.d.ts.map +1 -0
  181. package/dist/sdk/math-utils.js +218 -0
  182. package/dist/sdk/math-utils.js.map +1 -0
  183. package/dist/sdk/simulation-service.d.ts +106 -0
  184. package/dist/sdk/simulation-service.d.ts.map +1 -0
  185. package/dist/sdk/simulation-service.js +143 -0
  186. package/dist/sdk/simulation-service.js.map +1 -0
  187. package/dist/sdk/vault-utils.d.ts +125 -0
  188. package/dist/sdk/vault-utils.d.ts.map +1 -0
  189. package/dist/sdk/vault-utils.js +165 -0
  190. package/dist/sdk/vault-utils.js.map +1 -0
  191. package/dist/server.d.ts +21 -0
  192. package/dist/server.d.ts.map +1 -0
  193. package/dist/server.js +225 -0
  194. package/dist/server.js.map +1 -0
  195. package/dist/services/analytics/protocol-overview.service.d.ts +61 -0
  196. package/dist/services/analytics/protocol-overview.service.d.ts.map +1 -0
  197. package/dist/services/analytics/protocol-overview.service.js +182 -0
  198. package/dist/services/analytics/protocol-overview.service.js.map +1 -0
  199. package/dist/services/analytics/risk.service.d.ts +92 -0
  200. package/dist/services/analytics/risk.service.d.ts.map +1 -0
  201. package/dist/services/analytics/risk.service.js +423 -0
  202. package/dist/services/analytics/risk.service.js.map +1 -0
  203. package/dist/services/base.service.d.ts +39 -0
  204. package/dist/services/base.service.d.ts.map +1 -0
  205. package/dist/services/base.service.js +37 -0
  206. package/dist/services/base.service.js.map +1 -0
  207. package/dist/services/index.d.ts +30 -0
  208. package/dist/services/index.d.ts.map +1 -0
  209. package/dist/services/index.js +101 -0
  210. package/dist/services/index.js.map +1 -0
  211. package/dist/tools/__tests__/simulate-vault.test.d.ts +5 -0
  212. package/dist/tools/__tests__/simulate-vault.test.d.ts.map +1 -0
  213. package/dist/tools/__tests__/simulate-vault.test.js +363 -0
  214. package/dist/tools/__tests__/simulate-vault.test.js.map +1 -0
  215. package/dist/tools/analyze-risk.d.ts +34 -0
  216. package/dist/tools/analyze-risk.d.ts.map +1 -0
  217. package/dist/tools/analyze-risk.js +100 -0
  218. package/dist/tools/analyze-risk.js.map +1 -0
  219. package/dist/tools/compare-vaults.d.ts +29 -0
  220. package/dist/tools/compare-vaults.d.ts.map +1 -0
  221. package/dist/tools/compare-vaults.js +285 -0
  222. package/dist/tools/compare-vaults.js.map +1 -0
  223. package/dist/tools/export-data.d.ts +34 -0
  224. package/dist/tools/export-data.d.ts.map +1 -0
  225. package/dist/tools/export-data.js +309 -0
  226. package/dist/tools/export-data.js.map +1 -0
  227. package/dist/tools/get-price-history.d.ts +29 -0
  228. package/dist/tools/get-price-history.d.ts.map +1 -0
  229. package/dist/tools/get-price-history.js +236 -0
  230. package/dist/tools/get-price-history.js.map +1 -0
  231. package/dist/tools/get-transactions.d.ts +29 -0
  232. package/dist/tools/get-transactions.d.ts.map +1 -0
  233. package/dist/tools/get-transactions.js +181 -0
  234. package/dist/tools/get-transactions.js.map +1 -0
  235. package/dist/tools/index.d.ts +26 -0
  236. package/dist/tools/index.d.ts.map +1 -0
  237. package/dist/tools/index.js +32 -0
  238. package/dist/tools/index.js.map +1 -0
  239. package/dist/tools/optimize-portfolio.d.ts +37 -0
  240. package/dist/tools/optimize-portfolio.d.ts.map +1 -0
  241. package/dist/tools/optimize-portfolio.js +459 -0
  242. package/dist/tools/optimize-portfolio.js.map +1 -0
  243. package/dist/tools/predict-yield.d.ts +30 -0
  244. package/dist/tools/predict-yield.d.ts.map +1 -0
  245. package/dist/tools/predict-yield.js +248 -0
  246. package/dist/tools/predict-yield.js.map +1 -0
  247. package/dist/tools/query-graphql.d.ts +35 -0
  248. package/dist/tools/query-graphql.d.ts.map +1 -0
  249. package/dist/tools/query-graphql.js +54 -0
  250. package/dist/tools/query-graphql.js.map +1 -0
  251. package/dist/tools/registry.d.ts +42 -0
  252. package/dist/tools/registry.d.ts.map +1 -0
  253. package/dist/tools/registry.js +231 -0
  254. package/dist/tools/registry.js.map +1 -0
  255. package/dist/tools/search-vaults.d.ts +40 -0
  256. package/dist/tools/search-vaults.d.ts.map +1 -0
  257. package/dist/tools/search-vaults.js +184 -0
  258. package/dist/tools/search-vaults.js.map +1 -0
  259. package/dist/tools/simulate-vault.d.ts +80 -0
  260. package/dist/tools/simulate-vault.d.ts.map +1 -0
  261. package/dist/tools/simulate-vault.js +281 -0
  262. package/dist/tools/simulate-vault.js.map +1 -0
  263. package/dist/tools/user-portfolio.d.ts +30 -0
  264. package/dist/tools/user-portfolio.d.ts.map +1 -0
  265. package/dist/tools/user-portfolio.js +142 -0
  266. package/dist/tools/user-portfolio.js.map +1 -0
  267. package/dist/tools/vault-data.d.ts +23 -0
  268. package/dist/tools/vault-data.d.ts.map +1 -0
  269. package/dist/tools/vault-data.js +68 -0
  270. package/dist/tools/vault-data.js.map +1 -0
  271. package/dist/tools/vault-performance.d.ts +30 -0
  272. package/dist/tools/vault-performance.d.ts.map +1 -0
  273. package/dist/tools/vault-performance.js +275 -0
  274. package/dist/tools/vault-performance.js.map +1 -0
  275. package/dist/types/generated.d.ts +1109 -0
  276. package/dist/types/generated.d.ts.map +1 -0
  277. package/dist/types/generated.js +2 -0
  278. package/dist/types/generated.js.map +1 -0
  279. package/dist/types/index.d.ts +46 -0
  280. package/dist/types/index.d.ts.map +1 -0
  281. package/dist/types/index.js +8 -0
  282. package/dist/types/index.js.map +1 -0
  283. package/dist/utils/comparison-metrics.d.ts +120 -0
  284. package/dist/utils/comparison-metrics.d.ts.map +1 -0
  285. package/dist/utils/comparison-metrics.js +215 -0
  286. package/dist/utils/comparison-metrics.js.map +1 -0
  287. package/dist/utils/config-loader.d.ts +17 -0
  288. package/dist/utils/config-loader.d.ts.map +1 -0
  289. package/dist/utils/config-loader.js +45 -0
  290. package/dist/utils/config-loader.js.map +1 -0
  291. package/dist/utils/csv-generator.d.ts +89 -0
  292. package/dist/utils/csv-generator.d.ts.map +1 -0
  293. package/dist/utils/csv-generator.js +97 -0
  294. package/dist/utils/csv-generator.js.map +1 -0
  295. package/dist/utils/disclaimers.d.ts +70 -0
  296. package/dist/utils/disclaimers.d.ts.map +1 -0
  297. package/dist/utils/disclaimers.js +161 -0
  298. package/dist/utils/disclaimers.js.map +1 -0
  299. package/dist/utils/errors.d.ts +66 -0
  300. package/dist/utils/errors.d.ts.map +1 -0
  301. package/dist/utils/errors.js +86 -0
  302. package/dist/utils/errors.js.map +1 -0
  303. package/dist/utils/execute-tool-with-cache.d.ts +97 -0
  304. package/dist/utils/execute-tool-with-cache.d.ts.map +1 -0
  305. package/dist/utils/execute-tool-with-cache.js +105 -0
  306. package/dist/utils/execute-tool-with-cache.js.map +1 -0
  307. package/dist/utils/portfolio-optimization.d.ts +100 -0
  308. package/dist/utils/portfolio-optimization.d.ts.map +1 -0
  309. package/dist/utils/portfolio-optimization.js +283 -0
  310. package/dist/utils/portfolio-optimization.js.map +1 -0
  311. package/dist/utils/risk-scoring.d.ts +226 -0
  312. package/dist/utils/risk-scoring.d.ts.map +1 -0
  313. package/dist/utils/risk-scoring.js +523 -0
  314. package/dist/utils/risk-scoring.js.map +1 -0
  315. package/dist/utils/tool-error-handler.d.ts +16 -0
  316. package/dist/utils/tool-error-handler.d.ts.map +1 -0
  317. package/dist/utils/tool-error-handler.js +43 -0
  318. package/dist/utils/tool-error-handler.js.map +1 -0
  319. package/dist/utils/tool-handler.d.ts +33 -0
  320. package/dist/utils/tool-handler.d.ts.map +1 -0
  321. package/dist/utils/tool-handler.js +59 -0
  322. package/dist/utils/tool-handler.js.map +1 -0
  323. package/dist/utils/tool-response.d.ts +16 -0
  324. package/dist/utils/tool-response.d.ts.map +1 -0
  325. package/dist/utils/tool-response.js +25 -0
  326. package/dist/utils/tool-response.js.map +1 -0
  327. package/dist/utils/validators.d.ts +359 -0
  328. package/dist/utils/validators.d.ts.map +1 -0
  329. package/dist/utils/validators.js +233 -0
  330. package/dist/utils/validators.js.map +1 -0
  331. package/dist/utils/yield-prediction.d.ts +69 -0
  332. package/dist/utils/yield-prediction.d.ts.map +1 -0
  333. package/dist/utils/yield-prediction.js +290 -0
  334. package/dist/utils/yield-prediction.js.map +1 -0
  335. package/package.json +83 -0
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Type-Safe Tool Handler Utilities
3
+ *
4
+ * Provides type-safe wrappers for MCP tool handlers to eliminate
5
+ * unsafe type assertions (as never) throughout the codebase.
6
+ */
7
+ /**
8
+ * Creates a type-safe tool handler that validates input against a schema
9
+ *
10
+ * @param handler - The tool handler function with proper typing
11
+ * @param schema - Zod schema for runtime validation (handles schemas with defaults)
12
+ * @returns A wrapper function that safely handles unknown arguments
13
+ *
14
+ * @example
15
+ * const safeHandler = createToolHandler(
16
+ * executeQueryGraphQL,
17
+ * queryGraphQLInputSchema
18
+ * );
19
+ * await safeHandler(unknownArgs);
20
+ */
21
+ export function createToolHandler(handler,
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ schema) {
24
+ return async (args) => {
25
+ try {
26
+ // Validate and parse arguments using the provided schema
27
+ // schema.parse returns TOutput (with defaults applied)
28
+ const validatedArgs = schema.parse(args ?? {});
29
+ // Call the handler with properly typed arguments
30
+ return await handler(validatedArgs);
31
+ }
32
+ catch (error) {
33
+ // If validation fails, return an error result
34
+ return {
35
+ content: [
36
+ {
37
+ type: 'text',
38
+ text: `Invalid input: ${error instanceof Error ? error.message : String(error)}`,
39
+ },
40
+ ],
41
+ isError: true,
42
+ };
43
+ }
44
+ };
45
+ }
46
+ /**
47
+ * Type-safe wrapper for tool handlers that don't need explicit validation
48
+ *
49
+ * @param handler - The tool handler function
50
+ * @returns A wrapper function that safely casts unknown arguments
51
+ *
52
+ * Note: Use createToolHandler with schema validation instead when possible
53
+ */
54
+ export function wrapToolHandler(handler) {
55
+ return async (args) => {
56
+ return await handler(args);
57
+ };
58
+ }
59
+ //# sourceMappingURL=tool-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-handler.js","sourceRoot":"","sources":["../../src/utils/tool-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoD;AACpD,8DAA8D;AAC9D,MAAuC;IAEvC,OAAO,KAAK,EAAE,IAAa,EAA2B,EAAE;QACtD,IAAI,CAAC;YACH,yDAAyD;YACzD,uDAAuD;YACvD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAE/C,iDAAiD;YACjD,OAAO,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8CAA8C;YAC9C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACjF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA8C;IAE9C,OAAO,KAAK,EAAE,IAAa,EAA2B,EAAE;QACtD,OAAO,MAAM,OAAO,CAAC,IAAS,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared Response Formatter for MCP Tools
3
+ *
4
+ * Centralized response formatting logic for all MCP tools.
5
+ * Provides consistent JSON formatting and success response structure.
6
+ */
7
+ import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
8
+ /**
9
+ * Create a standardized success response with JSON-formatted data
10
+ *
11
+ * @param data - The data to return in the response
12
+ * @param prettyPrint - Whether to pretty-print the JSON (default: true)
13
+ * @returns Standardized success response
14
+ */
15
+ export declare function createSuccessResponse(data: unknown, prettyPrint?: boolean): CallToolResult;
16
+ //# sourceMappingURL=tool-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-response.d.ts","sourceRoot":"","sources":["../../src/utils/tool-response.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,UAAO,GAAG,cAAc,CAUvF"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Shared Response Formatter for MCP Tools
3
+ *
4
+ * Centralized response formatting logic for all MCP tools.
5
+ * Provides consistent JSON formatting and success response structure.
6
+ */
7
+ /**
8
+ * Create a standardized success response with JSON-formatted data
9
+ *
10
+ * @param data - The data to return in the response
11
+ * @param prettyPrint - Whether to pretty-print the JSON (default: true)
12
+ * @returns Standardized success response
13
+ */
14
+ export function createSuccessResponse(data, prettyPrint = true) {
15
+ return {
16
+ content: [
17
+ {
18
+ type: 'text',
19
+ text: prettyPrint ? JSON.stringify(data, null, 2) : JSON.stringify(data),
20
+ },
21
+ ],
22
+ isError: false,
23
+ };
24
+ }
25
+ //# sourceMappingURL=tool-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-response.js","sourceRoot":"","sources":["../../src/utils/tool-response.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa,EAAE,WAAW,GAAG,IAAI;IACrE,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aACzE;SACF;QACD,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,359 @@
1
+ /**
2
+ * Input Validation Schemas
3
+ *
4
+ * Zod schemas for runtime type validation of tool inputs
5
+ */
6
+ import { z } from 'zod';
7
+ /**
8
+ * Reusable validation schemas
9
+ */
10
+ export declare const ethereumAddressSchema: z.ZodString;
11
+ export declare const chainIdSchema: z.ZodNumber;
12
+ export declare const paginationFirstSchema: z.ZodDefault<z.ZodNumber>;
13
+ export declare const paginationSkipSchema: z.ZodDefault<z.ZodNumber>;
14
+ /**
15
+ * Tool-specific validation schemas
16
+ */
17
+ export declare const queryGraphQLInputSchema: z.ZodObject<{
18
+ query: z.ZodString;
19
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ query: string;
22
+ variables?: Record<string, unknown> | undefined;
23
+ }, {
24
+ query: string;
25
+ variables?: Record<string, unknown> | undefined;
26
+ }>;
27
+ export declare const getVaultDataInputSchema: z.ZodObject<{
28
+ vaultAddress: z.ZodString;
29
+ chainId: z.ZodNumber;
30
+ }, "strip", z.ZodTypeAny, {
31
+ vaultAddress: string;
32
+ chainId: number;
33
+ }, {
34
+ vaultAddress: string;
35
+ chainId: number;
36
+ }>;
37
+ export declare const getUserPortfolioInputSchema: z.ZodObject<{
38
+ userAddress: z.ZodString;
39
+ responseFormat: z.ZodDefault<z.ZodEnum<["list", "summary", "full"]>>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ userAddress: string;
42
+ responseFormat: "full" | "list" | "summary";
43
+ }, {
44
+ userAddress: string;
45
+ responseFormat?: "full" | "list" | "summary" | undefined;
46
+ }>;
47
+ export declare const searchVaultsInputSchema: z.ZodObject<{
48
+ filters: z.ZodOptional<z.ZodObject<{
49
+ assetSymbol_eq: z.ZodOptional<z.ZodString>;
50
+ assetSymbol_in: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
51
+ assetId_eq: z.ZodOptional<z.ZodString>;
52
+ assetId_in: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
53
+ chainId_eq: z.ZodOptional<z.ZodNumber>;
54
+ chainId_in: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
55
+ state_totalAssetsUsd_gte: z.ZodOptional<z.ZodNumber>;
56
+ state_totalAssetsUsd_lte: z.ZodOptional<z.ZodNumber>;
57
+ curatorIds_contains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
58
+ curatorIds_contains_any: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
59
+ isVisible_eq: z.ZodOptional<z.ZodBoolean>;
60
+ address_eq: z.ZodOptional<z.ZodString>;
61
+ address_in: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
62
+ symbol_eq: z.ZodOptional<z.ZodString>;
63
+ symbol_in: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
64
+ integratorId_eq: z.ZodOptional<z.ZodString>;
65
+ integratorId_in: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ assetSymbol_eq?: string | undefined;
68
+ assetSymbol_in?: string[] | undefined;
69
+ assetId_eq?: string | undefined;
70
+ assetId_in?: string[] | undefined;
71
+ chainId_eq?: number | undefined;
72
+ chainId_in?: number[] | undefined;
73
+ state_totalAssetsUsd_gte?: number | undefined;
74
+ state_totalAssetsUsd_lte?: number | undefined;
75
+ curatorIds_contains?: string[] | undefined;
76
+ curatorIds_contains_any?: string[] | undefined;
77
+ isVisible_eq?: boolean | undefined;
78
+ address_eq?: string | undefined;
79
+ address_in?: string[] | undefined;
80
+ symbol_eq?: string | undefined;
81
+ symbol_in?: string[] | undefined;
82
+ integratorId_eq?: string | undefined;
83
+ integratorId_in?: string[] | undefined;
84
+ }, {
85
+ assetSymbol_eq?: string | undefined;
86
+ assetSymbol_in?: string[] | undefined;
87
+ assetId_eq?: string | undefined;
88
+ assetId_in?: string[] | undefined;
89
+ chainId_eq?: number | undefined;
90
+ chainId_in?: number[] | undefined;
91
+ state_totalAssetsUsd_gte?: number | undefined;
92
+ state_totalAssetsUsd_lte?: number | undefined;
93
+ curatorIds_contains?: string[] | undefined;
94
+ curatorIds_contains_any?: string[] | undefined;
95
+ isVisible_eq?: boolean | undefined;
96
+ address_eq?: string | undefined;
97
+ address_in?: string[] | undefined;
98
+ symbol_eq?: string | undefined;
99
+ symbol_in?: string[] | undefined;
100
+ integratorId_eq?: string | undefined;
101
+ integratorId_in?: string[] | undefined;
102
+ }>>;
103
+ pagination: z.ZodOptional<z.ZodObject<{
104
+ first: z.ZodDefault<z.ZodNumber>;
105
+ skip: z.ZodDefault<z.ZodNumber>;
106
+ }, "strip", z.ZodTypeAny, {
107
+ first: number;
108
+ skip: number;
109
+ }, {
110
+ first?: number | undefined;
111
+ skip?: number | undefined;
112
+ }>>;
113
+ orderBy: z.ZodDefault<z.ZodString>;
114
+ orderDirection: z.ZodDefault<z.ZodEnum<["asc", "desc"]>>;
115
+ responseFormat: z.ZodDefault<z.ZodEnum<["list", "summary", "full"]>>;
116
+ maxResults: z.ZodDefault<z.ZodNumber>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ responseFormat: "full" | "list" | "summary";
119
+ orderBy: string;
120
+ orderDirection: "asc" | "desc";
121
+ maxResults: number;
122
+ filters?: {
123
+ assetSymbol_eq?: string | undefined;
124
+ assetSymbol_in?: string[] | undefined;
125
+ assetId_eq?: string | undefined;
126
+ assetId_in?: string[] | undefined;
127
+ chainId_eq?: number | undefined;
128
+ chainId_in?: number[] | undefined;
129
+ state_totalAssetsUsd_gte?: number | undefined;
130
+ state_totalAssetsUsd_lte?: number | undefined;
131
+ curatorIds_contains?: string[] | undefined;
132
+ curatorIds_contains_any?: string[] | undefined;
133
+ isVisible_eq?: boolean | undefined;
134
+ address_eq?: string | undefined;
135
+ address_in?: string[] | undefined;
136
+ symbol_eq?: string | undefined;
137
+ symbol_in?: string[] | undefined;
138
+ integratorId_eq?: string | undefined;
139
+ integratorId_in?: string[] | undefined;
140
+ } | undefined;
141
+ pagination?: {
142
+ first: number;
143
+ skip: number;
144
+ } | undefined;
145
+ }, {
146
+ responseFormat?: "full" | "list" | "summary" | undefined;
147
+ filters?: {
148
+ assetSymbol_eq?: string | undefined;
149
+ assetSymbol_in?: string[] | undefined;
150
+ assetId_eq?: string | undefined;
151
+ assetId_in?: string[] | undefined;
152
+ chainId_eq?: number | undefined;
153
+ chainId_in?: number[] | undefined;
154
+ state_totalAssetsUsd_gte?: number | undefined;
155
+ state_totalAssetsUsd_lte?: number | undefined;
156
+ curatorIds_contains?: string[] | undefined;
157
+ curatorIds_contains_any?: string[] | undefined;
158
+ isVisible_eq?: boolean | undefined;
159
+ address_eq?: string | undefined;
160
+ address_in?: string[] | undefined;
161
+ symbol_eq?: string | undefined;
162
+ symbol_in?: string[] | undefined;
163
+ integratorId_eq?: string | undefined;
164
+ integratorId_in?: string[] | undefined;
165
+ } | undefined;
166
+ pagination?: {
167
+ first?: number | undefined;
168
+ skip?: number | undefined;
169
+ } | undefined;
170
+ orderBy?: string | undefined;
171
+ orderDirection?: "asc" | "desc" | undefined;
172
+ maxResults?: number | undefined;
173
+ }>;
174
+ export declare const getVaultPerformanceInputSchema: z.ZodObject<{
175
+ vaultAddress: z.ZodString;
176
+ chainId: z.ZodNumber;
177
+ timeRange: z.ZodEnum<["7d", "30d", "90d", "1y"]>;
178
+ includeSDKCalculations: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
179
+ responseFormat: z.ZodDefault<z.ZodEnum<["summary", "detailed"]>>;
180
+ }, "strip", z.ZodTypeAny, {
181
+ vaultAddress: string;
182
+ chainId: number;
183
+ responseFormat: "summary" | "detailed";
184
+ timeRange: "7d" | "30d" | "90d" | "1y";
185
+ includeSDKCalculations: boolean;
186
+ }, {
187
+ vaultAddress: string;
188
+ chainId: number;
189
+ timeRange: "7d" | "30d" | "90d" | "1y";
190
+ responseFormat?: "summary" | "detailed" | undefined;
191
+ includeSDKCalculations?: boolean | undefined;
192
+ }>;
193
+ export declare const getTransactionsInputSchema: z.ZodObject<{
194
+ vaultAddress: z.ZodString;
195
+ chainId: z.ZodNumber;
196
+ transactionTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<["SettleDeposit", "SettleRedeem", "DepositRequest", "RedeemRequest", "NewTotalAssetsUpdated", "TotalAssetsUpdated", "PeriodSummary", "DepositSync", "DepositRequestCanceled", "RatesUpdated", "StateUpdated"]>, "many">>;
197
+ pagination: z.ZodOptional<z.ZodObject<{
198
+ first: z.ZodDefault<z.ZodNumber>;
199
+ skip: z.ZodDefault<z.ZodNumber>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ first: number;
202
+ skip: number;
203
+ }, {
204
+ first?: number | undefined;
205
+ skip?: number | undefined;
206
+ }>>;
207
+ orderBy: z.ZodDefault<z.ZodEnum<["blockNumber", "timestamp", "id", "chainId"]>>;
208
+ orderDirection: z.ZodDefault<z.ZodEnum<["asc", "desc"]>>;
209
+ responseFormat: z.ZodDefault<z.ZodEnum<["summary", "list", "detailed"]>>;
210
+ }, "strip", z.ZodTypeAny, {
211
+ vaultAddress: string;
212
+ chainId: number;
213
+ responseFormat: "list" | "summary" | "detailed";
214
+ orderBy: "chainId" | "blockNumber" | "timestamp" | "id";
215
+ orderDirection: "asc" | "desc";
216
+ pagination?: {
217
+ first: number;
218
+ skip: number;
219
+ } | undefined;
220
+ transactionTypes?: ("SettleDeposit" | "SettleRedeem" | "DepositRequest" | "RedeemRequest" | "NewTotalAssetsUpdated" | "TotalAssetsUpdated" | "PeriodSummary" | "DepositSync" | "DepositRequestCanceled" | "RatesUpdated" | "StateUpdated")[] | undefined;
221
+ }, {
222
+ vaultAddress: string;
223
+ chainId: number;
224
+ responseFormat?: "list" | "summary" | "detailed" | undefined;
225
+ pagination?: {
226
+ first?: number | undefined;
227
+ skip?: number | undefined;
228
+ } | undefined;
229
+ orderBy?: "chainId" | "blockNumber" | "timestamp" | "id" | undefined;
230
+ orderDirection?: "asc" | "desc" | undefined;
231
+ transactionTypes?: ("SettleDeposit" | "SettleRedeem" | "DepositRequest" | "RedeemRequest" | "NewTotalAssetsUpdated" | "TotalAssetsUpdated" | "PeriodSummary" | "DepositSync" | "DepositRequestCanceled" | "RatesUpdated" | "StateUpdated")[] | undefined;
232
+ }>;
233
+ export declare const compareVaultsInputSchema: z.ZodObject<{
234
+ vaultAddresses: z.ZodArray<z.ZodString, "many">;
235
+ chainId: z.ZodNumber;
236
+ responseFormat: z.ZodDefault<z.ZodEnum<["summary", "full"]>>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ chainId: number;
239
+ responseFormat: "full" | "summary";
240
+ vaultAddresses: string[];
241
+ }, {
242
+ chainId: number;
243
+ vaultAddresses: string[];
244
+ responseFormat?: "full" | "summary" | undefined;
245
+ }>;
246
+ export declare const priceHistoryInputSchema: z.ZodObject<{
247
+ vaultAddress: z.ZodString;
248
+ chainId: z.ZodNumber;
249
+ timeRange: z.ZodEnum<["7d", "30d", "90d", "1y", "all"]>;
250
+ responseFormat: z.ZodDefault<z.ZodEnum<["summary", "detailed"]>>;
251
+ }, "strip", z.ZodTypeAny, {
252
+ vaultAddress: string;
253
+ chainId: number;
254
+ responseFormat: "summary" | "detailed";
255
+ timeRange: "all" | "7d" | "30d" | "90d" | "1y";
256
+ }, {
257
+ vaultAddress: string;
258
+ chainId: number;
259
+ timeRange: "all" | "7d" | "30d" | "90d" | "1y";
260
+ responseFormat?: "summary" | "detailed" | undefined;
261
+ }>;
262
+ export declare const exportDataInputSchema: z.ZodObject<{
263
+ vaultAddresses: z.ZodArray<z.ZodString, "many">;
264
+ chainId: z.ZodNumber;
265
+ dataType: z.ZodEnum<["vaults", "transactions", "price_history", "performance"]>;
266
+ format: z.ZodEnum<["csv", "json"]>;
267
+ }, "strip", z.ZodTypeAny, {
268
+ chainId: number;
269
+ vaultAddresses: string[];
270
+ dataType: "price_history" | "vaults" | "transactions" | "performance";
271
+ format: "csv" | "json";
272
+ }, {
273
+ chainId: number;
274
+ vaultAddresses: string[];
275
+ dataType: "price_history" | "vaults" | "transactions" | "performance";
276
+ format: "csv" | "json";
277
+ }>;
278
+ export declare const analyzeRiskInputSchema: z.ZodObject<{
279
+ vaultAddress: z.ZodString;
280
+ chainId: z.ZodNumber;
281
+ responseFormat: z.ZodDefault<z.ZodEnum<["score", "summary", "detailed"]>>;
282
+ }, "strip", z.ZodTypeAny, {
283
+ vaultAddress: string;
284
+ chainId: number;
285
+ responseFormat: "summary" | "detailed" | "score";
286
+ }, {
287
+ vaultAddress: string;
288
+ chainId: number;
289
+ responseFormat?: "summary" | "detailed" | "score" | undefined;
290
+ }>;
291
+ export declare const predictYieldInputSchema: z.ZodObject<{
292
+ vaultAddress: z.ZodString;
293
+ chainId: z.ZodNumber;
294
+ timeRange: z.ZodEnum<["7d", "30d", "90d"]>;
295
+ responseFormat: z.ZodDefault<z.ZodEnum<["quick", "detailed"]>>;
296
+ }, "strip", z.ZodTypeAny, {
297
+ vaultAddress: string;
298
+ chainId: number;
299
+ responseFormat: "detailed" | "quick";
300
+ timeRange: "7d" | "30d" | "90d";
301
+ }, {
302
+ vaultAddress: string;
303
+ chainId: number;
304
+ timeRange: "7d" | "30d" | "90d";
305
+ responseFormat?: "detailed" | "quick" | undefined;
306
+ }>;
307
+ export declare const optimizePortfolioInputSchema: z.ZodObject<{
308
+ vaultAddresses: z.ZodArray<z.ZodString, "many">;
309
+ chainId: z.ZodNumber;
310
+ currentPositions: z.ZodArray<z.ZodObject<{
311
+ vaultAddress: z.ZodString;
312
+ valueUsd: z.ZodNumber;
313
+ }, "strip", z.ZodTypeAny, {
314
+ vaultAddress: string;
315
+ valueUsd: number;
316
+ }, {
317
+ vaultAddress: string;
318
+ valueUsd: number;
319
+ }>, "many">;
320
+ strategy: z.ZodDefault<z.ZodEnum<["equal_weight", "risk_parity", "max_sharpe", "min_variance"]>>;
321
+ rebalanceThreshold: z.ZodDefault<z.ZodNumber>;
322
+ responseFormat: z.ZodDefault<z.ZodEnum<["quick", "balanced", "detailed"]>>;
323
+ }, "strip", z.ZodTypeAny, {
324
+ chainId: number;
325
+ responseFormat: "detailed" | "quick" | "balanced";
326
+ vaultAddresses: string[];
327
+ currentPositions: {
328
+ vaultAddress: string;
329
+ valueUsd: number;
330
+ }[];
331
+ strategy: "equal_weight" | "risk_parity" | "max_sharpe" | "min_variance";
332
+ rebalanceThreshold: number;
333
+ }, {
334
+ chainId: number;
335
+ vaultAddresses: string[];
336
+ currentPositions: {
337
+ vaultAddress: string;
338
+ valueUsd: number;
339
+ }[];
340
+ responseFormat?: "detailed" | "quick" | "balanced" | undefined;
341
+ strategy?: "equal_weight" | "risk_parity" | "max_sharpe" | "min_variance" | undefined;
342
+ rebalanceThreshold?: number | undefined;
343
+ }>;
344
+ /**
345
+ * Type inference helpers
346
+ */
347
+ export type QueryGraphQLInput = z.infer<typeof queryGraphQLInputSchema>;
348
+ export type GetVaultDataInput = z.infer<typeof getVaultDataInputSchema>;
349
+ export type GetUserPortfolioInput = z.infer<typeof getUserPortfolioInputSchema>;
350
+ export type SearchVaultsInput = z.infer<typeof searchVaultsInputSchema>;
351
+ export type GetVaultPerformanceInput = z.infer<typeof getVaultPerformanceInputSchema>;
352
+ export type GetTransactionsInput = z.infer<typeof getTransactionsInputSchema>;
353
+ export type CompareVaultsInput = z.infer<typeof compareVaultsInputSchema>;
354
+ export type PriceHistoryInput = z.infer<typeof priceHistoryInputSchema>;
355
+ export type ExportDataInput = z.infer<typeof exportDataInputSchema>;
356
+ export type AnalyzeRiskInput = z.infer<typeof analyzeRiskInputSchema>;
357
+ export type PredictYieldInput = z.infer<typeof predictYieldInputSchema>;
358
+ export type OptimizePortfolioInput = z.infer<typeof optimizePortfolioInputSchema>;
359
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAGH,eAAO,MAAM,qBAAqB,aAK/B,CAAC;AAGJ,eAAO,MAAM,aAAa,aAAmE,CAAC;AAG9F,eAAO,MAAM,qBAAqB,2BAKnB,CAAC;AAGhB,eAAO,MAAM,oBAAoB,2BAIpB,CAAC;AAEd;;GAEG;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAGH,eAAO,MAAM,2BAA2B;;;;;;;;;EAQtC,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDlC,CAAC;AAGH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;EAazC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCrC,CAAC;AAGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAYnC,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAYlC,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAWhC,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EASjC,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAYlC,CAAC;AAGH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BvC,CAAC;AAEH;;GAEG;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}