@omni-commerce/cli 0.3.0 → 0.5.0

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/dist/index.js CHANGED
@@ -108,6 +108,8 @@ function maskSecret(value) {
108
108
  }
109
109
 
110
110
  // src/execute.ts
111
+ import { readFile as readFile2 } from "fs/promises";
112
+ import { basename, extname } from "path";
111
113
  function interpolatePath(template, values) {
112
114
  return template.replace(/\{([^}]+)\}/g, (_, name) => {
113
115
  const value = values[name];
@@ -117,6 +119,37 @@ function interpolatePath(template, values) {
117
119
  return encodeURIComponent(value);
118
120
  });
119
121
  }
122
+ var UPLOAD_CONTENT_TYPES = {
123
+ ".pdf": "application/pdf",
124
+ ".csv": "text/csv",
125
+ ".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
126
+ ".xlsm": "application/vnd.ms-excel.sheet.macroEnabled.12",
127
+ ".md": "text/markdown",
128
+ ".markdown": "text/markdown",
129
+ ".jpg": "image/jpeg",
130
+ ".jpeg": "image/jpeg",
131
+ ".png": "image/png",
132
+ ".webp": "image/webp",
133
+ ".avif": "image/avif",
134
+ ".heic": "image/heic",
135
+ ".heif": "image/heif"
136
+ };
137
+ async function uploadBody(filePath, fields) {
138
+ const form = new FormData();
139
+ const type = UPLOAD_CONTENT_TYPES[extname(filePath).toLowerCase()] ?? "application/octet-stream";
140
+ form.append(
141
+ "file",
142
+ new File([await readFile2(filePath)], basename(filePath), { type })
143
+ );
144
+ for (const [key, value] of Object.entries(fields)) {
145
+ if (value === void 0 || value === null) continue;
146
+ form.append(
147
+ key,
148
+ typeof value === "object" ? JSON.stringify(value) : String(value)
149
+ );
150
+ }
151
+ return form;
152
+ }
120
153
  function stringValue(value, flag) {
121
154
  if (typeof value !== "string" || value.trim() === "") {
122
155
  throw new Error(`Missing required flag --${flag}`);
@@ -146,6 +179,15 @@ async function executeCommand(client, command, request) {
146
179
  for (const [key, value] of Object.entries(request)) {
147
180
  if (!consumed.has(key)) body[key] = value;
148
181
  }
182
+ if (command.acceptsFile) {
183
+ const { file, ...fields } = body;
184
+ return client.request({
185
+ method: command.httpMethod,
186
+ path: interpolatePath(command.path, pathValues),
187
+ query: Object.keys(query).length > 0 ? query : void 0,
188
+ body: await uploadBody(stringValue(file, "file"), fields)
189
+ });
190
+ }
149
191
  return client.request({
150
192
  method: command.httpMethod,
151
193
  path: interpolatePath(command.path, pathValues),
@@ -196,80 +238,634 @@ ${body}
196
238
  // src/generated/commands.ts
197
239
  var COMMANDS = [
198
240
  {
199
- trail: ["api", "root"],
200
- resourcePath: ["api"],
201
- methodName: "root",
202
- httpMethod: "GET",
203
- path: "/api",
204
- summary: "API Root",
241
+ trail: ["agents", "general", "invoke"],
242
+ resourcePath: ["agents", "general"],
243
+ methodName: "invoke",
244
+ httpMethod: "POST",
245
+ path: "/api/v1/agents/general/invoke",
246
+ summary: "Invoke the Omni agent",
205
247
  flags: [],
248
+ acceptsJsonBody: true,
249
+ acceptsFile: false,
250
+ bodyRequired: true
251
+ },
252
+ {
253
+ trail: ["agents", "general", "start"],
254
+ resourcePath: ["agents", "general"],
255
+ methodName: "start",
256
+ httpMethod: "POST",
257
+ path: "/api/v1/agents/general/runs",
258
+ summary: "Start an Omni agent run",
259
+ flags: [],
260
+ acceptsJsonBody: true,
261
+ acceptsFile: false,
262
+ bodyRequired: true
263
+ },
264
+ {
265
+ trail: ["agents", "general", "get-run"],
266
+ resourcePath: ["agents", "general"],
267
+ methodName: "getRun",
268
+ httpMethod: "GET",
269
+ path: "/api/v1/agents/general/runs/{runId}",
270
+ summary: "Get an Omni agent run",
271
+ flags: [
272
+ {
273
+ name: "runId",
274
+ flag: "run-id",
275
+ required: true,
276
+ source: "path"
277
+ },
278
+ {
279
+ name: "organizationId",
280
+ flag: "organization-id",
281
+ required: false,
282
+ source: "query"
283
+ }
284
+ ],
285
+ acceptsJsonBody: false,
286
+ acceptsFile: false,
287
+ bodyRequired: false
288
+ },
289
+ {
290
+ trail: ["analytics", "get-ads"],
291
+ resourcePath: ["analytics"],
292
+ methodName: "getAds",
293
+ httpMethod: "GET",
294
+ path: "/api/v1/analytics/ads",
295
+ summary: "Get Ads Analytics",
296
+ flags: [
297
+ {
298
+ name: "organizationId",
299
+ flag: "organization-id",
300
+ required: false,
301
+ source: "query"
302
+ },
303
+ {
304
+ name: "from",
305
+ flag: "from",
306
+ required: false,
307
+ source: "query"
308
+ },
309
+ {
310
+ name: "to",
311
+ flag: "to",
312
+ required: false,
313
+ source: "query"
314
+ },
315
+ {
316
+ name: "timeZone",
317
+ flag: "time-zone",
318
+ required: false,
319
+ source: "query"
320
+ },
321
+ {
322
+ name: "marketplace",
323
+ flag: "marketplace",
324
+ required: false,
325
+ source: "query"
326
+ },
327
+ {
328
+ name: "country",
329
+ flag: "country",
330
+ required: false,
331
+ source: "query"
332
+ },
333
+ {
334
+ name: "store",
335
+ flag: "store",
336
+ required: false,
337
+ source: "query"
338
+ },
339
+ {
340
+ name: "currency",
341
+ flag: "currency",
342
+ required: false,
343
+ source: "query"
344
+ }
345
+ ],
346
+ acceptsJsonBody: false,
347
+ acceptsFile: false,
348
+ bodyRequired: false
349
+ },
350
+ {
351
+ trail: ["analytics", "get-ai-traffic"],
352
+ resourcePath: ["analytics"],
353
+ methodName: "getAiTraffic",
354
+ httpMethod: "GET",
355
+ path: "/api/v1/analytics/ai-traffic",
356
+ summary: "Get AI Traffic Analytics",
357
+ flags: [
358
+ {
359
+ name: "organizationId",
360
+ flag: "organization-id",
361
+ required: false,
362
+ source: "query"
363
+ },
364
+ {
365
+ name: "from",
366
+ flag: "from",
367
+ required: false,
368
+ source: "query"
369
+ },
370
+ {
371
+ name: "to",
372
+ flag: "to",
373
+ required: false,
374
+ source: "query"
375
+ },
376
+ {
377
+ name: "timeZone",
378
+ flag: "time-zone",
379
+ required: false,
380
+ source: "query"
381
+ },
382
+ {
383
+ name: "source",
384
+ flag: "source",
385
+ required: false,
386
+ source: "query"
387
+ },
388
+ {
389
+ name: "trafficType",
390
+ flag: "traffic-type",
391
+ required: false,
392
+ source: "query"
393
+ },
394
+ {
395
+ name: "route",
396
+ flag: "route",
397
+ required: false,
398
+ source: "query"
399
+ },
400
+ {
401
+ name: "country",
402
+ flag: "country",
403
+ required: false,
404
+ source: "query"
405
+ }
406
+ ],
407
+ acceptsJsonBody: false,
408
+ acceptsFile: false,
409
+ bodyRequired: false
410
+ },
411
+ {
412
+ trail: ["analytics", "get-content"],
413
+ resourcePath: ["analytics"],
414
+ methodName: "getContent",
415
+ httpMethod: "GET",
416
+ path: "/api/v1/analytics/content",
417
+ summary: "Get Video and LIVE Analytics",
418
+ flags: [
419
+ {
420
+ name: "organizationId",
421
+ flag: "organization-id",
422
+ required: false,
423
+ source: "query"
424
+ },
425
+ {
426
+ name: "from",
427
+ flag: "from",
428
+ required: false,
429
+ source: "query"
430
+ },
431
+ {
432
+ name: "to",
433
+ flag: "to",
434
+ required: false,
435
+ source: "query"
436
+ },
437
+ {
438
+ name: "timeZone",
439
+ flag: "time-zone",
440
+ required: false,
441
+ source: "query"
442
+ },
443
+ {
444
+ name: "marketplace",
445
+ flag: "marketplace",
446
+ required: false,
447
+ source: "query"
448
+ },
449
+ {
450
+ name: "country",
451
+ flag: "country",
452
+ required: false,
453
+ source: "query"
454
+ },
455
+ {
456
+ name: "store",
457
+ flag: "store",
458
+ required: false,
459
+ source: "query"
460
+ },
461
+ {
462
+ name: "currency",
463
+ flag: "currency",
464
+ required: false,
465
+ source: "query"
466
+ }
467
+ ],
468
+ acceptsJsonBody: false,
469
+ acceptsFile: false,
470
+ bodyRequired: false
471
+ },
472
+ {
473
+ trail: ["analytics", "get-orders"],
474
+ resourcePath: ["analytics"],
475
+ methodName: "getOrders",
476
+ httpMethod: "GET",
477
+ path: "/api/v1/analytics/orders",
478
+ summary: "Get Order Analytics",
479
+ flags: [
480
+ {
481
+ name: "organizationId",
482
+ flag: "organization-id",
483
+ required: false,
484
+ source: "query"
485
+ },
486
+ {
487
+ name: "from",
488
+ flag: "from",
489
+ required: false,
490
+ source: "query"
491
+ },
492
+ {
493
+ name: "to",
494
+ flag: "to",
495
+ required: false,
496
+ source: "query"
497
+ },
498
+ {
499
+ name: "timeZone",
500
+ flag: "time-zone",
501
+ required: false,
502
+ source: "query"
503
+ },
504
+ {
505
+ name: "marketplace",
506
+ flag: "marketplace",
507
+ required: false,
508
+ source: "query"
509
+ },
510
+ {
511
+ name: "country",
512
+ flag: "country",
513
+ required: false,
514
+ source: "query"
515
+ },
516
+ {
517
+ name: "store",
518
+ flag: "store",
519
+ required: false,
520
+ source: "query"
521
+ },
522
+ {
523
+ name: "currency",
524
+ flag: "currency",
525
+ required: false,
526
+ source: "query"
527
+ }
528
+ ],
529
+ acceptsJsonBody: false,
530
+ acceptsFile: false,
531
+ bodyRequired: false
532
+ },
533
+ {
534
+ trail: ["analytics", "get-overview"],
535
+ resourcePath: ["analytics"],
536
+ methodName: "getOverview",
537
+ httpMethod: "GET",
538
+ path: "/api/v1/analytics/overview",
539
+ summary: "Get Growth Overview",
540
+ flags: [
541
+ {
542
+ name: "organizationId",
543
+ flag: "organization-id",
544
+ required: false,
545
+ source: "query"
546
+ },
547
+ {
548
+ name: "from",
549
+ flag: "from",
550
+ required: false,
551
+ source: "query"
552
+ },
553
+ {
554
+ name: "to",
555
+ flag: "to",
556
+ required: false,
557
+ source: "query"
558
+ },
559
+ {
560
+ name: "timeZone",
561
+ flag: "time-zone",
562
+ required: false,
563
+ source: "query"
564
+ },
565
+ {
566
+ name: "marketplace",
567
+ flag: "marketplace",
568
+ required: false,
569
+ source: "query"
570
+ },
571
+ {
572
+ name: "country",
573
+ flag: "country",
574
+ required: false,
575
+ source: "query"
576
+ },
577
+ {
578
+ name: "store",
579
+ flag: "store",
580
+ required: false,
581
+ source: "query"
582
+ },
583
+ {
584
+ name: "currency",
585
+ flag: "currency",
586
+ required: false,
587
+ source: "query"
588
+ }
589
+ ],
590
+ acceptsJsonBody: false,
591
+ acceptsFile: false,
592
+ bodyRequired: false
593
+ },
594
+ {
595
+ trail: ["analytics", "get-pricing"],
596
+ resourcePath: ["analytics"],
597
+ methodName: "getPricing",
598
+ httpMethod: "GET",
599
+ path: "/api/v1/analytics/pricing",
600
+ summary: "Get Pricing Analytics",
601
+ flags: [
602
+ {
603
+ name: "organizationId",
604
+ flag: "organization-id",
605
+ required: false,
606
+ source: "query"
607
+ },
608
+ {
609
+ name: "from",
610
+ flag: "from",
611
+ required: false,
612
+ source: "query"
613
+ },
614
+ {
615
+ name: "to",
616
+ flag: "to",
617
+ required: false,
618
+ source: "query"
619
+ },
620
+ {
621
+ name: "timeZone",
622
+ flag: "time-zone",
623
+ required: false,
624
+ source: "query"
625
+ },
626
+ {
627
+ name: "marketplace",
628
+ flag: "marketplace",
629
+ required: false,
630
+ source: "query"
631
+ },
632
+ {
633
+ name: "country",
634
+ flag: "country",
635
+ required: false,
636
+ source: "query"
637
+ },
638
+ {
639
+ name: "store",
640
+ flag: "store",
641
+ required: false,
642
+ source: "query"
643
+ },
644
+ {
645
+ name: "currency",
646
+ flag: "currency",
647
+ required: false,
648
+ source: "query"
649
+ }
650
+ ],
651
+ acceptsJsonBody: false,
652
+ acceptsFile: false,
653
+ bodyRequired: false
654
+ },
655
+ {
656
+ trail: ["analytics", "get-products"],
657
+ resourcePath: ["analytics"],
658
+ methodName: "getProducts",
659
+ httpMethod: "GET",
660
+ path: "/api/v1/analytics/products",
661
+ summary: "Get Product Analytics",
662
+ flags: [
663
+ {
664
+ name: "organizationId",
665
+ flag: "organization-id",
666
+ required: false,
667
+ source: "query"
668
+ },
669
+ {
670
+ name: "from",
671
+ flag: "from",
672
+ required: false,
673
+ source: "query"
674
+ },
675
+ {
676
+ name: "to",
677
+ flag: "to",
678
+ required: false,
679
+ source: "query"
680
+ },
681
+ {
682
+ name: "timeZone",
683
+ flag: "time-zone",
684
+ required: false,
685
+ source: "query"
686
+ },
687
+ {
688
+ name: "marketplace",
689
+ flag: "marketplace",
690
+ required: false,
691
+ source: "query"
692
+ },
693
+ {
694
+ name: "country",
695
+ flag: "country",
696
+ required: false,
697
+ source: "query"
698
+ },
699
+ {
700
+ name: "store",
701
+ flag: "store",
702
+ required: false,
703
+ source: "query"
704
+ },
705
+ {
706
+ name: "currency",
707
+ flag: "currency",
708
+ required: false,
709
+ source: "query"
710
+ },
711
+ {
712
+ name: "q",
713
+ flag: "q",
714
+ required: false,
715
+ source: "query"
716
+ },
717
+ {
718
+ name: "productId",
719
+ flag: "product-id",
720
+ required: false,
721
+ source: "query"
722
+ },
723
+ {
724
+ name: "limit",
725
+ flag: "limit",
726
+ required: false,
727
+ source: "query"
728
+ }
729
+ ],
206
730
  acceptsJsonBody: false,
731
+ acceptsFile: false,
207
732
  bodyRequired: false
208
733
  },
209
734
  {
210
- trail: ["api", "v1"],
211
- resourcePath: ["api"],
212
- methodName: "v1",
735
+ trail: ["analytics", "get-profit"],
736
+ resourcePath: ["analytics"],
737
+ methodName: "getProfit",
213
738
  httpMethod: "GET",
214
- path: "/api/v1",
215
- summary: "API v1 Root",
216
- flags: [],
739
+ path: "/api/v1/analytics/profit",
740
+ summary: "Get Profit Analytics",
741
+ flags: [
742
+ {
743
+ name: "organizationId",
744
+ flag: "organization-id",
745
+ required: false,
746
+ source: "query"
747
+ },
748
+ {
749
+ name: "from",
750
+ flag: "from",
751
+ required: false,
752
+ source: "query"
753
+ },
754
+ {
755
+ name: "to",
756
+ flag: "to",
757
+ required: false,
758
+ source: "query"
759
+ },
760
+ {
761
+ name: "timeZone",
762
+ flag: "time-zone",
763
+ required: false,
764
+ source: "query"
765
+ },
766
+ {
767
+ name: "marketplace",
768
+ flag: "marketplace",
769
+ required: false,
770
+ source: "query"
771
+ },
772
+ {
773
+ name: "country",
774
+ flag: "country",
775
+ required: false,
776
+ source: "query"
777
+ },
778
+ {
779
+ name: "store",
780
+ flag: "store",
781
+ required: false,
782
+ source: "query"
783
+ },
784
+ {
785
+ name: "currency",
786
+ flag: "currency",
787
+ required: false,
788
+ source: "query"
789
+ },
790
+ {
791
+ name: "sku",
792
+ flag: "sku",
793
+ required: false,
794
+ source: "query"
795
+ }
796
+ ],
217
797
  acceptsJsonBody: false,
798
+ acceptsFile: false,
218
799
  bodyRequired: false
219
800
  },
220
801
  {
221
- trail: ["agents", "general", "invoke"],
222
- resourcePath: ["agents", "general"],
223
- methodName: "invoke",
224
- httpMethod: "POST",
225
- path: "/api/v1/agents/general/invoke",
226
- summary: "Invoke the Omni agent",
227
- flags: [],
228
- acceptsJsonBody: true,
229
- bodyRequired: true
230
- },
231
- {
232
- trail: ["agents", "general", "start"],
233
- resourcePath: ["agents", "general"],
234
- methodName: "start",
235
- httpMethod: "POST",
236
- path: "/api/v1/agents/general/runs",
237
- summary: "Start an Omni agent run",
238
- flags: [],
239
- acceptsJsonBody: true,
240
- bodyRequired: true
241
- },
242
- {
243
- trail: ["agents", "general", "get-run"],
244
- resourcePath: ["agents", "general"],
245
- methodName: "getRun",
802
+ trail: ["analytics", "get-reports"],
803
+ resourcePath: ["analytics"],
804
+ methodName: "getReports",
246
805
  httpMethod: "GET",
247
- path: "/api/v1/agents/general/runs/{runId}",
248
- summary: "Get an Omni agent run",
806
+ path: "/api/v1/analytics/reports",
807
+ summary: "Get Business Report",
249
808
  flags: [
250
- {
251
- name: "runId",
252
- flag: "run-id",
253
- required: true,
254
- source: "path"
255
- },
256
809
  {
257
810
  name: "organizationId",
258
811
  flag: "organization-id",
259
812
  required: false,
260
813
  source: "query"
814
+ },
815
+ {
816
+ name: "from",
817
+ flag: "from",
818
+ required: false,
819
+ source: "query"
820
+ },
821
+ {
822
+ name: "to",
823
+ flag: "to",
824
+ required: false,
825
+ source: "query"
826
+ },
827
+ {
828
+ name: "timeZone",
829
+ flag: "time-zone",
830
+ required: false,
831
+ source: "query"
832
+ },
833
+ {
834
+ name: "marketplace",
835
+ flag: "marketplace",
836
+ required: false,
837
+ source: "query"
838
+ },
839
+ {
840
+ name: "country",
841
+ flag: "country",
842
+ required: false,
843
+ source: "query"
844
+ },
845
+ {
846
+ name: "store",
847
+ flag: "store",
848
+ required: false,
849
+ source: "query"
850
+ },
851
+ {
852
+ name: "currency",
853
+ flag: "currency",
854
+ required: false,
855
+ source: "query"
261
856
  }
262
857
  ],
263
858
  acceptsJsonBody: false,
859
+ acceptsFile: false,
264
860
  bodyRequired: false
265
861
  },
266
862
  {
267
- trail: ["analytics", "get-sales"],
863
+ trail: ["analytics", "get-stores"],
268
864
  resourcePath: ["analytics"],
269
- methodName: "getSales",
865
+ methodName: "getStores",
270
866
  httpMethod: "GET",
271
- path: "/api/v1/analytics/sales",
272
- summary: "Get Sales Analytics",
867
+ path: "/api/v1/analytics/stores",
868
+ summary: "Get Store Analytics",
273
869
  flags: [
274
870
  {
275
871
  name: "organizationId",
@@ -289,6 +885,12 @@ var COMMANDS = [
289
885
  required: false,
290
886
  source: "query"
291
887
  },
888
+ {
889
+ name: "timeZone",
890
+ flag: "time-zone",
891
+ required: false,
892
+ source: "query"
893
+ },
292
894
  {
293
895
  name: "marketplace",
294
896
  flag: "marketplace",
@@ -312,15 +914,71 @@ var COMMANDS = [
312
914
  flag: "currency",
313
915
  required: false,
314
916
  source: "query"
917
+ }
918
+ ],
919
+ acceptsJsonBody: false,
920
+ acceptsFile: false,
921
+ bodyRequired: false
922
+ },
923
+ {
924
+ trail: ["analytics", "get-traffic"],
925
+ resourcePath: ["analytics"],
926
+ methodName: "getTraffic",
927
+ httpMethod: "GET",
928
+ path: "/api/v1/analytics/traffic",
929
+ summary: "Get Traffic Analytics",
930
+ flags: [
931
+ {
932
+ name: "organizationId",
933
+ flag: "organization-id",
934
+ required: false,
935
+ source: "query"
936
+ },
937
+ {
938
+ name: "from",
939
+ flag: "from",
940
+ required: false,
941
+ source: "query"
942
+ },
943
+ {
944
+ name: "to",
945
+ flag: "to",
946
+ required: false,
947
+ source: "query"
315
948
  },
316
949
  {
317
950
  name: "timeZone",
318
951
  flag: "time-zone",
319
952
  required: false,
320
953
  source: "query"
954
+ },
955
+ {
956
+ name: "marketplace",
957
+ flag: "marketplace",
958
+ required: false,
959
+ source: "query"
960
+ },
961
+ {
962
+ name: "country",
963
+ flag: "country",
964
+ required: false,
965
+ source: "query"
966
+ },
967
+ {
968
+ name: "store",
969
+ flag: "store",
970
+ required: false,
971
+ source: "query"
972
+ },
973
+ {
974
+ name: "currency",
975
+ flag: "currency",
976
+ required: false,
977
+ source: "query"
321
978
  }
322
979
  ],
323
980
  acceptsJsonBody: false,
981
+ acceptsFile: false,
324
982
  bodyRequired: false
325
983
  },
326
984
  {
@@ -345,6 +1003,7 @@ var COMMANDS = [
345
1003
  }
346
1004
  ],
347
1005
  acceptsJsonBody: false,
1006
+ acceptsFile: false,
348
1007
  bodyRequired: false
349
1008
  },
350
1009
  {
@@ -363,6 +1022,7 @@ var COMMANDS = [
363
1022
  }
364
1023
  ],
365
1024
  acceptsJsonBody: true,
1025
+ acceptsFile: false,
366
1026
  bodyRequired: true
367
1027
  },
368
1028
  {
@@ -381,6 +1041,7 @@ var COMMANDS = [
381
1041
  }
382
1042
  ],
383
1043
  acceptsJsonBody: true,
1044
+ acceptsFile: false,
384
1045
  bodyRequired: false
385
1046
  },
386
1047
  {
@@ -392,6 +1053,7 @@ var COMMANDS = [
392
1053
  summary: "Create AOP",
393
1054
  flags: [],
394
1055
  acceptsJsonBody: true,
1056
+ acceptsFile: false,
395
1057
  bodyRequired: true
396
1058
  },
397
1059
  {
@@ -403,6 +1065,7 @@ var COMMANDS = [
403
1065
  summary: "Retry a failed AOP execution",
404
1066
  flags: [],
405
1067
  acceptsJsonBody: true,
1068
+ acceptsFile: false,
406
1069
  bodyRequired: true
407
1070
  },
408
1071
  {
@@ -445,6 +1108,7 @@ var COMMANDS = [
445
1108
  }
446
1109
  ],
447
1110
  acceptsJsonBody: false,
1111
+ acceptsFile: false,
448
1112
  bodyRequired: false
449
1113
  },
450
1114
  {
@@ -456,6 +1120,7 @@ var COMMANDS = [
456
1120
  summary: "Create Campaign",
457
1121
  flags: [],
458
1122
  acceptsJsonBody: true,
1123
+ acceptsFile: false,
459
1124
  bodyRequired: true
460
1125
  },
461
1126
  {
@@ -480,6 +1145,7 @@ var COMMANDS = [
480
1145
  }
481
1146
  ],
482
1147
  acceptsJsonBody: false,
1148
+ acceptsFile: false,
483
1149
  bodyRequired: false
484
1150
  },
485
1151
  {
@@ -498,6 +1164,7 @@ var COMMANDS = [
498
1164
  }
499
1165
  ],
500
1166
  acceptsJsonBody: true,
1167
+ acceptsFile: false,
501
1168
  bodyRequired: true
502
1169
  },
503
1170
  {
@@ -516,6 +1183,7 @@ var COMMANDS = [
516
1183
  }
517
1184
  ],
518
1185
  acceptsJsonBody: true,
1186
+ acceptsFile: false,
519
1187
  bodyRequired: true
520
1188
  },
521
1189
  {
@@ -527,6 +1195,7 @@ var COMMANDS = [
527
1195
  summary: "Archive Campaigns",
528
1196
  flags: [],
529
1197
  acceptsJsonBody: true,
1198
+ acceptsFile: false,
530
1199
  bodyRequired: true
531
1200
  },
532
1201
  {
@@ -538,6 +1207,7 @@ var COMMANDS = [
538
1207
  summary: "Delete Campaigns",
539
1208
  flags: [],
540
1209
  acceptsJsonBody: true,
1210
+ acceptsFile: false,
541
1211
  bodyRequired: true
542
1212
  },
543
1213
  {
@@ -556,6 +1226,7 @@ var COMMANDS = [
556
1226
  }
557
1227
  ],
558
1228
  acceptsJsonBody: false,
1229
+ acceptsFile: false,
559
1230
  bodyRequired: false
560
1231
  },
561
1232
  {
@@ -598,6 +1269,7 @@ var COMMANDS = [
598
1269
  }
599
1270
  ],
600
1271
  acceptsJsonBody: false,
1272
+ acceptsFile: false,
601
1273
  bodyRequired: false
602
1274
  },
603
1275
  {
@@ -609,6 +1281,7 @@ var COMMANDS = [
609
1281
  summary: "Create Agentic Checkout Session",
610
1282
  flags: [],
611
1283
  acceptsJsonBody: true,
1284
+ acceptsFile: false,
612
1285
  bodyRequired: true
613
1286
  },
614
1287
  {
@@ -633,6 +1306,7 @@ var COMMANDS = [
633
1306
  }
634
1307
  ],
635
1308
  acceptsJsonBody: false,
1309
+ acceptsFile: false,
636
1310
  bodyRequired: false
637
1311
  },
638
1312
  {
@@ -657,6 +1331,7 @@ var COMMANDS = [
657
1331
  }
658
1332
  ],
659
1333
  acceptsJsonBody: true,
1334
+ acceptsFile: false,
660
1335
  bodyRequired: true
661
1336
  },
662
1337
  {
@@ -681,6 +1356,7 @@ var COMMANDS = [
681
1356
  }
682
1357
  ],
683
1358
  acceptsJsonBody: true,
1359
+ acceptsFile: false,
684
1360
  bodyRequired: true
685
1361
  },
686
1362
  {
@@ -705,6 +1381,7 @@ var COMMANDS = [
705
1381
  }
706
1382
  ],
707
1383
  acceptsJsonBody: true,
1384
+ acceptsFile: false,
708
1385
  bodyRequired: false
709
1386
  },
710
1387
  {
@@ -729,6 +1406,7 @@ var COMMANDS = [
729
1406
  }
730
1407
  ],
731
1408
  acceptsJsonBody: true,
1409
+ acceptsFile: false,
732
1410
  bodyRequired: true
733
1411
  },
