@moovio/sdk 0.19.1 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +70 -46
  2. package/bin/mcp-server.js +1261 -659
  3. package/bin/mcp-server.js.map +20 -10
  4. package/docs/sdks/feeplans/README.md +276 -0
  5. package/examples/package-lock.json +1 -1
  6. package/funcs/feePlansGetResidual.d.ts +17 -0
  7. package/funcs/feePlansGetResidual.d.ts.map +1 -0
  8. package/funcs/feePlansGetResidual.js +129 -0
  9. package/funcs/feePlansGetResidual.js.map +1 -0
  10. package/funcs/feePlansListResidualFees.d.ts +17 -0
  11. package/funcs/feePlansListResidualFees.d.ts.map +1 -0
  12. package/funcs/feePlansListResidualFees.js +136 -0
  13. package/funcs/feePlansListResidualFees.js.map +1 -0
  14. package/funcs/feePlansListResiduals.d.ts +17 -0
  15. package/funcs/feePlansListResiduals.d.ts.map +1 -0
  16. package/funcs/feePlansListResiduals.js +132 -0
  17. package/funcs/feePlansListResiduals.js.map +1 -0
  18. package/jsr.json +1 -1
  19. package/lib/config.d.ts +3 -3
  20. package/lib/config.js +3 -3
  21. package/mcp-server/mcp-server.js +1 -1
  22. package/mcp-server/server.d.ts.map +1 -1
  23. package/mcp-server/server.js +7 -1
  24. package/mcp-server/server.js.map +1 -1
  25. package/mcp-server/tools/feePlansGetResidual.d.ts +8 -0
  26. package/mcp-server/tools/feePlansGetResidual.d.ts.map +1 -0
  27. package/mcp-server/tools/feePlansGetResidual.js +65 -0
  28. package/mcp-server/tools/feePlansGetResidual.js.map +1 -0
  29. package/mcp-server/tools/feePlansListResidualFees.d.ts +8 -0
  30. package/mcp-server/tools/feePlansListResidualFees.d.ts.map +1 -0
  31. package/mcp-server/tools/feePlansListResidualFees.js +65 -0
  32. package/mcp-server/tools/feePlansListResidualFees.js.map +1 -0
  33. package/mcp-server/tools/feePlansListResiduals.d.ts +8 -0
  34. package/mcp-server/tools/feePlansListResiduals.d.ts.map +1 -0
  35. package/mcp-server/tools/feePlansListResiduals.js +65 -0
  36. package/mcp-server/tools/feePlansListResiduals.js.map +1 -0
  37. package/models/components/imagemetadata.d.ts +5 -0
  38. package/models/components/imagemetadata.d.ts.map +1 -1
  39. package/models/components/imagemetadata.js +2 -0
  40. package/models/components/imagemetadata.js.map +1 -1
  41. package/models/components/incurredfee.d.ts +2 -0
  42. package/models/components/incurredfee.d.ts.map +1 -1
  43. package/models/components/incurredfee.js +2 -0
  44. package/models/components/incurredfee.js.map +1 -1
  45. package/models/components/index.d.ts +1 -0
  46. package/models/components/index.d.ts.map +1 -1
  47. package/models/components/index.js +1 -0
  48. package/models/components/index.js.map +1 -1
  49. package/models/components/residual.d.ts +59 -0
  50. package/models/components/residual.d.ts.map +1 -0
  51. package/models/components/residual.js +92 -0
  52. package/models/components/residual.js.map +1 -0
  53. package/models/operations/getresidual.d.ts +101 -0
  54. package/models/operations/getresidual.d.ts.map +1 -0
  55. package/models/operations/getresidual.js +147 -0
  56. package/models/operations/getresidual.js.map +1 -0
  57. package/models/operations/index.d.ts +3 -0
  58. package/models/operations/index.d.ts.map +1 -1
  59. package/models/operations/index.js +3 -0
  60. package/models/operations/index.js.map +1 -1
  61. package/models/operations/listresidualfees.d.ts +115 -0
  62. package/models/operations/listresidualfees.d.ts.map +1 -0
  63. package/models/operations/listresidualfees.js +155 -0
  64. package/models/operations/listresidualfees.js.map +1 -0
  65. package/models/operations/listresiduals.d.ts +113 -0
  66. package/models/operations/listresiduals.d.ts.map +1 -0
  67. package/models/operations/listresiduals.js +153 -0
  68. package/models/operations/listresiduals.js.map +1 -0
  69. package/package.json +1 -1
  70. package/sdk/feeplans.d.ts +21 -0
  71. package/sdk/feeplans.d.ts.map +1 -1
  72. package/sdk/feeplans.js +30 -0
  73. package/sdk/feeplans.js.map +1 -1
  74. package/src/funcs/feePlansGetResidual.ts +185 -0
  75. package/src/funcs/feePlansListResidualFees.ts +193 -0
  76. package/src/funcs/feePlansListResiduals.ts +187 -0
  77. package/src/lib/config.ts +3 -3
  78. package/src/mcp-server/mcp-server.ts +1 -1
  79. package/src/mcp-server/server.ts +7 -1
  80. package/src/mcp-server/tools/feePlansGetResidual.ts +38 -0
  81. package/src/mcp-server/tools/feePlansListResidualFees.ts +38 -0
  82. package/src/mcp-server/tools/feePlansListResiduals.ts +38 -0
  83. package/src/models/components/imagemetadata.ts +7 -0
  84. package/src/models/components/incurredfee.ts +4 -0
  85. package/src/models/components/index.ts +1 -0
  86. package/src/models/components/residual.ts +121 -0
  87. package/src/models/operations/getresidual.ts +223 -0
  88. package/src/models/operations/index.ts +3 -0
  89. package/src/models/operations/listresidualfees.ts +245 -0
  90. package/src/models/operations/listresiduals.ts +241 -0
  91. package/src/sdk/feeplans.ts +54 -0
  92. package/test/tests/accounts.test.ts +2 -2
  93. package/test/tests/bankAccounts.test.ts +2 -8
  94. package/test/tests/capabilities.test.ts +3 -3
  95. package/test/tests/cards.test.ts +4 -4
  96. package/test/tests/paymentMethods.test.ts +3 -3
  97. package/test/tests/representatives.test.ts +3 -3
  98. package/test/tests/transfers.test.ts +6 -6
  99. package/test/tests/wallets.test.ts +1 -1
  100. package/test/utils/utils.ts +5 -2
