@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
@@ -0,0 +1,245 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
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 * as components from "../components/index.js";
10
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
11
+
12
+ export type ListResidualFeesGlobals = {
13
+ /**
14
+ * Specify an API version.
15
+ *
16
+ * @remarks
17
+ *
18
+ * API versioning follows the format `vYYYY.QQ.BB`, where
19
+ * - `YYYY` is the year
20
+ * - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
21
+ * - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
22
+ * - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
23
+ *
24
+ * The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
25
+ */
26
+ xMoovVersion?: string | undefined;
27
+ };
28
+
29
+ export type ListResidualFeesRequest = {
30
+ skip?: number | undefined;
31
+ count?: number | undefined;
32
+ accountID: string;
33
+ residualID: string;
34
+ /**
35
+ * Optional date-time to inclusively filter all fees created after this date-time.
36
+ */
37
+ startDateTime?: string | undefined;
38
+ /**
39
+ * Optional date-time to exclusively filter all fees created before this date-time.
40
+ */
41
+ endDateTime?: string | undefined;
42
+ };
43
+
44
+ export type ListResidualFeesResponse = {
45
+ headers: { [k: string]: Array<string> };
46
+ result: Array<components.IncurredFee>;
47
+ };
48
+
49
+ /** @internal */
50
+ export const ListResidualFeesGlobals$inboundSchema: z.ZodType<
51
+ ListResidualFeesGlobals,
52
+ z.ZodTypeDef,
53
+ unknown
54
+ > = z.object({
55
+ "X-Moov-Version": z.string().default("v2024.01.00"),
56
+ }).transform((v) => {
57
+ return remap$(v, {
58
+ "X-Moov-Version": "xMoovVersion",
59
+ });
60
+ });
61
+
62
+ /** @internal */
63
+ export type ListResidualFeesGlobals$Outbound = {
64
+ "X-Moov-Version": string;
65
+ };
66
+
67
+ /** @internal */
68
+ export const ListResidualFeesGlobals$outboundSchema: z.ZodType<
69
+ ListResidualFeesGlobals$Outbound,
70
+ z.ZodTypeDef,
71
+ ListResidualFeesGlobals
72
+ > = z.object({
73
+ xMoovVersion: z.string().default("v2024.01.00"),
74
+ }).transform((v) => {
75
+ return remap$(v, {
76
+ xMoovVersion: "X-Moov-Version",
77
+ });
78
+ });
79
+
80
+ /**
81
+ * @internal
82
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
83
+ */
84
+ export namespace ListResidualFeesGlobals$ {
85
+ /** @deprecated use `ListResidualFeesGlobals$inboundSchema` instead. */
86
+ export const inboundSchema = ListResidualFeesGlobals$inboundSchema;
87
+ /** @deprecated use `ListResidualFeesGlobals$outboundSchema` instead. */
88
+ export const outboundSchema = ListResidualFeesGlobals$outboundSchema;
89
+ /** @deprecated use `ListResidualFeesGlobals$Outbound` instead. */
90
+ export type Outbound = ListResidualFeesGlobals$Outbound;
91
+ }
92
+
93
+ export function listResidualFeesGlobalsToJSON(
94
+ listResidualFeesGlobals: ListResidualFeesGlobals,
95
+ ): string {
96
+ return JSON.stringify(
97
+ ListResidualFeesGlobals$outboundSchema.parse(listResidualFeesGlobals),
98
+ );
99
+ }
100
+
101
+ export function listResidualFeesGlobalsFromJSON(
102
+ jsonString: string,
103
+ ): SafeParseResult<ListResidualFeesGlobals, SDKValidationError> {
104
+ return safeParse(
105
+ jsonString,
106
+ (x) => ListResidualFeesGlobals$inboundSchema.parse(JSON.parse(x)),
107
+ `Failed to parse 'ListResidualFeesGlobals' from JSON`,
108
+ );
109
+ }
110
+
111
+ /** @internal */
112
+ export const ListResidualFeesRequest$inboundSchema: z.ZodType<
113
+ ListResidualFeesRequest,
114
+ z.ZodTypeDef,
115
+ unknown
116
+ > = z.object({
117
+ skip: z.number().int().optional(),
118
+ count: z.number().int().optional(),
119
+ accountID: z.string(),
120
+ residualID: z.string(),
121
+ startDateTime: z.string().optional(),
122
+ endDateTime: z.string().optional(),
123
+ });
124
+
125
+ /** @internal */
126
+ export type ListResidualFeesRequest$Outbound = {
127
+ skip?: number | undefined;
128
+ count?: number | undefined;
129
+ accountID: string;
130
+ residualID: string;
131
+ startDateTime?: string | undefined;
132
+ endDateTime?: string | undefined;
133
+ };
134
+
135
+ /** @internal */
136
+ export const ListResidualFeesRequest$outboundSchema: z.ZodType<
137
+ ListResidualFeesRequest$Outbound,
138
+ z.ZodTypeDef,
139
+ ListResidualFeesRequest
140
+ > = z.object({
141
+ skip: z.number().int().optional(),
142
+ count: z.number().int().optional(),
143
+ accountID: z.string(),
144
+ residualID: z.string(),
145
+ startDateTime: z.string().optional(),
146
+ endDateTime: z.string().optional(),
147
+ });
148
+
149
+ /**
150
+ * @internal
151
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
152
+ */
153
+ export namespace ListResidualFeesRequest$ {
154
+ /** @deprecated use `ListResidualFeesRequest$inboundSchema` instead. */
155
+ export const inboundSchema = ListResidualFeesRequest$inboundSchema;
156
+ /** @deprecated use `ListResidualFeesRequest$outboundSchema` instead. */
157
+ export const outboundSchema = ListResidualFeesRequest$outboundSchema;
158
+ /** @deprecated use `ListResidualFeesRequest$Outbound` instead. */
159
+ export type Outbound = ListResidualFeesRequest$Outbound;
160
+ }
161
+
162
+ export function listResidualFeesRequestToJSON(
163
+ listResidualFeesRequest: ListResidualFeesRequest,
164
+ ): string {
165
+ return JSON.stringify(
166
+ ListResidualFeesRequest$outboundSchema.parse(listResidualFeesRequest),
167
+ );
168
+ }
169
+
170
+ export function listResidualFeesRequestFromJSON(
171
+ jsonString: string,
172
+ ): SafeParseResult<ListResidualFeesRequest, SDKValidationError> {
173
+ return safeParse(
174
+ jsonString,
175
+ (x) => ListResidualFeesRequest$inboundSchema.parse(JSON.parse(x)),
176
+ `Failed to parse 'ListResidualFeesRequest' from JSON`,
177
+ );
178
+ }
179
+
180
+ /** @internal */
181
+ export const ListResidualFeesResponse$inboundSchema: z.ZodType<
182
+ ListResidualFeesResponse,
183
+ z.ZodTypeDef,
184
+ unknown
185
+ > = z.object({
186
+ Headers: z.record(z.array(z.string())).default({}),
187
+ Result: z.array(components.IncurredFee$inboundSchema),
188
+ }).transform((v) => {
189
+ return remap$(v, {
190
+ "Headers": "headers",
191
+ "Result": "result",
192
+ });
193
+ });
194
+
195
+ /** @internal */
196
+ export type ListResidualFeesResponse$Outbound = {
197
+ Headers: { [k: string]: Array<string> };
198
+ Result: Array<components.IncurredFee$Outbound>;
199
+ };
200
+
201
+ /** @internal */
202
+ export const ListResidualFeesResponse$outboundSchema: z.ZodType<
203
+ ListResidualFeesResponse$Outbound,
204
+ z.ZodTypeDef,
205
+ ListResidualFeesResponse
206
+ > = z.object({
207
+ headers: z.record(z.array(z.string())),
208
+ result: z.array(components.IncurredFee$outboundSchema),
209
+ }).transform((v) => {
210
+ return remap$(v, {
211
+ headers: "Headers",
212
+ result: "Result",
213
+ });
214
+ });
215
+
216
+ /**
217
+ * @internal
218
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
219
+ */
220
+ export namespace ListResidualFeesResponse$ {
221
+ /** @deprecated use `ListResidualFeesResponse$inboundSchema` instead. */
222
+ export const inboundSchema = ListResidualFeesResponse$inboundSchema;
223
+ /** @deprecated use `ListResidualFeesResponse$outboundSchema` instead. */
224
+ export const outboundSchema = ListResidualFeesResponse$outboundSchema;
225
+ /** @deprecated use `ListResidualFeesResponse$Outbound` instead. */
226
+ export type Outbound = ListResidualFeesResponse$Outbound;
227
+ }
228
+
229
+ export function listResidualFeesResponseToJSON(
230
+ listResidualFeesResponse: ListResidualFeesResponse,
231
+ ): string {
232
+ return JSON.stringify(
233
+ ListResidualFeesResponse$outboundSchema.parse(listResidualFeesResponse),
234
+ );
235
+ }
236
+
237
+ export function listResidualFeesResponseFromJSON(
238
+ jsonString: string,
239
+ ): SafeParseResult<ListResidualFeesResponse, SDKValidationError> {
240
+ return safeParse(
241
+ jsonString,
242
+ (x) => ListResidualFeesResponse$inboundSchema.parse(JSON.parse(x)),
243
+ `Failed to parse 'ListResidualFeesResponse' from JSON`,
244
+ );
245
+ }
@@ -0,0 +1,241 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
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 * as components from "../components/index.js";
10
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
11
+
12
+ export type ListResidualsGlobals = {
13
+ /**
14
+ * Specify an API version.
15
+ *
16
+ * @remarks
17
+ *
18
+ * API versioning follows the format `vYYYY.QQ.BB`, where
19
+ * - `YYYY` is the year
20
+ * - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
21
+ * - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
22
+ * - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
23
+ *
24
+ * The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
25
+ */
26
+ xMoovVersion?: string | undefined;
27
+ };
28
+
29
+ export type ListResidualsRequest = {
30
+ skip?: number | undefined;
31
+ count?: number | undefined;
32
+ accountID: string;
33
+ /**
34
+ * Optional date-time to inclusively filter all residuals with a period start after this date-time.
35
+ */
36
+ startDateTime?: string | undefined;
37
+ /**
38
+ * Optional date-time to exclusively filter all residuals with a period end before this date-time.
39
+ */
40
+ endDateTime?: string | undefined;
41
+ };
42
+
43
+ export type ListResidualsResponse = {
44
+ headers: { [k: string]: Array<string> };
45
+ result: Array<components.Residual>;
46
+ };
47
+
48
+ /** @internal */
49
+ export const ListResidualsGlobals$inboundSchema: z.ZodType<
50
+ ListResidualsGlobals,
51
+ z.ZodTypeDef,
52
+ unknown
53
+ > = z.object({
54
+ "X-Moov-Version": z.string().default("v2024.01.00"),
55
+ }).transform((v) => {
56
+ return remap$(v, {
57
+ "X-Moov-Version": "xMoovVersion",
58
+ });
59
+ });
60
+
61
+ /** @internal */
62
+ export type ListResidualsGlobals$Outbound = {
63
+ "X-Moov-Version": string;
64
+ };
65
+
66
+ /** @internal */
67
+ export const ListResidualsGlobals$outboundSchema: z.ZodType<
68
+ ListResidualsGlobals$Outbound,
69
+ z.ZodTypeDef,
70
+ ListResidualsGlobals
71
+ > = z.object({
72
+ xMoovVersion: z.string().default("v2024.01.00"),
73
+ }).transform((v) => {
74
+ return remap$(v, {
75
+ xMoovVersion: "X-Moov-Version",
76
+ });
77
+ });
78
+
79
+ /**
80
+ * @internal
81
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
82
+ */
83
+ export namespace ListResidualsGlobals$ {
84
+ /** @deprecated use `ListResidualsGlobals$inboundSchema` instead. */
85
+ export const inboundSchema = ListResidualsGlobals$inboundSchema;
86
+ /** @deprecated use `ListResidualsGlobals$outboundSchema` instead. */
87
+ export const outboundSchema = ListResidualsGlobals$outboundSchema;
88
+ /** @deprecated use `ListResidualsGlobals$Outbound` instead. */
89
+ export type Outbound = ListResidualsGlobals$Outbound;
90
+ }
91
+
92
+ export function listResidualsGlobalsToJSON(
93
+ listResidualsGlobals: ListResidualsGlobals,
94
+ ): string {
95
+ return JSON.stringify(
96
+ ListResidualsGlobals$outboundSchema.parse(listResidualsGlobals),
97
+ );
98
+ }
99
+
100
+ export function listResidualsGlobalsFromJSON(
101
+ jsonString: string,
102
+ ): SafeParseResult<ListResidualsGlobals, SDKValidationError> {
103
+ return safeParse(
104
+ jsonString,
105
+ (x) => ListResidualsGlobals$inboundSchema.parse(JSON.parse(x)),
106
+ `Failed to parse 'ListResidualsGlobals' from JSON`,
107
+ );
108
+ }
109
+
110
+ /** @internal */
111
+ export const ListResidualsRequest$inboundSchema: z.ZodType<
112
+ ListResidualsRequest,
113
+ z.ZodTypeDef,
114
+ unknown
115
+ > = z.object({
116
+ skip: z.number().int().optional(),
117
+ count: z.number().int().optional(),
118
+ accountID: z.string(),
119
+ startDateTime: z.string().optional(),
120
+ endDateTime: z.string().optional(),
121
+ });
122
+
123
+ /** @internal */
124
+ export type ListResidualsRequest$Outbound = {
125
+ skip?: number | undefined;
126
+ count?: number | undefined;
127
+ accountID: string;
128
+ startDateTime?: string | undefined;
129
+ endDateTime?: string | undefined;
130
+ };
131
+
132
+ /** @internal */
133
+ export const ListResidualsRequest$outboundSchema: z.ZodType<
134
+ ListResidualsRequest$Outbound,
135
+ z.ZodTypeDef,
136
+ ListResidualsRequest
137
+ > = z.object({
138
+ skip: z.number().int().optional(),
139
+ count: z.number().int().optional(),
140
+ accountID: z.string(),
141
+ startDateTime: z.string().optional(),
142
+ endDateTime: z.string().optional(),
143
+ });
144
+
145
+ /**
146
+ * @internal
147
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
148
+ */
149
+ export namespace ListResidualsRequest$ {
150
+ /** @deprecated use `ListResidualsRequest$inboundSchema` instead. */
151
+ export const inboundSchema = ListResidualsRequest$inboundSchema;
152
+ /** @deprecated use `ListResidualsRequest$outboundSchema` instead. */
153
+ export const outboundSchema = ListResidualsRequest$outboundSchema;
154
+ /** @deprecated use `ListResidualsRequest$Outbound` instead. */
155
+ export type Outbound = ListResidualsRequest$Outbound;
156
+ }
157
+
158
+ export function listResidualsRequestToJSON(
159
+ listResidualsRequest: ListResidualsRequest,
160
+ ): string {
161
+ return JSON.stringify(
162
+ ListResidualsRequest$outboundSchema.parse(listResidualsRequest),
163
+ );
164
+ }
165
+
166
+ export function listResidualsRequestFromJSON(
167
+ jsonString: string,
168
+ ): SafeParseResult<ListResidualsRequest, SDKValidationError> {
169
+ return safeParse(
170
+ jsonString,
171
+ (x) => ListResidualsRequest$inboundSchema.parse(JSON.parse(x)),
172
+ `Failed to parse 'ListResidualsRequest' from JSON`,
173
+ );
174
+ }
175
+
176
+ /** @internal */
177
+ export const ListResidualsResponse$inboundSchema: z.ZodType<
178
+ ListResidualsResponse,
179
+ z.ZodTypeDef,
180
+ unknown
181
+ > = z.object({
182
+ Headers: z.record(z.array(z.string())).default({}),
183
+ Result: z.array(components.Residual$inboundSchema),
184
+ }).transform((v) => {
185
+ return remap$(v, {
186
+ "Headers": "headers",
187
+ "Result": "result",
188
+ });
189
+ });
190
+
191
+ /** @internal */
192
+ export type ListResidualsResponse$Outbound = {
193
+ Headers: { [k: string]: Array<string> };
194
+ Result: Array<components.Residual$Outbound>;
195
+ };
196
+
197
+ /** @internal */
198
+ export const ListResidualsResponse$outboundSchema: z.ZodType<
199
+ ListResidualsResponse$Outbound,
200
+ z.ZodTypeDef,
201
+ ListResidualsResponse
202
+ > = z.object({
203
+ headers: z.record(z.array(z.string())),
204
+ result: z.array(components.Residual$outboundSchema),
205
+ }).transform((v) => {
206
+ return remap$(v, {
207
+ headers: "Headers",
208
+ result: "Result",
209
+ });
210
+ });
211
+
212
+ /**
213
+ * @internal
214
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
215
+ */
216
+ export namespace ListResidualsResponse$ {
217
+ /** @deprecated use `ListResidualsResponse$inboundSchema` instead. */
218
+ export const inboundSchema = ListResidualsResponse$inboundSchema;
219
+ /** @deprecated use `ListResidualsResponse$outboundSchema` instead. */
220
+ export const outboundSchema = ListResidualsResponse$outboundSchema;
221
+ /** @deprecated use `ListResidualsResponse$Outbound` instead. */
222
+ export type Outbound = ListResidualsResponse$Outbound;
223
+ }
224
+
225
+ export function listResidualsResponseToJSON(
226
+ listResidualsResponse: ListResidualsResponse,
227
+ ): string {
228
+ return JSON.stringify(
229
+ ListResidualsResponse$outboundSchema.parse(listResidualsResponse),
230
+ );
231
+ }
232
+
233
+ export function listResidualsResponseFromJSON(
234
+ jsonString: string,
235
+ ): SafeParseResult<ListResidualsResponse, SDKValidationError> {
236
+ return safeParse(
237
+ jsonString,
238
+ (x) => ListResidualsResponse$inboundSchema.parse(JSON.parse(x)),
239
+ `Failed to parse 'ListResidualsResponse' from JSON`,
240
+ );
241
+ }
@@ -3,11 +3,14 @@
3
3
  */
