@lagoon-protocol/lagoon-mcp 0.4.0 → 0.6.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 (159) hide show
  1. package/dist/config.d.ts +1 -1
  2. package/dist/config.js +1 -1
  3. package/dist/core/cache-invalidation.d.ts +7 -1
  4. package/dist/core/cache-invalidation.d.ts.map +1 -1
  5. package/dist/core/cache-invalidation.js +17 -1
  6. package/dist/core/cache-invalidation.js.map +1 -1
  7. package/dist/core/container.js +1 -1
  8. package/dist/graphql/client.d.ts.map +1 -1
  9. package/dist/graphql/client.js +6 -0
  10. package/dist/graphql/client.js.map +1 -1
  11. package/dist/graphql/fragments/transaction-base.fragment.d.ts +1 -1
  12. package/dist/graphql/fragments/transaction-base.fragment.d.ts.map +1 -1
  13. package/dist/graphql/fragments/transaction-base.fragment.js +0 -1
  14. package/dist/graphql/fragments/transaction-base.fragment.js.map +1 -1
  15. package/dist/graphql/fragments/vault.fragment.d.ts +2 -1
  16. package/dist/graphql/fragments/vault.fragment.d.ts.map +1 -1
  17. package/dist/graphql/fragments/vault.fragment.js +1 -0
  18. package/dist/graphql/fragments/vault.fragment.js.map +1 -1
  19. package/dist/graphql/queries/export.queries.d.ts +5 -7
  20. package/dist/graphql/queries/export.queries.d.ts.map +1 -1
  21. package/dist/graphql/queries/export.queries.js +22 -28
  22. package/dist/graphql/queries/export.queries.js.map +1 -1
  23. package/dist/graphql/queries/index.d.ts +3 -3
  24. package/dist/graphql/queries/index.d.ts.map +1 -1
  25. package/dist/graphql/queries/index.js +3 -3
  26. package/dist/graphql/queries/index.js.map +1 -1
  27. package/dist/graphql/queries/performance.queries.d.ts +6 -4
  28. package/dist/graphql/queries/performance.queries.d.ts.map +1 -1
  29. package/dist/graphql/queries/performance.queries.js +5 -11
  30. package/dist/graphql/queries/performance.queries.js.map +1 -1
  31. package/dist/graphql/queries/portfolio.queries.d.ts +5 -11
  32. package/dist/graphql/queries/portfolio.queries.d.ts.map +1 -1
  33. package/dist/graphql/queries/portfolio.queries.js +14 -87
  34. package/dist/graphql/queries/portfolio.queries.js.map +1 -1
  35. package/dist/graphql/queries/prediction.queries.d.ts +13 -15
  36. package/dist/graphql/queries/prediction.queries.d.ts.map +1 -1
  37. package/dist/graphql/queries/prediction.queries.js +12 -31
  38. package/dist/graphql/queries/prediction.queries.js.map +1 -1
  39. package/dist/graphql/queries/risk.queries.d.ts +3 -3
  40. package/dist/graphql/queries/risk.queries.d.ts.map +1 -1
  41. package/dist/graphql/queries/risk.queries.js +7 -22
  42. package/dist/graphql/queries/risk.queries.js.map +1 -1
  43. package/dist/graphql/queries/search.queries.d.ts.map +1 -1
  44. package/dist/graphql/queries/search.queries.js +6 -2
  45. package/dist/graphql/queries/search.queries.js.map +1 -1
  46. package/dist/graphql/queries/transaction.queries.d.ts +6 -26
  47. package/dist/graphql/queries/transaction.queries.d.ts.map +1 -1
  48. package/dist/graphql/queries/transaction.queries.js +227 -59
  49. package/dist/graphql/queries/transaction.queries.js.map +1 -1
  50. package/dist/graphql/queries/vault.queries.d.ts +21 -3
  51. package/dist/graphql/queries/vault.queries.d.ts.map +1 -1
  52. package/dist/graphql/queries/vault.queries.js +38 -0
  53. package/dist/graphql/queries/vault.queries.js.map +1 -1
  54. package/dist/index.js +7 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/prompts/competitor-comparison.d.ts.map +1 -1
  57. package/dist/prompts/competitor-comparison.js +3 -1
  58. package/dist/prompts/competitor-comparison.js.map +1 -1
  59. package/dist/prompts/curator-performance.d.ts.map +1 -1
  60. package/dist/prompts/curator-performance.js +3 -1
  61. package/dist/prompts/curator-performance.js.map +1 -1
  62. package/dist/prompts/financial-analysis.d.ts.map +1 -1
  63. package/dist/prompts/financial-analysis.js +7 -3
  64. package/dist/prompts/financial-analysis.js.map +1 -1
  65. package/dist/prompts/onboarding-first-vault.d.ts.map +1 -1
  66. package/dist/prompts/onboarding-first-vault.js +5 -1
  67. package/dist/prompts/onboarding-first-vault.js.map +1 -1
  68. package/dist/prompts/portfolio-optimization.d.ts.map +1 -1
  69. package/dist/prompts/portfolio-optimization.js +5 -1
  70. package/dist/prompts/portfolio-optimization.js.map +1 -1
  71. package/dist/prompts/protocol-overview.d.ts.map +1 -1
  72. package/dist/prompts/protocol-overview.js +3 -1
  73. package/dist/prompts/protocol-overview.js.map +1 -1
  74. package/dist/resources/schema.d.ts +8 -3
  75. package/dist/resources/schema.d.ts.map +1 -1
  76. package/dist/resources/schema.js +34 -30
  77. package/dist/resources/schema.js.map +1 -1
  78. package/dist/server.d.ts +4 -1
  79. package/dist/server.d.ts.map +1 -1
  80. package/dist/server.js +5 -2
  81. package/dist/server.js.map +1 -1
  82. package/dist/services/analytics/risk.service.d.ts +10 -12
  83. package/dist/services/analytics/risk.service.d.ts.map +1 -1
  84. package/dist/services/analytics/risk.service.js +41 -42
  85. package/dist/services/analytics/risk.service.js.map +1 -1
  86. package/dist/skills/loader.d.ts.map +1 -1
  87. package/dist/skills/loader.js +18 -8
  88. package/dist/skills/loader.js.map +1 -1
  89. package/dist/tools/compare-vaults.d.ts.map +1 -1
  90. package/dist/tools/compare-vaults.js +6 -3
  91. package/dist/tools/compare-vaults.js.map +1 -1
  92. package/dist/tools/discover-tools.d.ts +3 -3
  93. package/dist/tools/discover-tools.d.ts.map +1 -1
  94. package/dist/tools/discover-tools.js +16 -3
  95. package/dist/tools/discover-tools.js.map +1 -1
  96. package/dist/tools/export-data.d.ts.map +1 -1
  97. package/dist/tools/export-data.js +10 -16
  98. package/dist/tools/export-data.js.map +1 -1
  99. package/dist/tools/get-price-history.d.ts.map +1 -1
  100. package/dist/tools/get-price-history.js +55 -63
  101. package/dist/tools/get-price-history.js.map +1 -1
  102. package/dist/tools/get-transactions.d.ts.map +1 -1
  103. package/dist/tools/get-transactions.js +3 -1
  104. package/dist/tools/get-transactions.js.map +1 -1
  105. package/dist/tools/optimize-portfolio.d.ts.map +1 -1
  106. package/dist/tools/optimize-portfolio.js +6 -17
  107. package/dist/tools/optimize-portfolio.js.map +1 -1
  108. package/dist/tools/predict-yield.d.ts.map +1 -1
  109. package/dist/tools/predict-yield.js +61 -38
  110. package/dist/tools/predict-yield.js.map +1 -1
  111. package/dist/tools/query-graphql.d.ts.map +1 -1
  112. package/dist/tools/query-graphql.js +139 -0
  113. package/dist/tools/query-graphql.js.map +1 -1
  114. package/dist/tools/search-vaults.d.ts.map +1 -1
  115. package/dist/tools/search-vaults.js +9 -2
  116. package/dist/tools/search-vaults.js.map +1 -1
  117. package/dist/tools/vault-performance.d.ts.map +1 -1
  118. package/dist/tools/vault-performance.js +7 -19
  119. package/dist/tools/vault-performance.js.map +1 -1
  120. package/dist/types/generated.d.ts +811 -19
  121. package/dist/types/generated.d.ts.map +1 -1
  122. package/dist/utils/comparison-metrics.d.ts.map +1 -1
  123. package/dist/utils/comparison-metrics.js +6 -3
  124. package/dist/utils/comparison-metrics.js.map +1 -1
  125. package/dist/utils/csv-generator.d.ts +4 -1
  126. package/dist/utils/csv-generator.d.ts.map +1 -1
  127. package/dist/utils/csv-generator.js +8 -4
  128. package/dist/utils/csv-generator.js.map +1 -1
  129. package/dist/utils/drawdown.d.ts +62 -0
  130. package/dist/utils/drawdown.d.ts.map +1 -0
  131. package/dist/utils/drawdown.js +132 -0
  132. package/dist/utils/drawdown.js.map +1 -0
  133. package/dist/utils/portfolio-optimization.d.ts +3 -1
  134. package/dist/utils/portfolio-optimization.d.ts.map +1 -1
  135. package/dist/utils/portfolio-optimization.js +13 -9
  136. package/dist/utils/portfolio-optimization.js.map +1 -1
  137. package/dist/utils/risk-scoring.d.ts.map +1 -1
  138. package/dist/utils/risk-scoring.js +24 -7
  139. package/dist/utils/risk-scoring.js.map +1 -1
  140. package/dist/utils/tool-error-handler.d.ts.map +1 -1
  141. package/dist/utils/tool-error-handler.js +9 -2
  142. package/dist/utils/tool-error-handler.js.map +1 -1
  143. package/dist/utils/tool-handler.d.ts +0 -9
  144. package/dist/utils/tool-handler.d.ts.map +1 -1
  145. package/dist/utils/tool-handler.js +0 -13
  146. package/dist/utils/tool-handler.js.map +1 -1
  147. package/dist/utils/validators.d.ts +9 -3
  148. package/dist/utils/validators.d.ts.map +1 -1
  149. package/dist/utils/validators.js +49 -3
  150. package/dist/utils/validators.js.map +1 -1
  151. package/dist/utils/var.d.ts +65 -0
  152. package/dist/utils/var.d.ts.map +1 -0
  153. package/dist/utils/var.js +134 -0
  154. package/dist/utils/var.js.map +1 -0
  155. package/dist/utils/yield-prediction.d.ts +3 -0
  156. package/dist/utils/yield-prediction.d.ts.map +1 -1
  157. package/dist/utils/yield-prediction.js +46 -11
  158. package/dist/utils/yield-prediction.js.map +1 -1
  159. package/package.json +1 -1
