@shipeasy/openapi 2.4.0 → 3.0.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/{chunk-ZPKHTUVV.js → chunk-7T77D5YO.js} +101 -36
- package/dist/chunk-7T77D5YO.js.map +1 -0
- package/dist/{chunk-4QSU744W.js → chunk-V4ZESAIF.js} +11 -1
- package/dist/chunk-V4ZESAIF.js.map +1 -0
- package/dist/{client-WGNXT4xl.d.ts → client-DzEqdN5N.d.ts} +294 -64
- package/dist/client.d.ts +1 -1
- package/dist/client.js +3 -1
- package/dist/custom.d.ts +9 -4
- package/dist/custom.js +57 -9
- package/dist/custom.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +318 -35
- package/dist/schemas.js +17 -1
- package/openapi.json +513 -151
- package/openapi.yaml +374 -102
- package/package.json +1 -1
- package/spec/components/schemas/configs.yaml +33 -3
- package/spec/components/schemas/gates.yaml +9 -0
- package/spec/components/schemas/i18n.yaml +20 -44
- package/spec/components/schemas/metrics.yaml +16 -1
- package/spec/components/schemas/ops.yaml +163 -19
- package/spec/openapi.yaml +13 -2
- package/spec/paths/configs.yaml +28 -21
- package/spec/paths/i18n.yaml +13 -11
- package/spec/paths/ops.yaml +85 -2
- package/dist/chunk-4QSU744W.js.map +0 -1
- package/dist/chunk-ZPKHTUVV.js.map +0 -1
package/spec/paths/configs.yaml
CHANGED
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
|
|
88
88
|
- **Minimal create** — `name` + `schema`. Initial value defaults to `{}`.
|
|
89
89
|
- **Seeded create** — supply a flat `value` to publish the same object on every env.
|
|
90
|
-
- **Per-env seed** — supply a `{ env: value }` map for
|
|
90
|
+
- **Per-env seed** — supply a `{ env: value }` map under `value`, or pass the env keys `dev`/`staging`/`prod` directly (each overrides `value` for that env and is published at version 1).
|
|
91
91
|
tags:
|
|
92
92
|
- Configs
|
|
93
93
|
parameters:
|
|
@@ -129,8 +129,8 @@
|
|
|
129
129
|
- name: free
|
|
130
130
|
- name: pro
|
|
131
131
|
perEnvSeed:
|
|
132
|
-
summary: Per-env seed
|
|
133
|
-
description: "Pass
|
|
132
|
+
summary: Per-env seed (env keys)
|
|
133
|
+
description: "Pass the env keys directly to seed different initial values per env. Each overrides `value` for that env and is published at version 1."
|
|
134
134
|
value:
|
|
135
135
|
name: pricing.tiers
|
|
136
136
|
schema:
|
|
@@ -140,20 +140,15 @@
|
|
|
140
140
|
type: array
|
|
141
141
|
required:
|
|
142
142
|
- tiers
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
- name: pro
|
|
153
|
-
prod:
|
|
154
|
-
tiers:
|
|
155
|
-
- name: free
|
|
156
|
-
- name: pro
|
|
143
|
+
dev:
|
|
144
|
+
tiers:
|
|
145
|
+
- name: free
|
|
146
|
+
- name: pro
|
|
147
|
+
- name: enterprise
|
|
148
|
+
prod:
|
|
149
|
+
tiers:
|
|
150
|
+
- name: free
|
|
151
|
+
- name: pro
|
|
157
152
|
responses:
|
|
158
153
|
"201":
|
|
159
154
|
description: Create a dynamic config
|
|
@@ -302,15 +297,13 @@
|
|
|
302
297
|
operationId: updateConfig
|
|
303
298
|
summary: Update a dynamic config
|
|
304
299
|
description: |-
|
|
305
|
-
Partial update. When `value` is supplied it is **republished on every env** (new version per env). When `schema` is supplied it replaces the current schema; every existing value is re-validated.
|
|
306
|
-
|
|
307
|
-
For env-scoped edits, use the draft/publish flow (`PUT /{id}/drafts` then `POST /{id}/publish`) instead.
|
|
300
|
+
Partial update. When `value` is supplied it is **republished on every env** (new version per env). A per-env key (`dev`/`staging`/`prod`) publishes a new version to **only that env**, immediately, overriding `value` for it. When `schema` is supplied it replaces the current schema; every existing value is re-validated.
|
|
308
301
|
|
|
309
302
|
**Use cases**
|
|
310
303
|
|
|
311
304
|
- **Republish flat value** — `{ "value": {…} }` sets the same value on every env.
|
|
305
|
+
- **Publish one env** — `{ "prod": {…} }` publishes a new version to prod only, instantly.
|
|
312
306
|
- **Schema migration** — `{ "schema": {…} }` replaces the schema; existing values are re-validated.
|
|
313
|
-
- **Env-scoped edits** — use `PUT /{id}/drafts` + `POST /{id}/publish` instead of PATCH.
|
|
314
307
|
tags:
|
|
315
308
|
- Configs
|
|
316
309
|
parameters:
|
|
@@ -336,6 +329,15 @@
|
|
|
336
329
|
tiers:
|
|
337
330
|
- name: free
|
|
338
331
|
- name: pro
|
|
332
|
+
prodOnly:
|
|
333
|
+
summary: Per-env — publish prod only
|
|
334
|
+
description: Publishes a new version to prod only, immediately. dev/staging untouched.
|
|
335
|
+
value:
|
|
336
|
+
prod:
|
|
337
|
+
tiers:
|
|
338
|
+
- name: free
|
|
339
|
+
- name: pro
|
|
340
|
+
- name: enterprise
|
|
339
341
|
schemaOnly:
|
|
340
342
|
summary: Schema-only update
|
|
341
343
|
description: Replaces the schema. Existing values must still validate or the update fails.
|
|
@@ -496,6 +498,7 @@
|
|
|
496
498
|
- VALIDATION
|
|
497
499
|
x-cli:
|
|
498
500
|
name: draft
|
|
501
|
+
hidden: true
|
|
499
502
|
positional:
|
|
500
503
|
- id
|
|
501
504
|
delete:
|
|
@@ -555,6 +558,7 @@
|
|
|
555
558
|
- NOT_FOUND
|
|
556
559
|
x-cli:
|
|
557
560
|
name: discard-draft
|
|
561
|
+
hidden: true
|
|
558
562
|
positional:
|
|
559
563
|
- id
|
|
560
564
|
/api/admin/configs/{id}/publish:
|
|
@@ -626,6 +630,7 @@
|
|
|
626
630
|
- VALIDATION
|
|
627
631
|
x-cli:
|
|
628
632
|
name: publish
|
|
633
|
+
hidden: true
|
|
629
634
|
positional:
|
|
630
635
|
- id
|
|
631
636
|
/api/admin/configs/{id}/activity:
|
|
@@ -690,6 +695,7 @@
|
|
|
690
695
|
- NOT_FOUND
|
|
691
696
|
x-cli:
|
|
692
697
|
name: activity
|
|
698
|
+
hidden: true
|
|
693
699
|
positional:
|
|
694
700
|
- id
|
|
695
701
|
/api/admin/configs/{id}/versions:
|
|
@@ -756,6 +762,7 @@
|
|
|
756
762
|
- NOT_FOUND
|
|
757
763
|
x-cli:
|
|
758
764
|
name: versions
|
|
765
|
+
hidden: true
|
|
759
766
|
positional:
|
|
760
767
|
- id
|
|
761
768
|
/api/admin/configs/{id}/schema:
|
package/spec/paths/i18n.yaml
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
description: |-
|
|
6
6
|
Returns every locale profile in the project (e.g. `en:prod`, `fr:prod`).
|
|
7
7
|
|
|
8
|
-
**Use case:** Discover which locale profiles exist before pushing keys or publishing
|
|
8
|
+
**Use case:** Discover which locale profiles exist before pushing keys or publishing.
|
|
9
9
|
tags:
|
|
10
10
|
- Profiles
|
|
11
11
|
parameters:
|
|
@@ -173,11 +173,13 @@
|
|
|
173
173
|
name: list
|
|
174
174
|
post:
|
|
175
175
|
operationId: pushI18nKeys
|
|
176
|
-
summary: Push
|
|
176
|
+
summary: Push i18n keys (insert-only, or `force` to overwrite)
|
|
177
177
|
description: |-
|
|
178
|
-
Add NEW keys to a profile. Insert-only — existing keys are left untouched
|
|
178
|
+
Add NEW keys to a profile. Insert-only by default — existing keys are left untouched and reported back as `skipped`.
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
Pass `force: true` to overwrite the existing ones in bulk with the submitted values: they come back as `updated` instead of `skipped`. Without `force` the only overwrite paths are `updateI18nKey` (one key) and the devtools-only `upsertI18nKeys`.
|
|
181
|
+
|
|
182
|
+
**Use case:** Seed newly-extracted keys without clobbering translations already in the profile — or re-push a whole source-language file with `force` after the copy changed.
|
|
181
183
|
tags:
|
|
182
184
|
- Keys
|
|
183
185
|
parameters:
|
|
@@ -195,7 +197,7 @@
|
|
|
195
197
|
value: Buy now
|
|
196
198
|
responses:
|
|
197
199
|
"201":
|
|
198
|
-
description: Push
|
|
200
|
+
description: Push i18n keys (insert-only, or `force` to overwrite)
|
|
199
201
|
content:
|
|
200
202
|
application/json:
|
|
201
203
|
schema:
|
|
@@ -204,8 +206,10 @@
|
|
|
204
206
|
added:
|
|
205
207
|
- checkout.cta
|
|
206
208
|
skipped: []
|
|
209
|
+
updated: []
|
|
207
210
|
pushed_count: 1
|
|
208
211
|
skipped_count: 0
|
|
212
|
+
updated_count: 0
|
|
209
213
|
"400":
|
|
210
214
|
$ref: ../components/responses.yaml#/BadRequest
|
|
211
215
|
"401":
|
|
@@ -259,7 +263,6 @@
|
|
|
259
263
|
$ref: ../components/schemas/i18n.yaml#/UpsertI18nKeysResponse
|
|
260
264
|
example:
|
|
261
265
|
upserted: 1
|
|
262
|
-
chunk: default
|
|
263
266
|
"400":
|
|
264
267
|
$ref: ../components/responses.yaml#/BadRequest
|
|
265
268
|
"401":
|
|
@@ -726,7 +729,7 @@
|
|
|
726
729
|
operationId: publishI18nProfile
|
|
727
730
|
summary: Publish a profile live
|
|
728
731
|
description: |-
|
|
729
|
-
Publish a profile to the CDN — rebuild its KV snapshot + purge the edge. Publishing is PROFILE-WIDE: the whole profile is snapshotted into one KV blob, so the
|
|
732
|
+
Publish a profile to the CDN — rebuild its KV snapshot + purge the edge. Publishing is PROFILE-WIDE: the whole profile is snapshotted into one KV blob, so the body takes no options.
|
|
730
733
|
|
|
731
734
|
**Use case:** Ship the latest translations live after pushing/updating keys.
|
|
732
735
|
tags:
|
|
@@ -740,16 +743,15 @@
|
|
|
740
743
|
schema:
|
|
741
744
|
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
742
745
|
requestBody:
|
|
743
|
-
required:
|
|
746
|
+
required: false
|
|
744
747
|
content:
|
|
745
748
|
application/json:
|
|
746
749
|
schema:
|
|
747
750
|
$ref: ../components/schemas/i18n.yaml#/PublishI18nProfileRequest
|
|
748
|
-
example:
|
|
749
|
-
chunk: default
|
|
751
|
+
example: {}
|
|
750
752
|
responses:
|
|
751
753
|
"200":
|
|
752
|
-
description: Publish a profile
|
|
754
|
+
description: Publish a profile
|
|
753
755
|
content:
|
|
754
756
|
application/json:
|
|
755
757
|
schema:
|
package/spec/paths/ops.yaml
CHANGED
|
@@ -505,7 +505,7 @@
|
|
|
505
505
|
**Use case:** Read what a previous agent run already found before starting
|
|
506
506
|
your own investigation of the item.
|
|
507
507
|
tags:
|
|
508
|
-
-
|
|
508
|
+
- Investigations
|
|
509
509
|
parameters:
|
|
510
510
|
- $ref: ../components/parameters.yaml#/ProjectId
|
|
511
511
|
- name: handle
|
|
@@ -536,6 +536,10 @@
|
|
|
536
536
|
- UNAUTHORIZED
|
|
537
537
|
- FORBIDDEN
|
|
538
538
|
- NOT_FOUND
|
|
539
|
+
x-cli:
|
|
540
|
+
name: list
|
|
541
|
+
positional:
|
|
542
|
+
- handle
|
|
539
543
|
post:
|
|
540
544
|
operationId: createOpsInvestigation
|
|
541
545
|
summary: Record an investigation
|
|
@@ -551,7 +555,7 @@
|
|
|
551
555
|
markdown findings, sources inspected, confidence) so the team — and the
|
|
552
556
|
next agent run — sees what you learned.
|
|
553
557
|
tags:
|
|
554
|
-
-
|
|
558
|
+
- Investigations
|
|
555
559
|
parameters:
|
|
556
560
|
- $ref: ../components/parameters.yaml#/ProjectId
|
|
557
561
|
- name: handle
|
|
@@ -609,6 +613,85 @@
|
|
|
609
613
|
- FORBIDDEN
|
|
610
614
|
- NOT_FOUND
|
|
611
615
|
- VALIDATION
|
|
616
|
+
x-cli:
|
|
617
|
+
name: create
|
|
618
|
+
positional:
|
|
619
|
+
- handle
|
|
620
|
+
/api/admin/ops/{handle}/investigation/{investigationId}:
|
|
621
|
+
patch:
|
|
622
|
+
operationId: updateOpsInvestigation
|
|
623
|
+
summary: Update an investigation record
|
|
624
|
+
description: |-
|
|
625
|
+
Update one existing investigation record in place — the write-back seam for
|
|
626
|
+
the `working` run record you were handed when a run was launched. Fill in
|
|
627
|
+
the `summary`/`findings`, attach the fixing PR, record your `confidence`
|
|
628
|
+
and the `sources` you inspected, or flip its `kind` off `working` once the
|
|
629
|
+
investigation is done. A partial patch: send only the fields you want to
|
|
630
|
+
change. Safe for restricted ops keys (it never reads or deletes).
|
|
631
|
+
|
|
632
|
+
**Use case:** A run started with an empty `working` record; as you work,
|
|
633
|
+
PATCH it with your findings so the cockpit's detail panel fills in live —
|
|
634
|
+
no need to append a second record.
|
|
635
|
+
tags:
|
|
636
|
+
- Investigations
|
|
637
|
+
parameters:
|
|
638
|
+
- $ref: ../components/parameters.yaml#/ProjectId
|
|
639
|
+
- name: handle
|
|
640
|
+
in: path
|
|
641
|
+
required: true
|
|
642
|
+
description: Per-project item number (e.g. `7`) or the full ops item id.
|
|
643
|
+
schema:
|
|
644
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
645
|
+
- name: investigationId
|
|
646
|
+
in: path
|
|
647
|
+
required: true
|
|
648
|
+
description: The investigation record id (from `POST`/`GET .../investigation` or the `runId` an ack/launch returned).
|
|
649
|
+
schema:
|
|
650
|
+
$ref: ../components/schemas/common.yaml#/ResourceId
|
|
651
|
+
requestBody:
|
|
652
|
+
required: true
|
|
653
|
+
content:
|
|
654
|
+
application/json:
|
|
655
|
+
schema:
|
|
656
|
+
$ref: ../components/schemas/ops.yaml#/UpdateOpsInvestigationRequest
|
|
657
|
+
examples:
|
|
658
|
+
findings:
|
|
659
|
+
summary: Fill in the run record's findings
|
|
660
|
+
value:
|
|
661
|
+
kind: investigated
|
|
662
|
+
summary: Root cause is a stale KV read on the checkout flag.
|
|
663
|
+
findings: "The `checkout.cta` gate is rebuilt without a CDN purge, so…"
|
|
664
|
+
confidence: high
|
|
665
|
+
prNumber: 4821
|
|
666
|
+
prUrl: https://github.com/acme/web/pull/4821
|
|
667
|
+
responses:
|
|
668
|
+
"200":
|
|
669
|
+
description: The updated investigation record
|
|
670
|
+
content:
|
|
671
|
+
application/json:
|
|
672
|
+
schema:
|
|
673
|
+
$ref: ../components/schemas/ops.yaml#/OpsInvestigation
|
|
674
|
+
"400":
|
|
675
|
+
$ref: ../components/responses.yaml#/BadRequest
|
|
676
|
+
"401":
|
|
677
|
+
$ref: ../components/responses.yaml#/Unauthorized
|
|
678
|
+
"403":
|
|
679
|
+
$ref: ../components/responses.yaml#/Forbidden
|
|
680
|
+
"404":
|
|
681
|
+
$ref: ../components/responses.yaml#/NotFound
|
|
682
|
+
"422":
|
|
683
|
+
$ref: ../components/responses.yaml#/UnprocessableEntity
|
|
684
|
+
x-error-codes:
|
|
685
|
+
- BAD_REQUEST
|
|
686
|
+
- UNAUTHORIZED
|
|
687
|
+
- FORBIDDEN
|
|
688
|
+
- NOT_FOUND
|
|
689
|
+
- VALIDATION
|
|
690
|
+
x-cli:
|
|
691
|
+
name: update
|
|
692
|
+
positional:
|
|
693
|
+
- handle
|
|
694
|
+
- investigationId
|
|
612
695
|
/api/admin/agent-profiles:
|
|
613
696
|
get:
|
|
614
697
|
operationId: listOpsAgents
|