ebay-mcp 1.4.3

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 (205) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +586 -0
  3. package/build/api/account-management/account.d.ts +216 -0
  4. package/build/api/account-management/account.js +305 -0
  5. package/build/api/analytics-and-report/analytics.d.ts +33 -0
  6. package/build/api/analytics-and-report/analytics.js +102 -0
  7. package/build/api/client.d.ts +89 -0
  8. package/build/api/client.js +343 -0
  9. package/build/api/communication/feedback.d.ts +45 -0
  10. package/build/api/communication/feedback.js +119 -0
  11. package/build/api/communication/message.d.ts +55 -0
  12. package/build/api/communication/message.js +131 -0
  13. package/build/api/communication/negotiation.d.ts +39 -0
  14. package/build/api/communication/negotiation.js +97 -0
  15. package/build/api/communication/notification.d.ts +128 -0
  16. package/build/api/communication/notification.js +373 -0
  17. package/build/api/index.d.ts +96 -0
  18. package/build/api/index.js +121 -0
  19. package/build/api/listing-management/inventory.d.ts +216 -0
  20. package/build/api/listing-management/inventory.js +633 -0
  21. package/build/api/listing-metadata/metadata.d.ts +154 -0
  22. package/build/api/listing-metadata/metadata.js +485 -0
  23. package/build/api/listing-metadata/taxonomy.d.ts +38 -0
  24. package/build/api/listing-metadata/taxonomy.js +58 -0
  25. package/build/api/marketing-and-promotions/marketing.d.ts +395 -0
  26. package/build/api/marketing-and-promotions/marketing.js +565 -0
  27. package/build/api/marketing-and-promotions/recommendation.d.ts +20 -0
  28. package/build/api/marketing-and-promotions/recommendation.js +32 -0
  29. package/build/api/order-management/dispute.d.ts +65 -0
  30. package/build/api/order-management/dispute.js +69 -0
  31. package/build/api/order-management/fulfillment.d.ts +80 -0
  32. package/build/api/order-management/fulfillment.js +89 -0
  33. package/build/api/other/compliance.d.ts +26 -0
  34. package/build/api/other/compliance.js +47 -0
  35. package/build/api/other/edelivery.d.ts +153 -0
  36. package/build/api/other/edelivery.js +219 -0
  37. package/build/api/other/identity.d.ts +17 -0
  38. package/build/api/other/identity.js +24 -0
  39. package/build/api/other/translation.d.ts +14 -0
  40. package/build/api/other/translation.js +22 -0
  41. package/build/api/other/vero.d.ts +30 -0
  42. package/build/api/other/vero.js +48 -0
  43. package/build/auth/oauth-metadata.d.ts +46 -0
  44. package/build/auth/oauth-metadata.js +59 -0
  45. package/build/auth/oauth-middleware.d.ts +35 -0
  46. package/build/auth/oauth-middleware.js +99 -0
  47. package/build/auth/oauth-types.d.ts +66 -0
  48. package/build/auth/oauth-types.js +4 -0
  49. package/build/auth/oauth.d.ts +93 -0
  50. package/build/auth/oauth.js +383 -0
  51. package/build/auth/scope-utils.d.ts +70 -0
  52. package/build/auth/scope-utils.js +304 -0
  53. package/build/auth/token-verifier.d.ts +57 -0
  54. package/build/auth/token-verifier.js +172 -0
  55. package/build/config/environment.d.ts +61 -0
  56. package/build/config/environment.js +260 -0
  57. package/build/index.d.ts +1 -0
  58. package/build/index.js +98 -0
  59. package/build/schemas/account-management/account.d.ts +5324 -0
  60. package/build/schemas/account-management/account.js +366 -0
  61. package/build/schemas/analytics/analytics.d.ts +167 -0
  62. package/build/schemas/analytics/analytics.js +191 -0
  63. package/build/schemas/communication/messages.d.ts +1872 -0
  64. package/build/schemas/communication/messages.js +348 -0
  65. package/build/schemas/fulfillment/orders.d.ts +4655 -0
  66. package/build/schemas/fulfillment/orders.js +317 -0
  67. package/build/schemas/index.d.ts +2100 -0
  68. package/build/schemas/index.js +68 -0
  69. package/build/schemas/inventory-management/inventory.d.ts +6419 -0
  70. package/build/schemas/inventory-management/inventory.js +450 -0
  71. package/build/schemas/marketing/marketing.d.ts +14181 -0
  72. package/build/schemas/marketing/marketing.js +1088 -0
  73. package/build/schemas/metadata/metadata.d.ts +5259 -0
  74. package/build/schemas/metadata/metadata.js +614 -0
  75. package/build/schemas/other/other-apis.d.ts +257 -0
  76. package/build/schemas/other/other-apis.js +372 -0
  77. package/build/schemas/taxonomy/taxonomy.d.ts +215 -0
  78. package/build/schemas/taxonomy/taxonomy.js +571 -0
  79. package/build/scripts/auto-setup.d.ts +12 -0
  80. package/build/scripts/auto-setup.js +277 -0
  81. package/build/scripts/diagnostics.d.ts +8 -0
  82. package/build/scripts/diagnostics.js +299 -0
  83. package/build/scripts/download-specs.d.ts +1 -0
  84. package/build/scripts/download-specs.js +116 -0
  85. package/build/scripts/interactive-setup.d.ts +21 -0
  86. package/build/scripts/interactive-setup.js +723 -0
  87. package/build/server-http.d.ts +11 -0
  88. package/build/server-http.js +361 -0
  89. package/build/tools/definitions/account-with-schemas.d.ts +39 -0
  90. package/build/tools/definitions/account-with-schemas.js +170 -0
  91. package/build/tools/definitions/account.d.ts +12 -0
  92. package/build/tools/definitions/account.js +428 -0
  93. package/build/tools/definitions/analytics.d.ts +25 -0
  94. package/build/tools/definitions/analytics.js +66 -0
  95. package/build/tools/definitions/communication.d.ts +12 -0
  96. package/build/tools/definitions/communication.js +151 -0
  97. package/build/tools/definitions/fulfillment.d.ts +12 -0
  98. package/build/tools/definitions/fulfillment.js +326 -0
  99. package/build/tools/definitions/index.d.ts +25 -0
  100. package/build/tools/definitions/index.js +37 -0
  101. package/build/tools/definitions/inventory.d.ts +12 -0
  102. package/build/tools/definitions/inventory.js +429 -0
  103. package/build/tools/definitions/marketing.d.ts +12 -0
  104. package/build/tools/definitions/marketing.js +1095 -0
  105. package/build/tools/definitions/metadata.d.ts +12 -0
  106. package/build/tools/definitions/metadata.js +188 -0
  107. package/build/tools/definitions/other.d.ts +13 -0
  108. package/build/tools/definitions/other.js +309 -0
  109. package/build/tools/definitions/taxonomy.d.ts +25 -0
  110. package/build/tools/definitions/taxonomy.js +64 -0
  111. package/build/tools/definitions/token-management.d.ts +35 -0
  112. package/build/tools/definitions/token-management.js +103 -0
  113. package/build/tools/index.d.ts +11 -0
  114. package/build/tools/index.js +1003 -0
  115. package/build/tools/schemas.d.ts +14764 -0
  116. package/build/tools/schemas.js +667 -0
  117. package/build/tools/tool-definitions.d.ts +35 -0
  118. package/build/tools/tool-definitions.js +3534 -0
  119. package/build/types/application-settings/developerAnalyticsV1BetaOas3.d.ts +197 -0
  120. package/build/types/application-settings/developerAnalyticsV1BetaOas3.js +5 -0
  121. package/build/types/application-settings/developerClientRegistrationV1Oas3.d.ts +155 -0
  122. package/build/types/application-settings/developerClientRegistrationV1Oas3.js +5 -0
  123. package/build/types/application-settings/developerKeyManagementV1Oas3.d.ts +246 -0
  124. package/build/types/application-settings/developerKeyManagementV1Oas3.js +5 -0
  125. package/build/types/ebay-enums.d.ts +1204 -0
  126. package/build/types/ebay-enums.js +1330 -0
  127. package/build/types/ebay.d.ts +143 -0
  128. package/build/types/ebay.js +123 -0
  129. package/build/types/index.d.ts +6 -0
  130. package/build/types/index.js +10 -0
  131. package/build/types/sell-apps/account-management/sellAccountV1Oas3.d.ts +2579 -0
  132. package/build/types/sell-apps/account-management/sellAccountV1Oas3.js +5 -0
  133. package/build/types/sell-apps/analytics-and-report/sellAnalyticsV1Oas3.d.ts +446 -0
  134. package/build/types/sell-apps/analytics-and-report/sellAnalyticsV1Oas3.js +5 -0
  135. package/build/types/sell-apps/communication/commerceFeedbackV1BetaOas3.d.ts +705 -0
  136. package/build/types/sell-apps/communication/commerceFeedbackV1BetaOas3.js +5 -0
  137. package/build/types/sell-apps/communication/commerceMessageV1Oas3.d.ts +590 -0
  138. package/build/types/sell-apps/communication/commerceMessageV1Oas3.js +5 -0
  139. package/build/types/sell-apps/communication/commerceNotificationV1Oas3.d.ts +1276 -0
  140. package/build/types/sell-apps/communication/commerceNotificationV1Oas3.js +5 -0
  141. package/build/types/sell-apps/communication/sellNegotiationV1Oas3.d.ts +277 -0
  142. package/build/types/sell-apps/communication/sellNegotiationV1Oas3.js +5 -0
  143. package/build/types/sell-apps/listing-management/sellInventoryV1Oas3.d.ts +3133 -0
  144. package/build/types/sell-apps/listing-management/sellInventoryV1Oas3.js +5 -0
  145. package/build/types/sell-apps/listing-metadata/sellMetadataV1Oas3.d.ts +2289 -0
  146. package/build/types/sell-apps/listing-metadata/sellMetadataV1Oas3.js +5 -0
  147. package/build/types/sell-apps/markeitng-and-promotions/sellMarketingV1Oas3.d.ts +6650 -0
  148. package/build/types/sell-apps/markeitng-and-promotions/sellMarketingV1Oas3.js +5 -0
  149. package/build/types/sell-apps/markeitng-and-promotions/sellRecommendationV1Oas3.d.ts +172 -0
  150. package/build/types/sell-apps/markeitng-and-promotions/sellRecommendationV1Oas3.js +5 -0
  151. package/build/types/sell-apps/order-management/sellFulfillmentV1Oas3.d.ts +1869 -0
  152. package/build/types/sell-apps/order-management/sellFulfillmentV1Oas3.js +5 -0
  153. package/build/types/sell-apps/other-apis/commerceIdentityV1Oas3.d.ts +178 -0
  154. package/build/types/sell-apps/other-apis/commerceIdentityV1Oas3.js +5 -0
  155. package/build/types/sell-apps/other-apis/commerceTranslationV1BetaOas3.d.ts +128 -0
  156. package/build/types/sell-apps/other-apis/commerceTranslationV1BetaOas3.js +5 -0
  157. package/build/types/sell-apps/other-apis/commerceVeroV1Oas3.d.ts +417 -0
  158. package/build/types/sell-apps/other-apis/commerceVeroV1Oas3.js +5 -0
  159. package/build/types/sell-apps/other-apis/sellComplianceV1Oas3.d.ts +273 -0
  160. package/build/types/sell-apps/other-apis/sellComplianceV1Oas3.js +5 -0
  161. package/build/types/sell-apps/other-apis/sellEdeliveryInternationalShippingOas3.d.ts +2537 -0
  162. package/build/types/sell-apps/other-apis/sellEdeliveryInternationalShippingOas3.js +5 -0
  163. package/build/types/sell-apps/other-apis/sellMarketingV1Oas3.d.ts +6650 -0
  164. package/build/types/sell-apps/other-apis/sellMarketingV1Oas3.js +5 -0
  165. package/build/types/sell-apps/other-apis/sellRecommendationV1Oas3.d.ts +172 -0
  166. package/build/types/sell-apps/other-apis/sellRecommendationV1Oas3.js +5 -0
  167. package/build/utils/account-management/account.d.ts +1094 -0
  168. package/build/utils/account-management/account.js +831 -0
  169. package/build/utils/communication/feedback.d.ts +152 -0
  170. package/build/utils/communication/feedback.js +216 -0
  171. package/build/utils/communication/message.d.ts +174 -0
  172. package/build/utils/communication/message.js +242 -0
  173. package/build/utils/communication/negotiation.d.ts +123 -0
  174. package/build/utils/communication/negotiation.js +150 -0
  175. package/build/utils/communication/notification.d.ts +370 -0
  176. package/build/utils/communication/notification.js +369 -0
  177. package/build/utils/date-converter.d.ts +59 -0
  178. package/build/utils/date-converter.js +160 -0
  179. package/build/utils/llm-client-detector.d.ts +54 -0
  180. package/build/utils/llm-client-detector.js +318 -0
  181. package/build/utils/oauth-helper.d.ts +37 -0
  182. package/build/utils/oauth-helper.js +315 -0
  183. package/build/utils/order-management/dispute.d.ts +346 -0
  184. package/build/utils/order-management/dispute.js +369 -0
  185. package/build/utils/order-management/fulfillment.d.ts +200 -0
  186. package/build/utils/order-management/fulfillment.js +205 -0
  187. package/build/utils/other/compliance.d.ts +49 -0
  188. package/build/utils/other/compliance.js +76 -0
  189. package/build/utils/other/edelivery.d.ts +310 -0
  190. package/build/utils/other/edelivery.js +241 -0
  191. package/build/utils/other/identity.d.ts +13 -0
  192. package/build/utils/other/identity.js +13 -0
  193. package/build/utils/other/translation.d.ts +28 -0
  194. package/build/utils/other/translation.js +41 -0
  195. package/build/utils/other/vero.d.ts +61 -0
  196. package/build/utils/other/vero.js +90 -0
  197. package/build/utils/scope-helper.d.ts +49 -0
  198. package/build/utils/scope-helper.js +207 -0
  199. package/build/utils/security-checker.d.ts +46 -0
  200. package/build/utils/security-checker.js +248 -0
  201. package/build/utils/setup-validator.d.ts +25 -0
  202. package/build/utils/setup-validator.js +305 -0
  203. package/build/utils/token-utils.d.ts +40 -0
  204. package/build/utils/token-utils.js +40 -0
  205. package/package.json +115 -0