4
4
 
5
5
  import { feePlansCreateFeePlanAgreements } from "../funcs/feePlansCreateFeePlanAgreements.js";
6
+ import { feePlansGetResidual } from "../funcs/feePlansGetResidual.js";
6
7
  import { feePlansListFeePlanAgreements } from "../funcs/feePlansListFeePlanAgreements.js";
7
8
  import { feePlansListFeePlans } from "../funcs/feePlansListFeePlans.js";
8
9
  import { feePlansListFeesFetch } from "../funcs/feePlansListFeesFetch.js";
9
10
  import { feePlansListPartnerPricing } from "../funcs/feePlansListPartnerPricing.js";
10
11
  import { feePlansListPartnerPricingAgreements } from "../funcs/feePlansListPartnerPricingAgreements.js";
12
+ import { feePlansListResidualFees } from "../funcs/feePlansListResidualFees.js";
13
+ import { feePlansListResiduals } from "../funcs/feePlansListResiduals.js";
11
14
  import { feePlansRetrieveFees } from "../funcs/feePlansRetrieveFees.js";
12
15
  import { ClientSDK, RequestOptions } from "../lib/sdks.js";
13
16
  import * as operations from "../models/operations/index.js";
@@ -133,4 +136,55 @@ export class FeePlans extends ClientSDK {
133
136
  options,
134
137
  ));
