@cloudfleet/sdk 0.0.1-cdd334c → 0.0.1-cfddf24

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/zod.gen.js CHANGED
@@ -199,13 +199,13 @@ export const zClusterCreateInput = z.object({
199
199
  'northamerica-central-1',
200
200
  'europe-central-1a',
201
201
  'northamerica-central-1a'
202
- ]).optional(),
202
+ ]).optional().default('staging-1a'),
203
203
  version_channel: z.enum([
204
204
  '1.x.x-cfke.x',
205
205
  '1.31.x-cfke.x',
206
206
  '1.32.x-cfke.x',
207
207
  '1.33.x-cfke.x'
208
- ]).optional()
208
+ ]).optional().default('1.x.x-cfke.x')
209
209
  });
210
210
  export const zClusterJoinInformation = z.object({
211
211
  certificate_authority: z.string(),
@@ -233,7 +233,7 @@ export const zCluster = z.object({
233
233
  'northamerica-central-1',
234
234
  'europe-central-1a',
235
235
  'northamerica-central-1a'
236
- ]).optional(),
236
+ ]).optional().default('staging-1a'),
237
237
  id: z.uuid(),
238
238
  status: z.enum([
239
239
  'active',
@@ -248,6 +248,10 @@ export const zCluster = z.object({
248
248
  z.url(),
249
249
  z.enum([''])
250
250
  ]).optional(),
251
+ endpoint_public: z.union([
252
+ z.url(),
253
+ z.enum([''])
254
+ ]).optional(),
251
255
  certificate_ca: z.string().optional(),
252
256
  version_current: z.string().optional(),
253
257
  created_at: z.string().optional(),
@@ -262,56 +266,749 @@ export const zClusterUpdateInput = z.object({
262
266
  });
263
267
  export const zFleetCreateInput = z.object({
264
268
  limits: z.object({
265
- cpu: z.number().gte(0)
269
+ cpu: z.int().gte(0).lte(100000).optional()
266
270
  }).optional(),
267
271
  gcp: z.object({
268
- enabled: z.boolean().optional().default(true),
269
- project: z.string()
272
+ enabled: z.boolean(),
273
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
270
274
  }).optional(),
271
275
  hetzner: z.object({
272
- enabled: z.boolean().optional().default(true),
273
- apiKey: z.string()
276
+ enabled: z.boolean(),
277
+ apiKey: z.string().length(64).regex(/^[A-Za-z0-9]+$/).optional()
274
278
  }).optional(),
275
279
  aws: z.object({
276
- enabled: z.boolean().optional().default(true),
277
- controllerRoleArn: z.string()
280
+ enabled: z.boolean(),
281
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
278
282
  }).optional(),
283
+ constraints: z.object({
284
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
285
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
286
+ 'cfke.io/instance-family': z.array(z.enum([
287
+ 'a1',
288
+ 'a2',
289
+ 'a3',
290
+ 'a4',
291
+ 'c1',
292
+ 'c2',
293
+ 'c2d',
294
+ 'c3',
295
+ 'c3d',
296
+ 'c4',
297
+ 'c4a',
298
+ 'c4d',
299
+ 'c5',
300
+ 'c5a',
301
+ 'c5ad',
302
+ 'c5d',
303
+ 'c5n',
304
+ 'c6a',
305
+ 'c6g',
306
+ 'c6gd',
307
+ 'c6gn',
308
+ 'c6i',
309
+ 'c6id',
310
+ 'c6in',
311
+ 'c7a',
312
+ 'c7g',
313
+ 'c7gd',
314
+ 'c7gn',
315
+ 'c7i',
316
+ 'c7i-flex',
317
+ 'c8g',
318
+ 'c8gd',
319
+ 'cax',
320
+ 'ccx',
321
+ 'cpx',
322
+ 'cx',
323
+ 'd2',
324
+ 'd3',
325
+ 'd3en',
326
+ 'dl1',
327
+ 'dl2q',
328
+ 'e2',
329
+ 'f1',
330
+ 'f2',
331
+ 'g1',
332
+ 'g2',
333
+ 'g4ad',
334
+ 'g4dn',
335
+ 'g5',
336
+ 'g5g',
337
+ 'g6',
338
+ 'g6e',
339
+ 'gr6',
340
+ 'h1',
341
+ 'h3',
342
+ 'hpc6a',
343
+ 'hpc6id',
344
+ 'hpc7a',
345
+ 'hpc7g',
346
+ 'i2',
347
+ 'i3',
348
+ 'i3en',
349
+ 'i4g',
350
+ 'i4i',
351
+ 'i7i',
352
+ 'i7ie',
353
+ 'i8g',
354
+ 'im4gn',
355
+ 'inf1',
356
+ 'inf2',
357
+ 'is4gen',
358
+ 'm1',
359
+ 'm2',
360
+ 'm3',
361
+ 'm4',
362
+ 'm5',
363
+ 'm5a',
364
+ 'm5ad',
365
+ 'm5d',
366
+ 'm5dn',
367
+ 'm5n',
368
+ 'm5zn',
369
+ 'm6a',
370
+ 'm6g',
371
+ 'm6gd',
372
+ 'm6i',
373
+ 'm6id',
374
+ 'm6idn',
375
+ 'm6in',
376
+ 'm7a',
377
+ 'm7g',
378
+ 'm7gd',
379
+ 'm7i',
380
+ 'm7i-flex',
381
+ 'm8g',
382
+ 'm8gd',
383
+ 'n1',
384
+ 'n2',
385
+ 'n2d',
386
+ 'n4',
387
+ 'p3',
388
+ 'p3dn',
389
+ 'p4d',
390
+ 'p4de',
391
+ 'p5',
392
+ 'p5e',
393
+ 'p5en',
394
+ 'p6-b200',
395
+ 'r3',
396
+ 'r4',
397
+ 'r5',
398
+ 'r5a',
399
+ 'r5ad',
400
+ 'r5b',
401
+ 'r5d',
402
+ 'r5dn',
403
+ 'r5n',
404
+ 'r6a',
405
+ 'r6g',
406
+ 'r6gd',
407
+ 'r6i',
408
+ 'r6id',
409
+ 'r6idn',
410
+ 'r6in',
411
+ 'r7a',
412
+ 'r7g',
413
+ 'r7gd',
414
+ 'r7i',
415
+ 'r7iz',
416
+ 'r8g',
417
+ 'r8gd',
418
+ 't2',
419
+ 't2a',
420
+ 't2d',
421
+ 't3',
422
+ 't3a',
423
+ 't4g',
424
+ 'trn1',
425
+ 'trn1n',
426
+ 'u-3tb1',
427
+ 'u-6tb1',
428
+ 'u7i-12tb',
429
+ 'u7i-6tb',
430
+ 'u7i-8tb',
431
+ 'u7in-16tb',
432
+ 'u7in-24tb',
433
+ 'u7in-32tb',
434
+ 'vt1',
435
+ 'x1',
436
+ 'x1e',
437
+ 'x2gd',
438
+ 'x2idn',
439
+ 'x2iedn',
440
+ 'x2iezn',
441
+ 'x4',
442
+ 'x8g',
443
+ 'z1d',
444
+ 'z3'
445
+ ])).optional(),
446
+ 'topology.kubernetes.io/region': z.array(z.enum([
447
+ 'africa-south1',
448
+ 'ap-northeast-1',
449
+ 'ap-northeast-2',
450
+ 'ap-northeast-3',
451
+ 'ap-south-1',
452
+ 'ap-southeast-1',
453
+ 'ap-southeast-2',
454
+ 'ash',
455
+ 'asia-east1',
456
+ 'asia-east2',
457
+ 'asia-northeast1',
458
+ 'asia-northeast2',
459
+ 'asia-northeast3',
460
+ 'asia-south1',
461
+ 'asia-south2',
462
+ 'asia-southeast1',
463
+ 'asia-southeast2',
464
+ 'australia-southeast1',
465
+ 'australia-southeast2',
466
+ 'ca-central-1',
467
+ 'eu-central-1',
468
+ 'eu-central-2',
469
+ 'eu-north-1',
470
+ 'eu-west-1',
471
+ 'eu-west-2',
472
+ 'eu-west-3',
473
+ 'europe-central2',
474
+ 'europe-north1',
475
+ 'europe-southwest1',
476
+ 'europe-west1',
477
+ 'europe-west10',
478
+ 'europe-west12',
479
+ 'europe-west2',
480
+ 'europe-west3',
481
+ 'europe-west4',
482
+ 'europe-west6',
483
+ 'europe-west8',
484
+ 'europe-west9',
485
+ 'fsn1',
486
+ 'hel1',
487
+ 'hil',
488
+ 'me-central1',
489
+ 'me-central2',
490
+ 'me-west1',
491
+ 'nbg1',
492
+ 'northamerica-northeast1',
493
+ 'northamerica-northeast2',
494
+ 'sa-east-1',
495
+ 'sin',
496
+ 'southamerica-east1',
497
+ 'southamerica-west1',
498
+ 'us-central1',
499
+ 'us-east-1',
500
+ 'us-east-2',
501
+ 'us-east1',
502
+ 'us-east4',
503
+ 'us-east5',
504
+ 'us-south1',
505
+ 'us-west-1',
506
+ 'us-west-2',
507
+ 'us-west1',
508
+ 'us-west2',
509
+ 'us-west3',
510
+ 'us-west4'
511
+ ])).optional()
512
+ }).optional(),
513
+ scalingProfile: z.enum(['aggressive', 'conservative']).optional().default('conservative'),
279
514
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
280
515
  });
281
516
  export const zFleet = z.object({
282
517
  limits: z.object({
283
- cpu: z.number().gte(0)
518
+ cpu: z.int().gte(0).lte(100000).optional()
284
519
  }).optional(),
285
520
  gcp: z.object({
286
- enabled: z.boolean().optional().default(true),
287
- project: z.string()
521
+ enabled: z.boolean(),
522
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
288
523
  }).optional(),
289
524
  hetzner: z.object({
290
- enabled: z.boolean().optional().default(true),
291
- apiKey: z.string()
525
+ enabled: z.boolean(),
526
+ apiKey: z.string().regex(/^\*{64}$/).optional()
292
527
  }).optional(),
293
528
  aws: z.object({
294
- enabled: z.boolean().optional().default(true),
295
- controllerRoleArn: z.string()
529
+ enabled: z.boolean(),
530
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
531
+ }).optional(),
532
+ constraints: z.object({
533
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional().default(['on-demand', 'spot']),
534
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional().default(['amd64']),
535
+ 'cfke.io/instance-family': z.array(z.enum([
536
+ 'a1',
537
+ 'a2',
538
+ 'a3',
539
+ 'a4',
540
+ 'c1',
541
+ 'c2',
542
+ 'c2d',
543
+ 'c3',
544
+ 'c3d',
545
+ 'c4',
546
+ 'c4a',
547
+ 'c4d',
548
+ 'c5',
549
+ 'c5a',
550
+ 'c5ad',
551
+ 'c5d',
552
+ 'c5n',
553
+ 'c6a',
554
+ 'c6g',
555
+ 'c6gd',
556
+ 'c6gn',
557
+ 'c6i',
558
+ 'c6id',
559
+ 'c6in',
560
+ 'c7a',
561
+ 'c7g',
562
+ 'c7gd',
563
+ 'c7gn',
564
+ 'c7i',
565
+ 'c7i-flex',
566
+ 'c8g',
567
+ 'c8gd',
568
+ 'cax',
569
+ 'ccx',
570
+ 'cpx',
571
+ 'cx',
572
+ 'd2',
573
+ 'd3',
574
+ 'd3en',
575
+ 'dl1',
576
+ 'dl2q',
577
+ 'e2',
578
+ 'f1',
579
+ 'f2',
580
+ 'g1',
581
+ 'g2',
582
+ 'g4ad',
583
+ 'g4dn',
584
+ 'g5',
585
+ 'g5g',
586
+ 'g6',
587
+ 'g6e',
588
+ 'gr6',
589
+ 'h1',
590
+ 'h3',
591
+ 'hpc6a',
592
+ 'hpc6id',
593
+ 'hpc7a',
594
+ 'hpc7g',
595
+ 'i2',
596
+ 'i3',
597
+ 'i3en',
598
+ 'i4g',
599
+ 'i4i',
600
+ 'i7i',
601
+ 'i7ie',
602
+ 'i8g',
603
+ 'im4gn',
604
+ 'inf1',
605
+ 'inf2',
606
+ 'is4gen',
607
+ 'm1',
608
+ 'm2',
609
+ 'm3',
610
+ 'm4',
611
+ 'm5',
612
+ 'm5a',
613
+ 'm5ad',
614
+ 'm5d',
615
+ 'm5dn',
616
+ 'm5n',
617
+ 'm5zn',
618
+ 'm6a',
619
+ 'm6g',
620
+ 'm6gd',
621
+ 'm6i',
622
+ 'm6id',
623
+ 'm6idn',
624
+ 'm6in',
625
+ 'm7a',
626
+ 'm7g',
627
+ 'm7gd',
628
+ 'm7i',
629
+ 'm7i-flex',
630
+ 'm8g',
631
+ 'm8gd',
632
+ 'n1',
633
+ 'n2',
634
+ 'n2d',
635
+ 'n4',
636
+ 'p3',
637
+ 'p3dn',
638
+ 'p4d',
639
+ 'p4de',
640
+ 'p5',
641
+ 'p5e',
642
+ 'p5en',
643
+ 'p6-b200',
644
+ 'r3',
645
+ 'r4',
646
+ 'r5',
647
+ 'r5a',
648
+ 'r5ad',
649
+ 'r5b',
650
+ 'r5d',
651
+ 'r5dn',
652
+ 'r5n',
653
+ 'r6a',
654
+ 'r6g',
655
+ 'r6gd',
656
+ 'r6i',
657
+ 'r6id',
658
+ 'r6idn',
659
+ 'r6in',
660
+ 'r7a',
661
+ 'r7g',
662
+ 'r7gd',
663
+ 'r7i',
664
+ 'r7iz',
665
+ 'r8g',
666
+ 'r8gd',
667
+ 't2',
668
+ 't2a',
669
+ 't2d',
670
+ 't3',
671
+ 't3a',
672
+ 't4g',
673
+ 'trn1',
674
+ 'trn1n',
675
+ 'u-3tb1',
676
+ 'u-6tb1',
677
+ 'u7i-12tb',
678
+ 'u7i-6tb',
679
+ 'u7i-8tb',
680
+ 'u7in-16tb',
681
+ 'u7in-24tb',
682
+ 'u7in-32tb',
683
+ 'vt1',
684
+ 'x1',
685
+ 'x1e',
686
+ 'x2gd',
687
+ 'x2idn',
688
+ 'x2iedn',
689
+ 'x2iezn',
690
+ 'x4',
691
+ 'x8g',
692
+ 'z1d',
693
+ 'z3'
694
+ ])).optional(),
695
+ 'topology.kubernetes.io/region': z.array(z.enum([
696
+ 'africa-south1',
697
+ 'ap-northeast-1',
698
+ 'ap-northeast-2',
699
+ 'ap-northeast-3',
700
+ 'ap-south-1',
701
+ 'ap-southeast-1',
702
+ 'ap-southeast-2',
703
+ 'ash',
704
+ 'asia-east1',
705
+ 'asia-east2',
706
+ 'asia-northeast1',
707
+ 'asia-northeast2',
708
+ 'asia-northeast3',
709
+ 'asia-south1',
710
+ 'asia-south2',
711
+ 'asia-southeast1',
712
+ 'asia-southeast2',
713
+ 'australia-southeast1',
714
+ 'australia-southeast2',
715
+ 'ca-central-1',
716
+ 'eu-central-1',
717
+ 'eu-central-2',
718
+ 'eu-north-1',
719
+ 'eu-west-1',
720
+ 'eu-west-2',
721
+ 'eu-west-3',
722
+ 'europe-central2',
723
+ 'europe-north1',
724
+ 'europe-southwest1',
725
+ 'europe-west1',
726
+ 'europe-west10',
727
+ 'europe-west12',
728
+ 'europe-west2',
729
+ 'europe-west3',
730
+ 'europe-west4',
731
+ 'europe-west6',
732
+ 'europe-west8',
733
+ 'europe-west9',
734
+ 'fsn1',
735
+ 'hel1',
736
+ 'hil',
737
+ 'me-central1',
738
+ 'me-central2',
739
+ 'me-west1',
740
+ 'nbg1',
741
+ 'northamerica-northeast1',
742
+ 'northamerica-northeast2',
743
+ 'sa-east-1',
744
+ 'sin',
745
+ 'southamerica-east1',
746
+ 'southamerica-west1',
747
+ 'us-central1',
748
+ 'us-east-1',
749
+ 'us-east-2',
750
+ 'us-east1',
751
+ 'us-east4',
752
+ 'us-east5',
753
+ 'us-south1',
754
+ 'us-west-1',
755
+ 'us-west-2',
756
+ 'us-west1',
757
+ 'us-west2',
758
+ 'us-west3',
759
+ 'us-west4'
760
+ ])).optional()
296
761
  }).optional(),
762
+ scalingProfile: z.enum(['aggressive', 'conservative']).default('conservative'),
297
763
  id: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/)
298
764
  });
299
765
  export const zFleetUpdateInput = z.object({
300
766
  limits: z.object({
301
- cpu: z.number().gte(0)
767
+ cpu: z.int().gte(0).lte(100000).optional()
302
768
  }).optional(),
303
769
  gcp: z.object({
304
- enabled: z.boolean().optional().default(true),
305
- project: z.string()
770
+ enabled: z.boolean(),
771
+ project: z.string().regex(/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/).optional()
306
772
  }).optional(),
307
773
  hetzner: z.object({
308
- enabled: z.boolean().optional().default(true),
309
- apiKey: z.string()
774
+ enabled: z.boolean(),
775
+ apiKey: z.string().length(64).regex(/^[A-Za-z0-9]+$/).optional()
310
776
  }).optional(),
311
777
  aws: z.object({
312
- enabled: z.boolean().optional().default(true),
313
- controllerRoleArn: z.string()
314
- }).optional()
778
+ enabled: z.boolean(),
779
+ controllerRoleArn: z.string().regex(/^arn:aws(-[a-z]+)*:iam::\d{12}:role\/[\w+=,.@\/-]+$/).optional()
780
+ }).optional(),
781
+ constraints: z.object({
782
+ 'karpenter.sh/capacity-type': z.array(z.enum(['on-demand', 'spot'])).min(1).optional(),
783
+ 'kubernetes.io/arch': z.array(z.enum(['amd64', 'arm64'])).min(1).optional(),
784
+ 'cfke.io/instance-family': z.array(z.enum([
785
+ 'a1',
786
+ 'a2',
787
+ 'a3',
788
+ 'a4',
789
+ 'c1',
790
+ 'c2',
791
+ 'c2d',
792
+ 'c3',
793
+ 'c3d',
794
+ 'c4',
795
+ 'c4a',
796
+ 'c4d',
797
+ 'c5',
798
+ 'c5a',
799
+ 'c5ad',
800
+ 'c5d',
801
+ 'c5n',
802
+ 'c6a',
803
+ 'c6g',
804
+ 'c6gd',
805
+ 'c6gn',
806
+ 'c6i',
807
+ 'c6id',
808
+ 'c6in',
809
+ 'c7a',
810
+ 'c7g',
811
+ 'c7gd',
812
+ 'c7gn',
813
+ 'c7i',
814
+ 'c7i-flex',
815
+ 'c8g',
816
+ 'c8gd',
817
+ 'cax',
818
+ 'ccx',
819
+ 'cpx',
820
+ 'cx',
821
+ 'd2',
822
+ 'd3',
823
+ 'd3en',
824
+ 'dl1',
825
+ 'dl2q',
826
+ 'e2',
827
+ 'f1',
828
+ 'f2',
829
+ 'g1',
830
+ 'g2',
831
+ 'g4ad',
832
+ 'g4dn',
833
+ 'g5',
834
+ 'g5g',
835
+ 'g6',
836
+ 'g6e',
837
+ 'gr6',
838
+ 'h1',
839
+ 'h3',
840
+ 'hpc6a',
841
+ 'hpc6id',
842
+ 'hpc7a',
843
+ 'hpc7g',
844
+ 'i2',
845
+ 'i3',
846
+ 'i3en',
847
+ 'i4g',
848
+ 'i4i',
849
+ 'i7i',
850
+ 'i7ie',
851
+ 'i8g',
852
+ 'im4gn',
853
+ 'inf1',
854
+ 'inf2',
855
+ 'is4gen',
856
+ 'm1',
857
+ 'm2',
858
+ 'm3',
859
+ 'm4',
860
+ 'm5',
861
+ 'm5a',
862
+ 'm5ad',
863
+ 'm5d',
864
+ 'm5dn',
865
+ 'm5n',
866
+ 'm5zn',
867
+ 'm6a',
868
+ 'm6g',
869
+ 'm6gd',
870
+ 'm6i',
871
+ 'm6id',
872
+ 'm6idn',
873
+ 'm6in',
874
+ 'm7a',
875
+ 'm7g',
876
+ 'm7gd',
877
+ 'm7i',
878
+ 'm7i-flex',
879
+ 'm8g',
880
+ 'm8gd',
881
+ 'n1',
882
+ 'n2',
883
+ 'n2d',
884
+ 'n4',
885
+ 'p3',
886
+ 'p3dn',
887
+ 'p4d',
888
+ 'p4de',
889
+ 'p5',
890
+ 'p5e',
891
+ 'p5en',
892
+ 'p6-b200',
893
+ 'r3',
894
+ 'r4',
895
+ 'r5',
896
+ 'r5a',
897
+ 'r5ad',
898
+ 'r5b',
899
+ 'r5d',
900
+ 'r5dn',
901
+ 'r5n',
902
+ 'r6a',
903
+ 'r6g',
904
+ 'r6gd',
905
+ 'r6i',
906
+ 'r6id',
907
+ 'r6idn',
908
+ 'r6in',
909
+ 'r7a',
910
+ 'r7g',
911
+ 'r7gd',
912
+ 'r7i',
913
+ 'r7iz',
914
+ 'r8g',
915
+ 'r8gd',
916
+ 't2',
917
+ 't2a',
918
+ 't2d',
919
+ 't3',
920
+ 't3a',
921
+ 't4g',
922
+ 'trn1',
923
+ 'trn1n',
924
+ 'u-3tb1',
925
+ 'u-6tb1',
926
+ 'u7i-12tb',
927
+ 'u7i-6tb',
928
+ 'u7i-8tb',
929
+ 'u7in-16tb',
930
+ 'u7in-24tb',
931
+ 'u7in-32tb',
932
+ 'vt1',
933
+ 'x1',
934
+ 'x1e',
935
+ 'x2gd',
936
+ 'x2idn',
937
+ 'x2iedn',
938
+ 'x2iezn',
939
+ 'x4',
940
+ 'x8g',
941
+ 'z1d',
942
+ 'z3'
943
+ ])).optional(),
944
+ 'topology.kubernetes.io/region': z.array(z.enum([
945
+ 'africa-south1',
946
+ 'ap-northeast-1',
947
+ 'ap-northeast-2',
948
+ 'ap-northeast-3',
949
+ 'ap-south-1',
950
+ 'ap-southeast-1',
951
+ 'ap-southeast-2',
952
+ 'ash',
953
+ 'asia-east1',
954
+ 'asia-east2',
955
+ 'asia-northeast1',
956
+ 'asia-northeast2',
957
+ 'asia-northeast3',
958
+ 'asia-south1',
959
+ 'asia-south2',
960
+ 'asia-southeast1',
961
+ 'asia-southeast2',
962
+ 'australia-southeast1',
963
+ 'australia-southeast2',
964
+ 'ca-central-1',
965
+ 'eu-central-1',
966
+ 'eu-central-2',
967
+ 'eu-north-1',
968
+ 'eu-west-1',
969
+ 'eu-west-2',
970
+ 'eu-west-3',
971
+ 'europe-central2',
972
+ 'europe-north1',
973
+ 'europe-southwest1',
974
+ 'europe-west1',
975
+ 'europe-west10',
976
+ 'europe-west12',
977
+ 'europe-west2',
978
+ 'europe-west3',
979
+ 'europe-west4',
980
+ 'europe-west6',
981
+ 'europe-west8',
982
+ 'europe-west9',
983
+ 'fsn1',
984
+ 'hel1',
985
+ 'hil',
986
+ 'me-central1',
987
+ 'me-central2',
988
+ 'me-west1',
989
+ 'nbg1',
990
+ 'northamerica-northeast1',
991
+ 'northamerica-northeast2',
992
+ 'sa-east-1',
993
+ 'sin',
994
+ 'southamerica-east1',
995
+ 'southamerica-west1',
996
+ 'us-central1',
997
+ 'us-east-1',
998
+ 'us-east-2',
999
+ 'us-east1',
1000
+ 'us-east4',
1001
+ 'us-east5',
1002
+ 'us-south1',
1003
+ 'us-west-1',
1004
+ 'us-west-2',
1005
+ 'us-west1',
1006
+ 'us-west2',
1007
+ 'us-west3',
1008
+ 'us-west4'
1009
+ ])).optional()
1010
+ }).optional(),
1011
+ scalingProfile: z.enum(['aggressive', 'conservative'])
315
1012
  });