@@ -0,0 +1,317 @@
1
+ import { z } from 'zod';
2
+ import { zodToJsonSchema } from 'zod-to-json-schema';
3
+ import { ReasonForRefund } from '../../types/ebay-enums.js';
4
+ /**
5
+ * Fulfillment/Order Management API Schemas
6
+ *
7
+ * This file contains Zod schemas for all Order Management and Fulfillment endpoints.
8
+ */
9
+ // ============================================================================
10
+ // Common Schemas
11
+ // ============================================================================
12
+ const errorSchema = z.object({
13
+ errorId: z.number().optional(),
14
+ domain: z.string().optional(),
15
+ category: z.string().optional(),
16
+ message: z.string().optional(),
17
+ longMessage: z.string().optional(),
18
+ parameters: z.array(z.object({
19
+ name: z.string().optional(),
20
+ value: z.string().optional(),
21
+ })).optional(),
22
+ });
23
+ const amountSchema = z.object({
24
+ currency: z.string(),
25
+ value: z.string(),
26
+ convertedFromCurrency: z.string().optional(),
27
+ convertedFromValue: z.string().optional(),
28
+ exchangeRate: z.string().optional(),
29
+ });
30
+ const addressSchema = z.object({
31
+ addressLine1: z.string().optional(),
32
+ addressLine2: z.string().optional(),
33
+ city: z.string().optional(),
34
+ stateOrProvince: z.string().optional(),
35
+ postalCode: z.string().optional(),
36
+ countryCode: z.string().optional(),
37
+ });
38
+ // ============================================================================
39
+ // Order Schemas
40
+ // ============================================================================
41
+ const buyerSchema = z.object({
42
+ username: z.string().optional(),
43
+ taxAddress: addressSchema.optional(),
44
+ taxIdentifier: z.object({
45
+ taxpayerId: z.string().optional(),
46
+ taxIdentifierType: z.string().optional(),
47
+ issuingCountry: z.string().optional(),
48
+ }).optional(),
49
+ });
50
+ const lineItemSchema = z.object({
51
+ lineItemId: z.string().optional(),
52
+ legacyItemId: z.string().optional(),
53
+ legacyVariationId: z.string().optional(),
54
+ sku: z.string().optional(),
55
+ title: z.string().optional(),
56
+ quantity: z.number().optional(),
57
+ lineItemCost: amountSchema.optional(),
58
+ lineItemFulfillmentStatus: z.string().optional(),
59
+ lineItemFulfillmentInstructions: z.object({
60
+ guaranteedDelivery: z.boolean().optional(),
61
+ minEstimatedDeliveryDate: z.string().optional(),
62
+ maxEstimatedDeliveryDate: z.string().optional(),
63
+ shipByDate: z.string().optional(),
64
+ }).optional(),
65
+ total: amountSchema.optional(),
66
+ deliveryCost: amountSchema.optional(),
67
+ taxes: z.array(z.object({
68
+ taxType: z.string().optional(),
69
+ amount: amountSchema.optional(),
70
+ })).optional(),
71
+ itemLocation: addressSchema.optional(),
72
+ properties: z.object({
73
+ soldViaAdCampaign: z.boolean().optional(),
74
+ buyerProtection: z.boolean().optional(),
75
+ }).optional(),
76
+ purchaseMarketplaceId: z.string().optional(),
77
+ });
78
+ const shippingFulfillmentSchema = z.object({
79
+ fulfillmentId: z.string().optional(),
80
+ lineItems: z.array(z.object({
81
+ lineItemId: z.string().optional(),
82
+ quantity: z.number().optional(),
83
+ })).optional(),
84
+ shippedDate: z.string().optional(),
85
+ shippingCarrierCode: z.string().optional(),
86
+ trackingNumber: z.string().optional(),
87
+ });
88
+ const orderSchema = z.object({
89
+ orderId: z.string().optional(),
90
+ legacyOrderId: z.string().optional(),
91
+ creationDate: z.string().optional(),
92
+ lastModifiedDate: z.string().optional(),
93
+ orderFulfillmentStatus: z.string().optional(),
94
+ orderPaymentStatus: z.string().optional(),
95
+ sellerId: z.string().optional(),
96
+ buyer: buyerSchema.optional(),
97
+ pricingSummary: z.object({
98
+ priceSubtotal: amountSchema.optional(),
99
+ deliveryCost: amountSchema.optional(),
100
+ deliveryDiscount: amountSchema.optional(),
101
+ tax: amountSchema.optional(),
102
+ total: amountSchema.optional(),
103
+ }).optional(),
104
+ cancelStatus: z.object({
105
+ cancelState: z.string().optional(),
106
+ cancelRequests: z.array(z.object({
107
+ cancelCompletedDate: z.string().optional(),
108
+ cancelInitiator: z.string().optional(),
109
+ cancelReason: z.string().optional(),
110
+ cancelRequestedDate: z.string().optional(),
111
+ cancelRequestId: z.string().optional(),
112
+ cancelRequestState: z.string().optional(),
113
+ })).optional(),
114
+ }).optional(),
115
+ lineItems: z.array(lineItemSchema).optional(),
116
+ fulfillmentStartInstructions: z.array(z.object({
117
+ fulfillmentInstructionsType: z.string().optional(),
118
+ minEstimatedDeliveryDate: z.string().optional(),
119
+ maxEstimatedDeliveryDate: z.string().optional(),
120
+ shipByDate: z.string().optional(),
121
+ shippingStep: z.object({
122
+ shipTo: addressSchema.optional(),
123
+ shipToReferenceId: z.string().optional(),
124
+ shippingCarrierCode: z.string().optional(),
125
+ shippingServiceCode: z.string().optional(),
126
+ }).optional(),
127
+ })).optional(),
128
+ fulfillmentHrefs: z.array(z.string()).optional(),
129
+ paymentSummary: z.object({
130
+ payments: z.array(z.object({
131
+ paymentDate: z.string().optional(),
132
+ paymentMethod: z.string().optional(),
133
+ paymentReferenceId: z.string().optional(),
134
+ paymentStatus: z.string().optional(),
135
+ amount: amountSchema.optional(),
136
+ })).optional(),
137
+ refunds: z.array(z.object({
138
+ refundDate: z.string().optional(),
139
+ refundId: z.string().optional(),
140
+ refundReferenceId: z.string().optional(),
141
+ refundStatus: z.string().optional(),
142
+ amount: amountSchema.optional(),
143
+ })).optional(),
144
+ totalDueSeller: amountSchema.optional(),
145
+ }).optional(),
146
+ salesRecordReference: z.string().optional(),
147
+ totalFeeBasisAmount: amountSchema.optional(),
148
+ totalMarketplaceFee: amountSchema.optional(),
149
+ });
150
+ export const getOrdersInputSchema = z.object({
151
+ filter: z.string().optional()
152
+ .describe('Filter criteria for orders (e.g., creationdate:[2024-01-01..2024-12-31])'),
153
+ limit: z.number().optional()
154
+ .describe('Number of orders to return per page'),
155
+ offset: z.number().optional()
156
+ .describe('Number of orders to skip for pagination'),
157
+ orderIds: z.string().optional()
158
+ .describe('Comma-separated list of order IDs'),
159
+ });
160
+ export const getOrdersOutputSchema = z.object({
161
+ orders: z.array(orderSchema).optional(),
162
+ href: z.string().optional(),
163
+ limit: z.number().optional(),
164
+ next: z.string().optional(),
165
+ offset: z.number().optional(),
166
+ prev: z.string().optional(),
167
+ total: z.number().optional(),
168
+ warnings: z.array(errorSchema).optional(),
169
+ });
170
+ export const getOrderInputSchema = z.object({
171
+ orderId: z.string()
172
+ .describe('The unique identifier of the order'),
173
+ });
174
+ export const getOrderOutputSchema = orderSchema.extend({
175
+ warnings: z.array(errorSchema).optional(),
176
+ });
177
+ // ============================================================================
178
+ // Shipping Fulfillment Schemas
179
+ // ============================================================================
180
+ export const createShippingFulfillmentInputSchema = z.object({
181
+ orderId: z.string()
182
+ .describe('The unique identifier of the order'),
183
+ fulfillment: z.object({
184
+ lineItems: z.array(z.object({
185
+ lineItemId: z.string(),
186
+ quantity: z.number().optional(),
187
+ }))
188
+ .describe('Line items to fulfill'),
189
+ shippedDate: z.string().optional()
190
+ .describe('Date the items were shipped (ISO 8601 format)'),
191
+ shippingCarrierCode: z.string().optional()
192
+ .describe('Shipping carrier code'),
193
+ trackingNumber: z.string().optional()
194
+ .describe('Tracking number for the shipment'),
195
+ }),
196
+ });
197
+ export const createShippingFulfillmentOutputSchema = z.object({
198
+ fulfillmentId: z.string().optional(),
199
+ warnings: z.array(errorSchema).optional(),
200
+ });
201
+ export const getShippingFulfillmentsInputSchema = z.object({
202
+ orderId: z.string()
203
+ .describe('The unique identifier of the order'),
204
+ });
205
+ export const getShippingFulfillmentsOutputSchema = z.object({
206
+ fulfillments: z.array(shippingFulfillmentSchema).optional(),
207
+ warnings: z.array(errorSchema).optional(),
208
+ });
209
+ // ============================================================================
210
+ // Refund Schemas
211
+ // ============================================================================
212
+ const lineItemRefundSchema = z.object({
213
+ lineItemId: z.string(),
214
+ refundAmount: amountSchema.optional(),
215
+ legacyReference: z.object({
216
+ legacyItemId: z.string().optional(),
217
+ legacyTransactionId: z.string().optional(),
218
+ }).optional(),
219
+ });
220
+ export const issueRefundInputSchema = z.object({
221
+ orderId: z.string()
222
+ .describe('The unique identifier of the order'),
223
+ refundData: z.object({
224
+ reasonForRefund: z.nativeEnum(ReasonForRefund)
225
+ .describe('Reason for issuing the refund'),
226
+ comment: z.string().optional()
227
+ .describe('Optional comment about the refund'),
228
+ refundItems: z.array(lineItemRefundSchema).optional()
229
+ .describe('Line items to refund'),
230
+ orderLevelRefundAmount: amountSchema.optional()
231
+ .describe('Order-level refund amount (for partial refunds)'),
232
+ }),
233
+ });
234
+ export const issueRefundOutputSchema = z.object({
235
+ refundId: z.string().optional(),
236
+ refundStatus: z.string().optional(),
237
+ warnings: z.array(errorSchema).optional(),
238
+ });
239
+ // ============================================================================
240
+ // Payment Dispute Schemas
241
+ // ============================================================================
242
+ const paymentDisputeSchema = z.object({
243
+ paymentDisputeId: z.string().optional(),
244
+ orderId: z.string().optional(),
245
+ openDate: z.string().optional(),
246
+ respondByDate: z.string().optional(),
247
+ status: z.string().optional(),
248
+ reason: z.string().optional(),
249
+ amount: amountSchema.optional(),
250
+ buyer: buyerSchema.optional(),
251
+ lineItems: z.array(lineItemSchema).optional(),
252
+ evidence: z.array(z.object({
253
+ evidenceId: z.string().optional(),
254
+ evidenceType: z.string().optional(),
255
+ files: z.array(z.object({
256
+ fileId: z.string().optional(),
257
+ name: z.string().optional(),
258
+ uploadedDate: z.string().optional(),
259
+ })).optional(),
260
+ lineItems: z.array(z.object({
261
+ lineItemId: z.string().optional(),
262
+ })).optional(),
263
+ })).optional(),
264
+ });
265
+ export const getPaymentDisputesInputSchema = z.object({
266
+ orderIds: z.string().optional()
267
+ .describe('Comma-separated list of order IDs'),
268
+ buyerUsername: z.string().optional()
269
+ .describe('Filter by buyer username'),
270
+ openDateFrom: z.string().optional()
271
+ .describe('Start date for dispute open date filter'),
272
+ openDateTo: z.string().optional()
273
+ .describe('End date for dispute open date filter'),
274
+ limit: z.number().optional()
275
+ .describe('Number of disputes to return'),
276
+ offset: z.number().optional()
277
+ .describe('Number of disputes to skip'),
278
+ });
279
+ export const getPaymentDisputesOutputSchema = z.object({
280
+ paymentDisputes: z.array(paymentDisputeSchema).optional(),
281
+ href: z.string().optional(),
282
+ limit: z.number().optional(),
283
+ next: z.string().optional(),
284
+ offset: z.number().optional(),
285
+ prev: z.string().optional(),
286
+ total: z.number().optional(),
287
+ warnings: z.array(errorSchema).optional(),
288
+ });
289
+ // ============================================================================
290
+ // JSON Schema Conversion Functions
291
+ // ============================================================================
292
+ /**
293
+ * Convert Zod schemas to JSON Schema format for MCP tools
294
+ */
295
+ export function getFulfillmentJsonSchemas() {
296
+ return {
297
+ // Orders
298
+ getOrdersInput: zodToJsonSchema(getOrdersInputSchema, 'getOrdersInput'),
299
+ getOrdersOutput: zodToJsonSchema(getOrdersOutputSchema, 'getOrdersOutput'),
300
+ getOrderInput: zodToJsonSchema(getOrderInputSchema, 'getOrderInput'),
301
+ getOrderOutput: zodToJsonSchema(getOrderOutputSchema, 'getOrderOutput'),
302
+ orderDetails: zodToJsonSchema(orderSchema, 'orderDetails'),
303
+ // Shipping Fulfillment
304
+ createShippingFulfillmentInput: zodToJsonSchema(createShippingFulfillmentInputSchema, 'createShippingFulfillmentInput'),
305
+ createShippingFulfillmentOutput: zodToJsonSchema(createShippingFulfillmentOutputSchema, 'createShippingFulfillmentOutput'),
306
+ getShippingFulfillmentsInput: zodToJsonSchema(getShippingFulfillmentsInputSchema, 'getShippingFulfillmentsInput'),
307
+ getShippingFulfillmentsOutput: zodToJsonSchema(getShippingFulfillmentsOutputSchema, 'getShippingFulfillmentsOutput'),
308
+ shippingFulfillmentDetails: zodToJsonSchema(shippingFulfillmentSchema, 'shippingFulfillmentDetails'),
309
+ // Refunds
310
+ issueRefundInput: zodToJsonSchema(issueRefundInputSchema, 'issueRefundInput'),
311
+ issueRefundOutput: zodToJsonSchema(issueRefundOutputSchema, 'issueRefundOutput'),
312
+ // Payment Disputes
313
+ getPaymentDisputesInput: zodToJsonSchema(getPaymentDisputesInputSchema, 'getPaymentDisputesInput'),
314
+ getPaymentDisputesOutput: zodToJsonSchema(getPaymentDisputesOutputSchema, 'getPaymentDisputesOutput'),
315
+ paymentDisputeDetails: zodToJsonSchema(paymentDisputeSchema, 'paymentDisputeDetails'),
316
+ };
317
+ }