@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.
- package/README.md +72 -54
- package/dist/cache/index.d.ts +4 -1
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +4 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/graphql/fragments/apr-breakdown.fragment.d.ts +4 -1
- package/dist/graphql/fragments/apr-breakdown.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/apr-breakdown.fragment.js +3 -0
- package/dist/graphql/fragments/apr-breakdown.fragment.js.map +1 -1
- package/dist/graphql/fragments/composition.fragment.d.ts +23 -134
- package/dist/graphql/fragments/composition.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/composition.fragment.js +9 -7
- package/dist/graphql/fragments/composition.fragment.js.map +1 -1
- package/dist/graphql/fragments/index.d.ts +1 -1
- package/dist/graphql/fragments/index.d.ts.map +1 -1
- package/dist/graphql/fragments/index.js +5 -4
- package/dist/graphql/fragments/index.js.map +1 -1
- package/dist/graphql/fragments/vault.fragment.d.ts +28 -1
- package/dist/graphql/fragments/vault.fragment.d.ts.map +1 -1
- package/dist/graphql/fragments/vault.fragment.js +28 -0
- package/dist/graphql/fragments/vault.fragment.js.map +1 -1
- package/dist/graphql/queries/composition.queries.d.ts +10 -28
- package/dist/graphql/queries/composition.queries.d.ts.map +1 -1
- package/dist/graphql/queries/composition.queries.js +17 -28
- package/dist/graphql/queries/composition.queries.js.map +1 -1
- package/dist/graphql/queries/discovery.queries.d.ts +50 -0
- package/dist/graphql/queries/discovery.queries.d.ts.map +1 -0
- package/dist/graphql/queries/discovery.queries.js +188 -0
- package/dist/graphql/queries/discovery.queries.js.map +1 -0
- package/dist/graphql/queries/export.queries.d.ts +1 -1
- package/dist/graphql/queries/export.queries.d.ts.map +1 -1
- package/dist/graphql/queries/index.d.ts +1 -0
- package/dist/graphql/queries/index.d.ts.map +1 -1
- package/dist/graphql/queries/index.js +2 -0
- package/dist/graphql/queries/index.js.map +1 -1
- package/dist/graphql/queries/portfolio.queries.d.ts +2 -2
- package/dist/graphql/queries/portfolio.queries.d.ts.map +1 -1
- package/dist/graphql/queries/portfolio.queries.js +9 -3
- package/dist/graphql/queries/portfolio.queries.js.map +1 -1
- package/dist/graphql/queries/risk.queries.d.ts +3 -3
- package/dist/graphql/queries/risk.queries.d.ts.map +1 -1
- package/dist/graphql/queries/vault.queries.d.ts +3 -3
- package/dist/graphql/queries/vault.queries.d.ts.map +1 -1
- package/dist/index.js +0 -0
- package/dist/services/analytics/risk.service.d.ts +43 -21
- package/dist/services/analytics/risk.service.d.ts.map +1 -1
- package/dist/services/analytics/risk.service.js +141 -129
- package/dist/services/analytics/risk.service.js.map +1 -1
- package/dist/tools/compare-vaults.d.ts.map +1 -1
- package/dist/tools/compare-vaults.js +44 -74
- package/dist/tools/compare-vaults.js.map +1 -1
- package/dist/tools/get-asset.d.ts +17 -0
- package/dist/tools/get-asset.d.ts.map +1 -0
- package/dist/tools/get-asset.js +44 -0
- package/dist/tools/get-asset.js.map +1 -0
- package/dist/tools/get-curator.d.ts +13 -0
- package/dist/tools/get-curator.d.ts.map +1 -0
- package/dist/tools/get-curator.js +81 -0
- package/dist/tools/get-curator.js.map +1 -0
- package/dist/tools/get-global-tvl.d.ts +20 -0
- package/dist/tools/get-global-tvl.d.ts.map +1 -0
- package/dist/tools/get-global-tvl.js +38 -0
- package/dist/tools/get-global-tvl.js.map +1 -0
- package/dist/tools/get-historical-state.d.ts +22 -0
- package/dist/tools/get-historical-state.d.ts.map +1 -0
- package/dist/tools/get-historical-state.js +65 -0
- package/dist/tools/get-historical-state.js.map +1 -0
- package/dist/tools/get-indexing-status.d.ts +20 -0
- package/dist/tools/get-indexing-status.d.ts.map +1 -0
- package/dist/tools/get-indexing-status.js +38 -0
- package/dist/tools/get-indexing-status.js.map +1 -0
- package/dist/tools/list-chains.d.ts +16 -0
- package/dist/tools/list-chains.d.ts.map +1 -0
- package/dist/tools/list-chains.js +46 -0
- package/dist/tools/list-chains.js.map +1 -0
- package/dist/tools/list-curators.d.ts +18 -0
- package/dist/tools/list-curators.d.ts.map +1 -0
- package/dist/tools/list-curators.js +49 -0
- package/dist/tools/list-curators.js.map +1 -0
- package/dist/tools/predict-yield.d.ts.map +1 -1
- package/dist/tools/predict-yield.js +77 -6
- package/dist/tools/predict-yield.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +83 -11
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/simulate-vault.d.ts +1 -1
- package/dist/tools/user-portfolio.d.ts.map +1 -1
- package/dist/tools/user-portfolio.js +30 -51
- package/dist/tools/user-portfolio.js.map +1 -1
- package/dist/tools/vault-composition.d.ts +18 -15
- package/dist/tools/vault-composition.d.ts.map +1 -1
- package/dist/tools/vault-composition.js +71 -155
- package/dist/tools/vault-composition.js.map +1 -1
- package/dist/types/generated.d.ts +393 -15
- package/dist/types/generated.d.ts.map +1 -1
- package/dist/utils/comparison-metrics.d.ts +13 -1
- package/dist/utils/comparison-metrics.d.ts.map +1 -1
- package/dist/utils/comparison-metrics.js +29 -4
- package/dist/utils/comparison-metrics.js.map +1 -1
- package/dist/utils/composition-metrics.d.ts +42 -0
- package/dist/utils/composition-metrics.d.ts.map +1 -0
- package/dist/utils/composition-metrics.js +50 -0
- package/dist/utils/composition-metrics.js.map +1 -0
- package/dist/utils/fee-formatting.d.ts +41 -0
- package/dist/utils/fee-formatting.d.ts.map +1 -0
- package/dist/utils/fee-formatting.js +57 -0
- package/dist/utils/fee-formatting.js.map +1 -0
- package/dist/utils/operational-signals.d.ts +55 -0
- package/dist/utils/operational-signals.d.ts.map +1 -0
- package/dist/utils/operational-signals.js +105 -0
- package/dist/utils/operational-signals.js.map +1 -0
- package/dist/utils/validators.d.ts +103 -0
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +59 -1
- package/dist/utils/validators.js.map +1 -1
- package/package.json +2 -2
- package/dist/graphql/fragments.d.ts +0 -183
- package/dist/graphql/fragments.d.ts.map +0 -1
- package/dist/graphql/fragments.js +0 -297
- package/dist/graphql/fragments.js.map +0 -1
- package/dist/graphql/queries/period-summaries.d.ts +0 -15
- package/dist/graphql/queries/period-summaries.d.ts.map +0 -1
- package/dist/graphql/queries/period-summaries.js +0 -24
- package/dist/graphql/queries/period-summaries.js.map +0 -1
- package/dist/services/analytics/protocol-overview.service.d.ts +0 -61
- package/dist/services/analytics/protocol-overview.service.d.ts.map +0 -1
- package/dist/services/analytics/protocol-overview.service.js +0 -182
- package/dist/services/analytics/protocol-overview.service.js.map +0 -1
- package/dist/tools/index.d.ts +0 -26
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -32
- 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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAIH,eAAO,MAAM,qBAAqB,2CAMQ,CAAC;AAG3C,eAAO,MAAM,aAAa,aAAmE,CAAC;AAI9F,eAAO,MAAM,qBAAqB,2BAKpB,CAAC;AAGf,eAAO,MAAM,oBAAoB,2BAIpB,CAAC;AAEd;;GAEG;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAGH,eAAO,MAAM,2BAA2B;;;;;;;;;EAQtC,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ElC,CAAC;AAGH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;EAazC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgErC,CAAC;AAIH,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/validators.js
CHANGED
|
@@ -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
|
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lagoon-protocol/lagoon-mcp",
|
|
3
|
-
"version": "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",
|