@shipeasy/openapi 1.6.0 → 2.2.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-643YSMLU.js +1616 -0
  3. package/dist/chunk-643YSMLU.js.map +1 -0
  4. package/dist/chunk-MRW3DJ57.js +3385 -0
  5. package/dist/chunk-MRW3DJ57.js.map +1 -0
  6. package/dist/client-K0ShmsC7.d.ts +11284 -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 +86 -0
  11. package/dist/custom.js +300 -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 +7973 -0
  20. package/dist/schemas.js +1099 -0
  21. package/dist/schemas.js.map +1 -0
  22. package/openapi.json +15922 -3232
  23. package/openapi.yaml +14277 -0
  24. package/package.json +33 -26
  25. package/spec/components/errors.yaml +53 -0
  26. package/spec/components/parameters.yaml +32 -0
  27. package/spec/components/responses.yaml +122 -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 +92 -0
  31. package/spec/components/schemas/configs.yaml +371 -0
  32. package/spec/components/schemas/connectors.yaml +587 -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 +237 -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 +1013 -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 +367 -0
  47. package/spec/paths/alert-rules.yaml +258 -0
  48. package/spec/paths/attributes.yaml +272 -0
  49. package/spec/paths/configs.yaml +758 -0
  50. package/spec/paths/connectors.yaml +782 -0
  51. package/spec/paths/errors.yaml +382 -0
  52. package/spec/paths/events.yaml +380 -0
  53. package/spec/paths/experiments.yaml +803 -0
  54. package/spec/paths/gate-templates.yaml +267 -0
  55. package/spec/paths/gates.yaml +465 -0
  56. package/spec/paths/i18n.yaml +557 -0
  57. package/spec/paths/keys.yaml +182 -0
  58. package/spec/paths/killswitches.yaml +574 -0
  59. package/spec/paths/metrics.yaml +313 -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 +255 -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,222 @@