135
138
  }
139
+
140
+ /**
141
+ * List all residuals associated with an account.
142
+ *
143
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
144
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
145
+ */
146
+ async listResiduals(
147
+ request: operations.ListResidualsRequest,
148
+ options?: RequestOptions,
149
+ ): Promise<operations.ListResidualsResponse> {
150
+ return unwrapAsync(feePlansListResiduals(
151
+ this,
152
+ request,
153
+ options,
154
+ ));
155
+ }
156
+
157
+ /**
158
+ * Get a residual associated with an account.
159
+ *
160
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
161
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
162
+ */
163
+ async getResidual(
164
+ request: operations.GetResidualRequest,
165
+ options?: RequestOptions,
166
+ ): Promise<operations.GetResidualResponse> {
167
+ return unwrapAsync(feePlansGetResidual(
168
+ this,
169
+ request,
170
+ options,
171
+ ));
172
+ }
173
+
174
+ /**
175
+ * List all fees associated with a residual.
176
+ *
177
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
178
+ * you'll need to specify the `/accounts/{accountID}/profile.read` scope.
179
+ */
180
+ async listResidualFees(
181
+ request: operations.ListResidualFeesRequest,
182
+ options?: RequestOptions,
183
+ ): Promise<operations.ListResidualFeesResponse> {
184
+ return unwrapAsync(feePlansListResidualFees(
185
+ this,
186
+ request,
187
+ options,
188
+ ));
189
+ }
136
190
  }