@@ -4,7 +4,7 @@
4
4
  * GraphQL queries for transaction data operations.
5
5
  * Includes transaction history and price history queries.
6
6
  */
7
- import { TRANSACTION_BASE_FRAGMENT, PAGEINFO_FULL_FRAGMENT, PAGEINFO_MINIMAL_FRAGMENT, } from '../fragments/index.js';
7
+ import { TRANSACTION_BASE_FRAGMENT, PAGEINFO_FULL_FRAGMENT } from '../fragments/index.js';
8
8
  /**
9
9
  * GraphQL query for fetching vault transactions with all union type variants
10
10
  *
@@ -18,6 +18,11 @@ import { TRANSACTION_BASE_FRAGMENT, PAGEINFO_FULL_FRAGMENT, PAGEINFO_MINIMAL_FRA
18
18
  *
19
19
  * Used by: get_transactions tool
20
20
  *
21
+ * Aliases: AccessModeUpdated.newMode and SyncModeUpdated.newMode return
22
+ * different enum types (AccessMode! vs SyncMode!) — they're aliased to
23
+ * `newAccessMode` and `newSyncMode`/`oldSyncMode` so both can appear in the
24
+ * same selection set without a GraphQL field-conflict error.
25
+ *
21
26
  * Usage:
22
27
  * ```typescript
23
28
  * const response = await graphqlClient.request<TransactionsResponse>(
@@ -109,7 +114,6 @@ export const TRANSACTIONS_QUERY = `
109
114
  ... on NewTotalAssetsUpdated {
110
115
  totalAssets
111
116
  totalAssetsUsd
112
- totalSupply
113
117
  vault {
114
118
  id
115
119
  address
@@ -119,7 +123,6 @@ export const TRANSACTIONS_QUERY = `
119
123
  ... on TotalAssetsUpdated {
120
124
  totalAssets
121
125
  totalAssetsUsd
122
- totalSupply
123
126
  vault {
124
127
  id
125
128
  address
@@ -164,6 +167,9 @@ export const TRANSACTIONS_QUERY = `
164
167
  newRates {
165
168
  performanceRate
166
169
  managementRate
170
+ entryRate
171
+ exitRate
172
+ haircutRate
167
173
  }
168
174
  vault {
169
175
  id
@@ -179,60 +185,222 @@ export const TRANSACTIONS_QUERY = `
179
185
  symbol
180
186
  }
181
187
  }
182
- }
183
- }
184
- pageInfo {
185
- ...PageInfoFullFragment
186
- }
187
- }
188
- }
189
- ${TRANSACTION_BASE_FRAGMENT}
190
- ${PAGEINFO_FULL_FRAGMENT}
191
- `;
192
- /**
193
- * GraphQL query for historical price data
194
- *
195
- * Fetches TotalAssetsUpdated transactions to build price history time-series.
196
- * Provides OHLCV (Open, High, Low, Close, Volume) data for price analysis.
197
- *
198
- * Used by: get_price_history tool
199
- *
200
- * Usage:
201
- * ```typescript
202
- * const data = await graphqlClient.request<PriceHistoryResponse>(
203
- * PRICE_HISTORY_QUERY,
204
- * {
205
- * where: {
206
- * vault_in: ['0x...'],
207
- * type_in: ['TotalAssetsUpdated']
208
- * },
209
- * orderBy: 'timestamp',
210
- * orderDirection: 'asc',
211
- * first: 2000
212
- * }
213
- * );
214
- * ```
215
- */
216
- export const PRICE_HISTORY_QUERY = `
217
- query GetPriceHistory(
218
- $where: TransactionFilterInput!,
219
- $orderBy: TransactionOrderBy!,
220
- $orderDirection: OrderDirection!,
221
- $first: Int!
222
- ) {
223
- transactions(
224
- where: $where,
225
- orderBy: $orderBy,
226
- orderDirection: $orderDirection,
227
- first: $first
228
- ) {
229
- items {
230
- ...TransactionBaseFragment
231
- data {
232
- ... on TotalAssetsUpdated {
233
- totalAssets
234
- totalAssetsUsd
235
- totalSupply
188
+ ... on Deposit {
189
+ owner
190
+ sender
191
+ assets
192
+ shares
193
+ vault {
194
+ id
195
+ address
196
+ symbol
197
+ }
198
+ }
199
+ ... on Withdraw {
200
+ owner
201
+ sender
202
+ receiver
203
+ assets
204
+ shares
205
+ vault {
206
+ id
207
+ address
208
+ symbol
209
+ }
210
+ }
211
+ ... on WithdrawSync {
212
+ owner
213
+ sender
214
+ receiver
215
+ assets
216
+ shares
217
+ vault {
218
+ id
219
+ address
220
+ symbol
221
+ }
222
+ }
223
+ ... on RedeemRequestCanceled {
224
+ controller
225
+ requestId
226
+ requestedAmount
227
+ vault {
228
+ id
229
+ address
230
+ symbol
231
+ }
232
+ }
233
+ ... on FeeTaken {
234
+ feeType
235
+ shares
236
+ managerShares
237
+ protocolShares
238
+ rate
239
+ contextId
240
+ vault {
241
+ id
242
+ address
243
+ symbol
244
+ }
245
+ }
246
+ ... on HaircutTaken {
247
+ owner
248
+ shares
249
+ rate
250
+ vault {
251
+ id
252
+ address
253
+ symbol
254
+ }
255
+ }
256
+ ... on PreMint {
257
+ sender
258
+ receiver
259
+ assets
260
+ shares
261
+ vault {
262
+ id
263
+ address
264
+ symbol
265
+ }
266
+ }
267
+ ... on AccessModeUpdated {
268
+ newAccessMode: newMode
269
+ vault {
270
+ id
271
+ address
272
+ symbol
273
+ }
274
+ }
275
+ ... on AsyncOnlyActivated {
276
+ vault {
277
+ id
278
+ address
279
+ symbol
280
+ }
281
+ }
282
+ ... on NameUpdated {
283
+ previousName
284
+ newName
285
+ vault {
286
+ id
287
+ address
288
+ symbol
289
+ }
290
+ }
291
+ ... on SymbolUpdated {
292
+ previousSymbol
293
+ newSymbol
294
+ vault {
295
+ id
296
+ address
297
+ symbol
298
+ }
299
+ }
300
+ ... on MaxCapUpdated {
301
+ previousMaxCap
302
+ maxCap
303
+ vault {
304
+ id
305
+ address
306
+ symbol
307
+ }
308
+ }
309
+ ... on SyncModeUpdated {
310
+ oldSyncMode: oldMode
311
+ newSyncMode: newMode
312
+ vault {
313
+ id
314
+ address
315
+ symbol
316
+ }
317
+ }
318
+ ... on SafeUpdated {
319
+ oldSafe
320
+ newSafe
321
+ vault {
322
+ id
323
+ address
324
+ symbol
325
+ }
326
+ }
327
+ ... on SecurityCouncilUpdated {
328
+ oldSecurityCouncil
329
+ newSecurityCouncil
330
+ vault {
331
+ id
332
+ address
333
+ symbol
334
+ }
335
+ }
336
+ ... on SuperOperatorUpdated {
337
+ oldSuperOperator
338
+ newSuperOperator
339
+ vault {
340
+ id
341
+ address
342
+ symbol
343
+ }
344
+ }
345
+ ... on TotalAssetsExpirationUpdated {
346
+ oldExpiration
347
+ newExpiration
348
+ vault {
349
+ id
350
+ address
351
+ symbol
352
+ }
353
+ }
354
+ ... on ProxyDeployed {
355
+ deployer
356
+ factoryAddress
357
+ proxy
358
+ vault {
359
+ id
360
+ address
361
+ symbol
362
+ }
363
+ }
364
+ ... on BlacklistUpdated {
365
+ account
366
+ blacklisted
367
+ vault {
368
+ id
369
+ address
370
+ symbol
371
+ }
372
+ }
373
+ ... on WhitelistUpdated {
374
+ account
375
+ authorized
376
+ vault {
377
+ id
378
+ address
379
+ symbol
380
+ }
381
+ }
382
+ ... on ExternalSanctionsListUpdated {
383
+ oldExternalSanctionList
384
+ newExternalSanctionList
385
+ vault {
386
+ id
387
+ address
388
+ symbol
389
+ }
390
+ }
391
+ ... on GuardrailsUpdated {
392
+ oldLowerRate
393
+ newLowerRate
394
+ oldUpperRate
395
+ newUpperRate
396
+ vault {
397
+ id
398
+ address
399
+ symbol
400
+ }
401
+ }
402
+ ... on GuardrailsStatusUpdated {
403
+ activated
236
404
  vault {
237
405
  id
238
406
  address
@@ -242,11 +410,11 @@ export const PRICE_HISTORY_QUERY = `
242
410
  }
