@lagoon-protocol/lagoon-mcp 0.2.20 → 0.2.21

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 (42) 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 +17 -0
  6. package/dist/graphql/queries/vault.queries.d.ts.map +1 -1
  7. package/dist/graphql/queries/vault.queries.js +30 -0
  8. package/dist/graphql/queries/vault.queries.js.map +1 -1
  9. package/dist/server.js +1 -1
  10. package/dist/services/analytics/risk.service.d.ts.map +1 -1
  11. package/dist/services/analytics/risk.service.js +26 -2
  12. package/dist/services/analytics/risk.service.js.map +1 -1
  13. package/dist/tools/compare-vaults.d.ts.map +1 -1
  14. package/dist/tools/compare-vaults.js +76 -12
  15. package/dist/tools/compare-vaults.js.map +1 -1
  16. package/dist/tools/predict-yield.d.ts.map +1 -1
  17. package/dist/tools/predict-yield.js +32 -0
  18. package/dist/tools/predict-yield.js.map +1 -1
  19. package/dist/utils/comparison-metrics.d.ts +2 -2
  20. package/dist/utils/comparison-metrics.d.ts.map +1 -1
  21. package/dist/utils/comparison-metrics.js +22 -10
  22. package/dist/utils/comparison-metrics.js.map +1 -1
  23. package/dist/utils/portfolio-optimization.d.ts.map +1 -1
  24. package/dist/utils/portfolio-optimization.js +66 -17
  25. package/dist/utils/portfolio-optimization.js.map +1 -1
  26. package/dist/utils/risk-scoring.d.ts +61 -2
  27. package/dist/utils/risk-scoring.d.ts.map +1 -1
  28. package/dist/utils/risk-scoring.js +109 -32
  29. package/dist/utils/risk-scoring.js.map +1 -1
  30. package/dist/utils/safe-math.d.ts +64 -0
  31. package/dist/utils/safe-math.d.ts.map +1 -0
  32. package/dist/utils/safe-math.js +116 -0
  33. package/dist/utils/safe-math.js.map +1 -0
  34. package/dist/utils/yield-prediction.d.ts +7 -0
  35. package/dist/utils/yield-prediction.d.ts.map +1 -1
  36. package/dist/utils/yield-prediction.js +49 -31
  37. package/dist/utils/yield-prediction.js.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/services/analytics/protocol-overview.service.d.ts +0 -61
  40. package/dist/services/analytics/protocol-overview.service.d.ts.map +0 -1
  41. package/dist/services/analytics/protocol-overview.service.js +0 -182
  42. package/dist/services/analytics/protocol-overview.service.js.map +0 -1
@@ -4,7 +4,7 @@
4
4
  * Central export point for all GraphQL queries.
5
5
  * Import from this file for convenience: `import { GET_VAULT_DATA_QUERY } from '../graphql/queries'`
6
6
  */
7
- export { GET_VAULT_DATA_QUERY, GET_VAULT_FOR_APR_QUERY, COMPARE_VAULTS_QUERY, } from './vault.queries.js';
7
+ export { GET_VAULT_DATA_QUERY, GET_VAULT_FOR_APR_QUERY, COMPARE_VAULTS_QUERY, VAULT_FIRST_TRANSACTION_QUERY, } from './vault.queries.js';
8
8
  export { TRANSACTIONS_QUERY, PRICE_HISTORY_QUERY } from './transaction.queries.js';
9
9
  export { GET_VAULT_PERFORMANCE_QUERY, GET_PERIOD_SUMMARIES_QUERY } from './performance.queries.js';
10
10
  export { GET_USER_PORTFOLIO_QUERY, createGetUserPortfolioQuery, type PortfolioResponseFormat, SINGLE_VAULT_OPTIMIZATION_QUERY, PORTFOLIO_OPTIMIZATION_QUERY, } from './portfolio.queries.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGnF,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAGnG,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,0BAA0B,GAChC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGnF,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAGnG,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,0BAA0B,GAChC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * Import from this file for convenience: `import { GET_VAULT_DATA_QUERY } from '../graphql/queries'`
6
6
  */
7
7
  // Vault Queries
8
- export { GET_VAULT_DATA_QUERY, GET_VAULT_FOR_APR_QUERY, COMPARE_VAULTS_QUERY, } from './vault.queries.js';
8
+ export { GET_VAULT_DATA_QUERY, GET_VAULT_FOR_APR_QUERY, COMPARE_VAULTS_QUERY, VAULT_FIRST_TRANSACTION_QUERY, } from './vault.queries.js';
9
9
  // Transaction Queries
10
10
  export { TRANSACTIONS_QUERY, PRICE_HISTORY_QUERY } from './transaction.queries.js';