@@ -28,7 +28,7 @@ describe("Accounts", () => {
28
28
  test("should fail if the account type is not supported", async () => {
29
29
  await expect(() =>
30
30
  createAccount({
31
- accountType: "not-a-valid-account-type" as AccountType,
31
+ accountType: "not-a-valid-account-type" as "business" | "individual",
32
32
  }),
33
33
  ).toThrowError();
34
34
  });
@@ -102,7 +102,7 @@ describe("Accounts", () => {
102
102
  const legalBusinessName = chance.company();
103
103
  const { result } = await moov.accounts.update({
104
104
  accountID: account.accountID,
105
- createAccountUpdate: { profile: { business: { legalBusinessName } } },
105
+ patchAccount: { profile: { business: { legalBusinessName } } },
106
106
  });
107
107
  expect(result).toBeDefined();
108
108
  expect(result.accountID).toEqual(account.accountID);
@@ -102,9 +102,7 @@ describe("Bank Accounts", () => {
102
102
  accountID,
103
103
  bankAccountID: bankAccount.bankAccountID!,
104
104
  }),
105
- ).toThrowError(
106
- expect.objectContaining({ error: "unacceptable bank account status verified for verification" }),
107
- );
105
+ ).toThrowError(/found existing active verification/i);
108
106
  });