243
411
  }
244
412
  pageInfo {
245
- ...PageInfoMinimalFragment
413
+ ...PageInfoFullFragment
246
414
  }
247
415
  }
248
416
  }
249
417
  ${TRANSACTION_BASE_FRAGMENT}
250
- ${PAGEINFO_MINIMAL_FRAGMENT}
418
+ ${PAGEINFO_FULL_FRAGMENT}
251
419
  `;
252
420
  //# sourceMappingURL=transaction.queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/transaction.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0J9B,yBAAyB;IACzB,sBAAsB;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiC/B,yBAAyB;IACzB,yBAAyB;CAC5B,CAAC"}
1
+ {"version":3,"file":"transaction.queries.js","sourceRoot":"","sources":["../../../src/graphql/queries/transaction.queries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyX9B,yBAAyB;IACzB,sBAAsB;CACzB,CAAC"}
@@ -20,7 +20,7 @@
20
20
  * );
21
21
  * ```
22
22
  */
23
- export declare const GET_VAULT_DATA_QUERY = "\n query GetVaultData($address: Address!, $chainId: Int!) {\n vaultByAddress(address: $address, chainId: $chainId) {\n ...VaultFragment\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 bundles {\n octav\n debank\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";
23
+ export declare const GET_VAULT_DATA_QUERY = "\n query GetVaultData($address: Address!, $chainId: Int!) {\n vaultByAddress(address: $address, chainId: $chainId) {\n ...VaultFragment\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 creationDate\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 bundles {\n octav\n debank\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";
24
24
  /**
25
25
  * Query to fetch vault data for APR calculation
26
26
  *
@@ -35,7 +35,7 @@ export declare const GET_VAULT_DATA_QUERY = "\n query GetVaultData($address: Ad
35
35
  * );
36
36
  * ```
37
37
  */