734
1412
  {
@@ -753,6 +1431,7 @@ var COMMANDS = [
753
1431
  }
754
1432
  ],
755
1433
  acceptsJsonBody: false,
1434
+ acceptsFile: false,
756
1435
  bodyRequired: false
757
1436
  },
758
1437
  {
@@ -764,6 +1443,44 @@ var COMMANDS = [
764
1443
  summary: "List Public Merchants",
765
1444
  flags: [],
766
1445
  acceptsJsonBody: false,
1446
+ acceptsFile: false,
1447
+ bodyRequired: false
1448
+ },
1449
+ {
1450
+ trail: ["documents", "upload"],
1451
+ resourcePath: ["documents"],
1452
+ methodName: "upload",
1453
+ httpMethod: "POST",
1454
+ path: "/api/v1/documents",
1455
+ summary: "Upload Document",
1456
+ flags: [],
1457
+ acceptsJsonBody: true,
1458
+ acceptsFile: true,
1459
+ bodyRequired: true
1460
+ },
1461
+ {
1462
+ trail: ["documents", "get"],
1463
+ resourcePath: ["documents"],
1464
+ methodName: "get",
1465
+ httpMethod: "GET",
1466
+ path: "/api/v1/documents/{documentId}",
1467
+ summary: "Get Document",
1468
+ flags: [
1469
+ {
1470
+ name: "documentId",
1471
+ flag: "document-id",
1472
+ required: true,
1473
+ source: "path"
1474
+ },
1475
+ {
1476
+ name: "organizationId",
1477
+ flag: "organization-id",
1478
+ required: false,
1479
+ source: "query"
1480
+ }
1481
+ ],
1482
+ acceptsJsonBody: false,
1483
+ acceptsFile: false,
767
1484
  bodyRequired: false
768
1485
  },
769
1486
  {
@@ -775,6 +1492,7 @@ var COMMANDS = [
775
1492
  summary: "Evaluate SKU Readiness",
776
1493
  flags: [],
777
1494
  acceptsJsonBody: true,
1495
+ acceptsFile: false,
778
1496
  bodyRequired: false
779
1497
  },
780
1498
  {
@@ -799,6 +1517,7 @@ var COMMANDS = [
799
1517
  }
800
1518
  ],
801
1519
  acceptsJsonBody: false,
1520
+ acceptsFile: false,
802
1521
  bodyRequired: false
803
1522
  },
804
1523
  {
@@ -810,6 +1529,7 @@ var COMMANDS = [
810
1529
  summary: "Generate Ghost Mannequin Image",
811
1530
  flags: [],
812
1531
  acceptsJsonBody: true,
1532
+ acceptsFile: false,
813
1533
  bodyRequired: true
814
1534
  },
815
1535
  {
@@ -834,6 +1554,7 @@ var COMMANDS = [
834
1554
  }
835
1555
  ],
836
1556
  acceptsJsonBody: false,
1557
+ acceptsFile: false,
837
1558
  bodyRequired: false
838
1559
  },
839
1560
  {
@@ -852,6 +1573,7 @@ var COMMANDS = [
852
1573
  }
853
1574
  ],
854
1575
  acceptsJsonBody: true,
1576
+ acceptsFile: false,
855
1577
  bodyRequired: false
856
1578
  },