109
107
  test("should be able to get the bank account verification status", async () => {
110
108
  const { result } = await moov.bankAccounts.initiateVerification({
@@ -151,11 +149,7 @@ describe("Bank Accounts", () => {
151
149
  accountID,
152
150
  bankAccountID: bankAccount.bankAccountID!,
153
151
  }),
154
- ).toThrowError(
155
- expect.objectContaining({
156
- error: "unexpected account status: expected 'new' or 'verificationFailed', found 'verified'",
157
- }),
158
- );
152
+ ).toThrowError(/unexpected account status: expected 'new' or 'verificationFailed'/i);
159
153
  });
160
154
  });
161
155
  });
@@ -27,7 +27,7 @@ describe("Capabilities", () => {
27
27
  moov.capabilities.list({
28
28
  accountID: "not-a-valid-account-id",
29
29
  }),
30
- ).toThrowError("API error occurred: Status 403 Content-Type Body ");
30
+ ).toThrowError(/API error occurred: Status 403/);
31
31
  });
32
32
  });
33
33
 
@@ -79,7 +79,7 @@ describe("Capabilities", () => {
79
79
  accountID: "not-a-valid-account-id",
80
80
  capabilityID: "transfers",
81
81
  }),
82
- ).toThrowError("API error occurred: Status 403 Content-Type Body ");
82
+ ).toThrowError(/API error occurred: Status 403/i);
83
83
  });
