@lagoon-protocol/lagoon-mcp 0.2.24 → 0.3.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 (32) hide show
  1. package/dist/graphql/queries/index.d.ts +1 -1
  2. package/dist/graphql/queries/index.d.ts.map +1 -1
  3. package/dist/graphql/queries/index.js +1 -1
  4. package/dist/graphql/queries/index.js.map +1 -1
  5. package/dist/graphql/queries/vault.queries.d.ts +34 -0
  6. package/dist/graphql/queries/vault.queries.d.ts.map +1 -1
  7. package/dist/graphql/queries/vault.queries.js +37 -0
  8. package/dist/graphql/queries/vault.queries.js.map +1 -1
  9. package/dist/server.js +1 -1
  10. package/dist/server.js.map +1 -1
  11. package/dist/services/analytics/risk.service.d.ts +72 -0
  12. package/dist/services/analytics/risk.service.d.ts.map +1 -1
  13. package/dist/services/analytics/risk.service.js +128 -0
  14. package/dist/services/analytics/risk.service.js.map +1 -1
  15. package/dist/tools/analyze-risk.d.ts.map +1 -1
  16. package/dist/tools/analyze-risk.js +46 -40
  17. package/dist/tools/analyze-risk.js.map +1 -1
  18. package/dist/tools/compare-vaults.d.ts.map +1 -1
  19. package/dist/tools/compare-vaults.js +41 -32
  20. package/dist/tools/compare-vaults.js.map +1 -1
  21. package/dist/tools/optimize-portfolio.d.ts +3 -2
  22. package/dist/tools/optimize-portfolio.d.ts.map +1 -1
  23. package/dist/tools/optimize-portfolio.js +9 -6
  24. package/dist/tools/optimize-portfolio.js.map +1 -1
  25. package/dist/tools/user-portfolio.d.ts.map +1 -1
  26. package/dist/tools/user-portfolio.js +6 -5
  27. package/dist/tools/user-portfolio.js.map +1 -1
  28. package/dist/utils/rate-limiter.d.ts +78 -0
  29. package/dist/utils/rate-limiter.d.ts.map +1 -0
  30. package/dist/utils/rate-limiter.js +79 -0
  31. package/dist/utils/rate-limiter.js.map +1 -0
  32. package/package.json +2 -1
@@ -44,18 +44,30 @@ export function createExecuteAnalyzeRisk(container) {
44
44
  CacheTag.ANALYTICS,
45
45
  CacheTag.VAULT,
46
46
  ]);
47
- // Check cache
48
- const cached = container.cache.get(cacheKey);
49
- if (cached) {
47
+ // Helper to build response with structured JSON
48
+ const buildResponse = (breakdown, isCached) => {
49
+ const markdown = riskService.formatRiskBreakdown(breakdown, responseFormat);
50
+ const structuredData = riskService.toStructuredRiskData(breakdown, input.vaultAddress, input.chainId);
51
+ const cacheNote = isCached ? `\n\n_Cached result from ${new Date().toISOString()}_` : '';
52
+ const disclaimer = getToolDisclaimer('analyze_risk');
53
+ const responseText = `${markdown}${disclaimer}${cacheNote}
54
+
55
+ ---
56
+ ## Structured Risk Data (for UI blocks)
57
+ The following JSON contains structured risk data for building risk analysis UI blocks.
58
+
59
+ \`\`\`json
60
+ ${JSON.stringify({ risk: structuredData }, null, 2)}
61
+ \`\`\``;
50
62
  return {
51
- content: [
52
- {
53
- type: 'text',
54
- text: `${riskService.formatRiskBreakdown(cached, responseFormat)}\n\n_Cached result from ${new Date().toISOString()}_`,
55
- },
56
- ],
63
+ content: [{ type: 'text', text: responseText }],
57
64
  isError: false,
58
65
  };
66
+ };
67
+ // Check cache
68
+ const cached = container.cache.get(cacheKey);
69
+ if (cached) {
70
+ return buildResponse(cached, true);
59
71
  }
60
72
  // Perform analysis using service
61
73
  const riskBreakdown = await riskService.analyze(input.vaultAddress, input.chainId);
@@ -72,17 +84,8 @@ export function createExecuteAnalyzeRisk(container) {
72
84
  }
73
85
  // Cache the result
74
86
  container.cache.set(cacheKey, riskBreakdown, cacheTTL.riskAnalysis);
75
- // Return formatted analysis with legal disclaimer
76
- return {
77
- content: [
78
- {
79
- type: 'text',
80
- text: riskService.formatRiskBreakdown(riskBreakdown, responseFormat) +
81
- getToolDisclaimer('analyze_risk'),
82
- },
83
- ],
84
- isError: false,
85
- };
87
+ // Return formatted analysis with structured JSON for UI blocks
88
+ return buildResponse(riskBreakdown, false);
86
89
  }