1
+ GetCurrentProjectResponse:
2
+ type: object
3
+ properties:
4
+ id:
5
+ type: string
6
+ description: Stable opaque project id.
7
+ name:
8
+ type: string
9
+ description: Project name.
10
+ domain:
11
+ anyOf:
12
+ - type: string
13
+ - type: "null"
14
+ description: Project domain, or `null` if unset.
15
+ ownerEmail:
16
+ type: string
17
+ description: Email of the account that owns the project.
18
+ plan:
19
+ type: string
20
+ enum:
21
+ - free
22
+ - paid
23
+ description: Billing plan tier.
24
+ status:
25
+ type: string
26
+ enum:
27
+ - active
28
+ - inactive
29
+ description: Project lifecycle status.
30
+ subscriptionStatus:
31
+ type: string
32
+ description: Stripe subscription status (`none`, `active`, `trialing`, `past_due`, …).
33
+ billingInterval:
34
+ type: string
35
+ enum:
36
+ - monthly
37
+ - annual
38
+ description: Billing cadence.
39
+ currentPeriodEnd:
40
+ anyOf:
41
+ - type: string
42
+ - type: "null"
43
+ description: ISO-8601 end of the current billing period, or `null`.
44
+ trialEndsAt:
45
+ anyOf:
46
+ - type: string
47
+ - type: "null"
48
+ description: ISO-8601 trial end, or `null` if not trialing.
49
+ cancelAtPeriodEnd:
50
+ type: number
51
+ description: "`1` if the subscription is set to cancel at period end, else `0`."
52
+ moduleTranslations:
53
+ anyOf:
54
+ - type: boolean
55
+ - type: number
56
+ description: Whether the i18n/translations module is enabled.
57
+ moduleConfigs:
58
+ anyOf:
59
+ - type: boolean
60
+ - type: number
61
+ description: Whether the dynamic-configs module is enabled.
62
+ moduleGates:
63
+ anyOf:
64
+ - type: boolean
65
+ - type: number
66
+ description: Whether the feature-gates module is enabled.
67
+ moduleExperiments:
68
+ anyOf:
69
+ - type: boolean
70
+ - type: number
71
+ description: Whether the experiments module is enabled.
72
+ moduleFeedback:
73
+ anyOf:
74
+ - type: boolean
75
+ - type: number
76
+ description: Whether the feedback/ops module is enabled.
77
+ createdAt:
78
+ type: string
79
+ description: ISO-8601 timestamp of project creation.
80
+ updatedAt:
81
+ type: string
82
+ description: ISO-8601 timestamp of last update.
83
+ required:
84
+ - id
85
+ - name
86
+ - domain
87
+ - ownerEmail
88
+ - plan
89
+ - status
90
+ - subscriptionStatus
91
+ - billingInterval
92
+ - currentPeriodEnd
93
+ - trialEndsAt
94
+ - cancelAtPeriodEnd
95
+ - moduleTranslations
96
+ - moduleConfigs
97
+ - moduleGates
98
+ - moduleExperiments
99
+ - moduleFeedback
100
+ - createdAt
101
+ - updatedAt
102
+ additionalProperties: {}
103
+ description: The project the caller's auth header resolves to. The shape is open — additional project fields may be present.
104
+ UpsertProjectRequest:
105
+ type: object
106
+ properties:
107
+ domain:
108
+ type: string
109
+ minLength: 1
110
+ maxLength: 2048
111
+ pattern: '^(\*|(\*\.)?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+)$'
112
+ description: 'Lowercase bare hostname (e.g. `acme.com`, `app.acme.com`, `*.acme.com`), or `*` to allow any origin. Full URLs with `https://` are not accepted. The project is keyed by `(owner_email, domain)`, so a second call with the same domain returns the existing project.'
113
+ name:
114
+ description: Human-readable project name. Defaults to the domain on first create.
115
+ type: string
116
+ minLength: 1
117
+ maxLength: 100
118
+ required:
119
+ - domain
120
+ additionalProperties: false
121
+ description: Body for `POST /api/admin/projects/upsert`. Only `domain` is required; the owner is resolved from the caller's session.
122
+ UpsertProjectResponse:
123
+ type: object
124
+ properties:
125
+ id:
126
+ type: string
127
+ description: Stable opaque project id.
128
+ name:
129
+ type: string
130
+ description: Project name (the supplied `name`, or the domain on first create).
131
+ domain:
132
+ anyOf:
133
+ - type: string
134
+ - type: "null"
135
+ description: Project domain, or `null` if unset.
136
+ owner_email:
137
+ type: string
138
+ description: Email of the account that owns the project.
139
+ created:
140
+ type: boolean
141
+ description: "`true` if this call created the project, `false` if it returned an existing one."
142
+ required:
143
+ - id
144
+ - name
145
+ - domain
146
+ - owner_email
147
+ - created
148
+ additionalProperties: false
149
+ description: Result of `POST /api/admin/projects/upsert`.
150
+ UpdateProjectRequest:
151
+ type: object
152
+ properties:
153
+ name:
154
+ type: string
155
+ minLength: 1
156
+ maxLength: 120
157
+ description: New project name.
158
+ domain:
159
+ $ref: "#/UpsertProjectRequest/properties/domain"
160
+ slug:
161
+ type: string
162
+ minLength: 2
163
+ maxLength: 48
164
+ pattern: ^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$
165
+ description: URL-safe identifier used in app URLs and SDK config. Lowercase letters, numbers, and hyphens; 2–48 chars; cannot start or end with a hyphen. The caller lowercases the raw slug before sending.
166
+ defaultEnv:
167
+ type: string
168
+ enum:
169
+ - dev
170
+ - staging
171
+ - prod
172
+ description: Default environment new resources are scoped to.
173
+ timezone:
174
+ type: string
175
+ minLength: 1
176
+ maxLength: 64
177
+ description: IANA timezone the project's daily analysis runs in.
178
+ statMethod:
179
+ type: string
180
+ enum:
181
+ - sequential
182
+ - fixed
183
+ - bayesian
184
+ description: Statistical method the experiment analyzer uses.
185
+ sigThreshold:
186
+ type: string
187
+ enum:
188
+ - "0.01"
189
+ - "0.05"
190
+ - "0.10"
191
+ description: Significance threshold (alpha) for experiment analysis.
192
+ autoRollback:
193
+ type: boolean
194
+ description: Whether a failing guardrail auto-rolls back the experiment.
195
+ minSampleDays:
196
+ type: integer
197
+ minimum: 1
198
+ maximum: 365
199
+ description: Minimum number of days an experiment must run before it can be called.
200
+ moduleTranslations:
201
+ type: boolean
202
+ description: Enable/disable the i18n/translations module.
203
+ moduleConfigs:
204
+ type: boolean
205
+ description: Enable/disable the dynamic-configs module.
206
+ moduleGates:
207
+ type: boolean
208
+ description: Enable/disable the feature-gates module.
209
+ moduleExperiments:
210
+ type: boolean
211
+ description: Enable/disable the experiments module.
212
+ moduleFeedback:
213
+ type: boolean
214
+ description: Enable/disable the feedback/ops module.
215
+ moduleUser:
216
+ type: boolean
217
+ description: Enable/disable the user-management module.
218
+ moduleEvents:
219
+ type: boolean
220
+ description: Enable/disable the events module.
221
+ additionalProperties: false
222
+ description: "Body for `PATCH /api/admin/projects/{id}`. Partial — every field is optional; only supplied fields change. The project id in the path must match the caller's own project."
@@ -0,0 +1,46 @@
1
+ SearchResponse:
2
+ type: object
3
+ description: Flat, ranked-by-type list of search hits the command palette groups for display. Capped per resource family so one noisy type can't crowd out the rest.
4
+ properties:
5
+ hits:
6
+ type: array
7
+ items:
8
+ $ref: "#/SearchHit"
9
+ required:
10
+ - hits
11
+ additionalProperties: false
12
+ SearchHit:
13
+ type: object
14
+ description: A single universal-search hit. Field names are camelCase; `title` is `null` when the resource has no human title/display name (members fall back to a role label).
15
+ properties:
16
+ type:
17
+ type: string
18
+ enum:
19
+ - member
20
+ - gate
21
+ - experiment
22
+ - config
23
+ - killswitch
24
+ - metric
25
+ description: Resource family — drives the result group + icon in the palette. (`member` hits are surfaced first.)
26
+ id:
27
+ type: string
28
+ description: "Stable identifier used to deep-link into the row's detail pane. For `member` hits this is the teammate's email; for everything else it is the resource id."
29
+ name:
30
+ type: string
31
+ description: The matched handle — the resource's immutable `name`, or the member's display name (falling back to email).
32
+ title:
33
+ anyOf:
34
+ - type: string
35
+ - type: "null"
36
+ description: "Human title/display name when present, else `null`. For `member` hits this carries the email (or the `Owner`/`Member` role when no profile name is set)."
37
+ href:
38
+ type: string
39
+ description: Project-relative href that opens the row (e.g. `/gates?open=<id>`).
40
+ required:
41
+ - type
42
+ - id
43
+ - name
44
+ - title
45
+ - href
46
+ additionalProperties: false
@@ -0,0 +1,127 @@
1
+ ListUniversesResponse:
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 universe id.
12
+ name:
13
+ type: string
14
+ maxLength: 128
15
+ pattern: ^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$
16
+ description: Stable universe key. Single segment or `folder.name`. Lowercase letters, digits, `_` or `-`; max 128 chars. Immutable after create.
17
+ unitType:
18
+ type: string
19
+ description: Unit of randomisation. Snake-case in request (`unit_type`), camelCase in response.
20
+ holdoutRange:
21
+ anyOf:
22
+ - type: array
23
+ items:
24
+ type: number
25
+ minItems: 2
26
+ maxItems: 2
27
+ - type: "null"
28
+ description: Reserved holdout bucket range, or `null` if none.
29
+ createdAt:
30
+ type: string
31
+ description: ISO-8601 timestamp of creation.
32
+ required:
33
+ - id
34
+ - name
35
+ - unitType
36
+ - holdoutRange
37
+ - createdAt
38
+ additionalProperties: false
39
+ next_cursor:
40
+ anyOf:
41
+ - type: string
42
+ - type: "null"
43
+ required:
44
+ - data
45
+ - next_cursor
46
+ additionalProperties: false
47
+ CreateUniverseRequest:
48
+ type: object
49
+ properties:
50
+ name:
51
+ type: string
52
+ maxLength: 128
53
+ pattern: ^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$
54
+ description: Stable universe key. Single segment or `folder.name`. Lowercase letters, digits, `_` or `-`; max 128 chars. Immutable after create.
55
+ folder:
56
+ $ref: ./common.yaml#/Folder
57
+ unit_type:
58
+ default: user_id
59
+ description: Unit of randomisation. Typically `user_id`. Use `account_id` to keep whole accounts in the same group across an experiment.
60
+ type: string
61
+ holdout_range:
62
+ default: null
63
+ anyOf:
64
+ - type: array
65
+ items:
66
+ type: integer
67
+ minimum: 0
68
+ maximum: 9999
69
+ minItems: 2
70
+ maxItems: 2
71
+ - type: "null"
72
+ description: Inclusive `[lo, hi]` bucket range (0–9999) reserved as the **holdout** — callers hashed into this slice are excluded from every experiment in the universe. `null` disables the holdout. Pro plan or higher required.
73
+ required:
74
+ - name
75
+ additionalProperties: false
76
+ description: Body for `POST /api/admin/universes`. Only `name` is required.
77
+ CreateUniverseResponse:
78
+ type: object
79
+ properties:
80
+ id:
81
+ type: string
82
+ description: Newly assigned universe id.
83
+ name:
84
+ type: string
85
+ maxLength: 128
86
+ pattern: ^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$
87
+ description: Stable universe key. Single segment or `folder.name`. Lowercase letters, digits, `_` or `-`; max 128 chars. Immutable after create.
88
+ required:
89
+ - id
90
+ - name
91
+ additionalProperties: false
92
+ UpdateUniverseRequest:
93
+ type: object
94
+ properties:
95
+ folder:
96
+ $ref: ./common.yaml#/Folder
97
+ holdout_range:
98
+ anyOf:
99
+ - type: array
100
+ items:
101
+ type: integer
102
+ minimum: 0
103
+ maximum: 9999
104
+ minItems: 2
105
+ maxItems: 2
106
+ - type: "null"
107
+ description: Inclusive `[lo, hi]` bucket range (0–9999) reserved as the **holdout** — callers hashed into this slice are excluded from every experiment in the universe. `null` disables the holdout. Pro plan or higher required.
108
+ additionalProperties: false
109
+ description: Body for `PATCH /api/admin/universes/{id}`. Only `holdout_range` is mutable — name and unit_type are immutable after create.
110
+ UpdateUniverseResponse:
111
+ type: object
112
+ properties:
113
+ id:
114
+ type: string
115
+ description: Universe id that was updated.
116
+ required:
117
+ - id
118
+ additionalProperties: false
119
+ DeleteUniverseResponse:
120
+ type: object
121
+ properties:
122
+ ok:
123
+ type: boolean
124
+ const: true
125
+ required:
126
+ - ok
127
+ additionalProperties: false