@shipeasy/openapi 1.6.0 → 2.1.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 (151) hide show
  1. package/README.md +37 -0
  2. package/dist/chunk-EPLLHLZN.js +1616 -0
  3. package/dist/chunk-EPLLHLZN.js.map +1 -0
  4. package/dist/chunk-SPH5HWCD.js +3326 -0
  5. package/dist/chunk-SPH5HWCD.js.map +1 -0
  6. package/dist/client-pVkoo3Bf.d.ts +11186 -0
  7. package/dist/client.d.ts +1 -0
  8. package/dist/client.js +215 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/custom.d.ts +64 -0
  11. package/dist/custom.js +292 -0
  12. package/dist/custom.js.map +1 -0
  13. package/dist/index.d.ts +29 -41
  14. package/dist/index.js +258 -4375
  15. package/dist/index.js.map +1 -0
  16. package/dist/node-context.d.ts +81 -33
  17. package/dist/node-context.js +98 -44
  18. package/dist/node-context.js.map +1 -0
  19. package/dist/schemas.d.ts +7920 -0
  20. package/dist/schemas.js +1083 -0
  21. package/dist/schemas.js.map +1 -0
  22. package/openapi.json +15297 -3044
  23. package/openapi.yaml +13979 -0
  24. package/package.json +33 -26
  25. package/spec/components/errors.yaml +53 -0
  26. package/spec/components/parameters.yaml +24 -0
  27. package/spec/components/responses.yaml +107 -0
  28. package/spec/components/schemas/alert-rules.yaml +175 -0
  29. package/spec/components/schemas/attributes.yaml +157 -0
  30. package/spec/components/schemas/common.yaml +87 -0
  31. package/spec/components/schemas/configs.yaml +371 -0
  32. package/spec/components/schemas/connectors.yaml +593 -0
  33. package/spec/components/schemas/errors-api.yaml +209 -0
  34. package/spec/components/schemas/events.yaml +321 -0
  35. package/spec/components/schemas/experiments.yaml +865 -0
  36. package/spec/components/schemas/gate-templates.yaml +198 -0
  37. package/spec/components/schemas/gates.yaml +890 -0
  38. package/spec/components/schemas/i18n.yaml +478 -0
  39. package/spec/components/schemas/keys.yaml +186 -0
  40. package/spec/components/schemas/killswitches.yaml +309 -0
  41. package/spec/components/schemas/metrics.yaml +547 -0
  42. package/spec/components/schemas/ops.yaml +1011 -0
  43. package/spec/components/schemas/projects.yaml +222 -0
  44. package/spec/components/schemas/search.yaml +46 -0
  45. package/spec/components/schemas/universes.yaml +127 -0
  46. package/spec/openapi.yaml +348 -0
  47. package/spec/paths/alert-rules.yaml +250 -0
  48. package/spec/paths/attributes.yaml +261 -0
  49. package/spec/paths/configs.yaml +744 -0
  50. package/spec/paths/connectors.yaml +748 -0
  51. package/spec/paths/errors.yaml +382 -0
  52. package/spec/paths/events.yaml +366 -0
  53. package/spec/paths/experiments.yaml +777 -0
  54. package/spec/paths/gate-templates.yaml +263 -0
  55. package/spec/paths/gates.yaml +451 -0
  56. package/spec/paths/i18n.yaml +544 -0
  57. package/spec/paths/keys.yaml +181 -0
  58. package/spec/paths/killswitches.yaml +557 -0
  59. package/spec/paths/metrics.yaml +302 -0
  60. package/spec/paths/ops.yaml +446 -0
  61. package/spec/paths/projects.yaml +210 -0
  62. package/spec/paths/search.yaml +62 -0
  63. package/spec/paths/universes.yaml +247 -0
  64. package/dist/operations/attributes.d.ts +0 -33
  65. package/dist/operations/attributes.js +0 -16
  66. package/dist/operations/cli-adapter.d.ts +0 -35
  67. package/dist/operations/cli-adapter.js +0 -91
  68. package/dist/operations/coerce.d.ts +0 -32
  69. package/dist/operations/coerce.js +0 -53
  70. package/dist/operations/configs.d.ts +0 -28
  71. package/dist/operations/configs.js +0 -119
  72. package/dist/operations/docs.d.ts +0 -37
  73. package/dist/operations/docs.js +0 -39
  74. package/dist/operations/events.d.ts +0 -28
  75. package/dist/operations/events.js +0 -121
  76. package/dist/operations/experiments.d.ts +0 -28
  77. package/dist/operations/experiments.js +0 -280
  78. package/dist/operations/gates.d.ts +0 -28
  79. package/dist/operations/gates.js +0 -132
  80. package/dist/operations/i18n.d.ts +0 -28
  81. package/dist/operations/i18n.js +0 -121
  82. package/dist/operations/index.d.ts +0 -63
  83. package/dist/operations/index.js +0 -1751
  84. package/dist/operations/killswitches.d.ts +0 -28
  85. package/dist/operations/killswitches.js +0 -126
  86. package/dist/operations/mcp-adapter.d.ts +0 -35
  87. package/dist/operations/mcp-adapter.js +0 -94
  88. package/dist/operations/metrics.d.ts +0 -30
  89. package/dist/operations/metrics.js +0 -114
  90. package/dist/operations/ops.d.ts +0 -28
  91. package/dist/operations/ops.js +0 -313
  92. package/dist/operations/projects.d.ts +0 -28
  93. package/dist/operations/projects.js +0 -36
  94. package/dist/operations/sdk-docs.d.ts +0 -28
  95. package/dist/operations/sdk-docs.js +0 -160
  96. package/dist/operations/types.d.ts +0 -138
  97. package/dist/operations/types.js +0 -9
  98. package/dist/operations/universes.d.ts +0 -28
  99. package/dist/operations/universes.js +0 -93
  100. package/dist/operations/util.d.ts +0 -33
  101. package/dist/operations/util.js +0 -9
  102. package/dist/resources/alert-rules.d.ts +0 -50
  103. package/dist/resources/alert-rules.js +0 -75
  104. package/dist/resources/attributes.d.ts +0 -19
  105. package/dist/resources/attributes.js +0 -10
  106. package/dist/resources/configs.d.ts +0 -681
  107. package/dist/resources/configs.js +0 -509
  108. package/dist/resources/events.d.ts +0 -61
  109. package/dist/resources/events.js +0 -42
  110. package/dist/resources/experiments.d.ts +0 -849
  111. package/dist/resources/experiments.js +0 -707
  112. package/dist/resources/gates.d.ts +0 -808
  113. package/dist/resources/gates.js +0 -522
  114. package/dist/resources/i18n.d.ts +0 -84
  115. package/dist/resources/i18n.js +0 -60
  116. package/dist/resources/index.d.ts +0 -2767
  117. package/dist/resources/index.js +0 -2563
  118. package/dist/resources/killswitches.d.ts +0 -436
  119. package/dist/resources/killswitches.js +0 -514
  120. package/dist/resources/metrics.d.ts +0 -54
  121. package/dist/resources/metrics.js +0 -40
  122. package/dist/resources/ops.d.ts +0 -88
  123. package/dist/resources/ops.js +0 -36
  124. package/dist/resources/projects.d.ts +0 -54
  125. package/dist/resources/projects.js +0 -14
  126. package/dist/resources/universes.d.ts +0 -185
  127. package/dist/resources/universes.js +0 -234
  128. package/dist/schemas/alert-rules.d.ts +0 -65
  129. package/dist/schemas/alert-rules.js +0 -37
  130. package/dist/schemas/configs.d.ts +0 -154
  131. package/dist/schemas/configs.js +0 -134
  132. package/dist/schemas/constants.d.ts +0 -6
  133. package/dist/schemas/constants.js +0 -7
  134. package/dist/schemas/experiments.d.ts +0 -229
  135. package/dist/schemas/experiments.js +0 -221
  136. package/dist/schemas/folder.d.ts +0 -10
  137. package/dist/schemas/folder.js +0 -8
  138. package/dist/schemas/gates.d.ts +0 -386
  139. package/dist/schemas/gates.js +0 -190
  140. package/dist/schemas/index.d.ts +0 -11
  141. package/dist/schemas/index.js +0 -762
  142. package/dist/schemas/killswitches.d.ts +0 -110
  143. package/dist/schemas/killswitches.js +0 -226
  144. package/dist/schemas/metric-name.d.ts +0 -5
  145. package/dist/schemas/metric-name.js +0 -6
  146. package/dist/schemas/pagination.d.ts +0 -37
  147. package/dist/schemas/pagination.js +0 -44
  148. package/dist/schemas/universes.d.ts +0 -35
  149. package/dist/schemas/universes.js +0 -55
  150. package/dist/transport.d.ts +0 -30
  151. package/dist/transport.js +0 -44