87
90
  catch (error) {
88
91
  return {
@@ -130,18 +133,30 @@ export function createExecuteAnalyzeRisks(container) {
130
133
  CacheTag.ANALYTICS,
131
134
  CacheTag.VAULT,
132
135
  ]);
133
- // Check cache
134
- const cached = container.cache.get(cacheKey);
135
- if (cached) {
136
+ // Helper to build response with structured JSON
137
+ const buildResponse = (batchResult, isCached) => {
138
+ const markdown = riskService.formatBatchRiskBreakdown(batchResult, responseFormat);
139
+ const structuredData = riskService.toStructuredBatchRiskData(batchResult);
140
+ const cacheNote = isCached ? `\n\n_Cached result from ${new Date().toISOString()}_` : '';
141
+ const disclaimer = getToolDisclaimer('analyze_risks');
142
+ const responseText = `${markdown}${disclaimer}${cacheNote}
143
+
144
+ ---
145
+ ## Structured Risk Data (for UI blocks)
146
+ The following JSON contains structured batch risk data for building risk analysis UI blocks.
147
+
148
+ \`\`\`json
149
+ ${JSON.stringify({ risks: structuredData }, null, 2)}
150
+ \`\`\``;
136
151
  return {
137
- content: [
138
- {
139
- type: 'text',
140
- text: `${riskService.formatBatchRiskBreakdown(cached, responseFormat)}\n\n_Cached result from ${new Date().toISOString()}_`,
141
- },
142
- ],
152
+ content: [{ type: 'text', text: responseText }],
143
153
  isError: false,
144
154
  };
155
+ };
156
+ // Check cache
157
+ const cached = container.cache.get(cacheKey);
158
+ if (cached) {
159
+ return buildResponse(cached, true);
145
160
  }
146
161
  // Perform batch analysis
147
162
  const batchResult = await riskService.analyzeBatch(input.vaultAddresses, input.chainId, input.chainIds);
@@ -158,17 +173,8 @@ export function createExecuteAnalyzeRisks(container) {
158
173
  }
159
174
  // Cache the result
160
175
  container.cache.set(cacheKey, batchResult, cacheTTL.riskAnalysis);
161
- // Return formatted analysis with legal disclaimer
162
- return {
163
- content: [
164
- {
165
- type: 'text',
166
- text: riskService.formatBatchRiskBreakdown(batchResult, responseFormat) +
167
- getToolDisclaimer('analyze_risks'),
168
- },
169
- ],
170
- isError: false,
171
- };
176
+ // Return formatted analysis with structured JSON for UI blocks
177
+ return buildResponse(batchResult, false);
172
178
  }
173
179
  catch (error) {
174
180
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-risk.js","sourceRoot":"","sources":["../../src/tools/analyze-risk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze-risk.js","sourceRoot":"","sources":["../../src/tools/analyze-risk.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compare-vaults.d.ts","sourceRoot":"","sources":["../../src/tools/compare-vaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAiB5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAwkBxD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,cAAc,CAAC,CAuNxD"}
1
+ {"version":3,"file":"compare-vaults.d.ts","sourceRoot":"","sources":["../../src/tools/compare-vaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAqB5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAokBxD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,cAAc,CAAC,CA6NxD"}
@@ -23,7 +23,7 @@
23
23
  * - GraphQL query uses `chainId_in` filter for cross-chain queries
24
24
  */
25
25
  import { getToolDisclaimer } from '../utils/disclaimers.js';
26
- import { COMPARE_VAULTS_QUERY, VAULT_FIRST_TRANSACTION_QUERY } from '../graphql/queries/index.js';
26
+ import { COMPARE_VAULTS_QUERY, BATCH_VAULT_FIRST_TRANSACTIONS_QUERY, } from '../graphql/queries/index.js';
27
27
  import { SINGLE_VAULT_COMPOSITION_QUERY } from '../graphql/queries/portfolio.queries.js';
28
28
  import { normalizeAndRankVaults, generateComparisonSummary, formatComparisonTable, } from '../utils/comparison-metrics.js';
29
29
  import { executeToolWithCache } from '../utils/execute-tool-with-cache.js';
@@ -31,10 +31,14 @@ import { CacheTag } from '../core/cache-invalidation.js';
31
31
  import { cacheKeys, cacheTTL } from '../cache/index.js';
32
32
  import { createSuccessResponse } from '../utils/tool-response.js';
33
33
  import { analyzeRisk } from '../utils/risk-scoring.js';
34
+ import { rateLimitedMap } from '../utils/rate-limiter.js';
34
35
  /**
35
- * Fetch vault ages from first transaction timestamps
36
+ * Fetch vault ages from first transaction timestamps using batch query
37
+ *
38
+ * Queries all vault first transactions in a single batch request to determine
39
+ * actual creation dates. This is more efficient than N parallel requests and
40
+ * prevents 429 rate limit errors from the GraphQL API.
36
41
  *
37
- * Queries the first transaction for each vault to determine actual creation date.
38
42
  * Returns a map of vault address (lowercase) to age in days.
39
43
  *
40
44
  * @param vaultAddresses - List of vault addresses to fetch ages for
@@ -44,29 +48,32 @@ import { analyzeRisk } from '../utils/risk-scoring.js';
44
48
  async function fetchVaultAges(vaultAddresses, graphqlClient) {
45
49
  const vaultAgeMap = new Map();
46
50
  const now = Math.floor(Date.now() / 1000);
47
- // Fetch first transaction for each vault in parallel
48
- const agePromises = vaultAddresses.map(async (address) => {
49
- try {
50
- const response = await graphqlClient.request(VAULT_FIRST_TRANSACTION_QUERY, { vaultAddress: address });
51
- const firstTransaction = response.transactions?.items?.[0];
52
- if (firstTransaction?.timestamp) {
53
- const createdAt = parseInt(firstTransaction.timestamp, 10);
54
- const ageInDays = Math.floor((now - createdAt) / (24 * 60 * 60));
55
- return { address: address.toLowerCase(), ageInDays };
51
+ try {
52
+ // Fetch first transactions for all vaults in a single batch request
53
+ // This replaces N parallel requests with 1 batch request to prevent 429 errors
54
+ const response = await graphqlClient.request(BATCH_VAULT_FIRST_TRANSACTIONS_QUERY, { vaultAddresses });
55
+ // Group transactions by vault address and find the oldest (first) for each
56
+ // The query returns transactions ordered by timestamp ASC, so first occurrence per vault is oldest
57
+ const firstTimestampByVault = new Map();
58
+ for (const tx of response.transactions?.items || []) {
59
+ const address = tx.vault?.address?.toLowerCase();
60
+ if (address && tx.timestamp !== undefined) {
61
+ // Only keep the first (oldest) timestamp for each vault
62
+ if (!firstTimestampByVault.has(address)) {
63
+ firstTimestampByVault.set(address, tx.timestamp);
64
+ }
56
65
  }
57
- return { address: address.toLowerCase(), ageInDays: undefined };
58
66
  }
59
- catch {
60
- // If fetch fails, return undefined age
61
- return { address: address.toLowerCase(), ageInDays: undefined };
62
- }
63
- });
64
- const results = await Promise.all(agePromises);
65
- for (const result of results) {
66
- if (result.ageInDays !== undefined) {
67
- vaultAgeMap.set(result.address, result.ageInDays);
67
+ // Calculate age in days for each vault
68
+ for (const [address, createdAt] of firstTimestampByVault) {
69
+ const ageInDays = Math.floor((now - createdAt) / (24 * 60 * 60));
70
+ vaultAgeMap.set(address, ageInDays);
68
71
  }
69
72
  }
73
+ catch {
74
+ // If batch fetch fails, return empty map (ages will be undefined)
75
+ // This is a graceful degradation - comparison will still work with default age
76
+ }
70
77
  return vaultAgeMap;
71
78
  }
72
79
  /**
@@ -471,9 +478,10 @@ export function createExecuteCompareVaults(container) {
471
478
  const markdown = buildComparisonMarkdown(summary, table, chainIds, true);
472
479
  // Build structured vault data for UI block rendering (cached path)
473
480
  const structuredVaults = cachedVaults.map((vault, index) => convertToStructuredVaultData(vault, comparisonData[index]));
474
- // Fetch composition data for each vault in parallel (cached path)
475
- // Note: Backend API now uses walletAddress parameter
476
- const compositionPromises = structuredVaults.map(async (vault) => {
481
+ // Fetch composition data for each vault with rate limiting (cached path)
482
+ // Uses rateLimitedMap to prevent 429 rate limit errors from Octav API
483
+ // Note: Backend API uses walletAddress parameter
484
+ const compositionResults = await rateLimitedMap(structuredVaults, async (vault) => {
477
485
  try {
478
486
  const compResponse = await container.graphqlClient.request(SINGLE_VAULT_COMPOSITION_QUERY, { walletAddress: vault.address });
479
487
  return {
@@ -484,8 +492,8 @@ export function createExecuteCompareVaults(container) {
484
492
  catch {
485
493
  return { address: vault.address, metrics: undefined };
486
494
  }
487
- });
488
- const compositionResults = await Promise.all(compositionPromises);
495
+ }, 2 // Max 2 concurrent requests to respect rate limits
496
+ );
489
497
  const compositionMap = new Map(compositionResults.map((r) => [r.address.toLowerCase(), r.metrics]));
490
498
  // Enrich structured vaults with composition data
491
499
  for (const vault of structuredVaults) {
@@ -555,10 +563,11 @@ ${JSON.stringify({ vaults: structuredVaults }, null, 2)}
555
563
  if (!result.isError && result.content[0]?.type === 'text') {
556
564
  try {
557
565
  const output = JSON.parse(result.content[0].text);
558
- // Fetch composition data for each vault in parallel
566
+ // Fetch composition data for each vault with rate limiting
567
+ // Uses rateLimitedMap to prevent 429 rate limit errors from Octav API
559
568
  // This enables diversification comparison between vaults
560
- // Note: Backend API now uses walletAddress parameter
561
- const compositionPromises = output.vaults.map(async (vault) => {
569
+ // Note: Backend API uses walletAddress parameter
570
+ const compositionResults = await rateLimitedMap(output.vaults, async (vault) => {
562
571
  try {
563
572
  const compResponse = await container.graphqlClient.request(SINGLE_VAULT_COMPOSITION_QUERY, { walletAddress: vault.address });
564
573
  return {
@@ -570,8 +579,8 @@ ${JSON.stringify({ vaults: structuredVaults }, null, 2)}
570
579
  // If composition fetch fails, skip it
571
580
  return { address: vault.address, metrics: undefined };
572
581
  }
573
- });
574
- const compositionResults = await Promise.all(compositionPromises);
582
+ }, 2 // Max 2 concurrent requests to respect rate limits
583
+ );
575
584
  // Create a map for quick lookup
576
585
  const compositionMap = new Map(compositionResults.map((r) => [r.address.toLowerCase(), r.metrics]));
577
586
  // Enrich structured vaults with composition data
@@ -1 +1 @@
1
- {"version":3,"file":"compare-vaults.js","sourceRoot":"","sources":["../../src/tools/compare-vaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare-vaults.js","sourceRoot":"","sources":["../../src/tools/compare-vaults.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * optimize_portfolio Tool
3
3
  *
4
- * Portfolio optimization with rebalancing recommendations using parallel vault queries.
4
+ * Portfolio optimization with rebalancing recommendations using rate-limited vault queries.
5
5
  * Analyzes current holdings and provides optimal allocation strategy based on
6
6
  * per-vault historical data (price history and performance metrics).
7
7
  *
8
8
  * Implementation:
9
- * - Executes N parallel GraphQL queries (one per vault) using Promise.all
9
+ * - Executes rate-limited parallel GraphQL queries (one per vault) using rateLimitedMap
10
+ * - Max 2 concurrent requests to prevent 429 rate limit errors
10
11
  * - Each vault gets up to 1000 transactions of historical data
11
12
  * - Processes per-vault price history for accurate volatility calculation
12
13
  * - Uses per-vault performance data for expected APR estimation
@@ -1 +1 @@
1
- {"version":3,"file":"optimize-portfolio.d.ts","sourceRoot":"","sources":["../../src/tools/optimize-portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAUhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAkexD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAAC,cAAc,CAAC,CA0F5D"}
1
+ {"version":3,"file":"optimize-portfolio.d.ts","sourceRoot":"","sources":["../../src/tools/optimize-portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAUhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAmexD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAAC,cAAc,CAAC,CA4F5D"}
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * optimize_portfolio Tool
3
3
  *
4
- * Portfolio optimization with rebalancing recommendations using parallel vault queries.
4
+ * Portfolio optimization with rebalancing recommendations using rate-limited vault queries.
5
5
  * Analyzes current holdings and provides optimal allocation strategy based on
6
6
  * per-vault historical data (price history and performance metrics).
7
7
  *
8
8
  * Implementation:
9
- * - Executes N parallel GraphQL queries (one per vault) using Promise.all
9
+ * - Executes rate-limited parallel GraphQL queries (one per vault) using rateLimitedMap
10
+ * - Max 2 concurrent requests to prevent 429 rate limit errors
10
11
  * - Each vault gets up to 1000 transactions of historical data
11
12
  * - Processes per-vault price history for accurate volatility calculation
12
13
  * - Uses per-vault performance data for expected APR estimation
@@ -31,6 +32,7 @@ import { calculatePricePerShare } from '../sdk/vault-utils.js';
31
32
  import { CacheTag } from '../core/cache-invalidation.js';
32
33
  import { cacheTTL } from '../cache/index.js';
33
34
  import { analyzeRisk } from '../utils/risk-scoring.js';
35
+ import { rateLimitedMap } from '../utils/rate-limiter.js';
34
36
  /**
35
37
  * Calculate volatility from price history
36
38
  */
@@ -399,12 +401,13 @@ export function createExecuteOptimizePortfolio(container) {
399
401
  isError: false,
400
402
  };
401
403
  }
402
- // Execute parallel queries for each vault
403
- const vaultQueries = input.vaultAddresses.map((vaultAddress) => container.graphqlClient.request(SINGLE_VAULT_OPTIMIZATION_QUERY, {
404
+ // Execute rate-limited parallel queries for each vault
405
+ // Uses rateLimitedMap to prevent 429 rate limit errors from GraphQL API
406
+ const results = await rateLimitedMap(input.vaultAddresses, (vaultAddress) => container.graphqlClient.request(SINGLE_VAULT_OPTIMIZATION_QUERY, {
404
407
  vaultAddress,
405
408
  chainId: input.chainId,
406
- }));
407
- const results = await Promise.all(vaultQueries);
409
+ }), 2 // Max 2 concurrent requests to respect rate limits
410
+ );
408
411
  // Process each vault's data
409
412
  const vaults = [];
410
413
  const priceHistoryByVault = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"optimize-portfolio.js","sourceRoot":"","sources":["../../src/tools/optimize-portfolio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimize-portfolio.js","sourceRoot":"","sources":["../../src/tools/optimize-portfolio.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-portfolio.d.ts","sourceRoot":"","sources":["../../src/tools/user-portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAa/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA2UxD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,cAAc,CAAC,CAsI3D"}
1
+ {"version":3,"file":"user-portfolio.d.ts","sourceRoot":"","sources":["../../src/tools/user-portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAa/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA4UxD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,cAAc,CAAC,CAwI3D"}
@@ -23,6 +23,7 @@ import { createGetUserPortfolioQuery, SINGLE_VAULT_COMPOSITION_QUERY, } from '..
23
23
  import { executeToolWithCache } from '../utils/execute-tool-with-cache.js';
24
24
  import { CacheTag } from '../core/cache-invalidation.js';
25
25
  import { cacheKeys, cacheTTL, generateCacheKey } from '../cache/index.js';
26
+ import { rateLimitedMap } from '../utils/rate-limiter.js';
26
27
  /**
27
28
  * Transform raw composition data to processed protocol summaries
28
29
  * Uses assetByProtocols field for protocol-level breakdown
@@ -253,10 +254,11 @@ export function createExecuteGetUserPortfolio(container) {
253
254
  }
254
255
  }
255
256
  });
256
- // Fetch composition data for each vault in parallel
257
+ // Fetch composition data for each vault with rate limiting
257
258
  // This enables portfolio-wide diversification analysis
258
259
  // Note: Backend API returns full response with assetByProtocols
259
- const compositionPromises = positions.map(async (position) => {
260
+ // Rate limited to prevent 429 errors from GraphQL API
261
+ const compositionResults = await rateLimitedMap(positions, async (position) => {
260
262
  try {
261
263
  const compResponse = await container.graphqlClient.request(SINGLE_VAULT_COMPOSITION_QUERY, { walletAddress: position.vaultAddress });
262
264
  const protocols = transformRawCompositionToProtocols(compResponse.vaultComposition);
@@ -273,9 +275,8 @@ export function createExecuteGetUserPortfolio(container) {
273
275
  // If composition fetch fails for a vault, skip it
274
276
  return null;
275
277
  }
276
- });
277
- // Wait for all composition fetches (with timeout protection)
278
- const compositionResults = await Promise.all(compositionPromises);
278
+ }, 2 // Max 2 concurrent requests to respect rate limits
279
+ );
279
280
  const validCompositions = compositionResults.filter((c) => c !== null);
280
281
  // If we have composition data, calculate portfolio-level diversification
281
282
  if (validCompositions.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"user-portfolio.js","sourceRoot":"","sources":["../../src/tools/user-portfolio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-portfolio.js","sourceRoot":"","sources":["../../src/tools/user-portfolio.ts"],"names":[],"mappings":"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"}