857
1579
  {
@@ -888,6 +1610,7 @@ var COMMANDS = [
888
1610
  }
889
1611
  ],
890
1612
  acceptsJsonBody: false,
1613
+ acceptsFile: false,
891
1614
  bodyRequired: false
892
1615
  },
893
1616
  {
@@ -899,6 +1622,7 @@ var COMMANDS = [
899
1622
  summary: "Create Look",
900
1623
  flags: [],
901
1624
  acceptsJsonBody: true,
1625
+ acceptsFile: false,
902
1626
  bodyRequired: true
903
1627
  },
904
1628
  {
@@ -917,6 +1641,7 @@ var COMMANDS = [
917
1641
  }
918
1642
  ],
919
1643
  acceptsJsonBody: false,
1644
+ acceptsFile: false,
920
1645
  bodyRequired: false
921
1646
  },
922
1647
  {
@@ -928,6 +1653,7 @@ var COMMANDS = [
928
1653
  summary: "Recommend Marketplace Product Categories",
929
1654
  flags: [],
930
1655
  acceptsJsonBody: true,
1656
+ acceptsFile: false,
931
1657
  bodyRequired: true
932
1658
  },
933
1659
  {
@@ -958,6 +1684,7 @@ var COMMANDS = [
958
1684
  }
959
1685
  ],
960
1686
  acceptsJsonBody: false,
1687
+ acceptsFile: false,
961
1688
  bodyRequired: false
962
1689
  },
