@compass-labs/api-sdk 0.5.47 → 0.5.49

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 (186) hide show
  1. package/FUNCTIONS.md +3 -3
  2. package/README.md +13 -6
  3. package/bin/mcp-server.js +1003 -553
  4. package/bin/mcp-server.js.map +21 -12
  5. package/dist/commonjs/funcs/aaveV3AaveSupportedTokens.d.ts +25 -0
  6. package/dist/commonjs/funcs/aaveV3AaveSupportedTokens.d.ts.map +1 -0
  7. package/dist/commonjs/funcs/aaveV3AaveSupportedTokens.js +129 -0
  8. package/dist/commonjs/funcs/aaveV3AaveSupportedTokens.js.map +1 -0
  9. package/dist/commonjs/funcs/swapOdos.d.ts +25 -0
  10. package/dist/commonjs/funcs/swapOdos.d.ts.map +1 -0
  11. package/dist/commonjs/funcs/swapOdos.js +125 -0
  12. package/dist/commonjs/funcs/swapOdos.js.map +1 -0
  13. package/dist/commonjs/lib/config.d.ts +3 -3
  14. package/dist/commonjs/lib/config.js +3 -3
  15. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  16. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  17. package/dist/commonjs/mcp-server/server.js +5 -1
  18. package/dist/commonjs/mcp-server/server.js.map +1 -1
  19. package/dist/commonjs/mcp-server/tools/aaveV3AaveSupportedTokens.d.ts +8 -0
  20. package/dist/commonjs/mcp-server/tools/aaveV3AaveSupportedTokens.d.ts.map +1 -0
  21. package/dist/commonjs/mcp-server/tools/aaveV3AaveSupportedTokens.js +70 -0
  22. package/dist/commonjs/mcp-server/tools/aaveV3AaveSupportedTokens.js.map +1 -0
  23. package/dist/commonjs/mcp-server/tools/swapOdos.d.ts +8 -0
  24. package/dist/commonjs/mcp-server/tools/swapOdos.d.ts.map +1 -0
  25. package/dist/commonjs/mcp-server/tools/swapOdos.js +72 -0
  26. package/dist/commonjs/mcp-server/tools/swapOdos.js.map +1 -0
  27. package/dist/commonjs/models/components/aavesupportedtokenmetadata.d.ts +47 -0
  28. package/dist/commonjs/models/components/aavesupportedtokenmetadata.d.ts.map +1 -0
  29. package/dist/commonjs/models/components/aavesupportedtokenmetadata.js +86 -0
  30. package/dist/commonjs/models/components/aavesupportedtokenmetadata.js.map +1 -0
  31. package/dist/commonjs/models/components/aavesupportedtokensresponse.d.ts +33 -0
  32. package/dist/commonjs/models/components/aavesupportedtokensresponse.d.ts.map +1 -0
  33. package/dist/commonjs/models/components/aavesupportedtokensresponse.js +70 -0
  34. package/dist/commonjs/models/components/aavesupportedtokensresponse.js.map +1 -0
  35. package/dist/commonjs/models/components/index.d.ts +4 -0
  36. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  37. package/dist/commonjs/models/components/index.js +4 -0
  38. package/dist/commonjs/models/components/index.js.map +1 -1
  39. package/dist/commonjs/models/components/odosswapparams.d.ts +122 -0
  40. package/dist/commonjs/models/components/odosswapparams.d.ts.map +1 -0
  41. package/dist/commonjs/models/components/odosswapparams.js +162 -0
  42. package/dist/commonjs/models/components/odosswapparams.js.map +1 -0
  43. package/dist/commonjs/models/components/odosswaprequest.d.ts +133 -0
  44. package/dist/commonjs/models/components/odosswaprequest.d.ts.map +1 -0
  45. package/dist/commonjs/models/components/odosswaprequest.js +167 -0
  46. package/dist/commonjs/models/components/odosswaprequest.js.map +1 -0
  47. package/dist/commonjs/models/components/setallowanceparams.d.ts +3 -0
  48. package/dist/commonjs/models/components/setallowanceparams.d.ts.map +1 -1
  49. package/dist/commonjs/models/components/setallowanceparams.js +1 -0
  50. package/dist/commonjs/models/components/setallowanceparams.js.map +1 -1
  51. package/dist/commonjs/models/components/setallowancerequest.d.ts +3 -0
  52. package/dist/commonjs/models/components/setallowancerequest.d.ts.map +1 -1
  53. package/dist/commonjs/models/components/setallowancerequest.js +1 -0
  54. package/dist/commonjs/models/components/setallowancerequest.js.map +1 -1
  55. package/dist/commonjs/models/components/useroperation.d.ts +9 -0
  56. package/dist/commonjs/models/components/useroperation.d.ts.map +1 -1
  57. package/dist/commonjs/models/components/useroperation.js +13 -0
  58. package/dist/commonjs/models/components/useroperation.js.map +1 -1
  59. package/dist/commonjs/models/operations/aaveaavesupportedtokens.d.ts +72 -0
  60. package/dist/commonjs/models/operations/aaveaavesupportedtokens.d.ts.map +1 -0
  61. package/dist/commonjs/models/operations/aaveaavesupportedtokens.js +94 -0
  62. package/dist/commonjs/models/operations/aaveaavesupportedtokens.js.map +1 -0
  63. package/dist/commonjs/models/operations/genericallowance.d.ts +3 -0
  64. package/dist/commonjs/models/operations/genericallowance.d.ts.map +1 -1
  65. package/dist/commonjs/models/operations/genericallowance.js +1 -0
  66. package/dist/commonjs/models/operations/genericallowance.js.map +1 -1
  67. package/dist/commonjs/models/operations/index.d.ts +1 -0
  68. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  69. package/dist/commonjs/models/operations/index.js +1 -0
  70. package/dist/commonjs/models/operations/index.js.map +1 -1
  71. package/dist/commonjs/sdk/aavev3.d.ts +13 -0
  72. package/dist/commonjs/sdk/aavev3.d.ts.map +1 -1
  73. package/dist/commonjs/sdk/aavev3.js +16 -0
  74. package/dist/commonjs/sdk/aavev3.js.map +1 -1
  75. package/dist/commonjs/sdk/sdk.d.ts +3 -0
  76. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  77. package/dist/commonjs/sdk/sdk.js +4 -0
  78. package/dist/commonjs/sdk/sdk.js.map +1 -1
  79. package/dist/commonjs/sdk/swap.d.ts +19 -0
  80. package/dist/commonjs/sdk/swap.d.ts.map +1 -0
  81. package/dist/commonjs/sdk/swap.js +29 -0
  82. package/dist/commonjs/sdk/swap.js.map +1 -0
  83. package/dist/esm/funcs/aaveV3AaveSupportedTokens.d.ts +25 -0
  84. package/dist/esm/funcs/aaveV3AaveSupportedTokens.d.ts.map +1 -0
  85. package/dist/esm/funcs/aaveV3AaveSupportedTokens.js +93 -0
  86. package/dist/esm/funcs/aaveV3AaveSupportedTokens.js.map +1 -0
  87. package/dist/esm/funcs/swapOdos.d.ts +25 -0
  88. package/dist/esm/funcs/swapOdos.d.ts.map +1 -0
  89. package/dist/esm/funcs/swapOdos.js +89 -0
  90. package/dist/esm/funcs/swapOdos.js.map +1 -0
  91. package/dist/esm/lib/config.d.ts +3 -3
  92. package/dist/esm/lib/config.js +3 -3
  93. package/dist/esm/mcp-server/mcp-server.js +1 -1
  94. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  95. package/dist/esm/mcp-server/server.js +5 -1
  96. package/dist/esm/mcp-server/server.js.map +1 -1
  97. package/dist/esm/mcp-server/tools/aaveV3AaveSupportedTokens.d.ts +8 -0
  98. package/dist/esm/mcp-server/tools/aaveV3AaveSupportedTokens.d.ts.map +1 -0
  99. package/dist/esm/mcp-server/tools/aaveV3AaveSupportedTokens.js +34 -0
  100. package/dist/esm/mcp-server/tools/aaveV3AaveSupportedTokens.js.map +1 -0
  101. package/dist/esm/mcp-server/tools/swapOdos.d.ts +8 -0
  102. package/dist/esm/mcp-server/tools/swapOdos.d.ts.map +1 -0
  103. package/dist/esm/mcp-server/tools/swapOdos.js +36 -0
  104. package/dist/esm/mcp-server/tools/swapOdos.js.map +1 -0
  105. package/dist/esm/models/components/aavesupportedtokenmetadata.d.ts +47 -0
  106. package/dist/esm/models/components/aavesupportedtokenmetadata.d.ts.map +1 -0
  107. package/dist/esm/models/components/aavesupportedtokenmetadata.js +48 -0
  108. package/dist/esm/models/components/aavesupportedtokenmetadata.js.map +1 -0
  109. package/dist/esm/models/components/aavesupportedtokensresponse.d.ts +33 -0
  110. package/dist/esm/models/components/aavesupportedtokensresponse.d.ts.map +1 -0
  111. package/dist/esm/models/components/aavesupportedtokensresponse.js +32 -0
  112. package/dist/esm/models/components/aavesupportedtokensresponse.js.map +1 -0
  113. package/dist/esm/models/components/index.d.ts +4 -0
  114. package/dist/esm/models/components/index.d.ts.map +1 -1
  115. package/dist/esm/models/components/index.js +4 -0
  116. package/dist/esm/models/components/index.js.map +1 -1
  117. package/dist/esm/models/components/odosswapparams.d.ts +122 -0
  118. package/dist/esm/models/components/odosswapparams.d.ts.map +1 -0
  119. package/dist/esm/models/components/odosswapparams.js +118 -0
  120. package/dist/esm/models/components/odosswapparams.js.map +1 -0
  121. package/dist/esm/models/components/odosswaprequest.d.ts +133 -0
  122. package/dist/esm/models/components/odosswaprequest.d.ts.map +1 -0
  123. package/dist/esm/models/components/odosswaprequest.js +123 -0
  124. package/dist/esm/models/components/odosswaprequest.js.map +1 -0
  125. package/dist/esm/models/components/setallowanceparams.d.ts +3 -0
  126. package/dist/esm/models/components/setallowanceparams.d.ts.map +1 -1
  127. package/dist/esm/models/components/setallowanceparams.js +1 -0
  128. package/dist/esm/models/components/setallowanceparams.js.map +1 -1
  129. package/dist/esm/models/components/setallowancerequest.d.ts +3 -0
  130. package/dist/esm/models/components/setallowancerequest.d.ts.map +1 -1
  131. package/dist/esm/models/components/setallowancerequest.js +1 -0
  132. package/dist/esm/models/components/setallowancerequest.js.map +1 -1
  133. package/dist/esm/models/components/useroperation.d.ts +9 -0
  134. package/dist/esm/models/components/useroperation.d.ts.map +1 -1
  135. package/dist/esm/models/components/useroperation.js +13 -0
  136. package/dist/esm/models/components/useroperation.js.map +1 -1
  137. package/dist/esm/models/operations/aaveaavesupportedtokens.d.ts +72 -0
  138. package/dist/esm/models/operations/aaveaavesupportedtokens.d.ts.map +1 -0
  139. package/dist/esm/models/operations/aaveaavesupportedtokens.js +56 -0
  140. package/dist/esm/models/operations/aaveaavesupportedtokens.js.map +1 -0
  141. package/dist/esm/models/operations/genericallowance.d.ts +3 -0
  142. package/dist/esm/models/operations/genericallowance.d.ts.map +1 -1
  143. package/dist/esm/models/operations/genericallowance.js +1 -0
  144. package/dist/esm/models/operations/genericallowance.js.map +1 -1
  145. package/dist/esm/models/operations/index.d.ts +1 -0
  146. package/dist/esm/models/operations/index.d.ts.map +1 -1
  147. package/dist/esm/models/operations/index.js +1 -0
  148. package/dist/esm/models/operations/index.js.map +1 -1
  149. package/dist/esm/sdk/aavev3.d.ts +13 -0
  150. package/dist/esm/sdk/aavev3.d.ts.map +1 -1
  151. package/dist/esm/sdk/aavev3.js +16 -0
  152. package/dist/esm/sdk/aavev3.js.map +1 -1
  153. package/dist/esm/sdk/sdk.d.ts +3 -0
  154. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  155. package/dist/esm/sdk/sdk.js +4 -0
  156. package/dist/esm/sdk/sdk.js.map +1 -1
  157. package/dist/esm/sdk/swap.d.ts +19 -0
  158. package/dist/esm/sdk/swap.d.ts.map +1 -0
  159. package/dist/esm/sdk/swap.js +25 -0
  160. package/dist/esm/sdk/swap.js.map +1 -0
  161. package/docs/sdks/aavev3/README.md +76 -0
  162. package/docs/sdks/swap/README.md +99 -0
  163. package/examples/{aaveV3Rate.example.ts → aaveV3AaveSupportedTokens.example.ts} +2 -2
  164. package/jsr.json +1 -1
  165. package/package.json +1 -1
  166. package/src/funcs/aaveV3AaveSupportedTokens.ts +182 -0
  167. package/src/funcs/swapOdos.ts +176 -0
  168. package/src/lib/config.ts +3 -3
  169. package/src/mcp-server/mcp-server.ts +1 -1
  170. package/src/mcp-server/server.ts +5 -1
  171. package/src/mcp-server/tools/aaveV3AaveSupportedTokens.ts +43 -0
  172. package/src/mcp-server/tools/swapOdos.ts +45 -0
  173. package/src/models/components/aavesupportedtokenmetadata.ts +101 -0
  174. package/src/models/components/aavesupportedtokensresponse.ts +77 -0
  175. package/src/models/components/index.ts +4 -0
  176. package/src/models/components/odosswapparams.ts +269 -0
  177. package/src/models/components/odosswaprequest.ts +286 -0
  178. package/src/models/components/setallowanceparams.ts +1 -0
  179. package/src/models/components/setallowancerequest.ts +1 -0
  180. package/src/models/components/useroperation.ts +30 -0
  181. package/src/models/operations/aaveaavesupportedtokens.ts +117 -0
  182. package/src/models/operations/genericallowance.ts +1 -0
  183. package/src/models/operations/index.ts +1 -0
  184. package/src/sdk/aavev3.ts +24 -0
  185. package/src/sdk/sdk.ts +6 -0
  186. package/src/sdk/swap.ts +34 -0
