@compass-labs/api-sdk 0.2.1 → 0.2.2

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 (233) hide show
  1. package/README.md +4 -0
  2. package/bin/mcp-server.js +887 -333
  3. package/bin/mcp-server.js.map +29 -12
  4. package/dist/commonjs/funcs/pendleMarkets.d.ts +18 -0
  5. package/dist/commonjs/funcs/pendleMarkets.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/pendleMarkets.js +121 -0
  7. package/dist/commonjs/funcs/pendleMarkets.js.map +1 -0
  8. package/dist/commonjs/funcs/pendlePositions.d.ts +18 -0
  9. package/dist/commonjs/funcs/pendlePositions.d.ts.map +1 -0
  10. package/dist/commonjs/funcs/pendlePositions.js +122 -0
  11. package/dist/commonjs/funcs/pendlePositions.js.map +1 -0
  12. package/dist/commonjs/lib/config.d.ts +2 -2
  13. package/dist/commonjs/lib/config.js +2 -2
  14. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  15. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  16. package/dist/commonjs/mcp-server/server.js +5 -1
  17. package/dist/commonjs/mcp-server/server.js.map +1 -1
  18. package/dist/commonjs/mcp-server/tools/pendleMarkets.d.ts +8 -0
  19. package/dist/commonjs/mcp-server/tools/pendleMarkets.d.ts.map +1 -0
  20. package/dist/commonjs/mcp-server/tools/pendleMarkets.js +64 -0
  21. package/dist/commonjs/mcp-server/tools/pendleMarkets.js.map +1 -0
  22. package/dist/commonjs/mcp-server/tools/pendlePositions.d.ts +8 -0
  23. package/dist/commonjs/mcp-server/tools/pendlePositions.d.ts.map +1 -0
  24. package/dist/commonjs/mcp-server/tools/pendlePositions.js +64 -0
  25. package/dist/commonjs/mcp-server/tools/pendlePositions.js.map +1 -0
  26. package/dist/commonjs/models/components/compassapibackendmodelsgenericreadresponseportfoliotokenbalance.d.ts +63 -0
  27. package/dist/commonjs/models/components/compassapibackendmodelsgenericreadresponseportfoliotokenbalance.d.ts.map +1 -0
  28. package/dist/commonjs/models/components/{tokenbalance.js → compassapibackendmodelsgenericreadresponseportfoliotokenbalance.js} +19 -17
  29. package/dist/commonjs/models/components/compassapibackendmodelsgenericreadresponseportfoliotokenbalance.js.map +1 -0
  30. package/dist/commonjs/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.d.ts +31 -0
  31. package/dist/commonjs/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.d.ts.map +1 -0
  32. package/dist/commonjs/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.js +73 -0
  33. package/dist/commonjs/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.js.map +1 -0
  34. package/dist/commonjs/models/components/details.d.ts +45 -0
  35. package/dist/commonjs/models/components/details.d.ts.map +1 -0
  36. package/dist/commonjs/models/components/details.js +85 -0
  37. package/dist/commonjs/models/components/details.js.map +1 -0
  38. package/dist/commonjs/models/components/index.d.ts +12 -1
  39. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  40. package/dist/commonjs/models/components/index.js +12 -1
  41. package/dist/commonjs/models/components/index.js.map +1 -1
  42. package/dist/commonjs/models/components/lpbalance.d.ts +33 -0
  43. package/dist/commonjs/models/components/lpbalance.d.ts.map +1 -0
  44. package/dist/commonjs/models/components/lpbalance.js +73 -0
  45. package/dist/commonjs/models/components/lpbalance.js.map +1 -0
  46. package/dist/commonjs/models/components/movement10percent.d.ts +35 -0
  47. package/dist/commonjs/models/components/movement10percent.d.ts.map +1 -0
  48. package/dist/commonjs/models/components/movement10percent.js +75 -0
  49. package/dist/commonjs/models/components/movement10percent.js.map +1 -0
  50. package/dist/commonjs/models/components/openposition.d.ts +37 -0
  51. package/dist/commonjs/models/components/openposition.d.ts.map +1 -0
  52. package/dist/commonjs/models/components/openposition.js +77 -0
  53. package/dist/commonjs/models/components/openposition.js.map +1 -0
  54. package/dist/commonjs/models/components/pendlelistmarketsresponse.d.ts +33 -0
  55. package/dist/commonjs/models/components/pendlelistmarketsresponse.d.ts.map +1 -0
  56. package/dist/commonjs/models/components/pendlelistmarketsresponse.js +70 -0
  57. package/dist/commonjs/models/components/pendlelistmarketsresponse.js.map +1 -0
  58. package/dist/commonjs/models/components/pendlelistuserpositionsresponse.d.ts +33 -0
  59. package/dist/commonjs/models/components/pendlelistuserpositionsresponse.d.ts.map +1 -0
  60. package/dist/commonjs/models/components/pendlelistuserpositionsresponse.js +70 -0
  61. package/dist/commonjs/models/components/pendlelistuserpositionsresponse.js.map +1 -0
  62. package/dist/commonjs/models/components/pendlemarket.d.ts +50 -0
  63. package/dist/commonjs/models/components/pendlemarket.d.ts.map +1 -0
  64. package/dist/commonjs/models/components/pendlemarket.js +90 -0
  65. package/dist/commonjs/models/components/pendlemarket.js.map +1 -0
  66. package/dist/commonjs/models/components/portfolio.d.ts +3 -3
  67. package/dist/commonjs/models/components/portfolio.d.ts.map +1 -1
  68. package/dist/commonjs/models/components/portfolio.js +3 -3
  69. package/dist/commonjs/models/components/portfolio.js.map +1 -1
  70. package/dist/commonjs/models/components/position.d.ts +45 -0
  71. package/dist/commonjs/models/components/position.d.ts.map +1 -0
  72. package/dist/commonjs/models/components/position.js +85 -0
  73. package/dist/commonjs/models/components/position.js.map +1 -0
  74. package/dist/commonjs/models/components/syposition.d.ts +31 -0
  75. package/dist/commonjs/models/components/syposition.d.ts.map +1 -0
  76. package/dist/commonjs/models/components/syposition.js +71 -0
  77. package/dist/commonjs/models/components/syposition.js.map +1 -0
  78. package/dist/commonjs/models/components/yieldrange.d.ts +31 -0
  79. package/dist/commonjs/models/components/yieldrange.d.ts.map +1 -0
  80. package/dist/commonjs/models/components/yieldrange.js +71 -0
  81. package/dist/commonjs/models/components/yieldrange.js.map +1 -0
  82. package/dist/commonjs/models/operations/index.d.ts +2 -0
  83. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  84. package/dist/commonjs/models/operations/index.js +2 -0
  85. package/dist/commonjs/models/operations/index.js.map +1 -1
  86. package/dist/commonjs/models/operations/pendlemarket.js +2 -2
  87. package/dist/commonjs/models/operations/pendlemarkets.d.ts +72 -0
  88. package/dist/commonjs/models/operations/pendlemarkets.d.ts.map +1 -0
  89. package/dist/commonjs/models/operations/pendlemarkets.js +94 -0
  90. package/dist/commonjs/models/operations/pendlemarkets.js.map +1 -0
  91. package/dist/commonjs/models/operations/pendleposition.js +2 -2
  92. package/dist/commonjs/models/operations/pendlepositions.d.ts +77 -0
  93. package/dist/commonjs/models/operations/pendlepositions.d.ts.map +1 -0
  94. package/dist/commonjs/models/operations/pendlepositions.js +105 -0
  95. package/dist/commonjs/models/operations/pendlepositions.js.map +1 -0
  96. package/dist/commonjs/sdk/pendle.d.ts +14 -0
  97. package/dist/commonjs/sdk/pendle.d.ts.map +1 -1
  98. package/dist/commonjs/sdk/pendle.js +20 -0
  99. package/dist/commonjs/sdk/pendle.js.map +1 -1
  100. package/dist/esm/funcs/pendleMarkets.d.ts +18 -0
  101. package/dist/esm/funcs/pendleMarkets.d.ts.map +1 -0
  102. package/dist/esm/funcs/pendleMarkets.js +85 -0
  103. package/dist/esm/funcs/pendleMarkets.js.map +1 -0
  104. package/dist/esm/funcs/pendlePositions.d.ts +18 -0
  105. package/dist/esm/funcs/pendlePositions.d.ts.map +1 -0
  106. package/dist/esm/funcs/pendlePositions.js +86 -0
  107. package/dist/esm/funcs/pendlePositions.js.map +1 -0
  108. package/dist/esm/lib/config.d.ts +2 -2
  109. package/dist/esm/lib/config.js +2 -2
  110. package/dist/esm/mcp-server/mcp-server.js +1 -1
  111. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  112. package/dist/esm/mcp-server/server.js +5 -1
  113. package/dist/esm/mcp-server/server.js.map +1 -1
  114. package/dist/esm/mcp-server/tools/pendleMarkets.d.ts +8 -0
  115. package/dist/esm/mcp-server/tools/pendleMarkets.d.ts.map +1 -0
  116. package/dist/esm/mcp-server/tools/pendleMarkets.js +28 -0
  117. package/dist/esm/mcp-server/tools/pendleMarkets.js.map +1 -0
  118. package/dist/esm/mcp-server/tools/pendlePositions.d.ts +8 -0
  119. package/dist/esm/mcp-server/tools/pendlePositions.d.ts.map +1 -0
  120. package/dist/esm/mcp-server/tools/pendlePositions.js +28 -0
  121. package/dist/esm/mcp-server/tools/pendlePositions.js.map +1 -0
  122. package/dist/esm/models/components/compassapibackendmodelsgenericreadresponseportfoliotokenbalance.d.ts +63 -0
  123. package/dist/esm/models/components/compassapibackendmodelsgenericreadresponseportfoliotokenbalance.d.ts.map +1 -0
  124. package/dist/esm/models/components/compassapibackendmodelsgenericreadresponseportfoliotokenbalance.js +57 -0
  125. package/dist/esm/models/components/compassapibackendmodelsgenericreadresponseportfoliotokenbalance.js.map +1 -0
  126. package/dist/esm/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.d.ts +31 -0
  127. package/dist/esm/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.d.ts.map +1 -0
  128. package/dist/esm/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.js +35 -0
  129. package/dist/esm/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.js.map +1 -0
  130. package/dist/esm/models/components/details.d.ts +45 -0
  131. package/dist/esm/models/components/details.d.ts.map +1 -0
  132. package/dist/esm/models/components/details.js +47 -0
  133. package/dist/esm/models/components/details.js.map +1 -0
  134. package/dist/esm/models/components/index.d.ts +12 -1
  135. package/dist/esm/models/components/index.d.ts.map +1 -1
  136. package/dist/esm/models/components/index.js +12 -1
  137. package/dist/esm/models/components/index.js.map +1 -1
  138. package/dist/esm/models/components/lpbalance.d.ts +33 -0
  139. package/dist/esm/models/components/lpbalance.d.ts.map +1 -0
  140. package/dist/esm/models/components/lpbalance.js +35 -0
  141. package/dist/esm/models/components/lpbalance.js.map +1 -0
  142. package/dist/esm/models/components/movement10percent.d.ts +35 -0
  143. package/dist/esm/models/components/movement10percent.d.ts.map +1 -0
  144. package/dist/esm/models/components/movement10percent.js +37 -0
  145. package/dist/esm/models/components/movement10percent.js.map +1 -0
  146. package/dist/esm/models/components/openposition.d.ts +37 -0
  147. package/dist/esm/models/components/openposition.d.ts.map +1 -0
  148. package/dist/esm/models/components/openposition.js +39 -0
  149. package/dist/esm/models/components/openposition.js.map +1 -0
  150. package/dist/esm/models/components/pendlelistmarketsresponse.d.ts +33 -0
  151. package/dist/esm/models/components/pendlelistmarketsresponse.d.ts.map +1 -0
  152. package/dist/esm/models/components/pendlelistmarketsresponse.js +32 -0
  153. package/dist/esm/models/components/pendlelistmarketsresponse.js.map +1 -0
  154. package/dist/esm/models/components/pendlelistuserpositionsresponse.d.ts +33 -0
  155. package/dist/esm/models/components/pendlelistuserpositionsresponse.d.ts.map +1 -0
  156. package/dist/esm/models/components/pendlelistuserpositionsresponse.js +32 -0
  157. package/dist/esm/models/components/pendlelistuserpositionsresponse.js.map +1 -0
  158. package/dist/esm/models/components/pendlemarket.d.ts +50 -0
  159. package/dist/esm/models/components/pendlemarket.d.ts.map +1 -0
  160. package/dist/esm/models/components/pendlemarket.js +52 -0
  161. package/dist/esm/models/components/pendlemarket.js.map +1 -0
  162. package/dist/esm/models/components/portfolio.d.ts +3 -3
  163. package/dist/esm/models/components/portfolio.d.ts.map +1 -1
  164. package/dist/esm/models/components/portfolio.js +3 -3
  165. package/dist/esm/models/components/portfolio.js.map +1 -1
  166. package/dist/esm/models/components/position.d.ts +45 -0
  167. package/dist/esm/models/components/position.d.ts.map +1 -0
  168. package/dist/esm/models/components/position.js +47 -0
  169. package/dist/esm/models/components/position.js.map +1 -0
  170. package/dist/esm/models/components/syposition.d.ts +31 -0
  171. package/dist/esm/models/components/syposition.d.ts.map +1 -0
  172. package/dist/esm/models/components/syposition.js +33 -0
  173. package/dist/esm/models/components/syposition.js.map +1 -0
  174. package/dist/esm/models/components/yieldrange.d.ts +31 -0
  175. package/dist/esm/models/components/yieldrange.d.ts.map +1 -0
  176. package/dist/esm/models/components/yieldrange.js +33 -0
  177. package/dist/esm/models/components/yieldrange.js.map +1 -0
  178. package/dist/esm/models/operations/index.d.ts +2 -0
  179. package/dist/esm/models/operations/index.d.ts.map +1 -1
  180. package/dist/esm/models/operations/index.js +2 -0
  181. package/dist/esm/models/operations/index.js.map +1 -1
  182. package/dist/esm/models/operations/pendlemarket.js +2 -2
  183. package/dist/esm/models/operations/pendlemarkets.d.ts +72 -0
  184. package/dist/esm/models/operations/pendlemarkets.d.ts.map +1 -0
  185. package/dist/esm/models/operations/pendlemarkets.js +56 -0
  186. package/dist/esm/models/operations/pendlemarkets.js.map +1 -0
  187. package/dist/esm/models/operations/pendleposition.js +2 -2
  188. package/dist/esm/models/operations/pendlepositions.d.ts +77 -0
  189. package/dist/esm/models/operations/pendlepositions.d.ts.map +1 -0
  190. package/dist/esm/models/operations/pendlepositions.js +67 -0
  191. package/dist/esm/models/operations/pendlepositions.js.map +1 -0
  192. package/dist/esm/sdk/pendle.d.ts +14 -0
  193. package/dist/esm/sdk/pendle.d.ts.map +1 -1
  194. package/dist/esm/sdk/pendle.js +20 -0
  195. package/dist/esm/sdk/pendle.js.map +1 -1
  196. package/docs/sdks/pendle/README.md +162 -4
  197. package/jsr.json +1 -1
  198. package/package.json +1 -1
  199. package/src/funcs/pendleMarkets.ts +169 -0
  200. package/src/funcs/pendlePositions.ts +170 -0
  201. package/src/lib/config.ts +2 -2
  202. package/src/mcp-server/mcp-server.ts +1 -1
  203. package/src/mcp-server/server.ts +5 -1
  204. package/src/mcp-server/tools/pendleMarkets.ts +37 -0
  205. package/src/mcp-server/tools/pendlePositions.ts +37 -0
  206. package/src/models/components/compassapibackendmodelsgenericreadresponseportfoliotokenbalance.ts +140 -0
  207. package/src/models/components/compassapibackendmodelspendlereadresponsepositionstokenbalance.ts +83 -0
  208. package/src/models/components/details.ts +99 -0
  209. package/src/models/components/index.ts +12 -1
  210. package/src/models/components/lpbalance.ts +70 -0
  211. package/src/models/components/movement10percent.ts +78 -0
  212. package/src/models/components/openposition.ts +90 -0
  213. package/src/models/components/pendlelistmarketsresponse.ts +75 -0
  214. package/src/models/components/pendlelistuserpositionsresponse.ts +77 -0
  215. package/src/models/components/pendlemarket.ts +108 -0
  216. package/src/models/components/portfolio.ts +17 -9
  217. package/src/models/components/position.ts +102 -0
  218. package/src/models/components/syposition.ts +66 -0
  219. package/src/models/components/yieldrange.ts +66 -0
  220. package/src/models/operations/index.ts +2 -0
  221. package/src/models/operations/pendlemarket.ts +2 -2
  222. package/src/models/operations/pendlemarkets.ts +111 -0
  223. package/src/models/operations/pendleposition.ts +2 -2
  224. package/src/models/operations/pendlepositions.ts +129 -0
  225. package/src/sdk/pendle.ts +36 -0
  226. package/dist/commonjs/models/components/tokenbalance.d.ts +0 -63
  227. package/dist/commonjs/models/components/tokenbalance.d.ts.map +0 -1
  228. package/dist/commonjs/models/components/tokenbalance.js.map +0 -1
  229. package/dist/esm/models/components/tokenbalance.d.ts +0 -63
  230. package/dist/esm/models/components/tokenbalance.d.ts.map +0 -1
  231. package/dist/esm/models/components/tokenbalance.js +0 -55
  232. package/dist/esm/models/components/tokenbalance.js.map +0 -1
  233. package/src/models/components/tokenbalance.ts +0 -123