11
11
  // Performance Queries
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graphql/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gBAAgB;AAChB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,sBAAsB;AACtB,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEnG,oBAAoB;AACpB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAE3B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAEhC,eAAe;AACf,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAE3B,MAAM,yBAAyB,CAAC;AAEjC,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graphql/queries/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gBAAgB;AAChB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAE5B,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,sBAAsB;AACtB,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEnG,oBAAoB;AACpB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAE3B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAEhC,eAAe;AACf,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAE3B,MAAM,yBAAyB,CAAC;AAEjC,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAE7B,sBAAsB;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC"}
@@ -52,4 +52,21 @@ export declare const GET_VAULT_FOR_APR_QUERY = "\n query GetVaultForAPR($addres
52
52
  * ```
53
53
  */
54
54
  export declare const COMPARE_VAULTS_QUERY = "\n query CompareVaults($addresses: [String!]!, $chainIds: [Int!]!) {\n vaults(where: { address_in: $addresses, chainId_in: $chainIds }) {\n items {\n ...VaultFragment\n }\n }\n }\n \n fragment VaultFragment on Vault {\n address\n symbol\n decimals\n name\n description\n shortDescription\n maxCapacity\n logoUrl\n averageSettlement\n isVisible\n asset {\n ...AssetInfoFragment\n }\n chain {\n ...ChainInfoFragment\n }\n state {\n state\n totalAssets\n totalAssetsUsd\n totalSupply\n pricePerShare\n pricePerShareUsd\n safeAssetBalance\n liveAPR {\n grossApr\n name\n netApr\n description\n }\n roles {\n owner\n valuationManager\n whitelistManager\n safe\n feeReceiver\n }\n managementFee\n performanceFee\n protocolFee\n isWhitelistActivated\n whitelist\n pendingSettlement {\n assets\n assetsUsd\n shares\n }\n inceptionApr {\n ...APRBreakdownFragment\n }\n pendingSiloBalances {\n assets\n shares\n }\n monthlyApr {\n ...APRBreakdownFragment\n }\n newTotalAssets\n highWaterMark\n lastFeeTime\n safeAssetBalanceUsd\n weeklyApr {\n ...APRBreakdownFragment\n }\n yearlyApr {\n ...APRBreakdownFragment\n }\n }\n curators {\n name\n id\n aboutDescription\n logoUrl\n url\n }\n integrator {\n name\n url\n logoUrl\n aboutDescription\n }\n defiIntegrations {\n name\n description\n link\n logoUrl\n type\n }\n }\n \n fragment AssetInfoFragment on Asset {\n id\n name\n symbol\n decimals\n address\n logoUrl\n description\n isVisible\n priceUsd\n chain {\n id\n name\n nativeToken\n logoUrl\n }\n }\n\n \n fragment ChainInfoFragment on Chain {\n id\n name\n nativeToken\n logoUrl\n wrappedNativeToken {\n address\n decimals\n name\n symbol\n }\n factory\n }\n\n \n fragment APRBreakdownFragment on APRs {\n linearNetApr\n linearNetAprWithoutExtraYields\n airdrops {\n name\n apr\n description\n distributionTimestamp\n endTimestamp\n isEstimation\n logoUrl\n multiplier\n ppsIncrease\n startTimestamp\n }\n incentives {\n name\n apr\n aprDescription\n description\n endTimestamp\n incentiveRate {\n incentiveAmount\n referenceToken {\n id\n }\n referenceTokenAmount\n }\n }\n nativeYields {\n name\n apr\n aprDescription\n description\n endTimestamp\n isEstimation\n logoUrl\n multiplier\n startTimestamp\n }\n }\n\n\n";
55
+ /**
56
+ * GraphQL query for vault creation timestamp
57
+ *
58
+ * Fetches the first transaction for a vault to determine its creation date.
59
+ * Uses TotalAssetsUpdated or any transaction type, ordered by timestamp ascending.
60
+ * Used by: compare_vaults tool for actual vault age calculation
61
+ *
62
+ * Usage:
63
+ * ```typescript
64
+ * const data = await graphqlClient.request<{ transactions: { items: [...] } }>(
65
+ * VAULT_FIRST_TRANSACTION_QUERY,
66
+ * { vaultAddress: '0x...' }
67
+ * );
68
+ * const createdAt = data.transactions.items[0]?.timestamp;
69
+ * ```
70
+ */
71
+ export declare const VAULT_FIRST_TRANSACTION_QUERY = "\n query VaultFirstTransaction($vaultAddress: String!) {\n transactions(\n where: { vault_in: [$vaultAddress] },\n orderBy: timestamp,\n orderDirection: asc,\n first: 1\n ) {\n items {\n timestamp\n }\n }\n }\n";
55
72
  //# sourceMappingURL=vault.queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault.queries.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/vault.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,82FAOhC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,g3FAOnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,65FAShC,CAAC"}
1
+ {"version":3,"file":"vault.queries.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries/vault.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,82FAOhC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,g3FAOnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,65FAShC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,uQAazC,CAAC"}
@@ -76,4 +76,34 @@ export const COMPARE_VAULTS_QUERY = `
76
76
  }
77
77
  ${VAULT_FRAGMENT}
