@oore/client 0.15.0 → 0.17.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.
Files changed (102) hide show
  1. package/dist/generated/@tanstack/react-query.gen.d.ts +220 -1
  2. package/dist/generated/@tanstack/react-query.gen.js +239 -1
  3. package/dist/generated/msw.gen.d.ts +146 -1
  4. package/dist/generated/msw.gen.js +230 -0
  5. package/dist/generated/sdk.gen.d.ts +68 -1
  6. package/dist/generated/sdk.gen.js +141 -0
  7. package/dist/generated/types.gen.d.ts +554 -0
  8. package/dist/generated/valibot/v-approve-promotion-body.d.ts +4 -0
  9. package/dist/generated/valibot/v-approve-promotion-body.js +4 -0
  10. package/dist/generated/valibot/v-approve-promotion-path.d.ts +5 -0
  11. package/dist/generated/valibot/v-approve-promotion-path.js +6 -0
  12. package/dist/generated/valibot/v-approve-promotion-response.d.ts +25 -0
  13. package/dist/generated/valibot/v-approve-promotion-response.js +3 -0
  14. package/dist/generated/valibot/v-approve-release-response.d.ts +3 -0
  15. package/dist/generated/valibot/v-build-feedback.d.ts +14 -0
  16. package/dist/generated/valibot/v-build-feedback.js +19 -0
  17. package/dist/generated/valibot/v-complete-release-response.d.ts +3 -0
  18. package/dist/generated/valibot/v-create-build-feedback-body.d.ts +9 -0
  19. package/dist/generated/valibot/v-create-build-feedback-body.js +3 -0
  20. package/dist/generated/valibot/v-create-build-feedback-path.d.ts +4 -0
  21. package/dist/generated/valibot/v-create-build-feedback-path.js +5 -0
  22. package/dist/generated/valibot/v-create-build-feedback-request.d.ts +9 -0
  23. package/dist/generated/valibot/v-create-build-feedback-request.js +10 -0
  24. package/dist/generated/valibot/v-create-build-feedback-response.d.ts +14 -0
  25. package/dist/generated/valibot/v-create-build-feedback-response.js +3 -0
  26. package/dist/generated/valibot/v-create-project-environment-body.d.ts +14 -0
  27. package/dist/generated/valibot/v-create-project-environment-body.js +3 -0
  28. package/dist/generated/valibot/v-create-project-environment-path.d.ts +4 -0
  29. package/dist/generated/valibot/v-create-project-environment-path.js +5 -0
  30. package/dist/generated/valibot/v-create-project-environment-request.d.ts +14 -0
  31. package/dist/generated/valibot/v-create-project-environment-request.js +12 -0
  32. package/dist/generated/valibot/v-create-project-environment-response.d.ts +56 -0
  33. package/dist/generated/valibot/v-create-project-environment-response.js +3 -0
  34. package/dist/generated/valibot/v-create-promotion-request.d.ts +6 -0
  35. package/dist/generated/valibot/v-create-promotion-request.js +7 -0
  36. package/dist/generated/valibot/v-create-release-response.d.ts +3 -0
  37. package/dist/generated/valibot/v-delete-project-environment-path.d.ts +5 -0
  38. package/dist/generated/valibot/v-delete-project-environment-path.js +6 -0
  39. package/dist/generated/valibot/v-delete-project-environment-response.d.ts +4 -0
  40. package/dist/generated/valibot/v-delete-project-environment-response.js +3 -0
  41. package/dist/generated/valibot/v-environment-promotion.d.ts +25 -0
  42. package/dist/generated/valibot/v-environment-promotion.js +47 -0
  43. package/dist/generated/valibot/v-get-build-feedback-screenshot-path.d.ts +5 -0
  44. package/dist/generated/valibot/v-get-build-feedback-screenshot-path.js +6 -0
  45. package/dist/generated/valibot/v-get-build-feedback-screenshot-response.d.ts +2 -0
  46. package/dist/generated/valibot/v-get-build-feedback-screenshot-response.js +3 -0
  47. package/dist/generated/valibot/v-get-release-response.d.ts +3 -0
  48. package/dist/generated/valibot/v-halt-release-response.d.ts +3 -0
  49. package/dist/generated/valibot/v-list-build-feedback-path.d.ts +4 -0
  50. package/dist/generated/valibot/v-list-build-feedback-path.js +5 -0
  51. package/dist/generated/valibot/v-list-build-feedback-response.d.ts +16 -0
  52. package/dist/generated/valibot/v-list-build-feedback-response.js +6 -0
  53. package/dist/generated/valibot/v-list-build-feedback-response2.d.ts +16 -0
  54. package/dist/generated/valibot/v-list-build-feedback-response2.js +3 -0
  55. package/dist/generated/valibot/v-list-project-environments-path.d.ts +4 -0
  56. package/dist/generated/valibot/v-list-project-environments-path.js +5 -0
  57. package/dist/generated/valibot/v-list-project-environments-response.d.ts +82 -0
  58. package/dist/generated/valibot/v-list-project-environments-response.js +8 -0
  59. package/dist/generated/valibot/v-list-project-environments-response2.d.ts +82 -0
  60. package/dist/generated/valibot/v-list-project-environments-response2.js +3 -0
  61. package/dist/generated/valibot/v-list-releases-response.d.ts +3 -0
  62. package/dist/generated/valibot/v-list-releases-response2.d.ts +3 -0
  63. package/dist/generated/valibot/v-pause-release-response.d.ts +3 -0
  64. package/dist/generated/valibot/v-project-environment.d.ts +56 -0
  65. package/dist/generated/valibot/v-project-environment.js +32 -0
  66. package/dist/generated/valibot/v-promote-build-body.d.ts +6 -0
  67. package/dist/generated/valibot/v-promote-build-body.js +3 -0
  68. package/dist/generated/valibot/v-promote-build-path.d.ts +4 -0
  69. package/dist/generated/valibot/v-promote-build-path.js +5 -0
  70. package/dist/generated/valibot/v-promote-build-response.d.ts +25 -0
  71. package/dist/generated/valibot/v-promote-build-response.js +3 -0
  72. package/dist/generated/valibot/v-promotion-decision-request.d.ts +4 -0
  73. package/dist/generated/valibot/v-promotion-decision-request.js +5 -0
  74. package/dist/generated/valibot/v-promotion-state.d.ts +2 -0
  75. package/dist/generated/valibot/v-promotion-state.js +9 -0
  76. package/dist/generated/valibot/v-raise-release-response.d.ts +3 -0
  77. package/dist/generated/valibot/v-reject-promotion-body.d.ts +4 -0
  78. package/dist/generated/valibot/v-reject-promotion-body.js +4 -0
  79. package/dist/generated/valibot/v-reject-promotion-path.d.ts +5 -0
  80. package/dist/generated/valibot/v-reject-promotion-path.js +6 -0
  81. package/dist/generated/valibot/v-reject-promotion-response.d.ts +25 -0
  82. package/dist/generated/valibot/v-reject-promotion-response.js +3 -0
  83. package/dist/generated/valibot/v-release-detail-response.d.ts +3 -0
  84. package/dist/generated/valibot/v-release.d.ts +3 -0
  85. package/dist/generated/valibot/v-release.js +3 -0
  86. package/dist/generated/valibot/v-resume-release-response.d.ts +3 -0
  87. package/dist/generated/valibot/v-update-project-environment-body.d.ts +13 -0
  88. package/dist/generated/valibot/v-update-project-environment-body.js +3 -0
  89. package/dist/generated/valibot/v-update-project-environment-path.d.ts +5 -0
  90. package/dist/generated/valibot/v-update-project-environment-path.js +6 -0
  91. package/dist/generated/valibot/v-update-project-environment-request.d.ts +13 -0
  92. package/dist/generated/valibot/v-update-project-environment-request.js +14 -0
  93. package/dist/generated/valibot/v-update-project-environment-response.d.ts +56 -0
  94. package/dist/generated/valibot/v-update-project-environment-response.js +3 -0
  95. package/dist/msw.d.ts +2 -2
  96. package/dist/msw.js +1 -1
  97. package/dist/react-query.d.ts +1 -1
  98. package/dist/react-query.js +1 -1
  99. package/dist/valibot.d.ts +37 -0
  100. package/dist/valibot.js +37 -0
  101. package/openapi/openapi.json +1403 -82
  102. package/package.json +1 -1