963
1690
  {
@@ -976,6 +1703,7 @@ var COMMANDS = [
976
1703
  }
977
1704
  ],
978
1705
  acceptsJsonBody: false,
1706
+ acceptsFile: false,
979
1707
  bodyRequired: false
980
1708
  },
981
1709
  {
@@ -1024,6 +1752,7 @@ var COMMANDS = [
1024
1752
  }
1025
1753
  ],
1026
1754
  acceptsJsonBody: false,
1755
+ acceptsFile: false,
1027
1756
  bodyRequired: false
1028
1757
  },
1029
1758
  {
@@ -1120,6 +1849,7 @@ var COMMANDS = [
1120
1849
  }
1121
1850
  ],
1122
1851
  acceptsJsonBody: false,
1852
+ acceptsFile: false,
1123
1853
  bodyRequired: false
1124
1854
  },
1125
1855
  {
@@ -1131,6 +1861,7 @@ var COMMANDS = [
1131
1861
  summary: "Run AI Shelf Share Monitor",
1132
1862
  flags: [],
1133
1863
  acceptsJsonBody: true,
1864
+ acceptsFile: false,
1134
1865
  bodyRequired: false
1135
1866
  },
1136
1867
  {
@@ -1142,6 +1873,7 @@ var COMMANDS = [
1142
1873
  summary: "Revoke Access Token",
1143
1874
  flags: [],
1144
1875
  acceptsJsonBody: true,
1876
+ acceptsFile: false,
1145
1877
  bodyRequired: true
1146
1878
  },
1147
1879
  {
@@ -1153,6 +1885,7 @@ var COMMANDS = [
1153
1885
  summary: "Get Access Token",
1154
1886
  flags: [],
1155
1887
  acceptsJsonBody: true,
1888
+ acceptsFile: false,
1156
1889
  bodyRequired: true
1157
1890
  },
1158
1891
  {
@@ -1237,6 +1970,7 @@ var COMMANDS = [
1237
1970
  }
1238
1971
  ],
1239
1972
  acceptsJsonBody: false,
1973
+ acceptsFile: false,
1240
1974
  bodyRequired: false
1241
1975
  },
1242
1976
  {
@@ -1248,6 +1982,7 @@ var COMMANDS = [
1248
1982
  summary: "Create Order",
1249
1983
  flags: [],
1250
1984
  acceptsJsonBody: true,
1985
+ acceptsFile: false,
1251
1986
  bodyRequired: true
1252
1987
  },
1253
1988
  {
@@ -1272,6 +2007,7 @@ var COMMANDS = [
1272
2007
  }
1273
2008
  ],
1274
2009
  acceptsJsonBody: false,
2010
+ acceptsFile: false,
1275
2011
  bodyRequired: false
1276
2012
  },
1277
2013
  {
@@ -1290,6 +2026,7 @@ var COMMANDS = [
1290
2026
  }
1291
2027
  ],
1292
2028
  acceptsJsonBody: true,
2029
+ acceptsFile: false,
1293
2030
  bodyRequired: true
1294
2031
  },
1295
2032
  {
@@ -1320,6 +2057,7 @@ var COMMANDS = [
1320
2057
  }
1321
2058
  ],
1322
2059
  acceptsJsonBody: false,
2060
+ acceptsFile: false,
1323
2061
  bodyRequired: false
1324
2062
  },
