@compass-labs/api-sdk 0.1.6 → 0.1.8

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 (201) hide show
  1. package/README.md +4 -2
  2. package/bin/mcp-server.js +534 -285
  3. package/bin/mcp-server.js.map +21 -16
  4. package/dist/commonjs/funcs/{pendleAccruedInterest.d.ts → pendleMarket.d.ts} +6 -3
  5. package/dist/commonjs/funcs/pendleMarket.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/pendleMarket.js +122 -0
  7. package/dist/commonjs/funcs/pendleMarket.js.map +1 -0
  8. package/dist/commonjs/funcs/pendlePosition.d.ts +18 -0
  9. package/dist/commonjs/funcs/pendlePosition.d.ts.map +1 -0
  10. package/dist/commonjs/funcs/{pendleAccruedInterest.js → pendlePosition.js} +11 -8
  11. package/dist/commonjs/funcs/pendlePosition.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 -3
  17. package/dist/commonjs/mcp-server/server.js.map +1 -1
  18. package/dist/commonjs/mcp-server/tools/pendleMarket.d.ts +8 -0
  19. package/dist/commonjs/mcp-server/tools/pendleMarket.d.ts.map +1 -0
  20. package/dist/commonjs/mcp-server/tools/{pendleAccruedInterest.js → pendleMarket.js} +10 -8
  21. package/dist/commonjs/mcp-server/tools/pendleMarket.js.map +1 -0
  22. package/dist/commonjs/mcp-server/tools/pendlePosition.d.ts +8 -0
  23. package/dist/commonjs/mcp-server/tools/pendlePosition.d.ts.map +1 -0
  24. package/dist/commonjs/mcp-server/tools/pendlePosition.js +64 -0
  25. package/dist/commonjs/mcp-server/tools/pendlePosition.js.map +1 -0
  26. package/dist/commonjs/models/components/contractname.d.ts +9 -3
  27. package/dist/commonjs/models/components/contractname.d.ts.map +1 -1
  28. package/dist/commonjs/models/components/contractname.js +3 -1
  29. package/dist/commonjs/models/components/contractname.js.map +1 -1
  30. package/dist/commonjs/models/components/erc20data.d.ts +33 -0
  31. package/dist/commonjs/models/components/erc20data.d.ts.map +1 -0
  32. package/dist/commonjs/models/components/{pendleaccruedinterestresponse.js → erc20data.js} +23 -28
  33. package/dist/commonjs/models/components/erc20data.js.map +1 -0
  34. package/dist/commonjs/models/components/increaseallowanceparams.d.ts +3 -0
  35. package/dist/commonjs/models/components/increaseallowanceparams.d.ts.map +1 -1
  36. package/dist/commonjs/models/components/increaseallowanceparams.js +1 -0
  37. package/dist/commonjs/models/components/increaseallowanceparams.js.map +1 -1
  38. package/dist/commonjs/models/components/increaseallowancerequest.d.ts +3 -0
  39. package/dist/commonjs/models/components/increaseallowancerequest.d.ts.map +1 -1
  40. package/dist/commonjs/models/components/increaseallowancerequest.js +1 -0
  41. package/dist/commonjs/models/components/increaseallowancerequest.js.map +1 -1
  42. package/dist/commonjs/models/components/index.d.ts +3 -1
  43. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  44. package/dist/commonjs/models/components/index.js +3 -1
  45. package/dist/commonjs/models/components/index.js.map +1 -1
  46. package/dist/commonjs/models/components/pendlegetmarketresponse.d.ts +46 -0
  47. package/dist/commonjs/models/components/pendlegetmarketresponse.d.ts.map +1 -0
  48. package/dist/commonjs/models/components/pendlegetmarketresponse.js +93 -0
  49. package/dist/commonjs/models/components/pendlegetmarketresponse.js.map +1 -0
  50. package/dist/commonjs/models/components/pendlegetuserpositionresponse.d.ts +67 -0
  51. package/dist/commonjs/models/components/pendlegetuserpositionresponse.d.ts.map +1 -0
  52. package/dist/commonjs/models/components/pendlegetuserpositionresponse.js +106 -0
  53. package/dist/commonjs/models/components/pendlegetuserpositionresponse.js.map +1 -0
  54. package/dist/commonjs/models/operations/genericallowance.d.ts +3 -0
  55. package/dist/commonjs/models/operations/genericallowance.d.ts.map +1 -1
  56. package/dist/commonjs/models/operations/genericallowance.js +1 -0
  57. package/dist/commonjs/models/operations/genericallowance.js.map +1 -1
  58. package/dist/commonjs/models/operations/index.d.ts +2 -1
  59. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  60. package/dist/commonjs/models/operations/index.js +2 -1
  61. package/dist/commonjs/models/operations/index.js.map +1 -1
  62. package/dist/commonjs/models/operations/pendlemarket.d.ts +77 -0
  63. package/dist/commonjs/models/operations/pendlemarket.d.ts.map +1 -0
  64. package/dist/commonjs/models/operations/pendlemarket.js +107 -0
  65. package/dist/commonjs/models/operations/pendlemarket.js.map +1 -0
  66. package/dist/commonjs/models/operations/pendleposition.d.ts +77 -0
  67. package/dist/commonjs/models/operations/pendleposition.d.ts.map +1 -0
  68. package/dist/commonjs/models/operations/pendleposition.js +107 -0
  69. package/dist/commonjs/models/operations/pendleposition.js.map +1 -0
  70. package/dist/commonjs/sdk/pendle.d.ts +12 -2
  71. package/dist/commonjs/sdk/pendle.d.ts.map +1 -1
  72. package/dist/commonjs/sdk/pendle.js +17 -4
  73. package/dist/commonjs/sdk/pendle.js.map +1 -1
  74. package/dist/commonjs/sdk/sdk.d.ts +2 -2
  75. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  76. package/dist/commonjs/sdk/sdk.js +3 -3
  77. package/dist/commonjs/sdk/sdk.js.map +1 -1
  78. package/dist/esm/funcs/{pendleAccruedInterest.d.ts → pendleMarket.d.ts} +6 -3
  79. package/dist/esm/funcs/pendleMarket.d.ts.map +1 -0
  80. package/dist/esm/funcs/pendleMarket.js +86 -0
  81. package/dist/esm/funcs/pendleMarket.js.map +1 -0
  82. package/dist/esm/funcs/pendlePosition.d.ts +18 -0
  83. package/dist/esm/funcs/pendlePosition.d.ts.map +1 -0
  84. package/dist/esm/funcs/{pendleAccruedInterest.js → pendlePosition.js} +10 -7
  85. package/dist/esm/funcs/pendlePosition.js.map +1 -0
  86. package/dist/esm/lib/config.d.ts +2 -2
  87. package/dist/esm/lib/config.js +2 -2
  88. package/dist/esm/mcp-server/mcp-server.js +1 -1
  89. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  90. package/dist/esm/mcp-server/server.js +5 -3
  91. package/dist/esm/mcp-server/server.js.map +1 -1
  92. package/dist/esm/mcp-server/tools/pendleMarket.d.ts +8 -0
  93. package/dist/esm/mcp-server/tools/pendleMarket.d.ts.map +1 -0
  94. package/dist/esm/mcp-server/tools/{pendleAccruedInterest.js → pendleMarket.js} +9 -7
  95. package/dist/esm/mcp-server/tools/pendleMarket.js.map +1 -0
  96. package/dist/esm/mcp-server/tools/pendlePosition.d.ts +8 -0
  97. package/dist/esm/mcp-server/tools/pendlePosition.d.ts.map +1 -0
  98. package/dist/esm/mcp-server/tools/pendlePosition.js +28 -0
  99. package/dist/esm/mcp-server/tools/pendlePosition.js.map +1 -0
  100. package/dist/esm/models/components/contractname.d.ts +9 -3
  101. package/dist/esm/models/components/contractname.d.ts.map +1 -1
  102. package/dist/esm/models/components/contractname.js +3 -1
  103. package/dist/esm/models/components/contractname.js.map +1 -1
  104. package/dist/esm/models/components/erc20data.d.ts +33 -0
  105. package/dist/esm/models/components/erc20data.d.ts.map +1 -0
  106. package/dist/esm/models/components/erc20data.js +35 -0
  107. package/dist/esm/models/components/erc20data.js.map +1 -0
  108. package/dist/esm/models/components/increaseallowanceparams.d.ts +3 -0
  109. package/dist/esm/models/components/increaseallowanceparams.d.ts.map +1 -1
  110. package/dist/esm/models/components/increaseallowanceparams.js +1 -0
  111. package/dist/esm/models/components/increaseallowanceparams.js.map +1 -1
  112. package/dist/esm/models/components/increaseallowancerequest.d.ts +3 -0
  113. package/dist/esm/models/components/increaseallowancerequest.d.ts.map +1 -1
  114. package/dist/esm/models/components/increaseallowancerequest.js +1 -0
  115. package/dist/esm/models/components/increaseallowancerequest.js.map +1 -1
  116. package/dist/esm/models/components/index.d.ts +3 -1
  117. package/dist/esm/models/components/index.d.ts.map +1 -1
  118. package/dist/esm/models/components/index.js +3 -1
  119. package/dist/esm/models/components/index.js.map +1 -1
  120. package/dist/esm/models/components/pendlegetmarketresponse.d.ts +46 -0
  121. package/dist/esm/models/components/pendlegetmarketresponse.d.ts.map +1 -0
  122. package/dist/esm/models/components/pendlegetmarketresponse.js +55 -0
  123. package/dist/esm/models/components/pendlegetmarketresponse.js.map +1 -0
  124. package/dist/esm/models/components/pendlegetuserpositionresponse.d.ts +67 -0
  125. package/dist/esm/models/components/pendlegetuserpositionresponse.d.ts.map +1 -0
  126. package/dist/esm/models/components/pendlegetuserpositionresponse.js +68 -0
  127. package/dist/esm/models/components/pendlegetuserpositionresponse.js.map +1 -0
  128. package/dist/esm/models/operations/genericallowance.d.ts +3 -0
  129. package/dist/esm/models/operations/genericallowance.d.ts.map +1 -1
  130. package/dist/esm/models/operations/genericallowance.js +1 -0
  131. package/dist/esm/models/operations/genericallowance.js.map +1 -1
  132. package/dist/esm/models/operations/index.d.ts +2 -1
  133. package/dist/esm/models/operations/index.d.ts.map +1 -1
  134. package/dist/esm/models/operations/index.js +2 -1
  135. package/dist/esm/models/operations/index.js.map +1 -1
  136. package/dist/esm/models/operations/pendlemarket.d.ts +77 -0
  137. package/dist/esm/models/operations/pendlemarket.d.ts.map +1 -0
  138. package/dist/esm/models/operations/pendlemarket.js +69 -0
  139. package/dist/esm/models/operations/pendlemarket.js.map +1 -0
  140. package/dist/esm/models/operations/pendleposition.d.ts +77 -0
  141. package/dist/esm/models/operations/pendleposition.d.ts.map +1 -0
  142. package/dist/esm/models/operations/pendleposition.js +69 -0
  143. package/dist/esm/models/operations/pendleposition.js.map +1 -0
  144. package/dist/esm/sdk/pendle.d.ts +12 -2
  145. package/dist/esm/sdk/pendle.d.ts.map +1 -1
  146. package/dist/esm/sdk/pendle.js +17 -4
  147. package/dist/esm/sdk/pendle.js.map +1 -1
  148. package/dist/esm/sdk/sdk.d.ts +2 -2
  149. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  150. package/dist/esm/sdk/sdk.js +3 -3
  151. package/dist/esm/sdk/sdk.js.map +1 -1
  152. package/docs/sdks/pendle/README.md +96 -14
  153. package/jsr.json +1 -1
  154. package/package.json +1 -1
  155. package/src/funcs/{pendleAccruedInterest.ts → pendleMarket.ts} +14 -12
  156. package/src/funcs/pendlePosition.ts +170 -0
  157. package/src/lib/config.ts +2 -2
  158. package/src/mcp-server/mcp-server.ts +1 -1
  159. package/src/mcp-server/server.ts +5 -3
  160. package/src/mcp-server/tools/{pendleAccruedInterest.ts → pendleMarket.ts} +8 -6
  161. package/src/mcp-server/tools/pendlePosition.ts +37 -0
  162. package/src/models/components/contractname.ts +3 -1
  163. package/src/models/components/erc20data.ts +70 -0
  164. package/src/models/components/increaseallowanceparams.ts +1 -0
  165. package/src/models/components/increaseallowancerequest.ts +1 -0
  166. package/src/models/components/index.ts +3 -1
  167. package/src/models/components/pendlegetmarketresponse.ts +113 -0
  168. package/src/models/components/pendlegetuserpositionresponse.ts +145 -0
  169. package/src/models/operations/genericallowance.ts +1 -0
  170. package/src/models/operations/index.ts +2 -1
  171. package/src/models/operations/pendlemarket.ts +135 -0
  172. package/src/models/operations/pendleposition.ts +135 -0
  173. package/src/sdk/pendle.ts +27 -6
  174. package/src/sdk/sdk.ts +5 -5
  175. package/dist/commonjs/funcs/pendleAccruedInterest.d.ts.map +0 -1
  176. package/dist/commonjs/funcs/pendleAccruedInterest.js.map +0 -1
  177. package/dist/commonjs/mcp-server/tools/pendleAccruedInterest.d.ts +0 -8
  178. package/dist/commonjs/mcp-server/tools/pendleAccruedInterest.d.ts.map +0 -1
  179. package/dist/commonjs/mcp-server/tools/pendleAccruedInterest.js.map +0 -1
  180. package/dist/commonjs/models/components/pendleaccruedinterestresponse.d.ts +0 -32
  181. package/dist/commonjs/models/components/pendleaccruedinterestresponse.d.ts.map +0 -1
  182. package/dist/commonjs/models/components/pendleaccruedinterestresponse.js.map +0 -1
  183. package/dist/commonjs/models/operations/pendleaccruedinterest.d.ts +0 -77
  184. package/dist/commonjs/models/operations/pendleaccruedinterest.d.ts.map +0 -1
  185. package/dist/commonjs/models/operations/pendleaccruedinterest.js +0 -107
  186. package/dist/commonjs/models/operations/pendleaccruedinterest.js.map +0 -1
  187. package/dist/esm/funcs/pendleAccruedInterest.d.ts.map +0 -1
  188. package/dist/esm/funcs/pendleAccruedInterest.js.map +0 -1
  189. package/dist/esm/mcp-server/tools/pendleAccruedInterest.d.ts +0 -8
  190. package/dist/esm/mcp-server/tools/pendleAccruedInterest.d.ts.map +0 -1
  191. package/dist/esm/mcp-server/tools/pendleAccruedInterest.js.map +0 -1
  192. package/dist/esm/models/components/pendleaccruedinterestresponse.d.ts +0 -32
  193. package/dist/esm/models/components/pendleaccruedinterestresponse.d.ts.map +0 -1
  194. package/dist/esm/models/components/pendleaccruedinterestresponse.js +0 -40
  195. package/dist/esm/models/components/pendleaccruedinterestresponse.js.map +0 -1
  196. package/dist/esm/models/operations/pendleaccruedinterest.d.ts +0 -77
  197. package/dist/esm/models/operations/pendleaccruedinterest.d.ts.map +0 -1
  198. package/dist/esm/models/operations/pendleaccruedinterest.js +0 -69
  199. package/dist/esm/models/operations/pendleaccruedinterest.js.map +0 -1
  200. package/src/models/components/pendleaccruedinterestresponse.ts +0 -80
  201. package/src/models/operations/pendleaccruedinterest.ts +0 -139
