@shippo/shippo-mcp 2.0.3 → 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.
Files changed (157) hide show
  1. package/bin/mcp-server.js +1477 -691
  2. package/bin/mcp-server.js.map +35 -15
  3. package/esm/funcs/addressesCreateV1.d.ts +17 -0
  4. package/esm/funcs/addressesCreateV1.d.ts.map +1 -0
  5. package/esm/funcs/addressesCreateV1.js +86 -0
  6. package/esm/funcs/addressesCreateV1.js.map +1 -0
  7. package/esm/funcs/addressesCreateV2.d.ts +18 -0
  8. package/esm/funcs/addressesCreateV2.d.ts.map +1 -0
  9. package/esm/funcs/addressesCreateV2.js +93 -0
  10. package/esm/funcs/addressesCreateV2.js.map +1 -0
  11. package/esm/funcs/addressesParse.d.ts +24 -0
  12. package/esm/funcs/addressesParse.d.ts.map +1 -0
  13. package/esm/funcs/addressesParse.js +96 -0
  14. package/esm/funcs/addressesParse.js.map +1 -0
  15. package/esm/funcs/addressesValidateV2.d.ts +24 -0
  16. package/esm/funcs/addressesValidateV2.d.ts.map +1 -0
  17. package/esm/funcs/addressesValidateV2.js +105 -0
  18. package/esm/funcs/addressesValidateV2.js.map +1 -0
  19. package/esm/lib/config.d.ts +2 -2
  20. package/esm/lib/config.js +2 -2
  21. package/esm/mcp-server/mcp-server.js +1 -1
  22. package/esm/mcp-server/server.d.ts.map +1 -1
  23. package/esm/mcp-server/server.js +9 -3
  24. package/esm/mcp-server/server.js.map +1 -1
  25. package/esm/mcp-server/tools/addressesCreateV1.d.ts +7 -0
  26. package/esm/mcp-server/tools/addressesCreateV1.d.ts.map +1 -0
  27. package/esm/mcp-server/tools/addressesCreateV1.js +48 -0
  28. package/esm/mcp-server/tools/addressesCreateV1.js.map +1 -0
  29. package/esm/mcp-server/tools/addressesCreateV2.d.ts +7 -0
  30. package/esm/mcp-server/tools/addressesCreateV2.d.ts.map +1 -0
  31. package/esm/mcp-server/tools/addressesCreateV2.js +82 -0
  32. package/esm/mcp-server/tools/addressesCreateV2.js.map +1 -0
  33. package/esm/mcp-server/tools/addressesParse.d.ts +7 -0
  34. package/esm/mcp-server/tools/addressesParse.d.ts.map +1 -0
  35. package/esm/mcp-server/tools/addressesParse.js +66 -0
  36. package/esm/mcp-server/tools/addressesParse.js.map +1 -0
  37. package/esm/mcp-server/tools/addressesValidate.d.ts.map +1 -1
  38. package/esm/mcp-server/tools/addressesValidate.js +12 -3
  39. package/esm/mcp-server/tools/addressesValidate.js.map +1 -1
  40. package/esm/mcp-server/tools/addressesValidateV2.d.ts +7 -0
  41. package/esm/mcp-server/tools/addressesValidateV2.d.ts.map +1 -0
  42. package/esm/mcp-server/tools/addressesValidateV2.js +95 -0
  43. package/esm/mcp-server/tools/addressesValidateV2.js.map +1 -0
  44. package/esm/mcp-server/tools/ordersList.d.ts.map +1 -1
  45. package/esm/mcp-server/tools/ordersList.js +20 -2
  46. package/esm/mcp-server/tools/ordersList.js.map +1 -1
  47. package/esm/models/addressanalysisv2.d.ts +24 -0
  48. package/esm/models/addressanalysisv2.d.ts.map +1 -0
  49. package/esm/models/addressanalysisv2.js +22 -0
  50. package/esm/models/addressanalysisv2.js.map +1 -0
  51. package/esm/models/addresscreaterequestv2.d.ts +41 -0
  52. package/esm/models/addresscreaterequestv2.d.ts.map +1 -0
  53. package/esm/models/addresscreaterequestv2.js +35 -0
  54. package/esm/models/addresscreaterequestv2.js.map +1 -0
  55. package/esm/models/addressdatav2.d.ts +35 -0
  56. package/esm/models/addressdatav2.d.ts.map +1 -0
  57. package/esm/models/addressdatav2.js +32 -0
  58. package/esm/models/addressdatav2.js.map +1 -0
  59. package/esm/models/addressv2.d.ts +18 -0
  60. package/esm/models/addressv2.d.ts.map +1 -0
  61. package/esm/models/addressv2.js +17 -0
  62. package/esm/models/addressv2.js.map +1 -0
  63. package/esm/models/addressvalidationresultv2.d.ts +16 -0
  64. package/esm/models/addressvalidationresultv2.d.ts.map +1 -0
  65. package/esm/models/addressvalidationresultv2.js +15 -0
  66. package/esm/models/addressvalidationresultv2.js.map +1 -0
  67. package/esm/models/addresswithmetadataresponse.d.ts +13 -0
  68. package/esm/models/addresswithmetadataresponse.d.ts.map +1 -0
  69. package/esm/models/addresswithmetadataresponse.js +12 -0
  70. package/esm/models/addresswithmetadataresponse.js.map +1 -0
  71. package/esm/models/confidenceresult.d.ts +23 -0
  72. package/esm/models/confidenceresult.d.ts.map +1 -0
  73. package/esm/models/confidenceresult.js +20 -0
  74. package/esm/models/confidenceresult.js.map +1 -0
  75. package/esm/models/createaddressv2op.d.ts +30 -0
  76. package/esm/models/createaddressv2op.d.ts.map +1 -0
  77. package/esm/models/createaddressv2op.js +22 -0
  78. package/esm/models/createaddressv2op.js.map +1 -0
  79. package/esm/models/defaultparceltemplate.d.ts +2 -71
  80. package/esm/models/defaultparceltemplate.d.ts.map +1 -1
  81. package/esm/models/defaultparceltemplate.js +2 -62
  82. package/esm/models/defaultparceltemplate.js.map +1 -1
  83. package/esm/models/geocoordinates.d.ts +10 -0
  84. package/esm/models/geocoordinates.d.ts.map +1 -0
  85. package/esm/models/geocoordinates.js +9 -0
  86. package/esm/models/geocoordinates.js.map +1 -0
  87. package/esm/models/order.d.ts +1 -29
  88. package/esm/models/order.d.ts.map +1 -1
  89. package/esm/models/order.js +1 -25
  90. package/esm/models/order.js.map +1 -1
  91. package/esm/models/parseaddressop.d.ts +20 -0
  92. package/esm/models/parseaddressop.d.ts.map +1 -0
  93. package/esm/models/parseaddressop.js +25 -0
  94. package/esm/models/parseaddressop.js.map +1 -0
  95. package/esm/models/parsedaddress.d.ts +16 -0
  96. package/esm/models/parsedaddress.d.ts.map +1 -0
  97. package/esm/models/parsedaddress.js +15 -0
  98. package/esm/models/parsedaddress.js.map +1 -0
  99. package/esm/models/recommendedaddressv2.d.ts +21 -0
  100. package/esm/models/recommendedaddressv2.d.ts.map +1 -0
  101. package/esm/models/recommendedaddressv2.js +21 -0
  102. package/esm/models/recommendedaddressv2.js.map +1 -0
  103. package/esm/models/userparceltemplate.d.ts +5 -57
  104. package/esm/models/userparceltemplate.d.ts.map +1 -1
  105. package/esm/models/userparceltemplate.js +5 -49
  106. package/esm/models/userparceltemplate.js.map +1 -1
  107. package/esm/models/userparceltemplateupdaterequest.d.ts +4 -45
  108. package/esm/models/userparceltemplateupdaterequest.d.ts.map +1 -1
  109. package/esm/models/userparceltemplateupdaterequest.js +4 -38
  110. package/esm/models/userparceltemplateupdaterequest.js.map +1 -1
  111. package/esm/models/userparceltemplatewithoutcarriertemplatecreaterequest.d.ts +4 -45
  112. package/esm/models/userparceltemplatewithoutcarriertemplatecreaterequest.d.ts.map +1 -1
  113. package/esm/models/userparceltemplatewithoutcarriertemplatecreaterequest.js +4 -38
  114. package/esm/models/userparceltemplatewithoutcarriertemplatecreaterequest.js.map +1 -1
  115. package/esm/models/validateaddressv2op.d.ts +265 -0
  116. package/esm/models/validateaddressv2op.d.ts.map +1 -0
  117. package/esm/models/validateaddressv2op.js +258 -0
  118. package/esm/models/validateaddressv2op.js.map +1 -0
  119. package/esm/models/validationresultv2.d.ts +15 -0
  120. package/esm/models/validationresultv2.d.ts.map +1 -0
  121. package/esm/models/validationresultv2.js +14 -0
  122. package/esm/models/validationresultv2.js.map +1 -0
  123. package/manifest.json +17 -5
  124. package/package.json +1 -1
  125. package/src/funcs/{addressesCreate.ts → addressesCreateV1.ts} +1 -1
  126. package/src/funcs/addressesCreateV2.ts +178 -0
  127. package/src/funcs/addressesParse.ts +178 -0
  128. package/src/funcs/addressesValidateV2.ts +188 -0
  129. package/src/lib/config.ts +2 -2
  130. package/src/mcp-server/mcp-server.ts +1 -1
  131. package/src/mcp-server/server.ts +9 -3
  132. package/src/mcp-server/tools/addressesCreateV1.ts +58 -0
  133. package/src/mcp-server/tools/addressesCreateV2.ts +92 -0
  134. package/src/mcp-server/tools/addressesParse.ts +76 -0
  135. package/src/mcp-server/tools/addressesValidate.ts +12 -3
  136. package/src/mcp-server/tools/addressesValidateV2.ts +105 -0
  137. package/src/mcp-server/tools/ordersList.ts +20 -2
  138. package/src/models/addressanalysisv2.ts +41 -0
  139. package/src/models/addresscreaterequestv2.ts +64 -0
  140. package/src/models/addressdatav2.ts +56 -0
  141. package/src/models/addressv2.ts +34 -0
  142. package/src/models/addressvalidationresultv2.ts +34 -0
  143. package/src/models/addresswithmetadataresponse.ts +25 -0
  144. package/src/models/confidenceresult.ts +36 -0
  145. package/src/models/createaddressv2op.ts +73 -0
  146. package/src/models/defaultparceltemplate.ts +5 -122
  147. package/src/models/geocoordinates.ts +18 -0
  148. package/src/models/order.ts +2 -61
  149. package/src/models/parseaddressop.ts +44 -0
  150. package/src/models/parsedaddress.ts +32 -0
  151. package/src/models/recommendedaddressv2.ts +43 -0
  152. package/src/models/userparceltemplate.ts +11 -90
  153. package/src/models/userparceltemplateupdaterequest.ts +9 -62
  154. package/src/models/userparceltemplatewithoutcarriertemplatecreaterequest.ts +9 -70
  155. package/src/models/validateaddressv2op.ts +319 -0
  156. package/src/models/validationresultv2.ts +29 -0
  157. package/src/mcp-server/tools/addressesCreate.ts +0 -74
