berget 1.4.0 → 2.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/.env.example +5 -0
- package/AGENTS.md +184 -0
- package/TODO.md +2 -0
- package/blog-post.md +176 -0
- package/dist/index.js +11 -8
- package/dist/package.json +7 -2
- package/dist/src/commands/api-keys.js +4 -2
- package/dist/src/commands/chat.js +21 -11
- package/dist/src/commands/code.js +1424 -0
- package/dist/src/commands/index.js +2 -0
- package/dist/src/constants/command-structure.js +12 -0
- package/dist/src/schemas/opencode-schema.json +1121 -0
- package/dist/src/services/cluster-service.js +1 -1
- package/dist/src/utils/default-api-key.js +2 -2
- package/dist/src/utils/env-manager.js +86 -0
- package/dist/src/utils/error-handler.js +10 -3
- package/dist/src/utils/markdown-renderer.js +4 -4
- package/dist/src/utils/opencode-validator.js +122 -0
- package/dist/src/utils/token-manager.js +2 -2
- package/dist/tests/commands/chat.test.js +20 -18
- package/dist/tests/commands/code.test.js +414 -0
- package/dist/tests/utils/env-manager.test.js +148 -0
- package/dist/tests/utils/opencode-validator.test.js +103 -0
- package/index.ts +67 -32
- package/opencode.json +182 -0
- package/package.json +7 -2
- package/src/client.ts +20 -20
- package/src/commands/api-keys.ts +93 -60
- package/src/commands/auth.ts +4 -2
- package/src/commands/billing.ts +6 -3
- package/src/commands/chat.ts +149 -107
- package/src/commands/clusters.ts +2 -2
- package/src/commands/code.ts +1696 -0
- package/src/commands/index.ts +2 -0
- package/src/commands/models.ts +3 -3
- package/src/commands/users.ts +2 -2
- package/src/constants/command-structure.ts +112 -58
- package/src/schemas/opencode-schema.json +991 -0
- package/src/services/api-key-service.ts +1 -1
- package/src/services/auth-service.ts +27 -25
- package/src/services/chat-service.ts +26 -23
- package/src/services/cluster-service.ts +5 -5
- package/src/services/collaborator-service.ts +3 -3
- package/src/services/flux-service.ts +2 -2
- package/src/services/helm-service.ts +2 -2
- package/src/services/kubectl-service.ts +3 -6
- package/src/types/api.d.ts +1032 -1010
- package/src/types/json.d.ts +3 -3
- package/src/utils/default-api-key.ts +54 -42
- package/src/utils/env-manager.ts +98 -0
- package/src/utils/error-handler.ts +24 -15
- package/src/utils/logger.ts +12 -12
- package/src/utils/markdown-renderer.ts +18 -18
- package/src/utils/opencode-validator.ts +134 -0
- package/src/utils/token-manager.ts +35 -23
- package/tests/commands/chat.test.ts +43 -31
- package/tests/commands/code.test.ts +505 -0
- package/tests/utils/env-manager.test.ts +199 -0
- package/tests/utils/opencode-validator.test.ts +118 -0
- package/tsconfig.json +8 -8
- package/-27b-it +0 -0
- package/examples/README.md +0 -95
- package/examples/ai-review.sh +0 -30
- package/examples/install-global-security-hook.sh +0 -170
- package/examples/security-check.sh +0 -102
- package/examples/smart-commit.sh +0 -26
package/src/types/api.d.ts
CHANGED
|
@@ -3,14 +3,19 @@
|
|
|
3
3
|
* Do not make direct changes to the file.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
/** OneOf type helpers */
|
|
8
|
-
type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never }
|
|
9
|
-
type XOR<T, U> =
|
|
10
|
-
|
|
7
|
+
type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never }
|
|
8
|
+
type XOR<T, U> = T | U extends object
|
|
9
|
+
? (Without<T, U> & U) | (Without<U, T> & T)
|
|
10
|
+
: T | U
|
|
11
|
+
type OneOf<T extends any[]> = T extends [infer Only]
|
|
12
|
+
? Only
|
|
13
|
+
: T extends [infer A, infer B, ...infer Rest]
|
|
14
|
+
? OneOf<[XOR<A, B>, ...Rest]>
|
|
15
|
+
: never
|
|
11
16
|
|
|
12
17
|
export interface paths {
|
|
13
|
-
|
|
18
|
+
'/v1/api-keys': {
|
|
14
19
|
/**
|
|
15
20
|
* List all API keys
|
|
16
21
|
* @description Lists all API keys for the authenticated user's organization.
|
|
@@ -34,19 +39,19 @@ export interface paths {
|
|
|
34
39
|
/** @description List of API keys */
|
|
35
40
|
200: {
|
|
36
41
|
content: {
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
}
|
|
42
|
+
'application/json': components['schemas']['ApiKeyListResponse']
|
|
43
|
+
}
|
|
44
|
+
}
|
|
40
45
|
/** @description Unauthorized */
|
|
41
46
|
401: {
|
|
42
|
-
content: never
|
|
43
|
-
}
|
|
47
|
+
content: never
|
|
48
|
+
}
|
|
44
49
|
/** @description Server error */
|
|
45
50
|
500: {
|
|
46
|
-
content: never
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
51
|
+
content: never
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
50
55
|
/**
|
|
51
56
|
* Create a new API key
|
|
52
57
|
* @description Creates a new API key for the authenticated user's organization. The full API key is only returned once at creation time.
|
|
@@ -65,28 +70,28 @@ export interface paths {
|
|
|
65
70
|
post: {
|
|
66
71
|
requestBody: {
|
|
67
72
|
content: {
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
}
|
|
73
|
+
'application/json': components['schemas']['CreateApiKey']
|
|
74
|
+
}
|
|
75
|
+
}
|
|
71
76
|
responses: {
|
|
72
77
|
/** @description API key created successfully */
|
|
73
78
|
201: {
|
|
74
79
|
content: {
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
}
|
|
80
|
+
'application/json': components['schemas']['CreateApiKeyResponse']
|
|
81
|
+
}
|
|
82
|
+
}
|
|
78
83
|
/** @description Unauthorized */
|
|
79
84
|
401: {
|
|
80
|
-
content: never
|
|
81
|
-
}
|
|
85
|
+
content: never
|
|
86
|
+
}
|
|
82
87
|
/** @description Server error */
|
|
83
88
|
500: {
|
|
84
|
-
content: never
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
89
|
+
content: never
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
'/v1/api-keys/{id}': {
|
|
90
95
|
/**
|
|
91
96
|
* Delete an API key
|
|
92
97
|
* @description Permanently deletes an API key
|
|
@@ -95,30 +100,30 @@ export interface paths {
|
|
|
95
100
|
parameters: {
|
|
96
101
|
path: {
|
|
97
102
|
/** @description API key ID */
|
|
98
|
-
id: string
|
|
99
|
-
}
|
|
100
|
-
}
|
|
103
|
+
id: string
|
|
104
|
+
}
|
|
105
|
+
}
|
|
101
106
|
responses: {
|
|
102
107
|
/** @description API key deleted successfully */
|
|
103
108
|
204: {
|
|
104
|
-
content: never
|
|
105
|
-
}
|
|
109
|
+
content: never
|
|
110
|
+
}
|
|
106
111
|
/** @description Unauthorized */
|
|
107
112
|
401: {
|
|
108
|
-
content: never
|
|
109
|
-
}
|
|
113
|
+
content: never
|
|
114
|
+
}
|
|
110
115
|
/** @description API key not found */
|
|
111
116
|
404: {
|
|
112
|
-
content: never
|
|
113
|
-
}
|
|
117
|
+
content: never
|
|
118
|
+
}
|
|
114
119
|
/** @description Server error */
|
|
115
120
|
500: {
|
|
116
|
-
content: never
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
121
|
+
content: never
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
'/v1/api-keys/{id}/rotate': {
|
|
122
127
|
/**
|
|
123
128
|
* Rotate an API key
|
|
124
129
|
* @description Rotates an API key by invalidating the old key and generating a new one. The new key is returned in the response and is only shown once.
|
|
@@ -142,32 +147,32 @@ export interface paths {
|
|
|
142
147
|
parameters: {
|
|
143
148
|
path: {
|
|
144
149
|
/** @description API key ID */
|
|
145
|
-
id: string
|
|
146
|
-
}
|
|
147
|
-
}
|
|
150
|
+
id: string
|
|
151
|
+
}
|
|
152
|
+
}
|
|
148
153
|
responses: {
|
|
149
154
|
/** @description API key rotated successfully */
|
|
150
155
|
200: {
|
|
151
156
|
content: {
|
|
152
|
-
|
|
153
|
-
}
|
|
154
|
-
}
|
|
157
|
+
'application/json': components['schemas']['CreateApiKeyResponse']
|
|
158
|
+
}
|
|
159
|
+
}
|
|
155
160
|
/** @description Unauthorized */
|
|
156
161
|
401: {
|
|
157
|
-
content: never
|
|
158
|
-
}
|
|
162
|
+
content: never
|
|
163
|
+
}
|
|
159
164
|
/** @description API key not found */
|
|
160
165
|
404: {
|
|
161
|
-
content: never
|
|
162
|
-
}
|
|
166
|
+
content: never
|
|
167
|
+
}
|
|
163
168
|
/** @description Server error */
|
|
164
169
|
500: {
|
|
165
|
-
content: never
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
170
|
+
content: never
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
'/v1/api-keys/{id}/usage': {
|
|
171
176
|
/**
|
|
172
177
|
* Get API key usage statistics
|
|
173
178
|
* @description Returns usage statistics for a specific API key including request count, daily breakdown, model-specific usage, and token consumption.
|
|
@@ -190,38 +195,38 @@ export interface paths {
|
|
|
190
195
|
parameters: {
|
|
191
196
|
query?: {
|
|
192
197
|
/** @description Start date in YYYY-MM-DD format */
|
|
193
|
-
start_date?: string
|
|
198
|
+
start_date?: string
|
|
194
199
|
/** @description End date in YYYY-MM-DD format */
|
|
195
|
-
end_date?: string
|
|
196
|
-
}
|
|
200
|
+
end_date?: string
|
|
201
|
+
}
|
|
197
202
|
path: {
|
|
198
203
|
/** @description API key ID */
|
|
199
|
-
id: string
|
|
200
|
-
}
|
|
201
|
-
}
|
|
204
|
+
id: string
|
|
205
|
+
}
|
|
206
|
+
}
|
|
202
207
|
responses: {
|
|
203
208
|
/** @description API key usage statistics */
|
|
204
209
|
200: {
|
|
205
210
|
content: {
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
}
|
|
211
|
+
'application/json': components['schemas']['ApiKeyUsageResponse']
|
|
212
|
+
}
|
|
213
|
+
}
|
|
209
214
|
/** @description Unauthorized */
|
|
210
215
|
401: {
|
|
211
|
-
content: never
|
|
212
|
-
}
|
|
216
|
+
content: never
|
|
217
|
+
}
|
|
213
218
|
/** @description API key not found */
|
|
214
219
|
404: {
|
|
215
|
-
content: never
|
|
216
|
-
}
|
|
220
|
+
content: never
|
|
221
|
+
}
|
|
217
222
|
/** @description Server error */
|
|
218
223
|
500: {
|
|
219
|
-
content: never
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
224
|
+
content: never
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
'/v1/apps/templates': {
|
|
225
230
|
/**
|
|
226
231
|
* List app templates
|
|
227
232
|
* @description Retrieves a list of all available application templates that can be installed in your cluster
|
|
@@ -231,21 +236,21 @@ export interface paths {
|
|
|
231
236
|
/** @description List of app templates */
|
|
232
237
|
200: {
|
|
233
238
|
content: {
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
}
|
|
239
|
+
'application/json': components['schemas']['AppTemplateList']
|
|
240
|
+
}
|
|
241
|
+
}
|
|
237
242
|
/** @description Unauthorized */
|
|
238
243
|
401: {
|
|
239
|
-
content: never
|
|
240
|
-
}
|
|
244
|
+
content: never
|
|
245
|
+
}
|
|
241
246
|
/** @description Server error */
|
|
242
247
|
500: {
|
|
243
|
-
content: never
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
|
|
248
|
+
content: never
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
'/v1/apps/templates/{appId}': {
|
|
249
254
|
/**
|
|
250
255
|
* Get app template details
|
|
251
256
|
* @description Retrieves detailed information about a specific app template
|
|
@@ -254,32 +259,32 @@ export interface paths {
|
|
|
254
259
|
parameters: {
|
|
255
260
|
path: {
|
|
256
261
|
/** @description App template ID */
|
|
257
|
-
appId: string
|
|
258
|
-
}
|
|
259
|
-
}
|
|
262
|
+
appId: string
|
|
263
|
+
}
|
|
264
|
+
}
|
|
260
265
|
responses: {
|
|
261
266
|
/** @description App template details */
|
|
262
267
|
200: {
|
|
263
268
|
content: {
|
|
264
|
-
|
|
265
|
-
}
|
|
266
|
-
}
|
|
269
|
+
'application/json': components['schemas']['AppTemplate']
|
|
270
|
+
}
|
|
271
|
+
}
|
|
267
272
|
/** @description Unauthorized */
|
|
268
273
|
401: {
|
|
269
|
-
content: never
|
|
270
|
-
}
|
|
274
|
+
content: never
|
|
275
|
+
}
|
|
271
276
|
/** @description App template not found */
|
|
272
277
|
404: {
|
|
273
|
-
content: never
|
|
274
|
-
}
|
|
278
|
+
content: never
|
|
279
|
+
}
|
|
275
280
|
/** @description Server error */
|
|
276
281
|
500: {
|
|
277
|
-
content: never
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
282
|
+
content: never
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
'/v1/apps/installations': {
|
|
283
288
|
/**
|
|
284
289
|
* List app installations
|
|
285
290
|
* @description Retrieves a list of all installed applications in your clusters
|
|
@@ -289,19 +294,19 @@ export interface paths {
|
|
|
289
294
|
/** @description List of app installations */
|
|
290
295
|
200: {
|
|
291
296
|
content: {
|
|
292
|
-
|
|
293
|
-
}
|
|
294
|
-
}
|
|
297
|
+
'application/json': components['schemas']['AppInstallationList']
|
|
298
|
+
}
|
|
299
|
+
}
|
|
295
300
|
/** @description Unauthorized */
|
|
296
301
|
401: {
|
|
297
|
-
content: never
|
|
298
|
-
}
|
|
302
|
+
content: never
|
|
303
|
+
}
|
|
299
304
|
/** @description Server error */
|
|
300
305
|
500: {
|
|
301
|
-
content: never
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
306
|
+
content: never
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
305
310
|
/**
|
|
306
311
|
* Install an app
|
|
307
312
|
* @description Installs an application from a template into your cluster
|
|
@@ -309,36 +314,36 @@ export interface paths {
|
|
|
309
314
|
post: {
|
|
310
315
|
requestBody: {
|
|
311
316
|
content: {
|
|
312
|
-
|
|
313
|
-
}
|
|
314
|
-
}
|
|
317
|
+
'application/json': components['schemas']['AppInstallRequest']
|
|
318
|
+
}
|
|
319
|
+
}
|
|
315
320
|
responses: {
|
|
316
321
|
/** @description App installation initiated */
|
|
317
322
|
201: {
|
|
318
323
|
content: {
|
|
319
|
-
|
|
320
|
-
}
|
|
321
|
-
}
|
|
324
|
+
'application/json': components['schemas']['AppInstallation']
|
|
325
|
+
}
|
|
326
|
+
}
|
|
322
327
|
/** @description Invalid request */
|
|
323
328
|
400: {
|
|
324
|
-
content: never
|
|
325
|
-
}
|
|
329
|
+
content: never
|
|
330
|
+
}
|
|
326
331
|
/** @description Unauthorized */
|
|
327
332
|
401: {
|
|
328
|
-
content: never
|
|
329
|
-
}
|
|
333
|
+
content: never
|
|
334
|
+
}
|
|
330
335
|
/** @description App template not found */
|
|
331
336
|
404: {
|
|
332
|
-
content: never
|
|
333
|
-
}
|
|
337
|
+
content: never
|
|
338
|
+
}
|
|
334
339
|
/** @description Server error */
|
|
335
340
|
500: {
|
|
336
|
-
content: never
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
|
|
341
|
+
content: never
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
'/v1/apps/installations/{installationId}': {
|
|
342
347
|
/**
|
|
343
348
|
* Get installation details
|
|
344
349
|
* @description Retrieves detailed information about a specific app installation
|
|
@@ -347,30 +352,30 @@ export interface paths {
|
|
|
347
352
|
parameters: {
|
|
348
353
|
path: {
|
|
349
354
|
/** @description Installation ID */
|
|
350
|
-
installationId: string
|
|
351
|
-
}
|
|
352
|
-
}
|
|
355
|
+
installationId: string
|
|
356
|
+
}
|
|
357
|
+
}
|
|
353
358
|
responses: {
|
|
354
359
|
/** @description Installation details */
|
|
355
360
|
200: {
|
|
356
361
|
content: {
|
|
357
|
-
|
|
358
|
-
}
|
|
359
|
-
}
|
|
362
|
+
'application/json': components['schemas']['AppInstallation']
|
|
363
|
+
}
|
|
364
|
+
}
|
|
360
365
|
/** @description Unauthorized */
|
|
361
366
|
401: {
|
|
362
|
-
content: never
|
|
363
|
-
}
|
|
367
|
+
content: never
|
|
368
|
+
}
|
|
364
369
|
/** @description Installation not found */
|
|
365
370
|
404: {
|
|
366
|
-
content: never
|
|
367
|
-
}
|
|
371
|
+
content: never
|
|
372
|
+
}
|
|
368
373
|
/** @description Server error */
|
|
369
374
|
500: {
|
|
370
|
-
content: never
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
}
|
|
375
|
+
content: never
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
374
379
|
/**
|
|
375
380
|
* Uninstall an app
|
|
376
381
|
* @description Removes an installed application from your cluster
|
|
@@ -379,30 +384,30 @@ export interface paths {
|
|
|
379
384
|
parameters: {
|
|
380
385
|
path: {
|
|
381
386
|
/** @description Installation ID */
|
|
382
|
-
installationId: string
|
|
383
|
-
}
|
|
384
|
-
}
|
|
387
|
+
installationId: string
|
|
388
|
+
}
|
|
389
|
+
}
|
|
385
390
|
responses: {
|
|
386
391
|
/** @description App uninstallation initiated */
|
|
387
392
|
204: {
|
|
388
|
-
content: never
|
|
389
|
-
}
|
|
393
|
+
content: never
|
|
394
|
+
}
|
|
390
395
|
/** @description Unauthorized */
|
|
391
396
|
401: {
|
|
392
|
-
content: never
|
|
393
|
-
}
|
|
397
|
+
content: never
|
|
398
|
+
}
|
|
394
399
|
/** @description Installation not found */
|
|
395
400
|
404: {
|
|
396
|
-
content: never
|
|
397
|
-
}
|
|
401
|
+
content: never
|
|
402
|
+
}
|
|
398
403
|
/** @description Server error */
|
|
399
404
|
500: {
|
|
400
|
-
content: never
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
|
|
405
|
+
content: never
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
'/v1/auth/login': {
|
|
406
411
|
/**
|
|
407
412
|
* OAuth login
|
|
408
413
|
* @description Initiates OAuth login flow via Keycloak.
|
|
@@ -423,20 +428,20 @@ export interface paths {
|
|
|
423
428
|
parameters: {
|
|
424
429
|
query?: {
|
|
425
430
|
/** @description URL to redirect to after successful login */
|
|
426
|
-
redirect_uri?: string
|
|
431
|
+
redirect_uri?: string
|
|
427
432
|
/** @description How to return the token after successful login (default is redirect) */
|
|
428
|
-
response_type?:
|
|
429
|
-
}
|
|
430
|
-
}
|
|
433
|
+
response_type?: 'redirect' | 'json'
|
|
434
|
+
}
|
|
435
|
+
}
|
|
431
436
|
responses: {
|
|
432
437
|
/** @description Redirects to Keycloak for login */
|
|
433
438
|
302: {
|
|
434
|
-
content: never
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
|
|
439
|
+
content: never
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
'/v1/auth/callback': {
|
|
440
445
|
/**
|
|
441
446
|
* OAuth callback
|
|
442
447
|
* @description Handles Keycloak login callback and exchanges token
|
|
@@ -444,19 +449,19 @@ export interface paths {
|
|
|
444
449
|
get: {
|
|
445
450
|
parameters: {
|
|
446
451
|
query: {
|
|
447
|
-
code: string
|
|
448
|
-
state: string
|
|
449
|
-
}
|
|
450
|
-
}
|
|
452
|
+
code: string
|
|
453
|
+
state: string
|
|
454
|
+
}
|
|
455
|
+
}
|
|
451
456
|
responses: {
|
|
452
457
|
/** @description Redirects to frontend */
|
|
453
458
|
302: {
|
|
454
|
-
content: never
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
|
|
459
|
+
content: never
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
'/v1/auth/device': {
|
|
460
465
|
/**
|
|
461
466
|
* Initiate device authorization flow
|
|
462
467
|
* @description Initiates the device authorization flow, returning a device code and user verification URL.
|
|
@@ -475,13 +480,13 @@ export interface paths {
|
|
|
475
480
|
/** @description Device authorization initiated */
|
|
476
481
|
200: {
|
|
477
482
|
content: {
|
|
478
|
-
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
|
|
483
|
+
'application/json': components['schemas']['DeviceAuthInitResponse']
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
'/v1/auth/device/token': {
|
|
485
490
|
/**
|
|
486
491
|
* Poll for device token
|
|
487
492
|
* @description Polls for the status of a device authorization flow. The client should poll this endpoint
|
|
@@ -505,32 +510,34 @@ export interface paths {
|
|
|
505
510
|
post: {
|
|
506
511
|
requestBody: {
|
|
507
512
|
content: {
|
|
508
|
-
|
|
509
|
-
}
|
|
510
|
-
}
|
|
513
|
+
'application/json': components['schemas']['DeviceAuthRequest']
|
|
514
|
+
}
|
|
515
|
+
}
|
|
511
516
|
responses: {
|
|
512
517
|
/** @description Token returned or pending status */
|
|
513
518
|
200: {
|
|
514
519
|
content: {
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
520
|
+
'application/json':
|
|
521
|
+
| components['schemas']['DeviceAuthPendingResponse']
|
|
522
|
+
| components['schemas']['DeviceAuthTokenResponse']
|
|
523
|
+
}
|
|
524
|
+
}
|
|
518
525
|
/** @description Invalid device code or expired token */
|
|
519
526
|
400: {
|
|
520
|
-
content: never
|
|
521
|
-
}
|
|
527
|
+
content: never
|
|
528
|
+
}
|
|
522
529
|
/** @description Polling too frequently */
|
|
523
530
|
429: {
|
|
524
|
-
content: never
|
|
525
|
-
}
|
|
531
|
+
content: never
|
|
532
|
+
}
|
|
526
533
|
/** @description Server error during authentication */
|
|
527
534
|
500: {
|
|
528
|
-
content: never
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
}
|
|
533
|
-
|
|
535
|
+
content: never
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
'/v1/auth/refresh': {
|
|
534
541
|
/**
|
|
535
542
|
* Refresh access token
|
|
536
543
|
* @description Refreshes an access token using a refresh token. This endpoint can be used to obtain a new
|
|
@@ -547,39 +554,39 @@ export interface paths {
|
|
|
547
554
|
post: {
|
|
548
555
|
requestBody: {
|
|
549
556
|
content: {
|
|
550
|
-
|
|
551
|
-
}
|
|
552
|
-
}
|
|
557
|
+
'application/json': components['schemas']['RefreshTokenRequest']
|
|
558
|
+
}
|
|
559
|
+
}
|
|
553
560
|
responses: {
|
|
554
561
|
/** @description New access and refresh tokens */
|
|
555
562
|
200: {
|
|
556
563
|
content: {
|
|
557
|
-
|
|
558
|
-
}
|
|
559
|
-
}
|
|
564
|
+
'application/json': components['schemas']['RefreshTokenResponse']
|
|
565
|
+
}
|
|
566
|
+
}
|
|
560
567
|
/** @description Invalid or expired refresh token */
|
|
561
568
|
401: {
|
|
562
|
-
content: never
|
|
563
|
-
}
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
|
|
569
|
+
content: never
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
'/v1/auth/register-url': {
|
|
568
575
|
/** Get Keycloak registration URL */
|
|
569
576
|
get: {
|
|
570
577
|
responses: {
|
|
571
578
|
/** @description Registration URL returned */
|
|
572
579
|
200: {
|
|
573
580
|
content: {
|
|
574
|
-
|
|
575
|
-
url?: string
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
}
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
|
|
581
|
+
'application/json': {
|
|
582
|
+
url?: string
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
'/v1/auth/logout': {
|
|
583
590
|
/**
|
|
584
591
|
* Logout
|
|
585
592
|
* @description Clears cookies and redirects to Keycloak logout
|
|
@@ -587,18 +594,18 @@ export interface paths {
|
|
|
587
594
|
get: {
|
|
588
595
|
parameters: {
|
|
589
596
|
query?: {
|
|
590
|
-
redirect_uri?: string
|
|
591
|
-
}
|
|
592
|
-
}
|
|
597
|
+
redirect_uri?: string
|
|
598
|
+
}
|
|
599
|
+
}
|
|
593
600
|
responses: {
|
|
594
601
|
/** @description Redirects to logout page */
|
|
595
602
|
302: {
|
|
596
|
-
content: never
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
|
|
603
|
+
content: never
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
'/v1/billing/usage': {
|
|
602
609
|
/**
|
|
603
610
|
* Get current usage
|
|
604
611
|
* @description Retrieves current billing period usage metrics and costs. Shows detailed breakdown of API calls, compute resources, and other billable items. This helps you understand your current billing status.
|
|
@@ -608,13 +615,13 @@ export interface paths {
|
|
|
608
615
|
/** @description Current usage metrics */
|
|
609
616
|
200: {
|
|
610
617
|
content: {
|
|
611
|
-
|
|
612
|
-
}
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
+
'application/json': components['schemas']['Usage']
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
'/v1/billing/invoices': {
|
|
618
625
|
/**
|
|
619
626
|
* List invoices
|
|
620
627
|
* @description Retrieves all invoices for the authenticated user
|
|
@@ -624,15 +631,15 @@ export interface paths {
|
|
|
624
631
|
/** @description List of invoices */
|
|
625
632
|
200: {
|
|
626
633
|
content: {
|
|
627
|
-
|
|
628
|
-
invoices?: components[
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
}
|
|
635
|
-
|
|
634
|
+
'application/json': {
|
|
635
|
+
invoices?: components['schemas']['Invoice'][]
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
'/v1/billing/invoices/{id}': {
|
|
636
643
|
/**
|
|
637
644
|
* Get invoice details
|
|
638
645
|
* @description Retrieves details for a specific invoice
|
|
@@ -640,20 +647,20 @@ export interface paths {
|
|
|
640
647
|
get: {
|
|
641
648
|
parameters: {
|
|
642
649
|
path: {
|
|
643
|
-
id: string
|
|
644
|
-
}
|
|
645
|
-
}
|
|
650
|
+
id: string
|
|
651
|
+
}
|
|
652
|
+
}
|
|
646
653
|
responses: {
|
|
647
654
|
/** @description Invoice details */
|
|
648
655
|
200: {
|
|
649
656
|
content: {
|
|
650
|
-
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
}
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
+
'application/json': components['schemas']['Invoice']
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
'/v1/billing/payment-methods': {
|
|
657
664
|
/**
|
|
658
665
|
* List payment methods
|
|
659
666
|
* @description Retrieves all payment methods for the authenticated user
|
|
@@ -663,13 +670,13 @@ export interface paths {
|
|
|
663
670
|
/** @description List of payment methods */
|
|
664
671
|
200: {
|
|
665
672
|
content: {
|
|
666
|
-
|
|
667
|
-
paymentMethods?: components[
|
|
668
|
-
}
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
+
'application/json': {
|
|
674
|
+
paymentMethods?: components['schemas']['PaymentMethod'][]
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
673
680
|
/**
|
|
674
681
|
* Add payment method
|
|
675
682
|
* @description Adds a new payment method for the authenticated user
|
|
@@ -677,20 +684,20 @@ export interface paths {
|
|
|
677
684
|
post: {
|
|
678
685
|
requestBody: {
|
|
679
686
|
content: {
|
|
680
|
-
|
|
681
|
-
}
|
|
682
|
-
}
|
|
687
|
+
'application/json': components['schemas']['CreatePaymentMethod']
|
|
688
|
+
}
|
|
689
|
+
}
|
|
683
690
|
responses: {
|
|
684
691
|
/** @description Payment method added */
|
|
685
692
|
201: {
|
|
686
693
|
content: {
|
|
687
|
-
|
|
688
|
-
}
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
}
|
|
692
|
-
}
|
|
693
|
-
|
|
694
|
+
'application/json': components['schemas']['PaymentMethod']
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
'/v1/billing/payment-methods/{id}': {
|
|
694
701
|
/**
|
|
695
702
|
* Remove payment method
|
|
696
703
|
* @description Removes a payment method for the authenticated user
|
|
@@ -698,18 +705,18 @@ export interface paths {
|
|
|
698
705
|
delete: {
|
|
699
706
|
parameters: {
|
|
700
707
|
path: {
|
|
701
|
-
id: string
|
|
702
|
-
}
|
|
703
|
-
}
|
|
708
|
+
id: string
|
|
709
|
+
}
|
|
710
|
+
}
|
|
704
711
|
responses: {
|
|
705
712
|
/** @description Payment method removed */
|
|
706
713
|
204: {
|
|
707
|
-
content: never
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
}
|
|
711
|
-
}
|
|
712
|
-
|
|
714
|
+
content: never
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
'/v1/billing/subscription': {
|
|
713
720
|
/**
|
|
714
721
|
* Update subscription
|
|
715
722
|
* @description Updates the subscription plan for the authenticated user
|
|
@@ -717,18 +724,18 @@ export interface paths {
|
|
|
717
724
|
put: {
|
|
718
725
|
requestBody: {
|
|
719
726
|
content: {
|
|
720
|
-
|
|
721
|
-
}
|
|
722
|
-
}
|
|
727
|
+
'application/json': components['schemas']['UpdateSubscription']
|
|
728
|
+
}
|
|
729
|
+
}
|
|
723
730
|
responses: {
|
|
724
731
|
/** @description Subscription updated */
|
|
725
732
|
200: {
|
|
726
|
-
content: never
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
}
|
|
731
|
-
|
|
733
|
+
content: never
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
'/v1/chat/completions': {
|
|
732
739
|
/**
|
|
733
740
|
* Create a chat completion
|
|
734
741
|
* @description Creates a model response for the given chat conversation.
|
|
@@ -773,28 +780,28 @@ export interface paths {
|
|
|
773
780
|
post: {
|
|
774
781
|
requestBody: {
|
|
775
782
|
content: {
|
|
776
|
-
|
|
777
|
-
}
|
|
778
|
-
}
|
|
783
|
+
'application/json': components['schemas']['ChatCompletionRequest']
|
|
784
|
+
}
|
|
785
|
+
}
|
|
779
786
|
responses: {
|
|
780
787
|
/** @description Successful completion */
|
|
781
788
|
200: {
|
|
782
789
|
content: {
|
|
783
|
-
|
|
784
|
-
}
|
|
785
|
-
}
|
|
790
|
+
'application/json': components['schemas']['ChatCompletionResponse']
|
|
791
|
+
}
|
|
792
|
+
}
|
|
786
793
|
/** @description Invalid request */
|
|
787
794
|
400: {
|
|
788
|
-
content: never
|
|
789
|
-
}
|
|
795
|
+
content: never
|
|
796
|
+
}
|
|
790
797
|
/** @description Unauthorized */
|
|
791
798
|
401: {
|
|
792
|
-
content: never
|
|
793
|
-
}
|
|
794
|
-
}
|
|
795
|
-
}
|
|
796
|
-
}
|
|
797
|
-
|
|
799
|
+
content: never
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
'/v1/clusters': {
|
|
798
805
|
/**
|
|
799
806
|
* List all clusters
|
|
800
807
|
* @description Retrieves a list of all Kubernetes clusters in the customer's namespace
|
|
@@ -804,21 +811,21 @@ export interface paths {
|
|
|
804
811
|
/** @description List of clusters */
|
|
805
812
|
200: {
|
|
806
813
|
content: {
|
|
807
|
-
|
|
808
|
-
}
|
|
809
|
-
}
|
|
814
|
+
'application/json': components['schemas']['ClusterList']
|
|
815
|
+
}
|
|
816
|
+
}
|
|
810
817
|
/** @description Unauthorized */
|
|
811
818
|
401: {
|
|
812
|
-
content: never
|
|
813
|
-
}
|
|
819
|
+
content: never
|
|
820
|
+
}
|
|
814
821
|
/** @description Server error */
|
|
815
822
|
500: {
|
|
816
|
-
content: never
|
|
817
|
-
}
|
|
818
|
-
}
|
|
819
|
-
}
|
|
820
|
-
}
|
|
821
|
-
|
|
823
|
+
content: never
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
'/v1/clusters/usage': {
|
|
822
829
|
/**
|
|
823
830
|
* Get cluster usage
|
|
824
831
|
* @description Retrieves resource usage and cost data across all Kubernetes clusters for the current billing period
|
|
@@ -828,21 +835,21 @@ export interface paths {
|
|
|
828
835
|
/** @description Cluster usage data */
|
|
829
836
|
200: {
|
|
830
837
|
content: {
|
|
831
|
-
|
|
832
|
-
}
|
|
833
|
-
}
|
|
838
|
+
'application/json': components['schemas']['ClustersUsageResponse']
|
|
839
|
+
}
|
|
840
|
+
}
|
|
834
841
|
/** @description Unauthorized */
|
|
835
842
|
401: {
|
|
836
|
-
content: never
|
|
837
|
-
}
|
|
843
|
+
content: never
|
|
844
|
+
}
|
|
838
845
|
/** @description Server error */
|
|
839
846
|
500: {
|
|
840
|
-
content: never
|
|
841
|
-
}
|
|
842
|
-
}
|
|
843
|
-
}
|
|
844
|
-
}
|
|
845
|
-
|
|
847
|
+
content: never
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
'/v1/clusters/{clusterId}/usage': {
|
|
846
853
|
/**
|
|
847
854
|
* Get detailed usage for a specific cluster
|
|
848
855
|
* @description Retrieves detailed resource usage and cost data for a specific Kubernetes cluster
|
|
@@ -851,32 +858,32 @@ export interface paths {
|
|
|
851
858
|
parameters: {
|
|
852
859
|
path: {
|
|
853
860
|
/** @description The cluster identifier */
|
|
854
|
-
clusterId: string
|
|
855
|
-
}
|
|
856
|
-
}
|
|
861
|
+
clusterId: string
|
|
862
|
+
}
|
|
863
|
+
}
|
|
857
864
|
responses: {
|
|
858
865
|
/** @description Detailed cluster usage data */
|
|
859
866
|
200: {
|
|
860
867
|
content: {
|
|
861
|
-
|
|
862
|
-
}
|
|
863
|
-
}
|
|
868
|
+
'application/json': components['schemas']['ClusterDetailedUsage']
|
|
869
|
+
}
|
|
870
|
+
}
|
|
864
871
|
/** @description Unauthorized */
|
|
865
872
|
401: {
|
|
866
|
-
content: never
|
|
867
|
-
}
|
|
873
|
+
content: never
|
|
874
|
+
}
|
|
868
875
|
/** @description Cluster not found */
|
|
869
876
|
404: {
|
|
870
|
-
content: never
|
|
871
|
-
}
|
|
877
|
+
content: never
|
|
878
|
+
}
|
|
872
879
|
/** @description Server error */
|
|
873
880
|
500: {
|
|
874
|
-
content: never
|
|
875
|
-
}
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
}
|
|
879
|
-
|
|
881
|
+
content: never
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
'/v1/models': {
|
|
880
887
|
/**
|
|
881
888
|
* List available models
|
|
882
889
|
* @description Retrieves a list of all available AI models with their specifications, capabilities, and pricing information. Use this endpoint to discover which models are available for your chat completion API calls.
|
|
@@ -886,17 +893,17 @@ export interface paths {
|
|
|
886
893
|
/** @description List of available models */
|
|
887
894
|
200: {
|
|
888
895
|
content: {
|
|
889
|
-
|
|
890
|
-
}
|
|
891
|
-
}
|
|
896
|
+
'application/json': components['schemas']['ModelList']
|
|
897
|
+
}
|
|
898
|
+
}
|
|
892
899
|
/** @description Server error */
|
|
893
900
|
500: {
|
|
894
|
-
content: never
|
|
895
|
-
}
|
|
896
|
-
}
|
|
897
|
-
}
|
|
898
|
-
}
|
|
899
|
-
|
|
901
|
+
content: never
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
'/v1/models/{modelId}': {
|
|
900
907
|
/**
|
|
901
908
|
* Retrieve model information
|
|
902
909
|
* @description Get detailed information about a specific model
|
|
@@ -904,28 +911,28 @@ export interface paths {
|
|
|
904
911
|
get: {
|
|
905
912
|
parameters: {
|
|
906
913
|
path: {
|
|
907
|
-
modelId: string
|
|
908
|
-
}
|
|
909
|
-
}
|
|
914
|
+
modelId: string
|
|
915
|
+
}
|
|
916
|
+
}
|
|
910
917
|
responses: {
|
|
911
918
|
/** @description Model details */
|
|
912
919
|
200: {
|
|
913
920
|
content: {
|
|
914
|
-
|
|
915
|
-
}
|
|
916
|
-
}
|
|
921
|
+
'application/json': components['schemas']['Model']
|
|
922
|
+
}
|
|
923
|
+
}
|
|
917
924
|
/** @description Model not found */
|
|
918
925
|
404: {
|
|
919
|
-
content: never
|
|
920
|
-
}
|
|
926
|
+
content: never
|
|
927
|
+
}
|
|
921
928
|
/** @description Server error */
|
|
922
929
|
500: {
|
|
923
|
-
content: never
|
|
924
|
-
}
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
}
|
|
928
|
-
|
|
930
|
+
content: never
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
'/v1/usage/tokens': {
|
|
929
936
|
/**
|
|
930
937
|
* Get token usage
|
|
931
938
|
* @description Retrieves token usage data across all models for the current billing period. This helps you track your API usage and associated costs.
|
|
@@ -935,21 +942,21 @@ export interface paths {
|
|
|
935
942
|
/** @description Token usage data */
|
|
936
943
|
200: {
|
|
937
944
|
content: {
|
|
938
|
-
|
|
939
|
-
}
|
|
940
|
-
}
|
|
945
|
+
'application/json': components['schemas']['TokenUsageResponse']
|
|
946
|
+
}
|
|
947
|
+
}
|
|
941
948
|
/** @description Unauthorized */
|
|
942
949
|
401: {
|
|
943
|
-
content: never
|
|
944
|
-
}
|
|
950
|
+
content: never
|
|
951
|
+
}
|
|
945
952
|
/** @description Server error */
|
|
946
953
|
500: {
|
|
947
|
-
content: never
|
|
948
|
-
}
|
|
949
|
-
}
|
|
950
|
-
}
|
|
951
|
-
}
|
|
952
|
-
|
|
954
|
+
content: never
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
'/v1/usage/tokens/{modelId}': {
|
|
953
960
|
/**
|
|
954
961
|
* Get token usage for a specific model
|
|
955
962
|
* @description Retrieves token usage data for a specific model in the current billing period
|
|
@@ -958,32 +965,32 @@ export interface paths {
|
|
|
958
965
|
parameters: {
|
|
959
966
|
path: {
|
|
960
967
|
/** @description The model identifier */
|
|
961
|
-
modelId: string
|
|
962
|
-
}
|
|
963
|
-
}
|
|
968
|
+
modelId: string
|
|
969
|
+
}
|
|
970
|
+
}
|
|
964
971
|
responses: {
|
|
965
972
|
/** @description Model token usage data */
|
|
966
973
|
200: {
|
|
967
974
|
content: {
|
|
968
|
-
|
|
969
|
-
}
|
|
970
|
-
}
|
|
975
|
+
'application/json': components['schemas']['ModelTokenUsageResponse']
|
|
976
|
+
}
|
|
977
|
+
}
|
|
971
978
|
/** @description Unauthorized */
|
|
972
979
|
401: {
|
|
973
|
-
content: never
|
|
974
|
-
}
|
|
980
|
+
content: never
|
|
981
|
+
}
|
|
975
982
|
/** @description Model not found */
|
|
976
983
|
404: {
|
|
977
|
-
content: never
|
|
978
|
-
}
|
|
984
|
+
content: never
|
|
985
|
+
}
|
|
979
986
|
/** @description Server error */
|
|
980
987
|
500: {
|
|
981
|
-
content: never
|
|
982
|
-
}
|
|
983
|
-
}
|
|
984
|
-
}
|
|
985
|
-
}
|
|
986
|
-
|
|
988
|
+
content: never
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
}
|
|
993
|
+
'/v1/users': {
|
|
987
994
|
/**
|
|
988
995
|
* List team members
|
|
989
996
|
* @description Retrieves a list of all users in your organization
|
|
@@ -993,25 +1000,25 @@ export interface paths {
|
|
|
993
1000
|
/** @description List of team members */
|
|
994
1001
|
200: {
|
|
995
1002
|
content: {
|
|
996
|
-
|
|
997
|
-
}
|
|
998
|
-
}
|
|
1003
|
+
'application/json': components['schemas']['UserProfile'][]
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
999
1006
|
/** @description Unauthorized */
|
|
1000
1007
|
401: {
|
|
1001
1008
|
content: {
|
|
1002
|
-
|
|
1003
|
-
}
|
|
1004
|
-
}
|
|
1009
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1005
1012
|
/** @description Server error */
|
|
1006
1013
|
500: {
|
|
1007
1014
|
content: {
|
|
1008
|
-
|
|
1009
|
-
}
|
|
1010
|
-
}
|
|
1011
|
-
}
|
|
1012
|
-
}
|
|
1013
|
-
}
|
|
1014
|
-
|
|
1015
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
'/v1/users/me': {
|
|
1015
1022
|
/**
|
|
1016
1023
|
* Get current user profile
|
|
1017
1024
|
* @description Retrieves the profile of the currently authenticated user
|
|
@@ -1021,19 +1028,19 @@ export interface paths {
|
|
|
1021
1028
|
/** @description User profile */
|
|
1022
1029
|
200: {
|
|
1023
1030
|
content: {
|
|
1024
|
-
|
|
1025
|
-
}
|
|
1026
|
-
}
|
|
1031
|
+
'application/json': components['schemas']['UserProfile']
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1027
1034
|
/** @description Unauthorized */
|
|
1028
1035
|
401: {
|
|
1029
1036
|
content: {
|
|
1030
|
-
|
|
1031
|
-
}
|
|
1032
|
-
}
|
|
1033
|
-
}
|
|
1034
|
-
}
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
'/v1/users/{id}': {
|
|
1037
1044
|
/**
|
|
1038
1045
|
* Get user details
|
|
1039
1046
|
* @description Retrieves details for a specific user
|
|
@@ -1041,30 +1048,30 @@ export interface paths {
|
|
|
1041
1048
|
get: {
|
|
1042
1049
|
parameters: {
|
|
1043
1050
|
path: {
|
|
1044
|
-
id: string
|
|
1045
|
-
}
|
|
1046
|
-
}
|
|
1051
|
+
id: string
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1047
1054
|
responses: {
|
|
1048
1055
|
/** @description User details */
|
|
1049
1056
|
200: {
|
|
1050
1057
|
content: {
|
|
1051
|
-
|
|
1052
|
-
}
|
|
1053
|
-
}
|
|
1058
|
+
'application/json': components['schemas']['UserProfile']
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1054
1061
|
/** @description Unauthorized */
|
|
1055
1062
|
401: {
|
|
1056
1063
|
content: {
|
|
1057
|
-
|
|
1058
|
-
}
|
|
1059
|
-
}
|
|
1064
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1060
1067
|
/** @description User not found */
|
|
1061
1068
|
404: {
|
|
1062
1069
|
content: {
|
|
1063
|
-
|
|
1064
|
-
}
|
|
1065
|
-
}
|
|
1066
|
-
}
|
|
1067
|
-
}
|
|
1070
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1068
1075
|
/**
|
|
1069
1076
|
* Update user
|
|
1070
1077
|
* @description Updates an existing user
|
|
@@ -1072,41 +1079,41 @@ export interface paths {
|
|
|
1072
1079
|
put: {
|
|
1073
1080
|
parameters: {
|
|
1074
1081
|
path: {
|
|
1075
|
-
id: string
|
|
1076
|
-
}
|
|
1077
|
-
}
|
|
1082
|
+
id: string
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1078
1085
|
requestBody: {
|
|
1079
1086
|
content: {
|
|
1080
|
-
|
|
1081
|
-
}
|
|
1082
|
-
}
|
|
1087
|
+
'application/json': components['schemas']['UpdateUser']
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1083
1090
|
responses: {
|
|
1084
1091
|
/** @description User updated */
|
|
1085
1092
|
200: {
|
|
1086
1093
|
content: {
|
|
1087
|
-
|
|
1088
|
-
}
|
|
1089
|
-
}
|
|
1094
|
+
'application/json': components['schemas']['UserProfile']
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1090
1097
|
/** @description Invalid request */
|
|
1091
1098
|
400: {
|
|
1092
1099
|
content: {
|
|
1093
|
-
|
|
1094
|
-
}
|
|
1095
|
-
}
|
|
1100
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1096
1103
|
/** @description Unauthorized */
|
|
1097
1104
|
401: {
|
|
1098
1105
|
content: {
|
|
1099
|
-
|
|
1100
|
-
}
|
|
1101
|
-
}
|
|
1106
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1102
1109
|
/** @description Forbidden */
|
|
1103
1110
|
403: {
|
|
1104
1111
|
content: {
|
|
1105
|
-
|
|
1106
|
-
}
|
|
1107
|
-
}
|
|
1108
|
-
}
|
|
1109
|
-
}
|
|
1112
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1110
1117
|
/**
|
|
1111
1118
|
* Delete user
|
|
1112
1119
|
* @description Deletes your own user account
|
|
@@ -1114,30 +1121,30 @@ export interface paths {
|
|
|
1114
1121
|
delete: {
|
|
1115
1122
|
parameters: {
|
|
1116
1123
|
path: {
|
|
1117
|
-
id: string
|
|
1118
|
-
}
|
|
1119
|
-
}
|
|
1124
|
+
id: string
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1120
1127
|
responses: {
|
|
1121
1128
|
/** @description User deleted */
|
|
1122
1129
|
204: {
|
|
1123
|
-
content: never
|
|
1124
|
-
}
|
|
1130
|
+
content: never
|
|
1131
|
+
}
|
|
1125
1132
|
/** @description Unauthorized */
|
|
1126
1133
|
401: {
|
|
1127
1134
|
content: {
|
|
1128
|
-
|
|
1129
|
-
}
|
|
1130
|
-
}
|
|
1135
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1131
1138
|
/** @description Cannot delete other users */
|
|
1132
1139
|
403: {
|
|
1133
1140
|
content: {
|
|
1134
|
-
|
|
1135
|
-
}
|
|
1136
|
-
}
|
|
1137
|
-
}
|
|
1138
|
-
}
|
|
1139
|
-
}
|
|
1140
|
-
|
|
1141
|
+
'application/json': components['schemas']['ErrorResponse']
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
'/v1/users/invite': {
|
|
1141
1148
|
/**
|
|
1142
1149
|
* Invite team member
|
|
1143
1150
|
* @description Invites a new team member to join your organization. They will receive an email with instructions to set up their account.
|
|
@@ -1145,953 +1152,968 @@ export interface paths {
|
|
|
1145
1152
|
post: {
|
|
1146
1153
|
requestBody: {
|
|
1147
1154
|
content: {
|
|
1148
|
-
|
|
1149
|
-
}
|
|
1150
|
-
}
|
|
1155
|
+
'application/json': components['schemas']['InviteUser']
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1151
1158
|
responses: {
|
|
1152
1159
|
/** @description Invitation sent successfully */
|
|
1153
1160
|
200: {
|
|
1154
|
-
content: never
|
|
1155
|
-
}
|
|
1161
|
+
content: never
|
|
1162
|
+
}
|
|
1156
1163
|
/** @description Unauthorized */
|
|
1157
1164
|
401: {
|
|
1158
|
-
content: never
|
|
1159
|
-
}
|
|
1165
|
+
content: never
|
|
1166
|
+
}
|
|
1160
1167
|
/** @description Forbidden - insufficient permissions */
|
|
1161
1168
|
403: {
|
|
1162
|
-
content: never
|
|
1163
|
-
}
|
|
1164
|
-
}
|
|
1165
|
-
}
|
|
1166
|
-
}
|
|
1169
|
+
content: never
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
}
|
|
1167
1174
|
}
|
|
1168
1175
|
|
|
1169
|
-
export type webhooks = Record<string, never
|
|
1176
|
+
export type webhooks = Record<string, never>
|
|
1170
1177
|
|
|
1171
1178
|
export interface components {
|
|
1172
1179
|
schemas: {
|
|
1173
1180
|
ApiKey: {
|
|
1174
1181
|
/** @description Unique identifier for the API key */
|
|
1175
|
-
id: number
|
|
1182
|
+
id: number
|
|
1176
1183
|
/** @description Name of the API key */
|
|
1177
|
-
name: string
|
|
1184
|
+
name: string
|
|
1178
1185
|
/** @description Description of the API key */
|
|
1179
|
-
description: string | null
|
|
1186
|
+
description: string | null
|
|
1180
1187
|
/** @description Whether the API key is active */
|
|
1181
|
-
active: boolean
|
|
1188
|
+
active: boolean
|
|
1182
1189
|
/**
|
|
1183
1190
|
* Format: date-time
|
|
1184
1191
|
* @description Creation timestamp
|
|
1185
1192
|
*/
|
|
1186
|
-
created: string
|
|
1193
|
+
created: string
|
|
1187
1194
|
/**
|
|
1188
1195
|
* Format: date-time
|
|
1189
1196
|
* @description Last modification timestamp
|
|
1190
1197
|
*/
|
|
1191
|
-
modified: string
|
|
1198
|
+
modified: string
|
|
1192
1199
|
/**
|
|
1193
1200
|
* Format: date-time
|
|
1194
1201
|
* @description Last usage timestamp
|
|
1195
1202
|
*/
|
|
1196
|
-
lastUsed: string | null
|
|
1203
|
+
lastUsed: string | null
|
|
1197
1204
|
/** @description API key prefix (for display purposes) */
|
|
1198
|
-
prefix: string
|
|
1199
|
-
}
|
|
1205
|
+
prefix: string
|
|
1206
|
+
}
|
|
1200
1207
|
ApiKeyResponse: {
|
|
1201
1208
|
/** @description Unique identifier for the API key */
|
|
1202
|
-
id: number
|
|
1209
|
+
id: number
|
|
1203
1210
|
/** @description Name of the API key */
|
|
1204
|
-
name: string
|
|
1211
|
+
name: string
|
|
1205
1212
|
/** @description Description of the API key */
|
|
1206
|
-
description: string | null
|
|
1213
|
+
description: string | null
|
|
1207
1214
|
/** @description Whether the API key is active */
|
|
1208
|
-
active: boolean
|
|
1215
|
+
active: boolean
|
|
1209
1216
|
/**
|
|
1210
1217
|
* Format: date-time
|
|
1211
1218
|
* @description Creation timestamp
|
|
1212
1219
|
*/
|
|
1213
|
-
created: string
|
|
1220
|
+
created: string
|
|
1214
1221
|
/**
|
|
1215
1222
|
* Format: date-time
|
|
1216
1223
|
* @description Last modification timestamp
|
|
1217
1224
|
*/
|
|
1218
|
-
modified: string
|
|
1225
|
+
modified: string
|
|
1219
1226
|
/**
|
|
1220
1227
|
* Format: date-time
|
|
1221
1228
|
* @description Last usage timestamp
|
|
1222
1229
|
*/
|
|
1223
|
-
lastUsed: string | null
|
|
1230
|
+
lastUsed: string | null
|
|
1224
1231
|
/** @description API key prefix (for display purposes) */
|
|
1225
|
-
prefix: string
|
|
1226
|
-
}
|
|
1232
|
+
prefix: string
|
|
1233
|
+
}
|
|
1227
1234
|
CreateApiKey: {
|
|
1228
1235
|
/** @description Name of the API key */
|
|
1229
|
-
name: string
|
|
1236
|
+
name: string
|
|
1230
1237
|
/** @description Description of the API key */
|
|
1231
|
-
description?: string
|
|
1232
|
-
}
|
|
1238
|
+
description?: string
|
|
1239
|
+
}
|
|
1233
1240
|
CreateApiKeyResponse: {
|
|
1234
1241
|
/** @description Unique identifier for the API key */
|
|
1235
|
-
id: number
|
|
1242
|
+
id: number
|
|
1236
1243
|
/** @description Name of the API key */
|
|
1237
|
-
name: string
|
|
1244
|
+
name: string
|
|
1238
1245
|
/** @description Description of the API key */
|
|
1239
|
-
description: string | null
|
|
1246
|
+
description: string | null
|
|
1240
1247
|
/** @description The API key - only returned once at creation */
|
|
1241
|
-
key: string
|
|
1248
|
+
key: string
|
|
1242
1249
|
/**
|
|
1243
1250
|
* Format: date-time
|
|
1244
1251
|
* @description Creation timestamp
|
|
1245
1252
|
*/
|
|
1246
|
-
created: string
|
|
1247
|
-
}
|
|
1253
|
+
created: string
|
|
1254
|
+
}
|
|
1248
1255
|
ApiKeyUsageEntry: {
|
|
1249
1256
|
/** @description Date in YYYY-MM-DD format */
|
|
1250
|
-
date: string
|
|
1257
|
+
date: string
|
|
1251
1258
|
/** @description Number of requests on this date */
|
|
1252
|
-
count: number
|
|
1253
|
-
}
|
|
1259
|
+
count: number
|
|
1260
|
+
}
|
|
1254
1261
|
ApiKeyModelUsage: {
|
|
1255
1262
|
/** @description Model identifier */
|
|
1256
|
-
id: string
|
|
1263
|
+
id: string
|
|
1257
1264
|
/** @description Model display name */
|
|
1258
|
-
name: string
|
|
1265
|
+
name: string
|
|
1259
1266
|
/** @description Total number of requests to this model */
|
|
1260
|
-
requests: number
|
|
1267
|
+
requests: number
|
|
1261
1268
|
/** @description Token usage statistics */
|
|
1262
1269
|
tokens: {
|
|
1263
1270
|
/** @description Total input tokens */
|
|
1264
|
-
input: number
|
|
1271
|
+
input: number
|
|
1265
1272
|
/** @description Total output tokens */
|
|
1266
|
-
output: number
|
|
1273
|
+
output: number
|
|
1267
1274
|
/** @description Total tokens (input + output) */
|
|
1268
|
-
total: number
|
|
1269
|
-
}
|
|
1270
|
-
}
|
|
1275
|
+
total: number
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1271
1278
|
ApiKeyUsageResponse: {
|
|
1272
1279
|
/** @description API key ID */
|
|
1273
|
-
id: number
|
|
1280
|
+
id: number
|
|
1274
1281
|
/** @description API key name */
|
|
1275
|
-
name: string
|
|
1282
|
+
name: string
|
|
1276
1283
|
/** @description Request statistics */
|
|
1277
1284
|
requests: {
|
|
1278
1285
|
/** @description Total number of requests */
|
|
1279
|
-
total: number
|
|
1286
|
+
total: number
|
|
1280
1287
|
/** @description Daily request counts */
|
|
1281
|
-
daily: components[
|
|
1282
|
-
}
|
|
1288
|
+
daily: components['schemas']['ApiKeyUsageEntry'][]
|
|
1289
|
+
}
|
|
1283
1290
|
/** @description Usage statistics per model */
|
|
1284
|
-
models: components[
|
|
1291
|
+
models: components['schemas']['ApiKeyModelUsage'][]
|
|
1285
1292
|
/** @description Time period for the usage data */
|
|
1286
1293
|
period: {
|
|
1287
1294
|
/** @description Start date of the period (YYYY-MM-DD) */
|
|
1288
|
-
start: string
|
|
1295
|
+
start: string
|
|
1289
1296
|
/** @description End date of the period (YYYY-MM-DD) */
|
|
1290
|
-
end: string
|
|
1291
|
-
}
|
|
1292
|
-
}
|
|
1293
|
-
ApiKeyListResponse: components[
|
|
1297
|
+
end: string
|
|
1298
|
+
}
|
|
1299
|
+
}
|
|
1300
|
+
ApiKeyListResponse: components['schemas']['ApiKey'][]
|
|
1294
1301
|
AppTemplate: {
|
|
1295
1302
|
/** @description Unique identifier for the app */
|
|
1296
|
-
id: string
|
|
1303
|
+
id: string
|
|
1297
1304
|
/** @description Display name of the app */
|
|
1298
|
-
name: string
|
|
1305
|
+
name: string
|
|
1299
1306
|
/** @description Category the app belongs to */
|
|
1300
|
-
category: string
|
|
1307
|
+
category: string
|
|
1301
1308
|
/** @description Short description of the app */
|
|
1302
|
-
description: string
|
|
1309
|
+
description: string
|
|
1303
1310
|
/** @description Number of installations */
|
|
1304
|
-
installs: string
|
|
1311
|
+
installs: string
|
|
1305
1312
|
/** @description User rating */
|
|
1306
|
-
rating: number
|
|
1313
|
+
rating: number
|
|
1307
1314
|
/** @description Icon identifier */
|
|
1308
|
-
icon: string
|
|
1315
|
+
icon: string
|
|
1309
1316
|
/** @description List of key features */
|
|
1310
|
-
features: string[]
|
|
1317
|
+
features: string[]
|
|
1311
1318
|
/** @description Resource requirements */
|
|
1312
1319
|
requirements: {
|
|
1313
1320
|
/** @description Required CPU cores */
|
|
1314
|
-
cpu: number
|
|
1321
|
+
cpu: number
|
|
1315
1322
|
/** @description Required memory in GB */
|
|
1316
|
-
memory: number
|
|
1323
|
+
memory: number
|
|
1317
1324
|
/** @description Required storage in GB */
|
|
1318
|
-
storage: number
|
|
1319
|
-
}
|
|
1325
|
+
storage: number
|
|
1326
|
+
}
|
|
1320
1327
|
/** @description Configuration options */
|
|
1321
|
-
configuration: OneOf<
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1328
|
+
configuration: OneOf<
|
|
1329
|
+
[
|
|
1330
|
+
{
|
|
1331
|
+
/** @description Configuration field name */
|
|
1332
|
+
name: string
|
|
1333
|
+
/**
|
|
1334
|
+
* @description String input type
|
|
1335
|
+
* @enum {string}
|
|
1336
|
+
*/
|
|
1337
|
+
type: 'string'
|
|
1338
|
+
/** @description Whether this field is required */
|
|
1339
|
+
required: boolean
|
|
1340
|
+
/** @description Default value if any */
|
|
1341
|
+
default?: string
|
|
1342
|
+
},
|
|
1343
|
+
{
|
|
1344
|
+
/** @description Configuration field name */
|
|
1345
|
+
name: string
|
|
1346
|
+
/**
|
|
1347
|
+
* @description Number input type
|
|
1348
|
+
* @enum {string}
|
|
1349
|
+
*/
|
|
1350
|
+
type: 'number'
|
|
1351
|
+
/** @description Whether this field is required */
|
|
1352
|
+
required: boolean
|
|
1353
|
+
/** @description Default value if any */
|
|
1354
|
+
default?: number
|
|
1355
|
+
},
|
|
1356
|
+
{
|
|
1357
|
+
/** @description Configuration field name */
|
|
1358
|
+
name: string
|
|
1359
|
+
/**
|
|
1360
|
+
* @description Boolean toggle type
|
|
1361
|
+
* @enum {string}
|
|
1362
|
+
*/
|
|
1363
|
+
type: 'boolean'
|
|
1364
|
+
/** @description Whether this field is required */
|
|
1365
|
+
required: boolean
|
|
1366
|
+
/** @description Default value if any */
|
|
1367
|
+
default?: boolean
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
/** @description Configuration field name */
|
|
1371
|
+
name: string
|
|
1372
|
+
/**
|
|
1373
|
+
* @description Dropdown select type
|
|
1374
|
+
* @enum {string}
|
|
1375
|
+
*/
|
|
1376
|
+
type: 'select'
|
|
1377
|
+
/** @description Whether this field is required */
|
|
1378
|
+
required: boolean
|
|
1379
|
+
/** @description Default selected option */
|
|
1380
|
+
default?: string
|
|
1381
|
+
/** @description Available options to select from */
|
|
1382
|
+
options: string[]
|
|
1383
|
+
},
|
|
1384
|
+
{
|
|
1385
|
+
/** @description Configuration field name */
|
|
1386
|
+
name: string
|
|
1387
|
+
/**
|
|
1388
|
+
* @description Password input type
|
|
1389
|
+
* @enum {string}
|
|
1390
|
+
*/
|
|
1391
|
+
type: 'password'
|
|
1392
|
+
/** @description Whether this field is required */
|
|
1393
|
+
required: boolean
|
|
1394
|
+
/** @description Default value if any */
|
|
1395
|
+
default?: string
|
|
1396
|
+
},
|
|
1397
|
+
]
|
|
1398
|
+
>[]
|
|
1384
1399
|
/** @description Ingress configuration if applicable */
|
|
1385
1400
|
ingress?: {
|
|
1386
1401
|
/** @description Whether ingress is enabled for this app */
|
|
1387
|
-
enabled: boolean
|
|
1402
|
+
enabled: boolean
|
|
1388
1403
|
/** @description Hostname pattern for the ingress */
|
|
1389
|
-
hostname: string
|
|
1404
|
+
hostname: string
|
|
1390
1405
|
/** @description Path for the ingress */
|
|
1391
|
-
path: string
|
|
1406
|
+
path: string
|
|
1392
1407
|
/** @description Whether TLS is enabled */
|
|
1393
|
-
tls: boolean
|
|
1394
|
-
}
|
|
1395
|
-
}
|
|
1408
|
+
tls: boolean
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1396
1411
|
AppTemplateList: {
|
|
1397
1412
|
data: {
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1413
|
+
/** @description Unique identifier for the app */
|
|
1414
|
+
id: string
|
|
1415
|
+
/** @description Display name of the app */
|
|
1416
|
+
name: string
|
|
1417
|
+
/** @description Category the app belongs to */
|
|
1418
|
+
category: string
|
|
1419
|
+
/** @description Short description of the app */
|
|
1420
|
+
description: string
|
|
1421
|
+
/** @description Number of installations */
|
|
1422
|
+
installs: string
|
|
1423
|
+
/** @description User rating */
|
|
1424
|
+
rating: number
|
|
1425
|
+
/** @description Icon identifier */
|
|
1426
|
+
icon: string
|
|
1427
|
+
/** @description List of key features */
|
|
1428
|
+
features: string[]
|
|
1429
|
+
/** @description Resource requirements */
|
|
1430
|
+
requirements: {
|
|
1431
|
+
/** @description Required CPU cores */
|
|
1432
|
+
cpu: number
|
|
1433
|
+
/** @description Required memory in GB */
|
|
1434
|
+
memory: number
|
|
1435
|
+
/** @description Required storage in GB */
|
|
1436
|
+
storage: number
|
|
1437
|
+
}
|
|
1438
|
+
/** @description Configuration options */
|
|
1439
|
+
configuration: OneOf<
|
|
1440
|
+
[
|
|
1441
|
+
{
|
|
1425
1442
|
/** @description Configuration field name */
|
|
1426
|
-
name: string
|
|
1443
|
+
name: string
|
|
1427
1444
|
/**
|
|
1428
1445
|
* @description String input type
|
|
1429
1446
|
* @enum {string}
|
|
1430
1447
|
*/
|
|
1431
|
-
type:
|
|
1448
|
+
type: 'string'
|
|
1432
1449
|
/** @description Whether this field is required */
|
|
1433
|
-
required: boolean
|
|
1450
|
+
required: boolean
|
|
1434
1451
|
/** @description Default value if any */
|
|
1435
|
-
default?: string
|
|
1436
|
-
},
|
|
1452
|
+
default?: string
|
|
1453
|
+
},
|
|
1454
|
+
{
|
|
1437
1455
|
/** @description Configuration field name */
|
|
1438
|
-
name: string
|
|
1456
|
+
name: string
|
|
1439
1457
|
/**
|
|
1440
1458
|
* @description Number input type
|
|
1441
1459
|
* @enum {string}
|
|
1442
1460
|
*/
|
|
1443
|
-
type:
|
|
1461
|
+
type: 'number'
|
|
1444
1462
|
/** @description Whether this field is required */
|
|
1445
|
-
required: boolean
|
|
1463
|
+
required: boolean
|
|
1446
1464
|
/** @description Default value if any */
|
|
1447
|
-
default?: number
|
|
1448
|
-
},
|
|
1465
|
+
default?: number
|
|
1466
|
+
},
|
|
1467
|
+
{
|
|
1449
1468
|
/** @description Configuration field name */
|
|
1450
|
-
name: string
|
|
1469
|
+
name: string
|
|
1451
1470
|
/**
|
|
1452
1471
|
* @description Boolean toggle type
|
|
1453
1472
|
* @enum {string}
|
|
1454
1473
|
*/
|
|
1455
|
-
type:
|
|
1474
|
+
type: 'boolean'
|
|
1456
1475
|
/** @description Whether this field is required */
|
|
1457
|
-
required: boolean
|
|
1476
|
+
required: boolean
|
|
1458
1477
|
/** @description Default value if any */
|
|
1459
|
-
default?: boolean
|
|
1460
|
-
},
|
|
1478
|
+
default?: boolean
|
|
1479
|
+
},
|
|
1480
|
+
{
|
|
1461
1481
|
/** @description Configuration field name */
|
|
1462
|
-
name: string
|
|
1482
|
+
name: string
|
|
1463
1483
|
/**
|
|
1464
1484
|
* @description Dropdown select type
|
|
1465
1485
|
* @enum {string}
|
|
1466
1486
|
*/
|
|
1467
|
-
type:
|
|
1487
|
+
type: 'select'
|
|
1468
1488
|
/** @description Whether this field is required */
|
|
1469
|
-
required: boolean
|
|
1489
|
+
required: boolean
|
|
1470
1490
|
/** @description Default selected option */
|
|
1471
|
-
default?: string
|
|
1491
|
+
default?: string
|
|
1472
1492
|
/** @description Available options to select from */
|
|
1473
|
-
options: string[]
|
|
1474
|
-
},
|
|
1493
|
+
options: string[]
|
|
1494
|
+
},
|
|
1495
|
+
{
|
|
1475
1496
|
/** @description Configuration field name */
|
|
1476
|
-
name: string
|
|
1497
|
+
name: string
|
|
1477
1498
|
/**
|
|
1478
1499
|
* @description Password input type
|
|
1479
1500
|
* @enum {string}
|
|
1480
1501
|
*/
|
|
1481
|
-
type:
|
|
1502
|
+
type: 'password'
|
|
1482
1503
|
/** @description Whether this field is required */
|
|
1483
|
-
required: boolean
|
|
1504
|
+
required: boolean
|
|
1484
1505
|
/** @description Default value if any */
|
|
1485
|
-
default?: string
|
|
1486
|
-
}
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1506
|
+
default?: string
|
|
1507
|
+
},
|
|
1508
|
+
]
|
|
1509
|
+
>[]
|
|
1510
|
+
/** @description Ingress configuration if applicable */
|
|
1511
|
+
ingress?: {
|
|
1512
|
+
/** @description Whether ingress is enabled for this app */
|
|
1513
|
+
enabled: boolean
|
|
1514
|
+
/** @description Hostname pattern for the ingress */
|
|
1515
|
+
hostname: string
|
|
1516
|
+
/** @description Path for the ingress */
|
|
1517
|
+
path: string
|
|
1518
|
+
/** @description Whether TLS is enabled */
|
|
1519
|
+
tls: boolean
|
|
1520
|
+
}
|
|
1521
|
+
}[]
|
|
1499
1522
|
/** @enum {string} */
|
|
1500
|
-
object:
|
|
1501
|
-
}
|
|
1523
|
+
object: 'list'
|
|
1524
|
+
}
|
|
1502
1525
|
AppInstallRequest: {
|
|
1503
1526
|
/** @description ID of the app to install */
|
|
1504
|
-
appId: string
|
|
1527
|
+
appId: string
|
|
1505
1528
|
/** @description Kubernetes namespace to install into */
|
|
1506
|
-
namespace: string
|
|
1529
|
+
namespace: string
|
|
1507
1530
|
/** @description Configuration values */
|
|
1508
1531
|
configuration: {
|
|
1509
|
-
[key: string]: string | number | boolean
|
|
1510
|
-
}
|
|
1511
|
-
}
|
|
1532
|
+
[key: string]: string | number | boolean
|
|
1533
|
+
}
|
|
1534
|
+
}
|
|
1512
1535
|
AppInstallation: {
|
|
1513
1536
|
/** @description Installation ID */
|
|
1514
|
-
id: string
|
|
1537
|
+
id: string
|
|
1515
1538
|
/** @description App template ID */
|
|
1516
|
-
appId: string
|
|
1539
|
+
appId: string
|
|
1517
1540
|
/** @description App name */
|
|
1518
|
-
name: string
|
|
1541
|
+
name: string
|
|
1519
1542
|
/** @description Kubernetes namespace */
|
|
1520
|
-
namespace: string
|
|
1543
|
+
namespace: string
|
|
1521
1544
|
/**
|
|
1522
1545
|
* @description Installation status
|
|
1523
1546
|
* @enum {string}
|
|
1524
1547
|
*/
|
|
1525
|
-
status:
|
|
1548
|
+
status: 'pending' | 'installing' | 'running' | 'failed'
|
|
1526
1549
|
/** @description Creation timestamp */
|
|
1527
|
-
created: string
|
|
1550
|
+
created: string
|
|
1528
1551
|
/** @description Status message or error */
|
|
1529
|
-
message?: string
|
|
1552
|
+
message?: string
|
|
1530
1553
|
/** @description Access URL if available */
|
|
1531
|
-
url?: string
|
|
1554
|
+
url?: string
|
|
1532
1555
|
/** @description Applied configuration */
|
|
1533
1556
|
configuration: {
|
|
1534
|
-
[key: string]: string | number | boolean
|
|
1535
|
-
}
|
|
1536
|
-
}
|
|
1557
|
+
[key: string]: string | number | boolean
|
|
1558
|
+
}
|
|
1559
|
+
}
|
|
1537
1560
|
AppInstallationList: {
|
|
1538
|
-
data:
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1561
|
+
data: {
|
|
1562
|
+
/** @description Installation ID */
|
|
1563
|
+
id: string
|
|
1564
|
+
/** @description App template ID */
|
|
1565
|
+
appId: string
|
|
1566
|
+
/** @description App name */
|
|
1567
|
+
name: string
|
|
1568
|
+
/** @description Kubernetes namespace */
|
|
1569
|
+
namespace: string
|
|
1570
|
+
/**
|
|
1571
|
+
* @description Installation status
|
|
1572
|
+
* @enum {string}
|
|
1573
|
+
*/
|
|
1574
|
+
status: 'pending' | 'installing' | 'running' | 'failed'
|
|
1575
|
+
/** @description Creation timestamp */
|
|
1576
|
+
created: string
|
|
1577
|
+
/** @description Status message or error */
|
|
1578
|
+
message?: string
|
|
1579
|
+
/** @description Access URL if available */
|
|
1580
|
+
url?: string
|
|
1581
|
+
/** @description Applied configuration */
|
|
1582
|
+
configuration: {
|
|
1583
|
+
[key: string]: string | number | boolean
|
|
1584
|
+
}
|
|
1585
|
+
}[]
|
|
1563
1586
|
/** @enum {string} */
|
|
1564
|
-
object:
|
|
1565
|
-
}
|
|
1587
|
+
object: 'list'
|
|
1588
|
+
}
|
|
1566
1589
|
AuthToken: {
|
|
1567
|
-
accessToken: string
|
|
1568
|
-
expiresIn: number
|
|
1590
|
+
accessToken: string
|
|
1591
|
+
expiresIn: number
|
|
1569
1592
|
user?: {
|
|
1570
|
-
id: string
|
|
1571
|
-
name: string
|
|
1593
|
+
id: string
|
|
1594
|
+
name: string
|
|
1572
1595
|
/** Format: email */
|
|
1573
|
-
email: string
|
|
1574
|
-
}
|
|
1575
|
-
}
|
|
1596
|
+
email: string
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1576
1599
|
User: {
|
|
1577
|
-
id: string
|
|
1578
|
-
login: string
|
|
1579
|
-
name: string | null
|
|
1600
|
+
id: string
|
|
1601
|
+
login: string
|
|
1602
|
+
name: string | null
|
|
1580
1603
|
/** Format: email */
|
|
1581
|
-
email: string | null
|
|
1604
|
+
email: string | null
|
|
1582
1605
|
/** Format: uri */
|
|
1583
|
-
avatarUrl: string
|
|
1584
|
-
}
|
|
1606
|
+
avatarUrl: string
|
|
1607
|
+
}
|
|
1585
1608
|
RefreshTokenRequest: {
|
|
1586
1609
|
/** @description The refresh token to use */
|
|
1587
|
-
refresh_token: string
|
|
1610
|
+
refresh_token: string
|
|
1588
1611
|
/** @description Whether this is a device token */
|
|
1589
|
-
is_device_token?: boolean
|
|
1590
|
-
}
|
|
1612
|
+
is_device_token?: boolean
|
|
1613
|
+
}
|
|
1591
1614
|
RefreshTokenResponse: {
|
|
1592
1615
|
/** @description The new access token */
|
|
1593
|
-
token: string
|
|
1616
|
+
token: string
|
|
1594
1617
|
/** @description The new refresh token */
|
|
1595
|
-
refresh_token: string
|
|
1618
|
+
refresh_token: string
|
|
1596
1619
|
/** @description Seconds until the access token expires */
|
|
1597
|
-
expires_in: number
|
|
1620
|
+
expires_in: number
|
|
1598
1621
|
/** @description Seconds until the refresh token expires */
|
|
1599
|
-
refresh_expires_in: number
|
|
1600
|
-
}
|
|
1622
|
+
refresh_expires_in: number
|
|
1623
|
+
}
|
|
1601
1624
|
DeviceAuthRequest: {
|
|
1602
1625
|
/** @description The device code obtained from the device authorization request */
|
|
1603
|
-
device_code: string
|
|
1604
|
-
}
|
|
1626
|
+
device_code: string
|
|
1627
|
+
}
|
|
1605
1628
|
DeviceAuthInitResponse: {
|
|
1606
1629
|
/** @description Code used by the device to poll for authentication status */
|
|
1607
|
-
device_code: string
|
|
1630
|
+
device_code: string
|
|
1608
1631
|
/** @description Code displayed to the user for authentication */
|
|
1609
|
-
user_code: string
|
|
1632
|
+
user_code: string
|
|
1610
1633
|
/** @description URL where the user should enter the user_code */
|
|
1611
|
-
verification_url: string
|
|
1634
|
+
verification_url: string
|
|
1612
1635
|
/** @description Expiration time in seconds */
|
|
1613
|
-
expires_in: number
|
|
1636
|
+
expires_in: number
|
|
1614
1637
|
/** @description Polling interval in seconds */
|
|
1615
|
-
interval: number
|
|
1616
|
-
}
|
|
1638
|
+
interval: number
|
|
1639
|
+
}
|
|
1617
1640
|
DeviceAuthPendingResponse: {
|
|
1618
1641
|
/**
|
|
1619
1642
|
* @description Authentication is still pending
|
|
1620
1643
|
* @enum {string}
|
|
1621
1644
|
*/
|
|
1622
|
-
status:
|
|
1623
|
-
}
|
|
1645
|
+
status: 'pending'
|
|
1646
|
+
}
|
|
1624
1647
|
DeviceAuthTokenResponse: {
|
|
1625
1648
|
/** @description Access token */
|
|
1626
|
-
token: string
|
|
1649
|
+
token: string
|
|
1627
1650
|
/** @description Refresh token */
|
|
1628
|
-
refresh_token: string
|
|
1651
|
+
refresh_token: string
|
|
1629
1652
|
/** @description Access token expiration time in seconds */
|
|
1630
|
-
expires_in: number
|
|
1653
|
+
expires_in: number
|
|
1631
1654
|
/** @description Refresh token expiration time in seconds */
|
|
1632
|
-
refresh_expires_in: number
|
|
1633
|
-
}
|
|
1655
|
+
refresh_expires_in: number
|
|
1656
|
+
}
|
|
1634
1657
|
Usage: {
|
|
1635
1658
|
current_period: {
|
|
1636
1659
|
/** Format: date-time */
|
|
1637
|
-
start_date: string
|
|
1660
|
+
start_date: string
|
|
1638
1661
|
/** Format: date-time */
|
|
1639
|
-
end_date: string
|
|
1640
|
-
}
|
|
1662
|
+
end_date: string
|
|
1663
|
+
}
|
|
1641
1664
|
metrics: {
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1665
|
+
name: string
|
|
1666
|
+
value: number
|
|
1667
|
+
unit: string
|
|
1668
|
+
cost: number
|
|
1669
|
+
currency: string
|
|
1670
|
+
}[]
|
|
1648
1671
|
total: {
|
|
1649
|
-
amount: number
|
|
1650
|
-
currency: string
|
|
1651
|
-
}
|
|
1652
|
-
}
|
|
1672
|
+
amount: number
|
|
1673
|
+
currency: string
|
|
1674
|
+
}
|
|
1675
|
+
}
|
|
1653
1676
|
Invoice: {
|
|
1654
|
-
id: string
|
|
1655
|
-
number: string
|
|
1677
|
+
id: string
|
|
1678
|
+
number: string
|
|
1656
1679
|
/** Format: date-time */
|
|
1657
|
-
issuingDate: string
|
|
1680
|
+
issuingDate: string
|
|
1658
1681
|
/** @enum {string} */
|
|
1659
|
-
paymentStatus:
|
|
1660
|
-
amount: number
|
|
1661
|
-
currency: string
|
|
1662
|
-
customerId: string
|
|
1682
|
+
paymentStatus: 'pending' | 'succeeded' | 'failed'
|
|
1683
|
+
amount: number
|
|
1684
|
+
currency: string
|
|
1685
|
+
customerId: string
|
|
1663
1686
|
customer: {
|
|
1664
|
-
id: string
|
|
1665
|
-
name: string
|
|
1687
|
+
id: string
|
|
1688
|
+
name: string
|
|
1666
1689
|
/** Format: email */
|
|
1667
|
-
email: string
|
|
1690
|
+
email: string
|
|
1668
1691
|
/** Format: date-time */
|
|
1669
|
-
createdAt: string
|
|
1670
|
-
}
|
|
1671
|
-
}
|
|
1692
|
+
createdAt: string
|
|
1693
|
+
}
|
|
1694
|
+
}
|
|
1672
1695
|
PaymentMethod: {
|
|
1673
|
-
id: string
|
|
1696
|
+
id: string
|
|
1674
1697
|
/** @enum {string} */
|
|
1675
|
-
type:
|
|
1676
|
-
last4: string
|
|
1677
|
-
expMonth?: number
|
|
1678
|
-
expYear?: number
|
|
1679
|
-
brand?: string
|
|
1680
|
-
isDefault: boolean
|
|
1681
|
-
}
|
|
1698
|
+
type: 'card' | 'sepa'
|
|
1699
|
+
last4: string
|
|
1700
|
+
expMonth?: number
|
|
1701
|
+
expYear?: number
|
|
1702
|
+
brand?: string
|
|
1703
|
+
isDefault: boolean
|
|
1704
|
+
}
|
|
1682
1705
|
CreatePaymentMethod: {
|
|
1683
1706
|
/** @enum {string} */
|
|
1684
|
-
type:
|
|
1685
|
-
token: string
|
|
1686
|
-
setDefault?: boolean
|
|
1687
|
-
}
|
|
1707
|
+
type: 'card' | 'sepa'
|
|
1708
|
+
token: string
|
|
1709
|
+
setDefault?: boolean
|
|
1710
|
+
}
|
|
1688
1711
|
UpdateSubscription: {
|
|
1689
|
-
planId: string
|
|
1690
|
-
quantity?: number
|
|
1691
|
-
}
|
|
1712
|
+
planId: string
|
|
1713
|
+
quantity?: number
|
|
1714
|
+
}
|
|
1692
1715
|
ChatMessage: {
|
|
1693
1716
|
/**
|
|
1694
1717
|
* @default user
|
|
1695
1718
|
* @enum {string}
|
|
1696
1719
|
*/
|
|
1697
|
-
role?:
|
|
1698
|
-
content: string
|
|
1699
|
-
}
|
|
1720
|
+
role?: 'system' | 'user' | 'assistant'
|
|
1721
|
+
content: string
|
|
1722
|
+
}
|
|
1700
1723
|
ChatCompletionRequest: {
|
|
1701
|
-
model: string
|
|
1702
|
-
messages: components[
|
|
1703
|
-
temperature?: number
|
|
1724
|
+
model: string
|
|
1725
|
+
messages: components['schemas']['ChatMessage'][]
|
|
1726
|
+
temperature?: number
|
|
1704
1727
|
/** @default 4096 */
|
|
1705
|
-
max_tokens?: number
|
|
1728
|
+
max_tokens?: number
|
|
1706
1729
|
/** @default false */
|
|
1707
|
-
stream?: boolean
|
|
1730
|
+
stream?: boolean
|
|
1708
1731
|
/** @default 1 */
|
|
1709
|
-
top_p?: number
|
|
1710
|
-
}
|
|
1732
|
+
top_p?: number
|
|
1733
|
+
}
|
|
1711
1734
|
ChatCompletionResponse: {
|
|
1712
1735
|
/** @description Unique identifier for this completion */
|
|
1713
|
-
id: string
|
|
1736
|
+
id: string
|
|
1714
1737
|
/** @enum {string} */
|
|
1715
|
-
object:
|
|
1738
|
+
object: 'chat.completion'
|
|
1716
1739
|
/** @description Unix timestamp of when the completion was created */
|
|
1717
|
-
created: number
|
|
1740
|
+
created: number
|
|
1718
1741
|
/** @description The model used for completion */
|
|
1719
|
-
model: string
|
|
1720
|
-
choices:
|
|
1721
|
-
|
|
1722
|
-
/** @enum {string} */
|
|
1723
|
-
role: "assistant";
|
|
1724
|
-
/** @description The model's response */
|
|
1725
|
-
content: string;
|
|
1726
|
-
};
|
|
1742
|
+
model: string
|
|
1743
|
+
choices: {
|
|
1744
|
+
message: {
|
|
1727
1745
|
/** @enum {string} */
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1746
|
+
role: 'assistant'
|
|
1747
|
+
/** @description The model's response */
|
|
1748
|
+
content: string
|
|
1749
|
+
}
|
|
1750
|
+
/** @enum {string} */
|
|
1751
|
+
finish_reason: 'stop' | 'length' | 'content_filter'
|
|
1752
|
+
index: number
|
|
1753
|
+
}[]
|
|
1731
1754
|
usage: {
|
|
1732
|
-
prompt_tokens: number
|
|
1733
|
-
completion_tokens: number
|
|
1734
|
-
total_tokens: number
|
|
1735
|
-
}
|
|
1736
|
-
}
|
|
1755
|
+
prompt_tokens: number
|
|
1756
|
+
completion_tokens: number
|
|
1757
|
+
total_tokens: number
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1737
1760
|
Cluster: {
|
|
1738
1761
|
/** @description Unique identifier for the cluster */
|
|
1739
|
-
id: string
|
|
1762
|
+
id: string
|
|
1740
1763
|
/** @description Display name of the cluster */
|
|
1741
|
-
name: string
|
|
1764
|
+
name: string
|
|
1742
1765
|
/** @description Cloud provider (AWS, GCP, Azure, etc.) */
|
|
1743
|
-
provider: string
|
|
1766
|
+
provider: string
|
|
1744
1767
|
/** @description Cloud region where the cluster is deployed */
|
|
1745
|
-
region: string
|
|
1768
|
+
region: string
|
|
1746
1769
|
/** @description Kubernetes version */
|
|
1747
|
-
version: string
|
|
1770
|
+
version: string
|
|
1748
1771
|
/** @description Number of nodes in the cluster */
|
|
1749
|
-
nodes: number
|
|
1772
|
+
nodes: number
|
|
1750
1773
|
/**
|
|
1751
1774
|
* @description Current status of the cluster
|
|
1752
1775
|
* @enum {string}
|
|
1753
1776
|
*/
|
|
1754
|
-
status:
|
|
1777
|
+
status: 'healthy' | 'degraded' | 'unhealthy' | 'unknown'
|
|
1755
1778
|
/**
|
|
1756
1779
|
* Format: date-time
|
|
1757
1780
|
* @description Creation timestamp
|
|
1758
1781
|
*/
|
|
1759
|
-
created: string
|
|
1760
|
-
}
|
|
1782
|
+
created: string
|
|
1783
|
+
}
|
|
1761
1784
|
ClusterList: {
|
|
1762
|
-
data: components[
|
|
1785
|
+
data: components['schemas']['Cluster'][]
|
|
1763
1786
|
/** @enum {string} */
|
|
1764
|
-
object:
|
|
1765
|
-
}
|
|
1787
|
+
object: 'list'
|
|
1788
|
+
}
|
|
1766
1789
|
ResourceMetric: {
|
|
1767
1790
|
/** @description Total allocated resources */
|
|
1768
|
-
allocated: number
|
|
1791
|
+
allocated: number
|
|
1769
1792
|
/** @description Currently used resources */
|
|
1770
|
-
used: number
|
|
1793
|
+
used: number
|
|
1771
1794
|
/** @description Available resources */
|
|
1772
|
-
available: number
|
|
1795
|
+
available: number
|
|
1773
1796
|
/** @description Unit of measurement (e.g., cores, GB) */
|
|
1774
|
-
unit: string
|
|
1775
|
-
}
|
|
1797
|
+
unit: string
|
|
1798
|
+
}
|
|
1776
1799
|
/** @description Cost breakdown */
|
|
1777
1800
|
ClusterCost: {
|
|
1778
1801
|
/** @description Cost for CPU resources */
|
|
1779
|
-
cpu: number
|
|
1802
|
+
cpu: number
|
|
1780
1803
|
/** @description Cost for memory resources */
|
|
1781
|
-
memory: number
|
|
1804
|
+
memory: number
|
|
1782
1805
|
/** @description Cost for storage resources */
|
|
1783
|
-
storage: number
|
|
1806
|
+
storage: number
|
|
1784
1807
|
/** @description Cost for network resources */
|
|
1785
|
-
network: number
|
|
1808
|
+
network: number
|
|
1786
1809
|
/** @description Total cost */
|
|
1787
|
-
total: number
|
|
1810
|
+
total: number
|
|
1788
1811
|
/** @description Currency code (e.g., USD, EUR) */
|
|
1789
|
-
currency: string
|
|
1790
|
-
}
|
|
1812
|
+
currency: string
|
|
1813
|
+
}
|
|
1791
1814
|
ClusterUsage: {
|
|
1792
1815
|
/** @description Unique cluster identifier */
|
|
1793
|
-
id: string
|
|
1816
|
+
id: string
|
|
1794
1817
|
/** @description Cluster name */
|
|
1795
|
-
name: string
|
|
1818
|
+
name: string
|
|
1796
1819
|
/** @description Resource usage metrics */
|
|
1797
1820
|
resources: {
|
|
1798
|
-
cpu: components[
|
|
1799
|
-
memory: components[
|
|
1800
|
-
storage: components[
|
|
1801
|
-
}
|
|
1802
|
-
cost: components[
|
|
1821
|
+
cpu: components['schemas']['ResourceMetric']
|
|
1822
|
+
memory: components['schemas']['ResourceMetric']
|
|
1823
|
+
storage: components['schemas']['ResourceMetric']
|
|
1824
|
+
}
|
|
1825
|
+
cost: components['schemas']['ClusterCost']
|
|
1803
1826
|
/** @description Number of nodes in the cluster */
|
|
1804
|
-
nodes: number
|
|
1827
|
+
nodes: number
|
|
1805
1828
|
/** @description Current cluster status */
|
|
1806
|
-
status: string
|
|
1807
|
-
}
|
|
1808
|
-
ResourceMetricWithTrend: components[
|
|
1829
|
+
status: string
|
|
1830
|
+
}
|
|
1831
|
+
ResourceMetricWithTrend: components['schemas']['ResourceMetric'] & {
|
|
1809
1832
|
/** @description Historical usage trend data */
|
|
1810
1833
|
usage_trend: {
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
}
|
|
1834
|
+
/** @description Date in YYYY-MM-DD format */
|
|
1835
|
+
date: string
|
|
1836
|
+
/** @description Resource usage value for this date */
|
|
1837
|
+
value: number
|
|
1838
|
+
}[]
|
|
1839
|
+
}
|
|
1817
1840
|
DailyCost: {
|
|
1818
1841
|
/** @description Date in YYYY-MM-DD format */
|
|
1819
|
-
date: string
|
|
1842
|
+
date: string
|
|
1820
1843
|
/** @description CPU cost for this day */
|
|
1821
|
-
cpu: number
|
|
1844
|
+
cpu: number
|
|
1822
1845
|
/** @description Memory cost for this day */
|
|
1823
|
-
memory: number
|
|
1846
|
+
memory: number
|
|
1824
1847
|
/** @description Storage cost for this day */
|
|
1825
|
-
storage: number
|
|
1848
|
+
storage: number
|
|
1826
1849
|
/** @description Network cost for this day */
|
|
1827
|
-
network: number
|
|
1850
|
+
network: number
|
|
1828
1851
|
/** @description Total cost for this day */
|
|
1829
|
-
total: number
|
|
1830
|
-
}
|
|
1852
|
+
total: number
|
|
1853
|
+
}
|
|
1831
1854
|
/** @description Detailed cost breakdown with daily data */
|
|
1832
|
-
ClusterCostWithDaily: components[
|
|
1855
|
+
ClusterCostWithDaily: components['schemas']['ClusterCost'] & {
|
|
1833
1856
|
/** @description Daily cost breakdown */
|
|
1834
|
-
daily: components[
|
|
1835
|
-
}
|
|
1857
|
+
daily: components['schemas']['DailyCost'][]
|
|
1858
|
+
}
|
|
1836
1859
|
ClusterDetailedUsage: {
|
|
1837
1860
|
/** @description Unique cluster identifier */
|
|
1838
|
-
id: string
|
|
1861
|
+
id: string
|
|
1839
1862
|
/** @description Cluster name */
|
|
1840
|
-
name: string
|
|
1863
|
+
name: string
|
|
1841
1864
|
/** @description Detailed resource usage metrics with trends */
|
|
1842
1865
|
resources: {
|
|
1843
|
-
cpu: components[
|
|
1844
|
-
memory: components[
|
|
1845
|
-
storage: components[
|
|
1846
|
-
}
|
|
1847
|
-
cost: components[
|
|
1866
|
+
cpu: components['schemas']['ResourceMetricWithTrend']
|
|
1867
|
+
memory: components['schemas']['ResourceMetricWithTrend']
|
|
1868
|
+
storage: components['schemas']['ResourceMetricWithTrend']
|
|
1869
|
+
}
|
|
1870
|
+
cost: components['schemas']['ClusterCostWithDaily']
|
|
1848
1871
|
/** @description Number of nodes in the cluster */
|
|
1849
|
-
nodes: number
|
|
1872
|
+
nodes: number
|
|
1850
1873
|
/** @description Current cluster status */
|
|
1851
|
-
status: string
|
|
1874
|
+
status: string
|
|
1852
1875
|
/** @description Time period for the usage data */
|
|
1853
1876
|
period: {
|
|
1854
1877
|
/** @description Start date of the period (YYYY-MM-DD) */
|
|
1855
|
-
start: string
|
|
1878
|
+
start: string
|
|
1856
1879
|
/** @description End date of the period (YYYY-MM-DD) */
|
|
1857
|
-
end: string
|
|
1858
|
-
}
|
|
1859
|
-
}
|
|
1880
|
+
end: string
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1860
1883
|
ClustersUsageResponse: {
|
|
1861
1884
|
/** @description List of clusters with usage data */
|
|
1862
|
-
clusters: components[
|
|
1885
|
+
clusters: components['schemas']['ClusterUsage'][]
|
|
1863
1886
|
/** @description Time period for the usage data */
|
|
1864
1887
|
period: {
|
|
1865
1888
|
/** @description Start date of the period (YYYY-MM-DD) */
|
|
1866
|
-
start: string
|
|
1889
|
+
start: string
|
|
1867
1890
|
/** @description End date of the period (YYYY-MM-DD) */
|
|
1868
|
-
end: string
|
|
1869
|
-
}
|
|
1891
|
+
end: string
|
|
1892
|
+
}
|
|
1870
1893
|
/** @description Aggregated totals */
|
|
1871
1894
|
total: {
|
|
1872
1895
|
/** @description Total cost breakdown across all clusters */
|
|
1873
1896
|
cost: {
|
|
1874
1897
|
/** @description Total CPU cost across all clusters */
|
|
1875
|
-
cpu: number
|
|
1898
|
+
cpu: number
|
|
1876
1899
|
/** @description Total memory cost across all clusters */
|
|
1877
|
-
memory: number
|
|
1900
|
+
memory: number
|
|
1878
1901
|
/** @description Total storage cost across all clusters */
|
|
1879
|
-
storage: number
|
|
1902
|
+
storage: number
|
|
1880
1903
|
/** @description Total network cost across all clusters */
|
|
1881
|
-
network: number
|
|
1904
|
+
network: number
|
|
1882
1905
|
/** @description Total cost across all clusters */
|
|
1883
|
-
total: number
|
|
1906
|
+
total: number
|
|
1884
1907
|
/** @description Currency code (e.g., USD, EUR) */
|
|
1885
|
-
currency: string
|
|
1886
|
-
}
|
|
1887
|
-
}
|
|
1888
|
-
}
|
|
1908
|
+
currency: string
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
}
|
|
1889
1912
|
Model: {
|
|
1890
1913
|
/** @description Unique identifier for the model */
|
|
1891
|
-
id: string
|
|
1914
|
+
id: string
|
|
1892
1915
|
/** @description Name of the model */
|
|
1893
|
-
name: string
|
|
1916
|
+
name: string
|
|
1894
1917
|
/** @description Description of the model */
|
|
1895
|
-
description: string
|
|
1918
|
+
description: string
|
|
1896
1919
|
/** @description Whether the model is active */
|
|
1897
|
-
active: boolean
|
|
1898
|
-
}
|
|
1899
|
-
ModelList: components[
|
|
1920
|
+
active: boolean
|
|
1921
|
+
}
|
|
1922
|
+
ModelList: components['schemas']['Model'][]
|
|
1900
1923
|
/** @description Cost information for this usage */
|
|
1901
1924
|
TokenCost: {
|
|
1902
1925
|
/** @description Cost amount */
|
|
1903
|
-
amount: number
|
|
1926
|
+
amount: number
|
|
1904
1927
|
/** @description Currency code (e.g., USD, EUR) */
|
|
1905
|
-
currency: string
|
|
1906
|
-
}
|
|
1928
|
+
currency: string
|
|
1929
|
+
}
|
|
1907
1930
|
DailyTokenUsage: {
|
|
1908
1931
|
/** @description Usage date in YYYY-MM-DD format */
|
|
1909
|
-
date: string
|
|
1932
|
+
date: string
|
|
1910
1933
|
/** @description Model identifier */
|
|
1911
|
-
model?: string
|
|
1934
|
+
model?: string
|
|
1912
1935
|
/** @description Number of input tokens used */
|
|
1913
|
-
input_tokens: number
|
|
1936
|
+
input_tokens: number
|
|
1914
1937
|
/** @description Number of output tokens generated */
|
|
1915
|
-
output_tokens: number
|
|
1938
|
+
output_tokens: number
|
|
1916
1939
|
/** @description Total tokens (input + output) */
|
|
1917
|
-
total_tokens: number
|
|
1918
|
-
cost: components[
|
|
1919
|
-
}
|
|
1940
|
+
total_tokens: number
|
|
1941
|
+
cost: components['schemas']['TokenCost']
|
|
1942
|
+
}
|
|
1920
1943
|
/** @description Aggregated usage totals */
|
|
1921
1944
|
TokenUsageTotal: {
|
|
1922
1945
|
/** @description Total input tokens for the period */
|
|
1923
|
-
input_tokens: number
|
|
1946
|
+
input_tokens: number
|
|
1924
1947
|
/** @description Total output tokens for the period */
|
|
1925
|
-
output_tokens: number
|
|
1948
|
+
output_tokens: number
|
|
1926
1949
|
/** @description Total tokens for the period */
|
|
1927
|
-
total_tokens: number
|
|
1928
|
-
cost: components[
|
|
1929
|
-
}
|
|
1950
|
+
total_tokens: number
|
|
1951
|
+
cost: components['schemas']['TokenCost']
|
|
1952
|
+
}
|
|
1930
1953
|
/** @description Time period for the usage data */
|
|
1931
1954
|
TokenUsagePeriod: {
|
|
1932
1955
|
/** @description Start date of the period (YYYY-MM-DD) */
|
|
1933
|
-
start: string
|
|
1956
|
+
start: string
|
|
1934
1957
|
/** @description End date of the period (YYYY-MM-DD) */
|
|
1935
|
-
end: string
|
|
1936
|
-
}
|
|
1958
|
+
end: string
|
|
1959
|
+
}
|
|
1937
1960
|
TokenUsageResponse: {
|
|
1938
1961
|
/** @description Daily token usage data */
|
|
1939
|
-
usage: components[
|
|
1940
|
-
total: components[
|
|
1941
|
-
period: components[
|
|
1942
|
-
}
|
|
1962
|
+
usage: components['schemas']['DailyTokenUsage'][]
|
|
1963
|
+
total: components['schemas']['TokenUsageTotal']
|
|
1964
|
+
period: components['schemas']['TokenUsagePeriod']
|
|
1965
|
+
}
|
|
1943
1966
|
ModelTokenUsageResponse: {
|
|
1944
1967
|
/** @description Model identifier */
|
|
1945
|
-
model: string
|
|
1968
|
+
model: string
|
|
1946
1969
|
/** @description Daily token usage data */
|
|
1947
|
-
usage: components[
|
|
1948
|
-
total: components[
|
|
1949
|
-
period: components[
|
|
1950
|
-
}
|
|
1970
|
+
usage: components['schemas']['DailyTokenUsage'][]
|
|
1971
|
+
total: components['schemas']['TokenUsageTotal']
|
|
1972
|
+
period: components['schemas']['TokenUsagePeriod']
|
|
1973
|
+
}
|
|
1951
1974
|
/** @description Complete user profile including company details */
|
|
1952
1975
|
UserProfile: {
|
|
1953
1976
|
/** @description Unique identifier for the user */
|
|
1954
|
-
id: string
|
|
1977
|
+
id: string
|
|
1955
1978
|
/**
|
|
1956
1979
|
* Format: email
|
|
1957
1980
|
* @description User's email address
|
|
1958
1981
|
*/
|
|
1959
|
-
email: string
|
|
1982
|
+
email: string
|
|
1960
1983
|
/** @description Full name of the user */
|
|
1961
|
-
name: string
|
|
1984
|
+
name: string
|
|
1962
1985
|
/** @description Contact phone number */
|
|
1963
|
-
phone: string | null
|
|
1986
|
+
phone: string | null
|
|
1964
1987
|
/** @description ID of the company the user belongs to */
|
|
1965
|
-
company_id: number
|
|
1988
|
+
company_id: number
|
|
1966
1989
|
/** @description Username for login */
|
|
1967
|
-
login: string
|
|
1990
|
+
login: string
|
|
1968
1991
|
/**
|
|
1969
1992
|
* @description User role determining permissions
|
|
1970
1993
|
* @enum {string}
|
|
1971
1994
|
*/
|
|
1972
|
-
role:
|
|
1995
|
+
role: 'admin' | 'member'
|
|
1973
1996
|
/** @description Whether the user account is active */
|
|
1974
|
-
active: boolean | null
|
|
1997
|
+
active: boolean | null
|
|
1975
1998
|
/**
|
|
1976
1999
|
* Format: date-time
|
|
1977
2000
|
* @description When the user was created
|
|
1978
2001
|
*/
|
|
1979
|
-
createdAt: string | null
|
|
2002
|
+
createdAt: string | null
|
|
1980
2003
|
/**
|
|
1981
2004
|
* Format: date-time
|
|
1982
2005
|
* @description Last update timestamp
|
|
1983
2006
|
*/
|
|
1984
|
-
updatedAt: string | null
|
|
2007
|
+
updatedAt: string | null
|
|
1985
2008
|
/** @description User preferences and settings */
|
|
1986
2009
|
settings?: {
|
|
1987
2010
|
/** @description Email notification preferences */
|
|
1988
|
-
notifications: boolean
|
|
2011
|
+
notifications: boolean
|
|
1989
2012
|
/** @description User's preferred timezone */
|
|
1990
|
-
timezone: string
|
|
2013
|
+
timezone: string
|
|
1991
2014
|
/** @description Preferred interface language */
|
|
1992
|
-
language?: string
|
|
2015
|
+
language?: string
|
|
1993
2016
|
/**
|
|
1994
2017
|
* @description UI theme preference
|
|
1995
2018
|
* @enum {string}
|
|
1996
2019
|
*/
|
|
1997
|
-
theme?:
|
|
1998
|
-
}
|
|
2020
|
+
theme?: 'light' | 'dark' | 'system'
|
|
2021
|
+
}
|
|
1999
2022
|
/** @description Associated company details */
|
|
2000
2023
|
company?: {
|
|
2001
2024
|
/** @description Company unique identifier */
|
|
2002
|
-
id: number
|
|
2025
|
+
id: number
|
|
2003
2026
|
/** @description Legal company name */
|
|
2004
|
-
name: string
|
|
2027
|
+
name: string
|
|
2005
2028
|
/** @description VAT identification number */
|
|
2006
|
-
vat: string
|
|
2029
|
+
vat: string
|
|
2007
2030
|
/**
|
|
2008
2031
|
* Format: email
|
|
2009
2032
|
* @description Company email address
|
|
2010
2033
|
*/
|
|
2011
|
-
email: string
|
|
2034
|
+
email: string
|
|
2012
2035
|
/** @description Company phone number */
|
|
2013
|
-
phone: string | null
|
|
2036
|
+
phone: string | null
|
|
2014
2037
|
/** @description Street address */
|
|
2015
|
-
street: string | null
|
|
2038
|
+
street: string | null
|
|
2016
2039
|
/** @description City */
|
|
2017
|
-
city: string | null
|
|
2040
|
+
city: string | null
|
|
2018
2041
|
/** @description Company country information */
|
|
2019
2042
|
country: {
|
|
2020
2043
|
/** @description Country ID */
|
|
2021
|
-
id: number
|
|
2044
|
+
id: number
|
|
2022
2045
|
/** @description Country name */
|
|
2023
|
-
name: string
|
|
2046
|
+
name: string
|
|
2024
2047
|
/** @description ISO country code */
|
|
2025
|
-
code: string
|
|
2026
|
-
} | null
|
|
2027
|
-
}
|
|
2028
|
-
}
|
|
2048
|
+
code: string
|
|
2049
|
+
} | null
|
|
2050
|
+
}
|
|
2051
|
+
}
|
|
2029
2052
|
CreateUser: {
|
|
2030
|
-
name: string
|
|
2053
|
+
name: string
|
|
2031
2054
|
/** Format: email */
|
|
2032
|
-
email: string
|
|
2033
|
-
phone: string | null
|
|
2034
|
-
company_id: number
|
|
2055
|
+
email: string
|
|
2056
|
+
phone: string | null
|
|
2057
|
+
company_id: number
|
|
2035
2058
|
/** @enum {string} */
|
|
2036
|
-
role:
|
|
2059
|
+
role: 'admin' | 'member'
|
|
2037
2060
|
settings?: {
|
|
2038
|
-
notifications: boolean
|
|
2039
|
-
timezone: string
|
|
2040
|
-
language?: string
|
|
2061
|
+
notifications: boolean
|
|
2062
|
+
timezone: string
|
|
2063
|
+
language?: string
|
|
2041
2064
|
/** @enum {string} */
|
|
2042
|
-
theme?:
|
|
2043
|
-
}
|
|
2044
|
-
}
|
|
2065
|
+
theme?: 'light' | 'dark' | 'system'
|
|
2066
|
+
}
|
|
2067
|
+
}
|
|
2045
2068
|
UpdateUser: {
|
|
2046
|
-
name?: string
|
|
2069
|
+
name?: string
|
|
2047
2070
|
/** Format: email */
|
|
2048
|
-
email?: string
|
|
2049
|
-
phone?: string | null
|
|
2071
|
+
email?: string
|
|
2072
|
+
phone?: string | null
|
|
2050
2073
|
settings?: {
|
|
2051
|
-
notifications: boolean
|
|
2052
|
-
timezone: string
|
|
2053
|
-
language?: string
|
|
2074
|
+
notifications: boolean
|
|
2075
|
+
timezone: string
|
|
2076
|
+
language?: string
|
|
2054
2077
|
/** @enum {string} */
|
|
2055
|
-
theme?:
|
|
2056
|
-
}
|
|
2057
|
-
}
|
|
2078
|
+
theme?: 'light' | 'dark' | 'system'
|
|
2079
|
+
}
|
|
2080
|
+
}
|
|
2058
2081
|
InviteUser: {
|
|
2059
2082
|
/**
|
|
2060
2083
|
* Format: email
|
|
2061
2084
|
* @description Email address of the person to invite
|
|
2062
2085
|
*/
|
|
2063
|
-
email: string
|
|
2086
|
+
email: string
|
|
2064
2087
|
/**
|
|
2065
2088
|
* @description Role to assign to the new team member
|
|
2066
2089
|
* @enum {string}
|
|
2067
2090
|
*/
|
|
2068
|
-
role:
|
|
2091
|
+
role: 'admin' | 'member'
|
|
2069
2092
|
/** @description Company ID to invite the user to (defaults to current user's company) */
|
|
2070
|
-
companyId?: number
|
|
2071
|
-
}
|
|
2093
|
+
companyId?: number
|
|
2094
|
+
}
|
|
2072
2095
|
ErrorResponse: {
|
|
2073
|
-
error: string
|
|
2074
|
-
code?: string
|
|
2075
|
-
details?: unknown
|
|
2076
|
-
}
|
|
2096
|
+
error: string
|
|
2097
|
+
code?: string
|
|
2098
|
+
details?: unknown
|
|
2099
|
+
}
|
|
2077
2100
|
HealthCheck: {
|
|
2078
|
-
status: string
|
|
2079
|
-
timestamp: string
|
|
2080
|
-
version: string
|
|
2081
|
-
npmVersion: string
|
|
2082
|
-
environment: string
|
|
2083
|
-
}
|
|
2084
|
-
}
|
|
2085
|
-
responses: never
|
|
2086
|
-
parameters: {
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
pathItems: never;
|
|
2101
|
+
status: string
|
|
2102
|
+
timestamp: string
|
|
2103
|
+
version: string
|
|
2104
|
+
npmVersion: string
|
|
2105
|
+
environment: string
|
|
2106
|
+
}
|
|
2107
|
+
}
|
|
2108
|
+
responses: never
|
|
2109
|
+
parameters: {}
|
|
2110
|
+
requestBodies: never
|
|
2111
|
+
headers: never
|
|
2112
|
+
pathItems: never
|
|
2091
2113
|
}
|
|
2092
2114
|
|
|
2093
|
-
export type $defs = Record<string, never
|
|
2115
|
+
export type $defs = Record<string, never>
|
|
2094
2116
|
|
|
2095
|
-
export type external = Record<string, never
|
|
2117
|
+
export type external = Record<string, never>
|
|
2096
2118
|
|
|
2097
|
-
export type operations = Record<string, never
|
|
2119
|
+
export type operations = Record<string, never>
|