1325
2063
  {
@@ -1344,6 +2082,7 @@ var COMMANDS = [
1344
2082
  }
1345
2083
  ],
1346
2084
  acceptsJsonBody: false,
2085
+ acceptsFile: false,
1347
2086
  bodyRequired: false
1348
2087
  },
1349
2088
  {
@@ -1362,6 +2101,7 @@ var COMMANDS = [
1362
2101
  }
1363
2102
  ],
1364
2103
  acceptsJsonBody: true,
2104
+ acceptsFile: false,
1365
2105
  bodyRequired: true
1366
2106
  },
1367
2107
  {
@@ -1373,6 +2113,7 @@ var COMMANDS = [
1373
2113
  summary: "Create Organization",
1374
2114
  flags: [],
1375
2115
  acceptsJsonBody: true,
2116
+ acceptsFile: false,
1376
2117
  bodyRequired: true
1377
2118
  },
1378
2119
  {
@@ -1403,6 +2144,7 @@ var COMMANDS = [
1403
2144
  }
1404
2145
  ],
1405
2146
  acceptsJsonBody: false,
2147
+ acceptsFile: false,
1406
2148
  bodyRequired: false
1407
2149
  },
1408
2150
  {
@@ -1414,6 +2156,7 @@ var COMMANDS = [
1414
2156
  summary: "Create Price Book Rule",
1415
2157
  flags: [],
1416
2158
  acceptsJsonBody: true,
2159
+ acceptsFile: false,
1417
2160
  bodyRequired: true
1418
2161
  },
1419
2162
  {
@@ -1438,6 +2181,7 @@ var COMMANDS = [
1438
2181
  }
1439
2182
  ],
1440
2183
  acceptsJsonBody: false,
2184
+ acceptsFile: false,
1441
2185
  bodyRequired: false
1442
2186
  },