84
84
 
85
85
  test("getting a capability should fail if the capability does not exist", async () => {
@@ -113,7 +113,7 @@ describe("Capabilities", () => {
113
113
  capabilities: ["transfers"],
114
114
  },
115
115
  }),
116
- ).toThrowError("API error occurred: Status 403 Content-Type Body ");
116
+ ).toThrowError(/API error occurred: Status 403/i);
117
117
  });
118
118
 
119
119
  test("requesting capabilities should fail if the capability is invalid", async () => {
@@ -90,7 +90,7 @@ describe("Cards", () => {
90
90
 
91
91
  test("Getting a card should fail when I pass incorrect params", async () => {
92
92
  expect(async () => await moov.cards.get({ accountID, cardID: "invalid-card-id" })).toThrowError(
93
- "API error occurred: Status 404 Content-Type Body",
93
+ /API error occurred: Status 404/,
94
94
  );
95
95
  });
96
96
 
@@ -109,7 +109,7 @@ describe("Cards", () => {
109
109
 
110
110
  test("listing should fail when I pass incorrect params", async () => {
111
111
  expect(async () => await moov.cards.list({ accountID: "invalid-account-id" })).toThrowError(
112
- "API error occurred: Status 403 Content-Type Body ",
112
+ /API error occurred: Status 403/,
113
113
  );
114
114
  });
115
115
  });
@@ -145,7 +145,7 @@ describe("Cards", () => {
145
145
  },
146
146
  },
147
147
  }),
148
- ).toThrowError('API error occurred: {"expiration":"year: the length must be exactly 2."}');
148
+ ).toThrowError(/API error occurred:.*\"expiration\":\"year: the length must be exactly 2.\"/i);
149
149
  });
