@unifiedcommerce/plugin-marketplace 0.0.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 (122) hide show
  1. package/README.md +479 -0
  2. package/dist/analytics-models.d.ts +13 -0
  3. package/dist/analytics-models.d.ts.map +1 -0
  4. package/dist/analytics-models.js +69 -0
  5. package/dist/hooks.d.ts +4 -0
  6. package/dist/hooks.d.ts.map +1 -0
  7. package/dist/hooks.js +187 -0
  8. package/dist/index.d.ts +4 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +105 -0
  11. package/dist/mcp-tools.d.ts +21 -0
  12. package/dist/mcp-tools.d.ts.map +1 -0
  13. package/dist/mcp-tools.js +183 -0
  14. package/dist/routes/b2b.d.ts +9 -0
  15. package/dist/routes/b2b.d.ts.map +1 -0
  16. package/dist/routes/b2b.js +156 -0
  17. package/dist/routes/commission.d.ts +6 -0
  18. package/dist/routes/commission.d.ts.map +1 -0
  19. package/dist/routes/commission.js +85 -0
  20. package/dist/routes/disputes-returns-reviews.d.ts +10 -0
  21. package/dist/routes/disputes-returns-reviews.d.ts.map +1 -0
  22. package/dist/routes/disputes-returns-reviews.js +179 -0
  23. package/dist/routes/payouts.d.ts +6 -0
  24. package/dist/routes/payouts.d.ts.map +1 -0
  25. package/dist/routes/payouts.js +40 -0
  26. package/dist/routes/sub-orders.d.ts +6 -0
  27. package/dist/routes/sub-orders.d.ts.map +1 -0
  28. package/dist/routes/sub-orders.js +44 -0
  29. package/dist/routes/util.d.ts +23 -0
  30. package/dist/routes/util.d.ts.map +1 -0
  31. package/dist/routes/util.js +41 -0
  32. package/dist/routes/vendor-portal.d.ts +14 -0
  33. package/dist/routes/vendor-portal.d.ts.map +1 -0
  34. package/dist/routes/vendor-portal.js +255 -0
  35. package/dist/routes/vendors.d.ts +11 -0
  36. package/dist/routes/vendors.d.ts.map +1 -0
  37. package/dist/routes/vendors.js +185 -0
  38. package/dist/schema.d.ts +3255 -0
  39. package/dist/schema.d.ts.map +1 -0
  40. package/dist/schema.js +225 -0
  41. package/dist/schemas/b2b.d.ts +1009 -0
  42. package/dist/schemas/b2b.d.ts.map +1 -0
  43. package/dist/schemas/b2b.js +208 -0
  44. package/dist/schemas/commission.d.ts +532 -0
  45. package/dist/schemas/commission.d.ts.map +1 -0
  46. package/dist/schemas/commission.js +113 -0
  47. package/dist/schemas/disputes-returns-reviews.d.ts +1405 -0
  48. package/dist/schemas/disputes-returns-reviews.d.ts.map +1 -0
  49. package/dist/schemas/disputes-returns-reviews.js +270 -0
  50. package/dist/schemas/payouts.d.ts +375 -0
  51. package/dist/schemas/payouts.d.ts.map +1 -0
  52. package/dist/schemas/payouts.js +78 -0
  53. package/dist/schemas/sub-orders.d.ts +303 -0
  54. package/dist/schemas/sub-orders.d.ts.map +1 -0
  55. package/dist/schemas/sub-orders.js +67 -0
  56. package/dist/schemas/vendor-portal.d.ts +1785 -0
  57. package/dist/schemas/vendor-portal.d.ts.map +1 -0
  58. package/dist/schemas/vendor-portal.js +294 -0
  59. package/dist/schemas/vendors.d.ts +1348 -0
  60. package/dist/schemas/vendors.d.ts.map +1 -0
  61. package/dist/schemas/vendors.js +245 -0
  62. package/dist/services/commission.d.ts +81 -0
  63. package/dist/services/commission.d.ts.map +1 -0
  64. package/dist/services/commission.js +98 -0
  65. package/dist/services/contract-price.d.ts +64 -0
  66. package/dist/services/contract-price.d.ts.map +1 -0
  67. package/dist/services/contract-price.js +57 -0
  68. package/dist/services/dispute.d.ts +156 -0
  69. package/dist/services/dispute.d.ts.map +1 -0
  70. package/dist/services/dispute.js +77 -0
  71. package/dist/services/payout.d.ts +126 -0
  72. package/dist/services/payout.d.ts.map +1 -0
  73. package/dist/services/payout.js +130 -0
  74. package/dist/services/return.d.ts +181 -0
  75. package/dist/services/return.d.ts.map +1 -0
  76. package/dist/services/return.js +80 -0
  77. package/dist/services/review.d.ts +70 -0
  78. package/dist/services/review.d.ts.map +1 -0
  79. package/dist/services/review.js +60 -0
  80. package/dist/services/rfq.d.ts +122 -0
  81. package/dist/services/rfq.d.ts.map +1 -0
  82. package/dist/services/rfq.js +60 -0
  83. package/dist/services/sub-order.d.ts +336 -0
  84. package/dist/services/sub-order.d.ts.map +1 -0
  85. package/dist/services/sub-order.js +121 -0
  86. package/dist/services/vendor.d.ts +528 -0
  87. package/dist/services/vendor.d.ts.map +1 -0
  88. package/dist/services/vendor.js +119 -0
  89. package/dist/types.d.ts +67 -0
  90. package/dist/types.d.ts.map +1 -0
  91. package/dist/types.js +13 -0
  92. package/package.json +43 -0
  93. package/src/analytics-models.ts +75 -0
  94. package/src/hooks.ts +215 -0
  95. package/src/index.ts +124 -0
  96. package/src/mcp-tools.ts +210 -0
  97. package/src/routes/b2b.ts +179 -0
  98. package/src/routes/commission.ts +95 -0
  99. package/src/routes/disputes-returns-reviews.ts +209 -0
  100. package/src/routes/payouts.ts +49 -0
  101. package/src/routes/sub-orders.ts +54 -0
  102. package/src/routes/util.ts +42 -0
  103. package/src/routes/vendor-portal.ts +277 -0
  104. package/src/routes/vendors.ts +201 -0
  105. package/src/schema.ts +260 -0
  106. package/src/schemas/b2b.ts +238 -0
  107. package/src/schemas/commission.ts +129 -0
  108. package/src/schemas/disputes-returns-reviews.ts +311 -0
  109. package/src/schemas/payouts.ts +90 -0
  110. package/src/schemas/sub-orders.ts +77 -0
  111. package/src/schemas/vendor-portal.ts +344 -0
  112. package/src/schemas/vendors.ts +281 -0
  113. package/src/services/commission.ts +120 -0
  114. package/src/services/contract-price.ts +80 -0
  115. package/src/services/dispute.ts +92 -0
  116. package/src/services/payout.ts +154 -0
  117. package/src/services/return.ts +92 -0
  118. package/src/services/review.ts +76 -0
  119. package/src/services/rfq.ts +82 -0
  120. package/src/services/sub-order.ts +136 -0
  121. package/src/services/vendor.ts +151 -0
  122. package/src/types.ts +164 -0