@@ -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
+ * Check User's Market Position
30
+ *
31
+ * @remarks
32
+ * Check the SY, PT, YT and Underlying Token positions for a given market.
33
+ */
34
+ export function pendlePosition(
35
+ client: CompassApiSDKCore,
36
+ request: operations.PendlePositionRequest,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ components.PendleGetUserPositionResponse,
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.PendlePositionRequest,
61
+ options?: RequestOptions,
62
+ ): Promise<
63
+ [
64
+ Result<
65
+ components.PendleGetUserPositionResponse,
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.PendlePositionRequest$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/position")();
90
+
91
+ const query = encodeFormQuery({
92
+ "chain": payload.chain,
93
+ "market_address": payload.market_address,
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_position",
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.PendleGetUserPositionResponse,
151
+ | errors.HTTPValidationError
152
+ | APIError
153
+ | SDKValidationError
154
+ | UnexpectedClientError
155
+ | InvalidRequestError
156
+ | RequestAbortedError
157
+ | RequestTimeoutError
158
+ | ConnectionError
159
+ >(
160
+ M.json(200, components.PendleGetUserPositionResponse$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.1.6",
60
+ sdkVersion: "0.1.8",
61
61
  genVersion: "2.610.0",
62
62
  userAgent:
63
- "speakeasy-sdk/typescript 0.1.6 2.610.0 0.0.1 @compass-labs/api-sdk",
63
+ "speakeasy-sdk/typescript 0.1.8 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.1.6",
22
+ currentVersion: "0.1.8",
23
23
  },
24
24
  });
25
25
 
@@ -47,7 +47,8 @@ import { tool$morphoVaultPosition } from "./tools/morphoVaultPosition.js";
47
47
  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
- import { tool$pendleAccruedInterest } from "./tools/pendleAccruedInterest.js";
50
+ import { tool$pendleMarket } from "./tools/pendleMarket.js";
51
+ import { tool$pendlePosition } from "./tools/pendlePosition.js";
51
52
  import { tool$skyBuy } from "./tools/skyBuy.js";
52
53
  import { tool$skyDeposit } from "./tools/skyDeposit.js";
53
54
  import { tool$skyPosition } from "./tools/skyPosition.js";
@@ -90,7 +91,7 @@ export function createMCPServer(deps: {
90
91
  }) {
91
92
  const server = new McpServer({
92
93
  name: "CompassApiSDK",
93
- version: "0.1.6",
94
+ version: "0.1.8",
94
95
  });
95
96
 
96
97
  const client = new CompassApiSDKCore({
@@ -181,11 +182,12 @@ export function createMCPServer(deps: {
181
182
  tool(tool$universalWrapEth);
182
183
  tool(tool$universalUnwrapWeth);
183
184
  tool(tool$universalAllowanceSet);
185
+ tool(tool$pendlePosition);
186
+ tool(tool$pendleMarket);
184
187
  tool(tool$transactionBatchingAuthorization);
185
188
  tool(tool$transactionBatchingExecute);
186
189
  tool(tool$transactionBatchingAaveLoop);
187
190
  tool(tool$smartAccountAccountBatchedUserOperations);
188
- tool(tool$pendleAccruedInterest);
189
191
 
190
192
  return server;
191
193
  }
@@ -2,20 +2,22 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
- import { pendleAccruedInterest } from "../../funcs/pendleAccruedInterest.js";
5
+ import { pendleMarket } from "../../funcs/pendleMarket.js";
6
6
  import * as operations from "../../models/operations/index.js";
7
7
  import { formatResult, ToolDefinition } from "../tools.js";
8
8
 
9
9
  const args = {
10
- request: operations.PendleAccruedInterestRequest$inboundSchema,
10
+ request: operations.PendleMarketRequest$inboundSchema,
11
11
  };
12
12
 
13
- export const tool$pendleAccruedInterest: ToolDefinition<typeof args> = {
14
- name: "pendle-accrued-interest",
15
- description: `Get Accrued Interest`,
13
+ export const tool$pendleMarket: ToolDefinition<typeof args> = {
14
+ name: "pendle-market",
15
+ description: `Get Market Data
16
+
17
+ Get the market's implied APY, maturity date and the associated token data.`,
16
18
  args,
17
19
  tool: async (client, args, ctx) => {
18
- const [result, apiCall] = await pendleAccruedInterest(
20
+ const [result, apiCall] = await pendleMarket(
19
21
  client,
20
22
  args.request,
21
23
  { fetchOptions: { signal: ctx.signal } },
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { pendlePosition } from "../../funcs/pendlePosition.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.PendlePositionRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$pendlePosition: ToolDefinition<typeof args> = {
14
+ name: "pendle-position",
15
+ description: `Check User's Market Position
16
+
17
+ Check the SY, PT, YT and Underlying Token positions for a given market.`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await pendlePosition(
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
+ };
@@ -36,8 +36,10 @@ export const ContractName = {
36
36
  SkyDaiUsdsConverter: "SkyDaiUsdsConverter",
37
37
  SkyUsdcUsdsConverter: "SkyUsdcUsdsConverter",
38
38
  SkyUsdsVault: "SkyUsdsVault",
39
- PendleYt: "PendleYt",
39
+ PendleRouter: "PendleRouter",
40
40
  PendleMarket: "PendleMarket",
41
+ PendleSy: "PendleSy",
42
+ PendleYt: "PendleYt",
41
43
  Multicall: "Multicall",
42
44
  } as const;
43
45
  /**
@@ -0,0 +1,70 @@
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 Erc20Data = {
11
+ address: string;
12
+ symbol: string;
13
+ name: string;
14
+ };
15
+
16
+ /** @internal */
17
+ export const Erc20Data$inboundSchema: z.ZodType<
18
+ Erc20Data,
19
+ z.ZodTypeDef,
20
+ unknown
21
+ > = z.object({
22
+ address: z.string(),
23
+ symbol: z.string(),
24
+ name: z.string(),
25
+ });
26
+
27
+ /** @internal */
28
+ export type Erc20Data$Outbound = {
29
+ address: string;
30
+ symbol: string;
31
+ name: string;
32
+ };
33
+
34
+ /** @internal */
35
+ export const Erc20Data$outboundSchema: z.ZodType<
36
+ Erc20Data$Outbound,
37
+ z.ZodTypeDef,
38
+ Erc20Data
39
+ > = z.object({
40
+ address: z.string(),
41
+ symbol: z.string(),
42
+ name: z.string(),
43
+ });
44
+
45
+ /**
46
+ * @internal
47
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
48
+ */
49
+ export namespace Erc20Data$ {
50
+ /** @deprecated use `Erc20Data$inboundSchema` instead. */
51
+ export const inboundSchema = Erc20Data$inboundSchema;
52
+ /** @deprecated use `Erc20Data$outboundSchema` instead. */
53
+ export const outboundSchema = Erc20Data$outboundSchema;
54
+ /** @deprecated use `Erc20Data$Outbound` instead. */
55
+ export type Outbound = Erc20Data$Outbound;
56
+ }
57
+
58
+ export function erc20DataToJSON(erc20Data: Erc20Data): string {
59
+ return JSON.stringify(Erc20Data$outboundSchema.parse(erc20Data));
60
+ }
61
+
62
+ export function erc20DataFromJSON(
63
+ jsonString: string,
64
+ ): SafeParseResult<Erc20Data, SDKValidationError> {
65
+ return safeParse(
66
+ jsonString,
67
+ (x) => Erc20Data$inboundSchema.parse(JSON.parse(x)),
68
+ `Failed to parse 'Erc20Data' from JSON`,
69
+ );
70
+ }
@@ -29,6 +29,7 @@ export const IncreaseAllowanceParamsContractName = {
29
29
  SkyDaiUsdsConverter: "SkyDaiUsdsConverter",
30
30
  SkyUsdcUsdsConverter: "SkyUsdcUsdsConverter",
31
31
  SkyUsdsVault: "SkyUsdsVault",
32
+ PendleRouter: "PendleRouter",
32
33
  } as const;
33
34
  /**
34
35
  * The name of the contract to increase allowance for.
@@ -30,6 +30,7 @@ export const IncreaseAllowanceRequestContractName = {
30
30
  SkyDaiUsdsConverter: "SkyDaiUsdsConverter",
31
31
  SkyUsdcUsdsConverter: "SkyUsdcUsdsConverter",
32
32
  SkyUsdsVault: "SkyUsdsVault",
33
+ PendleRouter: "PendleRouter",
33
34
  } as const;
34
35
  /**
35
36
  * The name of the contract to increase allowance for.
@@ -55,6 +55,7 @@ export * from "./compassapibackendmodelsmorphoreadresponsegetvaultvaultstate.js"
55
55
  export * from "./contractname.js";
56
56
  export * from "./curator.js";
57
57
  export * from "./ensnameinforesponse.js";
58
+ export * from "./erc20data.js";
58
59
  export * from "./feeenum.js";
59
60
  export * from "./image.js";
60
61
  export * from "./increaseallowanceanyparams.js";
@@ -93,7 +94,8 @@ export * from "./multicallactiontype.js";
93
94
  export * from "./multicallauthorizationrequest.js";
94
95
  export * from "./multicallauthorizationresponse.js";
95
96
  export * from "./multicallexecuterequest.js";
96
- export * from "./pendleaccruedinterestresponse.js";
97
+ export * from "./pendlegetmarketresponse.js";
98
+ export * from "./pendlegetuserpositionresponse.js";
97
99
  export * from "./portfolio.js";
98
100
  export * from "./redeemunderlying.js";
99
101
  export * from "./repay.js";
@@ -0,0 +1,113 @@
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
+ Erc20Data,
12
+ Erc20Data$inboundSchema,
13
+ Erc20Data$Outbound,
14
+ Erc20Data$outboundSchema,
15
+ } from "./erc20data.js";
16
+
17
+ export type PendleGetMarketResponse = {
18
+ /**
19
+ * The implied APY of the market.
20
+ */
21
+ impliedApy: string;
22
+ /**
23
+ * The maturity date of the market. ISO 8601 format. UTC timezone.
24
+ */
25
+ maturityDate: Date;
26
+ underlyingToken: Erc20Data;
27
+ sy: Erc20Data;
28
+ pt: Erc20Data;
29
+ yt: Erc20Data;
30
+ };
31
+
32
+ /** @internal */
33
+ export const PendleGetMarketResponse$inboundSchema: z.ZodType<
34
+ PendleGetMarketResponse,
35
+ z.ZodTypeDef,
36
+ unknown
37
+ > = z.object({
38
+ implied_apy: z.string(),
39
+ maturity_date: z.string().datetime({ offset: true }).transform(v =>
40
+ new Date(v)
41
+ ),
42
+ underlying_token: Erc20Data$inboundSchema,
43
+ sy: Erc20Data$inboundSchema,
44
+ pt: Erc20Data$inboundSchema,
45
+ yt: Erc20Data$inboundSchema,
46
+ }).transform((v) => {
47
+ return remap$(v, {
48
+ "implied_apy": "impliedApy",
49
+ "maturity_date": "maturityDate",
50
+ "underlying_token": "underlyingToken",
51
+ });
52
+ });
53
+
54
+ /** @internal */
55
+ export type PendleGetMarketResponse$Outbound = {
56
+ implied_apy: string;
57
+ maturity_date: string;
58
+ underlying_token: Erc20Data$Outbound;
59
+ sy: Erc20Data$Outbound;
60
+ pt: Erc20Data$Outbound;
61
+ yt: Erc20Data$Outbound;
62
+ };
63
+
64
+ /** @internal */
65
+ export const PendleGetMarketResponse$outboundSchema: z.ZodType<
66
+ PendleGetMarketResponse$Outbound,
67
+ z.ZodTypeDef,
68
+ PendleGetMarketResponse
69
+ > = z.object({
70
+ impliedApy: z.string(),
71
+ maturityDate: z.date().transform(v => v.toISOString()),
72
+ underlyingToken: Erc20Data$outboundSchema,
73
+ sy: Erc20Data$outboundSchema,
74
+ pt: Erc20Data$outboundSchema,
75
+ yt: Erc20Data$outboundSchema,
76
+ }).transform((v) => {
77
+ return remap$(v, {
78
+ impliedApy: "implied_apy",
79
+ maturityDate: "maturity_date",
80
+ underlyingToken: "underlying_token",
81
+ });
82
+ });
83
+
84
+ /**
85
+ * @internal
86
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
87
+ */
88
+ export namespace PendleGetMarketResponse$ {
89
+ /** @deprecated use `PendleGetMarketResponse$inboundSchema` instead. */
90
+ export const inboundSchema = PendleGetMarketResponse$inboundSchema;
91
+ /** @deprecated use `PendleGetMarketResponse$outboundSchema` instead. */
92
+ export const outboundSchema = PendleGetMarketResponse$outboundSchema;
93
+ /** @deprecated use `PendleGetMarketResponse$Outbound` instead. */
94
+ export type Outbound = PendleGetMarketResponse$Outbound;
95
+ }
96
+
97
+ export function pendleGetMarketResponseToJSON(
98
+ pendleGetMarketResponse: PendleGetMarketResponse,
99
+ ): string {
100
+ return JSON.stringify(
101
+ PendleGetMarketResponse$outboundSchema.parse(pendleGetMarketResponse),
102
+ );
103
+ }
104
+
105
+ export function pendleGetMarketResponseFromJSON(
106
+ jsonString: string,
107
+ ): SafeParseResult<PendleGetMarketResponse, SDKValidationError> {
108
+ return safeParse(
109
+ jsonString,
110
+ (x) => PendleGetMarketResponse$inboundSchema.parse(JSON.parse(x)),
111
+ `Failed to parse 'PendleGetMarketResponse' from JSON`,
112
+ );
113
+ }
@@ -0,0 +1,145 @@
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
+
11
+ export type PendleGetUserPositionResponse = {
12
+ /**
13
+ * The amount of yield that can be claimed in the underlying token.
14
+ */
15
+ claimableYield: string;
16
+ /**
17
+ * The amount of SY tokens the user currently holds.
18
+ */
19
+ syBalance: string;
20
+ /**
21
+ * The amount of PT tokens the user currently holds.
22
+ */
23
+ ptBalance: string;
24
+ /**
25
+ * The amount of YT tokens the user currently holds.
26
+ */
27
+ ytBalance: string;
28
+ /**
29
+ * The amount of underlying tokens the user currently holds.
30
+ */
31
+ underlyingTokenBalance: string;
32
+ /**
33
+ * The name of the underlying token.
34
+ */
35
+ underlyingTokenName: string;
36
+ /**
37
+ * The symbol of the underlying token.
38
+ */
39
+ underlyingTokenSymbol: string;
40
+ /**
41
+ * The maturity date of the market. ISO 8601 format. UTC timezone.
42
+ */
43
+ maturityDate: Date;
44
+ };
45
+
46
+ /** @internal */
47
+ export const PendleGetUserPositionResponse$inboundSchema: z.ZodType<
48
+ PendleGetUserPositionResponse,
49
+ z.ZodTypeDef,
50
+ unknown
51
+ > = z.object({
52
+ claimable_yield: z.string(),
53
+ sy_balance: z.string(),
54
+ pt_balance: z.string(),
55
+ yt_balance: z.string(),
56
+ underlying_token_balance: z.string(),
57
+ underlying_token_name: z.string(),
58
+ underlying_token_symbol: z.string(),
59
+ maturity_date: z.string().datetime({ offset: true }).transform(v =>
60
+ new Date(v)
61
+ ),
62
+ }).transform((v) => {
63
+ return remap$(v, {
64
+ "claimable_yield": "claimableYield",
65
+ "sy_balance": "syBalance",
66
+ "pt_balance": "ptBalance",
67
+ "yt_balance": "ytBalance",
68
+ "underlying_token_balance": "underlyingTokenBalance",
69
+ "underlying_token_name": "underlyingTokenName",
70
+ "underlying_token_symbol": "underlyingTokenSymbol",
71
+ "maturity_date": "maturityDate",
72
+ });
73
+ });
74
+
75
+ /** @internal */
76
+ export type PendleGetUserPositionResponse$Outbound = {
77
+ claimable_yield: string;
78
+ sy_balance: string;
79
+ pt_balance: string;
80
+ yt_balance: string;
81
+ underlying_token_balance: string;
82
+ underlying_token_name: string;
83
+ underlying_token_symbol: string;
84
+ maturity_date: string;
85
+ };
86
+
87
+ /** @internal */
88
+ export const PendleGetUserPositionResponse$outboundSchema: z.ZodType<
89
+ PendleGetUserPositionResponse$Outbound,
90
+ z.ZodTypeDef,
91
+ PendleGetUserPositionResponse
92
+ > = z.object({
93
+ claimableYield: z.string(),
94
+ syBalance: z.string(),
95
+ ptBalance: z.string(),
96
+ ytBalance: z.string(),
97
+ underlyingTokenBalance: z.string(),
98
+ underlyingTokenName: z.string(),
99
+ underlyingTokenSymbol: z.string(),
100
+ maturityDate: z.date().transform(v => v.toISOString()),
101
+ }).transform((v) => {
102
+ return remap$(v, {
103
+ claimableYield: "claimable_yield",
104
+ syBalance: "sy_balance",
105
+ ptBalance: "pt_balance",
106
+ ytBalance: "yt_balance",
107
+ underlyingTokenBalance: "underlying_token_balance",
108
+ underlyingTokenName: "underlying_token_name",
109
+ underlyingTokenSymbol: "underlying_token_symbol",
110
+ maturityDate: "maturity_date",
111
+ });
112
+ });
113
+
114
+ /**
115
+ * @internal
116
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
117
+ */
118
+ export namespace PendleGetUserPositionResponse$ {
119
+ /** @deprecated use `PendleGetUserPositionResponse$inboundSchema` instead. */
120
+ export const inboundSchema = PendleGetUserPositionResponse$inboundSchema;
121
+ /** @deprecated use `PendleGetUserPositionResponse$outboundSchema` instead. */
122
+ export const outboundSchema = PendleGetUserPositionResponse$outboundSchema;
123
+ /** @deprecated use `PendleGetUserPositionResponse$Outbound` instead. */
124
+ export type Outbound = PendleGetUserPositionResponse$Outbound;
125
+ }
126
+
127
+ export function pendleGetUserPositionResponseToJSON(
128
+ pendleGetUserPositionResponse: PendleGetUserPositionResponse,
129
+ ): string {
130
+ return JSON.stringify(
131
+ PendleGetUserPositionResponse$outboundSchema.parse(
132
+ pendleGetUserPositionResponse,
133
+ ),
134
+ );
135
+ }
136
+
137
+ export function pendleGetUserPositionResponseFromJSON(
138
+ jsonString: string,
139
+ ): SafeParseResult<PendleGetUserPositionResponse, SDKValidationError> {
140
+ return safeParse(
141
+ jsonString,
142
+ (x) => PendleGetUserPositionResponse$inboundSchema.parse(JSON.parse(x)),
143
+ `Failed to parse 'PendleGetUserPositionResponse' from JSON`,
144
+ );
145
+ }
@@ -101,6 +101,7 @@ export const ContractName = {
101
101
  SkyDaiUsdsConverter: "SkyDaiUsdsConverter",
102
102
  SkyUsdcUsdsConverter: "SkyUsdcUsdsConverter",
103
103
  SkyUsdsVault: "SkyUsdsVault",
104
+ PendleRouter: "PendleRouter",
104
105
  } as const;
105
106
  /**
106
107
  * The name of the contract to check allowance for.
@@ -25,7 +25,8 @@ export * from "./morphouserposition.js";
25
25
  export * from "./morphovault.js";
26
26
  export * from "./morphovaultposition.js";
27
27
  export * from "./morphovaults.js";
28
- export * from "./pendleaccruedinterest.js";
28
+ export * from "./pendlemarket.js";
29
+ export * from "./pendleposition.js";
29
30
  export * from "./skyposition.js";
30
31
  export * from "./tokenaddress.js";
31
32
  export * from "./tokenbalance.js";