78
78
  `;
79
+ /**
80
+ * GraphQL query for vault creation timestamp
81
+ *
82
+ * Fetches the first transaction for a vault to determine its creation date.
83
+ * Uses TotalAssetsUpdated or any transaction type, ordered by timestamp ascending.
84
+ * Used by: compare_vaults tool for actual vault age calculation
85
+ *
86
+ * Usage:
87
+ * ```typescript
88
+ * const data = await graphqlClient.request<{ transactions: { items: [...] } }>(
89
+ * VAULT_FIRST_TRANSACTION_QUERY,
90
+ * { vaultAddress: '0x...' }
91
+ * );
92
+ * const createdAt = data.transactions.items[0]?.timestamp;
93
+ * ```
94
+ */
95
+ export const VAULT_FIRST_TRANSACTION_QUERY = `
96
+ query VaultFirstTransaction($vaultAddress: String!) {
97
+ transactions(
98
+ where: { vault_in: [$vaultAddress] },
99
+ orderBy: timestamp,
100
+ orderDirection: asc,
101
+ first: 1
102
+ ) {
103
+ items {
104
+ timestamp
105
+ }
106
+ }
107
+ }
108
+ `;
79
109
  //# sourceMappingURL=vault.queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/vault.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;IAMhC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;IAMnC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;IAQhC,cAAc;CACjB,CAAC"}
1
+ {"version":3,"file":"vault.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/vault.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;IAMhC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;IAMnC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;IAQhC,cAAc;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;CAa5C,CAAC"}
package/dist/server.js CHANGED
@@ -34,7 +34,7 @@ import { getPortfolioOptimizationPrompt } from './prompts/portfolio-optimization
34
34
  export function createServer() {
35
35
  const server = new McpServer({
36
36
  name: 'lagoon-mcp',
37
- version: '0.2.20',
37
+ version: '0.2.21',
38
38
  });
39
39
  // ==========================================
40
40
  // Dependency Injection Container
@@ -1 +1 @@
1
- {"version":3,"file":"risk.service.d.ts","sourceRoot":"","sources":["../../../src/services/analytics/risk.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"risk.service.d.ts","sourceRoot":"","sources":["../../../src/services/analytics/risk.service.ts"],"names":[],"mappings":"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"}
@@ -341,6 +341,14 @@ export class RiskService extends BaseService {
341
341
  **${riskRanking}** (Percentile: ${percentile.toFixed(1)}%)
342
342
  `;
343
343
  }
344
+ // Data quality section - extracted for TypeScript compatibility
345
+ const dataQualitySection = breakdown.dataQuality !== 'high'
346
+ ? `
347
+ ### ⚠️ Data Quality: ${breakdown.dataQuality === 'medium' ? 'Medium' : 'Low'}
348
+
349
+ ${breakdown.dataQualityNotes.map((note) => `- ${note}`).join('\n')}
350
+ `
351
+ : '';
344
352
  return `
345
353
  ## Risk Analysis Dashboard
346
354
 
@@ -372,7 +380,7 @@ ${comparativeSection}
372
380
  | Capacity Utilization | ${scoreToPercentage(breakdown.capacityUtilizationRisk)} | ${scoreToEmoji(breakdown.capacityUtilizationRisk)} |
373
381
  | Protocol Diversification | ${scoreToPercentage(breakdown.protocolDiversificationRisk)} | ${scoreToEmoji(breakdown.protocolDiversificationRisk)} |
374
382
  | Top Protocol Concentration | ${scoreToPercentage(breakdown.topProtocolConcentrationRisk)} | ${scoreToEmoji(breakdown.topProtocolConcentrationRisk)} |
375
- `;
383
+ ${dataQualitySection}`;
376
384
  }
377
385
  // Detailed format: Full breakdown with explanations
378
386
  let comparativeDetailedSection = '';
@@ -400,6 +408,22 @@ ${outlierNote}
400
408
 
401
409
  `;
402
410
  }