@@ -0,0 +1,99 @@
1
+ # Swap
2
+ (*swap*)
3
+
4
+ ## Overview
5
+
6
+ ### Available Operations
7
+
8
+ * [odos](#odos) - Odos Swap
9
+
10
+ ## odos
11
+
12
+ Swap between two tokens using Odos Smart Order Routing.
13
+ <Info>
14
+ **Required Allowances**
15
+
16
+ In order to make this transaction, token allowances need to be set on the following contracts.
17
+
18
+ - `OdosRouter`
19
+ </Info>
20
+
21
+
22
+ ### Example Usage
23
+
24
+ ```typescript
25
+ import { CompassApiSDK } from "@compass-labs/api-sdk";
26
+
27
+ const compassApiSDK = new CompassApiSDK({
28
+ apiKeyAuth: "<YOUR_API_KEY_HERE>",
29
+ });
30
+
31
+ async function run() {
32
+ const result = await compassApiSDK.swap.odos({
33
+ tokenIn: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
34
+ tokenOut: "0xdac17f958d2ee523a2206206994597c13d831ec7",
35
+ amount: 1.5,
36
+ maxSlippagePercent: 0.5,
37
+ chain: "ethereum:mainnet",
38
+ sender: "0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B",
39
+ });
40
+
41
+ console.log(result);
42
+ }
43
+
44
+ run();
45
+ ```
46
+
47
+ ### Standalone function
48
+
49
+ The standalone function version of this method:
50
+
51
+ ```typescript
52
+ import { CompassApiSDKCore } from "@compass-labs/api-sdk/core.js";
53
+ import { swapOdos } from "@compass-labs/api-sdk/funcs/swapOdos.js";
54
+
55
+ // Use `CompassApiSDKCore` for best tree-shaking performance.
56
+ // You can create one instance of it to use across an application.
57
+ const compassApiSDK = new CompassApiSDKCore({
58
+ apiKeyAuth: "<YOUR_API_KEY_HERE>",
59
+ });
60
+
61
+ async function run() {
62
+ const res = await swapOdos(compassApiSDK, {
63
+ tokenIn: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
64
+ tokenOut: "0xdac17f958d2ee523a2206206994597c13d831ec7",
65
+ amount: 1.5,
66
+ maxSlippagePercent: 0.5,
67
+ chain: "ethereum:mainnet",
68
+ sender: "0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B",
69
+ });
70
+ if (res.ok) {
71
+ const { value: result } = res;
72
+ console.log(result);
73
+ } else {
74
+ console.log("swapOdos failed:", res.error);
75
+ }
76
+ }
77
+
78
+ run();
79
+ ```
80
+
81
+ ### Parameters
82
+
83
+ | Parameter | Type | Required | Description |
84
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
85
+ | `request` | [components.OdosSwapRequest](../../models/components/odosswaprequest.md) | :heavy_check_mark: | The request object to use for the request. |
86
+ | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
87
+ | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
88
+ | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
89
+
90
+ ### Response
91
+
92
+ **Promise\<[components.TxResponse](../../models/components/txresponse.md)\>**
93
+
94
+ ### Errors
95
+
96
+ | Error Type | Status Code | Content Type |
97
+ | -------------------------- | -------------------------- | -------------------------- |
98
+ | errors.HTTPValidationError | 422 | application/json |
99
+ | errors.APIError | 4XX, 5XX | \*/\* |
@@ -6,7 +6,7 @@
6
6
  * Example usage of the @compass-labs/api-sdk SDK
7
7
  *
8
8
  * To run this example from the examples directory:
9
- * npm run build && npx tsx aaveV3Rate.ts
9
+ * npm run build && npx tsx aaveV3AaveSupportedTokens.ts
10
10
  */
11
11
 
12
12
  import { CompassApiSDK } from "@compass-labs/api-sdk";
@@ -16,7 +16,7 @@ const compassApiSDK = new CompassApiSDK({
16
16
  });
17
17
 
18
18
  async function main() {
19
- const result = await compassApiSDK.rate({});
19
+ const result = await compassApiSDK.aaveSupportedTokens({});
20
20
 
21
21
  console.log(result);
22
22
  }
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@compass-labs/api-sdk",
5
- "version": "0.5.47",
5
+ "version": "0.5.49",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compass-labs/api-sdk",
3
- "version": "0.5.47",
3
+ "version": "0.5.49",
4
4
  "author": "royalnine",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,182 @@
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 { CompassAPISDKError } from "../models/errors/compassapisdkerror.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 { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Aave Supported Tokens
31
+ *
32
+ * @remarks
33
+ * Returns the list of supported tokens on Aave for the specified network, along
34
+ * with key metadata.
35
+ *
36
+ * For each token, the response includes:
37
+ * - The symbol and contract address.
38
+ * - Whether the token is currently enabled for supplying (depositing).
39
+ * - Whether it is enabled for borrowing.
40
+ */
41
+ export function aaveV3AaveSupportedTokens(
42
+ client: CompassApiSDKCore,
43
+ request: operations.AaveAaveSupportedTokensRequest,
44
+ options?: RequestOptions,
45
+ ): APIPromise<
46
+ Result<
47
+ components.AaveSupportedTokensResponse,
48
+ | errors.HTTPValidationError
49
+ | CompassAPISDKError
50
+ | ResponseValidationError
51
+ | ConnectionError
52
+ | RequestAbortedError
53
+ | RequestTimeoutError
54
+ | InvalidRequestError
55
+ | UnexpectedClientError
56
+ | SDKValidationError
57
+ >
58
+ > {
59
+ return new APIPromise($do(
60
+ client,
61
+ request,
62
+ options,
63
+ ));
64
+ }
65
+
66
+ async function $do(
67
+ client: CompassApiSDKCore,
68
+ request: operations.AaveAaveSupportedTokensRequest,
69
+ options?: RequestOptions,
70
+ ): Promise<
71
+ [
72
+ Result<
73
+ components.AaveSupportedTokensResponse,
74
+ | errors.HTTPValidationError
75
+ | CompassAPISDKError
76
+ | ResponseValidationError
77
+ | ConnectionError
78
+ | RequestAbortedError
79
+ | RequestTimeoutError
80
+ | InvalidRequestError
81
+ | UnexpectedClientError
82
+ | SDKValidationError
83
+ >,
84
+ APICall,
85
+ ]
86
+ > {
87
+ const parsed = safeParse(
88
+ request,
89
+ (value) =>
90
+ operations.AaveAaveSupportedTokensRequest$outboundSchema.parse(value),
91
+ "Input validation failed",
92
+ );
93
+ if (!parsed.ok) {
94
+ return [parsed, { status: "invalid" }];
95
+ }
96
+ const payload = parsed.value;
97
+ const body = null;
98
+
99
+ const path = pathToFunc("/v0/aave/aave_supported_tokens/get")();
100
+
101
+ const query = encodeFormQuery({
102
+ "block": payload.block,
103
+ "chain": payload.chain,
104
+ });
105
+
106
+ const headers = new Headers(compactMap({
107
+ Accept: "application/json",
108
+ }));
109
+
110
+ const secConfig = await extractSecurity(client._options.apiKeyAuth);
111
+ const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
112
+ const requestSecurity = resolveGlobalSecurity(securityInput);
113
+
114
+ const context = {
115
+ options: client._options,
116
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
117
+ operationID: "aave_aave_supported_tokens",
118
+ oAuth2Scopes: [],
119
+
120
+ resolvedSecurity: requestSecurity,
121
+
122
+ securitySource: client._options.apiKeyAuth,
123
+ retryConfig: options?.retries
124
+ || client._options.retryConfig
125
+ || { strategy: "none" },
126
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
127
+ };
128
+
129
+ const requestRes = client._createRequest(context, {
130
+ security: requestSecurity,
131
+ method: "GET",
132
+ baseURL: options?.serverURL,
133
+ path: path,
134
+ headers: headers,
135
+ query: query,
136
+ body: body,
137
+ userAgent: client._options.userAgent,
138
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
139
+ }, options);
140
+ if (!requestRes.ok) {
141
+ return [requestRes, { status: "invalid" }];
142
+ }
143
+ const req = requestRes.value;
144
+
145
+ const doResult = await client._do(req, {
146
+ context,
147
+ errorCodes: ["422", "4XX", "5XX"],
148
+ retryConfig: context.retryConfig,
149
+ retryCodes: context.retryCodes,
150
+ });
151
+ if (!doResult.ok) {
152
+ return [doResult, { status: "request-error", request: req }];
153
+ }
154
+ const response = doResult.value;
155
+
156
+ const responseFields = {
157
+ HttpMeta: { Response: response, Request: req },
158
+ };
159
+
160
+ const [result] = await M.match<
161
+ components.AaveSupportedTokensResponse,
162
+ | errors.HTTPValidationError
163
+ | CompassAPISDKError
164
+ | ResponseValidationError
165
+ | ConnectionError
166
+ | RequestAbortedError
167
+ | RequestTimeoutError
168
+ | InvalidRequestError
169
+ | UnexpectedClientError
170
+ | SDKValidationError
171
+ >(
172
+ M.json(200, components.AaveSupportedTokensResponse$inboundSchema),
173
+ M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
174
+ M.fail("4XX"),
175
+ M.fail("5XX"),
176
+ )(response, req, { extraFields: responseFields });
177
+ if (!result.ok) {
178
+ return [result, { status: "complete", request: req, response }];
179
+ }
180
+
181
+ return [result, { status: "complete", request: req, response }];
182
+ }
@@ -0,0 +1,176 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { CompassApiSDKCore } from "../core.js";
6
+ import { encodeJSON } 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 { CompassAPISDKError } from "../models/errors/compassapisdkerror.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 { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import { APICall, APIPromise } from "../types/async.js";
26
+ import { Result } from "../types/fp.js";
27
+
28
+ /**
29
+ * Odos Swap
30
+ *
31
+ * @remarks
32
+ * Swap between two tokens using Odos Smart Order Routing.
33
+ * <Info>
34
+ * **Required Allowances**
35
+ *
36
+ * In order to make this transaction, token allowances need to be set on the following contracts.
37
+ *
38
+ * - `OdosRouter`
39
+ * </Info>
40
+ */
41
+ export function swapOdos(
42
+ client: CompassApiSDKCore,
43
+ request: components.OdosSwapRequest,
44
+ options?: RequestOptions,
45
+ ): APIPromise<
46
+ Result<
47
+ components.TxResponse,
48
+ | errors.HTTPValidationError
49
+ | CompassAPISDKError
50
+ | ResponseValidationError
51
+ | ConnectionError
52
+ | RequestAbortedError
53
+ | RequestTimeoutError
54
+ | InvalidRequestError
55
+ | UnexpectedClientError
56
+ | SDKValidationError
57
+ >
58
+ > {
59
+ return new APIPromise($do(
60
+ client,
61
+ request,
62
+ options,
63
+ ));
64
+ }
65
+
66
+ async function $do(
67
+ client: CompassApiSDKCore,
68
+ request: components.OdosSwapRequest,
69
+ options?: RequestOptions,
70
+ ): Promise<
71
+ [
72
+ Result<
73
+ components.TxResponse,
74
+ | errors.HTTPValidationError
75
+ | CompassAPISDKError
76
+ | ResponseValidationError
77
+ | ConnectionError
78
+ | RequestAbortedError
79
+ | RequestTimeoutError
80
+ | InvalidRequestError
81
+ | UnexpectedClientError
82
+ | SDKValidationError
83
+ >,
84
+ APICall,
85
+ ]
86
+ > {
87
+ const parsed = safeParse(
88
+ request,
89
+ (value) => components.OdosSwapRequest$outboundSchema.parse(value),
90
+ "Input validation failed",
91
+ );
92
+ if (!parsed.ok) {
93
+ return [parsed, { status: "invalid" }];
94
+ }
95
+ const payload = parsed.value;
96
+ const body = encodeJSON("body", payload, { explode: true });
97
+
98
+ const path = pathToFunc("/v0/swap/odos")();
99
+
100
+ const headers = new Headers(compactMap({
101
+ "Content-Type": "application/json",
102
+ Accept: "application/json",
103
+ }));
104
+
105
+ const secConfig = await extractSecurity(client._options.apiKeyAuth);
106
+ const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
107
+ const requestSecurity = resolveGlobalSecurity(securityInput);
108
+
109
+ const context = {
110
+ options: client._options,
111
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
112
+ operationID: "swap_odos",
113
+ oAuth2Scopes: [],
114
+
115
+ resolvedSecurity: requestSecurity,
116
+
117
+ securitySource: client._options.apiKeyAuth,
118
+ retryConfig: options?.retries
119
+ || client._options.retryConfig
120
+ || { strategy: "none" },
121
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
122
+ };
123
+
124
+ const requestRes = client._createRequest(context, {
125
+ security: requestSecurity,
126
+ method: "POST",
127
+ baseURL: options?.serverURL,
128
+ path: path,
129
+ headers: headers,
130
+ body: body,
131
+ userAgent: client._options.userAgent,
132
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
133
+ }, options);
134
+ if (!requestRes.ok) {
135
+ return [requestRes, { status: "invalid" }];
136
+ }
137
+ const req = requestRes.value;
138
+
139
+ const doResult = await client._do(req, {
140
+ context,
141
+ errorCodes: ["422", "4XX", "5XX"],
142
+ retryConfig: context.retryConfig,
143
+ retryCodes: context.retryCodes,
144
+ });
145
+ if (!doResult.ok) {
146
+ return [doResult, { status: "request-error", request: req }];
147
+ }
148
+ const response = doResult.value;
149
+
150
+ const responseFields = {
151
+ HttpMeta: { Response: response, Request: req },
152
+ };
153
+
154
+ const [result] = await M.match<
155
+ components.TxResponse,
156
+ | errors.HTTPValidationError
157
+ | CompassAPISDKError
158
+ | ResponseValidationError
159
+ | ConnectionError
160
+ | RequestAbortedError
161
+ | RequestTimeoutError
162
+ | InvalidRequestError
163
+ | UnexpectedClientError
164
+ | SDKValidationError
165
+ >(
166
+ M.json(200, components.TxResponse$inboundSchema),
167
+ M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
168
+ M.fail("4XX"),
169
+ M.fail("5XX"),
170
+ )(response, req, { extraFields: responseFields });
171
+ if (!result.ok) {
172
+ return [result, { status: "complete", request: req, response }];
173
+ }
174
+
175
+ return [result, { status: "complete", request: req, response }];
176
+ }
package/src/lib/config.ts CHANGED
@@ -61,8 +61,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
61
61
  export const SDK_METADATA = {
62
62
  language: "typescript",
63
63
  openapiDocVersion: "0.0.1",
64
- sdkVersion: "0.5.47",
65
- genVersion: "2.656.9",
64
+ sdkVersion: "0.5.49",
65
+ genVersion: "2.657.1",
66
66
  userAgent:
67
- "speakeasy-sdk/typescript 0.5.47 2.656.9 0.0.1 @compass-labs/api-sdk",
67
+ "speakeasy-sdk/typescript 0.5.49 2.657.1 0.0.1 @compass-labs/api-sdk",
68
68
  } 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.5.47",
22
+ currentVersion: "0.5.49",
23
23
  },
