ce-storefront 0.8.2 → 0.9.1

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 (189) hide show
  1. package/README.md +53 -0
  2. package/bin/mcp-server.js +1765 -177
  3. package/bin/mcp-server.js.map +43 -13
  4. package/docs/sdks/auth/README.md +10 -10
  5. package/docs/sdks/carts/README.md +10 -0
  6. package/docs/sdks/customers/README.md +20 -20
  7. package/docs/sdks/kyc/README.md +566 -0
  8. package/esm/funcs/authGetAnonymousToken.js +1 -1
  9. package/esm/funcs/authGetAnonymousToken.js.map +1 -1
  10. package/esm/funcs/kycCreateDocument.d.ts +17 -0
  11. package/esm/funcs/kycCreateDocument.d.ts.map +1 -0
  12. package/esm/funcs/kycCreateDocument.js +110 -0
  13. package/esm/funcs/kycCreateDocument.js.map +1 -0
  14. package/esm/funcs/kycDeleteDocument.d.ts +17 -0
  15. package/esm/funcs/kycDeleteDocument.d.ts.map +1 -0
  16. package/esm/funcs/kycDeleteDocument.js +89 -0
  17. package/esm/funcs/kycDeleteDocument.js.map +1 -0
  18. package/esm/funcs/kycGetDocument.d.ts +17 -0
  19. package/esm/funcs/kycGetDocument.d.ts.map +1 -0
  20. package/esm/funcs/kycGetDocument.js +89 -0
  21. package/esm/funcs/kycGetDocument.js.map +1 -0
  22. package/esm/funcs/kycListDocuments.d.ts +17 -0
  23. package/esm/funcs/kycListDocuments.d.ts.map +1 -0
  24. package/esm/funcs/kycListDocuments.js +85 -0
  25. package/esm/funcs/kycListDocuments.js.map +1 -0
  26. package/esm/funcs/kycListKycDocument.d.ts +17 -0
  27. package/esm/funcs/kycListKycDocument.d.ts.map +1 -0
  28. package/esm/funcs/kycListKycDocument.js +70 -0
  29. package/esm/funcs/kycListKycDocument.js.map +1 -0
  30. package/esm/funcs/kycUpdateDocument.d.ts +17 -0
  31. package/esm/funcs/kycUpdateDocument.d.ts.map +1 -0
  32. package/esm/funcs/kycUpdateDocument.js +115 -0
  33. package/esm/funcs/kycUpdateDocument.js.map +1 -0
  34. package/esm/funcs/kycVerifyDocument.d.ts +17 -0
  35. package/esm/funcs/kycVerifyDocument.d.ts.map +1 -0
  36. package/esm/funcs/kycVerifyDocument.js +86 -0
  37. package/esm/funcs/kycVerifyDocument.js.map +1 -0
  38. package/esm/lib/config.d.ts +4 -4
  39. package/esm/lib/config.js +4 -4
  40. package/esm/lib/config.js.map +1 -1
  41. package/esm/mcp-server/mcp-server.js +1 -1
  42. package/esm/mcp-server/prompts.d.ts.map +1 -1
  43. package/esm/mcp-server/prompts.js +5 -1
  44. package/esm/mcp-server/prompts.js.map +1 -1
  45. package/esm/mcp-server/resources.d.ts.map +1 -1
  46. package/esm/mcp-server/resources.js +10 -2
  47. package/esm/mcp-server/resources.js.map +1 -1
  48. package/esm/mcp-server/server.d.ts.map +1 -1
  49. package/esm/mcp-server/server.js +16 -3
  50. package/esm/mcp-server/server.js.map +1 -1
  51. package/esm/mcp-server/tools/kycCreateDocument.d.ts +8 -0
  52. package/esm/mcp-server/tools/kycCreateDocument.d.ts.map +1 -0
  53. package/esm/mcp-server/tools/kycCreateDocument.js +28 -0
  54. package/esm/mcp-server/tools/kycCreateDocument.js.map +1 -0
  55. package/esm/mcp-server/tools/kycDeleteDocument.d.ts +8 -0
  56. package/esm/mcp-server/tools/kycDeleteDocument.d.ts.map +1 -0
  57. package/esm/mcp-server/tools/kycDeleteDocument.js +28 -0
  58. package/esm/mcp-server/tools/kycDeleteDocument.js.map +1 -0
  59. package/esm/mcp-server/tools/kycGetDocument.d.ts +8 -0
  60. package/esm/mcp-server/tools/kycGetDocument.d.ts.map +1 -0
  61. package/esm/mcp-server/tools/kycGetDocument.js +28 -0
  62. package/esm/mcp-server/tools/kycGetDocument.js.map +1 -0
  63. package/esm/mcp-server/tools/kycListDocuments.d.ts +8 -0
  64. package/esm/mcp-server/tools/kycListDocuments.d.ts.map +1 -0
  65. package/esm/mcp-server/tools/kycListDocuments.js +28 -0
  66. package/esm/mcp-server/tools/kycListDocuments.js.map +1 -0
  67. package/esm/mcp-server/tools/kycListKycDocument.d.ts +3 -0
  68. package/esm/mcp-server/tools/kycListKycDocument.d.ts.map +1 -0
  69. package/esm/mcp-server/tools/kycListKycDocument.js +23 -0
  70. package/esm/mcp-server/tools/kycListKycDocument.js.map +1 -0
  71. package/esm/mcp-server/tools/kycUpdateDocument.d.ts +8 -0
  72. package/esm/mcp-server/tools/kycUpdateDocument.d.ts.map +1 -0
  73. package/esm/mcp-server/tools/kycUpdateDocument.js +28 -0
  74. package/esm/mcp-server/tools/kycUpdateDocument.js.map +1 -0
  75. package/esm/mcp-server/tools/kycVerifyDocument.d.ts +8 -0
  76. package/esm/mcp-server/tools/kycVerifyDocument.d.ts.map +1 -0
  77. package/esm/mcp-server/tools/kycVerifyDocument.js +28 -0
  78. package/esm/mcp-server/tools/kycVerifyDocument.js.map +1 -0
  79. package/esm/mcp-server/tools.d.ts.map +1 -1
  80. package/esm/mcp-server/tools.js +4 -3
  81. package/esm/mcp-server/tools.js.map +1 -1
  82. package/esm/models/components/document.d.ts +164 -0
  83. package/esm/models/components/document.d.ts.map +1 -0
  84. package/esm/models/components/document.js +172 -0
  85. package/esm/models/components/document.js.map +1 -0
  86. package/esm/models/components/documentinput.d.ts +65 -0
  87. package/esm/models/components/documentinput.d.ts.map +1 -0
  88. package/esm/models/components/documentinput.js +87 -0
  89. package/esm/models/components/documentinput.js.map +1 -0
  90. package/esm/models/components/gstindetail.d.ts +29 -0
  91. package/esm/models/components/gstindetail.d.ts.map +1 -0
  92. package/esm/models/components/gstindetail.js +31 -0
  93. package/esm/models/components/gstindetail.js.map +1 -0
  94. package/esm/models/components/index.d.ts +6 -0
  95. package/esm/models/components/index.d.ts.map +1 -1
  96. package/esm/models/components/index.js +6 -0
  97. package/esm/models/components/index.js.map +1 -1
  98. package/esm/models/components/kycdocument.d.ts +103 -0
  99. package/esm/models/components/kycdocument.d.ts.map +1 -0
  100. package/esm/models/components/kycdocument.js +101 -0
  101. package/esm/models/components/kycdocument.js.map +1 -0
  102. package/esm/models/components/pandetail.d.ts +29 -0
  103. package/esm/models/components/pandetail.d.ts.map +1 -0
  104. package/esm/models/components/pandetail.js +31 -0
  105. package/esm/models/components/pandetail.js.map +1 -0
  106. package/esm/models/components/updatedocument.d.ts +67 -0
  107. package/esm/models/components/updatedocument.d.ts.map +1 -0
  108. package/esm/models/components/updatedocument.js +91 -0
  109. package/esm/models/components/updatedocument.js.map +1 -0
  110. package/esm/models/operations/createdocument.d.ts +92 -0
  111. package/esm/models/operations/createdocument.d.ts.map +1 -0
  112. package/esm/models/operations/createdocument.js +97 -0
  113. package/esm/models/operations/createdocument.js.map +1 -0
  114. package/esm/models/operations/deletedocument.d.ts +67 -0
  115. package/esm/models/operations/deletedocument.d.ts.map +1 -0
  116. package/esm/models/operations/deletedocument.js +69 -0
  117. package/esm/models/operations/deletedocument.js.map +1 -0
  118. package/esm/models/operations/getdocument.d.ts +95 -0
  119. package/esm/models/operations/getdocument.d.ts.map +1 -0
  120. package/esm/models/operations/getdocument.js +97 -0
  121. package/esm/models/operations/getdocument.js.map +1 -0
  122. package/esm/models/operations/index.d.ts +7 -0
  123. package/esm/models/operations/index.d.ts.map +1 -1
  124. package/esm/models/operations/index.js +7 -0
  125. package/esm/models/operations/index.js.map +1 -1
  126. package/esm/models/operations/listdocuments.d.ts +90 -0
  127. package/esm/models/operations/listdocuments.d.ts.map +1 -0
  128. package/esm/models/operations/listdocuments.js +86 -0
  129. package/esm/models/operations/listdocuments.js.map +1 -0
  130. package/esm/models/operations/listkycdocument.d.ts +64 -0
  131. package/esm/models/operations/listkycdocument.d.ts.map +1 -0
  132. package/esm/models/operations/listkycdocument.js +74 -0
  133. package/esm/models/operations/listkycdocument.js.map +1 -0
  134. package/esm/models/operations/updatedocument.d.ts +97 -0
  135. package/esm/models/operations/updatedocument.d.ts.map +1 -0
  136. package/esm/models/operations/updatedocument.js +101 -0
  137. package/esm/models/operations/updatedocument.js.map +1 -0
  138. package/esm/models/operations/verifydocument.d.ts +140 -0
  139. package/esm/models/operations/verifydocument.d.ts.map +1 -0
  140. package/esm/models/operations/verifydocument.js +168 -0
  141. package/esm/models/operations/verifydocument.js.map +1 -0
  142. package/esm/sdk/kyc.d.ts +54 -0
  143. package/esm/sdk/kyc.d.ts.map +1 -0
  144. package/esm/sdk/kyc.js +78 -0
  145. package/esm/sdk/kyc.js.map +1 -0
  146. package/esm/sdk/sdk.d.ts +3 -0
  147. package/esm/sdk/sdk.d.ts.map +1 -1
  148. package/esm/sdk/sdk.js +4 -0
  149. package/esm/sdk/sdk.js.map +1 -1
  150. package/jsr.json +1 -1
  151. package/package.json +1 -1
  152. package/src/funcs/authGetAnonymousToken.ts +1 -1
  153. package/src/funcs/kycCreateDocument.ts +207 -0
  154. package/src/funcs/kycDeleteDocument.ts +183 -0
  155. package/src/funcs/kycGetDocument.ts +183 -0
  156. package/src/funcs/kycListDocuments.ts +177 -0
  157. package/src/funcs/kycListKycDocument.ts +153 -0
  158. package/src/funcs/kycUpdateDocument.ts +214 -0
  159. package/src/funcs/kycVerifyDocument.ts +170 -0
  160. package/src/lib/config.ts +4 -4
  161. package/src/mcp-server/mcp-server.ts +1 -1
  162. package/src/mcp-server/prompts.ts +8 -1
  163. package/src/mcp-server/resources.ts +16 -2
  164. package/src/mcp-server/server.ts +17 -3
  165. package/src/mcp-server/tools/kycCreateDocument.ts +37 -0
  166. package/src/mcp-server/tools/kycDeleteDocument.ts +37 -0
  167. package/src/mcp-server/tools/kycGetDocument.ts +37 -0
  168. package/src/mcp-server/tools/kycListDocuments.ts +37 -0
  169. package/src/mcp-server/tools/kycListKycDocument.ts +30 -0
  170. package/src/mcp-server/tools/kycUpdateDocument.ts +37 -0
  171. package/src/mcp-server/tools/kycVerifyDocument.ts +37 -0
  172. package/src/mcp-server/tools.ts +6 -3
  173. package/src/models/components/document.ts +260 -0
  174. package/src/models/components/documentinput.ts +154 -0
  175. package/src/models/components/gstindetail.ts +62 -0
  176. package/src/models/components/index.ts +6 -0
  177. package/src/models/components/kycdocument.ts +161 -0
  178. package/src/models/components/pandetail.ts +62 -0
  179. package/src/models/components/updatedocument.ts +168 -0
  180. package/src/models/operations/createdocument.ts +210 -0
  181. package/src/models/operations/deletedocument.ts +150 -0
  182. package/src/models/operations/getdocument.ts +213 -0
  183. package/src/models/operations/index.ts +7 -0
  184. package/src/models/operations/listdocuments.ts +197 -0
  185. package/src/models/operations/listkycdocument.ts +153 -0
  186. package/src/models/operations/updatedocument.ts +219 -0
  187. package/src/models/operations/verifydocument.ts +346 -0
  188. package/src/sdk/kyc.ts +133 -0
  189. package/src/sdk/sdk.ts +6 -0