1443
2187
  {
@@ -1462,6 +2206,7 @@ var COMMANDS = [
1462
2206
  }
1463
2207
  ],
1464
2208
  acceptsJsonBody: false,
2209
+ acceptsFile: false,
1465
2210
  bodyRequired: false
1466
2211
  },
1467
2212
  {
@@ -1486,6 +2231,7 @@ var COMMANDS = [
1486
2231
  }
1487
2232
  ],
1488
2233
  acceptsJsonBody: true,
2234
+ acceptsFile: false,
1489
2235
  bodyRequired: true
1490
2236
  },
1491
2237
  {
@@ -1497,6 +2243,7 @@ var COMMANDS = [
1497
2243
  summary: "Preview Channel List Price",
1498
2244
  flags: [],
1499
2245
  acceptsJsonBody: true,
2246
+ acceptsFile: false,
1500
2247
  bodyRequired: true
1501
2248
  },
1502
2249
  {
@@ -1569,6 +2316,7 @@ var COMMANDS = [
1569
2316
  }
1570
2317
  ],
1571
2318
  acceptsJsonBody: false,
2319
+ acceptsFile: false,
1572
2320
  bodyRequired: false
1573
2321
  },
1574
2322
  {
@@ -1580,6 +2328,7 @@ var COMMANDS = [
1580
2328
  summary: "Create Product",
1581
2329
  flags: [],
1582
2330
  acceptsJsonBody: true,
2331
+ acceptsFile: false,
1583
2332
  bodyRequired: true
1584
2333
  },
1585
2334
  {
@@ -1598,6 +2347,7 @@ var COMMANDS = [
1598
2347
  }
1599
2348
  ],
1600
2349
  acceptsJsonBody: false,
2350
+ acceptsFile: false,
1601
2351
  bodyRequired: false
1602
2352
  },
1603
2353
  {
@@ -1616,6 +2366,7 @@ var COMMANDS = [
1616
2366
  }
1617
2367
  ],
1618
2368
  acceptsJsonBody: false,
2369
+ acceptsFile: false,
1619
2370
  bodyRequired: false
1620
2371
  },
1621
2372
  {
@@ -1634,6 +2385,7 @@ var COMMANDS = [
1634
2385
  }
1635
2386
  ],
1636
2387
  acceptsJsonBody: true,
2388
+ acceptsFile: false,
1637
2389
  bodyRequired: true
1638
2390
  },
1639
2391
  {
@@ -1652,6 +2404,7 @@ var COMMANDS = [
1652
2404
  }
1653
2405
  ],
1654
2406
  acceptsJsonBody: true,
2407
+ acceptsFile: false,
1655
2408
  bodyRequired: true
1656
2409
  },
1657
2410
  {
@@ -1670,8 +2423,28 @@ var COMMANDS = [
1670
2423
  }
1671
2424
  ],
1672
2425
  acceptsJsonBody: true,
2426
+ acceptsFile: false,
1673
2427
  bodyRequired: false
1674
2428
  },
2429
+ {
2430
+ trail: ["products", "upload-image"],
2431
+ resourcePath: ["products"],
2432
+ methodName: "uploadImage",
2433
+ httpMethod: "POST",
2434
+ path: "/api/v1/products/{productId}/images",
2435
+ summary: "Upload Product Image",
2436
+ flags: [
2437
+ {
2438
+ name: "productId",
2439
+ flag: "product-id",
2440
+ required: true,
2441
+ source: "path"
2442
+ }
2443
+ ],
2444
+ acceptsJsonBody: true,
2445
+ acceptsFile: true,
2446
+ bodyRequired: true
2447
+ },
1675
2448
  {
1676
2449
  trail: ["products", "update-inventory"],
1677
2450
  resourcePath: ["products"],
@@ -1688,6 +2461,7 @@ var COMMANDS = [
1688
2461
  }
1689
2462
  ],
1690
2463
  acceptsJsonBody: true,
2464
+ acceptsFile: false,
1691
2465
  bodyRequired: true
1692
2466
  },
1693
2467
  {
@@ -1712,6 +2486,7 @@ var COMMANDS = [
1712
2486
  }
1713
2487
  ],
1714
2488
  acceptsJsonBody: false,
2489
+ acceptsFile: false,
1715
2490
  bodyRequired: false
1716
2491
  },
1717
2492
  {
@@ -1730,6 +2505,7 @@ var COMMANDS = [
1730
2505
  }
1731
2506
  ],
1732
2507
  acceptsJsonBody: true,
2508
+ acceptsFile: false,
1733
2509
  bodyRequired: true
1734
2510
  },
1735
2511
  {
@@ -1748,6 +2524,7 @@ var COMMANDS = [
1748
2524
  }
1749
2525
  ],
