@compass-labs/api-sdk 0.5.46 → 0.5.48

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 (237) hide show
  1. package/README.md +5 -0
  2. package/bin/mcp-server.js +470 -201
  3. package/bin/mcp-server.js.map +28 -24
  4. package/dist/commonjs/funcs/swapOdos.d.ts +25 -0
  5. package/dist/commonjs/funcs/swapOdos.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/swapOdos.js +125 -0
  7. package/dist/commonjs/funcs/swapOdos.js.map +1 -0
  8. package/dist/commonjs/lib/config.d.ts +3 -3
  9. package/dist/commonjs/lib/config.js +3 -3
  10. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  11. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  12. package/dist/commonjs/mcp-server/server.js +3 -1
  13. package/dist/commonjs/mcp-server/server.js.map +1 -1
  14. package/dist/commonjs/mcp-server/tools/swapOdos.d.ts +8 -0
  15. package/dist/commonjs/mcp-server/tools/swapOdos.d.ts.map +1 -0
  16. package/dist/commonjs/mcp-server/tools/swapOdos.js +72 -0
  17. package/dist/commonjs/mcp-server/tools/swapOdos.js.map +1 -0
  18. package/dist/commonjs/models/components/index.d.ts +2 -0
  19. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  20. package/dist/commonjs/models/components/index.js +2 -0
  21. package/dist/commonjs/models/components/index.js.map +1 -1
  22. package/dist/commonjs/models/components/odosswapparams.d.ts +122 -0
  23. package/dist/commonjs/models/components/odosswapparams.d.ts.map +1 -0
  24. package/dist/commonjs/models/components/odosswapparams.js +162 -0
  25. package/dist/commonjs/models/components/odosswapparams.js.map +1 -0
  26. package/dist/commonjs/models/components/odosswaprequest.d.ts +133 -0
  27. package/dist/commonjs/models/components/odosswaprequest.d.ts.map +1 -0
  28. package/dist/commonjs/models/components/odosswaprequest.js +167 -0
  29. package/dist/commonjs/models/components/odosswaprequest.js.map +1 -0
  30. package/dist/commonjs/models/components/setallowanceparams.d.ts +3 -0
  31. package/dist/commonjs/models/components/setallowanceparams.d.ts.map +1 -1
  32. package/dist/commonjs/models/components/setallowanceparams.js +1 -0
  33. package/dist/commonjs/models/components/setallowanceparams.js.map +1 -1
  34. package/dist/commonjs/models/components/setallowancerequest.d.ts +3 -0
  35. package/dist/commonjs/models/components/setallowancerequest.d.ts.map +1 -1
  36. package/dist/commonjs/models/components/setallowancerequest.js +1 -0
  37. package/dist/commonjs/models/components/setallowancerequest.js.map +1 -1
  38. package/dist/commonjs/models/components/tokenenum.d.ts +3 -0
  39. package/dist/commonjs/models/components/tokenenum.d.ts.map +1 -1
  40. package/dist/commonjs/models/components/tokenenum.js +1 -0
  41. package/dist/commonjs/models/components/tokenenum.js.map +1 -1
  42. package/dist/commonjs/models/components/useroperation.d.ts +9 -0
  43. package/dist/commonjs/models/components/useroperation.d.ts.map +1 -1
  44. package/dist/commonjs/models/components/useroperation.js +13 -0
  45. package/dist/commonjs/models/components/useroperation.js.map +1 -1
  46. package/dist/commonjs/models/operations/aaveavgrate.d.ts +3 -0
  47. package/dist/commonjs/models/operations/aaveavgrate.d.ts.map +1 -1
  48. package/dist/commonjs/models/operations/aaveavgrate.js +1 -0
  49. package/dist/commonjs/models/operations/aaveavgrate.js.map +1 -1
  50. package/dist/commonjs/models/operations/aaveliquiditychange.d.ts +3 -0
  51. package/dist/commonjs/models/operations/aaveliquiditychange.d.ts.map +1 -1
  52. package/dist/commonjs/models/operations/aaveliquiditychange.js +1 -0
  53. package/dist/commonjs/models/operations/aaveliquiditychange.js.map +1 -1
  54. package/dist/commonjs/models/operations/aaverate.d.ts +3 -0
  55. package/dist/commonjs/models/operations/aaverate.d.ts.map +1 -1
  56. package/dist/commonjs/models/operations/aaverate.js +1 -0
  57. package/dist/commonjs/models/operations/aaverate.js.map +1 -1
  58. package/dist/commonjs/models/operations/aavereserveoverview.d.ts +3 -0
  59. package/dist/commonjs/models/operations/aavereserveoverview.d.ts.map +1 -1
  60. package/dist/commonjs/models/operations/aavereserveoverview.js +1 -0
  61. package/dist/commonjs/models/operations/aavereserveoverview.js.map +1 -1
  62. package/dist/commonjs/models/operations/aavestdrate.d.ts +3 -0
  63. package/dist/commonjs/models/operations/aavestdrate.d.ts.map +1 -1
  64. package/dist/commonjs/models/operations/aavestdrate.js +1 -0
  65. package/dist/commonjs/models/operations/aavestdrate.js.map +1 -1
  66. package/dist/commonjs/models/operations/aavetokenprice.d.ts +3 -0
  67. package/dist/commonjs/models/operations/aavetokenprice.d.ts.map +1 -1
  68. package/dist/commonjs/models/operations/aavetokenprice.js +1 -0
  69. package/dist/commonjs/models/operations/aavetokenprice.js.map +1 -1
  70. package/dist/commonjs/models/operations/aaveuserpositionpertoken.d.ts +3 -0
  71. package/dist/commonjs/models/operations/aaveuserpositionpertoken.d.ts.map +1 -1
  72. package/dist/commonjs/models/operations/aaveuserpositionpertoken.js +1 -0
  73. package/dist/commonjs/models/operations/aaveuserpositionpertoken.js.map +1 -1
  74. package/dist/commonjs/models/operations/aerodromeslipstreampoolprice.d.ts +6 -0
  75. package/dist/commonjs/models/operations/aerodromeslipstreampoolprice.d.ts.map +1 -1
  76. package/dist/commonjs/models/operations/aerodromeslipstreampoolprice.js +2 -0
  77. package/dist/commonjs/models/operations/aerodromeslipstreampoolprice.js.map +1 -1
  78. package/dist/commonjs/models/operations/genericallowance.d.ts +3 -0
  79. package/dist/commonjs/models/operations/genericallowance.d.ts.map +1 -1
  80. package/dist/commonjs/models/operations/genericallowance.js +1 -0
  81. package/dist/commonjs/models/operations/genericallowance.js.map +1 -1
  82. package/dist/commonjs/models/operations/tokenaddress.d.ts +3 -0
  83. package/dist/commonjs/models/operations/tokenaddress.d.ts.map +1 -1
  84. package/dist/commonjs/models/operations/tokenaddress.js +1 -0
  85. package/dist/commonjs/models/operations/tokenaddress.js.map +1 -1
  86. package/dist/commonjs/models/operations/uniswappoolprice.d.ts +6 -0
  87. package/dist/commonjs/models/operations/uniswappoolprice.d.ts.map +1 -1
  88. package/dist/commonjs/models/operations/uniswappoolprice.js +2 -0
  89. package/dist/commonjs/models/operations/uniswappoolprice.js.map +1 -1
  90. package/dist/commonjs/models/operations/uniswapquotebuyexactly.d.ts +6 -0
  91. package/dist/commonjs/models/operations/uniswapquotebuyexactly.d.ts.map +1 -1
  92. package/dist/commonjs/models/operations/uniswapquotebuyexactly.js +2 -0
  93. package/dist/commonjs/models/operations/uniswapquotebuyexactly.js.map +1 -1
  94. package/dist/commonjs/models/operations/uniswapquotesellexactly.d.ts +6 -0
  95. package/dist/commonjs/models/operations/uniswapquotesellexactly.d.ts.map +1 -1
  96. package/dist/commonjs/models/operations/uniswapquotesellexactly.js +2 -0
  97. package/dist/commonjs/models/operations/uniswapquotesellexactly.js.map +1 -1
  98. package/dist/commonjs/sdk/sdk.d.ts +3 -0
  99. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  100. package/dist/commonjs/sdk/sdk.js +4 -0
  101. package/dist/commonjs/sdk/sdk.js.map +1 -1
  102. package/dist/commonjs/sdk/swap.d.ts +19 -0
  103. package/dist/commonjs/sdk/swap.d.ts.map +1 -0
  104. package/dist/commonjs/sdk/swap.js +29 -0
  105. package/dist/commonjs/sdk/swap.js.map +1 -0
  106. package/dist/esm/funcs/swapOdos.d.ts +25 -0
  107. package/dist/esm/funcs/swapOdos.d.ts.map +1 -0
  108. package/dist/esm/funcs/swapOdos.js +89 -0
  109. package/dist/esm/funcs/swapOdos.js.map +1 -0
  110. package/dist/esm/lib/config.d.ts +3 -3
  111. package/dist/esm/lib/config.js +3 -3
  112. package/dist/esm/mcp-server/mcp-server.js +1 -1
  113. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  114. package/dist/esm/mcp-server/server.js +3 -1
  115. package/dist/esm/mcp-server/server.js.map +1 -1
  116. package/dist/esm/mcp-server/tools/swapOdos.d.ts +8 -0
  117. package/dist/esm/mcp-server/tools/swapOdos.d.ts.map +1 -0
  118. package/dist/esm/mcp-server/tools/swapOdos.js +36 -0
  119. package/dist/esm/mcp-server/tools/swapOdos.js.map +1 -0
  120. package/dist/esm/models/components/index.d.ts +2 -0
  121. package/dist/esm/models/components/index.d.ts.map +1 -1
  122. package/dist/esm/models/components/index.js +2 -0
  123. package/dist/esm/models/components/index.js.map +1 -1
  124. package/dist/esm/models/components/odosswapparams.d.ts +122 -0
  125. package/dist/esm/models/components/odosswapparams.d.ts.map +1 -0
  126. package/dist/esm/models/components/odosswapparams.js +118 -0
  127. package/dist/esm/models/components/odosswapparams.js.map +1 -0
  128. package/dist/esm/models/components/odosswaprequest.d.ts +133 -0
  129. package/dist/esm/models/components/odosswaprequest.d.ts.map +1 -0
  130. package/dist/esm/models/components/odosswaprequest.js +123 -0
  131. package/dist/esm/models/components/odosswaprequest.js.map +1 -0
  132. package/dist/esm/models/components/setallowanceparams.d.ts +3 -0
  133. package/dist/esm/models/components/setallowanceparams.d.ts.map +1 -1
  134. package/dist/esm/models/components/setallowanceparams.js +1 -0
  135. package/dist/esm/models/components/setallowanceparams.js.map +1 -1
  136. package/dist/esm/models/components/setallowancerequest.d.ts +3 -0
  137. package/dist/esm/models/components/setallowancerequest.d.ts.map +1 -1
  138. package/dist/esm/models/components/setallowancerequest.js +1 -0
  139. package/dist/esm/models/components/setallowancerequest.js.map +1 -1
  140. package/dist/esm/models/components/tokenenum.d.ts +3 -0
  141. package/dist/esm/models/components/tokenenum.d.ts.map +1 -1
  142. package/dist/esm/models/components/tokenenum.js +1 -0
  143. package/dist/esm/models/components/tokenenum.js.map +1 -1
  144. package/dist/esm/models/components/useroperation.d.ts +9 -0
  145. package/dist/esm/models/components/useroperation.d.ts.map +1 -1
  146. package/dist/esm/models/components/useroperation.js +13 -0
  147. package/dist/esm/models/components/useroperation.js.map +1 -1
  148. package/dist/esm/models/operations/aaveavgrate.d.ts +3 -0
  149. package/dist/esm/models/operations/aaveavgrate.d.ts.map +1 -1
  150. package/dist/esm/models/operations/aaveavgrate.js +1 -0
  151. package/dist/esm/models/operations/aaveavgrate.js.map +1 -1
  152. package/dist/esm/models/operations/aaveliquiditychange.d.ts +3 -0
  153. package/dist/esm/models/operations/aaveliquiditychange.d.ts.map +1 -1
  154. package/dist/esm/models/operations/aaveliquiditychange.js +1 -0
  155. package/dist/esm/models/operations/aaveliquiditychange.js.map +1 -1
  156. package/dist/esm/models/operations/aaverate.d.ts +3 -0
  157. package/dist/esm/models/operations/aaverate.d.ts.map +1 -1
  158. package/dist/esm/models/operations/aaverate.js +1 -0
  159. package/dist/esm/models/operations/aaverate.js.map +1 -1
  160. package/dist/esm/models/operations/aavereserveoverview.d.ts +3 -0
  161. package/dist/esm/models/operations/aavereserveoverview.d.ts.map +1 -1
  162. package/dist/esm/models/operations/aavereserveoverview.js +1 -0
  163. package/dist/esm/models/operations/aavereserveoverview.js.map +1 -1
  164. package/dist/esm/models/operations/aavestdrate.d.ts +3 -0
  165. package/dist/esm/models/operations/aavestdrate.d.ts.map +1 -1
  166. package/dist/esm/models/operations/aavestdrate.js +1 -0
  167. package/dist/esm/models/operations/aavestdrate.js.map +1 -1
  168. package/dist/esm/models/operations/aavetokenprice.d.ts +3 -0
  169. package/dist/esm/models/operations/aavetokenprice.d.ts.map +1 -1
  170. package/dist/esm/models/operations/aavetokenprice.js +1 -0
  171. package/dist/esm/models/operations/aavetokenprice.js.map +1 -1
  172. package/dist/esm/models/operations/aaveuserpositionpertoken.d.ts +3 -0
  173. package/dist/esm/models/operations/aaveuserpositionpertoken.d.ts.map +1 -1
  174. package/dist/esm/models/operations/aaveuserpositionpertoken.js +1 -0
  175. package/dist/esm/models/operations/aaveuserpositionpertoken.js.map +1 -1
  176. package/dist/esm/models/operations/aerodromeslipstreampoolprice.d.ts +6 -0
  177. package/dist/esm/models/operations/aerodromeslipstreampoolprice.d.ts.map +1 -1
  178. package/dist/esm/models/operations/aerodromeslipstreampoolprice.js +2 -0
  179. package/dist/esm/models/operations/aerodromeslipstreampoolprice.js.map +1 -1
  180. package/dist/esm/models/operations/genericallowance.d.ts +3 -0
  181. package/dist/esm/models/operations/genericallowance.d.ts.map +1 -1
  182. package/dist/esm/models/operations/genericallowance.js +1 -0
  183. package/dist/esm/models/operations/genericallowance.js.map +1 -1
  184. package/dist/esm/models/operations/tokenaddress.d.ts +3 -0
  185. package/dist/esm/models/operations/tokenaddress.d.ts.map +1 -1
  186. package/dist/esm/models/operations/tokenaddress.js +1 -0
  187. package/dist/esm/models/operations/tokenaddress.js.map +1 -1
  188. package/dist/esm/models/operations/uniswappoolprice.d.ts +6 -0
  189. package/dist/esm/models/operations/uniswappoolprice.d.ts.map +1 -1
  190. package/dist/esm/models/operations/uniswappoolprice.js +2 -0
  191. package/dist/esm/models/operations/uniswappoolprice.js.map +1 -1
  192. package/dist/esm/models/operations/uniswapquotebuyexactly.d.ts +6 -0
  193. package/dist/esm/models/operations/uniswapquotebuyexactly.d.ts.map +1 -1
  194. package/dist/esm/models/operations/uniswapquotebuyexactly.js +2 -0
  195. package/dist/esm/models/operations/uniswapquotebuyexactly.js.map +1 -1
  196. package/dist/esm/models/operations/uniswapquotesellexactly.d.ts +6 -0
  197. package/dist/esm/models/operations/uniswapquotesellexactly.d.ts.map +1 -1
  198. package/dist/esm/models/operations/uniswapquotesellexactly.js +2 -0
  199. package/dist/esm/models/operations/uniswapquotesellexactly.js.map +1 -1
  200. package/dist/esm/sdk/sdk.d.ts +3 -0
  201. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  202. package/dist/esm/sdk/sdk.js +4 -0
  203. package/dist/esm/sdk/sdk.js.map +1 -1
  204. package/dist/esm/sdk/swap.d.ts +19 -0
  205. package/dist/esm/sdk/swap.d.ts.map +1 -0
  206. package/dist/esm/sdk/swap.js +25 -0
  207. package/dist/esm/sdk/swap.js.map +1 -0
  208. package/docs/sdks/swap/README.md +99 -0
  209. package/jsr.json +1 -1
  210. package/package.json +1 -1
  211. package/src/funcs/swapOdos.ts +176 -0
  212. package/src/lib/config.ts +3 -3
  213. package/src/mcp-server/mcp-server.ts +1 -1
  214. package/src/mcp-server/server.ts +3 -1
  215. package/src/mcp-server/tools/swapOdos.ts +45 -0
  216. package/src/models/components/index.ts +2 -0
  217. package/src/models/components/odosswapparams.ts +269 -0
  218. package/src/models/components/odosswaprequest.ts +286 -0
  219. package/src/models/components/setallowanceparams.ts +1 -0
  220. package/src/models/components/setallowancerequest.ts +1 -0
  221. package/src/models/components/tokenenum.ts +1 -0
  222. package/src/models/components/useroperation.ts +30 -0
  223. package/src/models/operations/aaveavgrate.ts +1 -0
  224. package/src/models/operations/aaveliquiditychange.ts +1 -0
  225. package/src/models/operations/aaverate.ts +1 -0
  226. package/src/models/operations/aavereserveoverview.ts +1 -0
  227. package/src/models/operations/aavestdrate.ts +1 -0
  228. package/src/models/operations/aavetokenprice.ts +1 -0
  229. package/src/models/operations/aaveuserpositionpertoken.ts +1 -0
  230. package/src/models/operations/aerodromeslipstreampoolprice.ts +2 -0
  231. package/src/models/operations/genericallowance.ts +1 -0
  232. package/src/models/operations/tokenaddress.ts +1 -0
  233. package/src/models/operations/uniswappoolprice.ts +2 -0
  234. package/src/models/operations/uniswapquotebuyexactly.ts +2 -0
  235. package/src/models/operations/uniswapquotesellexactly.ts +2 -0
  236. package/src/sdk/sdk.ts +6 -0
  237. package/src/sdk/swap.ts +34 -0
