@oore/client 0.24.0 → 0.26.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 (45) hide show
  1. package/dist/generated/@tanstack/react-query.gen.d.ts +31 -5
  2. package/dist/generated/@tanstack/react-query.gen.js +38 -5
  3. package/dist/generated/msw.gen.d.ts +13 -1
  4. package/dist/generated/msw.gen.js +23 -0
  5. package/dist/generated/sdk.gen.d.ts +14 -3
  6. package/dist/generated/sdk.gen.js +22 -2
  7. package/dist/generated/types.gen.d.ts +130 -4
  8. package/dist/generated/valibot/v-approver-role.d.ts +2 -0
  9. package/dist/generated/valibot/v-approver-role.js +3 -0
  10. package/dist/generated/valibot/v-create-project-environment-body.d.ts +4 -0
  11. package/dist/generated/valibot/v-create-project-environment-request.d.ts +4 -0
  12. package/dist/generated/valibot/v-create-project-environment-request.js +2 -0
  13. package/dist/generated/valibot/v-create-project-environment-response.d.ts +7 -0
  14. package/dist/generated/valibot/v-environment-approver.d.ts +5 -0
  15. package/dist/generated/valibot/v-environment-approver.js +6 -0
  16. package/dist/generated/valibot/v-environment-approvers-input.d.ts +5 -0
  17. package/dist/generated/valibot/v-environment-approvers-input.js +7 -0
  18. package/dist/generated/valibot/v-environment-approvers.d.ts +8 -0
  19. package/dist/generated/valibot/v-environment-approvers.js +8 -0
  20. package/dist/generated/valibot/v-import-pipeline-yaml-body.d.ts +73 -0
  21. package/dist/generated/valibot/v-import-pipeline-yaml-body.js +3 -0
  22. package/dist/generated/valibot/v-import-pipeline-yaml-request.d.ts +73 -0
  23. package/dist/generated/valibot/v-import-pipeline-yaml-request.js +13 -0
  24. package/dist/generated/valibot/v-import-pipeline-yaml-response.d.ts +52 -0
  25. package/dist/generated/valibot/v-import-pipeline-yaml-response.js +16 -0
  26. package/dist/generated/valibot/v-import-pipeline-yaml-response2.d.ts +52 -0
  27. package/dist/generated/valibot/v-import-pipeline-yaml-response2.js +3 -0
  28. package/dist/generated/valibot/v-imported-play-publish.d.ts +6 -0
  29. package/dist/generated/valibot/v-imported-play-publish.js +7 -0
  30. package/dist/generated/valibot/v-list-project-environments-response.d.ts +7 -0
  31. package/dist/generated/valibot/v-list-project-environments-response2.d.ts +7 -0
  32. package/dist/generated/valibot/v-project-environment.d.ts +7 -0
  33. package/dist/generated/valibot/v-project-environment.js +2 -0
  34. package/dist/generated/valibot/v-update-project-environment-body.d.ts +4 -0
  35. package/dist/generated/valibot/v-update-project-environment-request.d.ts +4 -0
  36. package/dist/generated/valibot/v-update-project-environment-request.js +2 -0
  37. package/dist/generated/valibot/v-update-project-environment-response.d.ts +7 -0
  38. package/dist/msw.d.ts +2 -2
  39. package/dist/msw.js +1 -1
  40. package/dist/react-query.d.ts +1 -1
  41. package/dist/react-query.js +1 -1
  42. package/dist/valibot.d.ts +9 -0
  43. package/dist/valibot.js +9 -0
  44. package/openapi/openapi.json +318 -5
  45. package/package.json +1 -1
@@ -4604,6 +4604,53 @@
4604
4604
  ]
4605
4605
  }
4606
4606
  },