150
150
  });
151
151
 
@@ -160,7 +160,7 @@ describe("Cards", () => {
160
160
 
161
161
  test("disabling should fail when I pass incorrect params", async () => {
162
162
  expect(async () => await moov.cards.disable({ accountID, cardID: "invalid-card-id" })).toThrowError(
163
- "API error occurred: Status 404 Content-Type Body",
163
+ /API error occurred: Status 404/i,
164
164
  );
165
165
  });
166
166
  });
@@ -26,7 +26,7 @@ describe("PaymentMethods", () => {
26
26
  });
27
27
  test("listing should fail if accountID is not provided", async () => {
28
28
  expect(() => moov.paymentMethods.list({ accountID: "" })).toThrowError(
29
- "API error occurred: Status 403 Content-Type Body",
29
+ /API error occurred: Status 403/i,
30
30
  );
31
31
  });
32
32
  });
@@ -43,12 +43,12 @@ describe("PaymentMethods", () => {
43
43
  });
44
44
  test("getting should fail if accountID and paymentMethodID are not correct", async () => {
45
45
  expect(() => moov.paymentMethods.get({ accountID: "@#$@#$@$", paymentMethodID: "@#$@#$@#$@" })).toThrowError(
46
- "API error occurred: Status 403 Content-Type Body",
46
+ /API error occurred: Status 403/i,
47
47
  );
48
48
  });
49
49
  test("getting should fail if paymentMethodID is not provided", async () => {
50
50
  expect(() => moov.paymentMethods.get({ accountID: accountID, paymentMethodID: "" })).toThrowError(
51
- "API error occurred: Status 403 Content-Type Body",
51
+ /API error occurred: Status 403/i,
52
52
  );
53
53
  });
54
54
  });