@@ -0,0 +1,177 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { CeStorefrontCore } 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 { CeError } from "../models/errors/ceerror.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import * as errors from "../models/errors/index.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 documents
29
+ *
30
+ * @remarks
31
+ * List all documents added by a particular customer.
32
+ */
33
+ export function kycListDocuments(
34
+ client: CeStorefrontCore,
35
+ request: operations.ListDocumentsRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.ListDocumentsResponseBody,
40
+ | errors.BadRequest
41
+ | errors.Unauthorized
42
+ | errors.NotFound
43
+ | CeError
44
+ | SDKValidationError
45
+ | UnexpectedClientError
46
+ | InvalidRequestError
47
+ | RequestAbortedError
48
+ | RequestTimeoutError
49
+ | ConnectionError
50
+ >
51
+ > {
52
+ return new APIPromise($do(
53
+ client,
54
+ request,
55
+ options,
56
+ ));
57
+ }
58
+
59
+ async function $do(
60
+ client: CeStorefrontCore,
61
+ request: operations.ListDocumentsRequest,
62
+ options?: RequestOptions,
63
+ ): Promise<
64
+ [
65
+ Result<
66
+ operations.ListDocumentsResponseBody,
67
+ | errors.BadRequest
68
+ | errors.Unauthorized
69
+ | errors.NotFound
70
+ | CeError
71
+ | SDKValidationError
72
+ | UnexpectedClientError
73
+ | InvalidRequestError
74
+ | RequestAbortedError
75
+ | RequestTimeoutError
76
+ | ConnectionError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const parsed = safeParse(
82
+ request,
83
+ (value) => operations.ListDocumentsRequest$outboundSchema.parse(value),
84
+ "Input validation failed",
85
+ );
86
+ if (!parsed.ok) {
87
+ return [parsed, { status: "invalid" }];
88
+ }
89
+ const payload = parsed.value;
90
+ const body = null;
91
+
92
+ const pathParams = {
93
+ id: encodeSimple("id", payload.id, {
94
+ explode: false,
95
+ charEncoding: "percent",
96
+ }),
97
+ };
98
+
99
+ const path = pathToFunc("/customers/{id}/documents")(pathParams);
100
+
101
+ const headers = new Headers(compactMap({
102
+ Accept: "application/json",
103
+ }));
104
+
105
+ const secConfig = await extractSecurity(client._options.authorization);
106
+ const securityInput = secConfig == null ? {} : { authorization: secConfig };
107
+ const requestSecurity = resolveGlobalSecurity(securityInput);
108
+
109
+ const context = {
110
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
111
+ operationID: "list-documents",
112
+ oAuth2Scopes: [],
113
+
114
+ resolvedSecurity: requestSecurity,
115
+
116
+ securitySource: client._options.authorization,
117
+ retryConfig: options?.retries
118
+ || client._options.retryConfig
119
+ || { strategy: "none" },
120
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
121
+ };
122
+
123
+ const requestRes = client._createRequest(context, {
124
+ security: requestSecurity,
125
+ method: "GET",
126
+ baseURL: options?.serverURL,
127
+ path: path,
128
+ headers: headers,
129
+ body: body,
130
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
131
+ }, options);
132
+ if (!requestRes.ok) {
133
+ return [requestRes, { status: "invalid" }];
134
+ }
135
+ const req = requestRes.value;
136
+
137
+ const doResult = await client._do(req, {
138
+ context,
139
+ errorCodes: ["400", "401", "404", "4XX", "5XX"],
140
+ retryConfig: context.retryConfig,
141
+ retryCodes: context.retryCodes,
142
+ });
143
+ if (!doResult.ok) {
144
+ return [doResult, { status: "request-error", request: req }];
145
+ }
146
+ const response = doResult.value;
147
+
148
+ const responseFields = {
149
+ HttpMeta: { Response: response, Request: req },
150
+ };
151
+
152
+ const [result] = await M.match<
153
+ operations.ListDocumentsResponseBody,
154
+ | errors.BadRequest
155
+ | errors.Unauthorized
156
+ | errors.NotFound
157
+ | CeError
158
+ | SDKValidationError
159
+ | UnexpectedClientError
160
+ | InvalidRequestError
161
+ | RequestAbortedError
162
+ | RequestTimeoutError
163
+ | ConnectionError
164
+ >(
165
+ M.json(200, operations.ListDocumentsResponseBody$inboundSchema),
166
+ M.jsonErr(400, errors.BadRequest$inboundSchema),
167
+ M.jsonErr(401, errors.Unauthorized$inboundSchema),
168
+ M.jsonErr(404, errors.NotFound$inboundSchema),
169
+ M.fail("4XX"),
170
+ M.fail("5XX"),
171
+ )(response, { extraFields: responseFields });
172
+ if (!result.ok) {
173
+ return [result, { status: "complete", request: req, response }];
174
+ }
175
+
176
+ return [result, { status: "complete", request: req, response }];
177
+ }
@@ -0,0 +1,153 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { CeStorefrontCore } from "../core.js";
6
+ import * as M from "../lib/matchers.js";
7
+ import { compactMap } from "../lib/primitives.js";
8
+ import { RequestOptions } from "../lib/sdks.js";
9
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
10
+ import { pathToFunc } from "../lib/url.js";
11
+ import { CeError } from "../models/errors/ceerror.js";
12
+ import {
13
+ ConnectionError,
14
+ InvalidRequestError,
15
+ RequestAbortedError,
16
+ RequestTimeoutError,
17
+ UnexpectedClientError,
18
+ } from "../models/errors/httpclienterrors.js";
19
+ import * as errors from "../models/errors/index.js";
20
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
21
+ import * as operations from "../models/operations/index.js";
22
+ import { APICall, APIPromise } from "../types/async.js";
23
+ import { Result } from "../types/fp.js";
24
+
25
+ /**
26
+ * List all kyc documents
27
+ *
28
+ * @remarks
29
+ * List all kyc documents added for a particular store.
30
+ */
31
+ export function kycListKycDocument(
32
+ client: CeStorefrontCore,
33
+ options?: RequestOptions,
34
+ ): APIPromise<
35
+ Result<
36
+ operations.ListKycDocumentResponseBody,
37
+ | errors.BadRequest
38
+ | errors.Unauthorized
39
+ | errors.NotFound
40
+ | CeError
41
+ | SDKValidationError
42
+ | UnexpectedClientError
43
+ | InvalidRequestError
44
+ | RequestAbortedError
45
+ | RequestTimeoutError
46
+ | ConnectionError
47
+ >
48
+ > {
49
+ return new APIPromise($do(
50
+ client,
51
+ options,
52
+ ));
53
+ }
54
+
55
+ async function $do(
56
+ client: CeStorefrontCore,
57
+ options?: RequestOptions,
58
+ ): Promise<
59
+ [
60
+ Result<
61
+ operations.ListKycDocumentResponseBody,
62
+ | errors.BadRequest
63
+ | errors.Unauthorized
64
+ | errors.NotFound
65
+ | CeError
66
+ | SDKValidationError
67
+ | UnexpectedClientError
68
+ | InvalidRequestError
69
+ | RequestAbortedError
70
+ | RequestTimeoutError
71
+ | ConnectionError
72
+ >,
73
+ APICall,
74
+ ]
75
+ > {
76
+ const path = pathToFunc("/store/kyc-document")();
77
+
78
+ const headers = new Headers(compactMap({
79
+ Accept: "application/json",
80
+ }));
81
+
82
+ const secConfig = await extractSecurity(client._options.authorization);
83
+ const securityInput = secConfig == null ? {} : { authorization: secConfig };
84
+ const requestSecurity = resolveGlobalSecurity(securityInput);
85
+
86
+ const context = {
87
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
88
+ operationID: "list-kyc-document",
89
+ oAuth2Scopes: [],
90
+
91
+ resolvedSecurity: requestSecurity,
92
+
93
+ securitySource: client._options.authorization,
94
+ retryConfig: options?.retries
95
+ || client._options.retryConfig
96
+ || { strategy: "none" },
97
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
98
+ };
99
+
100
+ const requestRes = client._createRequest(context, {
101
+ security: requestSecurity,
102
+ method: "GET",
103
+ baseURL: options?.serverURL,
104
+ path: path,
105
+ headers: headers,
106
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
107
+ }, options);
108
+ if (!requestRes.ok) {
109
+ return [requestRes, { status: "invalid" }];
110
+ }
111
+ const req = requestRes.value;
112
+
113
+ const doResult = await client._do(req, {
114
+ context,
115
+ errorCodes: ["400", "401", "404", "4XX", "5XX"],
116
+ retryConfig: context.retryConfig,
117
+ retryCodes: context.retryCodes,
118
+ });
119
+ if (!doResult.ok) {
120
+ return [doResult, { status: "request-error", request: req }];
121
+ }
122
+ const response = doResult.value;
123
+
124
+ const responseFields = {
125
+ HttpMeta: { Response: response, Request: req },
126
+ };
127
+
128
+ const [result] = await M.match<
129
+ operations.ListKycDocumentResponseBody,
130
+ | errors.BadRequest
131
+ | errors.Unauthorized
132
+ | errors.NotFound
133
+ | CeError
134
+ | SDKValidationError
135
+ | UnexpectedClientError
136
+ | InvalidRequestError
137
+ | RequestAbortedError
138
+ | RequestTimeoutError
139
+ | ConnectionError
140
+ >(
141
+ M.json(200, operations.ListKycDocumentResponseBody$inboundSchema),
142
+ M.jsonErr(400, errors.BadRequest$inboundSchema),
143
+ M.jsonErr(401, errors.Unauthorized$inboundSchema),
144
+ M.jsonErr(404, errors.NotFound$inboundSchema),
145
+ M.fail("4XX"),
146
+ M.fail("5XX"),
147
+ )(response, { extraFields: responseFields });
148
+ if (!result.ok) {
149
+ return [result, { status: "complete", request: req, response }];
150
+ }
151
+
152
+ return [result, { status: "complete", request: req, response }];
153
+ }
@@ -0,0 +1,214 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { CeStorefrontCore } from "../core.js";
6
+ import { appendForm, encodeSimple } from "../lib/encodings.js";
7
+ import { readableStreamToArrayBuffer } from "../lib/files.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import { CeError } from "../models/errors/ceerror.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import * as operations from "../models/operations/index.js";
25
+ import { APICall, APIPromise } from "../types/async.js";
26
+ import { isBlobLike } from "../types/blobs.js";
27
+ import { Result } from "../types/fp.js";
28
+ import { isReadableStream } from "../types/streams.js";
29
+
30
+ /**
31
+ * Update document detail
32
+ *
33
+ * @remarks
34
+ * Update document detail
35
+ */
36
+ export function kycUpdateDocument(
37
+ client: CeStorefrontCore,
38
+ request: operations.UpdateDocumentRequest,
39
+ options?: RequestOptions,
40
+ ): APIPromise<
41
+ Result<
42
+ operations.UpdateDocumentResponseBody,
43
+ | errors.BadRequest
44
+ | errors.Unauthorized
45
+ | errors.NotFound
46
+ | CeError
47
+ | SDKValidationError
48
+ | UnexpectedClientError
49
+ | InvalidRequestError
50
+ | RequestAbortedError
51
+ | RequestTimeoutError
52
+ | ConnectionError
53
+ >
54
+ > {
55
+ return new APIPromise($do(
56
+ client,
57
+ request,
58
+ options,
59
+ ));
60
+ }
61
+
62
+ async function $do(
63
+ client: CeStorefrontCore,
64
+ request: operations.UpdateDocumentRequest,
65
+ options?: RequestOptions,
66
+ ): Promise<
67
+ [
68
+ Result<
69
+ operations.UpdateDocumentResponseBody,
70
+ | errors.BadRequest
71
+ | errors.Unauthorized
72
+ | errors.NotFound
73
+ | CeError
74
+ | SDKValidationError
75
+ | UnexpectedClientError
76
+ | InvalidRequestError
77
+ | RequestAbortedError
78
+ | RequestTimeoutError
79
+ | ConnectionError
80
+ >,
81
+ APICall,
82
+ ]
83
+ > {
84
+ const parsed = safeParse(
85
+ request,
86
+ (value) => operations.UpdateDocumentRequest$outboundSchema.parse(value),
87
+ "Input validation failed",
88
+ );
89
+ if (!parsed.ok) {
90
+ return [parsed, { status: "invalid" }];
91
+ }
92
+ const payload = parsed.value;
93
+ const body = new FormData();
94
+ if (payload.UpdateDocument != null) {
95
+ appendForm(body, "document_number", payload.UpdateDocument.document_number);
96
+ appendForm(body, "kyc_document_id", payload.UpdateDocument.kyc_document_id);
97
+ appendForm(body, "modified_reason", payload.UpdateDocument.modified_reason);
98
+ if (payload.UpdateDocument.file !== undefined) {
99
+ if (isBlobLike(payload.UpdateDocument.file)) {
100
+ appendForm(body, "file", payload.UpdateDocument.file);
101
+ } else if (isReadableStream(payload.UpdateDocument.file.content)) {
102
+ const buffer = await readableStreamToArrayBuffer(
103
+ payload.UpdateDocument.file.content,
104
+ );
105
+ const blob = new Blob([buffer], { type: "application/octet-stream" });
106
+ appendForm(body, "file", blob);
107
+ } else {
108
+ appendForm(
109
+ body,
110
+ "file",
111
+ new Blob([payload.UpdateDocument.file.content], {
112
+ type: "application/octet-stream",
113
+ }),
114
+ payload.UpdateDocument.file.fileName,
115
+ );
116
+ }
117
+ }
118
+ if (payload.UpdateDocument.note !== undefined) {
119
+ appendForm(body, "note", payload.UpdateDocument.note);
120
+ }
121
+ }
122
+
123
+ const pathParams = {
124
+ document_id: encodeSimple("document_id", payload.document_id, {
125
+ explode: false,
126
+ charEncoding: "percent",
127
+ }),
128
+ id: encodeSimple("id", payload.id, {
129
+ explode: false,
130
+ charEncoding: "percent",
131
+ }),
132
+ };
133
+
134
+ const path = pathToFunc("/customers/{id}/documents/{document_id}")(
135
+ pathParams,
136
+ );
137
+
138
+ const headers = new Headers(compactMap({
139
+ Accept: "application/json",
140
+ }));
141
+
142
+ const secConfig = await extractSecurity(client._options.authorization);
143
+ const securityInput = secConfig == null ? {} : { authorization: secConfig };
144
+ const requestSecurity = resolveGlobalSecurity(securityInput);
145
+
146
+ const context = {
147
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
148
+ operationID: "update-document",
149
+ oAuth2Scopes: [],
150
+
151
+ resolvedSecurity: requestSecurity,
152
+
153
+ securitySource: client._options.authorization,
154
+ retryConfig: options?.retries
155
+ || client._options.retryConfig
156
+ || { strategy: "none" },
157
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
158
+ };
159
+
160
+ const requestRes = client._createRequest(context, {
161
+ security: requestSecurity,
162
+ method: "PUT",
163
+ baseURL: options?.serverURL,
164
+ path: path,
165
+ headers: headers,
166
+ body: body,
167
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
168
+ }, options);
169
+ if (!requestRes.ok) {
170
+ return [requestRes, { status: "invalid" }];
171
+ }
172
+ const req = requestRes.value;
173
+
174
+ const doResult = await client._do(req, {
175
+ context,
176
+ errorCodes: ["400", "401", "404", "4XX", "5XX"],
177
+ retryConfig: context.retryConfig,
178
+ retryCodes: context.retryCodes,
179
+ });
180
+ if (!doResult.ok) {
181
+ return [doResult, { status: "request-error", request: req }];
182
+ }
183
+ const response = doResult.value;
184
+
185
+ const responseFields = {
186
+ HttpMeta: { Response: response, Request: req },
187
+ };
188
+
189
+ const [result] = await M.match<
190
+ operations.UpdateDocumentResponseBody,
191
+ | errors.BadRequest
192
+ | errors.Unauthorized
193
+ | errors.NotFound
194
+ | CeError
195
+ | SDKValidationError
196
+ | UnexpectedClientError
197
+ | InvalidRequestError
198
+ | RequestAbortedError
199
+ | RequestTimeoutError
200
+ | ConnectionError
201
+ >(
202
+ M.json(200, operations.UpdateDocumentResponseBody$inboundSchema),
203
+ M.jsonErr(400, errors.BadRequest$inboundSchema),
204
+ M.jsonErr(401, errors.Unauthorized$inboundSchema),
205
+ M.jsonErr(404, errors.NotFound$inboundSchema),
206
+ M.fail("4XX"),
207
+ M.fail("5XX"),
208
+ )(response, { extraFields: responseFields });
209
+ if (!result.ok) {
210
+ return [result, { status: "complete", request: req, response }];
211
+ }
212
+
213
+ return [result, { status: "complete", request: req, response }];
214
+ }
@@ -0,0 +1,170 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { CeStorefrontCore } from "../core.js";
6
+ import { encodeJSON, 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 { CeError } from "../models/errors/ceerror.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import * as errors from "../models/errors/index.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
+ * Verify document
29
+ *
30
+ * @remarks
31
+ * Verify document number before saving.
32
+ */
33
+ export function kycVerifyDocument(
34
+ client: CeStorefrontCore,
35
+ request: operations.VerifyDocumentRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.VerifyDocumentResponseBody,
40
+ | errors.BadRequest
41
+ | CeError
42
+ | SDKValidationError
43
+ | UnexpectedClientError
44
+ | InvalidRequestError
45
+ | RequestAbortedError
46
+ | RequestTimeoutError
47
+ | ConnectionError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: CeStorefrontCore,
59
+ request: operations.VerifyDocumentRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.VerifyDocumentResponseBody,
65
+ | errors.BadRequest
66
+ | CeError
67
+ | SDKValidationError
68
+ | UnexpectedClientError
69
+ | InvalidRequestError
70
+ | RequestAbortedError
71
+ | RequestTimeoutError
72
+ | ConnectionError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) => operations.VerifyDocumentRequest$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 = encodeJSON("body", payload.RequestBody, { explode: true });
87
+
88
+ const pathParams = {
89
+ id: encodeSimple("id", payload.id, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ };
94
+
95
+ const path = pathToFunc("/customers/{id}/documents/verify")(pathParams);
96
+
97
+ const headers = new Headers(compactMap({
98
+ "Content-Type": "application/json",
99
+ Accept: "application/json",
100
+ }));
101
+
102
+ const secConfig = await extractSecurity(client._options.authorization);
103
+ const securityInput = secConfig == null ? {} : { authorization: secConfig };
104
+ const requestSecurity = resolveGlobalSecurity(securityInput);
105
+
106
+ const context = {
107
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
108
+ operationID: "verify-document",
109
+ oAuth2Scopes: [],
110
+
111
+ resolvedSecurity: requestSecurity,
112
+
113
+ securitySource: client._options.authorization,
114
+ retryConfig: options?.retries
115
+ || client._options.retryConfig
116
+ || { strategy: "none" },
117
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
118
+ };
119
+
120
+ const requestRes = client._createRequest(context, {
121
+ security: requestSecurity,
122
+ method: "POST",
123
+ baseURL: options?.serverURL,
124
+ path: path,
125
+ headers: headers,
126
+ body: body,
127
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
128
+ }, options);
129
+ if (!requestRes.ok) {
130
+ return [requestRes, { status: "invalid" }];
131
+ }
132
+ const req = requestRes.value;
133
+
134
+ const doResult = await client._do(req, {
135
+ context,
136
+ errorCodes: ["400", "401", "404", "4XX", "5XX"],
137
+ retryConfig: context.retryConfig,
138
+ retryCodes: context.retryCodes,
139
+ });
140
+ if (!doResult.ok) {
141
+ return [doResult, { status: "request-error", request: req }];
142
+ }
143
+ const response = doResult.value;
144
+
145
+ const responseFields = {
146
+ HttpMeta: { Response: response, Request: req },
147
+ };
148
+
149
+ const [result] = await M.match<
150
+ operations.VerifyDocumentResponseBody,
151
+ | errors.BadRequest
152
+ | CeError
153
+ | SDKValidationError
154
+ | UnexpectedClientError
155
+ | InvalidRequestError
156
+ | RequestAbortedError
157
+ | RequestTimeoutError
158
+ | ConnectionError
159
+ >(
160
+ M.json(200, operations.VerifyDocumentResponseBody$inboundSchema),
161
+ M.jsonErr(400, errors.BadRequest$inboundSchema),
162
+ M.fail([401, 404, "4XX"]),
163
+ M.fail("5XX"),
164
+ )(response, { extraFields: responseFields });
165
+ if (!result.ok) {
166
+ return [result, { status: "complete", request: req, response }];
167
+ }
168
+
169
+ return [result, { status: "complete", request: req, response }];
170
+ }