@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.
- package/LICENSE +201 -0
- package/README.md +618 -0
- package/dist/cache/index.d.ts +97 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +106 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/config.d.ts +34 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +40 -0
- package/dist/config.js.map +1 -0
- package/dist/core/cache-adapter.d.ts +73 -0
- package/dist/core/cache-adapter.d.ts.map +1 -0
- package/dist/core/cache-adapter.js +47 -0
- package/dist/core/cache-adapter.js.map +1 -0
- package/dist/core/cache-invalidation.d.ts +72 -0
- package/dist/core/cache-invalidation.d.ts.map +1 -0
- package/dist/core/cache-invalidation.js +114 -0
- package/dist/core/cache-invalidation.js.map +1 -0
- package/dist/core/container.d.ts +34 -0
- package/dist/core/container.d.ts.map +1 -0
- package/dist/core/container.js +75 -0
- package/dist/core/container.js.map +1 -0
- package/dist/graphql/client.d.ts +32 -0
- package/dist/graphql/client.d.ts.map +1 -0
- package/dist/graphql/client.js +49 -0
- package/dist/graphql/client.js.map +1 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.d.ts +64 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.js +62 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.js.map +1 -0
- package/dist/graphql/fragments/asset-info.fragment.d.ts +18 -0
- package/dist/graphql/fragments/asset-info.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/asset-info.fragment.js +36 -0
- package/dist/graphql/fragments/asset-info.fragment.js.map +1 -0
- package/dist/graphql/fragments/chain-info.fragment.d.ts +18 -0
- package/dist/graphql/fragments/chain-info.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/chain-info.fragment.js +32 -0
- package/dist/graphql/fragments/chain-info.fragment.js.map +1 -0
- package/dist/graphql/fragments/index.d.ts +15 -0
- package/dist/graphql/fragments/index.d.ts.map +1 -0
- package/dist/graphql/fragments/index.js +21 -0
- package/dist/graphql/fragments/index.js.map +1 -0
- package/dist/graphql/fragments/pageinfo.fragment.d.ts +33 -0
- package/dist/graphql/fragments/pageinfo.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/pageinfo.fragment.js +47 -0
- package/dist/graphql/fragments/pageinfo.fragment.js.map +1 -0
- package/dist/graphql/fragments/transaction-base.fragment.d.ts +19 -0
- package/dist/graphql/fragments/transaction-base.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/transaction-base.fragment.js +32 -0
- package/dist/graphql/fragments/transaction-base.fragment.js.map +1 -0
- package/dist/graphql/fragments/vault-list.fragment.d.ts +53 -0
- package/dist/graphql/fragments/vault-list.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/vault-list.fragment.js +51 -0
- package/dist/graphql/fragments/vault-list.fragment.js.map +1 -0
- package/dist/graphql/fragments/vault-summary.fragment.d.ts +68 -0
- package/dist/graphql/fragments/vault-summary.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/vault-summary.fragment.js +66 -0
- package/dist/graphql/fragments/vault-summary.fragment.js.map +1 -0
- package/dist/graphql/fragments/vault.fragment.d.ts +133 -0
- package/dist/graphql/fragments/vault.fragment.d.ts.map +1 -0
- package/dist/graphql/fragments/vault.fragment.js +119 -0
- package/dist/graphql/fragments/vault.fragment.js.map +1 -0
- package/dist/graphql/fragments.d.ts +183 -0
- package/dist/graphql/fragments.d.ts.map +1 -0
- package/dist/graphql/fragments.js +297 -0
- package/dist/graphql/fragments.js.map +1 -0
- package/dist/graphql/queries/export.queries.d.ts +72 -0
- package/dist/graphql/queries/export.queries.d.ts.map +1 -0
- package/dist/graphql/queries/export.queries.js +202 -0
- package/dist/graphql/queries/export.queries.js.map +1 -0
- package/dist/graphql/queries/index.d.ts +15 -0
- package/dist/graphql/queries/index.d.ts.map +1 -0
- package/dist/graphql/queries/index.js +23 -0
- package/dist/graphql/queries/index.js.map +1 -0
- package/dist/graphql/queries/performance.queries.d.ts +63 -0
- package/dist/graphql/queries/performance.queries.d.ts.map +1 -0
- package/dist/graphql/queries/performance.queries.js +133 -0
- package/dist/graphql/queries/performance.queries.js.map +1 -0
- package/dist/graphql/queries/period-summaries.d.ts +15 -0
- package/dist/graphql/queries/period-summaries.d.ts.map +1 -0
- package/dist/graphql/queries/period-summaries.js +24 -0
- package/dist/graphql/queries/period-summaries.js.map +1 -0
- package/dist/graphql/queries/portfolio.queries.d.ts +78 -0
- package/dist/graphql/queries/portfolio.queries.d.ts.map +1 -0
- package/dist/graphql/queries/portfolio.queries.js +198 -0
- package/dist/graphql/queries/portfolio.queries.js.map +1 -0
- package/dist/graphql/queries/prediction.queries.d.ts +38 -0
- package/dist/graphql/queries/prediction.queries.d.ts.map +1 -0
- package/dist/graphql/queries/prediction.queries.js +100 -0
- package/dist/graphql/queries/prediction.queries.js.map +1 -0
- package/dist/graphql/queries/risk.queries.d.ts +37 -0
- package/dist/graphql/queries/risk.queries.d.ts.map +1 -0
- package/dist/graphql/queries/risk.queries.js +90 -0
- package/dist/graphql/queries/risk.queries.js.map +1 -0
- package/dist/graphql/queries/search.queries.d.ts +61 -0
- package/dist/graphql/queries/search.queries.d.ts.map +1 -0
- package/dist/graphql/queries/search.queries.js +103 -0
- package/dist/graphql/queries/search.queries.js.map +1 -0
- package/dist/graphql/queries/transaction.queries.d.ts +60 -0
- package/dist/graphql/queries/transaction.queries.d.ts.map +1 -0
- package/dist/graphql/queries/transaction.queries.js +252 -0
- package/dist/graphql/queries/transaction.queries.js.map +1 -0
- package/dist/graphql/queries/vault.queries.d.ts +54 -0
- package/dist/graphql/queries/vault.queries.d.ts.map +1 -0
- package/dist/graphql/queries/vault.queries.js +78 -0
- package/dist/graphql/queries/vault.queries.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/competitor-comparison.d.ts +8 -0
- package/dist/prompts/competitor-comparison.d.ts.map +1 -0
- package/dist/prompts/competitor-comparison.js +432 -0
- package/dist/prompts/competitor-comparison.js.map +1 -0
- package/dist/prompts/curator-performance.d.ts +8 -0
- package/dist/prompts/curator-performance.d.ts.map +1 -0
- package/dist/prompts/curator-performance.js +383 -0
- package/dist/prompts/curator-performance.js.map +1 -0
- package/dist/prompts/financial-analysis.d.ts +8 -0
- package/dist/prompts/financial-analysis.d.ts.map +1 -0
- package/dist/prompts/financial-analysis.js +480 -0
- package/dist/prompts/financial-analysis.js.map +1 -0
- package/dist/prompts/index.d.ts +21 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +50 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/onboarding-first-vault.d.ts +8 -0
- package/dist/prompts/onboarding-first-vault.d.ts.map +1 -0
- package/dist/prompts/onboarding-first-vault.js +317 -0
- package/dist/prompts/onboarding-first-vault.js.map +1 -0
- package/dist/prompts/portfolio-optimization.d.ts +8 -0
- package/dist/prompts/portfolio-optimization.d.ts.map +1 -0
- package/dist/prompts/portfolio-optimization.js +412 -0
- package/dist/prompts/portfolio-optimization.js.map +1 -0
- package/dist/prompts/protocol-overview.d.ts +8 -0
- package/dist/prompts/protocol-overview.d.ts.map +1 -0
- package/dist/prompts/protocol-overview.js +398 -0
- package/dist/prompts/protocol-overview.js.map +1 -0
- package/dist/prompts/shared/disclaimers.d.ts +54 -0
- package/dist/prompts/shared/disclaimers.d.ts.map +1 -0
- package/dist/prompts/shared/disclaimers.js +400 -0
- package/dist/prompts/shared/disclaimers.js.map +1 -0
- package/dist/resources/glossary.d.ts +8 -0
- package/dist/resources/glossary.d.ts.map +1 -0
- package/dist/resources/glossary.js +407 -0
- package/dist/resources/glossary.js.map +1 -0
- package/dist/resources/index.d.ts +18 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +29 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/schema.d.ts +22 -0
- package/dist/resources/schema.d.ts.map +1 -0
- package/dist/resources/schema.js +67 -0
- package/dist/resources/schema.js.map +1 -0
- package/dist/schemas/config.schema.d.ts +46 -0
- package/dist/schemas/config.schema.d.ts.map +1 -0
- package/dist/schemas/config.schema.js +48 -0
- package/dist/schemas/config.schema.js.map +1 -0
- package/dist/sdk/__tests__/apr-service.test.d.ts +7 -0
- package/dist/sdk/__tests__/apr-service.test.d.ts.map +1 -0
- package/dist/sdk/__tests__/apr-service.test.js +385 -0
- package/dist/sdk/__tests__/apr-service.test.js.map +1 -0
- package/dist/sdk/__tests__/math-utils.test.d.ts +7 -0
- package/dist/sdk/__tests__/math-utils.test.d.ts.map +1 -0
- package/dist/sdk/__tests__/math-utils.test.js +185 -0
- package/dist/sdk/__tests__/math-utils.test.js.map +1 -0
- package/dist/sdk/__tests__/simulation-service.test.d.ts +5 -0
- package/dist/sdk/__tests__/simulation-service.test.d.ts.map +1 -0
- package/dist/sdk/__tests__/simulation-service.test.js +397 -0
- package/dist/sdk/__tests__/simulation-service.test.js.map +1 -0
- package/dist/sdk/__tests__/vault-utils.test.d.ts +7 -0
- package/dist/sdk/__tests__/vault-utils.test.d.ts.map +1 -0
- package/dist/sdk/__tests__/vault-utils.test.js +189 -0
- package/dist/sdk/__tests__/vault-utils.test.js.map +1 -0
- package/dist/sdk/apr-service.d.ts +101 -0
- package/dist/sdk/apr-service.d.ts.map +1 -0
- package/dist/sdk/apr-service.js +175 -0
- package/dist/sdk/apr-service.js.map +1 -0
- package/dist/sdk/math-utils.d.ts +138 -0
- package/dist/sdk/math-utils.d.ts.map +1 -0
- package/dist/sdk/math-utils.js +218 -0
- package/dist/sdk/math-utils.js.map +1 -0
- package/dist/sdk/simulation-service.d.ts +106 -0
- package/dist/sdk/simulation-service.d.ts.map +1 -0
- package/dist/sdk/simulation-service.js +143 -0
- package/dist/sdk/simulation-service.js.map +1 -0
- package/dist/sdk/vault-utils.d.ts +125 -0
- package/dist/sdk/vault-utils.d.ts.map +1 -0
- package/dist/sdk/vault-utils.js +165 -0
- package/dist/sdk/vault-utils.js.map +1 -0
- package/dist/server.d.ts +21 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +225 -0
- package/dist/server.js.map +1 -0
- package/dist/services/analytics/protocol-overview.service.d.ts +61 -0
- package/dist/services/analytics/protocol-overview.service.d.ts.map +1 -0
- package/dist/services/analytics/protocol-overview.service.js +182 -0
- package/dist/services/analytics/protocol-overview.service.js.map +1 -0
- package/dist/services/analytics/risk.service.d.ts +92 -0
- package/dist/services/analytics/risk.service.d.ts.map +1 -0
- package/dist/services/analytics/risk.service.js +423 -0
- package/dist/services/analytics/risk.service.js.map +1 -0
- package/dist/services/base.service.d.ts +39 -0
- package/dist/services/base.service.d.ts.map +1 -0
- package/dist/services/base.service.js +37 -0
- package/dist/services/base.service.js.map +1 -0
- package/dist/services/index.d.ts +30 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +101 -0
- package/dist/services/index.js.map +1 -0
- package/dist/tools/__tests__/simulate-vault.test.d.ts +5 -0
- package/dist/tools/__tests__/simulate-vault.test.d.ts.map +1 -0
- package/dist/tools/__tests__/simulate-vault.test.js +363 -0
- package/dist/tools/__tests__/simulate-vault.test.js.map +1 -0
- package/dist/tools/analyze-risk.d.ts +34 -0
- package/dist/tools/analyze-risk.d.ts.map +1 -0
- package/dist/tools/analyze-risk.js +100 -0
- package/dist/tools/analyze-risk.js.map +1 -0
- package/dist/tools/compare-vaults.d.ts +29 -0
- package/dist/tools/compare-vaults.d.ts.map +1 -0
- package/dist/tools/compare-vaults.js +285 -0
- package/dist/tools/compare-vaults.js.map +1 -0
- package/dist/tools/export-data.d.ts +34 -0
- package/dist/tools/export-data.d.ts.map +1 -0
- package/dist/tools/export-data.js +309 -0
- package/dist/tools/export-data.js.map +1 -0
- package/dist/tools/get-price-history.d.ts +29 -0
- package/dist/tools/get-price-history.d.ts.map +1 -0
- package/dist/tools/get-price-history.js +236 -0
- package/dist/tools/get-price-history.js.map +1 -0
- package/dist/tools/get-transactions.d.ts +29 -0
- package/dist/tools/get-transactions.d.ts.map +1 -0
- package/dist/tools/get-transactions.js +181 -0
- package/dist/tools/get-transactions.js.map +1 -0
- package/dist/tools/index.d.ts +26 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +32 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/optimize-portfolio.d.ts +37 -0
- package/dist/tools/optimize-portfolio.d.ts.map +1 -0
- package/dist/tools/optimize-portfolio.js +459 -0
- package/dist/tools/optimize-portfolio.js.map +1 -0
- package/dist/tools/predict-yield.d.ts +30 -0
- package/dist/tools/predict-yield.d.ts.map +1 -0
- package/dist/tools/predict-yield.js +248 -0
- package/dist/tools/predict-yield.js.map +1 -0
- package/dist/tools/query-graphql.d.ts +35 -0
- package/dist/tools/query-graphql.d.ts.map +1 -0
- package/dist/tools/query-graphql.js +54 -0
- package/dist/tools/query-graphql.js.map +1 -0
- package/dist/tools/registry.d.ts +42 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +231 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search-vaults.d.ts +40 -0
- package/dist/tools/search-vaults.d.ts.map +1 -0
- package/dist/tools/search-vaults.js +184 -0
- package/dist/tools/search-vaults.js.map +1 -0
- package/dist/tools/simulate-vault.d.ts +80 -0
- package/dist/tools/simulate-vault.d.ts.map +1 -0
- package/dist/tools/simulate-vault.js +281 -0
- package/dist/tools/simulate-vault.js.map +1 -0
- package/dist/tools/user-portfolio.d.ts +30 -0
- package/dist/tools/user-portfolio.d.ts.map +1 -0
- package/dist/tools/user-portfolio.js +142 -0
- package/dist/tools/user-portfolio.js.map +1 -0
- package/dist/tools/vault-data.d.ts +23 -0
- package/dist/tools/vault-data.d.ts.map +1 -0
- package/dist/tools/vault-data.js +68 -0
- package/dist/tools/vault-data.js.map +1 -0
- package/dist/tools/vault-performance.d.ts +30 -0
- package/dist/tools/vault-performance.d.ts.map +1 -0
- package/dist/tools/vault-performance.js +275 -0
- package/dist/tools/vault-performance.js.map +1 -0
- package/dist/types/generated.d.ts +1109 -0
- package/dist/types/generated.d.ts.map +1 -0
- package/dist/types/generated.js +2 -0
- package/dist/types/generated.js.map +1 -0
- package/dist/types/index.d.ts +46 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/comparison-metrics.d.ts +120 -0
- package/dist/utils/comparison-metrics.d.ts.map +1 -0
- package/dist/utils/comparison-metrics.js +215 -0
- package/dist/utils/comparison-metrics.js.map +1 -0
- package/dist/utils/config-loader.d.ts +17 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +45 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/csv-generator.d.ts +89 -0
- package/dist/utils/csv-generator.d.ts.map +1 -0
- package/dist/utils/csv-generator.js +97 -0
- package/dist/utils/csv-generator.js.map +1 -0
- package/dist/utils/disclaimers.d.ts +70 -0
- package/dist/utils/disclaimers.d.ts.map +1 -0
- package/dist/utils/disclaimers.js +161 -0
- package/dist/utils/disclaimers.js.map +1 -0
- package/dist/utils/errors.d.ts +66 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +86 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/execute-tool-with-cache.d.ts +97 -0
- package/dist/utils/execute-tool-with-cache.d.ts.map +1 -0
- package/dist/utils/execute-tool-with-cache.js +105 -0
- package/dist/utils/execute-tool-with-cache.js.map +1 -0
- package/dist/utils/portfolio-optimization.d.ts +100 -0
- package/dist/utils/portfolio-optimization.d.ts.map +1 -0
- package/dist/utils/portfolio-optimization.js +283 -0
- package/dist/utils/portfolio-optimization.js.map +1 -0
- package/dist/utils/risk-scoring.d.ts +226 -0
- package/dist/utils/risk-scoring.d.ts.map +1 -0
- package/dist/utils/risk-scoring.js +523 -0
- package/dist/utils/risk-scoring.js.map +1 -0
- package/dist/utils/tool-error-handler.d.ts +16 -0
- package/dist/utils/tool-error-handler.d.ts.map +1 -0
- package/dist/utils/tool-error-handler.js +43 -0
- package/dist/utils/tool-error-handler.js.map +1 -0
- package/dist/utils/tool-handler.d.ts +33 -0
- package/dist/utils/tool-handler.d.ts.map +1 -0
- package/dist/utils/tool-handler.js +59 -0
- package/dist/utils/tool-handler.js.map +1 -0
- package/dist/utils/tool-response.d.ts +16 -0
- package/dist/utils/tool-response.d.ts.map +1 -0
- package/dist/utils/tool-response.js +25 -0
- package/dist/utils/tool-response.js.map +1 -0
- package/dist/utils/validators.d.ts +359 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +233 -0
- package/dist/utils/validators.js.map +1 -0
- package/dist/utils/yield-prediction.d.ts +69 -0
- package/dist/utils/yield-prediction.d.ts.map +1 -0
- package/dist/utils/yield-prediction.js +290 -0
- package/dist/utils/yield-prediction.js.map +1 -0
- 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"}
|