411
+ // Data quality section for detailed format
412
+ const detailedDataQualitySection = breakdown.dataQuality !== 'high'
413
+ ? `
414
+ ---
415
+
416
+ ## ⚠️ Data Quality Notice
417
+
418
+ **Quality Level**: ${breakdown.dataQuality === 'medium' ? 'Medium' : 'Low'}
419
+
420
+ The following data limitations affected this analysis:
421
+
422
+ ${breakdown.dataQualityNotes.map((note) => `- ${note}`).join('\n')}
423
+
424
+ *Risk scores for factors with limited data default to 50% (medium risk) to indicate uncertainty.*
425
+ `
426
+ : '';
403
427
  return `
404
428
  ${comparativeDetailedSection}## Risk Analysis Breakdown
405
429
 
@@ -480,7 +504,7 @@ ${comparativeDetailedSection}## Risk Analysis Breakdown
480
504
  **Curator**: Curator reputation based on experience (vault count), track record, and professional presence.
481
505
 
482
506
  **Fees**: Impact of management and performance fees on returns. Higher fees reduce net investor returns.
483
- `;
507
+ ${detailedDataQualitySection}`;
484
508
  }
485
509
  /**
486
510
  * Analyze multiple vaults in a single batch operation
@@ -1 +1 @@
1
- {"version":3,"file":"risk.service.js","sourceRoot":"","sources":["../../../src/services/analytics/risk.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"risk.service.js","sourceRoot":"","sources":["../../../src/services/analytics/risk.service.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;AA6exD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,cAAc,CAAC,CAiNxD"}
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"}
@@ -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 } from '../graphql/queries/index.js';
26
+ import { COMPARE_VAULTS_QUERY, VAULT_FIRST_TRANSACTION_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,12 +31,54 @@ 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
+ /**
35
+ * Fetch vault ages from first transaction timestamps
36
+ *
37
+ * Queries the first transaction for each vault to determine actual creation date.
38
+ * Returns a map of vault address (lowercase) to age in days.
39
+ *
40
+ * @param vaultAddresses - List of vault addresses to fetch ages for
41
+ * @param graphqlClient - GraphQL client for making requests
42
+ * @returns Map of vault address to age in days
43
+ */
44
+ async function fetchVaultAges(vaultAddresses, graphqlClient) {
45
+ const vaultAgeMap = new Map();
46
+ 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 };
56
+ }
57
+ return { address: address.toLowerCase(), ageInDays: undefined };
58
+ }
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);
68
+ }
69
+ }
70
+ return vaultAgeMap;
71
+ }
34
72
  /**
35
73
  * Convert VaultData to VaultComparisonData for metrics calculation
36
74
  * Now includes 12-factor risk analysis
37
75
  * chainId is extracted from vault.chain.id for cross-chain support
76
+ *
77
+ * @param vault - Vault data from GraphQL
78
+ * @param allVaults - All vaults for concentration risk calculation
79
+ * @param vaultAgeMap - Optional map of vault address to age in days (from first transaction)
38
80
  */
39
- function convertToComparisonData(vault, allVaults) {
81
+ function convertToComparisonData(vault, allVaults, vaultAgeMap) {
40
82
  // Extract chainId from vault data for cross-chain support
41
83
  const chainId = vault.chain?.id ?? 0;
42
84
  // Extract APR from nested state structure with proper null checking
@@ -51,9 +93,11 @@ function convertToComparisonData(vault, allVaults) {
51
93
  // Extract data for risk calculation
52
94
  const vaultTVL = typeof tvl === 'number' ? tvl : 0;
53
95
  const totalProtocolTVL = allVaults.reduce((sum, v) => sum + (v.state?.totalAssetsUsd || 0), 0);
54
- // Age in days - default to 180 days (6 months) as we don't have creation timestamp
55
- // This is a reasonable middle-ground assumption for risk calculation
56
- const ageInDays = 180;
96
+ // Get actual age from first transaction timestamp, or use undefined if not available
97
+ // When age is unknown, we use a conservative default that doesn't overstate maturity
98
+ const actualAge = vaultAgeMap?.get(vault.address.toLowerCase());
99
+ // Default to 90 days (conservative) when actual age is unknown - this flags as "new" risk
100
+ const ageInDays = actualAge ?? 90;
57
101
  // Curator data (simplified - vault count = 1 for now, as we don't have curator history here)
58
102
  const curatorVaultCount = vault.curators?.length || 1;
59
103
  const curators = vault.curators || [];
@@ -154,9 +198,9 @@ function convertToComparisonData(vault, allVaults) {
154
198
  /**
155
199
  * Build markdown output from comparison data
156
200
  * Supports displaying multiple chains for cross-chain comparisons
201
+ * Handles null summary gracefully with informative message
157
202
  */
158
203
  function buildComparisonMarkdown(summary, table, chainIds, cached = false) {
159
- const hasRiskData = summary.averageRisk !== undefined && summary.safestVault && summary.riskiestVault;
160
204
  let markdown = cached
161
205
  ? `# Vault Comparison Results (Cached)\n\n`
162
206
  : `# Vault Comparison Results\n\n`;