1750
2526
  acceptsJsonBody: true,
2527
+ acceptsFile: false,
1751
2528
  bodyRequired: false
1752
2529
  },
1753
2530
  {
@@ -1759,6 +2536,7 @@ var COMMANDS = [
1759
2536
  summary: "Bulk Import Products from JSON or CSV",
1760
2537
  flags: [],
1761
2538
  acceptsJsonBody: true,
2539
+ acceptsFile: false,
1762
2540
  bodyRequired: true
1763
2541
  },
1764
2542
  {
@@ -1770,6 +2548,7 @@ var COMMANDS = [
1770
2548
  summary: "Batch Update Product Cost",
1771
2549
  flags: [],
1772
2550
  acceptsJsonBody: true,
2551
+ acceptsFile: false,
1773
2552
  bodyRequired: true
1774
2553
  },
1775
2554
  {
@@ -1781,6 +2560,7 @@ var COMMANDS = [
1781
2560
  summary: "Queue Product Enrichment",
1782
2561
  flags: [],
1783
2562
  acceptsJsonBody: true,
2563
+ acceptsFile: false,
1784
2564
  bodyRequired: true
1785
2565
  },
1786
2566
  {
@@ -1847,6 +2627,7 @@ var COMMANDS = [
1847
2627
  }
1848
2628
  ],
1849
2629
  acceptsJsonBody: false,
2630
+ acceptsFile: false,
1850
2631
  bodyRequired: false
1851
2632
  },
1852
2633
  {
@@ -1858,6 +2639,7 @@ var COMMANDS = [
1858
2639
  summary: "Create Promotion",
1859
2640
  flags: [],
1860
2641
  acceptsJsonBody: true,
2642
+ acceptsFile: false,
1861
2643
  bodyRequired: true
1862
2644
  },
1863
2645
  {
@@ -1882,6 +2664,7 @@ var COMMANDS = [
1882
2664
  }
1883
2665
  ],
1884
2666
  acceptsJsonBody: false,
2667
+ acceptsFile: false,
1885
2668
  bodyRequired: false
1886
2669
  },
1887
2670
  {
@@ -1906,6 +2689,7 @@ var COMMANDS = [
1906
2689
  }
1907
2690
  ],
1908
2691
  acceptsJsonBody: false,
2692
+ acceptsFile: false,
1909
2693
  bodyRequired: false
1910
2694
  },
1911
2695
  {
@@ -1930,6 +2714,7 @@ var COMMANDS = [
1930
2714
  }
1931
2715
  ],
1932
2716
  acceptsJsonBody: true,
2717
+ acceptsFile: false,
1933
2718
  bodyRequired: true
1934
2719
  },
1935
2720
  {
@@ -1954,6 +2739,7 @@ var COMMANDS = [
1954
2739
  }
1955
2740
  ],
1956
2741
  acceptsJsonBody: true,
2742
+ acceptsFile: false,
1957
2743
  bodyRequired: true
1958
2744
  },
1959
2745
  {
@@ -1978,6 +2764,7 @@ var COMMANDS = [
1978
2764
  }
1979
2765
  ],
1980
2766
  acceptsJsonBody: false,
2767
+ acceptsFile: false,
1981
2768
  bodyRequired: false
1982
2769
  },
1983
2770
  {
@@ -2002,15 +2789,16 @@ var COMMANDS = [
2002
2789
  }
2003
2790
  ],
2004
2791
  acceptsJsonBody: true,
2792
+ acceptsFile: false,
2005
2793
  bodyRequired: true
2006
2794
  },
2007
2795
  {
2008
- trail: ["promotions", "sync"],
2796
+ trail: ["promotions", "retry"],
2009
2797
  resourcePath: ["promotions"],
2010
- methodName: "sync",
2798
+ methodName: "retry",
2011
2799
  httpMethod: "POST",
2012
- path: "/api/v1/promotions/{promotionId}/sync",
2013
- summary: "Sync Promotion to Marketplaces",
2800
+ path: "/api/v1/promotions/{promotionId}/retry",
2801
+ summary: "Retry Marketplace Delivery",
2014
2802
  flags: [
2015
2803
  {
2016
2804
  name: "promotionId",
@@ -2026,6 +2814,7 @@ var COMMANDS = [
2026
2814
  }
2027
2815
  ],
2028
2816
  acceptsJsonBody: true,
2817
+ acceptsFile: false,
2029
2818
  bodyRequired: true
2030
2819
  },
2031
2820
  {
@@ -2080,6 +2869,7 @@ var COMMANDS = [
2080
2869
  }
2081
2870
  ],
2082
2871
  acceptsJsonBody: false,
2872
+ acceptsFile: false,
2083
2873
  bodyRequired: false
2084
2874
  },
2085
2875
  {
@@ -2104,6 +2894,7 @@ var COMMANDS = [
2104
2894
  }
2105
2895
  ],
2106
2896
  acceptsJsonBody: false,
2897
+ acceptsFile: false,
2107
2898
  bodyRequired: false
2108
2899
  },
2109
2900
  {
@@ -2176,6 +2967,7 @@ var COMMANDS = [
2176
2967
  }
2177
2968
  ],
2178
2969
  acceptsJsonBody: false,
2970
+ acceptsFile: false,
2179
2971
  bodyRequired: false
2180
2972
  },
2181
2973
  {
@@ -2200,6 +2992,7 @@ var COMMANDS = [
2200
2992
  }
2201
2993
  ],
2202
2994
  acceptsJsonBody: false,
2995
+ acceptsFile: false,
2203
2996
  bodyRequired: false
2204
2997
  },
2205
2998
  {
@@ -2224,6 +3017,7 @@ var COMMANDS = [
2224
3017
  }
2225
3018
  ],
2226
3019
  acceptsJsonBody: true,
3020
+ acceptsFile: false,
2227
3021
  bodyRequired: false
2228
3022
  },
2229
3023
  {
@@ -2235,6 +3029,7 @@ var COMMANDS = [
2235
3029
  summary: "Act on Reviews",
2236
3030
  flags: [],
2237
3031
  acceptsJsonBody: true,
3032
+ acceptsFile: false,
2238
3033
  bodyRequired: true
2239
3034
  },
2240
3035
  {
@@ -2331,6 +3126,7 @@ var COMMANDS = [
2331
3126
  }
2332
3127
  ],
2333
3128
  acceptsJsonBody: false,
3129
+ acceptsFile: false,
2334
3130
  bodyRequired: false
2335
3131
  },
2336
3132
  {
@@ -2427,6 +3223,7 @@ var COMMANDS = [
2427
3223
  }
2428
3224
  ],
2429
3225
  acceptsJsonBody: true,
3226
+ acceptsFile: false,
2430
3227
  bodyRequired: false
2431
3228
  },
2432
3229
  {
@@ -2487,6 +3284,7 @@ var COMMANDS = [
2487
3284
  }
2488
3285
  ],
2489
3286
  acceptsJsonBody: false,
3287
+ acceptsFile: false,
2490
3288
  bodyRequired: false
2491
3289
  },