package/sdk/feeplans.js CHANGED
@@ -5,11 +5,14 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FeePlans = void 0;
7
7
  const feePlansCreateFeePlanAgreements_js_1 = require("../funcs/feePlansCreateFeePlanAgreements.js");
8
+ const feePlansGetResidual_js_1 = require("../funcs/feePlansGetResidual.js");
8
9
  const feePlansListFeePlanAgreements_js_1 = require("../funcs/feePlansListFeePlanAgreements.js");
9
10
  const feePlansListFeePlans_js_1 = require("../funcs/feePlansListFeePlans.js");
10
11
  const feePlansListFeesFetch_js_1 = require("../funcs/feePlansListFeesFetch.js");
11
12
  const feePlansListPartnerPricing_js_1 = require("../funcs/feePlansListPartnerPricing.js");
12
13
  const feePlansListPartnerPricingAgreements_js_1 = require("../funcs/feePlansListPartnerPricingAgreements.js");
14
+ const feePlansListResidualFees_js_1 = require("../funcs/feePlansListResidualFees.js");
15
+ const feePlansListResiduals_js_1 = require("../funcs/feePlansListResiduals.js");
13
16
  const feePlansRetrieveFees_js_1 = require("../funcs/feePlansRetrieveFees.js");
14
17
  const sdks_js_1 = require("../lib/sdks.js");
15
18
  const fp_js_1 = require("../types/fp.js");
@@ -78,6 +81,33 @@ class FeePlans extends sdks_js_1.ClientSDK {
78
81
  async listPartnerPricingAgreements(request, options) {
79
82
  return (0, fp_js_1.unwrapAsync)((0, feePlansListPartnerPricingAgreements_js_1.feePlansListPartnerPricingAgreements)(this, request, options));
80
83
  }
84
+ /**
85
+ * List all residuals associated with an account.
86
+ *
87
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
88
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
89
+ */
90
+ async listResiduals(request, options) {
91
+ return (0, fp_js_1.unwrapAsync)((0, feePlansListResiduals_js_1.feePlansListResiduals)(this, request, options));
92
+ }
93
+ /**
94
+ * Get a residual associated with an account.
95
+ *
96
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
97
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
98
+ */
99
+ async getResidual(request, options) {
100
+ return (0, fp_js_1.unwrapAsync)((0, feePlansGetResidual_js_1.feePlansGetResidual)(this, request, options));
101
+ }
102
+ /**
103
+ * List all fees associated with a residual.
104
+ *
105
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
106
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
107
+ */
108
+ async listResidualFees(request, options) {
109
+ return (0, fp_js_1.unwrapAsync)((0, feePlansListResidualFees_js_1.feePlansListResidualFees)(this, request, options));
110
+ }
81
111
  }