@@ -0,0 +1,78 @@
1
+ import { z, createRoute } from "@hono/zod-openapi";
2
+ const ErrorSchema = z.object({
3
+ error: z.object({
4
+ code: z.string(),
5
+ message: z.string(),
6
+ }),
7
+ });
8
+ const errorResponses = {
9
+ 401: { content: { "application/json": { schema: ErrorSchema } }, description: "Authentication required." },
10
+ 403: { content: { "application/json": { schema: ErrorSchema } }, description: "Insufficient permissions." },
11
+ 404: { content: { "application/json": { schema: ErrorSchema } }, description: "Not found." },
12
+ 422: { content: { "application/json": { schema: ErrorSchema } }, description: "Validation error." },
13
+ 500: { content: { "application/json": { schema: ErrorSchema } }, description: "Server error." },
14
+ };
15
+ const PayoutResponseSchema = z.object({ data: z.any() });
16
+ // ─── Run Payout Cycle ────────────────────────────────────────────────────────
17
+ export const RunPayoutCycleBodySchema = z.object({
18
+ vendorIds: z.array(z.uuid()).optional().openapi({ description: "Limit payout run to specific vendors" }),
19
+ force: z.boolean().optional().openapi({ description: "Force payout even if below minimum threshold" }),
20
+ }).openapi("RunPayoutCycleRequest");
21
+ export const runPayoutCycleRoute = createRoute({
22
+ method: "post",
23
+ path: "/api/marketplace/payouts/run",
24
+ tags: ["Marketplace - Payouts"],
25
+ summary: "Run a payout cycle",
26
+ request: {
27
+ body: { content: { "application/json": { schema: RunPayoutCycleBodySchema } }, required: true },
28
+ },
29
+ responses: {
30
+ 200: { content: { "application/json": { schema: PayoutResponseSchema } }, description: "Payout cycle completed." },
31
+ ...errorResponses,
32
+ },
33
+ });
34
+ // ─── List Payouts ───────────────────────────────────────────────────────────
35
+ export const listPayoutsRoute = createRoute({
36
+ method: "get",
37
+ path: "/api/marketplace/payouts",
38
+ tags: ["Marketplace - Payouts"],
39
+ summary: "List payouts",
40
+ request: {
41
+ query: z.object({
42
+ vendorId: z.string().optional(),
43
+ status: z.string().optional(),
44
+ }),
45
+ },
46
+ responses: {
47
+ 200: { content: { "application/json": { schema: PayoutResponseSchema } }, description: "Success" },
48
+ ...errorResponses,
49
+ },
50
+ });
51
+ // ─── Retry Payout ───────────────────────────────────────────────────────────
52
+ export const retryPayoutRoute = createRoute({
53
+ method: "post",
54
+ path: "/api/marketplace/payouts/{id}/retry",
55
+ tags: ["Marketplace - Payouts"],
56
+ summary: "Retry a failed payout",
57
+ request: {
58
+ params: z.object({ id: z.uuid() }),
59
+ },
60
+ responses: {
61
+ 200: { content: { "application/json": { schema: PayoutResponseSchema } }, description: "Payout retried." },
62
+ ...errorResponses,
63
+ },
64
+ });
65
+ // ─── Get Payout ─────────────────────────────────────────────────────────────
66
+ export const getPayoutRoute = createRoute({
67
+ method: "get",
68
+ path: "/api/marketplace/payouts/{id}",
69
+ tags: ["Marketplace - Payouts"],
70
+ summary: "Get payout by ID",
71
+ request: {
72
+ params: z.object({ id: z.uuid() }),
73
+ },
74
+ responses: {
75
+ 200: { content: { "application/json": { schema: PayoutResponseSchema } }, description: "Success" },
76
+ ...errorResponses,
77
+ },
78
+ });
@@ -0,0 +1,303 @@
1
+ import { z } from "@hono/zod-openapi";
2
+ export declare const UpdateSubOrderStatusBodySchema: z.ZodObject<{
3
+ status: z.ZodEnum<{
4
+ pending: "pending";
5
+ confirmed: "confirmed";
6
+ processing: "processing";
7
+ shipped: "shipped";
8
+ delivered: "delivered";
9
+ cancelled: "cancelled";
10
+ }>;
11
+ reason: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strip>;
13
+ export declare const updateSubOrderStatusRoute: {
14
+ method: "patch";
15
+ path: "/api/marketplace/sub-orders/{id}/status";
16
+ tags: string[];
17
+ summary: string;
18
+ request: {
19
+ params: z.ZodObject<{
20
+ id: z.ZodUUID;
21
+ }, z.core.$strip>;
22
+ body: {
23
+ content: {
24
+ "application/json": {
25
+ schema: z.ZodObject<{
26
+ status: z.ZodEnum<{
27
+ pending: "pending";
28
+ confirmed: "confirmed";
29
+ processing: "processing";
30
+ shipped: "shipped";
31
+ delivered: "delivered";
32
+ cancelled: "cancelled";
33
+ }>;
34
+ reason: z.ZodOptional<z.ZodString>;
35
+ }, z.core.$strip>;
36
+ };
37
+ };
38
+ required: true;
39
+ };
40
+ };
41
+ responses: {
42
+ 401: {
43
+ readonly content: {
44
+ readonly "application/json": {
45
+ readonly schema: z.ZodObject<{
46
+ error: z.ZodObject<{
47
+ code: z.ZodString;
48
+ message: z.ZodString;
49
+ }, z.core.$strip>;
50
+ }, z.core.$strip>;
51
+ };
52
+ };
53
+ readonly description: "Authentication required.";
54
+ };
55
+ 403: {
56
+ readonly content: {
57
+ readonly "application/json": {
58
+ readonly schema: z.ZodObject<{
59
+ error: z.ZodObject<{
60
+ code: z.ZodString;
61
+ message: z.ZodString;
62
+ }, z.core.$strip>;
63
+ }, z.core.$strip>;
64
+ };
65
+ };
66
+ readonly description: "Insufficient permissions.";
67
+ };
68
+ 404: {
69
+ readonly content: {
70
+ readonly "application/json": {
71
+ readonly schema: z.ZodObject<{
72
+ error: z.ZodObject<{
73
+ code: z.ZodString;
74
+ message: z.ZodString;
75
+ }, z.core.$strip>;
76
+ }, z.core.$strip>;
77
+ };
78
+ };
79
+ readonly description: "Not found.";
80
+ };
81
+ 422: {
82
+ readonly content: {
83
+ readonly "application/json": {
84
+ readonly schema: z.ZodObject<{
85
+ error: z.ZodObject<{
86
+ code: z.ZodString;
87
+ message: z.ZodString;
88
+ }, z.core.$strip>;
89
+ }, z.core.$strip>;
90
+ };
91
+ };
92
+ readonly description: "Validation error.";
93
+ };
94
+ 500: {
95
+ readonly content: {
96
+ readonly "application/json": {
97
+ readonly schema: z.ZodObject<{
98
+ error: z.ZodObject<{
99
+ code: z.ZodString;
100
+ message: z.ZodString;
101
+ }, z.core.$strip>;
102
+ }, z.core.$strip>;
103
+ };
104
+ };
105
+ readonly description: "Server error.";
106
+ };
107
+ 200: {
108
+ content: {
109
+ "application/json": {
110
+ schema: z.ZodObject<{
111
+ data: z.ZodAny;
112
+ }, z.core.$strip>;
113
+ };
114
+ };
115
+ description: string;
116
+ };
117
+ };
118
+ } & {
119
+ getRoutingPath(): "/api/marketplace/sub-orders/:id/status";
120
+ };
121
+ export declare const listSubOrdersRoute: {
122
+ method: "get";
123
+ path: "/api/marketplace/sub-orders";
124
+ tags: string[];
125
+ summary: string;
126
+ request: {
127
+ query: z.ZodObject<{
128
+ orderId: z.ZodOptional<z.ZodString>;
129
+ vendorId: z.ZodOptional<z.ZodString>;
130
+ status: z.ZodOptional<z.ZodString>;
131
+ }, z.core.$strip>;
132
+ };
133
+ responses: {
134
+ 401: {
135
+ readonly content: {
136
+ readonly "application/json": {
137
+ readonly schema: z.ZodObject<{
138
+ error: z.ZodObject<{
139
+ code: z.ZodString;
140
+ message: z.ZodString;
141
+ }, z.core.$strip>;
142
+ }, z.core.$strip>;
143
+ };
144
+ };
145
+ readonly description: "Authentication required.";
146
+ };
147
+ 403: {
148
+ readonly content: {
149
+ readonly "application/json": {
150
+ readonly schema: z.ZodObject<{
151
+ error: z.ZodObject<{
152
+ code: z.ZodString;
153
+ message: z.ZodString;
154
+ }, z.core.$strip>;
155
+ }, z.core.$strip>;
156
+ };
157
+ };
158
+ readonly description: "Insufficient permissions.";
159
+ };
160
+ 404: {
161
+ readonly content: {
162
+ readonly "application/json": {
163
+ readonly schema: z.ZodObject<{
164
+ error: z.ZodObject<{
165
+ code: z.ZodString;
166
+ message: z.ZodString;
167
+ }, z.core.$strip>;
168
+ }, z.core.$strip>;
169
+ };
170
+ };
171
+ readonly description: "Not found.";
172
+ };
173
+ 422: {
174
+ readonly content: {
175
+ readonly "application/json": {
176
+ readonly schema: z.ZodObject<{
177
+ error: z.ZodObject<{
178
+ code: z.ZodString;
179
+ message: z.ZodString;
180
+ }, z.core.$strip>;
181
+ }, z.core.$strip>;
182
+ };
183
+ };
184
+ readonly description: "Validation error.";
185
+ };
186
+ 500: {
187
+ readonly content: {
188
+ readonly "application/json": {
189
+ readonly schema: z.ZodObject<{
190
+ error: z.ZodObject<{
191
+ code: z.ZodString;
192
+ message: z.ZodString;
193
+ }, z.core.$strip>;
194
+ }, z.core.$strip>;
195
+ };
196
+ };
197
+ readonly description: "Server error.";
198
+ };
199
+ 200: {
200
+ content: {
201
+ "application/json": {
202
+ schema: z.ZodObject<{
203
+ data: z.ZodAny;
204
+ }, z.core.$strip>;
205
+ };
206
+ };
207
+ description: string;
208
+ };
209
+ };
210
+ } & {
211
+ getRoutingPath(): "/api/marketplace/sub-orders";
212
+ };
213
+ export declare const getSubOrderRoute: {
214
+ method: "get";
215
+ path: "/api/marketplace/sub-orders/{id}";
216
+ tags: string[];
217
+ summary: string;
218
+ request: {
219
+ params: z.ZodObject<{
220
+ id: z.ZodUUID;
221
+ }, z.core.$strip>;
222
+ };
223
+ responses: {
224
+ 401: {
225
+ readonly content: {
226
+ readonly "application/json": {
227
+ readonly schema: z.ZodObject<{
228
+ error: z.ZodObject<{
229
+ code: z.ZodString;
230
+ message: z.ZodString;
231
+ }, z.core.$strip>;
232
+ }, z.core.$strip>;
233
+ };
234
+ };
235
+ readonly description: "Authentication required.";
236
+ };
237
+ 403: {
238
+ readonly content: {
239
+ readonly "application/json": {
240
+ readonly schema: z.ZodObject<{
241
+ error: z.ZodObject<{
242
+ code: z.ZodString;
243
+ message: z.ZodString;
244
+ }, z.core.$strip>;
245
+ }, z.core.$strip>;
246
+ };
247
+ };
248
+ readonly description: "Insufficient permissions.";
249
+ };
250
+ 404: {
251
+ readonly content: {
252
+ readonly "application/json": {
253
+ readonly schema: z.ZodObject<{
254
+ error: z.ZodObject<{
255
+ code: z.ZodString;
256
+ message: z.ZodString;
257
+ }, z.core.$strip>;
258
+ }, z.core.$strip>;
259
+ };
260
+ };
261
+ readonly description: "Not found.";
262
+ };
263
+ 422: {
264
+ readonly content: {
265
+ readonly "application/json": {
266
+ readonly schema: z.ZodObject<{
267
+ error: z.ZodObject<{
268
+ code: z.ZodString;
269
+ message: z.ZodString;
270
+ }, z.core.$strip>;
271
+ }, z.core.$strip>;
272
+ };
273
+ };
274
+ readonly description: "Validation error.";
275
+ };
276
+ 500: {
277
+ readonly content: {
278
+ readonly "application/json": {
279
+ readonly schema: z.ZodObject<{
280
+ error: z.ZodObject<{
281
+ code: z.ZodString;
282
+ message: z.ZodString;
283
+ }, z.core.$strip>;
284
+ }, z.core.$strip>;
285
+ };
286
+ };
287
+ readonly description: "Server error.";
288
+ };
289
+ 200: {
290
+ content: {
291
+ "application/json": {
292
+ schema: z.ZodObject<{
293
+ data: z.ZodAny;
294
+ }, z.core.$strip>;
295
+ };
296
+ };
297
+ description: string;
298
+ };
299
+ };
300
+ } & {
301
+ getRoutingPath(): "/api/marketplace/sub-orders/:id";
302
+ };
303
+ //# sourceMappingURL=sub-orders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sub-orders.d.ts","sourceRoot":"","sources":["../../src/schemas/sub-orders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAqBnD,eAAO,MAAM,8BAA8B;;;;;;;;;;iBAIF,CAAC;AAE1C,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAapC,CAAC;AAIH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB7B,CAAC;AAIH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAY3B,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { z, createRoute } from "@hono/zod-openapi";
2
+ const ErrorSchema = z.object({
3
+ error: z.object({
4
+ code: z.string(),
5
+ message: z.string(),
6
+ }),
7
+ });
8
+ const errorResponses = {
9
+ 401: { content: { "application/json": { schema: ErrorSchema } }, description: "Authentication required." },
10
+ 403: { content: { "application/json": { schema: ErrorSchema } }, description: "Insufficient permissions." },
11
+ 404: { content: { "application/json": { schema: ErrorSchema } }, description: "Not found." },
12
+ 422: { content: { "application/json": { schema: ErrorSchema } }, description: "Validation error." },
13
+ 500: { content: { "application/json": { schema: ErrorSchema } }, description: "Server error." },
14
+ };
15
+ const SubOrderResponseSchema = z.object({ data: z.any() });
16
+ // ─── Update Sub-Order Status ─────────────────────────────────────────────────
17
+ export const UpdateSubOrderStatusBodySchema = z.object({
18
+ status: z.enum(["pending", "confirmed", "processing", "shipped", "delivered", "cancelled"])
19
+ .openapi({ example: "processing" }),
20
+ reason: z.string().optional().openapi({ example: "Admin force status change" }),
21
+ }).openapi("UpdateSubOrderStatusRequest");
22
+ export const updateSubOrderStatusRoute = createRoute({
23
+ method: "patch",
24
+ path: "/api/marketplace/sub-orders/{id}/status",
25
+ tags: ["Marketplace - Sub-Orders"],
26
+ summary: "Force a sub-order status change",
27
+ request: {
28
+ params: z.object({ id: z.uuid() }),
29
+ body: { content: { "application/json": { schema: UpdateSubOrderStatusBodySchema } }, required: true },
30
+ },
31
+ responses: {
32
+ 200: { content: { "application/json": { schema: SubOrderResponseSchema } }, description: "Sub-order status updated." },
33
+ ...errorResponses,
34
+ },
35
+ });
36
+ // ─── List Sub-Orders ────────────────────────────────────────────────────────
37
+ export const listSubOrdersRoute = createRoute({
38
+ method: "get",
39
+ path: "/api/marketplace/sub-orders",
40
+ tags: ["Marketplace - Sub-Orders"],
41
+ summary: "List sub-orders",
42
+ request: {
43
+ query: z.object({
44
+ orderId: z.string().optional(),
45
+ vendorId: z.string().optional(),
46
+ status: z.string().optional(),
47
+ }),
48
+ },
49
+ responses: {
50
+ 200: { content: { "application/json": { schema: SubOrderResponseSchema } }, description: "Success" },
51
+ ...errorResponses,
52
+ },
53
+ });
54
+ // ─── Get Sub-Order ──────────────────────────────────────────────────────────
55
+ export const getSubOrderRoute = createRoute({
56
+ method: "get",
57
+ path: "/api/marketplace/sub-orders/{id}",
58
+ tags: ["Marketplace - Sub-Orders"],
59
+ summary: "Get sub-order by ID",
60
+ request: {
61
+ params: z.object({ id: z.uuid() }),
62
+ },
63
+ responses: {
64
+ 200: { content: { "application/json": { schema: SubOrderResponseSchema } }, description: "Success" },
65
+ ...errorResponses,
66
+ },
67
+ });