@@ -167,6 +211,18 @@ function buildComparisonMarkdown(summary, table, chainIds, cached = false) {
167
211
  else {
168
212
  markdown += `**Chains**: ${chainIds.join(', ')} (Cross-chain comparison)\n`;
169
213
  }
214
+ // Handle empty/null summary gracefully
215
+ if (!summary) {
216
+ markdown += `**Vaults Analyzed**: 0\n\n`;
217
+ markdown += `## No Vaults Found\n\n`;
218
+ markdown += `No vaults were found matching the specified addresses on the requested chains.\n\n`;
219
+ markdown += `**Suggestions**:\n`;
220
+ markdown += `- Verify the vault addresses are correct\n`;
221
+ markdown += `- Check that the vaults exist on the specified chain(s)\n`;
222
+ markdown += `- Try using \`search_vaults\` to find valid vault addresses\n`;
223
+ return markdown;
224
+ }
225
+ const hasRiskData = summary.averageRisk !== undefined && summary.safestVault && summary.riskiestVault;
170
226
  markdown += `**Vaults Analyzed**: ${summary.totalVaults}\n\n`;
171
227
  markdown += `## Summary Statistics\n\n`;
172
228
  markdown += `- **Average TVL**: $${(summary.averageTvl / 1000000).toFixed(2)}M\n`;
@@ -347,14 +403,18 @@ function convertToStructuredVaultData(vault, comparisonData) {
347
403
  }
348
404
  /**
349
405
  * Transform raw GraphQL response into comparison markdown output
350
- * Uses closure to capture input values
406
+ * Uses closure to capture input values and vault age data
407
+ *
408
+ * @param input - Compare vaults input parameters
409
+ * @param vaultAgeMap - Optional map of vault address to age in days
351
410
  */
352
- function createTransformComparisonData(input) {
411
+ function createTransformComparisonData(input, vaultAgeMap) {
353
412
  return (data) => {
354
413
  // Normalize chainIds for multi-chain support
355
414
  const chainIds = normalizeChainIds(input);
356
415
  // Convert to comparison data - chainId is now extracted from vault.chain.id
357
- const comparisonData = data.vaults.items.map((vault) => convertToComparisonData(vault, data.vaults.items));
416
+ // Pass vault age map for actual age-based risk calculation
417
+ const comparisonData = data.vaults.items.map((vault) => convertToComparisonData(vault, data.vaults.items, vaultAgeMap));
358
418
  // Normalize and rank vaults
359
419
  const normalizedVaults = normalizeAndRankVaults(comparisonData);
360
420
  // Generate summary statistics
@@ -402,7 +462,9 @@ export function createExecuteCompareVaults(container) {
402
462
  }
403
463
  // If ALL vaults are cached, return immediately without GraphQL query
404
464
  if (allCached && cachedVaults.length === input.vaultAddresses.length) {
405
- const comparisonData = cachedVaults.map((vault) => convertToComparisonData(vault, cachedVaults));
465
+ // Fetch vault ages in parallel for accurate age-based risk calculation
466
+ const vaultAgeMap = await fetchVaultAges(input.vaultAddresses, container.graphqlClient);
467
+ const comparisonData = cachedVaults.map((vault) => convertToComparisonData(vault, cachedVaults, vaultAgeMap));
406
468
  const normalizedVaults = normalizeAndRankVaults(comparisonData);
407
469
  const summary = generateComparisonSummary(comparisonData);
408
470
  const table = formatComparisonTable(normalizedVaults);
@@ -446,7 +508,9 @@ ${JSON.stringify({ vaults: structuredVaults }, null, 2)}
446
508
  \`\`\``;
447
509
  return createSuccessResponse(responseText);
448
510
  }
449
- // Not all vaults cached - execute normal GraphQL query for all vaults
511
+ // Not all vaults cached - fetch vault ages first for accurate risk calculation
512
+ // This runs in parallel with the vault data query for efficiency
513
+ const vaultAgeMap = await fetchVaultAges(input.vaultAddresses, container.graphqlClient);
450
514
  const executor = executeToolWithCache({
451
515
  container,
452
516
  cacheKey: () => cacheKeys.compareVaults(input.vaultAddresses, chainIds),
@@ -478,7 +542,7 @@ ${JSON.stringify({ vaults: structuredVaults }, null, 2)}
478
542
  isError: true,
479
543
  };
480
544
  },
481
- transformResult: createTransformComparisonData(input),
545
+ transformResult: createTransformComparisonData(input, vaultAgeMap),
482
546
  toolName: 'compare_vaults',
483
547
  });
484
548
  // Register cache tags for invalidation
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAM5D,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAEL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GAEtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAwFvD;;;;;;;;;GASG;AACH,KAAK,UAAU,cAAc,CAC3B,cAAwB,EACxB,aAAgG;IAEhG,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1C,qDAAqD;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAC1C,6BAA6B,EAC7B,EAAE,YAAY,EAAE,OAAO,EAAE,CAC1B,CAAC;YAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,gBAAgB,EAAE,SAAS,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACjE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC;YACvD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;YACvC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,uBAAuB,CAC9B,KAAgB,EAChB,SAAsB,EACtB,WAAiC;IAEjC,0DAA0D;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,oEAAoE;IACpE,+DAA+D;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC;IACvD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC;IACzD,MAAM,GAAG,GACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9F,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC;IAExC,4DAA4D;IAC5D,IAAI,aAAa,CAAC;IAClB,IAAI,CAAC;QACH,oCAAoC;QACpC,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/F,qFAAqF;QACrF,qFAAqF;QACrF,MAAM,SAAS,GAAG,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,0FAA0F;QAC1F,MAAM,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC;QAElC,6FAA6F;QAC7F,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtC,MAAM,mBAAmB,GAAG;YAC1B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAC9D,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAC5F,gBAAgB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrC,YAAY,EAAE,QAAQ,CAAC,MAAM;SAC9B,CAAC;QAEF,WAAW;QACX,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,oBAAoB,GAAG,aAAa,GAAG,aAAa,CAAC;QAE3D,iBAAiB;QACjB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,IAAI,CAAC,CAAC;QAE1E,uBAAuB;QACvB,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY;YAC/C,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY;YACjD,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY;YAC/C,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY;SACtD,CAAC;QAEF,oBAAoB;QACpB,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;QAC7C,MAAM,gBAAgB,GAAG,aAAa;YACpC,CAAC,CAAC;gBACE,QAAQ,EAAE,aAAa,CAAC,YAAY,IAAI,CAAC;gBACzC,eAAe,EACb,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;gBAC9E,WAAW,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;gBACrF,aAAa,EACX,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;aAC/E;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,kBAAkB;QAClB,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACvD,MAAM,sBAAsB,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG;YACrB,qBAAqB,EAAE,iBAAiB;YACxC,sBAAsB;SACvB,CAAC;QAEF,yBAAyB;QACzB,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC;QAE7D,uBAAuB;QACvB,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,IAAI,GAAG,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,MAAM,YAAY,GAAG;YACnB,WAAW;YACX,WAAW;SACZ,CAAC;QAEF,4DAA4D;QAC5D,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,iBAAiB;QACjB,aAAa,GAAG,WAAW,CAAC;YAC1B,GAAG,EAAE,QAAQ;YACb,gBAAgB;YAChB,YAAY;YACZ,SAAS;YACT,iBAAiB;YACjB,kBAAkB,EAAE,GAAG,EAAE,kCAAkC;YAC3D,0BAA0B,EAAE,mBAAmB;YAC/C,aAAa;YACb,cAAc;YACd,oBAAoB;YACpB,UAAU;YACV,kBAAkB;YAClB,OAAO;YACP,gBAAgB;YAChB,cAAc;YACd,gBAAgB;YAChB,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7E,aAAa,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,eAAe;QACnC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;QAC7B,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW;QACrC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW;QACrC,SAAS,EAAE,aAAa,EAAE,WAAW;QACrC,SAAS,EAAE,aAAa,EAAE,SAAS;QACnC,aAAa;QACb,4DAA4D;QAC5D,IAAI,EAAE;YACJ,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC9C,cAAc,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC;SACjD;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAC9B,OAAiC,EACjC,KAAa,EACb,QAAkB,EAClB,SAAkB,KAAK;IAEvB,IAAI,QAAQ,GAAG,MAAM;QACnB,CAAC,CAAC,yCAAyC;QAC3C,CAAC,CAAC,gCAAgC,CAAC;IAErC,+DAA+D;IAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,QAAQ,IAAI,iBAAiB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,QAAQ,IAAI,eAAe,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC;IAC9E,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,QAAQ,IAAI,4BAA4B,CAAC;QACzC,QAAQ,IAAI,wBAAwB,CAAC;QACrC,QAAQ,IAAI,oFAAoF,CAAC;QACjG,QAAQ,IAAI,oBAAoB,CAAC;QACjC,QAAQ,IAAI,4CAA4C,CAAC;QACzD,QAAQ,IAAI,2DAA2D,CAAC;QACxE,QAAQ,IAAI,+DAA+D,CAAC;QAC5E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAEpF,QAAQ,IAAI,wBAAwB,OAAO,CAAC,WAAW,MAAM,CAAC;IAE9D,QAAQ,IAAI,2BAA2B,CAAC;IACxC,QAAQ,IAAI,uBAAuB,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClF,QAAQ,IAAI,sBAAsB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAErE,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,IAAI,uBAAuB,CAAC,OAAO,CAAC,WAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClF,CAAC;IAED,QAAQ,IAAI,wBAAwB,CAAC;IACrC,QAAQ,IAAI,gBAAgB,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IAC3D,QAAQ,IAAI,cAAc,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAEtE,QAAQ,IAAI,uBAAuB,CAAC;IACpC,QAAQ,IAAI,gBAAgB,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;IAC5D,QAAQ,IAAI,cAAc,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAEvE,QAAQ,IAAI,mBAAmB,CAAC;IAChC,QAAQ,IAAI,gBAAgB,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IACxD,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAEhF,QAAQ,IAAI,kBAAkB,CAAC;IAC/B,QAAQ,IAAI,gBAAgB,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IACvD,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAE/E,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,IAAI,oBAAoB,CAAC;QACjC,QAAQ,IAAI,gBAAgB,OAAO,CAAC,WAAY,CAAC,IAAI,IAAI,CAAC;QAC1D,QAAQ,IAAI,qBAAqB,CAAC,OAAO,CAAC,WAAY,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAY,CAAC,SAAS,OAAO,CAAC;QAE9H,QAAQ,IAAI,sBAAsB,CAAC;QACnC,QAAQ,IAAI,gBAAgB,OAAO,CAAC,aAAc,CAAC,IAAI,IAAI,CAAC;QAC5D,QAAQ,IAAI,qBAAqB,CAAC,OAAO,CAAC,aAAc,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,aAAc,CAAC,SAAS,OAAO,CAAC;IACpI,CAAC;IAED,QAAQ,IAAI,4BAA4B,CAAC;IACzC,QAAQ,IAAI,GAAG,KAAK,MAAM,CAAC;IAE3B,QAAQ,IAAI,eAAe,CAAC;IAC5B,QAAQ,IAAI,qDAAqD,CAAC;IAElE,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,IAAI,mCAAmC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,QAAQ,IAAI,uBAAuB,CAAC;IACtC,CAAC;IAED,QAAQ,IAAI,kDAAkD,CAAC;IAC/D,QAAQ,IAAI,2CAA2C,CAAC;IACxD,QAAQ,IAAI,2CAA2C,CAAC;IACxD,QAAQ,IAAI,iDAAiD,CAAC;IAC9D,QAAQ,IAAI,sDAAsD,CAAC;IAEnE,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,IAAI,8EAA8E,CAAC;QAC3F,QAAQ,IAAI,6CAA6C,CAAC;IAC5D,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAyB;IAClD,OAAO,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,CAAC;SAAM,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,CAAC;SAAM,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,SAAkD;IAElD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,SAAS,CAAC,WAAW,EAA4C,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH;;;;;;;;;GASG;AACH,SAAS,2BAA2B,CAClC,cAAmD;IAEnD,IACE,CAAC,cAAc;QACf,CAAC,cAAc,CAAC,gBAAgB;QAChC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,EACzD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oDAAoD;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC;SACjE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAoC,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAoC,EAAE,EAAE,CAAC,CAAC;QAC5D,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpC,UAAU,EAAE,CAAC,EAAE,wBAAwB;KACxC,CAAC,CAAC,CAAC;IAEN,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qDAAqD;IACrD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACxE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACzB,CAAC,CAAC,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAErD,wEAAwE;IACxE,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;IAE7E,kDAAkD;IAClD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,GAAG,CAAC;QACJ,UAAU,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KACzE,CAAC,CAAC,CAAC;IAEJ,gEAAgE;IAChE,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7F,kCAAkC;IAClC,MAAM,oBAAoB,GACxB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAEtD,qCAAqC;IACrC,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC;IAC3D,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC;IAEhE,mCAAmC;IACnC,MAAM,WAAW,GAAG,cAAc,EAAE,UAAU,IAAI,CAAC,CAAC;IAEpD,OAAO;QACL,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,oBAAoB;QACpB,WAAW;QACX,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QACzF,aAAa,EAAE,aAAa,CAAC,MAAM;QACnC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,KAAgB,EAChB,cAAmC;IAEnC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC;IAEpC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,eAAe;QACnC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;QAC7B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,SAAS;QACvC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC;QACxB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI;QAC1C,IAAI,EAAE,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC;QAClD,IAAI,EAAE;YACJ,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC9C,cAAc,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC;SACjD;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,6BAA6B,CACpC,KAAyB,EACzB,WAAiC;IAEjC,OAAO,CAAC,IAA2B,EAAuB,EAAE;QAC1D,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE1C,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,cAAc,GAA0B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5E,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAC/D,CAAC;QAEF,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAEhE,8BAA8B;QAC9B,MAAM,OAAO,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAE1D,2BAA2B;QAC3B,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAEtD,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE1E,qDAAqD;QACrD,sEAAsE;QACtE,MAAM,gBAAgB,GAA0B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACrF,4BAA4B,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAC3D,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAA2B;IAE3B,OAAO,KAAK,EAAE,KAAyB,EAA2B,EAAE;QAClE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE1C,gFAAgF;QAChF,2EAA2E;QAC3E,MAAM,YAAY,GAAgB,EAAE,CAAC;QACrC,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,wCAAwC;YACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAY,aAAa,CAAC,CAAC;gBAClE,IAAI,WAAW,EAAE,CAAC;oBAChB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM,CAAC,gDAAgD;YACzD,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,IAAI,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACrE,uEAAuE;YACvE,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;YAExF,MAAM,cAAc,GAA0B,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACvE,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC,CAC1D,CAAC;YACF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAEtD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEzE,mEAAmE;YACnE,MAAM,gBAAgB,GAA0B,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAChF,4BAA4B,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAC3D,CAAC;YAEF,kEAAkE;YAClE,qDAAqD;YACrD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC/D,IAAI,CAAC;oBACH,MAAM,YAAY,GAChB,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,CACnC,8BAA8B,EAC9B,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,CACjC,CAAC;oBACJ,OAAO;wBACL,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,OAAO,EAAE,2BAA2B,CAAC,YAAY,CAAC,gBAAgB,CAAC;qBACpE,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAClE,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CACpE,CAAC;YAEF,iDAAiD;YACjD,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChE,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,MAAM,YAAY,GAAG,GAAG,QAAQ,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;;;;;;;;;EAS1E,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;OAChD,CAAC;YAEF,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC;QAED,+EAA+E;QAC/E,iEAAiE;QACjE,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAExF,MAAM,QAAQ,GAAG,oBAAoB,CAKnC;YACA,SAAS;YACT,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC;YACvE,QAAQ,EAAE,QAAQ,CAAC,UAAU;YAC7B,KAAK,EAAE,oBAAoB;YAC3B,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,SAAS,EAAE,KAAK,CAAC,cAAc;gBAC/B,QAAQ,EAAE,QAAQ;aACnB,CAAC;YACF,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CACnD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAClD,CAAC;gBAEF,6BAA6B;gBAC7B,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACzB,CAAC;gBAED,uEAAuE;gBACvE,yDAAyD;gBACzD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC5D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACzB,CAAC;gBAED,kFAAkF;gBAClF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,OAAO,EACL,4CAA4C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;wBACpE,cAAc,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;wBACjD,iDAAiD;oBACnD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,6BAA6B,CAAC,KAAK,EAAE,WAAW,CAAC;YAClE,QAAQ,EAAE,gBAAgB;SAC3B,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACzE,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAEpF,uCAAuC;QACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErC,uEAAuE;QACvE,iFAAiF;QACjF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAwB,CAAC;gBAEzE,oDAAoD;gBACpD,yDAAyD;gBACzD,qDAAqD;gBACrD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAC5D,IAAI,CAAC;wBACH,MAAM,YAAY,GAChB,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,CACnC,8BAA8B,EAC9B,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,CACjC,CAAC;wBACJ,OAAO;4BACL,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,OAAO,EAAE,2BAA2B,CAAC,YAAY,CAAC,gBAAgB,CAAC;yBACpE,CAAC;oBACJ,CAAC;oBAAC,MAAM,CAAC;wBACP,sCAAsC;wBACtC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;oBACxD,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAElE,gCAAgC;gBAChC,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CACpE,CAAC;gBAEF,iDAAiD;gBACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChE,IAAI,OAAO,EAAE,CAAC;wBACZ,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBAED,uBAAuB;gBACvB,+CAA+C;gBAC/C,8EAA8E;gBAC9E,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;;;;;;;;;EASnF,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;OAC7C,CAAC;gBAEA,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"predict-yield.d.ts","sourceRoot":"","sources":["../../src/tools/predict-yield.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAsQxD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,cAAc,CAAC,CAkEvD"}
1
+ {"version":3,"file":"predict-yield.d.ts","sourceRoot":"","sources":["../../src/tools/predict-yield.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA8SxD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,cAAc,CAAC,CAkEvD"}
@@ -174,6 +174,37 @@ function createTransformYieldPredictionData(input, timestampThreshold) {
174
174
  const pricePerShare = BigInt(data.vault.state?.pricePerShare || '0');
175
175
  const highWaterMark = BigInt(data.vault.state?.highWaterMark || '0');
176
176
  const performanceFeeActive = pricePerShare > highWaterMark;
177
+ // Calculate actual profit margin from historical period summaries
178
+ // This is used for accurate performance fee impact calculation
179
+ let actualProfitMargin;
180
+ if (data.performanceHistory && data.performanceHistory.items.length >= 2) {
181
+ // Calculate period-over-period price changes
182
+ const sortedItems = [...data.performanceHistory.items].sort((a, b) => parseInt(a.timestamp, 10) - parseInt(b.timestamp, 10));
183
+ const priceChanges = [];
184
+ for (let i = 1; i < sortedItems.length; i++) {
185
+ const prevAssets = parseFloat(sortedItems[i - 1].data.totalAssetsAtStart);
186
+ const prevSupply = parseFloat(sortedItems[i - 1].data.totalSupplyAtStart);
187
+ const currAssets = parseFloat(sortedItems[i].data.totalAssetsAtStart);
188
+ const currSupply = parseFloat(sortedItems[i].data.totalSupplyAtStart);
189
+ // Calculate price per share for each period
190
+ const prevPPS = prevSupply > 0 ? prevAssets / prevSupply : 0;
191
+ const currPPS = currSupply > 0 ? currAssets / currSupply : 0;
192
+ // Calculate percentage change
193
+ if (prevPPS > 0) {
194
+ const change = (currPPS - prevPPS) / prevPPS;
195
+ priceChanges.push(change);
196
+ }
197
+ }
198
+ // Actual profit margin is the average of positive returns (profits only)
199
+ // This reflects the historical rate at which performance fees are triggered
200
+ const positiveChanges = priceChanges.filter((c) => c > 0);
201
+ if (positiveChanges.length > 0) {
202
+ actualProfitMargin =
203
+ positiveChanges.reduce((sum, c) => sum + c, 0) / positiveChanges.length;
204
+ }
205
+ // If no positive changes, actualProfitMargin remains undefined
206
+ // which means fee-adjusted predictions will be omitted (no data to calculate)
207
+ }
177
208
  // Only pass fee parameters if vault has meaningful fees
178
209
  const hasFees = managementFee > 0 || performanceFee > 0;
179
210
  // Perform yield prediction with optional fee parameters
@@ -182,6 +213,7 @@ function createTransformYieldPredictionData(input, timestampThreshold) {
182
213
  managementFee,
183
214
  performanceFee,
184
215
  performanceFeeActive,
216
+ actualProfitMargin,
185
217
  }
186
218
  : undefined);
187
219
  // Format prediction as markdown