@@ -0,0 +1,87 @@
1
+ # Cross-cutting shared schemas referenced from multiple resources.
2
+ Env:
3
+ type: string
4
+ enum:
5
+ - dev
6
+ - staging
7
+ - prod
8
+ description: Target environment. One of the project's configured envs (`dev`, `staging`, `prod`).
9
+ Folder:
10
+ anyOf:
11
+ - type: string
12
+ maxLength: 256
13
+ pattern: ^[a-zA-Z0-9_-]+$
14
+ - type: "null"
15
+ description: Optional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`).
16
+ MetricName:
17
+ type: string
18
+ maxLength: 128
19
+ pattern: ^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$
20
+ description: Stable metric key. Single segment or `folder.name`; lowercase letters, digits, `_`/`-`; max 128 chars.
21
+ ConfigName:
22
+ type: string
23
+ maxLength: 128
24
+ pattern: ^(?:_default|[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$
25
+ description: Stable config/killswitch key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Immutable after create.
26
+ NotificationTarget:
27
+ anyOf:
28
+ - type: object
29
+ properties:
30
+ slackChannel:
31
+ anyOf:
32
+ - type: object
33
+ properties:
34
+ id: { type: string, minLength: 1 }
35
+ name: { type: string, minLength: 1 }
36
+ required: [id, name]
37
+ additionalProperties: false
38
+ - type: "null"
39
+ email:
40
+ anyOf:
41
+ - type: string
42
+ format: email
43
+ - type: "null"
44
+ additionalProperties: false
45
+ - type: "null"
46
+ description: Delivery target for a notification; `null` = use the project default.
47
+ PageQuery:
48
+ type: object
49
+ properties:
50
+ limit:
51
+ type: integer
52
+ minimum: 1
53
+ maximum: 500
54
+ default: 100
55
+ description: Max rows to return (1–500, default 100).
56
+ cursor:
57
+ type: string
58
+ minLength: 1
59
+ description: Opaque keyset cursor from a previous page's `next_cursor`.
60
+ additionalProperties: false
61
+ description: Query params for any paginated list endpoint.
62
+ KillswitchValue:
63
+ type: object
64
+ properties:
65
+ value:
66
+ type: boolean
67
+ description: Default boolean delivered when no `switches` entry matches.
68
+ switches:
69
+ type: object
70
+ additionalProperties: { type: boolean }
71
+ description: Per-switch overrides; a matching key takes precedence over `value`.
72
+ required: [value]
73
+ additionalProperties: false
74
+ description: Runtime killswitch payload returned to SDKs.
75
+ ExperimentInlineMetric:
76
+ type: object
77
+ properties:
78
+ name: { $ref: "#/MetricName" }
79
+ query: { type: string, minLength: 1, maxLength: 4096, description: Metric DSL string. Provide this OR `event`. }
80
+ event: { type: string, minLength: 1, maxLength: 256, description: Event name to build the metric from server-side. Auto-created if missing. }
81
+ aggregation:
82
+ type: string
83
+ enum: [count_users, count_events, retention_7d, retention_30d, sum, avg]
84
+ description: Reducer for the `event` form. Defaults to `count_users`.
85
+ value: { type: string, minLength: 1, maxLength: 256, description: Numeric event property for `sum`/`avg` (with `event`). }
86
+ additionalProperties: false
87
+ description: Inline metric — a DSL `query`, or an `event` (+ `aggregation`/`value`) the server compiles into one.
@@ -0,0 +1,371 @@
1
+ ListConfigsResponse:
2
+ type: object
3
+ properties:
4
+ data:
5
+ type: array
6
+ items:
7
+ type: object
8
+ properties:
9
+ id:
10
+ type: string
11
+ description: Stable opaque config id (`cfg_…`).
12
+ name:
13
+ type: string
14
+ maxLength: 128
15
+ description: Stable config key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Used by SDKs as `Shipeasy.getConfig('<name>')`. Immutable after create.
16
+ description:
17
+ anyOf:
18
+ - type: string
19
+ - type: "null"
20
+ schema:
21
+ type: object
22
+ additionalProperties: {}
23
+ description: JSON Schema (draft 2020-12) describing the shape of the config value. Top-level `type` must be `'object'`; every published value is validated against this schema.
24
+ updatedAt:
25
+ type: string
26
+ description: ISO-8601 timestamp of last mutation.
27
+ envs:
28
+ type: object
29
+ additionalProperties:
30
+ type: object
31
+ properties:
32
+ version:
33
+ type: integer
34
+ minimum: -9007199254740991
35
+ maximum: 9007199254740991
36
+ description: Monotonically increasing version per env.
37
+ publishedAt:
38
+ type: string
39
+ description: ISO-8601 publish timestamp.
40
+ publishedBy:
41
+ type: string
42
+ description: Email/id of the actor who published this version.
43
+ required:
44
+ - version
45
+ - publishedAt
46
+ - publishedBy
47
+ additionalProperties: false
48
+ description: Per-env latest published version metadata.
49
+ drafts:
50
+ type: object
51
+ additionalProperties:
52
+ type: object
53
+ properties:
54
+ updatedAt:
55
+ type: string
56
+ description: ISO-8601 last-edit timestamp on the draft.
57
+ authorEmail:
58
+ type: string
59
+ description: Email/id of the actor who last edited the draft.
60
+ baseVersion:
61
+ type: integer
62
+ minimum: -9007199254740991
63
+ maximum: 9007199254740991
64
+ description: Published version the draft was forked from.
65
+ required:
66
+ - updatedAt
67
+ - authorEmail
68
+ - baseVersion
69
+ additionalProperties: false
70
+ description: Per-env active drafts (if any).
71
+ values:
72
+ description: Per-env latest published values (only returned by `GET /{id}`, not list).
73
+ type: object
74
+ additionalProperties: {}
75
+ draftValues:
76
+ description: Per-env draft values (only returned by `GET /{id}`).
77
+ type: object
78
+ additionalProperties: {}
79
+ required:
80
+ - id
81
+ - name
82
+ - description
83
+ - schema
84
+ - updatedAt
85
+ - envs
86
+ - drafts
87
+ additionalProperties: false
88
+ next_cursor:
89
+ anyOf:
90
+ - type: string
91
+ - type: "null"
92
+ required:
93
+ - data
94
+ - next_cursor
95
+ additionalProperties: false
96
+ GetConfigResponse:
97
+ type: object
98
+ properties:
99
+ id:
100
+ type: string
101
+ description: Stable opaque config id (`cfg_…`).
102
+ name:
103
+ type: string
104
+ maxLength: 128
105
+ description: Stable config key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Used by SDKs as `Shipeasy.getConfig('<name>')`. Immutable after create.
106
+ description:
107
+ anyOf:
108
+ - type: string
109
+ - type: "null"
110
+ schema:
111
+ type: object
112
+ additionalProperties: {}
113
+ description: JSON Schema (draft 2020-12) describing the shape of the config value. Top-level `type` must be `'object'`; every published value is validated against this schema.
114
+ updatedAt:
115
+ type: string
116
+ description: ISO-8601 timestamp of last mutation.
117
+ envs:
118
+ type: object
119
+ additionalProperties:
120
+ type: object
121
+ properties:
122
+ version:
123
+ type: integer
124
+ minimum: -9007199254740991
125
+ maximum: 9007199254740991
126
+ description: Monotonically increasing version per env.
127
+ publishedAt:
128
+ type: string
129
+ description: ISO-8601 publish timestamp.
130
+ publishedBy:
131
+ type: string
132
+ description: Email/id of the actor who published this version.
133
+ required:
134
+ - version
135
+ - publishedAt
136
+ - publishedBy
137
+ additionalProperties: false
138
+ description: Per-env latest published version metadata.
139
+ drafts:
140
+ type: object
141
+ additionalProperties:
142
+ type: object
143
+ properties:
144
+ updatedAt:
145
+ type: string
146
+ description: ISO-8601 last-edit timestamp on the draft.
147
+ authorEmail:
148
+ type: string
149
+ description: Email/id of the actor who last edited the draft.
150
+ baseVersion:
151
+ type: integer
152
+ minimum: -9007199254740991
153
+ maximum: 9007199254740991
154
+ description: Published version the draft was forked from.
155
+ required:
156
+ - updatedAt
157
+ - authorEmail
158
+ - baseVersion
159
+ additionalProperties: false
160
+ description: Per-env active drafts (if any).
161
+ values:
162
+ description: Per-env latest published values (only returned by `GET /{id}`, not list).
163
+ type: object
164
+ additionalProperties: {}
165
+ draftValues:
166
+ description: Per-env draft values (only returned by `GET /{id}`).
167
+ type: object
168
+ additionalProperties: {}
169
+ required:
170
+ - id
171
+ - name
172
+ - description
173
+ - schema
174
+ - updatedAt
175
+ - envs
176
+ - drafts
177
+ additionalProperties: false
178
+ CreateConfigRequest:
179
+ type: object
180
+ properties:
181
+ name:
182
+ $ref: ./common.yaml#/ConfigName
183
+ description:
184
+ description: Optional free-form description shown in the dashboard. Max 512 chars.
185
+ type: string
186
+ maxLength: 512
187
+ folder:
188
+ $ref: ./common.yaml#/Folder
189
+ schema:
190
+ type: object
191
+ additionalProperties: {}
192
+ description: JSON Schema (draft 2020-12) describing the shape of the config value. Top-level `type` must be `'object'`; every published value is validated against this schema.
193
+ value:
194
+ description: "Initial config value. Either a single JSON object applied to every env, or a `{ env: value }` map seeding per-env values. Must match `schema`. Defaults to `{}` on every env when omitted."
195
+ required:
196
+ - name
197
+ - schema
198
+ additionalProperties: false
199
+ description: Body for `POST /api/admin/configs`. `name` + `schema` required.
200
+ CreateConfigResponse:
201
+ type: object
202
+ properties:
203
+ id:
204
+ type: string
205
+ description: Newly assigned config id.
206
+ name:
207
+ type: string
208
+ maxLength: 128
209
+ description: Stable config key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Used by SDKs as `Shipeasy.getConfig('<name>')`. Immutable after create.
210
+ required:
211
+ - id
212
+ - name
213
+ additionalProperties: false
214
+ UpdateConfigRequest:
215
+ type: object
216
+ properties:
217
+ schema:
218
+ description: Replacement schema. When supplied, the new schema is validated against every published value before it lands.
219
+ type: object
220
+ additionalProperties: {}
221
+ value:
222
+ description: Flat value applied to **every** env. Publishes a new version per env. To target one env, use `PUT /{id}/drafts` then `POST /{id}/publish`.
223
+ folder:
224
+ $ref: ./common.yaml#/Folder
225
+ additionalProperties: false
226
+ description: Body for `PATCH /api/admin/configs/{id}`. Partial — only supplied fields change. `value` republishes on every env.
227
+ UpdateConfigResponse:
228
+ type: object
229
+ properties:
230
+ id:
231
+ type: string
232
+ description: Config id that was updated.
233
+ required:
234
+ - id
235
+ additionalProperties: false
236
+ UpdateConfigSchemaRequest:
237
+ type: object
238
+ properties:
239
+ schema:
240
+ description: Replacement JSON Schema (draft 2020-12). Validated against every published value before it lands.
241
+ type: object
242
+ additionalProperties: {}
243
+ required:
244
+ - schema
245
+ additionalProperties: false
246
+ description: Body for `PATCH /api/admin/configs/{id}/schema`. Schema-only update — replaces the config's schema and re-validates existing values.
247
+ UpdateConfigSchemaResponse:
248
+ type: object
249
+ properties:
250
+ id:
251
+ type: string
252
+ description: Config id whose schema was updated.
253
+ required:
254
+ - id
255
+ additionalProperties: false
256
+ DeleteConfigResponse:
257
+ type: object
258
+ properties:
259
+ ok:
260
+ type: boolean
261
+ const: true
262
+ required:
263
+ - ok
264
+ additionalProperties: false
265
+ SaveConfigDraftRequest:
266
+ type: object
267
+ properties:
268
+ env:
269
+ $ref: ./common.yaml#/Env
270
+ value:
271
+ description: Draft value to stage on `env`. Validated against the config's current schema.
272
+ required:
273
+ - env
274
+ - value
275
+ additionalProperties: false
276
+ description: Body for `PUT /api/admin/configs/{id}/drafts`. Stages a value for a single env without publishing.
277
+ SaveConfigDraftResponse:
278
+ type: object
279
+ properties:
280
+ id:
281
+ type: string
282
+ env:
283
+ $ref: ./common.yaml#/Env
284
+ baseVersion:
285
+ type: integer
286
+ minimum: -9007199254740991
287
+ maximum: 9007199254740991
288
+ description: Published version the draft is based on.
289
+ updatedAt:
290
+ type: string
291
+ required:
292
+ - id
293
+ - env
294
+ - baseVersion
295
+ - updatedAt
296
+ additionalProperties: false
297
+ DiscardConfigDraftRequest:
298
+ type: object
299
+ properties:
300
+ env:
301
+ $ref: ./common.yaml#/Env
302
+ required:
303
+ - env
304
+ additionalProperties: false
305
+ description: Body for `POST /api/admin/configs/{id}/publish` and `DELETE /api/admin/configs/{id}/drafts`. Names the target env.
306
+ DiscardConfigDraftResponse:
307
+ type: object
308
+ properties:
309
+ ok:
310
+ type: boolean
311
+ const: true
312
+ required:
313
+ - ok
314
+ additionalProperties: false
315
+ PublishConfigDraftRequest:
316
+ type: object
317
+ properties:
318
+ env:
319
+ $ref: ./common.yaml#/Env
320
+ required:
321
+ - env
322
+ additionalProperties: false
323
+ description: Body for `POST /api/admin/configs/{id}/publish` and `DELETE /api/admin/configs/{id}/drafts`. Names the target env.
324
+ PublishConfigDraftResponse:
325
+ type: object
326
+ properties:
327
+ id:
328
+ type: string
329
+ env:
330
+ $ref: ./common.yaml#/Env
331
+ version:
332
+ type: integer
333
+ minimum: -9007199254740991
334
+ maximum: 9007199254740991
335
+ description: Newly published version on `env`.
336
+ required:
337
+ - id
338
+ - env
339
+ - version
340
+ additionalProperties: false
341
+ ListConfigActivityResponse:
342
+ type: array
343
+ items:
344
+ type: object
345
+ properties:
346
+ id:
347
+ type: string
348
+ action:
349
+ type: string
350
+ description: Audit action (e.g. `config.create`, `config.publish`).
351
+ actorEmail:
352
+ type: string
353
+ actorType:
354
+ type: string
355
+ enum:
356
+ - user
357
+ - cli
358
+ - system
359
+ payload: {}
360
+ createdAt:
361
+ type: string
362
+ description: ISO-8601 timestamp.
363
+ required:
364
+ - id
365
+ - action
366
+ - actorEmail
367
+ - actorType
368
+ - payload
369
+ - createdAt
370
+ additionalProperties: false
371
+ description: Recent audit rows for one config, newest first.