2492
3290
  {
@@ -2498,6 +3296,7 @@ var COMMANDS = [
2498
3296
  summary: "Apply Settlements",
2499
3297
  flags: [],
2500
3298
  acceptsJsonBody: true,
3299
+ acceptsFile: false,
2501
3300
  bodyRequired: true
2502
3301
  },
2503
3302
  {
@@ -2522,6 +3321,7 @@ var COMMANDS = [
2522
3321
  }
2523
3322
  ],
2524
3323
  acceptsJsonBody: false,
3324
+ acceptsFile: false,
2525
3325
  bodyRequired: false
2526
3326
  },
2527
3327
  {
@@ -2533,6 +3333,7 @@ var COMMANDS = [
2533
3333
  summary: "Sync Product Commercial Fields",
2534
3334
  flags: [],
2535
3335
  acceptsJsonBody: true,
3336
+ acceptsFile: false,
2536
3337
  bodyRequired: false
2537
3338
  },
2538
3339
  {
@@ -2563,6 +3364,7 @@ var COMMANDS = [
2563
3364
  }
2564
3365
  ],
2565
3366
  acceptsJsonBody: false,
3367
+ acceptsFile: false,
2566
3368
  bodyRequired: false
2567
3369
  },
2568
3370
  {
@@ -2605,6 +3407,7 @@ var COMMANDS = [
2605
3407
  }
2606
3408
  ],
2607
3409
  acceptsJsonBody: false,
3410
+ acceptsFile: false,
2608
3411
  bodyRequired: false
2609
3412
  },
2610
3413
  {
@@ -2616,6 +3419,7 @@ var COMMANDS = [
2616
3419
  summary: "List Developer Webhooks",
2617
3420
  flags: [],
2618
3421
  acceptsJsonBody: false,
3422
+ acceptsFile: false,
2619
3423
  bodyRequired: false
2620
3424
  },
2621
3425
  {
@@ -2627,6 +3431,7 @@ var COMMANDS = [
2627
3431
  summary: "Create Developer Webhook",
2628
3432
  flags: [],
2629
3433
  acceptsJsonBody: true,
3434
+ acceptsFile: false,
2630
3435
  bodyRequired: true
2631
3436
  },
2632
3437
  {
@@ -2663,6 +3468,7 @@ var COMMANDS = [
2663
3468
  }
2664
3469
  ],
2665
3470
  acceptsJsonBody: false,
3471
+ acceptsFile: false,
2666
3472
  bodyRequired: false
2667
3473
  },
2668
3474
  {
@@ -2674,6 +3480,7 @@ var COMMANDS = [
2674
3480
  summary: "Import Selected Zalora Products",
2675
3481
  flags: [],
2676
3482
  acceptsJsonBody: true,
3483
+ acceptsFile: false,
2677
3484
  bodyRequired: true
2678
3485
  },
2679
3486
  {
@@ -2685,6 +3492,7 @@ var COMMANDS = [
2685
3492
  summary: "Create UCP Checkout Session",
2686
3493
  flags: [],
2687
3494
  acceptsJsonBody: true,
3495
+ acceptsFile: false,
2688
3496
  bodyRequired: true
2689
3497
  },
2690
3498
  {
@@ -2709,6 +3517,7 @@ var COMMANDS = [
2709
3517
  }
2710
3518
  ],
2711
3519
  acceptsJsonBody: false,
3520
+ acceptsFile: false,
2712
3521
  bodyRequired: false
2713
3522
  },
2714
3523
  {
@@ -2733,6 +3542,7 @@ var COMMANDS = [
2733
3542
  }
2734
3543
  ],
2735
3544
  acceptsJsonBody: true,
3545
+ acceptsFile: false,
2736
3546
  bodyRequired: true
2737
3547
  },
2738
3548
  {
@@ -2757,6 +3567,7 @@ var COMMANDS = [
2757
3567
  }
2758
3568
  ],
2759
3569
  acceptsJsonBody: true,
3570
+ acceptsFile: false,
2760
3571
  bodyRequired: true
2761
3572
  },
2762
3573
  {
@@ -2781,6 +3592,7 @@ var COMMANDS = [
2781
3592
  }
2782
3593
  ],
2783
3594
  acceptsJsonBody: true,
3595
+ acceptsFile: false,
2784
3596
  bodyRequired: false
2785
3597
  },
2786
3598
  {
@@ -2805,6 +3617,7 @@ var COMMANDS = [
2805
3617
  }
2806
3618
  ],
2807
3619
  acceptsJsonBody: true,
3620
+ acceptsFile: false,
2808
3621
  bodyRequired: true
2809
3622
  },
2810
3623
  {
@@ -2829,6 +3642,7 @@ var COMMANDS = [
2829
3642
  }
2830
3643
  ],
2831
3644
  acceptsJsonBody: false,
3645
+ acceptsFile: false,
2832
3646
  bodyRequired: false
2833
3647
  },
2834
3648
  {
@@ -2853,6 +3667,7 @@ var COMMANDS = [
2853
3667
  }
2854
3668
  ],
2855
3669
  acceptsJsonBody: false,
3670
+ acceptsFile: false,
2856
3671
  bodyRequired: false
2857
3672
  }
2858
3673
  ];
@@ -2895,8 +3710,8 @@ function printCommandHelp(command) {
2895
3710
  const req = flag.required ? "required" : "optional";
2896
3711
  return ` --${flag.flag} <${flag.name}> ${req} ${flag.source}`;
2897
3712
  }).join("\n");
2898
- const jsonLine = command.acceptsJsonBody ? ` --json <object|-> ${command.bodyRequired ? "required" : "optional"} body
2899
- ` : "";
3713
+ const jsonLine = `${command.acceptsFile ? " --file <path> required file to upload\n" : ""}${command.acceptsJsonBody ? ` --json <object|-> ${command.bodyRequired && !command.acceptsFile ? "required" : "optional"} body
3714
+ ` : ""}`;
2900
3715
  return `omni ${command.trail.join(" ")}
2901
3716
 
2902
3717
  ${command.summary}
@@ -2917,7 +3732,7 @@ function matchCommands(commands, trail) {
2917
3732
  }
2918
3733
 
2919
3734
  // src/version.ts
2920
- var CLI_VERSION = "0.3.0";
3735
+ var CLI_VERSION = "0.5.0";
2921
3736
 
2922
3737
  // src/run.ts
2923
3738
  async function readStdin() {
@@ -3037,10 +3852,15 @@ ${unique.map((line) => ` omni ${line}`).join("\n")}
3037
3852
  return 0;
3038
3853
  }
3039
3854
  const body = await parseJsonBody(flagString(parsed.flags, "json"));
3040
- if (command.bodyRequired && !body) {
3855
+ const filePath = command.acceptsFile ? flagString(parsed.flags, "file") : void 0;
3856
+ if (command.acceptsFile && !filePath) {
3857
+ throw new Error(`omni ${command.trail.join(" ")} requires --file <path>`);
3858
+ }
3859
+ if (command.bodyRequired && !body && !filePath) {
3041
3860
  throw new Error(`omni ${command.trail.join(" ")} requires --json`);
3042
3861
  }
3043
3862
  const request = buildRequest(command, parsed.flags, body);
3863
+ if (filePath) request.file = filePath;
3044
3864
  if (parsed.dryRun) {
3045
3865
  process.stdout.write(
3046
3866
  `${JSON.stringify(