@lagoon-protocol/lagoon-mcp 0.6.0 → 0.7.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 (132) hide show
  1. package/README.md +72 -54
  2. package/dist/cache/index.d.ts +4 -1
  3. package/dist/cache/index.d.ts.map +1 -1
  4. package/dist/cache/index.js +4 -1
  5. package/dist/cache/index.js.map +1 -1
  6. package/dist/graphql/fragments/apr-breakdown.fragment.d.ts +4 -1
  7. package/dist/graphql/fragments/apr-breakdown.fragment.d.ts.map +1 -1
  8. package/dist/graphql/fragments/apr-breakdown.fragment.js +3 -0
  9. package/dist/graphql/fragments/apr-breakdown.fragment.js.map +1 -1
  10. package/dist/graphql/fragments/composition.fragment.d.ts +23 -134
  11. package/dist/graphql/fragments/composition.fragment.d.ts.map +1 -1
  12. package/dist/graphql/fragments/composition.fragment.js +9 -7
  13. package/dist/graphql/fragments/composition.fragment.js.map +1 -1
  14. package/dist/graphql/fragments/index.d.ts +1 -1
  15. package/dist/graphql/fragments/index.d.ts.map +1 -1
  16. package/dist/graphql/fragments/index.js +5 -4
  17. package/dist/graphql/fragments/index.js.map +1 -1
  18. package/dist/graphql/fragments/vault.fragment.d.ts +28 -1
  19. package/dist/graphql/fragments/vault.fragment.d.ts.map +1 -1
  20. package/dist/graphql/fragments/vault.fragment.js +28 -0
  21. package/dist/graphql/fragments/vault.fragment.js.map +1 -1
  22. package/dist/graphql/queries/composition.queries.d.ts +10 -28
  23. package/dist/graphql/queries/composition.queries.d.ts.map +1 -1
  24. package/dist/graphql/queries/composition.queries.js +17 -28
  25. package/dist/graphql/queries/composition.queries.js.map +1 -1
  26. package/dist/graphql/queries/discovery.queries.d.ts +50 -0
  27. package/dist/graphql/queries/discovery.queries.d.ts.map +1 -0
  28. package/dist/graphql/queries/discovery.queries.js +188 -0
  29. package/dist/graphql/queries/discovery.queries.js.map +1 -0
  30. package/dist/graphql/queries/export.queries.d.ts +1 -1
  31. package/dist/graphql/queries/export.queries.d.ts.map +1 -1
  32. package/dist/graphql/queries/index.d.ts +1 -0
  33. package/dist/graphql/queries/index.d.ts.map +1 -1
  34. package/dist/graphql/queries/index.js +2 -0
  35. package/dist/graphql/queries/index.js.map +1 -1
  36. package/dist/graphql/queries/portfolio.queries.d.ts +2 -2
  37. package/dist/graphql/queries/portfolio.queries.d.ts.map +1 -1
  38. package/dist/graphql/queries/portfolio.queries.js +9 -3
  39. package/dist/graphql/queries/portfolio.queries.js.map +1 -1
  40. package/dist/graphql/queries/risk.queries.d.ts +3 -3
  41. package/dist/graphql/queries/risk.queries.d.ts.map +1 -1
  42. package/dist/graphql/queries/vault.queries.d.ts +3 -3
  43. package/dist/graphql/queries/vault.queries.d.ts.map +1 -1
  44. package/dist/index.js +0 -0
  45. package/dist/services/analytics/risk.service.d.ts +43 -21
  46. package/dist/services/analytics/risk.service.d.ts.map +1 -1
  47. package/dist/services/analytics/risk.service.js +141 -129
  48. package/dist/services/analytics/risk.service.js.map +1 -1
  49. package/dist/tools/compare-vaults.d.ts.map +1 -1
  50. package/dist/tools/compare-vaults.js +44 -74
  51. package/dist/tools/compare-vaults.js.map +1 -1
  52. package/dist/tools/get-asset.d.ts +17 -0
  53. package/dist/tools/get-asset.d.ts.map +1 -0
  54. package/dist/tools/get-asset.js +44 -0
  55. package/dist/tools/get-asset.js.map +1 -0
  56. package/dist/tools/get-curator.d.ts +13 -0
  57. package/dist/tools/get-curator.d.ts.map +1 -0
  58. package/dist/tools/get-curator.js +81 -0
  59. package/dist/tools/get-curator.js.map +1 -0
  60. package/dist/tools/get-global-tvl.d.ts +20 -0
  61. package/dist/tools/get-global-tvl.d.ts.map +1 -0
  62. package/dist/tools/get-global-tvl.js +38 -0
  63. package/dist/tools/get-global-tvl.js.map +1 -0
  64. package/dist/tools/get-historical-state.d.ts +22 -0
  65. package/dist/tools/get-historical-state.d.ts.map +1 -0
  66. package/dist/tools/get-historical-state.js +65 -0
  67. package/dist/tools/get-historical-state.js.map +1 -0
  68. package/dist/tools/get-indexing-status.d.ts +20 -0
  69. package/dist/tools/get-indexing-status.d.ts.map +1 -0
  70. package/dist/tools/get-indexing-status.js +38 -0
  71. package/dist/tools/get-indexing-status.js.map +1 -0
  72. package/dist/tools/list-chains.d.ts +16 -0
  73. package/dist/tools/list-chains.d.ts.map +1 -0
  74. package/dist/tools/list-chains.js +46 -0
  75. package/dist/tools/list-chains.js.map +1 -0
  76. package/dist/tools/list-curators.d.ts +18 -0
  77. package/dist/tools/list-curators.d.ts.map +1 -0
  78. package/dist/tools/list-curators.js +49 -0
  79. package/dist/tools/list-curators.js.map +1 -0
  80. package/dist/tools/predict-yield.d.ts.map +1 -1
  81. package/dist/tools/predict-yield.js +77 -6
  82. package/dist/tools/predict-yield.js.map +1 -1
  83. package/dist/tools/registry.d.ts.map +1 -1
  84. package/dist/tools/registry.js +83 -11
  85. package/dist/tools/registry.js.map +1 -1
  86. package/dist/tools/simulate-vault.d.ts +1 -1
  87. package/dist/tools/user-portfolio.d.ts.map +1 -1
  88. package/dist/tools/user-portfolio.js +30 -51
  89. package/dist/tools/user-portfolio.js.map +1 -1
  90. package/dist/tools/vault-composition.d.ts +18 -15
  91. package/dist/tools/vault-composition.d.ts.map +1 -1
  92. package/dist/tools/vault-composition.js +71 -155
  93. package/dist/tools/vault-composition.js.map +1 -1
  94. package/dist/types/generated.d.ts +393 -15
  95. package/dist/types/generated.d.ts.map +1 -1
  96. package/dist/utils/comparison-metrics.d.ts +13 -1
  97. package/dist/utils/comparison-metrics.d.ts.map +1 -1
  98. package/dist/utils/comparison-metrics.js +29 -4
  99. package/dist/utils/comparison-metrics.js.map +1 -1
  100. package/dist/utils/composition-metrics.d.ts +42 -0
  101. package/dist/utils/composition-metrics.d.ts.map +1 -0
  102. package/dist/utils/composition-metrics.js +50 -0
  103. package/dist/utils/composition-metrics.js.map +1 -0
  104. package/dist/utils/fee-formatting.d.ts +41 -0
  105. package/dist/utils/fee-formatting.d.ts.map +1 -0
  106. package/dist/utils/fee-formatting.js +57 -0
  107. package/dist/utils/fee-formatting.js.map +1 -0
  108. package/dist/utils/operational-signals.d.ts +55 -0
  109. package/dist/utils/operational-signals.d.ts.map +1 -0
  110. package/dist/utils/operational-signals.js +105 -0
  111. package/dist/utils/operational-signals.js.map +1 -0
  112. package/dist/utils/validators.d.ts +103 -0
  113. package/dist/utils/validators.d.ts.map +1 -1
  114. package/dist/utils/validators.js +59 -1
  115. package/dist/utils/validators.js.map +1 -1
  116. package/package.json +2 -2
  117. package/dist/graphql/fragments.d.ts +0 -183
  118. package/dist/graphql/fragments.d.ts.map +0 -1
  119. package/dist/graphql/fragments.js +0 -297
  120. package/dist/graphql/fragments.js.map +0 -1
  121. package/dist/graphql/queries/period-summaries.d.ts +0 -15
  122. package/dist/graphql/queries/period-summaries.d.ts.map +0 -1
  123. package/dist/graphql/queries/period-summaries.js +0 -24
  124. package/dist/graphql/queries/period-summaries.js.map +0 -1
  125. package/dist/services/analytics/protocol-overview.service.d.ts +0 -61
  126. package/dist/services/analytics/protocol-overview.service.d.ts.map +0 -1
  127. package/dist/services/analytics/protocol-overview.service.js +0 -182
  128. package/dist/services/analytics/protocol-overview.service.js.map +0 -1
  129. package/dist/tools/index.d.ts +0 -26
  130. package/dist/tools/index.d.ts.map +0 -1
  131. package/dist/tools/index.js +0 -32
  132. package/dist/tools/index.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Fee Formatting Utilities