@@ -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.46",
65
- genVersion: "2.656.5",
64
+ sdkVersion: "0.5.48",
65
+ genVersion: "2.657.1",
66
66
  userAgent:
67
- "speakeasy-sdk/typescript 0.5.46 2.656.5 0.0.1 @compass-labs/api-sdk",
67
+ "speakeasy-sdk/typescript 0.5.48 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.46",
22
+ currentVersion: "0.5.48",
23
23
  },
24
24
  });
25
25
 
@@ -65,6 +65,7 @@ import { tool$skyPosition } from "./tools/skyPosition.js";
65
65
  import { tool$skySell } from "./tools/skySell.js";
66
66
  import { tool$skyWithdraw } from "./tools/skyWithdraw.js";
67
67
  import { tool$smartAccountAccountBatchedUserOperations } from "./tools/smartAccountAccountBatchedUserOperations.js";
68
+ import { tool$swapOdos } from "./tools/swapOdos.js";
68
69
  import { tool$tokenAddress } from "./tools/tokenAddress.js";
69
70
  import { tool$tokenBalance } from "./tools/tokenBalance.js";
70
71
  import { tool$tokenPrice } from "./tools/tokenPrice.js";
@@ -101,7 +102,7 @@ export function createMCPServer(deps: {
101
102
  }) {
102
103
  const server = new McpServer({
103
104
  name: "CompassApiSDK",
104
- version: "0.5.46",
105
+ version: "0.5.48",
105
106
  });
106
107
 
107
108
  const client = new CompassApiSDKCore({
@@ -201,6 +202,7 @@ export function createMCPServer(deps: {
201
202
  tool(tool$pendleRedeemYield);
202
203
  tool(tool$pendleAddLiquidity);
203
204
  tool(tool$pendleRemoveLiquidity);
205
+ tool(tool$swapOdos);
204
206
  tool(tool$transactionBundlerBundlerAuthorization);
205
207
  tool(tool$transactionBundlerBundlerExecute);
206
208
  tool(tool$transactionBundlerBundlerAaveLoop);
@@ -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
+ };
@@ -90,6 +90,8 @@ export * from "./movement10percent.js";
90
90
  export * from "./multicallauthorizationrequest.js";
91
91
  export * from "./multicallauthorizationresponse.js";
92
92
  export * from "./multicallexecuterequest.js";
93
+ export * from "./odosswapparams.js";
94
+ export * from "./odosswaprequest.js";
93
95
  export * from "./openposition.js";
94
96
  export * from "./pendleaddliquidityparams.js";
95
97
  export * from "./pendleaddliquidityrequest.js";
@@ -0,0 +1,269 @@
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
+ /**
17
+ * The symbol or address of the token that is to be sold.
18
+ */
19
+ export type OdosSwapParamsTokenIn = TokenEnum | string;
20
+
21
+ /**
22
+ * The symbol or address of the token that is to be bought.
23
+ */
24
+ export type OdosSwapParamsTokenOut = TokenEnum | string;
25
+
26
+ /**
27
+ * The amount of token_in to be sold.
28
+ */
29
+ export type OdosSwapParamsAmount = number | string;
30
+
31
+ export type OdosSwapParams = {
32
+ actionType?: "ODOS_SWAP" | undefined;
33
+ /**
34
+ * The symbol or address of the token that is to be sold.
35
+ */
36
+ tokenIn: TokenEnum | string;
37
+ /**
38
+ * The symbol or address of the token that is to be bought.
39
+ */
40
+ tokenOut: TokenEnum | string;
41
+ /**
42
+ * The amount of token_in to be sold.
43
+ */
44
+ amount: number | string;
45
+ /**
46
+ * The maximum slippage allowed in percent. e.g. `1` means `1%` slippage allowed.
47
+ */
48
+ maxSlippagePercent: number;
49
+ };
50
+
51
+ /** @internal */
52
+ export const OdosSwapParamsTokenIn$inboundSchema: z.ZodType<
53
+ OdosSwapParamsTokenIn,
54
+ z.ZodTypeDef,
55
+ unknown
56
+ > = z.union([TokenEnum$inboundSchema, z.string()]);
57
+
58
+ /** @internal */
59
+ export type OdosSwapParamsTokenIn$Outbound = string | string;
60
+
61
+ /** @internal */
62
+ export const OdosSwapParamsTokenIn$outboundSchema: z.ZodType<
63
+ OdosSwapParamsTokenIn$Outbound,
64
+ z.ZodTypeDef,
65
+ OdosSwapParamsTokenIn
66
+ > = z.union([TokenEnum$outboundSchema, z.string()]);
67
+
68
+ /**
69
+ * @internal
70
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
71
+ */
72
+ export namespace OdosSwapParamsTokenIn$ {
73
+ /** @deprecated use `OdosSwapParamsTokenIn$inboundSchema` instead. */
74
+ export const inboundSchema = OdosSwapParamsTokenIn$inboundSchema;
75
+ /** @deprecated use `OdosSwapParamsTokenIn$outboundSchema` instead. */
76
+ export const outboundSchema = OdosSwapParamsTokenIn$outboundSchema;
77
+ /** @deprecated use `OdosSwapParamsTokenIn$Outbound` instead. */
78
+ export type Outbound = OdosSwapParamsTokenIn$Outbound;
79
+ }
80
+
81
+ export function odosSwapParamsTokenInToJSON(
82
+ odosSwapParamsTokenIn: OdosSwapParamsTokenIn,
83
+ ): string {
84
+ return JSON.stringify(
85
+ OdosSwapParamsTokenIn$outboundSchema.parse(odosSwapParamsTokenIn),
86
+ );
87
+ }
88
+
89
+ export function odosSwapParamsTokenInFromJSON(
90
+ jsonString: string,
91
+ ): SafeParseResult<OdosSwapParamsTokenIn, SDKValidationError> {
92
+ return safeParse(
93
+ jsonString,
94
+ (x) => OdosSwapParamsTokenIn$inboundSchema.parse(JSON.parse(x)),
95
+ `Failed to parse 'OdosSwapParamsTokenIn' from JSON`,
96
+ );
97
+ }
98
+
99
+ /** @internal */
100
+ export const OdosSwapParamsTokenOut$inboundSchema: z.ZodType<
101
+ OdosSwapParamsTokenOut,
102
+ z.ZodTypeDef,
103
+ unknown
104
+ > = z.union([TokenEnum$inboundSchema, z.string()]);
105
+
106
+ /** @internal */
107
+ export type OdosSwapParamsTokenOut$Outbound = string | string;
108
+
109
+ /** @internal */
110
+ export const OdosSwapParamsTokenOut$outboundSchema: z.ZodType<
111
+ OdosSwapParamsTokenOut$Outbound,
112
+ z.ZodTypeDef,
113
+ OdosSwapParamsTokenOut
114
+ > = z.union([TokenEnum$outboundSchema, z.string()]);
115
+
116
+ /**
117
+ * @internal
118
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
119
+ */
120
+ export namespace OdosSwapParamsTokenOut$ {
121
+ /** @deprecated use `OdosSwapParamsTokenOut$inboundSchema` instead. */
122
+ export const inboundSchema = OdosSwapParamsTokenOut$inboundSchema;
123
+ /** @deprecated use `OdosSwapParamsTokenOut$outboundSchema` instead. */
124
+ export const outboundSchema = OdosSwapParamsTokenOut$outboundSchema;
125
+ /** @deprecated use `OdosSwapParamsTokenOut$Outbound` instead. */
126
+ export type Outbound = OdosSwapParamsTokenOut$Outbound;
127
+ }
128
+
129
+ export function odosSwapParamsTokenOutToJSON(
130
+ odosSwapParamsTokenOut: OdosSwapParamsTokenOut,
131
+ ): string {
132
+ return JSON.stringify(
133
+ OdosSwapParamsTokenOut$outboundSchema.parse(odosSwapParamsTokenOut),
134
+ );
135
+ }
136
+
137
+ export function odosSwapParamsTokenOutFromJSON(
138
+ jsonString: string,
139
+ ): SafeParseResult<OdosSwapParamsTokenOut, SDKValidationError> {
140
+ return safeParse(
141
+ jsonString,
142
+ (x) => OdosSwapParamsTokenOut$inboundSchema.parse(JSON.parse(x)),
143
+ `Failed to parse 'OdosSwapParamsTokenOut' from JSON`,
144
+ );
145
+ }
146
+
147
+ /** @internal */
148
+ export const OdosSwapParamsAmount$inboundSchema: z.ZodType<
149
+ OdosSwapParamsAmount,
150
+ z.ZodTypeDef,
151
+ unknown
152
+ > = z.union([z.number(), z.string()]);
153
+
154
+ /** @internal */
155
+ export type OdosSwapParamsAmount$Outbound = number | string;
156
+
157
+ /** @internal */
158
+ export const OdosSwapParamsAmount$outboundSchema: z.ZodType<
159
+ OdosSwapParamsAmount$Outbound,
160
+ z.ZodTypeDef,
161
+ OdosSwapParamsAmount
162
+ > = z.union([z.number(), z.string()]);
163
+
164
+ /**
165
+ * @internal
166
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
167
+ */
168
+ export namespace OdosSwapParamsAmount$ {
169
+ /** @deprecated use `OdosSwapParamsAmount$inboundSchema` instead. */
170
+ export const inboundSchema = OdosSwapParamsAmount$inboundSchema;
171
+ /** @deprecated use `OdosSwapParamsAmount$outboundSchema` instead. */
172
+ export const outboundSchema = OdosSwapParamsAmount$outboundSchema;
173
+ /** @deprecated use `OdosSwapParamsAmount$Outbound` instead. */
174
+ export type Outbound = OdosSwapParamsAmount$Outbound;
175
+ }
176
+
177
+ export function odosSwapParamsAmountToJSON(
178
+ odosSwapParamsAmount: OdosSwapParamsAmount,
179
+ ): string {
180
+ return JSON.stringify(
181
+ OdosSwapParamsAmount$outboundSchema.parse(odosSwapParamsAmount),
182
+ );
183
+ }
184
+
185
+ export function odosSwapParamsAmountFromJSON(
186
+ jsonString: string,
187
+ ): SafeParseResult<OdosSwapParamsAmount, SDKValidationError> {
188
+ return safeParse(
189
+ jsonString,
190
+ (x) => OdosSwapParamsAmount$inboundSchema.parse(JSON.parse(x)),
191
+ `Failed to parse 'OdosSwapParamsAmount' from JSON`,
192
+ );
193
+ }
194
+
195
+ /** @internal */
196
+ export const OdosSwapParams$inboundSchema: z.ZodType<
197
+ OdosSwapParams,
198
+ z.ZodTypeDef,
199
+ unknown
200
+ > = z.object({
201
+ action_type: z.literal("ODOS_SWAP").default("ODOS_SWAP"),
202
+ token_in: z.union([TokenEnum$inboundSchema, z.string()]),
203
+ token_out: z.union([TokenEnum$inboundSchema, z.string()]),
204
+ amount: z.union([z.number(), z.string()]),
205
+ max_slippage_percent: z.number(),
206
+ }).transform((v) => {
207
+ return remap$(v, {
208
+ "action_type": "actionType",
209
+ "token_in": "tokenIn",
210
+ "token_out": "tokenOut",
211
+ "max_slippage_percent": "maxSlippagePercent",
212
+ });
213
+ });
214
+
215
+ /** @internal */
216
+ export type OdosSwapParams$Outbound = {
217
+ action_type: "ODOS_SWAP";
218
+ token_in: string | string;
219
+ token_out: string | string;
220
+ amount: number | string;
221
+ max_slippage_percent: number;
222
+ };
223
+
224
+ /** @internal */
225
+ export const OdosSwapParams$outboundSchema: z.ZodType<
226
+ OdosSwapParams$Outbound,
227
+ z.ZodTypeDef,
228
+ OdosSwapParams
229
+ > = z.object({
230
+ actionType: z.literal("ODOS_SWAP").default("ODOS_SWAP" as const),
231
+ tokenIn: z.union([TokenEnum$outboundSchema, z.string()]),
232
+ tokenOut: z.union([TokenEnum$outboundSchema, z.string()]),
233
+ amount: z.union([z.number(), z.string()]),
234
+ maxSlippagePercent: z.number(),
235
+ }).transform((v) => {
236
+ return remap$(v, {
237
+ actionType: "action_type",
238
+ tokenIn: "token_in",
239
+ tokenOut: "token_out",
240
+ maxSlippagePercent: "max_slippage_percent",
241
+ });
242
+ });
243
+
244
+ /**
245
+ * @internal
246
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
247
+ */
248
+ export namespace OdosSwapParams$ {
249
+ /** @deprecated use `OdosSwapParams$inboundSchema` instead. */
250
+ export const inboundSchema = OdosSwapParams$inboundSchema;
251
+ /** @deprecated use `OdosSwapParams$outboundSchema` instead. */
252
+ export const outboundSchema = OdosSwapParams$outboundSchema;
253
+ /** @deprecated use `OdosSwapParams$Outbound` instead. */
254
+ export type Outbound = OdosSwapParams$Outbound;
255
+ }
256
+
257
+ export function odosSwapParamsToJSON(odosSwapParams: OdosSwapParams): string {
258
+ return JSON.stringify(OdosSwapParams$outboundSchema.parse(odosSwapParams));
259
+ }
260
+
261
+ export function odosSwapParamsFromJSON(
262
+ jsonString: string,
263
+ ): SafeParseResult<OdosSwapParams, SDKValidationError> {
264
+ return safeParse(
265
+ jsonString,
266
+ (x) => OdosSwapParams$inboundSchema.parse(JSON.parse(x)),
267
+ `Failed to parse 'OdosSwapParams' from JSON`,
268
+ );
269
+ }