@shippo/shippo-mcp 2.0.2 → 2.0.8
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.
- package/bin/mcp-server.js +1504 -718
- package/bin/mcp-server.js.map +36 -16
- package/esm/funcs/addressesCreateV1.d.ts +17 -0
- package/esm/funcs/addressesCreateV1.d.ts.map +1 -0
- package/esm/funcs/addressesCreateV1.js +86 -0
- package/esm/funcs/addressesCreateV1.js.map +1 -0
- package/esm/funcs/addressesCreateV2.d.ts +18 -0
- package/esm/funcs/addressesCreateV2.d.ts.map +1 -0
- package/esm/funcs/addressesCreateV2.js +93 -0
- package/esm/funcs/addressesCreateV2.js.map +1 -0
- package/esm/funcs/addressesParse.d.ts +24 -0
- package/esm/funcs/addressesParse.d.ts.map +1 -0
- package/esm/funcs/addressesParse.js +96 -0
- package/esm/funcs/addressesParse.js.map +1 -0
- package/esm/funcs/addressesValidateV2.d.ts +24 -0
- package/esm/funcs/addressesValidateV2.d.ts.map +1 -0
- package/esm/funcs/addressesValidateV2.js +105 -0
- package/esm/funcs/addressesValidateV2.js.map +1 -0
- package/esm/lib/config.d.ts +2 -2
- package/esm/lib/config.js +2 -2
- package/esm/mcp-server/mcp-server.js +1 -1
- package/esm/mcp-server/server.d.ts.map +1 -1
- package/esm/mcp-server/server.js +9 -3
- package/esm/mcp-server/server.js.map +1 -1
- package/esm/mcp-server/tools/addressesCreateV1.d.ts +7 -0
- package/esm/mcp-server/tools/addressesCreateV1.d.ts.map +1 -0
- package/esm/mcp-server/tools/addressesCreateV1.js +48 -0
- package/esm/mcp-server/tools/addressesCreateV1.js.map +1 -0
- package/esm/mcp-server/tools/addressesCreateV2.d.ts +7 -0
- package/esm/mcp-server/tools/addressesCreateV2.d.ts.map +1 -0
- package/esm/mcp-server/tools/addressesCreateV2.js +82 -0
- package/esm/mcp-server/tools/addressesCreateV2.js.map +1 -0
- package/esm/mcp-server/tools/addressesParse.d.ts +7 -0
- package/esm/mcp-server/tools/addressesParse.d.ts.map +1 -0
- package/esm/mcp-server/tools/addressesParse.js +66 -0
- package/esm/mcp-server/tools/addressesParse.js.map +1 -0
- package/esm/mcp-server/tools/addressesValidate.d.ts.map +1 -1
- package/esm/mcp-server/tools/addressesValidate.js +12 -3
- package/esm/mcp-server/tools/addressesValidate.js.map +1 -1
- package/esm/mcp-server/tools/addressesValidateV2.d.ts +7 -0
- package/esm/mcp-server/tools/addressesValidateV2.d.ts.map +1 -0
- package/esm/mcp-server/tools/addressesValidateV2.js +95 -0
- package/esm/mcp-server/tools/addressesValidateV2.js.map +1 -0
- package/esm/mcp-server/tools/ordersList.d.ts.map +1 -1
- package/esm/mcp-server/tools/ordersList.js +20 -2
- package/esm/mcp-server/tools/ordersList.js.map +1 -1
- package/esm/models/addressanalysisv2.d.ts +24 -0
- package/esm/models/addressanalysisv2.d.ts.map +1 -0
- package/esm/models/addressanalysisv2.js +22 -0
- package/esm/models/addressanalysisv2.js.map +1 -0
- package/esm/models/addresscreaterequestv2.d.ts +41 -0
- package/esm/models/addresscreaterequestv2.d.ts.map +1 -0
- package/esm/models/addresscreaterequestv2.js +35 -0
- package/esm/models/addresscreaterequestv2.js.map +1 -0
- package/esm/models/addressdatav2.d.ts +35 -0
- package/esm/models/addressdatav2.d.ts.map +1 -0
- package/esm/models/addressdatav2.js +32 -0
- package/esm/models/addressdatav2.js.map +1 -0
- package/esm/models/addressv2.d.ts +18 -0
- package/esm/models/addressv2.d.ts.map +1 -0
- package/esm/models/addressv2.js +17 -0
- package/esm/models/addressv2.js.map +1 -0
- package/esm/models/addressvalidationresultv2.d.ts +16 -0
- package/esm/models/addressvalidationresultv2.d.ts.map +1 -0
- package/esm/models/addressvalidationresultv2.js +15 -0
- package/esm/models/addressvalidationresultv2.js.map +1 -0
- package/esm/models/addresswithmetadataresponse.d.ts +13 -0
- package/esm/models/addresswithmetadataresponse.d.ts.map +1 -0
- package/esm/models/addresswithmetadataresponse.js +12 -0
- package/esm/models/addresswithmetadataresponse.js.map +1 -0
- package/esm/models/confidenceresult.d.ts +23 -0
- package/esm/models/confidenceresult.d.ts.map +1 -0
- package/esm/models/confidenceresult.js +20 -0
- package/esm/models/confidenceresult.js.map +1 -0
- package/esm/models/createaddressv2op.d.ts +30 -0
- package/esm/models/createaddressv2op.d.ts.map +1 -0
- package/esm/models/createaddressv2op.js +22 -0
- package/esm/models/createaddressv2op.js.map +1 -0
- package/esm/models/customsdeclarationcreaterequest.d.ts +27 -27
- package/esm/models/customsdeclarationcreaterequest.d.ts.map +1 -1
- package/esm/models/customsdeclarationcreaterequest.js +27 -27
- package/esm/models/customsdeclarationcreaterequest.js.map +1 -1
- package/esm/models/defaultparceltemplate.d.ts +2 -71
- package/esm/models/defaultparceltemplate.d.ts.map +1 -1
- package/esm/models/defaultparceltemplate.js +2 -62
- package/esm/models/defaultparceltemplate.js.map +1 -1
- package/esm/models/geocoordinates.d.ts +10 -0
- package/esm/models/geocoordinates.d.ts.map +1 -0
- package/esm/models/geocoordinates.js +9 -0
- package/esm/models/geocoordinates.js.map +1 -0
- package/esm/models/order.d.ts +1 -29
- package/esm/models/order.d.ts.map +1 -1
- package/esm/models/order.js +1 -25
- package/esm/models/order.js.map +1 -1
- package/esm/models/parseaddressop.d.ts +20 -0
- package/esm/models/parseaddressop.d.ts.map +1 -0
- package/esm/models/parseaddressop.js +25 -0
- package/esm/models/parseaddressop.js.map +1 -0
- package/esm/models/parsedaddress.d.ts +16 -0
- package/esm/models/parsedaddress.d.ts.map +1 -0
- package/esm/models/parsedaddress.js +15 -0
- package/esm/models/parsedaddress.js.map +1 -0
- package/esm/models/recommendedaddressv2.d.ts +21 -0
- package/esm/models/recommendedaddressv2.d.ts.map +1 -0
- package/esm/models/recommendedaddressv2.js +21 -0
- package/esm/models/recommendedaddressv2.js.map +1 -0
- package/esm/models/shipment.d.ts +1 -1
- package/esm/models/userparceltemplate.d.ts +5 -57
- package/esm/models/userparceltemplate.d.ts.map +1 -1
- package/esm/models/userparceltemplate.js +5 -49
- package/esm/models/userparceltemplate.js.map +1 -1
- package/esm/models/userparceltemplateupdaterequest.d.ts +4 -45
- package/esm/models/userparceltemplateupdaterequest.d.ts.map +1 -1
- package/esm/models/userparceltemplateupdaterequest.js +4 -38
- package/esm/models/userparceltemplateupdaterequest.js.map +1 -1
- package/esm/models/userparceltemplatewithoutcarriertemplatecreaterequest.d.ts +4 -45
- package/esm/models/userparceltemplatewithoutcarriertemplatecreaterequest.d.ts.map +1 -1
- package/esm/models/userparceltemplatewithoutcarriertemplatecreaterequest.js +4 -38
- package/esm/models/userparceltemplatewithoutcarriertemplatecreaterequest.js.map +1 -1
- package/esm/models/validateaddressv2op.d.ts +265 -0
- package/esm/models/validateaddressv2op.d.ts.map +1 -0
- package/esm/models/validateaddressv2op.js +258 -0
- package/esm/models/validateaddressv2op.js.map +1 -0
- package/esm/models/validationresultv2.d.ts +15 -0
- package/esm/models/validationresultv2.d.ts.map +1 -0
- package/esm/models/validationresultv2.js +14 -0
- package/esm/models/validationresultv2.js.map +1 -0
- package/manifest.json +17 -5
- package/package.json +1 -1
- package/src/funcs/{addressesCreate.ts → addressesCreateV1.ts} +1 -1
- package/src/funcs/addressesCreateV2.ts +178 -0
- package/src/funcs/addressesParse.ts +178 -0
- package/src/funcs/addressesValidateV2.ts +188 -0
- package/src/lib/config.ts +2 -2
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +9 -3
- package/src/mcp-server/tools/addressesCreateV1.ts +58 -0
- package/src/mcp-server/tools/addressesCreateV2.ts +92 -0
- package/src/mcp-server/tools/addressesParse.ts +76 -0
- package/src/mcp-server/tools/addressesValidate.ts +12 -3
- package/src/mcp-server/tools/addressesValidateV2.ts +105 -0
- package/src/mcp-server/tools/ordersList.ts +20 -2
- package/src/models/addressanalysisv2.ts +41 -0
- package/src/models/addresscreaterequestv2.ts +64 -0
- package/src/models/addressdatav2.ts +56 -0
- package/src/models/addressv2.ts +34 -0
- package/src/models/addressvalidationresultv2.ts +34 -0
- package/src/models/addresswithmetadataresponse.ts +25 -0
- package/src/models/confidenceresult.ts +36 -0
- package/src/models/createaddressv2op.ts +73 -0
- package/src/models/customsdeclarationcreaterequest.ts +54 -54
- package/src/models/defaultparceltemplate.ts +5 -122
- package/src/models/geocoordinates.ts +18 -0
- package/src/models/order.ts +2 -61
- package/src/models/parseaddressop.ts +44 -0
- package/src/models/parsedaddress.ts +32 -0
- package/src/models/recommendedaddressv2.ts +43 -0
- package/src/models/userparceltemplate.ts +11 -90
- package/src/models/userparceltemplateupdaterequest.ts +9 -62
- package/src/models/userparceltemplatewithoutcarriertemplatecreaterequest.ts +9 -70
- package/src/models/validateaddressv2op.ts +319 -0
- package/src/models/validationresultv2.ts +29 -0
- package/src/mcp-server/tools/addressesCreate.ts +0 -74
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
import * as z from "zod";
|
|
5
|
+
import { AddressValidationResultV2$zodSchema, } from "./addressvalidationresultv2.js";
|
|
6
|
+
export const ValidateAddressV2Globals$zodSchema = z.object({
|
|
7
|
+
shippoApiVersion: z.string().describe("Optional string used to pick a non-default API version to use. See our <a href=\"https://docs.goshippo.com/docs/api_concepts/apiversioning/\">API version</a> guide.").optional(),
|
|
8
|
+
});
|
|
9
|
+
/**
|
|
10
|
+
* The ISO 3166 country code
|
|
11
|
+
*/
|
|
12
|
+
export const CountryCode = {
|
|
13
|
+
Ae: "AE",
|
|
14
|
+
Ar: "AR",
|
|
15
|
+
At: "AT",
|
|
16
|
+
Au: "AU",
|
|
17
|
+
Ax: "AX",
|
|
18
|
+
Az: "AZ",
|
|
19
|
+
Ba: "BA",
|
|
20
|
+
Bd: "BD",
|
|
21
|
+
Be: "BE",
|
|
22
|
+
Bg: "BG",
|
|
23
|
+
Bh: "BH",
|
|
24
|
+
Bm: "BM",
|
|
25
|
+
Bn: "BN",
|
|
26
|
+
Br: "BR",
|
|
27
|
+
Bs: "BS",
|
|
28
|
+
Bw: "BW",
|
|
29
|
+
By: "BY",
|
|
30
|
+
Ca: "CA",
|
|
31
|
+
Ch: "CH",
|
|
32
|
+
Cl: "CL",
|
|
33
|
+
Co: "CO",
|
|
34
|
+
Cn: "CN",
|
|
35
|
+
Cy: "CY",
|
|
36
|
+
Cz: "CZ",
|
|
37
|
+
De: "DE",
|
|
38
|
+
Dk: "DK",
|
|
39
|
+
Ec: "EC",
|
|
40
|
+
Ee: "EE",
|
|
41
|
+
Eg: "EG",
|
|
42
|
+
Es: "ES",
|
|
43
|
+
Fi: "FI",
|
|
44
|
+
Fo: "FO",
|
|
45
|
+
Fr: "FR",
|
|
46
|
+
Gb: "GB",
|
|
47
|
+
Ge: "GE",
|
|
48
|
+
Gf: "GF",
|
|
49
|
+
Gg: "GG",
|
|
50
|
+
Gi: "GI",
|
|
51
|
+
Gp: "GP",
|
|
52
|
+
Gr: "GR",
|
|
53
|
+
Gu: "GU",
|
|
54
|
+
Hk: "HK",
|
|
55
|
+
Hr: "HR",
|
|
56
|
+
Hu: "HU",
|
|
57
|
+
Id: "ID",
|
|
58
|
+
Ie: "IE",
|
|
59
|
+
Il: "IL",
|
|
60
|
+
Im: "IM",
|
|
61
|
+
In: "IN",
|
|
62
|
+
Is: "IS",
|
|
63
|
+
It: "IT",
|
|
64
|
+
Je: "JE",
|
|
65
|
+
Jo: "JO",
|
|
66
|
+
Jp: "JP",
|
|
67
|
+
Kr: "KR",
|
|
68
|
+
Ky: "KY",
|
|
69
|
+
Kw: "KW",
|
|
70
|
+
Kz: "KZ",
|
|
71
|
+
Lb: "LB",
|
|
72
|
+
Li: "LI",
|
|
73
|
+
Lt: "LT",
|
|
74
|
+
Lu: "LU",
|
|
75
|
+
Lv: "LV",
|
|
76
|
+
Ma: "MA",
|
|
77
|
+
Mc: "MC",
|
|
78
|
+
Md: "MD",
|
|
79
|
+
Me: "ME",
|
|
80
|
+
Mk: "MK",
|
|
81
|
+
Mo: "MO",
|
|
82
|
+
Mp: "MP",
|
|
83
|
+
Mq: "MQ",
|
|
84
|
+
Mt: "MT",
|
|
85
|
+
Mx: "MX",
|
|
86
|
+
My: "MY",
|
|
87
|
+
Na: "NA",
|
|
88
|
+
Nl: "NL",
|
|
89
|
+
No: "NO",
|
|
90
|
+
Nz: "NZ",
|
|
91
|
+
Om: "OM",
|
|
92
|
+
Pe: "PE",
|
|
93
|
+
Ph: "PH",
|
|
94
|
+
Pl: "PL",
|
|
95
|
+
Pm: "PM",
|
|
96
|
+
Pr: "PR",
|
|
97
|
+
Pt: "PT",
|
|
98
|
+
Py: "PY",
|
|
99
|
+
Qa: "QA",
|
|
100
|
+
Re: "RE",
|
|
101
|
+
Ro: "RO",
|
|
102
|
+
Ru: "RU",
|
|
103
|
+
Sa: "SA",
|
|
104
|
+
Sc: "SC",
|
|
105
|
+
Se: "SE",
|
|
106
|
+
Sg: "SG",
|
|
107
|
+
Si: "SI",
|
|
108
|
+
Sk: "SK",
|
|
109
|
+
Sm: "SM",
|
|
110
|
+
Sr: "SR",
|
|
111
|
+
Th: "TH",
|
|
112
|
+
Tn: "TN",
|
|
113
|
+
Tr: "TR",
|
|
114
|
+
Tw: "TW",
|
|
115
|
+
Ua: "UA",
|
|
116
|
+
Us: "US",
|
|
117
|
+
Uy: "UY",
|
|
118
|
+
Vn: "VN",
|
|
119
|
+
We: "WE",
|
|
120
|
+
Yt: "YT",
|
|
121
|
+
Za: "ZA",
|
|
122
|
+
};
|
|
123
|
+
export const CountryCode$zodSchema = z.enum([
|
|
124
|
+
"AE",
|
|
125
|
+
"AR",
|
|
126
|
+
"AT",
|
|
127
|
+
"AU",
|
|
128
|
+
"AX",
|
|
129
|
+
"AZ",
|
|
130
|
+
"BA",
|
|
131
|
+
"BD",
|
|
132
|
+
"BE",
|
|
133
|
+
"BG",
|
|
134
|
+
"BH",
|
|
135
|
+
"BM",
|
|
136
|
+
"BN",
|
|
137
|
+
"BR",
|
|
138
|
+
"BS",
|
|
139
|
+
"BW",
|
|
140
|
+
"BY",
|
|
141
|
+
"CA",
|
|
142
|
+
"CH",
|
|
143
|
+
"CL",
|
|
144
|
+
"CO",
|
|
145
|
+
"CN",
|
|
146
|
+
"CY",
|
|
147
|
+
"CZ",
|
|
148
|
+
"DE",
|
|
149
|
+
"DK",
|
|
150
|
+
"EC",
|
|
151
|
+
"EE",
|
|
152
|
+
"EG",
|
|
153
|
+
"ES",
|
|
154
|
+
"FI",
|
|
155
|
+
"FO",
|
|
156
|
+
"FR",
|
|
157
|
+
"GB",
|
|
158
|
+
"GE",
|
|
159
|
+
"GF",
|
|
160
|
+
"GG",
|
|
161
|
+
"GI",
|
|
162
|
+
"GP",
|
|
163
|
+
"GR",
|
|
164
|
+
"GU",
|
|
165
|
+
"HK",
|
|
166
|
+
"HR",
|
|
167
|
+
"HU",
|
|
168
|
+
"ID",
|
|
169
|
+
"IE",
|
|
170
|
+
"IL",
|
|
171
|
+
"IM",
|
|
172
|
+
"IN",
|
|
173
|
+
"IS",
|
|
174
|
+
"IT",
|
|
175
|
+
"JE",
|
|
176
|
+
"JO",
|
|
177
|
+
"JP",
|
|
178
|
+
"KR",
|
|
179
|
+
"KY",
|
|
180
|
+
"KW",
|
|
181
|
+
"KZ",
|
|
182
|
+
"LB",
|
|
183
|
+
"LI",
|
|
184
|
+
"LT",
|
|
185
|
+
"LU",
|
|
186
|
+
"LV",
|
|
187
|
+
"MA",
|
|
188
|
+
"MC",
|
|
189
|
+
"MD",
|
|
190
|
+
"ME",
|
|
191
|
+
"MK",
|
|
192
|
+
"MO",
|
|
193
|
+
"MP",
|
|
194
|
+
"MQ",
|
|
195
|
+
"MT",
|
|
196
|
+
"MX",
|
|
197
|
+
"MY",
|
|
198
|
+
"NA",
|
|
199
|
+
"NL",
|
|
200
|
+
"NO",
|
|
201
|
+
"NZ",
|
|
202
|
+
"OM",
|
|
203
|
+
"PE",
|
|
204
|
+
"PH",
|
|
205
|
+
"PL",
|
|
206
|
+
"PM",
|
|
207
|
+
"PR",
|
|
208
|
+
"PT",
|
|
209
|
+
"PY",
|
|
210
|
+
"QA",
|
|
211
|
+
"RE",
|
|
212
|
+
"RO",
|
|
213
|
+
"RU",
|
|
214
|
+
"SA",
|
|
215
|
+
"SC",
|
|
216
|
+
"SE",
|
|
217
|
+
"SG",
|
|
218
|
+
"SI",
|
|
219
|
+
"SK",
|
|
220
|
+
"SM",
|
|
221
|
+
"SR",
|
|
222
|
+
"TH",
|
|
223
|
+
"TN",
|
|
224
|
+
"TR",
|
|
225
|
+
"TW",
|
|
226
|
+
"UA",
|
|
227
|
+
"US",
|
|
228
|
+
"UY",
|
|
229
|
+
"VN",
|
|
230
|
+
"WE",
|
|
231
|
+
"YT",
|
|
232
|
+
"ZA",
|
|
233
|
+
]).describe("The ISO 3166 country code");
|
|
234
|
+
export const ValidateAddressV2Request$zodSchema = z.object({
|
|
235
|
+
address_line_1: z.string().describe("The first line of the address"),
|
|
236
|
+
address_line_2: z.string().describe("The second line of the address")
|
|
237
|
+
.optional(),
|
|
238
|
+
city_locality: z.string().describe("The city or locality of the address")
|
|
239
|
+
.optional(),
|
|
240
|
+
country_code: CountryCode$zodSchema,
|
|
241
|
+
name: z.string().describe("The name of the addressee").optional(),
|
|
242
|
+
organization: z.string().describe("The organization of the addressee")
|
|
243
|
+
.optional(),
|
|
244
|
+
postal_code: z.string().describe("The postal code or zip code").optional(),
|
|
245
|
+
state_province: z.string().describe("The state, province, county, or municipal division").optional(),
|
|
246
|
+
});
|
|
247
|
+
export const ValidateAddressV2Detail$zodSchema = z.object({});
|
|
248
|
+
export const ValidateAddressV2ResponseBody$zodSchema = z.object({
|
|
249
|
+
detail: z.array(z.lazy(() => ValidateAddressV2Detail$zodSchema)).optional(),
|
|
250
|
+
}).describe("Unprocessable Entity");
|
|
251
|
+
export const ValidateAddressV2Response$zodSchema = z.object({
|
|
252
|
+
AddressValidationResultV2: AddressValidationResultV2$zodSchema.optional(),
|
|
253
|
+
ContentType: z.string(),
|
|
254
|
+
RawResponse: z.custom(x => x instanceof Response),
|
|
255
|
+
StatusCode: z.int(),
|
|
256
|
+
object: z.lazy(() => ValidateAddressV2ResponseBody$zodSchema).optional(),
|
|
257
|
+
});
|
|
258
|
+
//# sourceMappingURL=validateaddressv2op.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateaddressv2op.js","sourceRoot":"","sources":["../../src/models/validateaddressv2op.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAEL,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AAMxC,MAAM,CAAC,MAAM,kCAAkC,GAE3C,CAAC,CAAC,MAAM,CAAC;IACX,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACnC,sKAAsK,CACvK,CAAC,QAAQ,EAAE;CACb,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,I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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
export type Reasons = {
|
|
3
|
+
code?: string | undefined;
|
|
4
|
+
description?: string | undefined;
|
|
5
|
+
};
|
|
6
|
+
export declare const Reasons$zodSchema: z.ZodType<Reasons>;
|
|
7
|
+
/**
|
|
8
|
+
* Validation result details
|
|
9
|
+
*/
|
|
10
|
+
export type ValidationResultV2 = {
|
|
11
|
+
value?: string | null | undefined;
|
|
12
|
+
reasons?: Array<Reasons> | null | undefined;
|
|
13
|
+
};
|
|
14
|
+
export declare const ValidationResultV2$zodSchema: z.ZodType<ValidationResultV2>;
|
|
15
|
+
//# sourceMappingURL=validationresultv2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validationresultv2.d.ts","sourceRoot":"","sources":["../../src/models/validationresultv2.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAG/C,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAI7B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
import * as z from "zod";
|
|
5
|
+
export const Reasons$zodSchema = z.object({
|
|
6
|
+
code: z.string().optional(),
|
|
7
|
+
description: z.string().optional(),
|
|
8
|
+
});
|
|
9
|
+
export const ValidationResultV2$zodSchema = z
|
|
10
|
+
.object({
|
|
11
|
+
reasons: z.array(z.lazy(() => Reasons$zodSchema)).nullable().optional(),
|
|
12
|
+
value: z.string().nullable().optional(),
|
|
13
|
+
}).describe("Validation result details");
|
|
14
|
+
//# sourceMappingURL=validationresultv2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validationresultv2.js","sourceRoot":"","sources":["../../src/models/validationresultv2.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,MAAM,CAAC,MAAM,iBAAiB,GAAuB,CAAC,CAAC,MAAM,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAUH,MAAM,CAAC,MAAM,4BAA4B,GAAkC,CAAC;KACzE,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC"}
|
package/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "@shippo/shippo-mcp",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.8",
|
|
5
5
|
"description": "",
|
|
6
6
|
"long_description": "Shippo external API.: Use this API to integrate with the Shippo service",
|
|
7
7
|
"author": {
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"description": "List all addresses\n\nReturns a list of all address objects that have been created in this account."
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
|
-
"name": "addresses-create-
|
|
58
|
-
"description": "**
|
|
57
|
+
"name": "addresses-create-v1",
|
|
58
|
+
"description": "**DEPRECATED - Use `addresses-create-v2` instead for cleaner API format.**\n\nThis is the legacy v1 address creation endpoint. It uses different field names\n(street1, city, state, zip) compared to the newer v2 format.\n\n**Prefer `addresses-create-v2`** which uses standardized field names:\n- `address_line_1` instead of `street1`\n- `city_locality` instead of `city`\n- `state_province` instead of `state`\n- `postal_code` instead of `zip`\n\n**For address validation, use `addresses-validate-v2`.**\n\nOnly use this tool if you specifically need v1 API compatibility.\n"
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
61
|
"name": "addresses-get",
|
|
@@ -63,7 +63,19 @@
|
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
"name": "addresses-validate-existing",
|
|
66
|
-
"description": "**
|
|
66
|
+
"description": "**DEPRECATED - Use `addresses-validate-v2` instead for better validation results.**\n\nThis v1 endpoint validates an already created address using its ID.\nIt only works on addresses that have been saved to Shippo's address book.\n\n**Prefer `addresses-validate-v2`** which:\n- Validates any address (no need to create first)\n- Returns confidence scores (high/medium/low)\n- Provides recommended address corrections\n- Returns geo coordinates (latitude/longitude)\n- Identifies residential vs commercial addresses\n\nOnly use this tool if you specifically need to re-validate an existing address record by ID.\n"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "addresses-parse",
|
|
70
|
+
"description": "**ADDRESS PARSER** - Converts an unstructured address string into a structured address object.\n\nUse this tool when you have a single address string (like from customer input, emails, \nor CSV imports) and need to parse it into structured components.\n\n**Input Format Tips:**\n- Use commas (,) as delimiters between address parts\n- Follow this order: street address, city, state, postal code, country\n- Phone and email can be anywhere in the string\n\n**Example Input:**\n\"Shippo 731 Market St #200, San Francisco, CA 94103 US shippo@shippo.com +1-555-999-8888\"\n\n**Example Output:**\n```json\n{\n \"address_line_1\": \"731 MARKET ST\",\n \"address_line_2\": \"#200\",\n \"city_locality\": \"SAN FRANCISCO\",\n \"state_province\": \"CA\",\n \"postal_code\": \"94103\",\n \"country_code\": \"US\",\n \"email\": \"shippo@shippo.com\",\n \"phone\": \"+1-555-999-8888\"\n}\n```\n\n**Use Cases:**\n- Parse addresses from customer contact forms\n- Extract structured data from email signatures\n- Process bulk address imports\n- Clean up poorly formatted address data\n"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "addresses-validate-v2",
|
|
74
|
+
"description": "**PRIMARY ADDRESS VALIDATION TOOL** - Use this tool whenever asked to validate an address.\n\nThis is the recommended v2 validation endpoint that provides comprehensive results:\n- Original address as submitted\n- Recommended address with corrections\n- Confidence score (high/medium/low)\n- Validation result (valid/invalid/unknown)\n- Address type (residential/commercial/unknown)\n- List of changed attributes\n- Geographic coordinates (latitude/longitude)\n\n**Required Fields:**\n- `address_line_1`: The street address (required)\n- `country_code`: ISO 3166 country code (required)\n\n**US Address Requirements (one of):**\n- state_province + city_locality + address_line_1\n- OR address_line_1 + postal_code\n\n**International Requirements:**\n- city_locality + address_line_1\n\n**Example Request:**\n```\naddress_line_1: \"731 Market Street\"\naddress_line_2: \"#200\"\ncity_locality: \"San Francisco\"\nstate_province: \"CA\"\npostal_code: \"94103\"\ncountry_code: \"US\"\n```\n\n**Example Response:**\n```json\n{\n \"recommended_address\": {\n \"address_line_1\": \"731 MARKET ST\",\n \"city_locality\": \"SAN FRANCISCO\",\n \"state_province\": \"CA\",\n \"postal_code\": \"94103-2007\",\n \"country_code\": \"US\",\n \"confidence_result\": {\n \"score\": \"high\",\n \"description\": \"Address verified\"\n }\n },\n \"analysis\": {\n \"validation_result\": {\"value\": \"valid\"},\n \"address_type\": \"commercial\",\n \"changed_attributes\": [\"address_line_1\", \"postal_code\"]\n },\n \"geo\": {\"latitude\": 37.7879, \"longitude\": -122.4074}\n}\n```\n\n**Use Cases:**\n- Validate customer shipping addresses before label purchase\n- Get corrected/standardized address formatting\n- Determine if address is residential or commercial\n- Get ZIP+4 extended postal codes\n- Geocode addresses for mapping\n"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "addresses-create-v2",
|
|
78
|
+
"description": "**PRIMARY ADDRESS CREATION TOOL** - Use this tool to create and save address records.\n\nThis is the recommended v2 endpoint for creating addresses with a cleaner, standardized format.\n\n**Required Fields:**\n- `name`: The addressee's name (max 64 chars)\n- `address_line_1`: Street address (1-100 chars)\n- `country_code`: ISO 3166 country code (2 chars, e.g., \"US\")\n\n**Optional Fields:**\n- `organization`: Company/organization name\n- `email`: Email address\n- `phone`: Phone number\n- `address_line_2`: Apt, suite, unit, etc.\n- `city_locality`: City name\n- `state_province`: State/province abbreviation\n- `postal_code`: ZIP/postal code\n- `address_type`: unknown, residential, commercial, po_box, military\n\n**Example Request:**\n```json\n{\n \"name\": \"Wilson\",\n \"organization\": \"Shippo\",\n \"email\": \"user@shippo.com\",\n \"phone\": \"+1-4155550132\",\n \"address_line_1\": \"731 Market Street\",\n \"address_line_2\": \"#200\",\n \"city_locality\": \"San Francisco\",\n \"state_province\": \"CA\",\n \"postal_code\": \"94103\",\n \"country_code\": \"US\",\n \"address_type\": \"commercial\"\n}\n```\n\n**Response includes:**\n- `id`: Unique address identifier for future reference\n- `address`: The saved address data\n- `created_at`/`updated_at`: Timestamps\n\n**Use Cases:**\n- Save addresses for reuse in shipments\n- Build an address book\n- Store customer shipping addresses\n\n**For address validation, use `addresses-validate-v2`** which provides\nconfidence scores, geo coordinates, and recommended corrections.\n"
|
|
67
79
|
},
|
|
68
80
|
{
|
|
69
81
|
"name": "batches-create",
|
|
@@ -167,7 +179,7 @@
|
|
|
167
179
|
},
|
|
168
180
|
{
|
|
169
181
|
"name": "orders-list",
|
|
170
|
-
"description": "List all orders\n\nReturns a list of all order objects."
|
|
182
|
+
"description": "List all orders\n\nReturns a list of all order objects.\n\n**Available Filters:**\n- `orderStatus`: Filter by order status. Can pass multiple values as an array.\n - Values: UNKNOWN, AWAITPAY, PAID, REFUNDED, CANCELLED, PARTIALLY_FULFILLED, SHIPPED\n- `shop_app`: Filter by platform/source where order was created\n - Values: Amazon, Bigcommerce, CSV_Import, eBay, ePages, Etsy, Godaddy, Magento, Shippo, Shopify, Spreecommerce, StripeRelay, Walmart, Weebly, WooCommerce\n- `start_date`: Filter orders placed AFTER this date/time (ISO 8601 UTC format, e.g., \"2025-01-01T00:00:00Z\")\n- `end_date`: Filter orders placed BEFORE this date/time (ISO 8601 UTC format)\n- `page/results`: Pagination controls\n\n**Example Use Cases:**\n- \"Show all paid orders\" → filter by `orderStatus: [\"PAID\"]`\n- \"Show Shopify orders from last week\" → combine `shop_app: \"Shopify\"` with date filters\n- \"Show orders ready to ship\" → filter by `orderStatus: [\"PAID\"]`\n- \"Show cancelled or refunded orders\" → filter by `orderStatus: [\"CANCELLED\", \"REFUNDED\"]`\n\n**Note:** Date filters are based on `placed_at` field (when order was placed), not when the order object was created in Shippo.\n"
|
|
171
183
|
},
|
|
172
184
|
{
|
|
173
185
|
"name": "orders-create",
|
package/package.json
CHANGED
|
@@ -36,7 +36,7 @@ import { Result } from "../types/fp.js";
|
|
|
36
36
|
* @remarks
|
|
37
37
|
* Creates a new address object. You can use address objects to create new shipments, calculate rates, and to create orders.
|
|
38
38
|
*/
|
|
39
|
-
export function
|
|
39
|
+
export function addressesCreateV1(
|
|
40
40
|
client$: ShippoSDKCore,
|
|
41
41
|
request: AddressCreateRequest,
|
|
42
42
|
options?: RequestOptions,
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { ShippoSDKCore } 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 {
|
|
14
|
+
AddressCreateRequestV2,
|
|
15
|
+
AddressCreateRequestV2$zodSchema,
|
|
16
|
+
} from "../models/addresscreaterequestv2.js";
|
|
17
|
+
import {
|
|
18
|
+
CreateAddressV2Response,
|
|
19
|
+
CreateAddressV2Response$zodSchema,
|
|
20
|
+
} from "../models/createaddressv2op.js";
|
|
21
|
+
import { APIError } from "../models/errors/apierror.js";
|
|
22
|
+
import {
|
|
23
|
+
ConnectionError,
|
|
24
|
+
InvalidRequestError,
|
|
25
|
+
RequestAbortedError,
|
|
26
|
+
RequestTimeoutError,
|
|
27
|
+
UnexpectedClientError,
|
|
28
|
+
} from "../models/errors/httpclienterrors.js";
|
|
29
|
+
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
|
|
30
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
31
|
+
import { Result } from "../types/fp.js";
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Create a new address (v2)
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* Stores a new address to your address book.
|
|
38
|
+
* This is the v2 address creation endpoint with a cleaner request/response format.
|
|
39
|
+
*/
|
|
40
|
+
export function addressesCreateV2(
|
|
41
|
+
client$: ShippoSDKCore,
|
|
42
|
+
request: AddressCreateRequestV2,
|
|
43
|
+
options?: RequestOptions,
|
|
44
|
+
): APIPromise<
|
|
45
|
+
Result<
|
|
46
|
+
CreateAddressV2Response,
|
|
47
|
+
| APIError
|
|
48
|
+
| SDKValidationError
|
|
49
|
+
| UnexpectedClientError
|
|
50
|
+
| InvalidRequestError
|
|
51
|
+
| RequestAbortedError
|
|
52
|
+
| RequestTimeoutError
|
|
53
|
+
| ConnectionError
|
|
54
|
+
>
|
|
55
|
+
> {
|
|
56
|
+
return new APIPromise($do(
|
|
57
|
+
client$,
|
|
58
|
+
request,
|
|
59
|
+
options,
|
|
60
|
+
));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
async function $do(
|
|
64
|
+
client$: ShippoSDKCore,
|
|
65
|
+
request: AddressCreateRequestV2,
|
|
66
|
+
options?: RequestOptions,
|
|
67
|
+
): Promise<
|
|
68
|
+
[
|
|
69
|
+
Result<
|
|
70
|
+
CreateAddressV2Response,
|
|
71
|
+
| APIError
|
|
72
|
+
| SDKValidationError
|
|
73
|
+
| UnexpectedClientError
|
|
74
|
+
| InvalidRequestError
|
|
75
|
+
| RequestAbortedError
|
|
76
|
+
| RequestTimeoutError
|
|
77
|
+
| ConnectionError
|
|
78
|
+
>,
|
|
79
|
+
APICall,
|
|
80
|
+
]
|
|
81
|
+
> {
|
|
82
|
+
const parsed$ = safeParse(
|
|
83
|
+
request,
|
|
84
|
+
(value$) => AddressCreateRequestV2$zodSchema.parse(value$),
|
|
85
|
+
"Input validation failed",
|
|
86
|
+
);
|
|
87
|
+
if (!parsed$.ok) {
|
|
88
|
+
return [parsed$, { status: "invalid" }];
|
|
89
|
+
}
|
|
90
|
+
const payload$ = parsed$.value;
|
|
91
|
+
const body$ = encodeJSON("body", payload$, { explode: true });
|
|
92
|
+
const path$ = pathToFunc("/v2/addresses")();
|
|
93
|
+
|
|
94
|
+
const headers$ = new Headers(compactMap({
|
|
95
|
+
"Content-Type": "application/json",
|
|
96
|
+
Accept: "application/json",
|
|
97
|
+
"SHIPPO-API-VERSION": encodeSimple(
|
|
98
|
+
"SHIPPO-API-VERSION",
|
|
99
|
+
client$._options.shippoApiVersion,
|
|
100
|
+
{ explode: false, charEncoding: "none" },
|
|
101
|
+
),
|
|
102
|
+
}));
|
|
103
|
+
const securityInput = await extractSecurity(client$._options.security);
|
|
104
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
105
|
+
|
|
106
|
+
const context = {
|
|
107
|
+
options: client$._options,
|
|
108
|
+
baseURL: options?.serverURL ?? client$._baseURL ?? "",
|
|
109
|
+
operationID: "CreateAddressV2",
|
|
110
|
+
oAuth2Scopes: null,
|
|
111
|
+
resolvedSecurity: requestSecurity,
|
|
112
|
+
securitySource: client$._options.security,
|
|
113
|
+
retryConfig: options?.retries
|
|
114
|
+
|| client$._options.retryConfig
|
|
115
|
+
|| { strategy: "none" },
|
|
116
|
+
retryCodes: options?.retryCodes || [
|
|
117
|
+
"429",
|
|
118
|
+
"500",
|
|
119
|
+
"502",
|
|
120
|
+
"503",
|
|
121
|
+
"504",
|
|
122
|
+
],
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const requestRes = client$._createRequest(context, {
|
|
126
|
+
security: requestSecurity,
|
|
127
|
+
method: "POST",
|
|
128
|
+
baseURL: options?.serverURL,
|
|
129
|
+
path: path$,
|
|
130
|
+
headers: headers$,
|
|
131
|
+
body: body$,
|
|
132
|
+
userAgent: client$._options.userAgent,
|
|
133
|
+
timeoutMs: options?.timeoutMs || client$._options.timeoutMs
|
|
134
|
+
|| -1,
|
|
135
|
+
}, options);
|
|
136
|
+
if (!requestRes.ok) {
|
|
137
|
+
return [requestRes, { status: "invalid" }];
|
|
138
|
+
}
|
|
139
|
+
const req$ = requestRes.value;
|
|
140
|
+
|
|
141
|
+
const doResult = await client$._do(req$, {
|
|
142
|
+
context,
|
|
143
|
+
errorCodes: [],
|
|
144
|
+
retryConfig: context.retryConfig,
|
|
145
|
+
retryCodes: context.retryCodes,
|
|
146
|
+
});
|
|
147
|
+
if (!doResult.ok) {
|
|
148
|
+
return [doResult, { status: "request-error", request: req$ }];
|
|
149
|
+
}
|
|
150
|
+
const response = doResult.value;
|
|
151
|
+
const responseFields$ = {
|
|
152
|
+
HttpMeta: { Response: response, Request: req$ },
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
const [result$] = await M.match<
|
|
156
|
+
CreateAddressV2Response,
|
|
157
|
+
| APIError
|
|
158
|
+
| SDKValidationError
|
|
159
|
+
| UnexpectedClientError
|
|
160
|
+
| InvalidRequestError
|
|
161
|
+
| RequestAbortedError
|
|
162
|
+
| RequestTimeoutError
|
|
163
|
+
| ConnectionError
|
|
164
|
+
>(
|
|
165
|
+
M.json(201, CreateAddressV2Response$zodSchema, {
|
|
166
|
+
key: "AddressWithMetadataResponse",
|
|
167
|
+
}),
|
|
168
|
+
M.json(409, CreateAddressV2Response$zodSchema, {
|
|
169
|
+
key: "fourHundredAndNineApplicationJsonObject",
|
|
170
|
+
}),
|
|
171
|
+
M.json(422, CreateAddressV2Response$zodSchema, {
|
|
172
|
+
key: "fourHundredAndTwentyTwoApplicationJsonObject",
|
|
173
|
+
}),
|
|
174
|
+
M.nil("5XX", CreateAddressV2Response$zodSchema),
|
|
175
|
+
)(response, req$, { extraFields: responseFields$ });
|
|
176
|
+
|
|
177
|
+
return [result$, { status: "complete", request: req$, response }];
|
|
178
|
+
}
|