82
112
  exports.FeePlans = FeePlans;
83
113
  //# sourceMappingURL=feeplans.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feeplans.js","sourceRoot":"","sources":["../src/sdk/feeplans.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oGAA8F;AAC9F,gGAA0F;AAC1F,8EAAwE;AACxE,gFAA0E;AAC1E,0FAAoF;AACpF,8GAAwG;AACxG,8EAAwE;AACxE,4CAA2D;AAE3D,0CAA6C;AAE7C,MAAa,QAAS,SAAQ,mBAAS;IACrC;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAgD,EAChD,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,gEAA6B,EAC9C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAC3B,OAAkD,EAClD,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,oEAA+B,EAChD,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAChB,OAAuC,EACvC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,8CAAoB,EACrC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,OAAuC,EACvC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,8CAAoB,EACrC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,OAAwC,EACxC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,gDAAqB,EACtC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAA6C,EAC7C,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,0DAA0B,EAC3C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,4BAA4B,CAChC,OAAuD,EACvD,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,8EAAoC,EACrD,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;CACF;AAxHD,4BAwHC"}
1
+ {"version":3,"file":"feeplans.js","sourceRoot":"","sources":["../src/sdk/feeplans.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oGAA8F;AAC9F,4EAAsE;AACtE,gGAA0F;AAC1F,8EAAwE;AACxE,gFAA0E;AAC1E,0FAAoF;AACpF,8GAAwG;AACxG,sFAAgF;AAChF,gFAA0E;AAC1E,8EAAwE;AACxE,4CAA2D;AAE3D,0CAA6C;AAE7C,MAAa,QAAS,SAAQ,mBAAS;IACrC;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAgD,EAChD,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,gEAA6B,EAC9C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAC3B,OAAkD,EAClD,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,oEAA+B,EAChD,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAChB,OAAuC,EACvC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,8CAAoB,EACrC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,OAAuC,EACvC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,8CAAoB,EACrC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,OAAwC,EACxC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,gDAAqB,EACtC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAA6C,EAC7C,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,0DAA0B,EAC3C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,4BAA4B,CAChC,OAAuD,EACvD,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,8EAAoC,EACrD,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,OAAwC,EACxC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,gDAAqB,EACtC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAAsC,EACtC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,4CAAmB,EACpC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAA2C,EAC3C,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,sDAAwB,EACzC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;CACF;AA3KD,4BA2KC"}
@@ -0,0 +1,185 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { MoovCore } from "../core.js";
6
+ import { encodeSimple } 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 {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { MoovError } from "../models/errors/mooverror.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
23
+ import * as operations from "../models/operations/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * Get a residual associated with an account.
29
+ *
30
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
31
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
32
+ */
33
+ export function feePlansGetResidual(
34
+ client: MoovCore,
35
+ request: operations.GetResidualRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.GetResidualResponse,
40
+ | MoovError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: MoovCore,
59
+ request: operations.GetResidualRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.GetResidualResponse,
65
+ | MoovError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) => operations.GetResidualRequest$outboundSchema.parse(value),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed.ok) {
83
+ return [parsed, { status: "invalid" }];
84
+ }
85
+ const payload = parsed.value;
86
+ const body = null;
87
+
88
+ const pathParams = {
89
+ accountID: encodeSimple("accountID", payload.accountID, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ residualID: encodeSimple("residualID", payload.residualID, {
94
+ explode: false,
95
+ charEncoding: "percent",
96
+ }),
97
+ };
98
+
99
+ const path = pathToFunc("/accounts/{accountID}/residuals/{residualID}")(
100
+ pathParams,
101
+ );
102
+
103
+ const headers = new Headers(compactMap({
104
+ Accept: "application/json",
105
+ "X-Moov-Version": encodeSimple(
106
+ "X-Moov-Version",
107
+ client._options.xMoovVersion,
108
+ { explode: false, charEncoding: "none" },
109
+ ),
110
+ }));
111
+
112
+ const securityInput = await extractSecurity(client._options.security);
113
+ const requestSecurity = resolveGlobalSecurity(securityInput);
114
+
115
+ const context = {
116
+ options: client._options,
117
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
118
+ operationID: "getResidual",
119
+ oAuth2Scopes: null,
120
+
121
+ resolvedSecurity: requestSecurity,
122
+
123
+ securitySource: client._options.security,
124
+ retryConfig: options?.retries
125
+ || client._options.retryConfig
126
+ || { strategy: "none" },
127
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
128
+ };
129
+
130
+ const requestRes = client._createRequest(context, {
131
+ security: requestSecurity,
132
+ method: "GET",
133
+ baseURL: options?.serverURL,
134
+ path: path,
135
+ headers: headers,
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: ["401", "403", "404", "429", "4XX", "500", "504", "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
+ operations.GetResidualResponse,
162
+ | MoovError
163
+ | ResponseValidationError
164
+ | ConnectionError
165
+ | RequestAbortedError
166
+ | RequestTimeoutError
167
+ | InvalidRequestError
168
+ | UnexpectedClientError
169
+ | SDKValidationError
170
+ >(
171
+ M.json(200, operations.GetResidualResponse$inboundSchema, {
172
+ hdrs: true,
173
+ key: "Result",
174
+ }),
175
+ M.fail([401, 403, 404, 429]),
176
+ M.fail([500, 504]),
177
+ M.fail("4XX"),
178
+ M.fail("5XX"),
179
+ )(response, req, { extraFields: responseFields });
180
+ if (!result.ok) {
181
+ return [result, { status: "complete", request: req, response }];
182
+ }
183
+
184
+ return [result, { status: "complete", request: req, response }];
185
+ }
@@ -0,0 +1,193 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { MoovCore } from "../core.js";
6
+ import { encodeFormQuery, encodeSimple } 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 {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { MoovError } from "../models/errors/mooverror.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
23
+ import * as operations from "../models/operations/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * List all fees associated with a residual.
29
+ *
30
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
31
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
32
+ */
33
+ export function feePlansListResidualFees(
34
+ client: MoovCore,
35
+ request: operations.ListResidualFeesRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.ListResidualFeesResponse,
40
+ | MoovError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: MoovCore,
59
+ request: operations.ListResidualFeesRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.ListResidualFeesResponse,
65
+ | MoovError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) => operations.ListResidualFeesRequest$outboundSchema.parse(value),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed.ok) {
83
+ return [parsed, { status: "invalid" }];
84
+ }
85
+ const payload = parsed.value;
86
+ const body = null;
87
+
88
+ const pathParams = {
89
+ accountID: encodeSimple("accountID", payload.accountID, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ residualID: encodeSimple("residualID", payload.residualID, {
94
+ explode: false,
95
+ charEncoding: "percent",
96
+ }),
97
+ };
98
+
99
+ const path = pathToFunc("/accounts/{accountID}/residuals/{residualID}/fees")(
100
+ pathParams,
101
+ );
102
+
103
+ const query = encodeFormQuery({
104
+ "count": payload.count,
105
+ "endDateTime": payload.endDateTime,
106
+ "skip": payload.skip,
107
+ "startDateTime": payload.startDateTime,
108
+ }, { explode: false });
109
+
110
+ const headers = new Headers(compactMap({
111
+ Accept: "application/json",
112
+ "X-Moov-Version": encodeSimple(
113
+ "X-Moov-Version",
114
+ client._options.xMoovVersion,
115
+ { explode: false, charEncoding: "none" },
116
+ ),
117
+ }));
118
+
119
+ const securityInput = await extractSecurity(client._options.security);
120
+ const requestSecurity = resolveGlobalSecurity(securityInput);
121
+
122
+ const context = {
123
+ options: client._options,
124
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
125
+ operationID: "listResidualFees",
126
+ oAuth2Scopes: null,
127
+
128
+ resolvedSecurity: requestSecurity,
129
+
130
+ securitySource: client._options.security,
131
+ retryConfig: options?.retries
132
+ || client._options.retryConfig
133
+ || { strategy: "none" },
134
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
135
+ };
136
+
137
+ const requestRes = client._createRequest(context, {
138
+ security: requestSecurity,
139
+ method: "GET",
140
+ baseURL: options?.serverURL,
141
+ path: path,
142
+ headers: headers,
143
+ query: query,
144
+ body: body,
145
+ userAgent: client._options.userAgent,
146
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
147
+ }, options);
148
+ if (!requestRes.ok) {
149
+ return [requestRes, { status: "invalid" }];
150
+ }
151
+ const req = requestRes.value;
152
+
153
+ const doResult = await client._do(req, {
154
+ context,
155
+ errorCodes: ["401", "403", "429", "4XX", "500", "504", "5XX"],
156
+ retryConfig: context.retryConfig,
157
+ retryCodes: context.retryCodes,
158
+ });
159
+ if (!doResult.ok) {
160
+ return [doResult, { status: "request-error", request: req }];
161
+ }
162
+ const response = doResult.value;
163
+
164
+ const responseFields = {
165
+ HttpMeta: { Response: response, Request: req },
166
+ };
167
+
168
+ const [result] = await M.match<
169
+ operations.ListResidualFeesResponse,
170
+ | MoovError
171
+ | ResponseValidationError
172
+ | ConnectionError
173
+ | RequestAbortedError
174
+ | RequestTimeoutError
175
+ | InvalidRequestError
176
+ | UnexpectedClientError
177
+ | SDKValidationError
178
+ >(
179
+ M.json(200, operations.ListResidualFeesResponse$inboundSchema, {
180
+ hdrs: true,
181
+ key: "Result",
182
+ }),
183
+ M.fail([401, 403, 429]),
184
+ M.fail([500, 504]),
185
+ M.fail("4XX"),
186
+ M.fail("5XX"),
187
+ )(response, req, { extraFields: responseFields });
188
+ if (!result.ok) {
189
+ return [result, { status: "complete", request: req, response }];
190
+ }
191
+
192
+ return [result, { status: "complete", request: req, response }];
193
+ }
@@ -0,0 +1,187 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { MoovCore } from "../core.js";
6
+ import { encodeFormQuery, encodeSimple } 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 {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { MoovError } from "../models/errors/mooverror.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
23
+ import * as operations from "../models/operations/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * List all residuals associated with an account.
29
+ *
30
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
31
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
32
+ */
33
+ export function feePlansListResiduals(
34
+ client: MoovCore,
35
+ request: operations.ListResidualsRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.ListResidualsResponse,
40
+ | MoovError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: MoovCore,
59
+ request: operations.ListResidualsRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.ListResidualsResponse,
65
+ | MoovError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) => operations.ListResidualsRequest$outboundSchema.parse(value),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed.ok) {
83
+ return [parsed, { status: "invalid" }];
84
+ }
85
+ const payload = parsed.value;
86
+ const body = null;
87
+
88
+ const pathParams = {
89
+ accountID: encodeSimple("accountID", payload.accountID, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ };
94
+
95
+ const path = pathToFunc("/accounts/{accountID}/residuals")(pathParams);
96
+
97
+ const query = encodeFormQuery({
98
+ "count": payload.count,
99
+ "endDateTime": payload.endDateTime,
100
+ "skip": payload.skip,
101
+ "startDateTime": payload.startDateTime,
102
+ }, { explode: false });
103
+
104
+ const headers = new Headers(compactMap({
105
+ Accept: "application/json",
106
+ "X-Moov-Version": encodeSimple(
107
+ "X-Moov-Version",
108
+ client._options.xMoovVersion,
109
+ { explode: false, charEncoding: "none" },
110
+ ),
111
+ }));
112
+
113
+ const securityInput = await extractSecurity(client._options.security);
114
+ const requestSecurity = resolveGlobalSecurity(securityInput);
115
+
116
+ const context = {
117
+ options: client._options,
118
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
119
+ operationID: "listResiduals",
120
+ oAuth2Scopes: null,
121
+
122
+ resolvedSecurity: requestSecurity,
123
+
124
+ securitySource: client._options.security,
125
+ retryConfig: options?.retries
126
+ || client._options.retryConfig
127
+ || { strategy: "none" },
128
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
129
+ };
130
+
131
+ const requestRes = client._createRequest(context, {
132
+ security: requestSecurity,
133
+ method: "GET",
134
+ baseURL: options?.serverURL,
135
+ path: path,
136
+ headers: headers,
137
+ query: query,
138
+ body: body,
139
+ userAgent: client._options.userAgent,
140
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
141
+ }, options);
142
+ if (!requestRes.ok) {
143
+ return [requestRes, { status: "invalid" }];
144
+ }
145
+ const req = requestRes.value;
146
+
147
+ const doResult = await client._do(req, {
148
+ context,
149
+ errorCodes: ["401", "403", "429", "4XX", "500", "504", "5XX"],
150
+ retryConfig: context.retryConfig,
151
+ retryCodes: context.retryCodes,
152
+ });
153
+ if (!doResult.ok) {
154
+ return [doResult, { status: "request-error", request: req }];
155
+ }
156
+ const response = doResult.value;
157
+
158
+ const responseFields = {
159
+ HttpMeta: { Response: response, Request: req },
160
+ };
161
+
162
+ const [result] = await M.match<
163
+ operations.ListResidualsResponse,
164
+ | MoovError
165
+ | ResponseValidationError
166
+ | ConnectionError
167
+ | RequestAbortedError
168
+ | RequestTimeoutError
169
+ | InvalidRequestError
170
+ | UnexpectedClientError
171
+ | SDKValidationError
172
+ >(
173
+ M.json(200, operations.ListResidualsResponse$inboundSchema, {
174
+ hdrs: true,
175
+ key: "Result",
176
+ }),
177
+ M.fail([401, 403, 429]),
178
+ M.fail([500, 504]),
179
+ M.fail("4XX"),
180
+ M.fail("5XX"),
181
+ )(response, req, { extraFields: responseFields });
182
+ if (!result.ok) {
183
+ return [result, { status: "complete", request: req, response }];
184
+ }
185
+
186
+ return [result, { status: "complete", request: req, response }];
187
+ }
package/src/lib/config.ts CHANGED
@@ -73,7 +73,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
73
73
  export const SDK_METADATA = {
74
74
  language: "typescript",
75
75
  openapiDocVersion: "latest",
76
- sdkVersion: "0.19.1",
77
- genVersion: "2.730.5",
78
- userAgent: "speakeasy-sdk/typescript 0.19.1 2.730.5 latest @moovio/sdk",
76
+ sdkVersion: "0.20.0",
77
+ genVersion: "2.735.1",
78
+ userAgent: "speakeasy-sdk/typescript 0.20.0 2.735.1 latest @moovio/sdk",
79
79
  } 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.19.1",
22
+ currentVersion: "0.20.0",
23
23
  },
24
24
  });
25
25
 
@@ -79,11 +79,14 @@ import { tool$endToEndEncryptionTestEncryptedToken } from "./tools/endToEndEncry
79
79
  import { tool$enrichedAddressGet } from "./tools/enrichedAddressGet.js";
80
80
  import { tool$enrichedProfileGet } from "./tools/enrichedProfileGet.js";
81
81
  import { tool$feePlansCreateFeePlanAgreements } from "./tools/feePlansCreateFeePlanAgreements.js";
82
+ import { tool$feePlansGetResidual } from "./tools/feePlansGetResidual.js";
82
83
  import { tool$feePlansListFeePlanAgreements } from "./tools/feePlansListFeePlanAgreements.js";
83
84
  import { tool$feePlansListFeePlans } from "./tools/feePlansListFeePlans.js";
84
85
  import { tool$feePlansListFeesFetch } from "./tools/feePlansListFeesFetch.js";
85
86
  import { tool$feePlansListPartnerPricing } from "./tools/feePlansListPartnerPricing.js";
86
87
  import { tool$feePlansListPartnerPricingAgreements } from "./tools/feePlansListPartnerPricingAgreements.js";
88
+ import { tool$feePlansListResidualFees } from "./tools/feePlansListResidualFees.js";
89
+ import { tool$feePlansListResiduals } from "./tools/feePlansListResiduals.js";
87
90
  import { tool$feePlansRetrieveFees } from "./tools/feePlansRetrieveFees.js";
88
91
  import { tool$filesGet } from "./tools/filesGet.js";
89
92
  import { tool$filesList } from "./tools/filesList.js";
@@ -184,7 +187,7 @@ export function createMCPServer(deps: {
184
187
  }) {
185
188
  const server = new McpServer({
186
189
  name: "Moov",
187
- version: "0.19.1",
190
+ version: "0.20.0",
188
191
  });
189
192
 
190
193
  const client = new MoovCore({
@@ -271,6 +274,9 @@ export function createMCPServer(deps: {
271
274
  tool(tool$feePlansListFeesFetch);
272
275
  tool(tool$feePlansListPartnerPricing);
273
276
  tool(tool$feePlansListPartnerPricingAgreements);
277
+ tool(tool$feePlansListResiduals);
278
+ tool(tool$feePlansGetResidual);
279
+ tool(tool$feePlansListResidualFees);
274
280
  tool(tool$filesUpload);
275
281
  tool(tool$filesList);
276
282
  tool(tool$filesGet);