@@ -313,6 +313,25 @@ export type BuildEvent = {
313
313
  reason?: string | null;
314
314
  to_status: string;
315
315
  };
316
+ export type BuildFeedback = {
317
+ app_version?: string | null;
318
+ artifact_id?: string | null;
319
+ /**
320
+ * Email of the person who sent it.
321
+ */
322
+ author_email: string;
323
+ author_name?: string | null;
324
+ build_id: string;
325
+ created_at: number;
326
+ device?: string | null;
327
+ /**
328
+ * Fetch it from `GET /v1/builds/{build_id}/feedback/{feedback_id}/screenshot`.
329
+ */
330
+ has_screenshot: boolean;
331
+ id: string;
332
+ message: string;
333
+ os_version?: string | null;
334
+ };
316
335
  /**
317
336
  * One day of finished builds, in the caller's UTC offset.
318
337
  */
@@ -553,6 +572,33 @@ export type CreateArtifactResponse = {
553
572
  artifact: Artifact;
554
573
  upload_url: string;
555
574
  };
575
+ export type CreateBuildFeedbackRequest = {
576
+ /**
577
+ * App version the tester installed, such as `2.4.0+118`.
578
+ */
579
+ app_version?: string | null;
580
+ /**
581
+ * The build's artifact the tester installed. Must belong to this build.
582
+ */
583
+ artifact_id?: string | null;
584
+ /**
585
+ * Device model, such as `Pixel 8` or `iPhone`.
586
+ */
587
+ device?: string | null;
588
+ /**
589
+ * What the tester saw. 1 to 4000 characters.
590
+ */
591
+ message: string;
592
+ /**
593
+ * Operating system and version, such as `Android 15` or `iOS 18.1`.
594
+ */
595
+ os_version?: string | null;
596
+ /**
597
+ * Optional PNG, JPEG or WebP screenshot, base64 encoded, at most 5 MiB
598
+ * decoded. Requires artifact storage.
599
+ */
600
+ screenshot_base64?: string | null;
601
+ };
556
602
  export type CreateBuildRequest = {
557
603
  branch?: string | null;
558
604
  changelog?: string | null;
@@ -615,6 +661,14 @@ export type CreatePipelineRequest = {
615
661
  export type CreatePipelineResponse = {
616
662
  pipeline: Pipeline;
617
663
  };
664
+ export type CreateProjectEnvironmentRequest = {
665
+ approval_required?: boolean;
666
+ key: string;
667
+ name: string;
668
+ rollout_policy?: null | ReleasePolicy;
669
+ store: ReleaseStore;
670
+ track: string;
671
+ };
618
672
  export type CreateProjectRequest = {
619
673
  default_branch?: string | null;
620
674
  description?: string | null;
@@ -625,6 +679,14 @@ export type CreateProjectRequest = {
625
679
  export type CreateProjectResponse = {
626
680
  project: Project;
627
681
  };
682
+ export type CreatePromotionRequest = {
683
+ build_id: string;
684
+ /**
685
+ * The environment to promote into.
686
+ */
687
+ environment_id: string;
688
+ reason?: string | null;
689
+ };
628
690
  export type CreateReleaseRequest = {
629
691
  artifact_id?: string | null;
630
692
  build_id: string;
@@ -695,6 +757,48 @@ export type EffectiveProjectRetentionResponse = {
695
757
  has_override: boolean;
696
758
  override_fields?: null | ProjectRetentionOverride;
697
759
  };
760
+ /**
761
+ * A request to put an existing build into an environment.
762
+ */
763
+ export type EnvironmentPromotion = {
764
+ build_id: string;
765
+ build_number?: number | null;
766
+ /**
767
+ * Whether the caller may approve or reject this promotion now.
768
+ */
769
+ can_decide: boolean;
770
+ created_at: number;
771
+ decided_at?: number | null;
772
+ decided_by_email?: string | null;
773
+ decision_reason?: string | null;
774
+ environment_id: string;
775
+ environment_name: string;
776
+ /**
777
+ * Why the promotion failed.
778
+ */
779
+ error?: string | null;
780
+ id: string;
781
+ project_id: string;
782
+ reason?: string | null;
783
+ /**
784
+ * The release the promotion created, once completed.
785
+ */
786
+ release_id?: string | null;
787
+ requested_by_email?: string | null;
788
+ /**
789
+ * Where the source release was, when it belongs to an environment.
790
+ */
791
+ source_environment_name?: string | null;
792
+ /**
793
+ * The release the build is promoted from.
794
+ */
795
+ source_release_id: string;
796
+ source_track: string;
797
+ state: PromotionState;
798
+ updated_at: number;
799
+ version_code?: number | null;
800
+ version_name?: string | null;
801
+ };
698
802
  /**
699
803
  * `ready` event, the first event on every `GET /v1/events` connection.
700
804
  * Clients refetch once on `ready` after a reconnect, since events sent while
@@ -1038,6 +1142,12 @@ export type ListBuildActorsResponse = {
1038
1142
  export type ListBuildArtifactsRequest = {
1039
1143
  build_ids: Array<string>;
1040
1144
  };
1145
+ export type ListBuildFeedbackResponse = {
1146
+ /**
1147
+ * Oldest first.
1148
+ */
1149
+ feedback: Array<BuildFeedback>;
1150
+ };
1041
1151
  export type ListBuildsResponse = {
1042
1152
  builds: Array<Build>;
1043
1153
  total: number;
@@ -1069,6 +1179,16 @@ export type ListPipelinesResponse = {
1069
1179
  pipelines: Array<Pipeline>;
1070
1180
  total: number;
1071
1181
  };
1182
+ export type ListProjectEnvironmentsResponse = {
1183
+ /**
1184
+ * Environments in promotion order.
1185
+ */
1186
+ environments: Array<ProjectEnvironment>;
1187
+ /**
1188
+ * Pending promotions and the most recent decided ones, newest first.
1189
+ */
1190
+ promotions: Array<EnvironmentPromotion>;
1191
+ };
1072
1192
  export type ListProjectMemberCandidatesResponse = {
1073
1193
  candidates: Array<ProjectMemberCandidate>;
1074
1194
  };
@@ -1390,6 +1510,48 @@ export type ProjectDetailResponse = {
1390
1510
  pipeline_count: number;
1391
1511
  project: Project;
1392
1512
  };
1513
+ /**
1514
+ * A release environment on a project, such as `internal` or `production`,
1515
+ * with its store target, rollout policy and approval rule.
1516
+ */
1517
+ export type ProjectEnvironment = {
1518
+ /**
1519
+ * A promotion into this environment waits for a maintainer's approval
1520
+ * before anything changes at the store.
1521
+ */
1522
+ approval_required: boolean;
1523
+ created_at: number;
1524
+ id: string;
1525
+ /**
1526
+ * Stable identifier, unique in the project: lowercase letters, digits
1527
+ * and dashes, starting with a letter.
1528
+ */
1529
+ key: string;
1530
+ latest_release?: null | Release;
1531
+ name: string;
1532
+ /**
1533
+ * Order on the promotion path, lowest first.
1534
+ */
1535
+ position: number;
1536
+ project_id: string;
1537
+ /**
1538
+ * Whether builds can be promoted into this environment. App Store
1539
+ * environments only group the releases that uploads record for now.
1540
+ */
1541
+ promotable: boolean;
1542
+ /**
1543
+ * Staged rollout policy for releases promoted into this environment.
1544
+ * Its `approval` is always `none`; use `approval_required`.
1545
+ */
1546
+ rollout_policy: ReleasePolicy;
1547
+ store: ReleaseStore;
1548
+ /**
1549
+ * Play track (`internal`, `closed`, `open`, `production` or a custom
1550
+ * track), or the App Store release track a store upload records.
1551
+ */
1552
+ track: string;
1553
+ updated_at: number;
1554
+ };
1393
1555
  export type ProjectMember = {
1394
1556
  created_at: number;
1395
1557
  id: string;
@@ -1421,6 +1583,10 @@ export type ProjectRetentionOverride = {
1421
1583
  updated_at?: number | null;
1422
1584
  };
1423
1585
  export type ProjectRole = 'maintainer' | 'developer' | 'viewer';
1586
+ export type PromotionDecisionRequest = {
1587
+ reason?: string | null;
1588
+ };
1589
+ export type PromotionState = 'pending' | 'promoting' | 'completed' | 'rejected' | 'failed';
1424
1590
  export type PublishStore = 'google_play' | 'app_store';
1425
1591
  export type ReEnableUserResponse = {
1426
1592
  user: User;
@@ -1487,6 +1653,12 @@ export type Release = {
1487
1653
  crash_rate?: number | null;
1488
1654
  crash_rate_threshold?: number | null;
1489
1655
  created_at: number;
1656
+ /**
1657
+ * The project environment this release belongs to. Absent for projects
1658
+ * without environments.
1659
+ */
1660
+ environment_id?: string | null;
1661
+ environment_name?: string | null;
1490
1662
  health: ReleaseHealth;
1491
1663
  id: string;
1492
1664
  next_fraction?: number | null;
@@ -1499,6 +1671,10 @@ export type Release = {
1499
1671
  policy: ReleasePolicy;
1500
1672
  project_id: string;
1501
1673
  project_name?: string | null;
1674
+ /**
1675
+ * The release this one was promoted from, without a new build.
1676
+ */
1677
+ promoted_from_release_id?: string | null;
1502
1678
  /**
1503
1679
  * Fraction of users, 0..1.
1504
1680
  */
@@ -2338,6 +2514,16 @@ export type UpdatePipelineRequest = {
2338
2514
  timeout_minutes?: number | null;
2339
2515
  trigger_config?: null | TriggerConfig;
2340
2516
  };
2517
+ /**
2518
+ * Changes to an environment. The key and store are fixed once created.
2519
+ */
2520
+ export type UpdateProjectEnvironmentRequest = {
2521
+ approval_required?: boolean | null;
2522
+ name?: string | null;
2523
+ position?: number | null;
2524
+ rollout_policy?: null | ReleasePolicy;
2525
+ track?: string | null;
2526
+ };
2341
2527
  export type UpdateProjectMemberRequest = {
2342
2528
  role: ProjectRole;
2343
2529
  };
@@ -3566,6 +3752,113 @@ export type CancelBuildResponses = {
3566
3752
  200: CancelBuildResponse;
3567
3753
  };
3568
3754
  export type CancelBuildResponse2 = CancelBuildResponses[keyof CancelBuildResponses];
3755
+ export type ListBuildFeedbackData = {
3756
+ body?: never;
3757
+ path: {
3758
+ /**
3759
+ * Build ID
3760
+ */
3761
+ build_id: string;
3762
+ };
3763
+ query?: never;
3764
+ url: '/v1/builds/{build_id}/feedback';
3765
+ };
3766
+ export type ListBuildFeedbackErrors = {
3767
+ /**
3768
+ * Build not found
3769
+ */
3770
+ 404: ApiError;
3771
+ };
3772
+ export type ListBuildFeedbackError = ListBuildFeedbackErrors[keyof ListBuildFeedbackErrors];
3773
+ export type ListBuildFeedbackResponses = {
3774
+ /**
3775
+ * Feedback for the build
3776
+ */
3777
+ 200: ListBuildFeedbackResponse;
3778
+ };
3779
+ export type ListBuildFeedbackResponse2 = ListBuildFeedbackResponses[keyof ListBuildFeedbackResponses];
3780
+ export type CreateBuildFeedbackData = {
3781
+ body: CreateBuildFeedbackRequest;
3782
+ path: {
3783
+ /**
3784
+ * Build ID
3785
+ */
3786
+ build_id: string;
3787
+ };
3788
+ query?: never;
3789
+ url: '/v1/builds/{build_id}/feedback';
3790
+ };
3791
+ export type CreateBuildFeedbackErrors = {
3792
+ /**
3793
+ * Missing message, a field too long, or an artifact from another build
3794
+ */
3795
+ 400: ApiError;
3796
+ /**
3797
+ * Permission denied
3798
+ */
3799
+ 403: ApiError;
3800
+ /**
3801
+ * Build not found
3802
+ */
3803
+ 404: ApiError;
3804
+ /**
3805
+ * A screenshot was attached but artifact storage is not configured
3806
+ */
3807
+ 409: ApiError;
3808
+ /**
3809
+ * Screenshot larger than 5 MiB
3810
+ */
3811
+ 413: ApiError;
3812
+ /**
3813
+ * Screenshot is not a PNG, JPEG or WebP image
3814
+ */
3815
+ 415: ApiError;
3816
+ /**
3817
+ * Too much feedback sent recently
3818
+ */
3819
+ 429: ApiError;
3820
+ };
3821
+ export type CreateBuildFeedbackError = CreateBuildFeedbackErrors[keyof CreateBuildFeedbackErrors];
3822
+ export type CreateBuildFeedbackResponses = {
3823
+ /**
3824
+ * Feedback recorded
3825
+ */
3826
+ 201: BuildFeedback;
3827
+ };
3828
+ export type CreateBuildFeedbackResponse = CreateBuildFeedbackResponses[keyof CreateBuildFeedbackResponses];
3829
+ export type GetBuildFeedbackScreenshotData = {
3830
+ body?: never;
3831
+ path: {
3832
+ /**
3833
+ * Build ID
3834
+ */
3835
+ build_id: string;
3836
+ /**
3837
+ * Feedback ID
3838
+ */
3839
+ feedback_id: string;
3840
+ };
3841
+ query?: never;
3842
+ url: '/v1/builds/{build_id}/feedback/{feedback_id}/screenshot';
3843
+ };
3844
+ export type GetBuildFeedbackScreenshotErrors = {
3845
+ /**
3846
+ * Build, feedback or screenshot not found
3847
+ */
3848
+ 404: ApiError;
3849
+ /**
3850
+ * The screenshot could not be read from artifact storage
3851
+ */
3852
+ 500: ApiError;
3853
+ };
3854
+ export type GetBuildFeedbackScreenshotError = GetBuildFeedbackScreenshotErrors[keyof GetBuildFeedbackScreenshotErrors];
3855
+ export type GetBuildFeedbackScreenshotResponses = {
3856
+ /**
3857
+ * Screenshot image
3858
+ */
3859
+ 200: BinaryPayload;
3860
+ };
3861
+ export type GetBuildFeedbackScreenshotResponse = GetBuildFeedbackScreenshotResponses[keyof GetBuildFeedbackScreenshotResponses];
3569
3862
  export type GetBuildLogsData = {
3570
3863
  body?: never;
3571
3864
  path: {
@@ -5248,6 +5541,146 @@ export type PreviewBuildChangelogResponses = {
5248
5541
  200: BuildChangelogPreviewResponse;
5249
5542
  };
5250
5543
  export type PreviewBuildChangelogResponse = PreviewBuildChangelogResponses[keyof PreviewBuildChangelogResponses];
5544
+ export type ListProjectEnvironmentsData = {
5545
+ body?: never;
5546
+ path: {
5547
+ /**
5548
+ * Project ID
5549
+ */
5550
+ project_id: string;
5551
+ };
5552
+ query?: never;
5553
+ url: '/v1/projects/{project_id}/environments';
5554
+ };
5555
+ export type ListProjectEnvironmentsErrors = {
5556
+ /**
5557
+ * Project not found
5558
+ */
5559
+ 404: ApiError;
5560
+ };
5561
+ export type ListProjectEnvironmentsError = ListProjectEnvironmentsErrors[keyof ListProjectEnvironmentsErrors];
5562
+ export type ListProjectEnvironmentsResponses = {
5563
+ /**
5564
+ * Environments and promotions
5565
+ */
5566
+ 200: ListProjectEnvironmentsResponse;
5567
+ };
5568
+ export type ListProjectEnvironmentsResponse2 = ListProjectEnvironmentsResponses[keyof ListProjectEnvironmentsResponses];
5569
+ export type CreateProjectEnvironmentData = {
5570
+ body: CreateProjectEnvironmentRequest;
5571
+ path: {
5572
+ /**
5573
+ * Project ID
5574
+ */
5575
+ project_id: string;
5576
+ };
5577
+ query?: never;
5578
+ url: '/v1/projects/{project_id}/environments';
5579
+ };
5580
+ export type CreateProjectEnvironmentErrors = {
5581
+ /**
5582
+ * Invalid input
5583
+ */
5584
+ 400: ApiError;
5585
+ /**
5586
+ * Permission denied
5587
+ */
5588
+ 403: ApiError;
5589
+ /**
5590
+ * Project not found
5591
+ */
5592
+ 404: ApiError;
5593
+ /**
5594
+ * Key, or store and track, already used
5595
+ */
5596
+ 409: ApiError;
5597
+ };
5598
+ export type CreateProjectEnvironmentError = CreateProjectEnvironmentErrors[keyof CreateProjectEnvironmentErrors];
5599
+ export type CreateProjectEnvironmentResponses = {
5600
+ /**
5601
+ * Created environment
5602
+ */
5603
+ 200: ProjectEnvironment;
5604
+ };
5605
+ export type CreateProjectEnvironmentResponse = CreateProjectEnvironmentResponses[keyof CreateProjectEnvironmentResponses];
5606
+ export type DeleteProjectEnvironmentData = {
5607
+ body?: never;
5608
+ path: {
5609
+ /**
5610
+ * Project ID
5611
+ */
5612
+ project_id: string;
5613
+ /**
5614
+ * Environment ID
5615
+ */
5616
+ environment_id: string;
5617
+ };
5618
+ query?: never;
5619
+ url: '/v1/projects/{project_id}/environments/{environment_id}';
5620
+ };
5621
+ export type DeleteProjectEnvironmentErrors = {
5622
+ /**
5623
+ * Permission denied
5624
+ */
5625
+ 403: ApiError;
5626
+ /**
5627
+ * Not found
5628
+ */
5629
+ 404: ApiError;
5630
+ /**
5631
+ * A promotion is in progress
5632
+ */
5633
+ 409: ApiError;
5634
+ };
5635
+ export type DeleteProjectEnvironmentError = DeleteProjectEnvironmentErrors[keyof DeleteProjectEnvironmentErrors];
5636
+ export type DeleteProjectEnvironmentResponses = {
5637
+ /**
5638
+ * Deleted
5639
+ */
5640
+ 200: OkResponse;
5641
+ };
5642
+ export type DeleteProjectEnvironmentResponse = DeleteProjectEnvironmentResponses[keyof DeleteProjectEnvironmentResponses];
5643
+ export type UpdateProjectEnvironmentData = {
5644
+ body: UpdateProjectEnvironmentRequest;
5645
+ path: {
5646
+ /**
5647
+ * Project ID
5648
+ */
5649
+ project_id: string;
5650
+ /**
5651
+ * Environment ID
5652
+ */
5653
+ environment_id: string;
5654
+ };
5655
+ query?: never;
5656
+ url: '/v1/projects/{project_id}/environments/{environment_id}';
5657
+ };
5658
+ export type UpdateProjectEnvironmentErrors = {
5659
+ /**
5660
+ * Invalid input
5661
+ */
5662
+ 400: ApiError;
5663
+ /**
5664
+ * Permission denied
5665
+ */
5666
+ 403: ApiError;
5667
+ /**
5668
+ * Not found
5669
+ */
5670
+ 404: ApiError;
5671
+ /**
5672
+ * Store and track already used
5673
+ */
5674
+ 409: ApiError;
5675
+ };
5676
+ export type UpdateProjectEnvironmentError = UpdateProjectEnvironmentErrors[keyof UpdateProjectEnvironmentErrors];
5677
+ export type UpdateProjectEnvironmentResponses = {
5678
+ /**
5679
+ * Updated environment
5680
+ */
5681
+ 200: ProjectEnvironment;
5682
+ };
5683
+ export type UpdateProjectEnvironmentResponse = UpdateProjectEnvironmentResponses[keyof UpdateProjectEnvironmentResponses];
5251
5684
  export type ListProjectMembersData = {
5252
5685
  body?: never;
5253
5686
  path: {
@@ -5464,6 +5897,127 @@ export type CreatePipelineResponses = {
5464
5897
  201: CreatePipelineResponse;
5465
5898
  };
5466
5899
  export type CreatePipelineResponse2 = CreatePipelineResponses[keyof CreatePipelineResponses];
5900
+ export type PromoteBuildData = {
5901
+ body: CreatePromotionRequest;
5902
+ path: {
5903
+ /**
5904
+ * Project ID
5905
+ */
5906
+ project_id: string;
5907
+ };
5908
+ query?: never;
5909
+ url: '/v1/projects/{project_id}/promotions';
5910
+ };
5911
+ export type PromoteBuildErrors = {
5912
+ /**
5913
+ * Permission denied
5914
+ */
5915
+ 403: ApiError;
5916
+ /**
5917
+ * Project, environment or build not found
5918
+ */
5919
+ 404: ApiError;
5920
+ /**
5921
+ * Already in the environment, pending, unsupported store, or no live release to promote
5922
+ */
5923
+ 409: ApiError;
5924
+ /**
5925
+ * The store rejected the promotion
5926
+ */
5927
+ 502: ApiError;
5928
+ };
5929
+ export type PromoteBuildError = PromoteBuildErrors[keyof PromoteBuildErrors];
5930
+ export type PromoteBuildResponses = {
5931
+ /**
5932
+ * The promotion, completed or pending
5933
+ */
5934
+ 200: EnvironmentPromotion;
5935
+ };
5936
+ export type PromoteBuildResponse = PromoteBuildResponses[keyof PromoteBuildResponses];
5937
+ export type ApprovePromotionData = {
5938
+ /**
5939
+ * Optional reason
5940
+ */
5941
+ body?: null | PromotionDecisionRequest;
5942
+ path: {
5943
+ /**
5944
+ * Project ID
5945
+ */
5946
+ project_id: string;
5947
+ /**
5948
+ * Promotion ID
5949
+ */
5950
+ promotion_id: string;
5951
+ };
5952
+ query?: never;
5953
+ url: '/v1/projects/{project_id}/promotions/{promotion_id}/approve';
5954
+ };
5955
+ export type ApprovePromotionErrors = {
5956
+ /**
5957
+ * Permission denied
5958
+ */
5959
+ 403: ApiError;
5960
+ /**
5961
+ * Not found
5962
+ */
5963
+ 404: ApiError;
5964
+ /**
5965
+ * Not pending, or the build changed while it waited
5966
+ */
5967
+ 409: ApiError;
5968
+ /**
5969
+ * The store rejected the promotion
5970
+ */
5971
+ 502: ApiError;
5972
+ };
5973
+ export type ApprovePromotionError = ApprovePromotionErrors[keyof ApprovePromotionErrors];
5974
+ export type ApprovePromotionResponses = {
5975
+ /**
5976
+ * Completed promotion
5977
+ */
5978
+ 200: EnvironmentPromotion;
5979
+ };
5980
+ export type ApprovePromotionResponse = ApprovePromotionResponses[keyof ApprovePromotionResponses];
5981
+ export type RejectPromotionData = {
5982
+ /**
5983
+ * Optional reason
5984
+ */
5985
+ body?: null | PromotionDecisionRequest;
5986
+ path: {
5987
+ /**
5988
+ * Project ID
5989
+ */
5990
+ project_id: string;
5991
+ /**
5992
+ * Promotion ID
5993
+ */
5994
+ promotion_id: string;
5995
+ };
5996
+ query?: never;
5997
+ url: '/v1/projects/{project_id}/promotions/{promotion_id}/reject';
5998
+ };
5999
+ export type RejectPromotionErrors = {
6000
+ /**
6001
+ * Permission denied
6002
+ */
6003
+ 403: ApiError;
6004
+ /**
6005
+ * Not found
6006
+ */
6007
+ 404: ApiError;
6008
+ /**
6009
+ * Not pending
6010
+ */
6011
+ 409: ApiError;
6012
+ };
6013
+ export type RejectPromotionError = RejectPromotionErrors[keyof RejectPromotionErrors];
6014
+ export type RejectPromotionResponses = {
6015
+ /**
6016
+ * Rejected promotion
6017
+ */
6018
+ 200: EnvironmentPromotion;
6019
+ };
6020
+ export type RejectPromotionResponse = RejectPromotionResponses[keyof RejectPromotionResponses];
5467
6021
  export type DiscoverRepositoryWorkflowsData = {
5468
6022
  body?: never;
5469
6023
  path: {
@@ -0,0 +1,4 @@
1
+ import * as v from 'valibot';
2
+ export declare const vApprovePromotionBody: v.NullableSchema<v.ObjectSchema<{
3
+ readonly reason: v.NullishSchema<v.StringSchema<undefined>, undefined>;
4
+ }, undefined>, undefined>;
@@ -0,0 +1,4 @@
1
+ // Generated by scripts/generate-valibot-modules.ts. Do not edit.
2
+ import * as v from 'valibot';
3
+ import { vPromotionDecisionRequest } from './v-promotion-decision-request.js';
4
+ export const vApprovePromotionBody = v.nullable(vPromotionDecisionRequest);
@@ -0,0 +1,5 @@
1
+ import * as v from 'valibot';
2
+ export declare const vApprovePromotionPath: v.ObjectSchema<{
3
+ readonly project_id: v.StringSchema<undefined>;
4
+ readonly promotion_id: v.StringSchema<undefined>;
5
+ }, undefined>;
@@ -0,0 +1,6 @@
1
+ // Generated by scripts/generate-valibot-modules.ts. Do not edit.
2
+ import * as v from 'valibot';
3
+ export const vApprovePromotionPath = v.object({
4
+ project_id: v.string(),
5
+ promotion_id: v.string()
6
+ });
@@ -0,0 +1,25 @@
1
+ import * as v from 'valibot';
2
+ export declare const vApprovePromotionResponse: v.ObjectSchema<{
3
+ readonly build_id: v.StringSchema<undefined>;
4
+ readonly build_number: v.NullishSchema<v.SchemaWithPipe<readonly [v.UnionSchema<[v.NumberSchema<undefined>, v.StringSchema<undefined>, v.BigintSchema<undefined>], undefined>, v.TransformAction<string | number | bigint, bigint>, v.MinValueAction<bigint, bigint, "Invalid value: Expected int64 to be >= -9223372036854775808">, v.MaxValueAction<bigint, bigint, "Invalid value: Expected int64 to be <= 9223372036854775807">]>, undefined>;
5
+ readonly can_decide: v.BooleanSchema<undefined>;
6
+ readonly created_at: v.SchemaWithPipe<readonly [v.UnionSchema<[v.NumberSchema<undefined>, v.StringSchema<undefined>, v.BigintSchema<undefined>], undefined>, v.TransformAction<string | number | bigint, bigint>, v.MinValueAction<bigint, bigint, "Invalid value: Expected int64 to be >= -9223372036854775808">, v.MaxValueAction<bigint, bigint, "Invalid value: Expected int64 to be <= 9223372036854775807">]>;
7
+ readonly decided_at: v.NullishSchema<v.SchemaWithPipe<readonly [v.UnionSchema<[v.NumberSchema<undefined>, v.StringSchema<undefined>, v.BigintSchema<undefined>], undefined>, v.TransformAction<string | number | bigint, bigint>, v.MinValueAction<bigint, bigint, "Invalid value: Expected int64 to be >= -9223372036854775808">, v.MaxValueAction<bigint, bigint, "Invalid value: Expected int64 to be <= 9223372036854775807">]>, undefined>;
8
+ readonly decided_by_email: v.NullishSchema<v.StringSchema<undefined>, undefined>;
9
+ readonly decision_reason: v.NullishSchema<v.StringSchema<undefined>, undefined>;
10
+ readonly environment_id: v.StringSchema<undefined>;
11
+ readonly environment_name: v.StringSchema<undefined>;
12
+ readonly error: v.NullishSchema<v.StringSchema<undefined>, undefined>;
13
+ readonly id: v.StringSchema<undefined>;
14
+ readonly project_id: v.StringSchema<undefined>;
15
+ readonly reason: v.NullishSchema<v.StringSchema<undefined>, undefined>;
16
+ readonly release_id: v.NullishSchema<v.StringSchema<undefined>, undefined>;
17
+ readonly requested_by_email: v.NullishSchema<v.StringSchema<undefined>, undefined>;
18
+ readonly source_environment_name: v.NullishSchema<v.StringSchema<undefined>, undefined>;
19
+ readonly source_release_id: v.StringSchema<undefined>;
20
+ readonly source_track: v.StringSchema<undefined>;
21
+ readonly state: v.PicklistSchema<["pending", "promoting", "completed", "rejected", "failed"], undefined>;
22
+ readonly updated_at: v.SchemaWithPipe<readonly [v.UnionSchema<[v.NumberSchema<undefined>, v.StringSchema<undefined>, v.BigintSchema<undefined>], undefined>, v.TransformAction<string | number | bigint, bigint>, v.MinValueAction<bigint, bigint, "Invalid value: Expected int64 to be >= -9223372036854775808">, v.MaxValueAction<bigint, bigint, "Invalid value: Expected int64 to be <= 9223372036854775807">]>;
23
+ readonly version_code: v.NullishSchema<v.SchemaWithPipe<readonly [v.UnionSchema<[v.NumberSchema<undefined>, v.StringSchema<undefined>, v.BigintSchema<undefined>], undefined>, v.TransformAction<string | number | bigint, bigint>, v.MinValueAction<bigint, bigint, "Invalid value: Expected int64 to be >= -9223372036854775808">, v.MaxValueAction<bigint, bigint, "Invalid value: Expected int64 to be <= 9223372036854775807">]>, undefined>;
24
+ readonly version_name: v.NullishSchema<v.StringSchema<undefined>, undefined>;
25
+ }, undefined>;
@@ -0,0 +1,3 @@
1
+ // Generated by scripts/generate-valibot-modules.ts. Do not edit.
2
+ import { vEnvironmentPromotion } from './v-environment-promotion.js';
3
+ export const vApprovePromotionResponse = vEnvironmentPromotion;