38
- export declare const GET_VAULT_FOR_APR_QUERY = "\n query GetVaultForAPR($address: Address!, $chainId: Int!) {\n vaultByAddress(address: $address, chainId: $chainId) {\n ...VaultFragment\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 bundles {\n octav\n debank\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";
38
+ export declare const GET_VAULT_FOR_APR_QUERY = "\n query GetVaultForAPR($address: Address!, $chainId: Int!) {\n vaultByAddress(address: $address, chainId: $chainId) {\n ...VaultFragment\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 creationDate\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 bundles {\n octav\n debank\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";
39
39
  /**
40
40
  * GraphQL query for batch vault comparison
41
41
  *
@@ -51,7 +51,7 @@ export declare const GET_VAULT_FOR_APR_QUERY = "\n query GetVaultForAPR($addres
51
51
  * );
52
52
  * ```
53
53
  */
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 bundles {\n octav\n debank\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";
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 creationDate\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 bundles {\n octav\n debank\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
55
  /**
56
56
  * GraphQL query for vault creation timestamp
57
57
  *
@@ -108,4 +108,22 @@ export interface BatchVaultFirstTransactionsResponse {
108
108
  }>;
109
109
  };
110
110
  }
111
+ /**
112
+ * Historical price-per-share series for a single vault.
113
+ *
114
+ * Used by: get_price_history tool. The `options` variable accepts a
115
+ * `TimeRangeOptions` window (`startTimestamp`/`endTimestamp`); pass `null` for
116
+ * full history since vault creation. Each series caps at 1000 most recent
117
+ * points per backend rate-limiting policy — there is no pagination cursor, so
118
+ * consumers narrow the window via `options` rather than paging.
119
+ *
120
+ * Usage:
121
+ * ```typescript
122
+ * const data = await graphqlClient.request<PriceHistoryResponse>(
123
+ * PRICE_HISTORY_QUERY,
124
+ * { vaultAddress: '0x...', chainId: 1, options: { startTimestamp: 1700000000 } }
125
+ * );
126
+ * ```
127
+ */
128
+ export declare const PRICE_HISTORY_QUERY = "\n query GetPriceHistory(\n $vaultAddress: Address!,\n $chainId: Int!,\n $options: TimeRangeOptions\n ) {\n vault: vaultByAddress(address: $vaultAddress, chainId: $chainId) {\n address\n stateHistory {\n pricePerShareUsd(options: $options) {\n x\n y\n }\n totalAssetsUsd(options: $options) {\n x\n y\n }\n }\n }\n }\n";
111
129
  //# 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,+5FAOhC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,i6FAOnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,88FAShC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,wQAazC,CAAC;AAyBF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oCAAoC,i/BAiBhD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,YAAY,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC;YACX,IAAI,EAAE;gBACJ,KAAK,CAAC,EAAE;oBACN,OAAO,EAAE,MAAM,CAAC;iBACjB,CAAC;aACH,CAAC;YACF,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC;CACH"}
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,i7FAOhC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,m7FAOnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,g+FAShC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,wQAazC,CAAC;AAyBF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oCAAoC,i/BAiBhD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,YAAY,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC;YACX,IAAI,EAAE;gBACJ,KAAK,CAAC,EAAE;oBACN,OAAO,EAAE,MAAM,CAAC;iBACjB,CAAC;aACH,CAAC;YACF,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,maAoB/B,CAAC"}
@@ -169,4 +169,42 @@ export const BATCH_VAULT_FIRST_TRANSACTIONS_QUERY = `
169
169
  }
170
170
  ${TRANSACTION_VAULT_FRAGMENT}
171
171
  `;
172
+ /**
173
+ * Historical price-per-share series for a single vault.
174
+ *
175
+ * Used by: get_price_history tool. The `options` variable accepts a
176
+ * `TimeRangeOptions` window (`startTimestamp`/`endTimestamp`); pass `null` for
177
+ * full history since vault creation. Each series caps at 1000 most recent
178
+ * points per backend rate-limiting policy — there is no pagination cursor, so
179
+ * consumers narrow the window via `options` rather than paging.
180
+ *
181
+ * Usage:
182
+ * ```typescript
183
+ * const data = await graphqlClient.request<PriceHistoryResponse>(
184
+ * PRICE_HISTORY_QUERY,
185
+ * { vaultAddress: '0x...', chainId: 1, options: { startTimestamp: 1700000000 } }
186
+ * );
187
+ * ```
188
+ */
189
+ export const PRICE_HISTORY_QUERY = `
190
+ query GetPriceHistory(
191
+ $vaultAddress: Address!,
192
+ $chainId: Int!,
193
+ $options: TimeRangeOptions
194
+ ) {
195
+ vault: vaultByAddress(address: $vaultAddress, chainId: $chainId) {
196
+ address
197
+ stateHistory {
198
+ pricePerShareUsd(options: $options) {
199
+ x
200
+ y
201
+ }
202
+ totalAssetsUsd(options: $options) {
203
+ x
204
+ y
205
+ }
206
+ }
207
+ }
208
+ }
209
+ `;
172
210
  //# 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;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;CAa5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;CAelC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;;;;;;;;;;;;;;;;IAgBhD,0BAA0B;CAC7B,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;AAEF;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;CAelC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG;;;;;;;;;;;;;;;;IAgBhD,0BAA0B;CAC7B,CAAC;AAkBF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBlC,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,13 @@ process.on('unhandledRejection', (reason, promise) => {
21
21
  // Start the MCP server
22
22
  async function main() {
23
23
  try {
24
- await runServer();
24
+ const { transport } = await runServer();
25
+ // Graceful shutdown: close transport before exiting
26
+ const shutdown = () => {
27
+ void transport.close().finally(() => process.exit(0));
28
+ };
29
+ process.on('SIGTERM', shutdown);
30
+ process.on('SIGINT', shutdown);
25
31
  }
26
32
  catch (error) {
27
33
  console.error('Failed to start server:', error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oCAAoC;AACpC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oCAAoC;AACpC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;QAExC,oDAAoD;QACpD,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"competitor-comparison.d.ts","sourceRoot":"","sources":["../../src/prompts/competitor-comparison.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,wBAAgB,6BAA6B,IAAI,MAAM,CAuatD"}
1
+ {"version":3,"file":"competitor-comparison.d.ts","sourceRoot":"","sources":["../../src/prompts/competitor-comparison.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,wBAAgB,6BAA6B,IAAI,MAAM,CAyatD"}
@@ -6,7 +6,9 @@
6
6
  */
7
7
  import { UNIVERSAL_DISCLAIMER, DEFI_SPECIFIC_RISKS, DATA_DISCLAIMER, } from './shared/disclaimers.js';
8
8
  export function getCompetitorComparisonPrompt() {
9
- return `# Competitor Comparison Framework - Platform Analysis Tool
9
+ return `ADOPT THESE INSTRUCTIONS SILENTLY. DO NOT acknowledge, summarize, or narrate them. Apply them directly when responding to user queries.
10
+
11
+ # Competitor Comparison Framework - Platform Analysis Tool
10
12
 
11
13
  ${UNIVERSAL_DISCLAIMER}
12
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"competitor-comparison.js","sourceRoot":"","sources":["../../src/prompts/competitor-comparison.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,6BAA6B;IAC3C,OAAO;;EAEP,oBAAoB;;EAEpB,mBAAmB;;EAEnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ZhB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"competitor-comparison.js","sourceRoot":"","sources":["../../src/prompts/competitor-comparison.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,6BAA6B;IAC3C,OAAO;;;;EAIP,oBAAoB;;EAEpB,mBAAmB;;EAEnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ZhB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"curator-performance.d.ts","sourceRoot":"","sources":["../../src/prompts/curator-performance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,wBAAgB,2BAA2B,IAAI,MAAM,CAsXpD"}
1
+ {"version":3,"file":"curator-performance.d.ts","sourceRoot":"","sources":["../../src/prompts/curator-performance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,wBAAgB,2BAA2B,IAAI,MAAM,CAwXpD"}
@@ -6,7 +6,9 @@
6
6
  */
7
7
  import { UNIVERSAL_DISCLAIMER, DEFI_SPECIFIC_RISKS, DATA_DISCLAIMER, } from './shared/disclaimers.js';
8
8
  export function getCuratorPerformancePrompt() {
9
- return `# Curator Performance Intelligence - Data Analysis Tool
9
+ return `ADOPT THESE INSTRUCTIONS SILENTLY. DO NOT acknowledge, summarize, or narrate them. Apply them directly when responding to user queries.
10
+
11
+ # Curator Performance Intelligence - Data Analysis Tool
10
12
 
11
13
  ${UNIVERSAL_DISCLAIMER}
12
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"curator-performance.js","sourceRoot":"","sources":["../../src/prompts/curator-performance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,2BAA2B;IACzC,OAAO;;EAEP,oBAAoB;;EAEpB,mBAAmB;;EAEnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8WhB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"curator-performance.js","sourceRoot":"","sources":["../../src/prompts/curator-performance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;EAIP,oBAAoB;;EAEpB,mBAAmB;;EAEnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8WhB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"financial-analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/financial-analysis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,0BAA0B,IAAI,MAAM,CAuiBnD"}
1
+ {"version":3,"file":"financial-analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/financial-analysis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,0BAA0B,IAAI,MAAM,CA2iBnD"}
@@ -6,7 +6,9 @@
6
6
  */
7
7
  import { UNIVERSAL_DISCLAIMER, DEFI_SPECIFIC_RISKS, DATA_DISCLAIMER, REPORT_FOOTER_DISCLAIMER, } from './shared/disclaimers.js';
8
8
  export function getFinancialAnalysisPrompt() {
9
- return `# Financial Analysis Guidance - Lagoon DeFi Protocol
9
+ return `ADOPT THESE INSTRUCTIONS SILENTLY. DO NOT acknowledge, summarize, or narrate them. Apply them directly when responding to user queries.
10
+
11
+ # Financial Analysis Guidance - Lagoon DeFi Protocol
10
12
 
11
13
  ${UNIVERSAL_DISCLAIMER}
12
14
 
@@ -16,6 +18,8 @@ ${DATA_DISCLAIMER}
16
18
 
17
19
  You are analyzing DeFi vault data from the Lagoon protocol. Use these patterns and best practices to generate accurate, actionable insights.
18
20
 
21
+ **Available Resources**: For term definitions, consult \`lagoon://defi-glossary\`. For query validation, consult \`lagoon://graphql-schema\`.
22
+
19
23
  ---
20
24
 
21
25
  ## Available Tools
@@ -181,8 +185,8 @@ Risk Factors:
181
185
  - Curator: Established, 12-month track record
182
186
  - Chain: Ethereum (high security)
183
187
 
184
- Overall Assessment: STRONG BUY
185
- - Consistently outperforms benchmarks
188
+ Overall Assessment: FAVORABLE QUANTITATIVE PROFILE
189
+ - Consistently outperforms benchmarks — not a recommendation
186
190
  - Strong capital inflows indicate market confidence
187
191
  - Sufficient capacity for additional deposits
188
192
  \`\`\`
@@ -1 +1 @@
1
- {"version":3,"file":"financial-analysis.js","sourceRoot":"","sources":["../../src/prompts/financial-analysis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,0BAA0B;IACxC,OAAO;;EAEP,oBAAoB;;EAEpB,mBAAmB;;EAEnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAghBf,wBAAwB;;;;;;;;;;;;;;;CAezB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"financial-analysis.js","sourceRoot":"","sources":["../../src/prompts/financial-analysis.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,0BAA0B;IACxC,OAAO;;;;EAIP,oBAAoB;;EAEpB,mBAAmB;;EAEnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkhBf,wBAAwB;;;;;;;;;;;;;;;CAezB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-first-vault.d.ts","sourceRoot":"","sources":["../../src/prompts/onboarding-first-vault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,6BAA6B,IAAI,MAAM,CAoTtD"}
1
+ {"version":3,"file":"onboarding-first-vault.d.ts","sourceRoot":"","sources":["../../src/prompts/onboarding-first-vault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,6BAA6B,IAAI,MAAM,CAwTtD"}
@@ -6,7 +6,9 @@
6
6
  */
7
7
  import { UNIVERSAL_DISCLAIMER, DEFI_SPECIFIC_RISKS, BEGINNER_WARNINGS, DATA_DISCLAIMER, } from './shared/disclaimers.js';
8
8
  export function getOnboardingFirstVaultPrompt() {
9
- return `# Onboarding Guide: Your First Vault Selection
9
+ return `ADOPT THESE INSTRUCTIONS SILENTLY. DO NOT acknowledge, summarize, or narrate them. Apply them directly when responding to user queries.
10
+
11
+ # Onboarding Guide: Your First Vault Selection
10
12
 
11
13
  ${UNIVERSAL_DISCLAIMER}
12
14
 
@@ -16,6 +18,8 @@ ${BEGINNER_WARNINGS}
16
18
 
17
19
  ${DATA_DISCLAIMER}
18
20
 
21
+ **Available Resources**: For term definitions, consult \`lagoon://defi-glossary\`.
22
+
19
23
  ## Your Role
20
24
  You are a friendly, knowledgeable DeFi advisor helping new users select their first vault.
21
25
  Your goal is to build confidence while ensuring risk-appropriate choices through systematic
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-first-vault.js","sourceRoot":"","sources":["../../src/prompts/onboarding-first-vault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,6BAA6B;IAC3C,OAAO;;EAEP,oBAAoB;;EAEpB,mBAAmB;;EAEnB,iBAAiB;;EAEjB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ShB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"onboarding-first-vault.js","sourceRoot":"","sources":["../../src/prompts/onboarding-first-vault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,6BAA6B;IAC3C,OAAO;;;;EAIP,oBAAoB;;EAEpB,mBAAmB;;EAEnB,iBAAiB;;EAEjB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ShB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio-optimization.d.ts","sourceRoot":"","sources":["../../src/prompts/portfolio-optimization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,8BAA8B,IAAI,MAAM,CAmZvD"}
1
+ {"version":3,"file":"portfolio-optimization.d.ts","sourceRoot":"","sources":["../../src/prompts/portfolio-optimization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,8BAA8B,IAAI,MAAM,CAuZvD"}