24
24
  });
25
25
 
@@ -13,6 +13,7 @@ import {
13
13
  } from "./resources.js";
14
14
  import { MCPScope } from "./scopes.js";
15
15
  import { createRegisterTool } from "./tools.js";
16
+ import { tool$aaveV3AaveSupportedTokens } from "./tools/aaveV3AaveSupportedTokens.js";
16
17
  import { tool$aaveV3AvgRate } from "./tools/aaveV3AvgRate.js";
17
18
  import { tool$aaveV3Borrow } from "./tools/aaveV3Borrow.js";
18
19
  import { tool$aaveV3HistoricalTransactions } from "./tools/aaveV3HistoricalTransactions.js";
@@ -65,6 +66,7 @@ import { tool$skyPosition } from "./tools/skyPosition.js";
65
66
  import { tool$skySell } from "./tools/skySell.js";
66
67
  import { tool$skyWithdraw } from "./tools/skyWithdraw.js";
67
68
  import { tool$smartAccountAccountBatchedUserOperations } from "./tools/smartAccountAccountBatchedUserOperations.js";
69
+ import { tool$swapOdos } from "./tools/swapOdos.js";
68
70
  import { tool$tokenAddress } from "./tools/tokenAddress.js";
69
71
  import { tool$tokenBalance } from "./tools/tokenBalance.js";