@@ -0,0 +1,170 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { CompassApiSDKCore } from "../core.js";
6
+ import { encodeFormQuery } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import * as components from "../models/components/index.js";
14
+ import { APIError } from "../models/errors/apierror.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import * as operations from "../models/operations/index.js";
25
+ import { APICall, APIPromise } from "../types/async.js";
26
+ import { Result } from "../types/fp.js";
27
+
28
+ /**
29
+ * List User's Market Positions
30
+ *
31
+ * @remarks
32
+ * List the user's SY, PT, YT and LP positions for all markets on a given chain.
33
+ */
34
+ export function pendlePositions(
35
+ client: CompassApiSDKCore,
36
+ request: operations.PendlePositionsRequest,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ components.PendleListUserPositionsResponse,
41
+ | errors.HTTPValidationError
42
+ | APIError
43
+ | SDKValidationError
44
+ | UnexpectedClientError
45
+ | InvalidRequestError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | ConnectionError
49
+ >
50
+ > {
51
+ return new APIPromise($do(
52
+ client,
53
+ request,
54
+ options,
55
+ ));
56
+ }
57
+
58
+ async function $do(
59
+ client: CompassApiSDKCore,
60
+ request: operations.PendlePositionsRequest,
61
+ options?: RequestOptions,
62
+ ): Promise<
63
+ [
64
+ Result<
65
+ components.PendleListUserPositionsResponse,
66
+ | errors.HTTPValidationError
67
+ | APIError
68
+ | SDKValidationError
69
+ | UnexpectedClientError
70
+ | InvalidRequestError
71
+ | RequestAbortedError
72
+ | RequestTimeoutError
73
+ | ConnectionError
74
+ >,
75
+ APICall,
76
+ ]
77
+ > {
78
+ const parsed = safeParse(
79
+ request,
80
+ (value) => operations.PendlePositionsRequest$outboundSchema.parse(value),
81
+ "Input validation failed",
82
+ );
83
+ if (!parsed.ok) {
84
+ return [parsed, { status: "invalid" }];
85
+ }
86
+ const payload = parsed.value;
87
+ const body = null;
88
+
89
+ const path = pathToFunc("/v0/pendle/positions")();
90
+
91
+ const query = encodeFormQuery({
92
+ "block": payload.block,
93
+ "chain": payload.chain,
94
+ "user_address": payload.user_address,
95
+ });
96
+
97
+ const headers = new Headers(compactMap({
98
+ Accept: "application/json",
99
+ }));
100
+
101
+ const secConfig = await extractSecurity(client._options.apiKeyAuth);
102
+ const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
103
+ const requestSecurity = resolveGlobalSecurity(securityInput);
104
+
105
+ const context = {
106
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
107
+ operationID: "pendle_positions",
108
+ oAuth2Scopes: [],
109
+
110
+ resolvedSecurity: requestSecurity,
111
+
112
+ securitySource: client._options.apiKeyAuth,
113
+ retryConfig: options?.retries
114
+ || client._options.retryConfig
115
+ || { strategy: "none" },
116
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
117
+ };
118
+
119
+ const requestRes = client._createRequest(context, {
120
+ security: requestSecurity,
121
+ method: "GET",
122
+ baseURL: options?.serverURL,
123
+ path: path,
124
+ headers: headers,
125
+ query: query,
126
+ body: body,
127
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
128
+ }, options);
129
+ if (!requestRes.ok) {
130
+ return [requestRes, { status: "invalid" }];
131
+ }
132
+ const req = requestRes.value;
133
+
134
+ const doResult = await client._do(req, {
135
+ context,
136
+ errorCodes: ["422", "4XX", "5XX"],
137
+ retryConfig: context.retryConfig,
138
+ retryCodes: context.retryCodes,
139
+ });
140
+ if (!doResult.ok) {
141
+ return [doResult, { status: "request-error", request: req }];
142
+ }
143
+ const response = doResult.value;
144
+
145
+ const responseFields = {
146
+ HttpMeta: { Response: response, Request: req },
147
+ };
148
+
149
+ const [result] = await M.match<
150
+ components.PendleListUserPositionsResponse,
151
+ | errors.HTTPValidationError
152
+ | APIError
153
+ | SDKValidationError
154
+ | UnexpectedClientError
155
+ | InvalidRequestError
156
+ | RequestAbortedError
157
+ | RequestTimeoutError
158
+ | ConnectionError
159
+ >(
160
+ M.json(200, components.PendleListUserPositionsResponse$inboundSchema),
161
+ M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
162
+ M.fail("4XX"),
163
+ M.fail("5XX"),
164
+ )(response, { extraFields: responseFields });
165
+ if (!result.ok) {
166
+ return [result, { status: "complete", request: req, response }];
167
+ }
168
+
169
+ return [result, { status: "complete", request: req, response }];
170
+ }
package/src/lib/config.ts CHANGED
@@ -57,8 +57,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
57
57
  export const SDK_METADATA = {
58
58
  language: "typescript",
59
59
  openapiDocVersion: "0.0.1",
60
- sdkVersion: "0.2.1",
60
+ sdkVersion: "0.2.2",
61
61
  genVersion: "2.610.0",
62
62
  userAgent:
63
- "speakeasy-sdk/typescript 0.2.1 2.610.0 0.0.1 @compass-labs/api-sdk",
63
+ "speakeasy-sdk/typescript 0.2.2 2.610.0 0.0.1 @compass-labs/api-sdk",
64
64
  } as const;
@@ -19,7 +19,7 @@ const routes = buildRouteMap({
19
19
  export const app = buildApplication(routes, {
20
20
  name: "mcp",
21
21
  versionInfo: {
22
- currentVersion: "0.2.1",
22
+ currentVersion: "0.2.2",
23
23
  },
24
24
  });
25
25
 
@@ -48,7 +48,9 @@ import { tool$morphoVaults } from "./tools/morphoVaults.js";
48
48
  import { tool$morphoWithdraw } from "./tools/morphoWithdraw.js";
49
49
  import { tool$morphoWithdrawCollateral } from "./tools/morphoWithdrawCollateral.js";
50
50
  import { tool$pendleMarket } from "./tools/pendleMarket.js";
51
+ import { tool$pendleMarkets } from "./tools/pendleMarkets.js";
51
52
  import { tool$pendlePosition } from "./tools/pendlePosition.js";
53
+ import { tool$pendlePositions } from "./tools/pendlePositions.js";
52
54
  import { tool$skyBuy } from "./tools/skyBuy.js";
53
55
  import { tool$skyDeposit } from "./tools/skyDeposit.js";
54
56
  import { tool$skyPosition } from "./tools/skyPosition.js";
@@ -91,7 +93,7 @@ export function createMCPServer(deps: {
91
93
  }) {
92
94
  const server = new McpServer({
93
95
  name: "CompassApiSDK",
94
- version: "0.2.1",
96
+ version: "0.2.2",
95
97
  });
96
98
 
97
99
  const client = new CompassApiSDKCore({
@@ -183,6 +185,8 @@ export function createMCPServer(deps: {
183
185
  tool(tool$universalUnwrapWeth);
184
186
  tool(tool$universalAllowanceSet);
185
187
  tool(tool$pendlePosition);
188
+ tool(tool$pendlePositions);
189
+ tool(tool$pendleMarkets);
186
190
  tool(tool$pendleMarket);
187
191
  tool(tool$transactionBatchingAuthorization);
188
192
  tool(tool$transactionBatchingExecute);
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { pendleMarkets } from "../../funcs/pendleMarkets.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.PendleMarketsRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$pendleMarkets: ToolDefinition<typeof args> = {
14
+ name: "pendle-markets",
15
+ description: `List Market Data
16
+
17
+ Get a list of active markets.`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await pendleMarkets(
21
+ client,
22
+ args.request,
23
+ { fetchOptions: { signal: ctx.signal } },
24
+ ).$inspect();
25
+
26
+ if (!result.ok) {
27
+ return {
28
+ content: [{ type: "text", text: result.error.message }],
29
+ isError: true,
30
+ };
31
+ }
32
+
33
+ const value = result.value;
34
+
35
+ return formatResult(value, apiCall);
36
+ },
37
+ };
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { pendlePositions } from "../../funcs/pendlePositions.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.PendlePositionsRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$pendlePositions: ToolDefinition<typeof args> = {
14
+ name: "pendle-positions",
15
+ description: `List User's Market Positions
16
+
17
+ List the user's SY, PT, YT and LP positions for all markets on a given chain.`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await pendlePositions(
21
+ client,
22
+ args.request,
23
+ { fetchOptions: { signal: ctx.signal } },
24
+ ).$inspect();
25
+
26
+ if (!result.ok) {
27
+ return {
28
+ content: [{ type: "text", text: result.error.message }],
29
+ isError: true,
30
+ };
31
+ }
32
+
33
+ const value = result.value;
34
+
35
+ return formatResult(value, apiCall);
36
+ },
37
+ };
@@ -0,0 +1,140 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ TokenEnum,
12
+ TokenEnum$inboundSchema,
13
+ TokenEnum$outboundSchema,
14
+ } from "./tokenenum.js";
15
+
16
+ export type CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance = {
17
+ /**
18
+ * Amount of tokens a particular address holds
19
+ */
20
+ amount: string;
21
+ /**
22
+ * Number of decimals of the token
23
+ */
24
+ decimals: number;
25
+ /**
26
+ * A class representing the token.
27
+ *
28
+ * @remarks
29
+ *
30
+ * This class is used to represent the token in the system. Notice individual
31
+ * endpoints' documentation where per chain tokens are presented.
32
+ */
33
+ tokenSymbol: TokenEnum;
34
+ /**
35
+ * Address of the token
36
+ */
37
+ tokenAddress: string;
38
+ /**
39
+ * Price of the token in USD
40
+ */
41
+ price: string;
42
+ /**
43
+ * Value of the token balance in USD
44
+ */
45
+ tokenValueInUsd: string;
46
+ };
47
+
48
+ /** @internal */
49
+ export const CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$inboundSchema:
50
+ z.ZodType<
51
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance,
52
+ z.ZodTypeDef,
53
+ unknown
54
+ > = z.object({
55
+ amount: z.string(),
56
+ decimals: z.number().int(),
57
+ token_symbol: TokenEnum$inboundSchema,
58
+ token_address: z.string(),
59
+ price: z.string(),
60
+ token_value_in_usd: z.string(),
61
+ }).transform((v) => {
62
+ return remap$(v, {
63
+ "token_symbol": "tokenSymbol",
64
+ "token_address": "tokenAddress",
65
+ "token_value_in_usd": "tokenValueInUsd",
66
+ });
67
+ });
68
+
69
+ /** @internal */
70
+ export type CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$Outbound =
71
+ {
72
+ amount: string;
73
+ decimals: number;
74
+ token_symbol: string;
75
+ token_address: string;
76
+ price: string;
77
+ token_value_in_usd: string;
78
+ };
79
+
80
+ /** @internal */
81
+ export const CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$outboundSchema:
82
+ z.ZodType<
83
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$Outbound,
84
+ z.ZodTypeDef,
85
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance
86
+ > = z.object({
87
+ amount: z.string(),
88
+ decimals: z.number().int(),
89
+ tokenSymbol: TokenEnum$outboundSchema,
90
+ tokenAddress: z.string(),
91
+ price: z.string(),
92
+ tokenValueInUsd: z.string(),
93
+ }).transform((v) => {
94
+ return remap$(v, {
95
+ tokenSymbol: "token_symbol",
96
+ tokenAddress: "token_address",
97
+ tokenValueInUsd: "token_value_in_usd",
98
+ });
99
+ });
100
+
101
+ /**
102
+ * @internal
103
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
104
+ */
105
+ export namespace CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$ {
106
+ /** @deprecated use `CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$inboundSchema` instead. */
107
+ export const inboundSchema =
108
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$inboundSchema;
109
+ /** @deprecated use `CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$outboundSchema` instead. */
110
+ export const outboundSchema =
111
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$outboundSchema;
112
+ /** @deprecated use `CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$Outbound` instead. */
113
+ export type Outbound =
114
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$Outbound;
115
+ }
116
+
117
+ export function compassApiBackendModelsGenericReadResponsePortfolioTokenBalanceToJSON(
118
+ compassApiBackendModelsGenericReadResponsePortfolioTokenBalance:
119
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance,
120
+ ): string {
121
+ return JSON.stringify(
122
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$outboundSchema
123
+ .parse(compassApiBackendModelsGenericReadResponsePortfolioTokenBalance),
124
+ );
125
+ }
126
+
127
+ export function compassApiBackendModelsGenericReadResponsePortfolioTokenBalanceFromJSON(
128
+ jsonString: string,
129
+ ): SafeParseResult<
130
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance,
131
+ SDKValidationError
132
+ > {
133
+ return safeParse(
134
+ jsonString,
135
+ (x) =>
136
+ CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance$inboundSchema
137
+ .parse(JSON.parse(x)),
138
+ `Failed to parse 'CompassApiBackendModelsGenericReadResponsePortfolioTokenBalance' from JSON`,
139
+ );
140
+ }
@@ -0,0 +1,83 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+
10
+ export type CompassApiBackendModelsPendleReadResponsePositionsTokenBalance = {
11
+ valuation: number;
12
+ balance: string;
13
+ };
14
+
15
+ /** @internal */
16
+ export const CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$inboundSchema:
17
+ z.ZodType<
18
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance,
19
+ z.ZodTypeDef,
20
+ unknown
21
+ > = z.object({
22
+ valuation: z.number(),
23
+ balance: z.string(),
24
+ });
25
+
26
+ /** @internal */
27
+ export type CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$Outbound =
28
+ {
29
+ valuation: number;
30
+ balance: string;
31
+ };
32
+
33
+ /** @internal */
34
+ export const CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$outboundSchema:
35
+ z.ZodType<
36
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$Outbound,
37
+ z.ZodTypeDef,
38
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance
39
+ > = z.object({
40
+ valuation: z.number(),
41
+ balance: z.string(),
42
+ });
43
+
44
+ /**
45
+ * @internal
46
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
47
+ */
48
+ export namespace CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$ {
49
+ /** @deprecated use `CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$inboundSchema` instead. */
50
+ export const inboundSchema =
51
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$inboundSchema;
52
+ /** @deprecated use `CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$outboundSchema` instead. */
53
+ export const outboundSchema =
54
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$outboundSchema;
55
+ /** @deprecated use `CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$Outbound` instead. */
56
+ export type Outbound =
57
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$Outbound;
58
+ }
59
+
60
+ export function compassApiBackendModelsPendleReadResponsePositionsTokenBalanceToJSON(
61
+ compassApiBackendModelsPendleReadResponsePositionsTokenBalance:
62
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance,
63
+ ): string {
64
+ return JSON.stringify(
65
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$outboundSchema
66
+ .parse(compassApiBackendModelsPendleReadResponsePositionsTokenBalance),
67
+ );
68
+ }
69
+
70
+ export function compassApiBackendModelsPendleReadResponsePositionsTokenBalanceFromJSON(
71
+ jsonString: string,
72
+ ): SafeParseResult<
73
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance,
74
+ SDKValidationError
75
+ > {
76
+ return safeParse(
77
+ jsonString,
78
+ (x) =>
79
+ CompassApiBackendModelsPendleReadResponsePositionsTokenBalance$inboundSchema
80
+ .parse(JSON.parse(x)),
81
+ `Failed to parse 'CompassApiBackendModelsPendleReadResponsePositionsTokenBalance' from JSON`,
82
+ );
83
+ }
@@ -0,0 +1,99 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+ import {
10
+ Movement10Percent,
11
+ Movement10Percent$inboundSchema,
12
+ Movement10Percent$Outbound,
13
+ Movement10Percent$outboundSchema,
14
+ } from "./movement10percent.js";
15
+ import {
16
+ YieldRange,
17
+ YieldRange$inboundSchema,
18
+ YieldRange$Outbound,
19
+ YieldRange$outboundSchema,
20
+ } from "./yieldrange.js";
21
+
22
+ export type Details = {
23
+ liquidity: number;
24
+ pendleApy: number;
25
+ impliedApy: number;
26
+ feeRate: number;
27
+ movement10Percent: Movement10Percent;
28
+ yieldRange: YieldRange;
29
+ aggregatedApy: number;
30
+ maxBoostedApy: number;
31
+ };
32
+
33
+ /** @internal */
34
+ export const Details$inboundSchema: z.ZodType<Details, z.ZodTypeDef, unknown> =
35
+ z.object({
36
+ liquidity: z.number(),
37
+ pendleApy: z.number(),
38
+ impliedApy: z.number(),
39
+ feeRate: z.number(),
40
+ movement10Percent: Movement10Percent$inboundSchema,
41
+ yieldRange: YieldRange$inboundSchema,
42
+ aggregatedApy: z.number(),
43
+ maxBoostedApy: z.number(),
44
+ });
45
+
46
+ /** @internal */
47
+ export type Details$Outbound = {
48
+ liquidity: number;
49
+ pendleApy: number;
50
+ impliedApy: number;
51
+ feeRate: number;
52
+ movement10Percent: Movement10Percent$Outbound;
53
+ yieldRange: YieldRange$Outbound;
54
+ aggregatedApy: number;
55
+ maxBoostedApy: number;
56
+ };
57
+
58
+ /** @internal */
59
+ export const Details$outboundSchema: z.ZodType<
60
+ Details$Outbound,
61
+ z.ZodTypeDef,
62
+ Details
63
+ > = z.object({
64
+ liquidity: z.number(),
65
+ pendleApy: z.number(),
66
+ impliedApy: z.number(),
67
+ feeRate: z.number(),
68
+ movement10Percent: Movement10Percent$outboundSchema,
69
+ yieldRange: YieldRange$outboundSchema,
70
+ aggregatedApy: z.number(),
71
+ maxBoostedApy: z.number(),
72
+ });
73
+
74
+ /**
75
+ * @internal
76
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
77
+ */
78
+ export namespace Details$ {
79
+ /** @deprecated use `Details$inboundSchema` instead. */
80
+ export const inboundSchema = Details$inboundSchema;
81
+ /** @deprecated use `Details$outboundSchema` instead. */
82
+ export const outboundSchema = Details$outboundSchema;
83
+ /** @deprecated use `Details$Outbound` instead. */
84
+ export type Outbound = Details$Outbound;
85
+ }
86
+
87
+ export function detailsToJSON(details: Details): string {
88
+ return JSON.stringify(Details$outboundSchema.parse(details));
89
+ }
90
+
91
+ export function detailsFromJSON(
92
+ jsonString: string,
93
+ ): SafeParseResult<Details, SDKValidationError> {
94
+ return safeParse(
95
+ jsonString,
96
+ (x) => Details$inboundSchema.parse(JSON.parse(x)),
97
+ `Failed to parse 'Details' from JSON`,
98
+ );
99
+ }
@@ -39,6 +39,7 @@ export * from "./batcheduseroperationsresponse.js";
39
39
  export * from "./borrow.js";
40
40
  export * from "./chain.js";
41
41
  export * from "./chaininfo.js";
42
+ export * from "./compassapibackendmodelsgenericreadresponseportfoliotokenbalance.js";
42
43
  export * from "./compassapibackendmodelsmorphoreadresponsecheckuserpositionapydata.js";
43
44
  export * from "./compassapibackendmodelsmorphoreadresponsecheckuserpositionasset.js";
44
45
  export * from "./compassapibackendmodelsmorphoreadresponsecheckuserpositionmarketstate.js";
@@ -52,8 +53,10 @@ export * from "./compassapibackendmodelsmorphoreadresponsegetvaultasset.js";
52
53
  export * from "./compassapibackendmodelsmorphoreadresponsegetvaultsasset.js";
53
54
  export * from "./compassapibackendmodelsmorphoreadresponsegetvaultsvaultstate.js";
54
55
  export * from "./compassapibackendmodelsmorphoreadresponsegetvaultvaultstate.js";
56
+ export * from "./compassapibackendmodelspendlereadresponsepositionstokenbalance.js";
55
57
  export * from "./contractname.js";
56
58
  export * from "./curator.js";
59
+ export * from "./details.js";
57
60
  export * from "./ensnameinforesponse.js";
58
61
  export * from "./erc20data.js";
59
62
  export * from "./feeenum.js";
@@ -64,6 +67,7 @@ export * from "./increaseallowancerequest.js";
64
67
  export * from "./interestratemode.js";
65
68
  export * from "./liquidationcall.js";
66
69
  export * from "./liquidity.js";
70
+ export * from "./lpbalance.js";
67
71
  export * from "./market.js";
68
72
  export * from "./marketposition.js";
69
73
  export * from "./metadata.js";
@@ -90,13 +94,19 @@ export * from "./morphowithdrawcollateralparams.js";
90
94
  export * from "./morphowithdrawcollateralrequest.js";
91
95
  export * from "./morphowithdrawparams.js";
92
96
  export * from "./morphowithdrawrequest.js";
97
+ export * from "./movement10percent.js";
93
98
  export * from "./multicallactiontype.js";
94
99
  export * from "./multicallauthorizationrequest.js";
95
100
  export * from "./multicallauthorizationresponse.js";
96
101
  export * from "./multicallexecuterequest.js";
102
+ export * from "./openposition.js";
97
103
  export * from "./pendlegetmarketresponse.js";
98
104
  export * from "./pendlegetuserpositionresponse.js";
105
+ export * from "./pendlelistmarketsresponse.js";
106
+ export * from "./pendlelistuserpositionsresponse.js";
107
+ export * from "./pendlemarket.js";
99
108
  export * from "./portfolio.js";
109
+ export * from "./position.js";
100
110
  export * from "./redeemunderlying.js";
101
111
  export * from "./repay.js";
102
112
  export * from "./reserve.js";
@@ -113,8 +123,8 @@ export * from "./skywithdrawparams.js";
113
123
  export * from "./skywithdrawrequest.js";
114
124
  export * from "./supply.js";
115
125
  export * from "./swapborrowrate.js";
126
+ export * from "./syposition.js";
116
127
  export * from "./tokenaddressresponse.js";
117
- export * from "./tokenbalance.js";
118
128
  export * from "./tokenbalanceresponse.js";
119
129
  export * from "./tokenenum.js";
120
130
  export * from "./tokeninfo.js";
@@ -152,3 +162,4 @@ export * from "./vaultposition.js";
152
162
  export * from "./weeklyapys.js";
153
163
  export * from "./wrapethparams.js";
154
164
  export * from "./wrapethrequest.js";
165
+ export * from "./yieldrange.js";