@@ -3,90 +3,29 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod";
6
- import { ClosedEnum } from "../types/enums.js";
7
-
8
- /**
9
- * The measure unit used for length, width and height.
10
- */
11
- export const UserParcelTemplateWithoutCarrierTemplateCreateRequestDistanceUnitEnum =
12
- {
13
- Cm: "cm",
14
- In: "in",
15
- Ft: "ft",
16
- M: "m",
17
- Mm: "mm",
18
- Yd: "yd",
19
- } as const;
20
- /**
21
- * The measure unit used for length, width and height.
22
- */
23
- export type UserParcelTemplateWithoutCarrierTemplateCreateRequestDistanceUnitEnum =
24
- ClosedEnum<
25
- typeof UserParcelTemplateWithoutCarrierTemplateCreateRequestDistanceUnitEnum
26
- >;
27
-
28
- export const UserParcelTemplateWithoutCarrierTemplateCreateRequestDistanceUnitEnum$zodSchema =
29
- z.enum([
30
- "cm",
31
- "in",
32
- "ft",
33
- "m",
34
- "mm",
35
- "yd",
36
- ]).describe("The measure unit used for length, width and height.");
37
-
38
- /**
39
- * The unit used for weight.
40
- */
41
- export const UserParcelTemplateWithoutCarrierTemplateCreateRequestWeightUnitEnum =
42
- {
43
- G: "g",
44
- Kg: "kg",
45
- Lb: "lb",
46
- Oz: "oz",
47
- } as const;
48
- /**
49
- * The unit used for weight.
50
- */
51
- export type UserParcelTemplateWithoutCarrierTemplateCreateRequestWeightUnitEnum =
52
- ClosedEnum<
53
- typeof UserParcelTemplateWithoutCarrierTemplateCreateRequestWeightUnitEnum
54
- >;
55
-
56
- export const UserParcelTemplateWithoutCarrierTemplateCreateRequestWeightUnitEnum$zodSchema =
57
- z.enum([
58
- "g",
59
- "kg",
60
- "lb",
61
- "oz",
62
- ]).describe("The unit used for weight.");
6
+ import {
7
+ DistanceUnitEnum,
8
+ DistanceUnitEnum$zodSchema,
9
+ } from "./distanceunitenum.js";
10
+ import { WeightUnitEnum, WeightUnitEnum$zodSchema } from "./weightunitenum.js";
63
11
 