316
1013
  export const zInvite = z.object({
317
1014
  id: z.string().optional(),
@@ -380,8 +1077,6 @@ export const zOrganization = z.object({
380
1077
  id: z.string(),
381
1078
  label: z.string()
382
1079
  })).min(1),
383
- copilot_user_hourly_tokens: z.int().gte(0),
384
- copilot_organization_hourly_tokens: z.int().gte(0),
385
1080
  cfcr_storage_gb: z.int().gte(-1)
386
1081
  }),
387
1082
  status: z.enum([
@@ -421,8 +1116,6 @@ export const zPlatformQuota = z.object({
421
1116
  id: z.string(),
422
1117
  label: z.string()
423
1118
  })).min(1),
424
- copilot_user_hourly_tokens: z.int().gte(0),
425
- copilot_organization_hourly_tokens: z.int().gte(0),
426
1119
  cfcr_storage_gb: z.int().gte(-1)
427
1120
  });
428
1121
  export const zRegistryRepository = z.object({
@@ -471,6 +1164,102 @@ export const zRegistryTag = z.object({
471
1164
  repository: z.string(),
472
1165
  uri: z.string()
473
1166
  });
1167
+ export const zTicketAttachment = z.object({
1168
+ id: z.string(),
1169
+ filename: z.string(),
1170
+ content_type: z.string(),
1171
+ size: z.int()
1172
+ });
1173
+ export const zTicketCreateInput = z.object({
1174
+ category: z.enum([
1175
+ 'billing',
1176
+ 'technical',
1177
+ 'general'
1178
+ ]),
1179
+ body: z.string().min(1).max(50000).regex(/\S/),
1180
+ properties: z.record(z.string(), z.unknown()).optional()
1181
+ });
1182
+ export const zTicketListResponse = z.object({
1183
+ items: z.array(z.object({
1184
+ id: z.string(),
1185
+ status: z.enum([
1186
+ 'waiting_on_us',
1187
+ 'waiting_on_user',
1188
+ 'closed'
1189
+ ]),
1190
+ category: z.enum([
1191
+ 'billing',
1192
+ 'technical',
1193
+ 'general'
1194
+ ]),
1195
+ summary: z.string(),
1196
+ closed_at: z.iso.datetime().optional(),
1197
+ date_created: z.iso.datetime(),
1198
+ date_updated: z.iso.datetime(),
1199
+ messages: z.array(z.object({
1200
+ id: z.string(),
1201
+ type: z.enum(['customer_reply', 'agent_reply']),
1202
+ body: z.string(),
1203
+ author_first_name: z.string().optional(),
1204
+ author_last_name: z.string().optional(),
1205
+ attachments: z.array(z.object({
1206
+ id: z.string(),
1207
+ filename: z.string(),
1208
+ content_type: z.string(),
1209
+ size: z.int()
1210
+ })).optional(),
1211
+ date_created: z.iso.datetime()
1212
+ })).optional()
1213
+ }))
1214
+ });
1215
+ export const zTicketMessageInput = z.object({
1216
+ body: z.string().min(1).max(50000).regex(/\S/)
1217
+ });
1218
+ export const zTicketMessage = z.object({
1219
+ id: z.string(),
1220
+ type: z.enum(['customer_reply', 'agent_reply']),
1221
+ body: z.string(),
1222
+ author_first_name: z.string().optional(),
1223
+ author_last_name: z.string().optional(),
1224
+ attachments: z.array(z.object({
1225
+ id: z.string(),
1226
+ filename: z.string(),
1227
+ content_type: z.string(),
1228
+ size: z.int()
1229
+ })).optional(),
1230
+ date_created: z.iso.datetime()
1231
+ });
1232
+ export const zTicket = z.object({
1233
+ id: z.string(),
1234
+ status: z.enum([
1235
+ 'waiting_on_us',
1236
+ 'waiting_on_user',
1237
+ 'closed'
1238
+ ]),
1239
+ category: z.enum([
1240
+ 'billing',
1241
+ 'technical',
1242
+ 'general'
1243
+ ]),
1244
+ summary: z.string(),
1245
+ closed_at: z.iso.datetime().optional(),
1246
+ date_created: z.iso.datetime(),
1247
+ date_updated: z.iso.datetime(),
1248
+ messages: z.array(z.object({
1249
+ id: z.string(),
1250
+ type: z.enum(['customer_reply', 'agent_reply']),
1251
+ body: z.string(),
1252
+ author_first_name: z.string().optional(),
1253
+ author_last_name: z.string().optional(),
1254
+ attachments: z.array(z.object({
1255
+ id: z.string(),
1256
+ filename: z.string(),
1257
+ content_type: z.string(),
1258
+ size: z.int()
1259
+ })).optional(),
1260
+ date_created: z.iso.datetime()
1261
+ })).optional()
1262
+ });
474
1263
  export const zTokenCreateInput = z.object({
475
1264
  name: z.string().min(1).max(63).regex(/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/),
476
1265
  role: z.enum(['Administrator', 'User'])
@@ -542,7 +1331,7 @@ export const zGetUsageQuery = z.object({
542
1331
  'hourly',
543
1332
  'daily',
544
1333
  'monthly'
545
- ]).optional()
1334
+ ]).optional().default('daily')
546
1335
  });