70
72
  import { tool$tokenPrice } from "./tools/tokenPrice.js";
@@ -101,7 +103,7 @@ export function createMCPServer(deps: {
101
103
  }) {
102
104
  const server = new McpServer({
103
105
  name: "CompassApiSDK",
104
- version: "0.5.47",
106
+ version: "0.5.49",
105
107
  });
106
108
 
107
109
  const client = new CompassApiSDKCore({
@@ -131,6 +133,7 @@ export function createMCPServer(deps: {
131
133
  const register = { tool, resource, resourceTemplate, prompt };
132
134
  void register; // suppress unused warnings
133
135
 
136
+ tool(tool$aaveV3AaveSupportedTokens);
134
137
  tool(tool$aaveV3Rate);
135
138
  tool(tool$aaveV3AvgRate);
136
139
  tool(tool$aaveV3StdRate);
@@ -201,6 +204,7 @@ export function createMCPServer(deps: {
201
204
  tool(tool$pendleRedeemYield);
202
205
  tool(tool$pendleAddLiquidity);
203
206
  tool(tool$pendleRemoveLiquidity);
207
+ tool(tool$swapOdos);
204
208
  tool(tool$transactionBundlerBundlerAuthorization);
205
209
  tool(tool$transactionBundlerBundlerExecute);
206
210
  tool(tool$transactionBundlerBundlerAaveLoop);
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { aaveV3AaveSupportedTokens } from "../../funcs/aaveV3AaveSupportedTokens.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.AaveAaveSupportedTokensRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$aaveV3AaveSupportedTokens: ToolDefinition<typeof args> = {
14
+ name: "aave-v3-aave-supported-tokens",
15
+ description: `Aave Supported Tokens
16
+
17
+ Returns the list of supported tokens on Aave for the specified network, along
18
+ with key metadata.
19
+
20
+ For each token, the response includes:
21
+ - The symbol and contract address.
22
+ - Whether the token is currently enabled for supplying (depositing).
23
+ - Whether it is enabled for borrowing.`,
24
+ args,
25
+ tool: async (client, args, ctx) => {
26
+ const [result, apiCall] = await aaveV3AaveSupportedTokens(
27
+ client,
28
+ args.request,
29
+ { fetchOptions: { signal: ctx.signal } },
30
+ ).$inspect();
31
+
32
+ if (!result.ok) {
33
+ return {
34
+ content: [{ type: "text", text: result.error.message }],
35
+ isError: true,
36
+ };
37
+ }
38
+
39
+ const value = result.value;
40
+
41
+ return formatResult(value, apiCall);
42
+ },
43
+ };
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { swapOdos } from "../../funcs/swapOdos.js";
6
+ import * as components from "../../models/components/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: components.OdosSwapRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$swapOdos: ToolDefinition<typeof args> = {
14
+ name: "swap-odos",
15
+ description: `Odos Swap
16
+
17
+ Swap between two tokens using Odos Smart Order Routing.
18
+ <Info>
19
+ **Required Allowances**
20
+
21
+ In order to make this transaction, token allowances need to be set on the following contracts.
22
+
23
+ - \`OdosRouter\`
24
+ </Info>
25
+ `,
26
+ args,
27
+ tool: async (client, args, ctx) => {
28
+ const [result, apiCall] = await swapOdos(
29
+ client,
30
+ args.request,
31
+ { fetchOptions: { signal: ctx.signal } },
32
+ ).$inspect();
33
+
34
+ if (!result.ok) {
35
+ return {
36
+ content: [{ type: "text", text: result.error.message }],
37
+ isError: true,
38
+ };
39
+ }
40
+
41
+ const value = result.value;
42
+
43
+ return formatResult(value, apiCall);
44
+ },
45
+ };