64
12
  export type UserParcelTemplateWithoutCarrierTemplateCreateRequest = {
65
- distance_unit:
66
- | UserParcelTemplateWithoutCarrierTemplateCreateRequestDistanceUnitEnum
67
- | null;
13
+ distance_unit: DistanceUnitEnum | null;
68
14
  height: string | null;
69
15
  length: string | null;
70
16
  name: string | null;
71
17
  weight?: string | null | undefined;
72
- weight_unit?:
73
- | UserParcelTemplateWithoutCarrierTemplateCreateRequestWeightUnitEnum
74
- | null
75
- | undefined;
18
+ weight_unit?: WeightUnitEnum | null | undefined;
76
19
  width: string | null;
77
20
  };
78
21
 
79
22
  export const UserParcelTemplateWithoutCarrierTemplateCreateRequest$zodSchema:
80
23
  z.ZodType<UserParcelTemplateWithoutCarrierTemplateCreateRequest> = z.object({
81
- distance_unit:
82
- UserParcelTemplateWithoutCarrierTemplateCreateRequestDistanceUnitEnum$zodSchema
83
- .nullable(),
24
+ distance_unit: DistanceUnitEnum$zodSchema.nullable(),
84
25
  height: z.string().nullable(),
85
26
  length: z.string().nullable(),
86
27
  name: z.string().nullable(),
87
28
  weight: z.string().nullable().optional(),
88
- weight_unit:
89
- UserParcelTemplateWithoutCarrierTemplateCreateRequestWeightUnitEnum$zodSchema
90
- .nullable().optional(),
29
+ weight_unit: WeightUnitEnum$zodSchema.nullable().optional(),
91
30
  width: z.string().nullable(),
92
31
  });