4607
+ "/v1/pipelines/import-yaml": {
4608
+ "post": {
4609
+ "tags": [
4610
+ "Pipelines"
4611
+ ],
4612
+ "summary": "Import `.oore.yaml` into pipeline settings",
4613
+ "description": "Reads a `version: 2` `.oore.yaml` back into the pipeline's form\nsettings: the inverse of the export. The file is validated as\n`oore pipeline validate` does. Settings are returned only when the\nform can hold the whole file; exported again, they plan the same as\nthe file. Everything else is listed in `unsupported`. Nothing is\nsaved, and secret references stay as written.",
4614
+ "operationId": "import_pipeline_yaml",
4615
+ "requestBody": {
4616
+ "content": {
4617
+ "application/json": {
4618
+ "schema": {
4619
+ "$ref": "#/components/schemas/ImportPipelineYamlRequest"
4620
+ }
4621
+ }
4622
+ },
4623
+ "required": true
4624
+ },
4625
+ "responses": {
4626
+ "200": {
4627
+ "description": "The form settings, or why the file cannot become them",
4628
+ "content": {
4629
+ "application/json": {
4630
+ "schema": {
4631
+ "$ref": "#/components/schemas/ImportPipelineYamlResponse"
4632
+ }
4633
+ }
4634
+ }
4635
+ },
4636
+ "400": {
4637
+ "description": "The file is too large",
4638
+ "content": {
4639
+ "application/json": {
4640
+ "schema": {
4641
+ "$ref": "#/components/schemas/ApiError"
4642
+ }
4643
+ }
4644
+ }
4645
+ }
4646
+ },
4647
+ "security": [
4648
+ {
4649
+ "bearer_auth": []
4650
+ }
4651
+ ]
4652
+ }
4653
+ },
4607
4654
  "/v1/pipelines/plan": {
4608
4655
  "post": {
4609
4656
  "tags": [
@@ -7105,7 +7152,7 @@
7105
7152
  "Environments"
7106
7153
  ],
7107
7154
  "summary": "Approve promotion",
7108
- "description": "Approves a pending promotion and makes the store change as the approver. Requires the maintainer role. Writes an audit log entry.",
7155
+ "description": "Approves a pending promotion and makes the store change as the approver. Requires one of the environment's approvers (by default any maintainer). API tokens cannot decide promotions. Writes an audit log entry.",
7109
7156
  "operationId": "approve_promotion",
7110
7157
  "parameters": [
7111
7158
  {
@@ -7156,7 +7203,7 @@
7156
7203
  }
7157
7204
  },
7158
7205
  "403": {
7159
- "description": "Permission denied",
7206
+ "description": "Not one of the environment's approvers, or an API token",
7160
7207
  "content": {
7161
7208
  "application/json": {
7162
7209
  "schema": {
@@ -7209,7 +7256,7 @@
7209
7256
  "Environments"
7210
7257
  ],
7211
7258
  "summary": "Reject promotion",
7212
- "description": "Rejects a pending promotion; nothing changes at the store. Requires the maintainer role. Writes an audit log entry.",
7259
+ "description": "Rejects a pending promotion; nothing changes at the store. Requires one of the environment's approvers (by default any maintainer). API tokens cannot decide promotions. Writes an audit log entry.",
7213
7260
  "operationId": "reject_promotion",
7214
7261
  "parameters": [
7215
7262
  {
@@ -7260,7 +7307,7 @@
7260
7307
  }
7261
7308
  },
7262
7309
  "403": {
7263
- "description": "Permission denied",
7310
+ "description": "Not one of the environment's approvers, or an API token",
7264
7311
  "content": {
7265
7312
  "application/json": {
7266
7313
  "schema": {
@@ -13452,6 +13499,14 @@
13452
13499
  },
13453
13500
  "additionalProperties": false
13454
13501
  },
13502
+ "ApproverRole": {
13503
+ "type": "string",
13504
+ "description": "The lowest project role that may approve promotions into an environment.",
13505
+ "enum": [
13506
+ "maintainer",
13507
+ "developer"
13508
+ ]
13509
+ },
13455
13510
  "Artifact": {
13456
13511
  "type": "object",
13457
13512
  "required": [
@@ -15456,6 +15511,17 @@
15456
15511
  "approval_required": {
15457
15512
  "type": "boolean"
15458
15513
  },
15514
+ "approvers": {
15515
+ "oneOf": [
15516
+ {
15517
+ "type": "null"
15518
+ },
15519
+ {
15520
+ "$ref": "#/components/schemas/EnvironmentApproversInput",
15521
+ "description": "Who may approve promotions. Defaults to any project maintainer."
15522
+ }
15523
+ ]
15524
+ },
15459
15525
  "key": {
15460
15526
  "type": "string"
15461
15527
  },
@@ -15793,6 +15859,72 @@
15793
15859
  }
15794
15860
  }
15795
15861
  },
15862
+ "EnvironmentApprover": {
15863
+ "type": "object",
15864
+ "description": "A project member named as an approver.",
15865
+ "required": [
15866
+ "user_id",
15867
+ "email"
15868
+ ],
15869
+ "properties": {
15870
+ "email": {
15871
+ "type": "string"
15872
+ },
15873
+ "user_id": {
15874
+ "type": "string"
15875
+ }
15876
+ }
15877
+ },
15878
+ "EnvironmentApprovers": {
15879
+ "type": "object",
15880
+ "description": "Who may approve or reject promotions into an environment.\n\nA member may decide when their project role is at least `role`, or when\nthey are one of `users` (developers and maintainers only). With no role\nand no users, any project maintainer may decide, as before approvers\nexisted. Instance owners and admins may always decide. API tokens never\ndecide: approvals are interactive.",
15881
+ "required": [
15882
+ "users"
15883
+ ],
15884
+ "properties": {
15885
+ "role": {
15886
+ "oneOf": [
15887
+ {
15888
+ "type": "null"
15889
+ },
15890
+ {
15891
+ "$ref": "#/components/schemas/ApproverRole",
15892
+ "description": "A developer role lets developers and maintainers approve."
15893
+ }
15894
+ ]
15895
+ },
15896
+ "users": {
15897
+ "type": "array",
15898
+ "items": {
15899
+ "$ref": "#/components/schemas/EnvironmentApprover"
15900
+ },
15901
+ "description": "Project members named as approvers. A user who leaves the project,\nor becomes a viewer, stops counting."
15902
+ }
15903
+ }
15904
+ },
15905
+ "EnvironmentApproversInput": {
15906
+ "type": "object",
15907
+ "description": "Approvers to set on an environment. Replaces the whole set; send an empty\nobject to go back to \"any maintainer\".",
15908
+ "properties": {
15909
+ "role": {
15910
+ "oneOf": [
15911
+ {
15912
+ "type": "null"
15913
+ },
15914
+ {
15915
+ "$ref": "#/components/schemas/ApproverRole"
15916
+ }
15917
+ ]
15918
+ },
15919
+ "user_ids": {
15920
+ "type": "array",
15921
+ "items": {
15922
+ "type": "string"
15923
+ },
15924
+ "description": "User ids of project members who are developers or maintainers. At\nmost 20."
15925
+ }
15926
+ }
15927
+ },
15796
15928
  "EnvironmentPromotion": {
15797
15929
  "type": "object",
15798
15930
  "description": "A request to put an existing build into an environment.",
@@ -16619,6 +16751,171 @@
16619
16751
  }
16620
16752
  }
16621
16753
  },
16754
+ "ImportPipelineYamlRequest": {
16755
+ "type": "object",
16756
+ "description": "A `version: 2` `.oore.yaml` to read back into the pipeline editor's form,\nwith the settings the editor holds now.",
16757
+ "required": [
16758
+ "yaml"
16759
+ ],
16760
+ "properties": {
16761
+ "app_store": {
16762
+ "oneOf": [
16763
+ {
16764
+ "type": "null"
16765
+ },
16766
+ {
16767
+ "$ref": "#/components/schemas/AppStorePublishConfig",
16768
+ "description": "The pipeline's App Store Connect settings. The file's\n`publish.testflight` must match them."
16769
+ }
16770
+ ]
16771
+ },
16772
+ "execution_config": {
16773
+ "oneOf": [
16774
+ {
16775
+ "type": "null"
16776
+ },
16777
+ {
16778
+ "$ref": "#/components/schemas/PipelineExecutionConfig",
16779
+ "description": "The form settings the editor holds now. They decide between\nequivalent ways of holding the file: the pipeline's Build commands\n(which the file runs as steps after the targets), build arguments or\na build command override."
16780
+ }
16781
+ ]
16782
+ },
16783
+ "google_play": {
16784
+ "oneOf": [
16785
+ {
16786
+ "type": "null"
16787
+ },
16788
+ {
16789
+ "$ref": "#/components/schemas/GooglePlayPublishConfig",
16790
+ "description": "The pipeline's Google Play settings. The form does not edit them, so\nthe file's `publish.play` must match them."
16791
+ }
16792
+ ]
16793
+ },
16794
+ "trigger_config": {
16795
+ "oneOf": [
16796
+ {
16797
+ "type": "null"
16798
+ },
16799
+ {
16800
+ "$ref": "#/components/schemas/TriggerConfig",
16801
+ "description": "The pipeline's trigger settings, whose schedules are kept. Left out\nfor repositories that only build manually, where the file's `on`\ncannot be held."
16802
+ }
16803
+ ]
16804
+ },
16805
+ "yaml": {
16806
+ "type": "string",
16807
+ "description": "The file's text."
16808
+ }
16809
+ }
16810
+ },
16811
+ "ImportPipelineYamlResponse": {
16812
+ "type": "object",
16813
+ "required": [
16814
+ "valid",
16815
+ "representable",
16816
+ "errors",
16817
+ "unsupported",
16818
+ "notes"
16819
+ ],
16820
+ "properties": {
16821
+ "errors": {
16822
+ "type": "array",
16823
+ "items": {
16824
+ "type": "string"
16825
+ },
16826
+ "description": "The file's validation errors, one per entry."
16827
+ },
16828
+ "execution_config": {
16829
+ "oneOf": [
16830
+ {
16831
+ "type": "null"
16832
+ },
16833
+ {
16834
+ "$ref": "#/components/schemas/PipelineExecutionConfig",
16835
+ "description": "The form settings. Exported again, they plan the same as the file."
16836
+ }
16837
+ ]
16838
+ },
16839
+ "google_play": {
16840
+ "oneOf": [
16841
+ {
16842
+ "type": "null"
16843
+ },
16844
+ {
16845
+ "$ref": "#/components/schemas/ImportedPlayPublish",
16846
+ "description": "The file's `publish.play`."
16847
+ }
16848
+ ]
16849
+ },
16850
+ "notes": {
16851
+ "type": "array",
16852
+ "items": {
16853
+ "type": "string"
16854
+ },
16855
+ "description": "What the form drops without changing what runs, such as step names."
16856
+ },
16857
+ "representable": {
16858
+ "type": "boolean",
16859
+ "description": "Valid, and the form can hold all of it: `execution_config` is set."
16860
+ },
16861
+ "testflight_group": {
16862
+ "type": [
16863
+ "string",
16864
+ "null"
16865
+ ],
16866
+ "description": "The file's `publish.testflight.group`."
16867
+ },
16868
+ "trigger_config": {
16869
+ "oneOf": [
16870
+ {
16871
+ "type": "null"
16872
+ },
16873
+ {
16874
+ "$ref": "#/components/schemas/TriggerConfig",
16875
+ "description": "The trigger settings the file's `on` maps to, with the pipeline's\nschedules kept. Left out when the file has no `on`, so the pipeline's\ntrigger settings stay as they are."
16876
+ }
16877
+ ]
16878
+ },
16879
+ "unsupported": {
16880
+ "type": "array",
16881
+ "items": {
16882
+ "type": "string"
16883
+ },
16884
+ "description": "What the form cannot hold, one per entry, such as workflows, vars,\nflavors or an `on` the trigger settings cannot express."
16885
+ },
16886
+ "valid": {
16887
+ "type": "boolean",
16888
+ "description": "The file parses and validates as `oore pipeline validate` checks it."
16889
+ }
16890
+ }
16891
+ },
16892
+ "ImportedPlayPublish": {
16893
+ "type": "object",
16894
+ "description": "A file's `publish.play`, as written.",
16895
+ "required": [
16896
+ "track"
16897
+ ],
16898
+ "properties": {
16899
+ "draft": {
16900
+ "type": [
16901
+ "boolean",
16902
+ "null"
16903
+ ],
16904
+ "description": "Left out, the Publish settings decide."
16905
+ },
16906
+ "rollout_percent": {
16907
+ "type": [
16908
+ "number",
16909
+ "null"
16910
+ ],
16911
+ "format": "double",
16912
+ "description": "The staged rollout as a percentage. Left out, the Publish settings\ndecide."
16913
+ },
16914
+ "track": {
16915
+ "type": "string"
16916
+ }
16917
+ }
16918
+ },
16622
16919
  "InstancePreferences": {
16623
16920
  "type": "object",
16624
16921
  "required": [
@@ -18787,6 +19084,7 @@
18787
19084
  "store",
18788
19085
  "track",
18789
19086
  "approval_required",
19087
+ "approvers",
18790
19088
  "rollout_policy",
18791
19089
  "promotable",
18792
19090
  "created_at",
@@ -18795,7 +19093,11 @@
18795
19093
  "properties": {
18796
19094
  "approval_required": {
18797
19095
  "type": "boolean",
18798
- "description": "A promotion into this environment waits for a maintainer's approval\nbefore anything changes at the store."
19096
+ "description": "A promotion into this environment waits for an approval before\nanything changes at the store. `approvers` says who may give it."
19097
+ },
19098
+ "approvers": {
19099
+ "$ref": "#/components/schemas/EnvironmentApprovers",
19100
+ "description": "Who may approve or reject promotions into this environment. With no\nrole and no users, any project maintainer may."
18799
19101
  },
18800
19102
  "created_at": {
18801
19103
  "type": "integer",
@@ -22286,6 +22588,17 @@
22286
22588
  "null"
22287
22589
  ]
22288
22590
  },
22591
+ "approvers": {
22592
+ "oneOf": [
22593
+ {
22594
+ "type": "null"
22595
+ },
22596
+ {
22597
+ "$ref": "#/components/schemas/EnvironmentApproversInput",
22598
+ "description": "Replaces who may approve promotions; leave out (or send null) to keep\nthem."
22599
+ }
22600
+ ]
22601
+ },
22289
22602
  "name": {
22290
22603
  "type": [
22291
22604
  "string",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oore/client",
3
- "version": "0.24.0",
3
+ "version": "0.26.0",
4
4
  "description": "Typed, tree-shakeable client for the Oore API",
5
5
  "type": "module",
6
6
  "sideEffects": false,