3
+ *
4
+ * Single source of truth for converting Lagoon's basis-point fee values
5
+ * (uint16 from GraphQL; `2000` = 20%) into percentages for display and risk
6
+ * calculations.
7
+ *
8
+ * The SDK simulator (`@lagoon-protocol/v0-computation`) expects raw basis
9
+ * points — do NOT use these helpers in the simulation path.
10
+ *
11
+ * Covers all fee fields on `VaultState`:
12
+ * - managementFee, performanceFee, protocolFee (legacy fee model)
13
+ * - entryRate, exitRate, haircutRate (v0.6+ fee model)
14
+ * - upcomingManagementFee, upcomingPerformanceFee (staged rates)
15
+ */
16
+ /**
17
+ * Convert a basis-point value to a decimal percentage.
18
+ * `2000` → `20.0`. Returns `0` for `null`/`undefined`.
19
+ */
20
+ export declare function basisPointsToPercent(bps: number | null | undefined): number;
21
+ /**
22
+ * Format a basis-point value as a human-readable percentage string.
23
+ * `2000` → `"20.00%"`. Returns `"N/A"` for `null`/`undefined`.
24
+ */
25
+ export declare function formatBasisPointsAsPercent(bps: number | null | undefined, decimals?: number): string;
26
+ /**
27
+ * Apply `basisPointsToPercent` to every fee field on a VaultState-like
28
+ * object. Returns a shallow copy with numeric percentages (not basis points).
29
+ * Useful when emitting fees to a downstream consumer that expects %.
30
+ */
31
+ export declare function normalizeFeesToPercent<T extends {
32
+ managementFee?: number | null;
33
+ performanceFee?: number | null;
34
+ protocolFee?: number | null;
35
+ entryRate?: number | null;
36
+ exitRate?: number | null;
37
+ haircutRate?: number | null;
38
+ upcomingManagementFee?: number | null;
39
+ upcomingPerformanceFee?: number | null;
40
+ }>(state: T): T;
41
+ //# sourceMappingURL=fee-formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-formatting.d.ts","sourceRoot":"","sources":["../../src/utils/fee-formatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG3E;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,SAAI,GAAG,MAAM,CAG/F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,SAAS;IACR,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC,EACD,KAAK,EAAE,CAAC,GAAG,CAAC,CAkBb"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Fee Formatting Utilities
3
+ *
4
+ * Single source of truth for converting Lagoon's basis-point fee values
5
+ * (uint16 from GraphQL; `2000` = 20%) into percentages for display and risk
6
+ * calculations.
7
+ *
8
+ * The SDK simulator (`@lagoon-protocol/v0-computation`) expects raw basis
9
+ * points — do NOT use these helpers in the simulation path.
10
+ *
11
+ * Covers all fee fields on `VaultState`:
12
+ * - managementFee, performanceFee, protocolFee (legacy fee model)
13
+ * - entryRate, exitRate, haircutRate (v0.6+ fee model)
14
+ * - upcomingManagementFee, upcomingPerformanceFee (staged rates)
15
+ */
16
+ const BASIS_POINTS_PER_PERCENT = 100;
17
+ /**
18
+ * Convert a basis-point value to a decimal percentage.
19
+ * `2000` → `20.0`. Returns `0` for `null`/`undefined`.
20
+ */
21
+ export function basisPointsToPercent(bps) {
22
+ if (bps == null)
23
+ return 0;
24
+ return bps / BASIS_POINTS_PER_PERCENT;
25
+ }
26
+ /**
27
+ * Format a basis-point value as a human-readable percentage string.
28
+ * `2000` → `"20.00%"`. Returns `"N/A"` for `null`/`undefined`.
29
+ */
30
+ export function formatBasisPointsAsPercent(bps, decimals = 2) {
31
+ if (bps == null)
32
+ return 'N/A';
33
+ return `${(bps / BASIS_POINTS_PER_PERCENT).toFixed(decimals)}%`;
34
+ }
35
+ /**
36
+ * Apply `basisPointsToPercent` to every fee field on a VaultState-like
37
+ * object. Returns a shallow copy with numeric percentages (not basis points).
38
+ * Useful when emitting fees to a downstream consumer that expects %.
39
+ */
40
+ export function normalizeFeesToPercent(state) {
41
+ return {
42
+ ...state,
43
+ managementFee: basisPointsToPercent(state.managementFee),
44
+ performanceFee: basisPointsToPercent(state.performanceFee),
45
+ protocolFee: basisPointsToPercent(state.protocolFee),
46
+ entryRate: basisPointsToPercent(state.entryRate),
47
+ exitRate: basisPointsToPercent(state.exitRate),
48
+ haircutRate: basisPointsToPercent(state.haircutRate),
49
+ upcomingManagementFee: state.upcomingManagementFee == null
50
+ ? null
51
+ : basisPointsToPercent(state.upcomingManagementFee),
52
+ upcomingPerformanceFee: state.upcomingPerformanceFee == null
53
+ ? null
54
+ : basisPointsToPercent(state.upcomingPerformanceFee),
55
+ };
56
+ }
57
+ //# sourceMappingURL=fee-formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-formatting.js","sourceRoot":"","sources":["../../src/utils/fee-formatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAA8B;IACjE,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,GAAG,GAAG,wBAAwB,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAA8B,EAAE,QAAQ,GAAG,CAAC;IACrF,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,GAAG,CAAC,GAAG,GAAG,wBAAwB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAWpC,KAAQ;IACR,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC;QACxD,cAAc,EAAE,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC;QAC1D,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC;QACpD,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC;QAChD,QAAQ,EAAE,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9C,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC;QACpD,qBAAqB,EACnB,KAAK,CAAC,qBAAqB,IAAI,IAAI;YACjC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACvD,sBAAsB,EACpB,KAAK,CAAC,sBAAsB,IAAI,IAAI;YAClC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,sBAAsB,CAAC;KACzD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Operational signals derived from `VaultState` v0.6+ flags.
3
+ *
4
+ * These are NOT inputs to the calibrated 14-factor weighted risk score in
5
+ * `src/utils/risk-scoring.ts` — adding a 15th factor would force a weight
6
+ * reallocation and invalidate test calibration. Instead, signals:
7
+ *
8
+ * 1. Are surfaced as a separate output block (`operationalSignals[]`).
9
+ * 2. Apply a *risk-level floor* on the bucket (Critical/High/Medium/Low),
10
+ * following the same pattern as `CRITICAL_FACTOR_THRESHOLD` in
11
+ * `calculateOverallRisk` — the numeric score is unchanged, only the
12
+ * bucket can move up.
13
+ *
14
+ * Recomputed on every `analyze_risk` call (no separate cache horizon) — they
15
+ * derive from already-cached vault state, so the cost is negligible, and a
16
+ * `stale_total_assets` signal would silently expire if we cached it.
17
+ */
18
+ export type OperationalSignalCode = 'paused' | 'safe_unlocked' | 'super_operator_unlocked' | 'blacklist_mode_active' | 'stale_total_assets';
19
+ export type OperationalSeverity = 'Critical' | 'High' | 'Medium';
20
+ export interface OperationalSignal {
21
+ code: OperationalSignalCode;
22
+ severity: OperationalSeverity;
23
+ message: string;
24
+ }
25
+ /**
26
+ * VaultState shape consumed by this evaluator. Intentionally a structural
27
+ * subset of `VaultData['state']` (from `src/graphql/fragments/vault.fragment.ts`)
28
+ * so we don't depend on the full fragment for unit-testable signal evaluation.
29
+ */
30
+ export interface OperationalSignalsState {
31
+ isPaused?: boolean;
32
+ safeLocked?: boolean;
33
+ superOperatorLocked?: boolean | null;
34
+ accessMode?: 'Whitelist' | 'Blacklist' | null;
35
+ blacklist?: string[] | null;
36
+ totalAssetsExpiration?: string;
37
+ }
38
+ /**
39
+ * Evaluate `state` against each signal rule. `nowSeconds` is injected for
40
+ * deterministic testability (don't read `Date.now()` here).
41
+ */
42
+ export declare function evaluateOperationalSignals(state: OperationalSignalsState | null | undefined, nowSeconds: number): OperationalSignal[];
43
+ /**
44
+ * The risk-level floor implied by a set of signals. Critical > High > Medium.
45
+ * Returns null when no signals are present.
46
+ *
47
+ * Pair with `riskLevelMax(weightedLevel, floor)` to compute the effective
48
+ * level: the floor can only move the bucket up, never down.
49
+ */
50
+ export declare function operationalSignalFloor(signals: OperationalSignal[]): 'Critical' | 'High' | 'Medium' | null;
51
+ /**
52
+ * Take the worse (higher) of two risk levels.
53
+ */
54
+ export declare function riskLevelMax(a: 'Low' | 'Medium' | 'High' | 'Critical', b: 'Low' | 'Medium' | 'High' | 'Critical' | null): 'Low' | 'Medium' | 'High' | 'Critical';
55
+ //# sourceMappingURL=operational-signals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational-signals.d.ts","sourceRoot":"","sources":["../../src/utils/operational-signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,eAAe,GACf,yBAAyB,GACzB,uBAAuB,GACvB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mBAAmB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,uBAAuB,GAAG,IAAI,GAAG,SAAS,EACjD,UAAU,EAAE,MAAM,GACjB,iBAAiB,EAAE,CA8DrB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,EAAE,GAC3B,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAKvC;AASD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,EACzC,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAC/C,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAGxC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Operational signals derived from `VaultState` v0.6+ flags.
3
+ *
4
+ * These are NOT inputs to the calibrated 14-factor weighted risk score in
5
+ * `src/utils/risk-scoring.ts` — adding a 15th factor would force a weight
6
+ * reallocation and invalidate test calibration. Instead, signals:
7
+ *
8
+ * 1. Are surfaced as a separate output block (`operationalSignals[]`).
9
+ * 2. Apply a *risk-level floor* on the bucket (Critical/High/Medium/Low),
10
+ * following the same pattern as `CRITICAL_FACTOR_THRESHOLD` in
11
+ * `calculateOverallRisk` — the numeric score is unchanged, only the
12
+ * bucket can move up.
13
+ *
14
+ * Recomputed on every `analyze_risk` call (no separate cache horizon) — they
15
+ * derive from already-cached vault state, so the cost is negligible, and a
16
+ * `stale_total_assets` signal would silently expire if we cached it.
17
+ */
18
+ /**
19
+ * Evaluate `state` against each signal rule. `nowSeconds` is injected for
20
+ * deterministic testability (don't read `Date.now()` here).
21
+ */
22
+ export function evaluateOperationalSignals(state, nowSeconds) {
23
+ if (!state)
24
+ return [];
25
+ const signals = [];
26
+ if (state.isPaused === true) {
27
+ signals.push({
28
+ code: 'paused',
29
+ severity: 'Critical',
30
+ message: 'Vault is currently paused — deposits, redeems, and settlements are halted.',
31
+ });
32
+ }
33
+ if (state.safeLocked === false) {
34
+ signals.push({
35
+ code: 'safe_unlocked',
36
+ severity: 'High',
37
+ message: 'Safe (fund custody) address can still be changed by the vault owner — a malicious owner could rotate custody.',
38
+ });
39
+ }
40
+ // superOperatorLocked is null on pre-v0.6.0 vaults that lack the role.
41
+ // Only flag when it's explicitly false (role exists and is mutable).
42
+ if (state.superOperatorLocked === false) {
43
+ signals.push({
44
+ code: 'super_operator_unlocked',
45
+ severity: 'High',
46
+ message: 'Super-operator role can still be changed — the holder can act on behalf of any controller and bypass access checks.',
47
+ });
48
+ }
49
+ if (state.accessMode === 'Blacklist' &&
50
+ Array.isArray(state.blacklist) &&
51
+ state.blacklist.length > 0) {
52
+ // Don't embed the exact blacklist size — for vault-operator (non-OFAC)
53
+ // blacklists the count can be sensitive operator metadata, and it adds
54
+ // no risk-analytic value beyond "non-empty". Callers needing the exact
55
+ // size can read state.blacklist directly via get_vault_data.
56
+ signals.push({
57
+ code: 'blacklist_mode_active',
58
+ severity: 'Medium',
59
+ message: 'Vault enforces a non-empty blacklist — operator can deny specific users access.',
60
+ });
61
+ }
62
+ if (state.totalAssetsExpiration) {
63
+ const expiration = Number(state.totalAssetsExpiration);
64
+ // 0 means "not configured" — skip the check rather than treat as stale.
65
+ if (Number.isFinite(expiration) && expiration > 0 && nowSeconds > expiration) {
66
+ signals.push({
67
+ code: 'stale_total_assets',
68
+ severity: 'High',
69
+ message: 'totalAssets valuation has expired — synchronous operations may be disabled and downstream analytics may be working from a stale TVL.',
70
+ });
71
+ }
72
+ }
73
+ return signals;
74
+ }
75
+ /**
76
+ * The risk-level floor implied by a set of signals. Critical > High > Medium.
77
+ * Returns null when no signals are present.
78
+ *
79
+ * Pair with `riskLevelMax(weightedLevel, floor)` to compute the effective
80
+ * level: the floor can only move the bucket up, never down.
81
+ */
82
+ export function operationalSignalFloor(signals) {
83
+ if (signals.length === 0)
84
+ return null;
85
+ if (signals.some((s) => s.severity === 'Critical'))
86
+ return 'Critical';
87
+ if (signals.some((s) => s.severity === 'High'))
88
+ return 'High';
89
+ return 'Medium';
90
+ }
91
+ const RISK_LEVEL_RANK = {
92
+ Low: 0,
93
+ Medium: 1,
94
+ High: 2,
95
+ Critical: 3,
96
+ };
97
+ /**
98
+ * Take the worse (higher) of two risk levels.
99
+ */
100
+ export function riskLevelMax(a, b) {
101
+ if (b === null)
102
+ return a;
103
+ return RISK_LEVEL_RANK[a] >= RISK_LEVEL_RANK[b] ? a : b;
104
+ }
105
+ //# sourceMappingURL=operational-signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational-signals.js","sourceRoot":"","sources":["../../src/utils/operational-signals.ts"],"names":[],"mappings":"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"}
@@ -231,9 +231,11 @@ export declare const compareVaultsInputSchema: z.ZodEffects<z.ZodObject<{
231
231
  chainId: z.ZodOptional<z.ZodNumber>;
232
232
  chainIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
233
233
  responseFormat: z.ZodDefault<z.ZodEnum<["summary", "full"]>>;
234
+ rankBy: z.ZodDefault<z.ZodEnum<["totalApr", "sustainableApr"]>>;
234
235
  }, "strip", z.ZodTypeAny, {
235
236
  responseFormat: "full" | "summary";
236
237
  vaultAddresses: string[];
238
+ rankBy: "totalApr" | "sustainableApr";
237
239
  chainId?: number | undefined;
238
240
  chainIds?: number[] | undefined;
239
241
  }, {
@@ -241,9 +243,11 @@ export declare const compareVaultsInputSchema: z.ZodEffects<z.ZodObject<{
241
243
  chainId?: number | undefined;
242
244
  responseFormat?: "full" | "summary" | undefined;
243
245
  chainIds?: number[] | undefined;
246
+ rankBy?: "totalApr" | "sustainableApr" | undefined;
244
247
  }>, {
245
248
  responseFormat: "full" | "summary";
246
249
  vaultAddresses: string[];
250
+ rankBy: "totalApr" | "sustainableApr";
247
251
  chainId?: number | undefined;
248
252
  chainIds?: number[] | undefined;
249
253
  }, {
@@ -251,6 +255,7 @@ export declare const compareVaultsInputSchema: z.ZodEffects<z.ZodObject<{
251
255
  chainId?: number | undefined;
252
256
  responseFormat?: "full" | "summary" | undefined;
253
257
  chainIds?: number[] | undefined;
258
+ rankBy?: "totalApr" | "sustainableApr" | undefined;
254
259
  }>;
255
260
  export declare const priceHistoryInputSchema: z.ZodObject<{
256
261
  vaultAddress: z.ZodEffects<z.ZodString, string, string>;
@@ -388,14 +393,105 @@ export declare const optimizePortfolioInputSchema: z.ZodObject<{
388
393
  }>;
389
394
  export declare const getVaultCompositionInputSchema: z.ZodObject<{
390
395
  vaultAddress: z.ZodEffects<z.ZodString, string, string>;
396
+ chainId: z.ZodNumber;
391
397
  responseFormat: z.ZodDefault<z.ZodEnum<["summary", "protocols", "full"]>>;
392
398
  }, "strip", z.ZodTypeAny, {
393
399
  vaultAddress: string;
400
+ chainId: number;
394
401
  responseFormat: "full" | "summary" | "protocols";
395
402
  }, {
396
403
  vaultAddress: string;
404
+ chainId: number;
397
405
  responseFormat?: "full" | "summary" | "protocols" | undefined;
398
406
  }>;
407
+ export declare const getGlobalTvlInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
408
+ export declare const getIndexingStatusInputSchema: z.ZodObject<{
409
+ chainIds: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
410
+ }, "strip", z.ZodTypeAny, {
411
+ chainIds?: number[] | undefined;
412
+ }, {
413
+ chainIds?: number[] | undefined;
414
+ }>;
415
+ export declare const listChainsInputSchema: z.ZodObject<{
416
+ isVisible: z.ZodOptional<z.ZodBoolean>;
417
+ pagination: z.ZodOptional<z.ZodObject<{
418
+ first: z.ZodDefault<z.ZodNumber>;
419
+ skip: z.ZodDefault<z.ZodNumber>;
420
+ }, "strip", z.ZodTypeAny, {
421
+ first: number;
422
+ skip: number;
423
+ }, {
424
+ first?: number | undefined;
425
+ skip?: number | undefined;
426
+ }>>;
427
+ }, "strip", z.ZodTypeAny, {
428
+ pagination?: {
429
+ first: number;
430
+ skip: number;
431
+ } | undefined;
432
+ isVisible?: boolean | undefined;
433
+ }, {
434
+ pagination?: {
435
+ first?: number | undefined;
436
+ skip?: number | undefined;
437
+ } | undefined;
438
+ isVisible?: boolean | undefined;
439
+ }>;
440
+ export declare const listCuratorsInputSchema: z.ZodObject<{
441
+ isVisible: z.ZodOptional<z.ZodBoolean>;
442
+ pagination: z.ZodOptional<z.ZodObject<{
443
+ first: z.ZodDefault<z.ZodNumber>;
444
+ skip: z.ZodDefault<z.ZodNumber>;
445
+ }, "strip", z.ZodTypeAny, {
446
+ first: number;
447
+ skip: number;
448
+ }, {
449
+ first?: number | undefined;
450
+ skip?: number | undefined;
451
+ }>>;
452
+ }, "strip", z.ZodTypeAny, {
453
+ pagination?: {
454
+ first: number;
455
+ skip: number;
456
+ } | undefined;
457
+ isVisible?: boolean | undefined;
458
+ }, {
459
+ pagination?: {
460
+ first?: number | undefined;
461
+ skip?: number | undefined;
462
+ } | undefined;
463
+ isVisible?: boolean | undefined;
464
+ }>;
465
+ export declare const getCuratorInputSchema: z.ZodObject<{
466
+ curatorId: z.ZodString;
467
+ }, "strip", z.ZodTypeAny, {
468
+ curatorId: string;
469
+ }, {
470
+ curatorId: string;
471
+ }>;
472
+ export declare const getAssetInputSchema: z.ZodObject<{
473
+ assetAddress: z.ZodEffects<z.ZodString, string, string>;
474
+ chainId: z.ZodNumber;
475
+ }, "strip", z.ZodTypeAny, {
476
+ chainId: number;
477
+ assetAddress: string;
478
+ }, {
479
+ chainId: number;
480
+ assetAddress: string;
481
+ }>;
482
+ export declare const getHistoricalStateInputSchema: z.ZodObject<{
483
+ vaultAddress: z.ZodEffects<z.ZodString, string, string>;
484
+ chainId: z.ZodNumber;
485
+ timestamp: z.ZodNumber;
486
+ }, "strip", z.ZodTypeAny, {
487
+ vaultAddress: string;
488
+ chainId: number;
489
+ timestamp: number;
490
+ }, {
491
+ vaultAddress: string;
492
+ chainId: number;
493
+ timestamp: number;
494
+ }>;
399
495
  /**
400
496
  * Type inference helpers
401
497
  */
@@ -413,4 +509,11 @@ export type AnalyzeRisksInput = z.infer<typeof analyzeRisksInputSchema>;
413
509
  export type PredictYieldInput = z.infer<typeof predictYieldInputSchema>;
414
510
  export type OptimizePortfolioInput = z.infer<typeof optimizePortfolioInputSchema>;
415
511
  export type GetVaultCompositionInput = z.infer<typeof getVaultCompositionInputSchema>;
512
+ export type GetGlobalTvlInput = z.infer<typeof getGlobalTvlInputSchema>;
513
+ export type GetIndexingStatusInput = z.infer<typeof getIndexingStatusInputSchema>;
514
+ export type ListChainsInput = z.infer<typeof listChainsInputSchema>;
515
+ export type ListCuratorsInput = z.infer<typeof listCuratorsInputSchema>;
516
+ export type GetCuratorInput = z.infer<typeof getCuratorInputSchema>;
517
+ export type GetAssetInput = z.infer<typeof getAssetInputSchema>;
518
+ export type GetHistoricalStateInput = z.infer<typeof getHistoricalStateInputSchema>;
416
519
  //# sourceMappingURL=validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
@@ -208,6 +208,10 @@ export const compareVaultsInputSchema = z
208
208
  .enum(['summary', 'full'])
209
209
  .default('summary')
210
210
  .describe('Response detail level: summary (~170 tokens/vault), full (~600 tokens/vault). Default: summary'),
211
+ rankBy: z
212
+ .enum(['totalApr', 'sustainableApr'])
213
+ .default('totalApr')
214
+ .describe('Ranking strategy. "totalApr" (default) ranks by net APR including airdrops/incentives; "sustainableApr" ranks by APR excluding extra yields — fair comparison when some vaults are incentive-heavy.'),
211
215
  })
212
216
  .refine((data) => data.chainId !== undefined || (data.chainIds && data.chainIds.length > 0), {
213
217
  message: 'Either chainId or chainIds must be provided',
@@ -315,11 +319,65 @@ export const optimizePortfolioInputSchema = z.object({
315
319
  .describe('Response detail level: quick (rebalance status and top actions ~300-400 tokens), balanced (standard output ~800 tokens), detailed (extended insights ~1200 tokens). Default: balanced'),
316
320
  });
317
321
  // get_vault_composition input
322
+ // chainId required (the deprecated query merged chains silently — see gotcha #2).
318
323
  export const getVaultCompositionInputSchema = z.object({
319
324
  vaultAddress: ethereumAddressSchema,
325
+ chainId: chainIdSchema,
320
326
  responseFormat: z
321
327
  .enum(['summary', 'protocols', 'full'])
322
328
  .default('summary')
323
- .describe('Response detail level: summary (totals + top protocols ~100 tokens), protocols (non-zero protocols only ~200-500 tokens), full (all protocol data ~1000+ tokens). Default: summary'),
329
+ .describe('Response detail level: summary (totals + top protocols ~100 tokens), protocols (non-zero protocols only ~200-500 tokens), full (all protocol data including tokenCompositions ~600-1000 tokens). Default: summary'),
330
+ });
331
+ // get_global_tvl input — no args
332
+ export const getGlobalTvlInputSchema = z.object({});
333
+ // get_indexing_status input — optional chainIds filter
334
+ export const getIndexingStatusInputSchema = z.object({
335
+ chainIds: z
336
+ .array(chainIdSchema)
337
+ .optional()
338
+ .describe('Optional list of chain IDs to filter; omit to return all chains.'),
339
+ });
340
+ // list_chains input
341
+ export const listChainsInputSchema = z.object({
342
+ isVisible: z
343
+ .boolean()
344
+ .optional()
345
+ .describe('If true, only return chains visible in the Lagoon frontend.'),
346
+ pagination: z.object({ first: paginationFirstSchema, skip: paginationSkipSchema }).optional(),
347
+ });
348
+ // list_curators input
349
+ export const listCuratorsInputSchema = z.object({
350
+ isVisible: z
351
+ .boolean()
352
+ .optional()
353
+ .describe('If true, only return curators visible in the Lagoon frontend.'),
354
+ pagination: z.object({ first: paginationFirstSchema, skip: paginationSkipSchema }).optional(),
355
+ });
356
+ // get_curator input
357
+ // Length-bounded + character-bounded to keep the value safe to use as a cache
358
+ // key (node-cache has a 1000-entry limit; unbounded variants would let a
359
+ // caller churn the cache). Mirrors the entityIds pattern in searchVaultsInputSchema.
360
+ export const getCuratorInputSchema = z.object({
361
+ curatorId: z
362
+ .string()
363
+ .trim()
364
+ .toLowerCase()
365
+ .regex(/^[a-z0-9_-]{1,64}$/, 'curatorId must be 1-64 chars of [a-z0-9_-] (e.g. "steakhouse", "mev-capital", "1212-capital")')
366
+ .describe('Curator ID as exposed by the backend (e.g. "steakhouse", "1212-capital").'),
367
+ });
368
+ // get_asset input
369
+ export const getAssetInputSchema = z.object({
370
+ assetAddress: ethereumAddressSchema,
371
+ chainId: chainIdSchema,
372
+ });
373
+ // get_historical_state input — wraps Vault.stateAt(timestamp)
374
+ export const getHistoricalStateInputSchema = z.object({
375
+ vaultAddress: ethereumAddressSchema,
376
+ chainId: chainIdSchema,
377
+ timestamp: z
378
+ .number()
379
+ .int()
380
+ .positive('timestamp must be a positive Unix epoch in seconds')
381
+ .describe('Unix timestamp (seconds) at which to read the vault state.'),
324
382
  });
325
383
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,4CAA4C;AAC5C,+FAA+F;AAC/F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,KAAK,CACJ,qBAAqB,EACrB,4EAA4E,CAC7E;KACA,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAE3C,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;AAE9F,6BAA6B;AAC7B,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,GAAG,EAAE;KACL,QAAQ,EAAE;KACV,GAAG,CAAC,IAAI,EAAE,2BAA2B,CAAC;KACtC,OAAO,CAAC,EAAE,CAAC,CAAC;AAEf,4BAA4B;AAC5B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,GAAG,EAAE;KACL,WAAW,CAAC,2BAA2B,CAAC;KACxC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEd;;GAEG;AAEH,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,uBAAuB;AACvB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,qBAAqB;IAClC,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACjC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,yHAAyH,CAC1H;CACJ,CAAC,CAAC;AAEH,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,gBAAgB;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAE1C,gBAAgB;QAChB,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE;QACpC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;QAE7C,kBAAkB;QAClB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1C,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAEvD,aAAa;QACb,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAEpC,qBAAqB;QACrB,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE;QAC5C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;QACrD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAChD,CAAC;SACD,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,oBAAoB;KAC3B,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACzF,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvD,6EAA6E;IAC7E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,yEAAyE;IACzE,6EAA6E;IAC7E,SAAS,EAAE,CAAC;SACT,KAAK,CACJ,CAAC;SACE,MAAM,EAAE;SACR,KAAK,CACJ,4CAA4C,EAC5C,yCAAyC,CAC1C,CACJ;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,8CAA8C;IAC9C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACjC,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,uGAAuG,CACxG;IACH,gDAAgD;IAChD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;QAC5C,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;KAC7E,CAAC;IACF,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5D,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC7B,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,oGAAoG,CACrG;CACJ,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,gBAAgB,EAAE,CAAC;SAChB,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;QACL,gCAAgC;QAChC,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,wBAAwB;QACxB,eAAe;QACf,uBAAuB;QACvB,SAAS;QACT,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,cAAc;QACd,SAAS;QACT,sBAAsB;QACtB,uBAAuB;QACvB,oBAAoB;QACpB,eAAe;QACf,cAAc;QACd,YAAY;QACZ,OAAO;QACP,cAAc;QACd,UAAU;QACV,cAAc;QACd,8BAA8B;QAC9B,mBAAmB;QACnB,oBAAoB;QACpB,kBAAkB;QAClB,kBAAkB;QAClB,8BAA8B;QAC9B,yBAAyB;QACzB,mBAAmB;QACnB,eAAe;QACf,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,8BAA8B;QAC9B,aAAa;QACb,wBAAwB;QACxB,sBAAsB;QACtB,UAAU;QACV,eAAe;KAChB,CAAC,CACH;SACA,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,oBAAoB;KAC3B,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACrF,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvD,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SACrC,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,gLAAgL,CACjL;CACJ,CAAC,CAAC;AAEH,uBAAuB;AACvB,gGAAgG;AAChG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,qBAAqB,CAAC;SAC5B,GAAG,CAAC,CAAC,EAAE,wDAAwD,CAAC;SAChE,GAAG,CAAC,EAAE,EAAE,2CAA2C,CAAC;IACvD,4CAA4C;IAC5C,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,gDAAgD;IAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAC3C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SACzB,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,gGAAgG,CACjG;IACH,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;SACpC,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CACP,qMAAqM,CACtM;CACJ,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;IAC3F,OAAO,EAAE,6CAA6C;CACvD,CAAC,CAAC;AAEL,0BAA0B;AAC1B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;QACnD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;KAClF,CAAC;IACF,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC7B,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,kGAAkG,CACnG;CACJ,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;IAC7F,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE;QAC3E,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,4EAA4E;SACtF,CAAC;KACH,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;QAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;KACnE,CAAC;CACH,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;SACtC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,wLAAwL,CACzL;CACJ,CAAC,CAAC;AAEH,+CAA+C;AAC/C,wFAAwF;AACxF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,qBAAqB,CAAC;SAC5B,GAAG,CAAC,CAAC,EAAE,4DAA4D,CAAC;SACpE,GAAG,CAAC,EAAE,EAAE,2CAA2C,CAAC;IACvD,8CAA8C;IAC9C,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,sFAAsF;IACtF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAC3C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;SACtC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,2LAA2L,CAC5L;CACJ,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;IAC3F,OAAO,EAAE,6CAA6C;CACvD,CAAC;KACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;IACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,EACD;IACE,OAAO,EAAE,6EAA6E;CACvF,CACF,CAAC;AAEJ,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;QACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;KACzE,CAAC;IACF,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SAC3B,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CACP,mHAAmH,CACpH;CACJ,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,qBAAqB,CAAC;SAC5B,GAAG,CAAC,CAAC,EAAE,oEAAoE,CAAC;SAC5E,GAAG,CAAC,EAAE,EAAE,gDAAgD,CAAC;IAC5D,OAAO,EAAE,aAAa;IACtB,gBAAgB,EAAE,CAAC,CAAC,KAAK,CACvB,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KACjE,CAAC,CACH;IACD,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE;QACnE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,8EAA8E;SACxF,CAAC;KACH,CAAC;SACD,OAAO,CAAC,YAAY,CAAC;IACxB,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,QAAQ,CAAC,sCAAsC,CAAC;SAChD,GAAG,CAAC,EAAE,EAAE,uCAAuC,CAAC;SAChD,OAAO,CAAC,GAAG,CAAC;IACf,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;SACvC,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CACP,uLAAuL,CACxL;CACJ,CAAC,CAAC;AAEH,8BAA8B;AAC9B,kFAAkF;AAClF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;SACtC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CACP,mNAAmN,CACpN;CACJ,CAAC,CAAC;AAEH,iCAAiC;AACjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEpD,uDAAuD;AACvD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,aAAa,CAAC;SACpB,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;CAChF,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC9F,CAAC,CAAC;AAEH,sBAAsB;AACtB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC9F,CAAC,CAAC;AAEH,oBAAoB;AACpB,8EAA8E;AAC9E,yEAAyE;AACzE,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,WAAW,EAAE;SACb,KAAK,CACJ,oBAAoB,EACpB,+FAA+F,CAChG;SACA,QAAQ,CAAC,2EAA2E,CAAC;CACzF,CAAC,CAAC;AAEH,kBAAkB;AAClB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,CAAC,oDAAoD,CAAC;SAC9D,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lagoon-protocol/lagoon-mcp",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "MCP server for Lagoon DeFi vault analytics - FOR INFORMATIONAL USE ONLY, NOT FINANCIAL ADVICE. Natural language access to vault data, portfolios, and performance metrics",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -43,7 +43,7 @@
43
43
  "build": "tsc",
44
44
  "dev": "tsx watch src/index.ts",
45
45
  "test": "vitest",
46
- "test:unit": "vitest run tests/tools/ tests/graphql/ src/sdk/__tests__/",
46
+ "test:unit": "vitest run tests/tools/ tests/utils/ tests/graphql/ src/sdk/__tests__/",
47
47
  "test:integration": "./scripts/test-integration.sh",
48
48
  "test:coverage": "vitest run --coverage",
49
49
  "test:quick": "vitest run --changed",