@@ -0,0 +1,319 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+ import {
8
+ AddressValidationResultV2,
9
+ AddressValidationResultV2$zodSchema,
10
+ } from "./addressvalidationresultv2.js";
11
+
12
+ export type ValidateAddressV2Globals = {
13
+ shippoApiVersion?: string | undefined;
14
+ };
15
+
16
+ export const ValidateAddressV2Globals$zodSchema: z.ZodType<
17
+ ValidateAddressV2Globals
18
+ > = z.object({
19
+ shippoApiVersion: z.string().describe(
20
+ "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.",
21
+ ).optional(),
22
+ });
23
+
24
+ /**
25
+ * The ISO 3166 country code
26
+ */
27
+ export const CountryCode = {
28
+ Ae: "AE",
29
+ Ar: "AR",
30
+ At: "AT",
31
+ Au: "AU",
32
+ Ax: "AX",
33
+ Az: "AZ",
34
+ Ba: "BA",
35
+ Bd: "BD",
36
+ Be: "BE",
37
+ Bg: "BG",
38
+ Bh: "BH",
39
+ Bm: "BM",
40
+ Bn: "BN",
41
+ Br: "BR",
42
+ Bs: "BS",
43
+ Bw: "BW",
44
+ By: "BY",
45
+ Ca: "CA",
46
+ Ch: "CH",
47
+ Cl: "CL",
48
+ Co: "CO",
49
+ Cn: "CN",
50
+ Cy: "CY",
51
+ Cz: "CZ",
52
+ De: "DE",
53
+ Dk: "DK",
54
+ Ec: "EC",
55
+ Ee: "EE",
56
+ Eg: "EG",
57
+ Es: "ES",
58
+ Fi: "FI",
59
+ Fo: "FO",
60
+ Fr: "FR",
61
+ Gb: "GB",
62
+ Ge: "GE",
63
+ Gf: "GF",
64
+ Gg: "GG",
65
+ Gi: "GI",
66
+ Gp: "GP",
67
+ Gr: "GR",
68
+ Gu: "GU",
69
+ Hk: "HK",
70
+ Hr: "HR",
71
+ Hu: "HU",
72
+ Id: "ID",
73
+ Ie: "IE",
74
+ Il: "IL",
75
+ Im: "IM",
76
+ In: "IN",
77
+ Is: "IS",
78
+ It: "IT",
79
+ Je: "JE",
80
+ Jo: "JO",
81
+ Jp: "JP",
82
+ Kr: "KR",
83
+ Ky: "KY",
84
+ Kw: "KW",
85
+ Kz: "KZ",
86
+ Lb: "LB",
87
+ Li: "LI",
88
+ Lt: "LT",
89
+ Lu: "LU",
90
+ Lv: "LV",
91
+ Ma: "MA",
92
+ Mc: "MC",
93
+ Md: "MD",
94
+ Me: "ME",
95
+ Mk: "MK",
96
+ Mo: "MO",
97
+ Mp: "MP",
98
+ Mq: "MQ",
99
+ Mt: "MT",
100
+ Mx: "MX",
101
+ My: "MY",
102
+ Na: "NA",
103
+ Nl: "NL",
104
+ No: "NO",
105
+ Nz: "NZ",
106
+ Om: "OM",
107
+ Pe: "PE",
108
+ Ph: "PH",
109
+ Pl: "PL",
110
+ Pm: "PM",
111
+ Pr: "PR",
112
+ Pt: "PT",
113
+ Py: "PY",
114
+ Qa: "QA",
115
+ Re: "RE",
116
+ Ro: "RO",
117
+ Ru: "RU",
118
+ Sa: "SA",
119
+ Sc: "SC",
120
+ Se: "SE",
121
+ Sg: "SG",
122
+ Si: "SI",
123
+ Sk: "SK",
124
+ Sm: "SM",
125
+ Sr: "SR",
126
+ Th: "TH",
127
+ Tn: "TN",
128
+ Tr: "TR",
129
+ Tw: "TW",
130
+ Ua: "UA",
131
+ Us: "US",
132
+ Uy: "UY",
133
+ Vn: "VN",
134
+ We: "WE",
135
+ Yt: "YT",
136
+ Za: "ZA",
137
+ } as const;
138
+ /**
139
+ * The ISO 3166 country code
140
+ */
141
+ export type CountryCode = ClosedEnum<typeof CountryCode>;
142
+
143
+ export const CountryCode$zodSchema = z.enum([
144
+ "AE",
145
+ "AR",
146
+ "AT",
147
+ "AU",
148
+ "AX",
149
+ "AZ",
150
+ "BA",
151
+ "BD",
152
+ "BE",
153
+ "BG",
154
+ "BH",
155
+ "BM",
156
+ "BN",
157
+ "BR",
158
+ "BS",
159
+ "BW",
160
+ "BY",
161
+ "CA",
162
+ "CH",
163
+ "CL",
164
+ "CO",
165
+ "CN",
166
+ "CY",
167
+ "CZ",
168
+ "DE",
169
+ "DK",
170
+ "EC",
171
+ "EE",
172
+ "EG",
173
+ "ES",
174
+ "FI",
175
+ "FO",
176
+ "FR",
177
+ "GB",
178
+ "GE",
179
+ "GF",
180
+ "GG",
181
+ "GI",
182
+ "GP",
183
+ "GR",
184
+ "GU",
185
+ "HK",
186
+ "HR",
187
+ "HU",
188
+ "ID",
189
+ "IE",
190
+ "IL",
191
+ "IM",
192
+ "IN",
193
+ "IS",
194
+ "IT",
195
+ "JE",
196
+ "JO",
197
+ "JP",
198
+ "KR",
199
+ "KY",
200
+ "KW",
201
+ "KZ",
202
+ "LB",
203
+ "LI",
204
+ "LT",
205
+ "LU",
206
+ "LV",
207
+ "MA",
208
+ "MC",
209
+ "MD",
210
+ "ME",
211
+ "MK",
212
+ "MO",
213
+ "MP",
214
+ "MQ",
215
+ "MT",
216
+ "MX",
217
+ "MY",
218
+ "NA",
219
+ "NL",
220
+ "NO",
221
+ "NZ",
222
+ "OM",
223
+ "PE",
224
+ "PH",
225
+ "PL",
226
+ "PM",
227
+ "PR",
228
+ "PT",
229
+ "PY",
230
+ "QA",
231
+ "RE",
232
+ "RO",
233
+ "RU",
234
+ "SA",
235
+ "SC",
236
+ "SE",
237
+ "SG",
238
+ "SI",
239
+ "SK",
240
+ "SM",
241
+ "SR",
242
+ "TH",
243
+ "TN",
244
+ "TR",
245
+ "TW",
246
+ "UA",
247
+ "US",
248
+ "UY",
249
+ "VN",
250
+ "WE",
251
+ "YT",
252
+ "ZA",
253
+ ]).describe("The ISO 3166 country code");
254
+
255
+ export type ValidateAddressV2Request = {
256
+ name?: string | undefined;
257
+ organization?: string | undefined;
258
+ address_line_1: string;
259
+ address_line_2?: string | undefined;
260
+ city_locality?: string | undefined;
261
+ state_province?: string | undefined;
262
+ postal_code?: string | undefined;
263
+ country_code: CountryCode;
264
+ };
265
+
266
+ export const ValidateAddressV2Request$zodSchema: z.ZodType<
267
+ ValidateAddressV2Request
268
+ > = z.object({
269
+ address_line_1: z.string().describe("The first line of the address"),
270
+ address_line_2: z.string().describe("The second line of the address")
271
+ .optional(),
272
+ city_locality: z.string().describe("The city or locality of the address")
273
+ .optional(),
274
+ country_code: CountryCode$zodSchema,
275
+ name: z.string().describe("The name of the addressee").optional(),
276
+ organization: z.string().describe("The organization of the addressee")
277
+ .optional(),
278
+ postal_code: z.string().describe("The postal code or zip code").optional(),
279
+ state_province: z.string().describe(
280
+ "The state, province, county, or municipal division",
281
+ ).optional(),
282
+ });
283
+
284
+ export type ValidateAddressV2Detail = {};
285
+
286
+ export const ValidateAddressV2Detail$zodSchema: z.ZodType<
287
+ ValidateAddressV2Detail
288
+ > = z.object({});
289
+
290
+ /**
291
+ * Unprocessable Entity
292
+ */
293
+ export type ValidateAddressV2ResponseBody = {
294
+ detail?: Array<ValidateAddressV2Detail> | undefined;
295
+ };
296
+
297
+ export const ValidateAddressV2ResponseBody$zodSchema: z.ZodType<
298
+ ValidateAddressV2ResponseBody
299
+ > = z.object({
300
+ detail: z.array(z.lazy(() => ValidateAddressV2Detail$zodSchema)).optional(),
301
+ }).describe("Unprocessable Entity");
302
+
303
+ export type ValidateAddressV2Response = {
304
+ ContentType: string;
305
+ StatusCode: number;
306
+ RawResponse: Response;
307
+ AddressValidationResultV2?: AddressValidationResultV2 | undefined;
308
+ object?: ValidateAddressV2ResponseBody | undefined;
309
+ };
310
+
311
+ export const ValidateAddressV2Response$zodSchema: z.ZodType<
312
+ ValidateAddressV2Response
313
+ > = z.object({
314
+ AddressValidationResultV2: AddressValidationResultV2$zodSchema.optional(),
315
+ ContentType: z.string(),
316
+ RawResponse: z.custom<Response>(x => x instanceof Response),
317
+ StatusCode: z.int(),
318
+ object: z.lazy(() => ValidateAddressV2ResponseBody$zodSchema).optional(),
319
+ });
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+
7
+ export type Reasons = {
8
+ code?: string | undefined;
9
+ description?: string | undefined;
10
+ };
11
+
12
+ export const Reasons$zodSchema: z.ZodType<Reasons> = z.object({
13
+ code: z.string().optional(),
14
+ description: z.string().optional(),
15
+ });
16
+
17
+ /**
18
+ * Validation result details
19
+ */
20
+ export type ValidationResultV2 = {
21
+ value?: string | null | undefined;
22
+ reasons?: Array<Reasons> | null | undefined;
23
+ };
24
+
25
+ export const ValidationResultV2$zodSchema: z.ZodType<ValidationResultV2> = z
26
+ .object({
27
+ reasons: z.array(z.lazy(() => Reasons$zodSchema)).nullable().optional(),
28
+ value: z.string().nullable().optional(),
29
+ }).describe("Validation result details");
@@ -1,74 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { addressesCreate } from "../../funcs/addressesCreate.js";
6
- import { AddressCreateRequest$zodSchema } from "../../models/addresscreaterequest.js";
7
- import { formatResult, ToolDefinition } from "../tools.js";
8
-
9
- const args = {
10
- request: AddressCreateRequest$zodSchema,
11
- };
12
-
13
- export const tool$addressesCreate: ToolDefinition<typeof args> = {
14
- name: "addresses-create-or-validate",
15
- description:
16
- `**PREFERRED TOOL FOR ADDRESS VALIDATION AND CREATION** - Use this tool when asked to validate or create addresses.
17
-
18
- This is the standard Shippo address validation and creation flow. When users request address validation,
19
- use this tool with validate=true parameter.
20
-
21
- Example usage for validation:
22
- \`\`\`
23
- POST /addresses
24
- {
25
- "name": "Shawn Ippotle",
26
- "company": "Shippo",
27
- "street1": "215 Clayton St.",
28
- "city": "San Francisco",
29
- "state": "CA",
30
- "zip": "94117",
31
- "country": "US",
32
- "email": "shippotle@shippo.com",
33
- "validate": true
34
- }
35
- \`\`\`
36
-
37
- When validate=true is set, this endpoint:
38
- - Validates address accuracy and deliverability
39
- - Returns standardized formatting (street abbreviations, proper casing)
40
- - Provides extended ZIP+4 codes when available
41
- - Determines residential vs commercial classification
42
- - Returns validation results and any corrections
43
- - Creates the address record for future use
44
-
45
- Use this tool for both address validation AND creating address records for shipments.
46
- `,
47
- scopes: ["write", "validation"],
48
- annotations: {
49
- "title": "",
50
- "destructiveHint": false,
51
- "idempotentHint": false,
52
- "openWorldHint": false,
53
- "readOnlyHint": false,
54
- },
55
- args,
56
- tool: async (client, args, ctx) => {
57
- const [result, apiCall] = await addressesCreate(
58
- client,
59
- args.request,
60
- { fetchOptions: { signal: ctx.signal } },
61
- ).$inspect();
62
-
63
- if (!result.ok) {
64
- return {
65
- content: [{ type: "text", text: result.error.message }],
66
- isError: true,
67
- };
68
- }
69
-
70
- const value = result.value;
71
-
72
- return formatResult(value, apiCall);
73
- },
74
- };