547
1336
  /**
548
1337
  * Usage data with facets for filtering
@@ -791,6 +1580,51 @@ export const zGetTagPath = z.object({
791
1580
  * Tag details
792
1581
  */
793
1582
  export const zGetTagResponse = zRegistryTag;
1583
+ /**
1584
+ * Tickets for the organization.
1585
+ */
1586
+ export const zListTicketsResponse = zTicketListResponse;
1587
+ export const zCreateTicketBody = z.object({
1588
+ payload: z.string().optional(),
1589
+ attachments: z.array(z.string()).optional()
1590
+ });
1591
+ /**
1592
+ * Ticket created.
1593
+ */
1594
+ export const zCreateTicketResponse = zTicket;
1595
+ export const zCloseTicketPath = z.object({
1596
+ ticket_id: z.string()
1597
+ });
1598
+ /**
1599
+ * Ticket closed.
1600
+ */
1601
+ export const zCloseTicketResponse = zTicket;
1602
+ export const zGetTicketPath = z.object({
1603
+ ticket_id: z.string()
1604
+ });
1605
+ /**
1606
+ * Ticket with messages (internal notes excluded).
1607
+ */
1608
+ export const zGetTicketResponse = zTicket;
1609
+ export const zReplyTicketBody = z.object({
1610
+ payload: z.string().optional(),
1611
+ attachments: z.array(z.string()).optional()
1612
+ });
1613
+ export const zReplyTicketPath = z.object({
1614
+ ticket_id: z.string()
1615
+ });
1616
+ /**
1617
+ * Reply appended.
1618
+ */
1619
+ export const zReplyTicketResponse = zTicketMessage;
1620
+ export const zGetTicketAttachmentPath = z.object({
1621
+ ticket_id: z.string(),
1622
+ attachment_id: z.string()
1623
+ });
1624
+ /**
1625
+ * Attachment binary stream.
1626
+ */
1627
+ export const zGetTicketAttachmentResponse = z.string();
794
1628
  /**
795
1629
  * Returns a list of access token details with masked secrets.
796
1630
  */