@bodhiapp/ts-client 0.1.33 → 0.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/openapi-typescript/openapi-schema-oai.d.ts +0 -437
- package/dist/openapi-typescript/openapi-schema-oai.ts +0 -437
- package/dist/openapi-typescript/openapi-schema.d.ts +1153 -204
- package/dist/openapi-typescript/openapi-schema.ts +1153 -204
- package/dist/types/types.gen.d.ts +742 -201
- package/dist/types/types.gen.ts +788 -187
- package/dist/types-oai/types.gen.d.ts +0 -187
- package/dist/types-oai/types.gen.ts +0 -211
- package/package.json +1 -1
|
@@ -24,6 +24,26 @@ export interface paths {
|
|
|
24
24
|
patch?: never;
|
|
25
25
|
trace?: never;
|
|
26
26
|
};
|
|
27
|
+
"/bodhi/v1/access-requests/apps": {
|
|
28
|
+
parameters: {
|
|
29
|
+
query?: never;
|
|
30
|
+
header?: never;
|
|
31
|
+
path?: never;
|
|
32
|
+
cookie?: never;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* List Issued App Tokens
|
|
36
|
+
* @description List the caller's approved app access grants with their effective resource access. Requires session auth.
|
|
37
|
+
*/
|
|
38
|
+
get: operations["listAppAccess"];
|
|
39
|
+
put?: never;
|
|
40
|
+
post?: never;
|
|
41
|
+
delete?: never;
|
|
42
|
+
options?: never;
|
|
43
|
+
head?: never;
|
|
44
|
+
patch?: never;
|
|
45
|
+
trace?: never;
|
|
46
|
+
};
|
|
27
47
|
"/bodhi/v1/access-requests/pending": {
|
|
28
48
|
parameters: {
|
|
29
49
|
query?: never;
|
|
@@ -128,6 +148,26 @@ export interface paths {
|
|
|
128
148
|
patch?: never;
|
|
129
149
|
trace?: never;
|
|
130
150
|
};
|
|
151
|
+
"/bodhi/v1/access-requests/{id}/revoke": {
|
|
152
|
+
parameters: {
|
|
153
|
+
query?: never;
|
|
154
|
+
header?: never;
|
|
155
|
+
path?: never;
|
|
156
|
+
cookie?: never;
|
|
157
|
+
};
|
|
158
|
+
get?: never;
|
|
159
|
+
put?: never;
|
|
160
|
+
/**
|
|
161
|
+
* Revoke App Token
|
|
162
|
+
* @description Revoke a previously-approved app grant; the app token stops working. Requires session auth.
|
|
163
|
+
*/
|
|
164
|
+
post: operations["revokeAppAccess"];
|
|
165
|
+
delete?: never;
|
|
166
|
+
options?: never;
|
|
167
|
+
head?: never;
|
|
168
|
+
patch?: never;
|
|
169
|
+
trace?: never;
|
|
170
|
+
};
|
|
131
171
|
"/bodhi/v1/apps/access-requests/{id}": {
|
|
132
172
|
parameters: {
|
|
133
173
|
query?: never;
|
|
@@ -563,7 +603,7 @@ export interface paths {
|
|
|
563
603
|
};
|
|
564
604
|
/**
|
|
565
605
|
* List All Model Aliases
|
|
566
|
-
* @description Retrieves paginated list of all configured model aliases including user-defined aliases, model aliases, and API provider aliases with filtering and sorting
|
|
606
|
+
* @description Retrieves paginated list of all configured model aliases including user-defined aliases, model aliases, and API provider aliases with server-side facet filtering (type, api_format, size range, capability) and sorting. Requires any authenticated user (User level permissions or higher).
|
|
567
607
|
*/
|
|
568
608
|
get: operations["listAllModels"];
|
|
569
609
|
put?: never;
|
|
@@ -803,6 +843,46 @@ export interface paths {
|
|
|
803
843
|
patch?: never;
|
|
804
844
|
trace?: never;
|
|
805
845
|
};
|
|
846
|
+
"/bodhi/v1/models/files/pull/{id}/archive": {
|
|
847
|
+
parameters: {
|
|
848
|
+
query?: never;
|
|
849
|
+
header?: never;
|
|
850
|
+
path?: never;
|
|
851
|
+
cookie?: never;
|
|
852
|
+
};
|
|
853
|
+
get?: never;
|
|
854
|
+
put?: never;
|
|
855
|
+
/**
|
|
856
|
+
* Archive Download Request
|
|
857
|
+
* @description Archives a completed, failed, or queued download request so it no longer appears in the downloads list or the list API response. Actively-downloading requests cannot be archived.
|
|
858
|
+
*/
|
|
859
|
+
post: operations["archiveDownload"];
|
|
860
|
+
delete?: never;
|
|
861
|
+
options?: never;
|
|
862
|
+
head?: never;
|
|
863
|
+
patch?: never;
|
|
864
|
+
trace?: never;
|
|
865
|
+
};
|
|
866
|
+
"/bodhi/v1/models/files/pull/{id}/retry": {
|
|
867
|
+
parameters: {
|
|
868
|
+
query?: never;
|
|
869
|
+
header?: never;
|
|
870
|
+
path?: never;
|
|
871
|
+
cookie?: never;
|
|
872
|
+
};
|
|
873
|
+
get?: never;
|
|
874
|
+
put?: never;
|
|
875
|
+
/**
|
|
876
|
+
* Retry Failed Download Request
|
|
877
|
+
* @description Resets a failed download request to pending and re-runs it. The download resumes from the partially-downloaded file when present. Only failed requests can be retried.
|
|
878
|
+
*/
|
|
879
|
+
post: operations["retryDownload"];
|
|
880
|
+
delete?: never;
|
|
881
|
+
options?: never;
|
|
882
|
+
head?: never;
|
|
883
|
+
patch?: never;
|
|
884
|
+
trace?: never;
|
|
885
|
+
};
|
|
806
886
|
"/bodhi/v1/models/refresh": {
|
|
807
887
|
parameters: {
|
|
808
888
|
query?: never;
|
|
@@ -829,6 +909,45 @@ export interface paths {
|
|
|
829
909
|
patch?: never;
|
|
830
910
|
trace?: never;
|
|
831
911
|
};
|
|
912
|
+
"/bodhi/v1/models/router": {
|
|
913
|
+
parameters: {
|
|
914
|
+
query?: never;
|
|
915
|
+
header?: never;
|
|
916
|
+
path?: never;
|
|
917
|
+
cookie?: never;
|
|
918
|
+
};
|
|
919
|
+
get?: never;
|
|
920
|
+
put?: never;
|
|
921
|
+
/** Create a new model-router configuration */
|
|
922
|
+
post: operations["createModelRouter"];
|
|
923
|
+
delete?: never;
|
|
924
|
+
options?: never;
|
|
925
|
+
head?: never;
|
|
926
|
+
patch?: never;
|
|
927
|
+
trace?: never;
|
|
928
|
+
};
|
|
929
|
+
"/bodhi/v1/models/router/{id}": {
|
|
930
|
+
parameters: {
|
|
931
|
+
query?: never;
|
|
932
|
+
header?: never;
|
|
933
|
+
path?: never;
|
|
934
|
+
cookie?: never;
|
|
935
|
+
};
|
|
936
|
+
/**
|
|
937
|
+
* Get Model Router Configuration
|
|
938
|
+
* @description Retrieves the configuration for a specific model-router (composite) alias by ID.
|
|
939
|
+
*/
|
|
940
|
+
get: operations["getModelRouter"];
|
|
941
|
+
/** Update an existing model-router configuration */
|
|
942
|
+
put: operations["updateModelRouter"];
|
|
943
|
+
post?: never;
|
|
944
|
+
/** Delete a model-router configuration */
|
|
945
|
+
delete: operations["deleteModelRouter"];
|
|
946
|
+
options?: never;
|
|
947
|
+
head?: never;
|
|
948
|
+
patch?: never;
|
|
949
|
+
trace?: never;
|
|
950
|
+
};
|
|
832
951
|
"/bodhi/v1/models/{id}": {
|
|
833
952
|
parameters: {
|
|
834
953
|
query?: never;
|
|
@@ -1027,7 +1146,13 @@ export interface paths {
|
|
|
1027
1146
|
*/
|
|
1028
1147
|
put: operations["updateApiToken"];
|
|
1029
1148
|
post?: never;
|
|
1030
|
-
|
|
1149
|
+
/**
|
|
1150
|
+
* Delete API Token
|
|
1151
|
+
* @description Permanently deletes an API token owned by the current user, immediately revoking it.
|
|
1152
|
+
*
|
|
1153
|
+
* **Security Note:** Session-only authentication required to prevent token-based privilege escalation.
|
|
1154
|
+
*/
|
|
1155
|
+
delete: operations["deleteApiToken"];
|
|
1031
1156
|
options?: never;
|
|
1032
1157
|
head?: never;
|
|
1033
1158
|
patch?: never;
|
|
@@ -1198,32 +1323,23 @@ export type webhooks = Record<string, never>;
|
|
|
1198
1323
|
export interface components {
|
|
1199
1324
|
schemas: {
|
|
1200
1325
|
AccessRequestActionResponse: {
|
|
1201
|
-
/** @description Updated status after action */
|
|
1202
1326
|
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1203
|
-
/** @description
|
|
1204
|
-
|
|
1205
|
-
/** @description Redirect URL (present for redirect flow) */
|
|
1206
|
-
redirect_url?: string | null;
|
|
1327
|
+
/** @description Dynamic scope minted on approval; the review page appends it to `auth_url` before redirecting to Keycloak. */
|
|
1328
|
+
access_request_scope?: string | null;
|
|
1207
1329
|
};
|
|
1208
1330
|
AccessRequestReviewResponse: {
|
|
1209
|
-
/** @description Access request ID */
|
|
1210
1331
|
id: string;
|
|
1211
|
-
/** @description App client ID */
|
|
1212
1332
|
app_client_id: string;
|
|
1213
|
-
/** @description
|
|
1333
|
+
/** @description From KC, if available */
|
|
1214
1334
|
app_name?: string | null;
|
|
1215
|
-
/** @description
|
|
1335
|
+
/** @description From KC, if available */
|
|
1216
1336
|
app_description?: string | null;
|
|
1217
|
-
/** @description Flow type: "redirect" or "popup" */
|
|
1218
|
-
flow_type: components["schemas"]["FlowType"];
|
|
1219
|
-
/** @description Current status */
|
|
1220
1337
|
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1221
|
-
/** @description Role requested by the app */
|
|
1222
1338
|
requested_role: string;
|
|
1223
|
-
/** @description Resources requested */
|
|
1224
1339
|
requested: components["schemas"]["RequestedResources"];
|
|
1225
|
-
/** @description MCP server information with user instances */
|
|
1226
1340
|
mcps_info?: components["schemas"]["McpServerReviewInfo"][];
|
|
1341
|
+
/** @description Canonical Keycloak authorize endpoint the review page validates the app-supplied `auth_url` against. */
|
|
1342
|
+
auth_endpoint: string;
|
|
1227
1343
|
};
|
|
1228
1344
|
/** @example {
|
|
1229
1345
|
* "access_request_scope": "scope_access_request:550e8400-e29b-41d4-a716-446655440000",
|
|
@@ -1233,14 +1349,12 @@ export interface components {
|
|
|
1233
1349
|
* "status": "approved"
|
|
1234
1350
|
* } */
|
|
1235
1351
|
AccessRequestStatusResponse: {
|
|
1236
|
-
/** @description Access request ID */
|
|
1237
1352
|
id: string;
|
|
1238
|
-
/** @description
|
|
1353
|
+
/** @description One of: "draft", "approved", "denied", "failed" */
|
|
1239
1354
|
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1240
|
-
/** @description Role requested by the app */
|
|
1241
1355
|
requested_role: components["schemas"]["UserScope"];
|
|
1242
1356
|
approved_role?: null | components["schemas"]["UserScope"];
|
|
1243
|
-
/** @description
|
|
1357
|
+
/** @description Present when user-approved with tools */
|
|
1244
1358
|
access_request_scope?: string | null;
|
|
1245
1359
|
};
|
|
1246
1360
|
/** @description Flat enum representing all types of model aliases
|
|
@@ -1254,10 +1368,54 @@ export interface components {
|
|
|
1254
1368
|
}) | (components["schemas"]["ApiAlias"] & {
|
|
1255
1369
|
/** @enum {string} */
|
|
1256
1370
|
source: "api";
|
|
1371
|
+
}) | (components["schemas"]["ModelRouterAlias"] & {
|
|
1372
|
+
/** @enum {string} */
|
|
1373
|
+
source: "model_router";
|
|
1257
1374
|
});
|
|
1375
|
+
/** @description Facet filter query parameters for the All-Models list (`GET /bodhi/v1/models`).
|
|
1376
|
+
*
|
|
1377
|
+
* All facets are server-side and applied before pagination so `total` and the page
|
|
1378
|
+
* reflect the filtered set. Multi-value facets accept a comma-separated list; an empty
|
|
1379
|
+
* or absent value means "no filter for this facet" (all rows pass). */
|
|
1380
|
+
AliasFilterParams: {
|
|
1381
|
+
/**
|
|
1382
|
+
* @description Alias type facet (comma-separated): `local_file`, `model_alias`, `api_model`, `fallback`.
|
|
1383
|
+
* @example local_file,model_alias
|
|
1384
|
+
*/
|
|
1385
|
+
type?: string | null;
|
|
1386
|
+
/**
|
|
1387
|
+
* @description API-format facet (comma-separated), API rows only: `openai`, `responses`, `anthropic`,
|
|
1388
|
+
* `gemini`, `liberty`. `anthropic` matches both anthropic and anthropic_oauth aliases.
|
|
1389
|
+
* @example openai,anthropic
|
|
1390
|
+
*/
|
|
1391
|
+
api_format?: string | null;
|
|
1392
|
+
/**
|
|
1393
|
+
* Format: int64
|
|
1394
|
+
* @description Minimum local-file size in bytes (inclusive). Applies to local rows with a known size;
|
|
1395
|
+
* rows without a size (API/router) are not filtered out by size.
|
|
1396
|
+
*/
|
|
1397
|
+
size_min?: number | null;
|
|
1398
|
+
/**
|
|
1399
|
+
* Format: int64
|
|
1400
|
+
* @description Maximum local-file size in bytes (inclusive). See `size_min`.
|
|
1401
|
+
*/
|
|
1402
|
+
size_max?: number | null;
|
|
1403
|
+
/**
|
|
1404
|
+
* @description Capability facet (comma-separated), local rows only: `vision`, `tool_use`, `reasoning`.
|
|
1405
|
+
* A row passes only if it has metadata with every requested capability set true.
|
|
1406
|
+
* @example vision,tool_use
|
|
1407
|
+
*/
|
|
1408
|
+
capability?: string | null;
|
|
1409
|
+
/**
|
|
1410
|
+
* @description Free-text search (case-insensitive substring) over a row's identifying fields — alias/name,
|
|
1411
|
+
* repo, filename for local rows; id, name, base_url for API rows; alias for routers.
|
|
1412
|
+
* @example llama
|
|
1413
|
+
*/
|
|
1414
|
+
search?: string | null;
|
|
1415
|
+
};
|
|
1258
1416
|
/** @description Response envelope for model aliases - hides internal implementation details
|
|
1259
1417
|
* Uses untagged serialization - each variant has its own "source" field */
|
|
1260
|
-
AliasResponse: components["schemas"]["UserAliasResponse"] | components["schemas"]["ModelAliasResponse"] | components["schemas"]["ApiAliasResponse"];
|
|
1418
|
+
AliasResponse: components["schemas"]["ModelRouterResponse"] | components["schemas"]["UserAliasResponse"] | components["schemas"]["ModelAliasResponse"] | components["schemas"]["ApiAliasResponse"];
|
|
1261
1419
|
/** @description Mirrors Anthropic's `ModelInfo` schema — full model metadata returned by
|
|
1262
1420
|
* `GET /anthropic/v1/models` and stored alongside model IDs in `ApiAlias.models`.
|
|
1263
1421
|
*
|
|
@@ -1275,10 +1433,9 @@ export interface components {
|
|
|
1275
1433
|
max_input_tokens?: number | null;
|
|
1276
1434
|
/** Format: int64 */
|
|
1277
1435
|
max_tokens?: number | null;
|
|
1278
|
-
/** @description Always `"model"` — included for Anthropic API compatibility. */
|
|
1279
1436
|
type: string;
|
|
1280
1437
|
};
|
|
1281
|
-
/** @description
|
|
1438
|
+
/** @description Anthropic ModelCapabilities schema. */
|
|
1282
1439
|
AnthropicModelCapabilities: {
|
|
1283
1440
|
batch: components["schemas"]["CapabilitySupport"];
|
|
1284
1441
|
citations: components["schemas"]["CapabilitySupport"];
|
|
@@ -1292,6 +1449,7 @@ export interface components {
|
|
|
1292
1449
|
};
|
|
1293
1450
|
ApiAlias: {
|
|
1294
1451
|
id: string;
|
|
1452
|
+
name: string;
|
|
1295
1453
|
api_format: components["schemas"]["ApiFormat"];
|
|
1296
1454
|
base_url: string;
|
|
1297
1455
|
models: components["schemas"]["ApiModelVec"];
|
|
@@ -1308,6 +1466,7 @@ export interface components {
|
|
|
1308
1466
|
ApiAliasResponse: {
|
|
1309
1467
|
source: string;
|
|
1310
1468
|
id: string;
|
|
1469
|
+
name: string;
|
|
1311
1470
|
api_format: components["schemas"]["ApiFormat"];
|
|
1312
1471
|
base_url: string;
|
|
1313
1472
|
has_api_key: boolean;
|
|
@@ -1403,13 +1562,31 @@ export interface components {
|
|
|
1403
1562
|
/** @description DB-storable `Vec<ApiModel>` — stored as JSON binary in SeaORM columns. */
|
|
1404
1563
|
ApiModelVec: components["schemas"]["ApiModel"][];
|
|
1405
1564
|
/** @enum {string} */
|
|
1406
|
-
AppAccessRequestStatus: "draft" | "approved" | "denied" | "failed" | "expired";
|
|
1565
|
+
AppAccessRequestStatus: "draft" | "approved" | "denied" | "failed" | "expired" | "revoked";
|
|
1566
|
+
/** @description One issued app token (approved access request) with its effective grant summary. */
|
|
1567
|
+
AppAccessSummary: {
|
|
1568
|
+
id: string;
|
|
1569
|
+
app_client_id: string;
|
|
1570
|
+
app_name?: string | null;
|
|
1571
|
+
app_description?: string | null;
|
|
1572
|
+
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1573
|
+
approved_role?: null | components["schemas"]["UserScope"];
|
|
1574
|
+
/** @description Effective model access granted to this app. */
|
|
1575
|
+
models: components["schemas"]["ResourceAccess"];
|
|
1576
|
+
/** @description Effective MCP access granted to this app. */
|
|
1577
|
+
mcps: components["schemas"]["ResourceAccess"];
|
|
1578
|
+
/** Format: date-time */
|
|
1579
|
+
created_at: string;
|
|
1580
|
+
/** Format: date-time */
|
|
1581
|
+
updated_at: string;
|
|
1582
|
+
};
|
|
1407
1583
|
/**
|
|
1408
1584
|
* @description Application information and status
|
|
1409
1585
|
* @example {
|
|
1410
1586
|
* "client_id": "my-client-id",
|
|
1411
1587
|
* "commit_sha": "abc1234",
|
|
1412
1588
|
* "deployment": "standalone",
|
|
1589
|
+
* "reference_api_url": "https://api.getbodhi.app",
|
|
1413
1590
|
* "status": "ready",
|
|
1414
1591
|
* "url": "https://example.com",
|
|
1415
1592
|
* "version": "0.1.0"
|
|
@@ -1440,6 +1617,12 @@ export interface components {
|
|
|
1440
1617
|
* @example https://example.com
|
|
1441
1618
|
*/
|
|
1442
1619
|
url: string;
|
|
1620
|
+
/**
|
|
1621
|
+
* @description Base URL of the external reference API the frontend calls directly (configurable via
|
|
1622
|
+
* `BODHI_REFERENCE_API_URL`, env-overridable for tests)
|
|
1623
|
+
* @example https://api.getbodhi.app
|
|
1624
|
+
*/
|
|
1625
|
+
reference_api_url: string;
|
|
1443
1626
|
};
|
|
1444
1627
|
AppRole: components["schemas"]["ResourceRole"] | components["schemas"]["TokenScope"] | components["schemas"]["UserScope"];
|
|
1445
1628
|
/**
|
|
@@ -1449,9 +1632,7 @@ export interface components {
|
|
|
1449
1632
|
AppStatus: "setup" | "ready" | "resource_admin";
|
|
1450
1633
|
/** @enum {string} */
|
|
1451
1634
|
ApprovalStatus: "approved" | "denied";
|
|
1452
|
-
/**
|
|
1453
|
-
* @description Request for approving an app access request
|
|
1454
|
-
* @example {
|
|
1635
|
+
/** @example {
|
|
1455
1636
|
* "approved": {
|
|
1456
1637
|
* "mcps": [
|
|
1457
1638
|
* {
|
|
@@ -1466,8 +1647,7 @@ export interface components {
|
|
|
1466
1647
|
* "version": "1"
|
|
1467
1648
|
* },
|
|
1468
1649
|
* "approved_role": "scope_user_user"
|
|
1469
|
-
* }
|
|
1470
|
-
*/
|
|
1650
|
+
* } */
|
|
1471
1651
|
ApproveAccessRequest: {
|
|
1472
1652
|
/** @description Role to grant for the approved request (scope_user_user or scope_user_power_user) */
|
|
1473
1653
|
approved_role: components["schemas"]["UserScope"];
|
|
@@ -1484,14 +1664,23 @@ export interface components {
|
|
|
1484
1664
|
/** @description Role to assign to the user */
|
|
1485
1665
|
role: components["schemas"]["ResourceRole"];
|
|
1486
1666
|
};
|
|
1487
|
-
/** @description
|
|
1488
|
-
* The `version` tag is mandatory and must match the corresponding `RequestedResources` version. */
|
|
1667
|
+
/** @description The `version` tag is mandatory and must match the corresponding `RequestedResources` version. */
|
|
1489
1668
|
ApprovedResources: components["schemas"]["ApprovedResourcesV1"] & {
|
|
1490
1669
|
/** @enum {string} */
|
|
1491
1670
|
version: "1";
|
|
1492
1671
|
};
|
|
1672
|
+
/** @description What the owner granted at consent. Field names mirror `RequestedResourcesV1`
|
|
1673
|
+
* (`models_list` / `models_access` / `mcps_list` / `mcps_access`) — there the
|
|
1674
|
+
* values are UI-driver booleans, here they are the actual grants. `mcps` holds
|
|
1675
|
+
* the by-url instance approvals; `mcps_access` is the owner-granted set beyond them. */
|
|
1493
1676
|
ApprovedResourcesV1: {
|
|
1677
|
+
models_list?: boolean;
|
|
1678
|
+
models_access?: components["schemas"]["ModelGrant"];
|
|
1679
|
+
mcps_list?: boolean;
|
|
1494
1680
|
mcps?: components["schemas"]["McpApproval"][];
|
|
1681
|
+
/** @description Owner-granted MCP instances beyond the by-url requests. Defaults to none
|
|
1682
|
+
* (empty `Specific`) — unlike a token's all-access default. */
|
|
1683
|
+
mcps_access?: components["schemas"]["McpGrant"];
|
|
1495
1684
|
};
|
|
1496
1685
|
/** @example {
|
|
1497
1686
|
* "code": "auth_code_123",
|
|
@@ -1499,12 +1688,12 @@ export interface components {
|
|
|
1499
1688
|
* } */
|
|
1500
1689
|
AuthCallbackRequest: {
|
|
1501
1690
|
/**
|
|
1502
|
-
* @description
|
|
1691
|
+
* @description Required for the success flow
|
|
1503
1692
|
* @example auth_code_123
|
|
1504
1693
|
*/
|
|
1505
1694
|
code?: string | null;
|
|
1506
1695
|
/**
|
|
1507
|
-
* @description
|
|
1696
|
+
* @description CSRF protection — must match the initiated request
|
|
1508
1697
|
* @example random_state_456
|
|
1509
1698
|
*/
|
|
1510
1699
|
state?: string | null;
|
|
@@ -1513,10 +1702,7 @@ export interface components {
|
|
|
1513
1702
|
* @example access_denied
|
|
1514
1703
|
*/
|
|
1515
1704
|
error?: string | null;
|
|
1516
|
-
/**
|
|
1517
|
-
* @description Human-readable OAuth error description if authentication failed
|
|
1518
|
-
* @example The user denied the request
|
|
1519
|
-
*/
|
|
1705
|
+
/** @example The user denied the request */
|
|
1520
1706
|
error_description?: string | null;
|
|
1521
1707
|
} & {
|
|
1522
1708
|
[key: string]: string;
|
|
@@ -1593,7 +1779,6 @@ export interface components {
|
|
|
1593
1779
|
/** @description Error details following Bodhi API error format */
|
|
1594
1780
|
error: components["schemas"]["BodhiError"];
|
|
1595
1781
|
};
|
|
1596
|
-
/** @description Whether a single capability is supported by the model. */
|
|
1597
1782
|
CapabilitySupport: {
|
|
1598
1783
|
supported: boolean;
|
|
1599
1784
|
};
|
|
@@ -1608,7 +1793,6 @@ export interface components {
|
|
|
1608
1793
|
/** Format: int64 */
|
|
1609
1794
|
max_output_tokens?: number | null;
|
|
1610
1795
|
};
|
|
1611
|
-
/** @description Context management capability details. */
|
|
1612
1796
|
ContextManagementCapability: {
|
|
1613
1797
|
clear_thinking_20251015?: null | components["schemas"]["CapabilitySupport"];
|
|
1614
1798
|
clear_tool_uses_20250919?: null | components["schemas"]["CapabilitySupport"];
|
|
@@ -1617,12 +1801,8 @@ export interface components {
|
|
|
1617
1801
|
CopyAliasRequest: {
|
|
1618
1802
|
alias: string;
|
|
1619
1803
|
};
|
|
1620
|
-
/**
|
|
1621
|
-
* @description Request for creating an app access request
|
|
1622
|
-
* @example {
|
|
1804
|
+
/** @example {
|
|
1623
1805
|
* "app_client_id": "my-app-client",
|
|
1624
|
-
* "flow_type": "redirect",
|
|
1625
|
-
* "redirect_url": "https://myapp.com/callback",
|
|
1626
1806
|
* "requested": {
|
|
1627
1807
|
* "mcp_servers": [
|
|
1628
1808
|
* {
|
|
@@ -1632,15 +1812,10 @@ export interface components {
|
|
|
1632
1812
|
* "version": "1"
|
|
1633
1813
|
* },
|
|
1634
1814
|
* "requested_role": "scope_user_user"
|
|
1635
|
-
* }
|
|
1636
|
-
*/
|
|
1815
|
+
* } */
|
|
1637
1816
|
CreateAccessRequest: {
|
|
1638
1817
|
/** @description App client ID from Keycloak */
|
|
1639
1818
|
app_client_id: string;
|
|
1640
|
-
/** @description Flow type: "redirect" or "popup" */
|
|
1641
|
-
flow_type: components["schemas"]["FlowType"];
|
|
1642
|
-
/** @description Redirect URL for result notification (required for redirect flow) */
|
|
1643
|
-
redirect_url?: string | null;
|
|
1644
1819
|
/** @description Role requested for the external app (scope_user_user or scope_user_power_user) */
|
|
1645
1820
|
requested_role: components["schemas"]["UserScope"];
|
|
1646
1821
|
/** @description Resources requested (tools, etc.) */
|
|
@@ -1652,11 +1827,9 @@ export interface components {
|
|
|
1652
1827
|
* "status": "draft"
|
|
1653
1828
|
* } */
|
|
1654
1829
|
CreateAccessRequestResponse: {
|
|
1655
|
-
/** @description Access request ID */
|
|
1656
1830
|
id: string;
|
|
1657
|
-
/** @description
|
|
1831
|
+
/** @description Always "draft" */
|
|
1658
1832
|
status: components["schemas"]["AppAccessRequestStatus"];
|
|
1659
|
-
/** @description Review URL for user to approve/deny */
|
|
1660
1833
|
review_url: string;
|
|
1661
1834
|
};
|
|
1662
1835
|
/** @description Wrapper for creating auth configs with server_id in body instead of path */
|
|
@@ -1706,6 +1879,9 @@ export interface components {
|
|
|
1706
1879
|
name?: string | null;
|
|
1707
1880
|
/** @description Token scope defining access level */
|
|
1708
1881
|
scope: components["schemas"]["TokenScope"];
|
|
1882
|
+
/** @description Per-resource grants for this token. Defaults to deny (least-privilege) when
|
|
1883
|
+
* omitted — specify grants to widen access. */
|
|
1884
|
+
grants?: components["schemas"]["TokenGrants"];
|
|
1709
1885
|
};
|
|
1710
1886
|
/** @description Dashboard user information from a validated dashboard session token */
|
|
1711
1887
|
DashboardUser: {
|
|
@@ -1717,6 +1893,8 @@ export interface components {
|
|
|
1717
1893
|
/** @description Inner request shape for the five non-llm-liberty `api_format` values.
|
|
1718
1894
|
* Shared across `openai`, `openai_responses`, `anthropic`, `anthropic_oauth`, `gemini`. */
|
|
1719
1895
|
DefaultApiModelRequest: {
|
|
1896
|
+
/** @description User-provided descriptive name for this API model */
|
|
1897
|
+
name: string;
|
|
1720
1898
|
/** @description API base URL */
|
|
1721
1899
|
base_url: string;
|
|
1722
1900
|
/** @description API key update action (Keep/Set with Some or None) */
|
|
@@ -1774,6 +1952,8 @@ export interface components {
|
|
|
1774
1952
|
/** Format: date-time */
|
|
1775
1953
|
started_at?: string | null;
|
|
1776
1954
|
/** Format: date-time */
|
|
1955
|
+
archived_at?: string | null;
|
|
1956
|
+
/** Format: date-time */
|
|
1777
1957
|
created_at: string;
|
|
1778
1958
|
/** Format: date-time */
|
|
1779
1959
|
updated_at: string;
|
|
@@ -1799,6 +1979,18 @@ export interface components {
|
|
|
1799
1979
|
low: components["schemas"]["CapabilitySupport"];
|
|
1800
1980
|
max: components["schemas"]["CapabilitySupport"];
|
|
1801
1981
|
};
|
|
1982
|
+
/** @description Per-strategy resilience config for the fallback strategy. Phase 1 persists defaults
|
|
1983
|
+
* and does not yet act on them (failover/health land in later phases). */
|
|
1984
|
+
FallbackConfig: {
|
|
1985
|
+
/** Format: int32 */
|
|
1986
|
+
cooldown_secs?: number;
|
|
1987
|
+
/**
|
|
1988
|
+
* Format: int32
|
|
1989
|
+
* @description 0 = try the whole chain.
|
|
1990
|
+
*/
|
|
1991
|
+
max_attempts?: number;
|
|
1992
|
+
honor_retry_after?: boolean;
|
|
1993
|
+
};
|
|
1802
1994
|
/**
|
|
1803
1995
|
* @description Request to fetch available models from provider. Discriminated on `api_format`.
|
|
1804
1996
|
* @example {
|
|
@@ -1843,8 +2035,6 @@ export interface components {
|
|
|
1843
2035
|
FetchModelsResponse: {
|
|
1844
2036
|
models: string[];
|
|
1845
2037
|
};
|
|
1846
|
-
/** @enum {string} */
|
|
1847
|
-
FlowType: "redirect" | "popup";
|
|
1848
2038
|
/** @description Gemini `Model` schema (see `openapi-gemini.json`). */
|
|
1849
2039
|
GeminiModel: {
|
|
1850
2040
|
name: string;
|
|
@@ -1867,6 +2057,10 @@ export interface components {
|
|
|
1867
2057
|
thinking?: boolean | null;
|
|
1868
2058
|
};
|
|
1869
2059
|
JsonVec: string[];
|
|
2060
|
+
/** @description Response for GET /access-requests/apps — the caller's issued app tokens. */
|
|
2061
|
+
ListAppAccessResponse: {
|
|
2062
|
+
data: components["schemas"]["AppAccessSummary"][];
|
|
2063
|
+
};
|
|
1870
2064
|
ListMcpServersResponse: {
|
|
1871
2065
|
mcp_servers: components["schemas"]["McpServerResponse"][];
|
|
1872
2066
|
};
|
|
@@ -1895,6 +2089,8 @@ export interface components {
|
|
|
1895
2089
|
/** @description Request shape for `api_format == "llm_liberty_oauth"`. Carries the full envelope
|
|
1896
2090
|
* (or `Keep` to leave existing credentials untouched on update). */
|
|
1897
2091
|
LlmLibertyApiModelRequest: {
|
|
2092
|
+
/** @description User-provided descriptive name for this API model */
|
|
2093
|
+
name: string;
|
|
1898
2094
|
/** @description Envelope update action — Keep (update only) or Set (create/replace credentials). */
|
|
1899
2095
|
envelope?: components["schemas"]["LlmLibertyEnvelopeUpdate"];
|
|
1900
2096
|
/** @description List of available models */
|
|
@@ -1904,6 +2100,7 @@ export interface components {
|
|
|
1904
2100
|
/** @description Whether to forward all requests with this prefix */
|
|
1905
2101
|
forward_all_with_prefix?: boolean;
|
|
1906
2102
|
};
|
|
2103
|
+
/** @description Envelope sub-types mirror the llm-liberty JSON contract v1.0.0. */
|
|
1907
2104
|
LlmLibertyAuthSpec: {
|
|
1908
2105
|
in: string;
|
|
1909
2106
|
key: string;
|
|
@@ -1978,7 +2175,6 @@ export interface components {
|
|
|
1978
2175
|
/** @description Test prompt (max 30 characters for cost control) */
|
|
1979
2176
|
prompt: string;
|
|
1980
2177
|
};
|
|
1981
|
-
/** @description Local model file response */
|
|
1982
2178
|
LocalModelResponse: {
|
|
1983
2179
|
repo: string;
|
|
1984
2180
|
filename: string;
|
|
@@ -1992,32 +2188,24 @@ export interface components {
|
|
|
1992
2188
|
};
|
|
1993
2189
|
/** @description User-owned MCP server instance. */
|
|
1994
2190
|
Mcp: {
|
|
1995
|
-
/** @description Unique instance identifier (UUID) */
|
|
1996
2191
|
id: string;
|
|
1997
2192
|
/** @description Server info resolved via JOIN */
|
|
1998
2193
|
mcp_server: components["schemas"]["McpServerInfo"];
|
|
1999
|
-
/** @description User-defined slug for this instance */
|
|
2000
2194
|
slug: string;
|
|
2001
|
-
/** @description Human-readable name */
|
|
2002
2195
|
name: string;
|
|
2003
|
-
/** @description Optional description for this instance */
|
|
2004
2196
|
description?: string | null;
|
|
2005
|
-
/** @description Whether this instance is enabled */
|
|
2006
2197
|
enabled: boolean;
|
|
2007
|
-
/** @description MCP proxy path for this instance */
|
|
2008
2198
|
path: string;
|
|
2009
2199
|
auth_type: components["schemas"]["McpAuthType"];
|
|
2010
2200
|
/** @description Reference to the auth config (mcp_auth_configs.id) */
|
|
2011
2201
|
auth_config_id?: string | null;
|
|
2012
2202
|
/**
|
|
2013
2203
|
* Format: date-time
|
|
2014
|
-
* @description When this instance was created
|
|
2015
2204
|
* @example 2024-11-10T04:52:06.786Z
|
|
2016
2205
|
*/
|
|
2017
2206
|
created_at: string;
|
|
2018
2207
|
/**
|
|
2019
2208
|
* Format: date-time
|
|
2020
|
-
* @description When this instance was last updated
|
|
2021
2209
|
* @example 2024-11-10T04:52:06.786Z
|
|
2022
2210
|
*/
|
|
2023
2211
|
updated_at: string;
|
|
@@ -2079,6 +2267,7 @@ export interface components {
|
|
|
2079
2267
|
McpAuthConfigsListResponse: {
|
|
2080
2268
|
auth_configs: components["schemas"]["McpAuthConfigResponse"][];
|
|
2081
2269
|
};
|
|
2270
|
+
/** @description Masked auth param response. */
|
|
2082
2271
|
McpAuthParam: {
|
|
2083
2272
|
id: string;
|
|
2084
2273
|
param_type: components["schemas"]["McpAuthParamType"];
|
|
@@ -2094,6 +2283,21 @@ export interface components {
|
|
|
2094
2283
|
McpAuthParamType: "header" | "query";
|
|
2095
2284
|
/** @enum {string} */
|
|
2096
2285
|
McpAuthType: "public" | "header" | "oauth";
|
|
2286
|
+
/** @description MCP connect grant. `All` is a wildcard (incl. future MCPs); `Specific` lists
|
|
2287
|
+
* the user's own instance ids (empty ⇒ no MCP access).
|
|
2288
|
+
*
|
|
2289
|
+
* Defaults to **least-privilege** (empty `Specific` ⇒ deny), symmetric with
|
|
2290
|
+
* `ModelGrant`: an unspecified or legacy grant grants nothing, so a stored
|
|
2291
|
+
* payload that omits `mcps` cannot silently grant every MCP. All-access must be
|
|
2292
|
+
* requested explicitly via `McpGrant::All`. */
|
|
2293
|
+
McpGrant: {
|
|
2294
|
+
/** @enum {string} */
|
|
2295
|
+
type: "all";
|
|
2296
|
+
} | {
|
|
2297
|
+
ids: string[];
|
|
2298
|
+
/** @enum {string} */
|
|
2299
|
+
type: "specific";
|
|
2300
|
+
};
|
|
2097
2301
|
McpInstance: {
|
|
2098
2302
|
id: string;
|
|
2099
2303
|
/** @description MCP proxy path for this instance (e.g. `/bodhi/v1/apps/mcps/{id}/mcp`) */
|
|
@@ -2101,51 +2305,37 @@ export interface components {
|
|
|
2101
2305
|
};
|
|
2102
2306
|
/** @description Input for creating or updating an MCP instance. */
|
|
2103
2307
|
McpRequest: {
|
|
2104
|
-
/** @description Human-readable name (required) */
|
|
2105
2308
|
name: string;
|
|
2106
|
-
/** @description
|
|
2309
|
+
/** @description 1-24 chars, alphanumeric + hyphens. */
|
|
2107
2310
|
slug: string;
|
|
2108
|
-
/** @description
|
|
2311
|
+
/** @description Required for create, ignored for update. */
|
|
2109
2312
|
mcp_server_id?: string | null;
|
|
2110
|
-
/** @description Optional description */
|
|
2111
2313
|
description?: string | null;
|
|
2112
|
-
/** @description Whether this instance is enabled */
|
|
2113
2314
|
enabled: boolean;
|
|
2114
|
-
/** @description Authentication type */
|
|
2115
2315
|
auth_type?: components["schemas"]["McpAuthType"];
|
|
2116
|
-
/** @description Reference to auth config */
|
|
2117
2316
|
auth_config_id?: string | null;
|
|
2118
|
-
/** @description Instance-level
|
|
2317
|
+
/** @description Instance-level values for the auth config's key definitions. */
|
|
2119
2318
|
credentials?: components["schemas"]["McpAuthParamInput"][] | null;
|
|
2120
|
-
/** @description OAuth token ID to link to this MCP instance (set after OAuth flow) */
|
|
2319
|
+
/** @description OAuth token ID to link to this MCP instance (set after OAuth flow). */
|
|
2121
2320
|
oauth_token_id?: string | null;
|
|
2122
2321
|
};
|
|
2123
|
-
/** @description Admin-managed MCP server registry entry.
|
|
2124
|
-
* Admins/managers register MCP server URLs that users can then create instances of. */
|
|
2322
|
+
/** @description Admin-managed MCP server registry entry that users create instances of. */
|
|
2125
2323
|
McpServer: {
|
|
2126
|
-
/** @description Unique identifier (UUID) */
|
|
2127
2324
|
id: string;
|
|
2128
2325
|
/** @description MCP server endpoint URL (trimmed, case-insensitive unique) */
|
|
2129
2326
|
url: string;
|
|
2130
|
-
/** @description Human-readable display name */
|
|
2131
2327
|
name: string;
|
|
2132
|
-
/** @description Optional description */
|
|
2133
2328
|
description?: string | null;
|
|
2134
|
-
/** @description Whether this MCP server is enabled */
|
|
2135
2329
|
enabled: boolean;
|
|
2136
|
-
/** @description User who created this entry */
|
|
2137
2330
|
created_by: string;
|
|
2138
|
-
/** @description User who last updated this entry */
|
|
2139
2331
|
updated_by: string;
|
|
2140
2332
|
/**
|
|
2141
2333
|
* Format: date-time
|
|
2142
|
-
* @description When this entry was created
|
|
2143
2334
|
* @example 2024-11-10T04:52:06.786Z
|
|
2144
2335
|
*/
|
|
2145
2336
|
created_at: string;
|
|
2146
2337
|
/**
|
|
2147
2338
|
* Format: date-time
|
|
2148
|
-
* @description When this entry was last updated
|
|
2149
2339
|
* @example 2024-11-10T04:52:06.786Z
|
|
2150
2340
|
*/
|
|
2151
2341
|
updated_at: string;
|
|
@@ -2159,13 +2349,10 @@ export interface components {
|
|
|
2159
2349
|
};
|
|
2160
2350
|
/** @description Input for creating or updating an MCP server. */
|
|
2161
2351
|
McpServerRequest: {
|
|
2162
|
-
/** @description MCP server endpoint URL (trimmed, case-insensitive unique) */
|
|
2352
|
+
/** @description MCP server endpoint URL (trimmed, case-insensitive unique). */
|
|
2163
2353
|
url: string;
|
|
2164
|
-
/** @description Human-readable display name */
|
|
2165
2354
|
name: string;
|
|
2166
|
-
/** @description Optional description */
|
|
2167
2355
|
description?: string | null;
|
|
2168
|
-
/** @description Whether this MCP server is enabled */
|
|
2169
2356
|
enabled: boolean;
|
|
2170
2357
|
auth_config?: null | components["schemas"]["CreateMcpAuthConfigRequest"];
|
|
2171
2358
|
};
|
|
@@ -2178,7 +2365,6 @@ export interface components {
|
|
|
2178
2365
|
auth_config?: null | components["schemas"]["McpAuthConfigResponse"];
|
|
2179
2366
|
};
|
|
2180
2367
|
McpServerReviewInfo: {
|
|
2181
|
-
/** @description Requested MCP server URL */
|
|
2182
2368
|
url: string;
|
|
2183
2369
|
/** @description User's MCP instances connected to this server URL */
|
|
2184
2370
|
instances: components["schemas"]["Mcp"][];
|
|
@@ -2211,6 +2397,11 @@ export interface components {
|
|
|
2211
2397
|
repo: string;
|
|
2212
2398
|
filename: string;
|
|
2213
2399
|
snapshot: string;
|
|
2400
|
+
/**
|
|
2401
|
+
* Format: int64
|
|
2402
|
+
* @description Local GGUF file size in bytes (present when the file is resolvable on disk)
|
|
2403
|
+
*/
|
|
2404
|
+
size?: number | null;
|
|
2214
2405
|
metadata?: null | components["schemas"]["ModelMetadata"];
|
|
2215
2406
|
};
|
|
2216
2407
|
ModelArchitecture: {
|
|
@@ -2226,6 +2417,20 @@ export interface components {
|
|
|
2226
2417
|
thinking?: boolean | null;
|
|
2227
2418
|
tools: components["schemas"]["ToolCapabilities"];
|
|
2228
2419
|
};
|
|
2420
|
+
/** @description Model inference grant. `All` is a wildcard that includes models added in the
|
|
2421
|
+
* future; `Specific` lists alias ids (empty ⇒ no model access).
|
|
2422
|
+
*
|
|
2423
|
+
* Defaults to **least-privilege** (empty `Specific` ⇒ deny): an unspecified or
|
|
2424
|
+
* legacy grant grants nothing. All-access must be requested explicitly via
|
|
2425
|
+
* `ModelGrant::All`. Symmetric with `ApprovedResourcesV1`'s empty-MCP default. */
|
|
2426
|
+
ModelGrant: {
|
|
2427
|
+
/** @enum {string} */
|
|
2428
|
+
type: "all";
|
|
2429
|
+
} | {
|
|
2430
|
+
ids: string[];
|
|
2431
|
+
/** @enum {string} */
|
|
2432
|
+
type: "specific";
|
|
2433
|
+
};
|
|
2229
2434
|
/** @description Model metadata for API responses */
|
|
2230
2435
|
ModelMetadata: {
|
|
2231
2436
|
capabilities: components["schemas"]["ModelCapabilities"];
|
|
@@ -2233,6 +2438,39 @@ export interface components {
|
|
|
2233
2438
|
architecture: components["schemas"]["ModelArchitecture"];
|
|
2234
2439
|
chat_template?: string | null;
|
|
2235
2440
|
};
|
|
2441
|
+
/** @description A composite alias that fronts an ordered list of targets and routes a chat
|
|
2442
|
+
* request through them via a pluggable strategy. v1 ships only the fallback strategy. */
|
|
2443
|
+
ModelRouterAlias: {
|
|
2444
|
+
id: string;
|
|
2445
|
+
/** @description User-facing model name, unique across all alias kinds. */
|
|
2446
|
+
alias: string;
|
|
2447
|
+
/** @description Ordered list of targets; order is the fallback priority. */
|
|
2448
|
+
targets: components["schemas"]["RouterTarget"][];
|
|
2449
|
+
strategy: components["schemas"]["RoutingStrategyConfig"];
|
|
2450
|
+
/** Format: date-time */
|
|
2451
|
+
created_at: string;
|
|
2452
|
+
/** Format: date-time */
|
|
2453
|
+
updated_at: string;
|
|
2454
|
+
};
|
|
2455
|
+
/** @description Input request for creating or updating a model-router. Used as `ValidatedJson` in handlers
|
|
2456
|
+
* for both create and update (PUT). A zero-target or all-disabled router is allowed to save. */
|
|
2457
|
+
ModelRouterRequest: {
|
|
2458
|
+
alias: string;
|
|
2459
|
+
targets?: components["schemas"]["RouterTargetRequest"][];
|
|
2460
|
+
strategy?: components["schemas"]["RoutingStrategyConfig"];
|
|
2461
|
+
};
|
|
2462
|
+
/** @description API response for model-router aliases. */
|
|
2463
|
+
ModelRouterResponse: {
|
|
2464
|
+
source: string;
|
|
2465
|
+
id: string;
|
|
2466
|
+
alias: string;
|
|
2467
|
+
targets: components["schemas"]["RouterTarget"][];
|
|
2468
|
+
strategy: components["schemas"]["RoutingStrategyConfig"];
|
|
2469
|
+
/** Format: date-time */
|
|
2470
|
+
created_at: string;
|
|
2471
|
+
/** Format: date-time */
|
|
2472
|
+
updated_at: string;
|
|
2473
|
+
};
|
|
2236
2474
|
/**
|
|
2237
2475
|
* @description Request for creating a new download request
|
|
2238
2476
|
* @example {
|
|
@@ -2267,6 +2505,7 @@ export interface components {
|
|
|
2267
2505
|
/** Format: float */
|
|
2268
2506
|
top_p?: number | null;
|
|
2269
2507
|
user?: string | null;
|
|
2508
|
+
system_prompt?: string | null;
|
|
2270
2509
|
};
|
|
2271
2510
|
OAuthDiscoverAsRequest: {
|
|
2272
2511
|
url: string;
|
|
@@ -2325,7 +2564,6 @@ export interface components {
|
|
|
2325
2564
|
page: number;
|
|
2326
2565
|
page_size: number;
|
|
2327
2566
|
};
|
|
2328
|
-
/** @description Paginated list of local model files */
|
|
2329
2567
|
PaginatedLocalModelResponse: {
|
|
2330
2568
|
data: components["schemas"]["LocalModelResponse"][];
|
|
2331
2569
|
total: number;
|
|
@@ -2409,7 +2647,6 @@ export interface components {
|
|
|
2409
2647
|
*/
|
|
2410
2648
|
message: string;
|
|
2411
2649
|
};
|
|
2412
|
-
/** @description Response for queue status operations */
|
|
2413
2650
|
QueueStatusResponse: {
|
|
2414
2651
|
/** @description Queue status ("idle" or "processing") */
|
|
2415
2652
|
status: string;
|
|
@@ -2467,17 +2704,82 @@ export interface components {
|
|
|
2467
2704
|
RequestedMcpServer: {
|
|
2468
2705
|
url: string;
|
|
2469
2706
|
};
|
|
2470
|
-
/** @description
|
|
2471
|
-
* The `version` tag is mandatory — clients must specify which version they are using. */
|
|
2707
|
+
/** @description The `version` tag is mandatory — clients must specify which version they are using. */
|
|
2472
2708
|
RequestedResources: components["schemas"]["RequestedResourcesV1"] & {
|
|
2473
2709
|
/** @enum {string} */
|
|
2474
2710
|
version: "1";
|
|
2475
2711
|
};
|
|
2712
|
+
/** @description What the external app asks for. The four booleans are **UI drivers**: they tell
|
|
2713
|
+
* the consent screen which controls to render (the owner decides the actual grant).
|
|
2714
|
+
* Fields are domain-first (`models_*` / `mcps_*`), matching `ApprovedResourcesV1`.
|
|
2715
|
+
* `mcp_servers` is the existing by-url MCP request and is unchanged.
|
|
2716
|
+
*
|
|
2717
|
+
* `models_access` defaults to **true**: unless the app explicitly opts out
|
|
2718
|
+
* (`models_access: false`), the consent screen shows the model-access selector so
|
|
2719
|
+
* the owner can always scope models. (The other UI-driver flags default to false.) */
|
|
2476
2720
|
RequestedResourcesV1: {
|
|
2721
|
+
/** @description Render the "list all models" toggle. */
|
|
2722
|
+
models_list?: boolean;
|
|
2723
|
+
/** @description Render the model All/Specific access selector. Defaults to `true` (shown). */
|
|
2724
|
+
models_access?: boolean;
|
|
2725
|
+
/** @description Render the "list all MCPs" toggle. */
|
|
2726
|
+
mcps_list?: boolean;
|
|
2727
|
+
/** @description Render the owner-extra MCP All/Specific access selector. */
|
|
2728
|
+
mcps_access?: boolean;
|
|
2477
2729
|
mcp_servers?: components["schemas"]["RequestedMcpServer"][];
|
|
2478
2730
|
};
|
|
2731
|
+
/** @description Effective access to a class of resources (models or MCPs) for an API token,
|
|
2732
|
+
* reflected from its grants. Discriminated on `type`: `all` ⇒ every current and
|
|
2733
|
+
* future resource; `specific` ⇒ the listed `ids` (empty ⇒ no access).
|
|
2734
|
+
* `list` is the `list_*` toggle (whether the token may enumerate the full catalog). */
|
|
2735
|
+
ResourceAccess: {
|
|
2736
|
+
list: boolean;
|
|
2737
|
+
/** @enum {string} */
|
|
2738
|
+
type: "all";
|
|
2739
|
+
} | {
|
|
2740
|
+
list: boolean;
|
|
2741
|
+
ids: string[];
|
|
2742
|
+
/** @enum {string} */
|
|
2743
|
+
type: "specific";
|
|
2744
|
+
};
|
|
2745
|
+
/** @description Effective resource access for a token-bearing principal (API token or external
|
|
2746
|
+
* app), reflected from its grants. Reported uniformly via the `access` envelope
|
|
2747
|
+
* field for both principals. */
|
|
2748
|
+
ResourceAccessInfo: {
|
|
2749
|
+
/** @description Effective model access for this principal. */
|
|
2750
|
+
models: components["schemas"]["ResourceAccess"];
|
|
2751
|
+
/** @description Effective MCP access for this principal. */
|
|
2752
|
+
mcps: components["schemas"]["ResourceAccess"];
|
|
2753
|
+
};
|
|
2479
2754
|
/** @enum {string} */
|
|
2480
2755
|
ResourceRole: "resource_anonymous" | "resource_guest" | "resource_user" | "resource_power_user" | "resource_manager" | "resource_admin";
|
|
2756
|
+
/** @description One target in a model-router: a reference to an existing alias plus a pinned model. */
|
|
2757
|
+
RouterTarget: {
|
|
2758
|
+
/** @description Name of an existing user/model/api alias (NOT a model-router). */
|
|
2759
|
+
alias: string;
|
|
2760
|
+
/** @description Concrete model placed into `request["model"]` when forwarding to this target. */
|
|
2761
|
+
model: string;
|
|
2762
|
+
/** @description Whether this target is part of the active sequence. Disabled targets are never
|
|
2763
|
+
* attempted but keep their config and position. Defaults to enabled. */
|
|
2764
|
+
enabled?: boolean;
|
|
2765
|
+
/**
|
|
2766
|
+
* Format: int32
|
|
2767
|
+
* @description SEAM (reserved): ignored by Fallback; used by a future weighted strategy.
|
|
2768
|
+
*/
|
|
2769
|
+
weight?: number | null;
|
|
2770
|
+
};
|
|
2771
|
+
RouterTargetRequest: {
|
|
2772
|
+
alias: string;
|
|
2773
|
+
model: string;
|
|
2774
|
+
enabled?: boolean;
|
|
2775
|
+
/** Format: int32 */
|
|
2776
|
+
weight?: number | null;
|
|
2777
|
+
};
|
|
2778
|
+
/** @description Routing strategy config — DATA (persisted, wire-exposed). Adding a strategy = adding a variant. */
|
|
2779
|
+
RoutingStrategyConfig: components["schemas"]["FallbackConfig"] & {
|
|
2780
|
+
/** @enum {string} */
|
|
2781
|
+
strategy: "fallback";
|
|
2782
|
+
};
|
|
2481
2783
|
SettingInfo: {
|
|
2482
2784
|
key: string;
|
|
2483
2785
|
current_value: unknown;
|
|
@@ -2602,12 +2904,10 @@ export interface components {
|
|
|
2602
2904
|
response?: string | null;
|
|
2603
2905
|
error?: string | null;
|
|
2604
2906
|
};
|
|
2605
|
-
/** @description Thinking capability and supported type configurations. */
|
|
2606
2907
|
ThinkingCapability: {
|
|
2607
2908
|
supported: boolean;
|
|
2608
2909
|
types: components["schemas"]["ThinkingTypes"];
|
|
2609
2910
|
};
|
|
2610
|
-
/** @description Supported thinking type configurations. */
|
|
2611
2911
|
ThinkingTypes: {
|
|
2612
2912
|
adaptive: components["schemas"]["CapabilitySupport"];
|
|
2613
2913
|
enabled: components["schemas"]["CapabilitySupport"];
|
|
@@ -2629,12 +2929,35 @@ export interface components {
|
|
|
2629
2929
|
token_prefix: string;
|
|
2630
2930
|
scopes: string;
|
|
2631
2931
|
status: components["schemas"]["TokenStatus"];
|
|
2932
|
+
/** @description Per-resource grants this token carries. */
|
|
2933
|
+
grants: components["schemas"]["TokenGrants"];
|
|
2934
|
+
/** Format: date-time */
|
|
2935
|
+
last_used_at?: string | null;
|
|
2632
2936
|
/** Format: date-time */
|
|
2633
2937
|
created_at: string;
|
|
2634
2938
|
/** Format: date-time */
|
|
2635
2939
|
updated_at: string;
|
|
2636
2940
|
};
|
|
2637
|
-
/** @description
|
|
2941
|
+
/** @description Versioned envelope; the `version` tag is mandatory (mirrors `ApprovedResources`). */
|
|
2942
|
+
TokenGrants: components["schemas"]["TokenGrantsV1"] & {
|
|
2943
|
+
/** @enum {string} */
|
|
2944
|
+
version: "1";
|
|
2945
|
+
};
|
|
2946
|
+
/** @description Per-resource grants carried by an API token. Listing (`models_list` /
|
|
2947
|
+
* `mcps_list`) is separate from inference/connect: with listing off the
|
|
2948
|
+
* discovery endpoints return an empty set, but inference on an individually
|
|
2949
|
+
* granted resource still succeeds.
|
|
2950
|
+
*
|
|
2951
|
+
* Intentionally standalone — NOT shared with the App-access-request envelope
|
|
2952
|
+
* (`ApprovedResources`); the two may diverge. */
|
|
2953
|
+
TokenGrantsV1: {
|
|
2954
|
+
models_list?: boolean;
|
|
2955
|
+
models?: components["schemas"]["ModelGrant"];
|
|
2956
|
+
mcps_list?: boolean;
|
|
2957
|
+
mcps?: components["schemas"]["McpGrant"];
|
|
2958
|
+
};
|
|
2959
|
+
/** @description API Token information response. Effective model/MCP access is reported uniformly
|
|
2960
|
+
* via the envelope's `access` field (same shape as external apps), not inline here. */
|
|
2638
2961
|
TokenInfo: {
|
|
2639
2962
|
role: components["schemas"]["TokenScope"];
|
|
2640
2963
|
};
|
|
@@ -2646,14 +2969,11 @@ export interface components {
|
|
|
2646
2969
|
function_calling?: boolean | null;
|
|
2647
2970
|
structured_output?: boolean | null;
|
|
2648
2971
|
};
|
|
2649
|
-
/**
|
|
2650
|
-
* @description Request to update a setting value
|
|
2651
|
-
* @example {
|
|
2972
|
+
/** @example {
|
|
2652
2973
|
* "value": "debug"
|
|
2653
|
-
* }
|
|
2654
|
-
*/
|
|
2974
|
+
* } */
|
|
2655
2975
|
UpdateSettingRequest: {
|
|
2656
|
-
/** @description
|
|
2976
|
+
/** @description type depends on setting metadata */
|
|
2657
2977
|
value: unknown;
|
|
2658
2978
|
};
|
|
2659
2979
|
/** @example {
|
|
@@ -2766,6 +3086,11 @@ export interface components {
|
|
|
2766
3086
|
created_at: string;
|
|
2767
3087
|
/** Format: date-time */
|
|
2768
3088
|
updated_at: string;
|
|
3089
|
+
/**
|
|
3090
|
+
* Format: int64
|
|
3091
|
+
* @description Local GGUF file size in bytes (present when the file is resolvable on disk)
|
|
3092
|
+
*/
|
|
3093
|
+
size?: number | null;
|
|
2769
3094
|
metadata?: null | components["schemas"]["ModelMetadata"];
|
|
2770
3095
|
};
|
|
2771
3096
|
UserInfo: {
|
|
@@ -2778,10 +3103,14 @@ export interface components {
|
|
|
2778
3103
|
/** @example Doe */
|
|
2779
3104
|
last_name?: string | null;
|
|
2780
3105
|
role?: null | components["schemas"]["AppRole"];
|
|
3106
|
+
/** @description OIDC id_token for the active session, when present. Used by the frontend to
|
|
3107
|
+
* authenticate direct calls to the external reference API. Omitted for token/exchange auth. */
|
|
3108
|
+
id_token?: string | null;
|
|
2781
3109
|
};
|
|
2782
3110
|
/** @description Envelope wrapping UserResponse with additional session info */
|
|
2783
3111
|
UserInfoEnvelope: components["schemas"]["UserResponse"] & {
|
|
2784
3112
|
dashboard?: null | components["schemas"]["DashboardUser"];
|
|
3113
|
+
access?: null | components["schemas"]["ResourceAccessInfo"];
|
|
2785
3114
|
};
|
|
2786
3115
|
UserListResponse: {
|
|
2787
3116
|
/** @example resource-abc123def456 */
|
|
@@ -2907,31 +3236,22 @@ export interface operations {
|
|
|
2907
3236
|
};
|
|
2908
3237
|
};
|
|
2909
3238
|
};
|
|
2910
|
-
|
|
3239
|
+
listAppAccess: {
|
|
2911
3240
|
parameters: {
|
|
2912
|
-
query?:
|
|
2913
|
-
/** @description Page number (1-based indexing) */
|
|
2914
|
-
page?: number;
|
|
2915
|
-
/** @description Number of items to return per page (maximum 100) */
|
|
2916
|
-
page_size?: number;
|
|
2917
|
-
/** @description Field to sort by. Common values: repo, filename, size, updated_at, snapshot, created_at */
|
|
2918
|
-
sort?: string;
|
|
2919
|
-
/** @description Sort order: 'asc' for ascending, 'desc' for descending */
|
|
2920
|
-
sort_order?: string;
|
|
2921
|
-
};
|
|
3241
|
+
query?: never;
|
|
2922
3242
|
header?: never;
|
|
2923
3243
|
path?: never;
|
|
2924
3244
|
cookie?: never;
|
|
2925
3245
|
};
|
|
2926
3246
|
requestBody?: never;
|
|
2927
3247
|
responses: {
|
|
2928
|
-
/** @description
|
|
3248
|
+
/** @description Issued app tokens */
|
|
2929
3249
|
200: {
|
|
2930
3250
|
headers: {
|
|
2931
3251
|
[name: string]: unknown;
|
|
2932
3252
|
};
|
|
2933
3253
|
content: {
|
|
2934
|
-
"application/json": components["schemas"]["
|
|
3254
|
+
"application/json": components["schemas"]["ListAppAccessResponse"];
|
|
2935
3255
|
};
|
|
2936
3256
|
};
|
|
2937
3257
|
/** @description Invalid request parameters */
|
|
@@ -2972,21 +3292,86 @@ export interface operations {
|
|
|
2972
3292
|
};
|
|
2973
3293
|
};
|
|
2974
3294
|
};
|
|
2975
|
-
|
|
3295
|
+
listPendingAccessRequests: {
|
|
2976
3296
|
parameters: {
|
|
2977
|
-
query?:
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
/** @description
|
|
2981
|
-
|
|
3297
|
+
query?: {
|
|
3298
|
+
/** @description Page number (1-based indexing) */
|
|
3299
|
+
page?: number;
|
|
3300
|
+
/** @description Number of items to return per page (maximum 100) */
|
|
3301
|
+
page_size?: number;
|
|
3302
|
+
/** @description Field to sort by. Common values: repo, filename, size, updated_at, snapshot, created_at */
|
|
3303
|
+
sort?: string;
|
|
3304
|
+
/** @description Sort order: 'asc' for ascending, 'desc' for descending */
|
|
3305
|
+
sort_order?: string;
|
|
2982
3306
|
};
|
|
3307
|
+
header?: never;
|
|
3308
|
+
path?: never;
|
|
2983
3309
|
cookie?: never;
|
|
2984
3310
|
};
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
3311
|
+
requestBody?: never;
|
|
3312
|
+
responses: {
|
|
3313
|
+
/** @description Pending requests retrieved */
|
|
3314
|
+
200: {
|
|
3315
|
+
headers: {
|
|
3316
|
+
[name: string]: unknown;
|
|
3317
|
+
};
|
|
3318
|
+
content: {
|
|
3319
|
+
"application/json": components["schemas"]["PaginatedUserAccessResponse"];
|
|
3320
|
+
};
|
|
3321
|
+
};
|
|
3322
|
+
/** @description Invalid request parameters */
|
|
3323
|
+
400: {
|
|
3324
|
+
headers: {
|
|
3325
|
+
[name: string]: unknown;
|
|
3326
|
+
};
|
|
3327
|
+
content: {
|
|
3328
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3329
|
+
};
|
|
3330
|
+
};
|
|
3331
|
+
/** @description Not authenticated */
|
|
3332
|
+
401: {
|
|
3333
|
+
headers: {
|
|
3334
|
+
[name: string]: unknown;
|
|
3335
|
+
};
|
|
3336
|
+
content: {
|
|
3337
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3338
|
+
};
|
|
3339
|
+
};
|
|
3340
|
+
/** @description Insufficient permissions */
|
|
3341
|
+
403: {
|
|
3342
|
+
headers: {
|
|
3343
|
+
[name: string]: unknown;
|
|
3344
|
+
};
|
|
3345
|
+
content: {
|
|
3346
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3347
|
+
};
|
|
3348
|
+
};
|
|
3349
|
+
/** @description Internal server error */
|
|
3350
|
+
500: {
|
|
3351
|
+
headers: {
|
|
3352
|
+
[name: string]: unknown;
|
|
3353
|
+
};
|
|
3354
|
+
content: {
|
|
3355
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3356
|
+
};
|
|
3357
|
+
};
|
|
3358
|
+
};
|
|
3359
|
+
};
|
|
3360
|
+
approveAppsAccessRequest: {
|
|
3361
|
+
parameters: {
|
|
3362
|
+
query?: never;
|
|
3363
|
+
header?: never;
|
|
3364
|
+
path: {
|
|
3365
|
+
/** @description Access request ID */
|
|
3366
|
+
id: string;
|
|
3367
|
+
};
|
|
3368
|
+
cookie?: never;
|
|
3369
|
+
};
|
|
3370
|
+
/** @description Approval details with tool selections */
|
|
3371
|
+
requestBody: {
|
|
3372
|
+
content: {
|
|
3373
|
+
"application/json": components["schemas"]["ApproveAccessRequest"];
|
|
3374
|
+
};
|
|
2990
3375
|
};
|
|
2991
3376
|
responses: {
|
|
2992
3377
|
/** @description Request approved */
|
|
@@ -3345,6 +3730,83 @@ export interface operations {
|
|
|
3345
3730
|
};
|
|
3346
3731
|
};
|
|
3347
3732
|
};
|
|
3733
|
+
revokeAppAccess: {
|
|
3734
|
+
parameters: {
|
|
3735
|
+
query?: never;
|
|
3736
|
+
header?: never;
|
|
3737
|
+
path: {
|
|
3738
|
+
/** @description Access request ID */
|
|
3739
|
+
id: string;
|
|
3740
|
+
};
|
|
3741
|
+
cookie?: never;
|
|
3742
|
+
};
|
|
3743
|
+
requestBody?: never;
|
|
3744
|
+
responses: {
|
|
3745
|
+
/** @description Grant revoked */
|
|
3746
|
+
200: {
|
|
3747
|
+
headers: {
|
|
3748
|
+
[name: string]: unknown;
|
|
3749
|
+
};
|
|
3750
|
+
content: {
|
|
3751
|
+
"application/json": components["schemas"]["AppAccessSummary"];
|
|
3752
|
+
};
|
|
3753
|
+
};
|
|
3754
|
+
/** @description Invalid request parameters */
|
|
3755
|
+
400: {
|
|
3756
|
+
headers: {
|
|
3757
|
+
[name: string]: unknown;
|
|
3758
|
+
};
|
|
3759
|
+
content: {
|
|
3760
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3761
|
+
};
|
|
3762
|
+
};
|
|
3763
|
+
/** @description Not authenticated */
|
|
3764
|
+
401: {
|
|
3765
|
+
headers: {
|
|
3766
|
+
[name: string]: unknown;
|
|
3767
|
+
};
|
|
3768
|
+
content: {
|
|
3769
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3770
|
+
};
|
|
3771
|
+
};
|
|
3772
|
+
/** @description Insufficient permissions */
|
|
3773
|
+
403: {
|
|
3774
|
+
headers: {
|
|
3775
|
+
[name: string]: unknown;
|
|
3776
|
+
};
|
|
3777
|
+
content: {
|
|
3778
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3779
|
+
};
|
|
3780
|
+
};
|
|
3781
|
+
/** @description Not found */
|
|
3782
|
+
404: {
|
|
3783
|
+
headers: {
|
|
3784
|
+
[name: string]: unknown;
|
|
3785
|
+
};
|
|
3786
|
+
content: {
|
|
3787
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3788
|
+
};
|
|
3789
|
+
};
|
|
3790
|
+
/** @description Not in a revocable state */
|
|
3791
|
+
409: {
|
|
3792
|
+
headers: {
|
|
3793
|
+
[name: string]: unknown;
|
|
3794
|
+
};
|
|
3795
|
+
content: {
|
|
3796
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3797
|
+
};
|
|
3798
|
+
};
|
|
3799
|
+
/** @description Internal server error */
|
|
3800
|
+
500: {
|
|
3801
|
+
headers: {
|
|
3802
|
+
[name: string]: unknown;
|
|
3803
|
+
};
|
|
3804
|
+
content: {
|
|
3805
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
3806
|
+
};
|
|
3807
|
+
};
|
|
3808
|
+
};
|
|
3809
|
+
};
|
|
3348
3810
|
getAccessRequestStatus: {
|
|
3349
3811
|
parameters: {
|
|
3350
3812
|
query: {
|
|
@@ -5354,6 +5816,22 @@ export interface operations {
|
|
|
5354
5816
|
sort?: string;
|
|
5355
5817
|
/** @description Sort order: 'asc' for ascending, 'desc' for descending */
|
|
5356
5818
|
sort_order?: string;
|
|
5819
|
+
/** @description Alias type facet (comma-separated): `local_file`, `model_alias`, `api_model`, `fallback`. */
|
|
5820
|
+
type?: string;
|
|
5821
|
+
/** @description API-format facet (comma-separated), API rows only: `openai`, `responses`, `anthropic`,
|
|
5822
|
+
* `gemini`, `liberty`. `anthropic` matches both anthropic and anthropic_oauth aliases. */
|
|
5823
|
+
api_format?: string;
|
|
5824
|
+
/** @description Minimum local-file size in bytes (inclusive). Applies to local rows with a known size;
|
|
5825
|
+
* rows without a size (API/router) are not filtered out by size. */
|
|
5826
|
+
size_min?: number;
|
|
5827
|
+
/** @description Maximum local-file size in bytes (inclusive). See `size_min`. */
|
|
5828
|
+
size_max?: number;
|
|
5829
|
+
/** @description Capability facet (comma-separated), local rows only: `vision`, `tool_use`, `reasoning`.
|
|
5830
|
+
* A row passes only if it has metadata with every requested capability set true. */
|
|
5831
|
+
capability?: string;
|
|
5832
|
+
/** @description Free-text search (case-insensitive substring) over a row's identifying fields — alias/name,
|
|
5833
|
+
* repo, filename for local rows; id, name, base_url for API rows; alias for routers. */
|
|
5834
|
+
search?: string;
|
|
5357
5835
|
};
|
|
5358
5836
|
header?: never;
|
|
5359
5837
|
path?: never;
|
|
@@ -6608,39 +7086,25 @@ export interface operations {
|
|
|
6608
7086
|
};
|
|
6609
7087
|
};
|
|
6610
7088
|
};
|
|
6611
|
-
|
|
7089
|
+
archiveDownload: {
|
|
6612
7090
|
parameters: {
|
|
6613
7091
|
query?: never;
|
|
6614
7092
|
header?: never;
|
|
6615
|
-
path
|
|
6616
|
-
|
|
6617
|
-
|
|
6618
|
-
/** @description Refresh request - either bulk (source='all') or single model (source='model' with identifiers) */
|
|
6619
|
-
requestBody: {
|
|
6620
|
-
content: {
|
|
6621
|
-
"application/json": components["schemas"]["RefreshRequest"];
|
|
7093
|
+
path: {
|
|
7094
|
+
/** @description Unique identifier of the download request */
|
|
7095
|
+
id: string;
|
|
6622
7096
|
};
|
|
7097
|
+
cookie?: never;
|
|
6623
7098
|
};
|
|
7099
|
+
requestBody?: never;
|
|
6624
7100
|
responses: {
|
|
6625
|
-
/** @description
|
|
7101
|
+
/** @description Download request archived */
|
|
6626
7102
|
200: {
|
|
6627
7103
|
headers: {
|
|
6628
7104
|
[name: string]: unknown;
|
|
6629
7105
|
};
|
|
6630
7106
|
content: {
|
|
6631
|
-
"application/json": components["schemas"]["
|
|
6632
|
-
};
|
|
6633
|
-
};
|
|
6634
|
-
/** @description Metadata refresh queued in background (bulk mode) */
|
|
6635
|
-
202: {
|
|
6636
|
-
headers: {
|
|
6637
|
-
[name: string]: unknown;
|
|
6638
|
-
};
|
|
6639
|
-
content: {
|
|
6640
|
-
/** @example {
|
|
6641
|
-
* "num_queued": "all"
|
|
6642
|
-
* } */
|
|
6643
|
-
"application/json": components["schemas"]["RefreshResponse"];
|
|
7107
|
+
"application/json": components["schemas"]["DownloadRequest"];
|
|
6644
7108
|
};
|
|
6645
7109
|
};
|
|
6646
7110
|
/** @description Invalid request parameters */
|
|
@@ -6670,12 +7134,14 @@ export interface operations {
|
|
|
6670
7134
|
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
6671
7135
|
};
|
|
6672
7136
|
};
|
|
6673
|
-
/** @description
|
|
7137
|
+
/** @description Download request not found */
|
|
6674
7138
|
404: {
|
|
6675
7139
|
headers: {
|
|
6676
7140
|
[name: string]: unknown;
|
|
6677
7141
|
};
|
|
6678
|
-
content
|
|
7142
|
+
content: {
|
|
7143
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7144
|
+
};
|
|
6679
7145
|
};
|
|
6680
7146
|
/** @description Internal server error */
|
|
6681
7147
|
500: {
|
|
@@ -6688,25 +7154,25 @@ export interface operations {
|
|
|
6688
7154
|
};
|
|
6689
7155
|
};
|
|
6690
7156
|
};
|
|
6691
|
-
|
|
7157
|
+
retryDownload: {
|
|
6692
7158
|
parameters: {
|
|
6693
7159
|
query?: never;
|
|
6694
7160
|
header?: never;
|
|
6695
7161
|
path: {
|
|
6696
|
-
/** @description
|
|
7162
|
+
/** @description Unique identifier of the download request */
|
|
6697
7163
|
id: string;
|
|
6698
7164
|
};
|
|
6699
7165
|
cookie?: never;
|
|
6700
7166
|
};
|
|
6701
7167
|
requestBody?: never;
|
|
6702
7168
|
responses: {
|
|
6703
|
-
/** @description
|
|
7169
|
+
/** @description Download request reset and re-started */
|
|
6704
7170
|
200: {
|
|
6705
7171
|
headers: {
|
|
6706
7172
|
[name: string]: unknown;
|
|
6707
7173
|
};
|
|
6708
7174
|
content: {
|
|
6709
|
-
"application/json": components["schemas"]["
|
|
7175
|
+
"application/json": components["schemas"]["DownloadRequest"];
|
|
6710
7176
|
};
|
|
6711
7177
|
};
|
|
6712
7178
|
/** @description Invalid request parameters */
|
|
@@ -6736,19 +7202,12 @@ export interface operations {
|
|
|
6736
7202
|
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
6737
7203
|
};
|
|
6738
7204
|
};
|
|
6739
|
-
/** @description
|
|
7205
|
+
/** @description Download request not found */
|
|
6740
7206
|
404: {
|
|
6741
7207
|
headers: {
|
|
6742
7208
|
[name: string]: unknown;
|
|
6743
7209
|
};
|
|
6744
7210
|
content: {
|
|
6745
|
-
/** @example {
|
|
6746
|
-
* "error": {
|
|
6747
|
-
* "code": "alias_not_found",
|
|
6748
|
-
* "message": "Alias 'unknown:model' not found",
|
|
6749
|
-
* "type": "not_found_error"
|
|
6750
|
-
* }
|
|
6751
|
-
* } */
|
|
6752
7211
|
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
6753
7212
|
};
|
|
6754
7213
|
};
|
|
@@ -6763,25 +7222,39 @@ export interface operations {
|
|
|
6763
7222
|
};
|
|
6764
7223
|
};
|
|
6765
7224
|
};
|
|
6766
|
-
|
|
7225
|
+
refreshModelMetadata: {
|
|
6767
7226
|
parameters: {
|
|
6768
7227
|
query?: never;
|
|
6769
7228
|
header?: never;
|
|
6770
7229
|
path?: never;
|
|
6771
7230
|
cookie?: never;
|
|
6772
7231
|
};
|
|
6773
|
-
|
|
7232
|
+
/** @description Refresh request - either bulk (source='all') or single model (source='model' with identifiers) */
|
|
7233
|
+
requestBody: {
|
|
7234
|
+
content: {
|
|
7235
|
+
"application/json": components["schemas"]["RefreshRequest"];
|
|
7236
|
+
};
|
|
7237
|
+
};
|
|
6774
7238
|
responses: {
|
|
6775
|
-
/** @description
|
|
7239
|
+
/** @description Metadata refreshed successfully (sync mode) */
|
|
6776
7240
|
200: {
|
|
7241
|
+
headers: {
|
|
7242
|
+
[name: string]: unknown;
|
|
7243
|
+
};
|
|
7244
|
+
content: {
|
|
7245
|
+
"application/json": components["schemas"]["ModelAliasResponse"];
|
|
7246
|
+
};
|
|
7247
|
+
};
|
|
7248
|
+
/** @description Metadata refresh queued in background (bulk mode) */
|
|
7249
|
+
202: {
|
|
6777
7250
|
headers: {
|
|
6778
7251
|
[name: string]: unknown;
|
|
6779
7252
|
};
|
|
6780
7253
|
content: {
|
|
6781
7254
|
/** @example {
|
|
6782
|
-
* "
|
|
7255
|
+
* "num_queued": "all"
|
|
6783
7256
|
* } */
|
|
6784
|
-
"application/json": components["schemas"]["
|
|
7257
|
+
"application/json": components["schemas"]["RefreshResponse"];
|
|
6785
7258
|
};
|
|
6786
7259
|
};
|
|
6787
7260
|
/** @description Invalid request parameters */
|
|
@@ -6811,6 +7284,13 @@ export interface operations {
|
|
|
6811
7284
|
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
6812
7285
|
};
|
|
6813
7286
|
};
|
|
7287
|
+
/** @description Model alias not found for specified repo/filename/snapshot */
|
|
7288
|
+
404: {
|
|
7289
|
+
headers: {
|
|
7290
|
+
[name: string]: unknown;
|
|
7291
|
+
};
|
|
7292
|
+
content?: never;
|
|
7293
|
+
};
|
|
6814
7294
|
/** @description Internal server error */
|
|
6815
7295
|
500: {
|
|
6816
7296
|
headers: {
|
|
@@ -6822,51 +7302,26 @@ export interface operations {
|
|
|
6822
7302
|
};
|
|
6823
7303
|
};
|
|
6824
7304
|
};
|
|
6825
|
-
|
|
7305
|
+
createModelRouter: {
|
|
6826
7306
|
parameters: {
|
|
6827
7307
|
query?: never;
|
|
6828
7308
|
header?: never;
|
|
6829
7309
|
path?: never;
|
|
6830
7310
|
cookie?: never;
|
|
6831
7311
|
};
|
|
6832
|
-
requestBody
|
|
7312
|
+
requestBody: {
|
|
7313
|
+
content: {
|
|
7314
|
+
"application/json": components["schemas"]["ModelRouterRequest"];
|
|
7315
|
+
};
|
|
7316
|
+
};
|
|
6833
7317
|
responses: {
|
|
6834
|
-
/** @description
|
|
6835
|
-
|
|
7318
|
+
/** @description Model-router created */
|
|
7319
|
+
201: {
|
|
6836
7320
|
headers: {
|
|
6837
7321
|
[name: string]: unknown;
|
|
6838
7322
|
};
|
|
6839
7323
|
content: {
|
|
6840
|
-
|
|
6841
|
-
* {
|
|
6842
|
-
* "current_value": "info",
|
|
6843
|
-
* "default_value": "warn",
|
|
6844
|
-
* "key": "BODHI_LOG_LEVEL",
|
|
6845
|
-
* "metadata": {
|
|
6846
|
-
* "options": [
|
|
6847
|
-
* "error",
|
|
6848
|
-
* "warn",
|
|
6849
|
-
* "info",
|
|
6850
|
-
* "debug",
|
|
6851
|
-
* "trace"
|
|
6852
|
-
* ],
|
|
6853
|
-
* "type": "option"
|
|
6854
|
-
* },
|
|
6855
|
-
* "source": "environment"
|
|
6856
|
-
* },
|
|
6857
|
-
* {
|
|
6858
|
-
* "current_value": 1135,
|
|
6859
|
-
* "default_value": 1135,
|
|
6860
|
-
* "key": "BODHI_PORT",
|
|
6861
|
-
* "metadata": {
|
|
6862
|
-
* "max": 65535,
|
|
6863
|
-
* "min": 1025,
|
|
6864
|
-
* "type": "number"
|
|
6865
|
-
* },
|
|
6866
|
-
* "source": "default"
|
|
6867
|
-
* }
|
|
6868
|
-
* ] */
|
|
6869
|
-
"application/json": components["schemas"]["SettingInfo"][];
|
|
7324
|
+
"application/json": components["schemas"]["ModelRouterResponse"];
|
|
6870
7325
|
};
|
|
6871
7326
|
};
|
|
6872
7327
|
/** @description Invalid request parameters */
|
|
@@ -6907,12 +7362,437 @@ export interface operations {
|
|
|
6907
7362
|
};
|
|
6908
7363
|
};
|
|
6909
7364
|
};
|
|
6910
|
-
|
|
7365
|
+
getModelRouter: {
|
|
6911
7366
|
parameters: {
|
|
6912
7367
|
query?: never;
|
|
6913
7368
|
header?: never;
|
|
6914
7369
|
path: {
|
|
6915
|
-
/**
|
|
7370
|
+
/** @description Unique identifier for the model-router alias */
|
|
7371
|
+
id: string;
|
|
7372
|
+
};
|
|
7373
|
+
cookie?: never;
|
|
7374
|
+
};
|
|
7375
|
+
requestBody?: never;
|
|
7376
|
+
responses: {
|
|
7377
|
+
/** @description Model-router configuration retrieved */
|
|
7378
|
+
200: {
|
|
7379
|
+
headers: {
|
|
7380
|
+
[name: string]: unknown;
|
|
7381
|
+
};
|
|
7382
|
+
content: {
|
|
7383
|
+
"application/json": components["schemas"]["ModelRouterResponse"];
|
|
7384
|
+
};
|
|
7385
|
+
};
|
|
7386
|
+
/** @description Invalid request parameters */
|
|
7387
|
+
400: {
|
|
7388
|
+
headers: {
|
|
7389
|
+
[name: string]: unknown;
|
|
7390
|
+
};
|
|
7391
|
+
content: {
|
|
7392
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7393
|
+
};
|
|
7394
|
+
};
|
|
7395
|
+
/** @description Not authenticated */
|
|
7396
|
+
401: {
|
|
7397
|
+
headers: {
|
|
7398
|
+
[name: string]: unknown;
|
|
7399
|
+
};
|
|
7400
|
+
content: {
|
|
7401
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7402
|
+
};
|
|
7403
|
+
};
|
|
7404
|
+
/** @description Insufficient permissions */
|
|
7405
|
+
403: {
|
|
7406
|
+
headers: {
|
|
7407
|
+
[name: string]: unknown;
|
|
7408
|
+
};
|
|
7409
|
+
content: {
|
|
7410
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7411
|
+
};
|
|
7412
|
+
};
|
|
7413
|
+
/** @description Model-router with specified ID not found */
|
|
7414
|
+
404: {
|
|
7415
|
+
headers: {
|
|
7416
|
+
[name: string]: unknown;
|
|
7417
|
+
};
|
|
7418
|
+
content: {
|
|
7419
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7420
|
+
};
|
|
7421
|
+
};
|
|
7422
|
+
/** @description Internal server error */
|
|
7423
|
+
500: {
|
|
7424
|
+
headers: {
|
|
7425
|
+
[name: string]: unknown;
|
|
7426
|
+
};
|
|
7427
|
+
content: {
|
|
7428
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7429
|
+
};
|
|
7430
|
+
};
|
|
7431
|
+
};
|
|
7432
|
+
};
|
|
7433
|
+
updateModelRouter: {
|
|
7434
|
+
parameters: {
|
|
7435
|
+
query?: never;
|
|
7436
|
+
header?: never;
|
|
7437
|
+
path: {
|
|
7438
|
+
/** @description Model-router ID */
|
|
7439
|
+
id: string;
|
|
7440
|
+
};
|
|
7441
|
+
cookie?: never;
|
|
7442
|
+
};
|
|
7443
|
+
requestBody: {
|
|
7444
|
+
content: {
|
|
7445
|
+
"application/json": components["schemas"]["ModelRouterRequest"];
|
|
7446
|
+
};
|
|
7447
|
+
};
|
|
7448
|
+
responses: {
|
|
7449
|
+
/** @description Model-router updated */
|
|
7450
|
+
200: {
|
|
7451
|
+
headers: {
|
|
7452
|
+
[name: string]: unknown;
|
|
7453
|
+
};
|
|
7454
|
+
content: {
|
|
7455
|
+
"application/json": components["schemas"]["ModelRouterResponse"];
|
|
7456
|
+
};
|
|
7457
|
+
};
|
|
7458
|
+
/** @description Invalid request parameters */
|
|
7459
|
+
400: {
|
|
7460
|
+
headers: {
|
|
7461
|
+
[name: string]: unknown;
|
|
7462
|
+
};
|
|
7463
|
+
content: {
|
|
7464
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7465
|
+
};
|
|
7466
|
+
};
|
|
7467
|
+
/** @description Not authenticated */
|
|
7468
|
+
401: {
|
|
7469
|
+
headers: {
|
|
7470
|
+
[name: string]: unknown;
|
|
7471
|
+
};
|
|
7472
|
+
content: {
|
|
7473
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7474
|
+
};
|
|
7475
|
+
};
|
|
7476
|
+
/** @description Insufficient permissions */
|
|
7477
|
+
403: {
|
|
7478
|
+
headers: {
|
|
7479
|
+
[name: string]: unknown;
|
|
7480
|
+
};
|
|
7481
|
+
content: {
|
|
7482
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7483
|
+
};
|
|
7484
|
+
};
|
|
7485
|
+
/** @description Model-router not found */
|
|
7486
|
+
404: {
|
|
7487
|
+
headers: {
|
|
7488
|
+
[name: string]: unknown;
|
|
7489
|
+
};
|
|
7490
|
+
content: {
|
|
7491
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7492
|
+
};
|
|
7493
|
+
};
|
|
7494
|
+
/** @description Internal server error */
|
|
7495
|
+
500: {
|
|
7496
|
+
headers: {
|
|
7497
|
+
[name: string]: unknown;
|
|
7498
|
+
};
|
|
7499
|
+
content: {
|
|
7500
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7501
|
+
};
|
|
7502
|
+
};
|
|
7503
|
+
};
|
|
7504
|
+
};
|
|
7505
|
+
deleteModelRouter: {
|
|
7506
|
+
parameters: {
|
|
7507
|
+
query?: never;
|
|
7508
|
+
header?: never;
|
|
7509
|
+
path: {
|
|
7510
|
+
/** @description Model-router ID */
|
|
7511
|
+
id: string;
|
|
7512
|
+
};
|
|
7513
|
+
cookie?: never;
|
|
7514
|
+
};
|
|
7515
|
+
requestBody?: never;
|
|
7516
|
+
responses: {
|
|
7517
|
+
/** @description Model-router deleted */
|
|
7518
|
+
204: {
|
|
7519
|
+
headers: {
|
|
7520
|
+
[name: string]: unknown;
|
|
7521
|
+
};
|
|
7522
|
+
content?: never;
|
|
7523
|
+
};
|
|
7524
|
+
/** @description Invalid request parameters */
|
|
7525
|
+
400: {
|
|
7526
|
+
headers: {
|
|
7527
|
+
[name: string]: unknown;
|
|
7528
|
+
};
|
|
7529
|
+
content: {
|
|
7530
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7531
|
+
};
|
|
7532
|
+
};
|
|
7533
|
+
/** @description Not authenticated */
|
|
7534
|
+
401: {
|
|
7535
|
+
headers: {
|
|
7536
|
+
[name: string]: unknown;
|
|
7537
|
+
};
|
|
7538
|
+
content: {
|
|
7539
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7540
|
+
};
|
|
7541
|
+
};
|
|
7542
|
+
/** @description Insufficient permissions */
|
|
7543
|
+
403: {
|
|
7544
|
+
headers: {
|
|
7545
|
+
[name: string]: unknown;
|
|
7546
|
+
};
|
|
7547
|
+
content: {
|
|
7548
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7549
|
+
};
|
|
7550
|
+
};
|
|
7551
|
+
/** @description Model-router not found */
|
|
7552
|
+
404: {
|
|
7553
|
+
headers: {
|
|
7554
|
+
[name: string]: unknown;
|
|
7555
|
+
};
|
|
7556
|
+
content: {
|
|
7557
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7558
|
+
};
|
|
7559
|
+
};
|
|
7560
|
+
/** @description Internal server error */
|
|
7561
|
+
500: {
|
|
7562
|
+
headers: {
|
|
7563
|
+
[name: string]: unknown;
|
|
7564
|
+
};
|
|
7565
|
+
content: {
|
|
7566
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7567
|
+
};
|
|
7568
|
+
};
|
|
7569
|
+
};
|
|
7570
|
+
};
|
|
7571
|
+
getAlias: {
|
|
7572
|
+
parameters: {
|
|
7573
|
+
query?: never;
|
|
7574
|
+
header?: never;
|
|
7575
|
+
path: {
|
|
7576
|
+
/** @description UUID of the alias */
|
|
7577
|
+
id: string;
|
|
7578
|
+
};
|
|
7579
|
+
cookie?: never;
|
|
7580
|
+
};
|
|
7581
|
+
requestBody?: never;
|
|
7582
|
+
responses: {
|
|
7583
|
+
/** @description Model alias details */
|
|
7584
|
+
200: {
|
|
7585
|
+
headers: {
|
|
7586
|
+
[name: string]: unknown;
|
|
7587
|
+
};
|
|
7588
|
+
content: {
|
|
7589
|
+
"application/json": components["schemas"]["UserAliasResponse"];
|
|
7590
|
+
};
|
|
7591
|
+
};
|
|
7592
|
+
/** @description Invalid request parameters */
|
|
7593
|
+
400: {
|
|
7594
|
+
headers: {
|
|
7595
|
+
[name: string]: unknown;
|
|
7596
|
+
};
|
|
7597
|
+
content: {
|
|
7598
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7599
|
+
};
|
|
7600
|
+
};
|
|
7601
|
+
/** @description Not authenticated */
|
|
7602
|
+
401: {
|
|
7603
|
+
headers: {
|
|
7604
|
+
[name: string]: unknown;
|
|
7605
|
+
};
|
|
7606
|
+
content: {
|
|
7607
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7608
|
+
};
|
|
7609
|
+
};
|
|
7610
|
+
/** @description Insufficient permissions */
|
|
7611
|
+
403: {
|
|
7612
|
+
headers: {
|
|
7613
|
+
[name: string]: unknown;
|
|
7614
|
+
};
|
|
7615
|
+
content: {
|
|
7616
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7617
|
+
};
|
|
7618
|
+
};
|
|
7619
|
+
/** @description Alias not found */
|
|
7620
|
+
404: {
|
|
7621
|
+
headers: {
|
|
7622
|
+
[name: string]: unknown;
|
|
7623
|
+
};
|
|
7624
|
+
content: {
|
|
7625
|
+
/** @example {
|
|
7626
|
+
* "error": {
|
|
7627
|
+
* "code": "alias_not_found",
|
|
7628
|
+
* "message": "Alias 'unknown:model' not found",
|
|
7629
|
+
* "type": "not_found_error"
|
|
7630
|
+
* }
|
|
7631
|
+
* } */
|
|
7632
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7633
|
+
};
|
|
7634
|
+
};
|
|
7635
|
+
/** @description Internal server error */
|
|
7636
|
+
500: {
|
|
7637
|
+
headers: {
|
|
7638
|
+
[name: string]: unknown;
|
|
7639
|
+
};
|
|
7640
|
+
content: {
|
|
7641
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7642
|
+
};
|
|
7643
|
+
};
|
|
7644
|
+
};
|
|
7645
|
+
};
|
|
7646
|
+
getQueueStatus: {
|
|
7647
|
+
parameters: {
|
|
7648
|
+
query?: never;
|
|
7649
|
+
header?: never;
|
|
7650
|
+
path?: never;
|
|
7651
|
+
cookie?: never;
|
|
7652
|
+
};
|
|
7653
|
+
requestBody?: never;
|
|
7654
|
+
responses: {
|
|
7655
|
+
/** @description Queue status retrieved successfully */
|
|
7656
|
+
200: {
|
|
7657
|
+
headers: {
|
|
7658
|
+
[name: string]: unknown;
|
|
7659
|
+
};
|
|
7660
|
+
content: {
|
|
7661
|
+
/** @example {
|
|
7662
|
+
* "status": "idle"
|
|
7663
|
+
* } */
|
|
7664
|
+
"application/json": components["schemas"]["QueueStatusResponse"];
|
|
7665
|
+
};
|
|
7666
|
+
};
|
|
7667
|
+
/** @description Invalid request parameters */
|
|
7668
|
+
400: {
|
|
7669
|
+
headers: {
|
|
7670
|
+
[name: string]: unknown;
|
|
7671
|
+
};
|
|
7672
|
+
content: {
|
|
7673
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7674
|
+
};
|
|
7675
|
+
};
|
|
7676
|
+
/** @description Not authenticated */
|
|
7677
|
+
401: {
|
|
7678
|
+
headers: {
|
|
7679
|
+
[name: string]: unknown;
|
|
7680
|
+
};
|
|
7681
|
+
content: {
|
|
7682
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7683
|
+
};
|
|
7684
|
+
};
|
|
7685
|
+
/** @description Insufficient permissions */
|
|
7686
|
+
403: {
|
|
7687
|
+
headers: {
|
|
7688
|
+
[name: string]: unknown;
|
|
7689
|
+
};
|
|
7690
|
+
content: {
|
|
7691
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7692
|
+
};
|
|
7693
|
+
};
|
|
7694
|
+
/** @description Internal server error */
|
|
7695
|
+
500: {
|
|
7696
|
+
headers: {
|
|
7697
|
+
[name: string]: unknown;
|
|
7698
|
+
};
|
|
7699
|
+
content: {
|
|
7700
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7701
|
+
};
|
|
7702
|
+
};
|
|
7703
|
+
};
|
|
7704
|
+
};
|
|
7705
|
+
listSettings: {
|
|
7706
|
+
parameters: {
|
|
7707
|
+
query?: never;
|
|
7708
|
+
header?: never;
|
|
7709
|
+
path?: never;
|
|
7710
|
+
cookie?: never;
|
|
7711
|
+
};
|
|
7712
|
+
requestBody?: never;
|
|
7713
|
+
responses: {
|
|
7714
|
+
/** @description Application settings retrieved successfully */
|
|
7715
|
+
200: {
|
|
7716
|
+
headers: {
|
|
7717
|
+
[name: string]: unknown;
|
|
7718
|
+
};
|
|
7719
|
+
content: {
|
|
7720
|
+
/** @example [
|
|
7721
|
+
* {
|
|
7722
|
+
* "current_value": "info",
|
|
7723
|
+
* "default_value": "warn",
|
|
7724
|
+
* "key": "BODHI_LOG_LEVEL",
|
|
7725
|
+
* "metadata": {
|
|
7726
|
+
* "options": [
|
|
7727
|
+
* "error",
|
|
7728
|
+
* "warn",
|
|
7729
|
+
* "info",
|
|
7730
|
+
* "debug",
|
|
7731
|
+
* "trace"
|
|
7732
|
+
* ],
|
|
7733
|
+
* "type": "option"
|
|
7734
|
+
* },
|
|
7735
|
+
* "source": "environment"
|
|
7736
|
+
* },
|
|
7737
|
+
* {
|
|
7738
|
+
* "current_value": 1135,
|
|
7739
|
+
* "default_value": 1135,
|
|
7740
|
+
* "key": "BODHI_PORT",
|
|
7741
|
+
* "metadata": {
|
|
7742
|
+
* "max": 65535,
|
|
7743
|
+
* "min": 1025,
|
|
7744
|
+
* "type": "number"
|
|
7745
|
+
* },
|
|
7746
|
+
* "source": "default"
|
|
7747
|
+
* }
|
|
7748
|
+
* ] */
|
|
7749
|
+
"application/json": components["schemas"]["SettingInfo"][];
|
|
7750
|
+
};
|
|
7751
|
+
};
|
|
7752
|
+
/** @description Invalid request parameters */
|
|
7753
|
+
400: {
|
|
7754
|
+
headers: {
|
|
7755
|
+
[name: string]: unknown;
|
|
7756
|
+
};
|
|
7757
|
+
content: {
|
|
7758
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7759
|
+
};
|
|
7760
|
+
};
|
|
7761
|
+
/** @description Not authenticated */
|
|
7762
|
+
401: {
|
|
7763
|
+
headers: {
|
|
7764
|
+
[name: string]: unknown;
|
|
7765
|
+
};
|
|
7766
|
+
content: {
|
|
7767
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7768
|
+
};
|
|
7769
|
+
};
|
|
7770
|
+
/** @description Insufficient permissions */
|
|
7771
|
+
403: {
|
|
7772
|
+
headers: {
|
|
7773
|
+
[name: string]: unknown;
|
|
7774
|
+
};
|
|
7775
|
+
content: {
|
|
7776
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7777
|
+
};
|
|
7778
|
+
};
|
|
7779
|
+
/** @description Internal server error */
|
|
7780
|
+
500: {
|
|
7781
|
+
headers: {
|
|
7782
|
+
[name: string]: unknown;
|
|
7783
|
+
};
|
|
7784
|
+
content: {
|
|
7785
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
7786
|
+
};
|
|
7787
|
+
};
|
|
7788
|
+
};
|
|
7789
|
+
};
|
|
7790
|
+
updateSetting: {
|
|
7791
|
+
parameters: {
|
|
7792
|
+
query?: never;
|
|
7793
|
+
header?: never;
|
|
7794
|
+
path: {
|
|
7795
|
+
/**
|
|
6916
7796
|
* @description Setting key identifier (e.g., BODHI_LOG_LEVEL, BODHI_PORT)
|
|
6917
7797
|
* @example BODHI_LOG_LEVEL
|
|
6918
7798
|
*/
|
|
@@ -6927,7 +7807,7 @@ export interface operations {
|
|
|
6927
7807
|
* "value": "debug"
|
|
6928
7808
|
* } */
|
|
6929
7809
|
"application/json": {
|
|
6930
|
-
/** @description
|
|
7810
|
+
/** @description type depends on setting metadata */
|
|
6931
7811
|
value: unknown;
|
|
6932
7812
|
};
|
|
6933
7813
|
};
|
|
@@ -7586,6 +8466,75 @@ export interface operations {
|
|
|
7586
8466
|
};
|
|
7587
8467
|
};
|
|
7588
8468
|
};
|
|
8469
|
+
deleteApiToken: {
|
|
8470
|
+
parameters: {
|
|
8471
|
+
query?: never;
|
|
8472
|
+
header?: never;
|
|
8473
|
+
path: {
|
|
8474
|
+
/**
|
|
8475
|
+
* @description Unique identifier of the API token to delete
|
|
8476
|
+
* @example 550e8400-e29b-41d4-a716-446655440000
|
|
8477
|
+
*/
|
|
8478
|
+
id: string;
|
|
8479
|
+
};
|
|
8480
|
+
cookie?: never;
|
|
8481
|
+
};
|
|
8482
|
+
requestBody?: never;
|
|
8483
|
+
responses: {
|
|
8484
|
+
/** @description Token deleted successfully */
|
|
8485
|
+
204: {
|
|
8486
|
+
headers: {
|
|
8487
|
+
[name: string]: unknown;
|
|
8488
|
+
};
|
|
8489
|
+
content?: never;
|
|
8490
|
+
};
|
|
8491
|
+
/** @description Invalid request parameters */
|
|
8492
|
+
400: {
|
|
8493
|
+
headers: {
|
|
8494
|
+
[name: string]: unknown;
|
|
8495
|
+
};
|
|
8496
|
+
content: {
|
|
8497
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8498
|
+
};
|
|
8499
|
+
};
|
|
8500
|
+
/** @description Not authenticated */
|
|
8501
|
+
401: {
|
|
8502
|
+
headers: {
|
|
8503
|
+
[name: string]: unknown;
|
|
8504
|
+
};
|
|
8505
|
+
content: {
|
|
8506
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8507
|
+
};
|
|
8508
|
+
};
|
|
8509
|
+
/** @description Insufficient permissions */
|
|
8510
|
+
403: {
|
|
8511
|
+
headers: {
|
|
8512
|
+
[name: string]: unknown;
|
|
8513
|
+
};
|
|
8514
|
+
content: {
|
|
8515
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8516
|
+
};
|
|
8517
|
+
};
|
|
8518
|
+
/** @description Token not found */
|
|
8519
|
+
404: {
|
|
8520
|
+
headers: {
|
|
8521
|
+
[name: string]: unknown;
|
|
8522
|
+
};
|
|
8523
|
+
content: {
|
|
8524
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8525
|
+
};
|
|
8526
|
+
};
|
|
8527
|
+
/** @description Internal server error */
|
|
8528
|
+
500: {
|
|
8529
|
+
headers: {
|
|
8530
|
+
[name: string]: unknown;
|
|
8531
|
+
};
|
|
8532
|
+
content: {
|
|
8533
|
+
"application/json": components["schemas"]["BodhiErrorResponse"];
|
|
8534
|
+
};
|
|
8535
|
+
};
|
|
8536
|
+
};
|
|
8537
|
+
};
|
|
7589
8538
|
getCurrentUser: {
|
|
7590
8539
|
parameters: {
|
|
7591
8540
|
query?: never;
|