@bodhiapp/ts-client 0.1.19 → 0.1.21

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.
@@ -187,7 +187,7 @@ export interface paths {
187
187
  patch?: never;
188
188
  trace?: never;
189
189
  };
190
- "/bodhi/v1/api-models": {
190
+ "/bodhi/v1/apps/access-requests/{id}": {
191
191
  parameters: {
192
192
  query?: never;
193
193
  header?: never;
@@ -195,31 +195,27 @@ export interface paths {
195
195
  cookie?: never;
196
196
  };
197
197
  /**
198
- * List API Model Configurations
199
- * @description Retrieves paginated list of all configured API model aliases including external API formats like OpenAI, etc. API keys are masked in list view for security.
198
+ * Get Access Request Status
199
+ * @description Poll access request status. Requires app_client_id query parameter for security.
200
200
  */
201
- get: operations["listApiModels"];
201
+ get: operations["getAccessRequestStatus"];
202
202
  put?: never;
203
- /** Create a new API model configuration */
204
- post: operations["createApiModel"];
203
+ post?: never;
205
204
  delete?: never;
206
205
  options?: never;
207
206
  head?: never;
208
207
  patch?: never;
209
208
  trace?: never;
210
209
  };
211
- "/bodhi/v1/api-models/api-formats": {
210
+ "/bodhi/v1/apps/mcps": {
212
211
  parameters: {
213
212
  query?: never;
214
213
  header?: never;
215
214
  path?: never;
216
215
  cookie?: never;
217
216
  };
218
- /**
219
- * Get Available API Formats
220
- * @description Retrieves list of supported API formats/protocols (e.g., OpenAI).
221
- */
222
- get: operations["getApiFormats"];
217
+ /** List MCP instances accessible to the authenticated external app */
218
+ get: operations["appsListMcps"];
223
219
  put?: never;
224
220
  post?: never;
225
221
  delete?: never;
@@ -228,24 +224,24 @@ export interface paths {
228
224
  patch?: never;
229
225
  trace?: never;
230
226
  };
231
- "/bodhi/v1/api-models/fetch-models": {
227
+ "/bodhi/v1/apps/mcps/{id}": {
232
228
  parameters: {
233
229
  query?: never;
234
230
  header?: never;
235
231
  path?: never;
236
232
  cookie?: never;
237
233
  };
238
- get?: never;
234
+ /** Get a specific MCP instance by ID via external app */
235
+ get: operations["appsGetMcp"];
239
236
  put?: never;
240
- /** Fetch available models from the API. */
241
- post: operations["fetchApiModels"];
237
+ post?: never;
242
238
  delete?: never;
243
239
  options?: never;
244
240
  head?: never;
245
241
  patch?: never;
246
242
  trace?: never;
247
243
  };
248
- "/bodhi/v1/api-models/test": {
244
+ "/bodhi/v1/apps/mcps/{id}/tools/refresh": {
249
245
  parameters: {
250
246
  query?: never;
251
247
  header?: never;
@@ -254,37 +250,32 @@ export interface paths {
254
250
  };
255
251
  get?: never;
256
252
  put?: never;
257
- /** Test API connectivity with a prompt. */
258
- post: operations["testApiModel"];
253
+ /** Refresh tools for an MCP instance via external app */
254
+ post: operations["appsRefreshMcpTools"];
259
255
  delete?: never;
260
256
  options?: never;
261
257
  head?: never;
262
258
  patch?: never;
263
259
  trace?: never;
264
260
  };
265
- "/bodhi/v1/api-models/{id}": {
261
+ "/bodhi/v1/apps/mcps/{id}/tools/{tool_name}/execute": {
266
262
  parameters: {
267
263
  query?: never;
268
264
  header?: never;
269
265
  path?: never;
270
266
  cookie?: never;
271
267
  };
272
- /**
273
- * Get API Model Configuration
274
- * @description Retrieves detailed configuration for a specific API model alias by ID. API keys are masked for security unless explicitly requested.
275
- */
276
- get: operations["getApiModel"];
277
- /** Update an existing API model configuration */
278
- put: operations["updateApiModel"];
279
- post?: never;
280
- /** Delete an API model configuration */
281
- delete: operations["deleteApiModel"];
268
+ get?: never;
269
+ put?: never;
270
+ /** Execute a tool on an MCP server via external app */
271
+ post: operations["appsExecuteMcpTool"];
272
+ delete?: never;
282
273
  options?: never;
283
274
  head?: never;
284
275
  patch?: never;
285
276
  trace?: never;
286
277
  };
287
- "/bodhi/v1/api-models/{id}/sync-models": {
278
+ "/bodhi/v1/apps/request-access": {
288
279
  parameters: {
289
280
  query?: never;
290
281
  header?: never;
@@ -294,28 +285,25 @@ export interface paths {
294
285
  get?: never;
295
286
  put?: never;
296
287
  /**
297
- * Sync Models to Cache
298
- * @description Synchronously fetches models from the external API and populates the cache. This ensures the cache is populated before returning. Primarily used for testing to avoid timing issues.
288
+ * Create Access Request
289
+ * @description Create an access request for an app to access user resources. Always creates a draft for user review. Unauthenticated endpoint.
299
290
  */
300
- post: operations["syncModels"];
291
+ post: operations["createAccessRequest"];
301
292
  delete?: never;
302
293
  options?: never;
303
294
  head?: never;
304
295
  patch?: never;
305
296
  trace?: never;
306
297
  };
307
- "/bodhi/v1/apps/access-requests/{id}": {
298
+ "/bodhi/v1/apps/toolsets": {
308
299
  parameters: {
309
300
  query?: never;
310
301
  header?: never;
311
302
  path?: never;
312
303
  cookie?: never;
313
304
  };
314
- /**
315
- * Get Access Request Status
316
- * @description Poll access request status. Requires app_client_id query parameter for security.
317
- */
318
- get: operations["getAccessRequestStatus"];
305
+ /** List toolsets accessible to the authenticated external app */
306
+ get: operations["appsListToolsets"];
319
307
  put?: never;
320
308
  post?: never;
321
309
  delete?: never;
@@ -324,7 +312,7 @@ export interface paths {
324
312
  patch?: never;
325
313
  trace?: never;
326
314
  };
327
- "/bodhi/v1/apps/request-access": {
315
+ "/bodhi/v1/apps/toolsets/{id}/tools/{tool_name}/execute": {
328
316
  parameters: {
329
317
  query?: never;
330
318
  header?: never;
@@ -333,11 +321,8 @@ export interface paths {
333
321
  };
334
322
  get?: never;
335
323
  put?: never;
336
- /**
337
- * Create Access Request
338
- * @description Create an access request for an app to access user resources. Always creates a draft for user review. Unauthenticated endpoint.
339
- */
340
- post: operations["createAccessRequest"];
324
+ /** Execute a tool on a toolset via external app */
325
+ post: operations["appsExecuteToolsetTool"];
341
326
  delete?: never;
342
327
  options?: never;
343
328
  head?: never;
@@ -727,7 +712,7 @@ export interface paths {
727
712
  patch?: never;
728
713
  trace?: never;
729
714
  };
730
- "/bodhi/v1/modelfiles": {
715
+ "/bodhi/v1/models": {
731
716
  parameters: {
732
717
  query?: never;
733
718
  header?: never;
@@ -735,10 +720,116 @@ export interface paths {
735
720
  cookie?: never;
736
721
  };
737
722
  /**
738
- * List Local Model Files
739
- * @description Retrieves paginated list of GGUF model files available in the local HuggingFace cache directory with metadata including repository, filename, snapshot ID, and file size. Requires any authenticated user (User level permissions or higher).
723
+ * List All Model Aliases
724
+ * @description Retrieves paginated list of all configured model aliases including user-defined aliases, model aliases, and API provider aliases with filtering and sorting options. Requires any authenticated user (User level permissions or higher).
740
725
  */
741
- get: operations["listModelFiles"];
726
+ get: operations["listAllModels"];
727
+ put?: never;
728
+ post?: never;
729
+ delete?: never;
730
+ options?: never;
731
+ head?: never;
732
+ patch?: never;
733
+ trace?: never;
734
+ };
735
+ "/bodhi/v1/models/alias": {
736
+ parameters: {
737
+ query?: never;
738
+ header?: never;
739
+ path?: never;
740
+ cookie?: never;
741
+ };
742
+ get?: never;
743
+ put?: never;
744
+ /** Create Alias */
745
+ post: operations["models_alias_create"];
746
+ delete?: never;
747
+ options?: never;
748
+ head?: never;
749
+ patch?: never;
750
+ trace?: never;
751
+ };
752
+ "/bodhi/v1/models/alias/{id}": {
753
+ parameters: {
754
+ query?: never;
755
+ header?: never;
756
+ path?: never;
757
+ cookie?: never;
758
+ };
759
+ get?: never;
760
+ /** Update Alias */
761
+ put: operations["models_alias_update"];
762
+ post?: never;
763
+ /** Delete a model alias by UUID */
764
+ delete: operations["models_alias_destroy"];
765
+ options?: never;
766
+ head?: never;
767
+ patch?: never;
768
+ trace?: never;
769
+ };
770
+ "/bodhi/v1/models/alias/{id}/copy": {
771
+ parameters: {
772
+ query?: never;
773
+ header?: never;
774
+ path?: never;
775
+ cookie?: never;
776
+ };
777
+ get?: never;
778
+ put?: never;
779
+ /** Copy a model alias */
780
+ post: operations["models_alias_copy"];
781
+ delete?: never;
782
+ options?: never;
783
+ head?: never;
784
+ patch?: never;
785
+ trace?: never;
786
+ };
787
+ "/bodhi/v1/models/api": {
788
+ parameters: {
789
+ query?: never;
790
+ header?: never;
791
+ path?: never;
792
+ cookie?: never;
793
+ };
794
+ get?: never;
795
+ put?: never;
796
+ /** Create a new API model configuration */
797
+ post: operations["createApiModel"];
798
+ delete?: never;
799
+ options?: never;
800
+ head?: never;
801
+ patch?: never;
802
+ trace?: never;
803
+ };
804
+ "/bodhi/v1/models/api/fetch-models": {
805
+ parameters: {
806
+ query?: never;
807
+ header?: never;
808
+ path?: never;
809
+ cookie?: never;
810
+ };
811
+ get?: never;
812
+ put?: never;
813
+ /** Fetch available models from the API. */
814
+ post: operations["fetchApiModels"];
815
+ delete?: never;
816
+ options?: never;
817
+ head?: never;
818
+ patch?: never;
819
+ trace?: never;
820
+ };
821
+ "/bodhi/v1/models/api/formats": {
822
+ parameters: {
823
+ query?: never;
824
+ header?: never;
825
+ path?: never;
826
+ cookie?: never;
827
+ };
828
+ /**
829
+ * Get Available API Formats
830
+ * @description Retrieves list of supported API formats/protocols (e.g., OpenAI).
831
+ */
832
+ get: operations["getApiFormats"];
742
833
  put?: never;
743
834
  post?: never;
744
835
  delete?: never;
@@ -747,7 +838,24 @@ export interface paths {
747
838
  patch?: never;
748
839
  trace?: never;
749
840
  };
750
- "/bodhi/v1/modelfiles/pull": {
841
+ "/bodhi/v1/models/api/test": {
842
+ parameters: {
843
+ query?: never;
844
+ header?: never;
845
+ path?: never;
846
+ cookie?: never;
847
+ };
848
+ get?: never;
849
+ put?: never;
850
+ /** Test API connectivity with a prompt. */
851
+ post: operations["testApiModel"];
852
+ delete?: never;
853
+ options?: never;
854
+ head?: never;
855
+ patch?: never;
856
+ trace?: never;
857
+ };
858
+ "/bodhi/v1/models/api/{id}": {
751
859
  parameters: {
752
860
  query?: never;
753
861
  header?: never;
@@ -755,23 +863,41 @@ export interface paths {
755
863
  cookie?: never;
756
864
  };
757
865
  /**
758
- * List Model Download Requests
759
- * @description Retrieves paginated list of all model download requests with their current status, progress, and metadata. Includes both active downloads and completed/failed requests.
866
+ * Get API Model Configuration
867
+ * @description Retrieves detailed configuration for a specific API model alias by ID. API keys are masked for security unless explicitly requested.
760
868
  */
761
- get: operations["listDownloads"];
869
+ get: operations["getApiModel"];
870
+ /** Update an existing API model configuration */
871
+ put: operations["updateApiModel"];
872
+ post?: never;
873
+ /** Delete an API model configuration */
874
+ delete: operations["deleteApiModel"];
875
+ options?: never;
876
+ head?: never;
877
+ patch?: never;
878
+ trace?: never;
879
+ };
880
+ "/bodhi/v1/models/api/{id}/sync-models": {
881
+ parameters: {
882
+ query?: never;
883
+ header?: never;
884
+ path?: never;
885
+ cookie?: never;
886
+ };
887
+ get?: never;
762
888
  put?: never;
763
889
  /**
764
- * Start Model File Download
765
- * @description Initiates a new model file download from HuggingFace repository. Creates a download request that can be tracked for progress. Returns existing request if download is already in progress.
890
+ * Sync Models to Cache
891
+ * @description Synchronously fetches models from the external API and populates the cache. This ensures the cache is populated before returning. Primarily used for testing to avoid timing issues.
766
892
  */
767
- post: operations["pullModelFile"];
893
+ post: operations["syncModels"];
768
894
  delete?: never;
769
895
  options?: never;
770
896
  head?: never;
771
897
  patch?: never;
772
898
  trace?: never;
773
899
  };
774
- "/bodhi/v1/modelfiles/pull/{id}": {
900
+ "/bodhi/v1/models/files": {
775
901
  parameters: {
776
902
  query?: never;
777
903
  header?: never;
@@ -779,10 +905,10 @@ export interface paths {
779
905
  cookie?: never;
780
906
  };
781
907
  /**
782
- * Get Download Request Status
783
- * @description Retrieves the current status and progress information for a specific model download request. Includes download progress, error details, and completion status.
908
+ * List Local Model Files
909
+ * @description Retrieves paginated list of GGUF model files available in the local HuggingFace cache directory with metadata including repository, filename, snapshot ID, and file size. Requires any authenticated user (User level permissions or higher).
784
910
  */
785
- get: operations["getDownloadStatus"];
911
+ get: operations["listModelFiles"];
786
912
  put?: never;
787
913
  post?: never;
788
914
  delete?: never;
@@ -791,7 +917,7 @@ export interface paths {
791
917
  patch?: never;
792
918
  trace?: never;
793
919
  };
794
- "/bodhi/v1/models": {
920
+ "/bodhi/v1/models/files/pull": {
795
921
  parameters: {
796
922
  query?: never;
797
923
  header?: never;
@@ -799,13 +925,36 @@ export interface paths {
799
925
  cookie?: never;
800
926
  };
801
927
  /**
802
- * List All Model Aliases
803
- * @description Retrieves paginated list of all configured model aliases including user-defined aliases, model aliases, and API provider aliases with filtering and sorting options. Requires any authenticated user (User level permissions or higher).
928
+ * List Model Download Requests
929
+ * @description Retrieves paginated list of all model download requests with their current status, progress, and metadata. Includes both active downloads and completed/failed requests.
804
930
  */
805
- get: operations["listAllModels"];
931
+ get: operations["listDownloads"];
806
932
  put?: never;
807
- /** Create Alias */
808
- post: operations["createAlias"];
933
+ /**
934
+ * Start Model File Download
935
+ * @description Initiates a new model file download from HuggingFace repository. Creates a download request that can be tracked for progress. Returns existing request if download is already in progress.
936
+ */
937
+ post: operations["pullModelFile"];
938
+ delete?: never;
939
+ options?: never;
940
+ head?: never;
941
+ patch?: never;
942
+ trace?: never;
943
+ };
944
+ "/bodhi/v1/models/files/pull/{id}": {
945
+ parameters: {
946
+ query?: never;
947
+ header?: never;
948
+ path?: never;
949
+ cookie?: never;
950
+ };
951
+ /**
952
+ * Get Download Request Status
953
+ * @description Retrieves the current status and progress information for a specific model download request. Includes download progress, error details, and completion status.
954
+ */
955
+ get: operations["getDownloadStatus"];
956
+ put?: never;
957
+ post?: never;
809
958
  delete?: never;
810
959
  options?: never;
811
960
  head?: never;
@@ -850,27 +999,8 @@ export interface paths {
850
999
  * @description Retrieves detailed information for a specific model alias by UUID. Requires any authenticated user (User level permissions or higher).
851
1000
  */
852
1001
  get: operations["getAlias"];
853
- /** Update Alias */
854
- put: operations["updateAlias"];
855
- post?: never;
856
- /** Delete a model alias by UUID */
857
- delete: operations["deleteAlias"];
858
- options?: never;
859
- head?: never;
860
- patch?: never;
861
- trace?: never;
862
- };
863
- "/bodhi/v1/models/{id}/copy": {
864
- parameters: {
865
- query?: never;
866
- header?: never;
867
- path?: never;
868
- cookie?: never;
869
- };
870
- get?: never;
871
1002
  put?: never;
872
- /** Copy a model alias */
873
- post: operations["copyAlias"];
1003
+ post?: never;
874
1004
  delete?: never;
875
1005
  options?: never;
876
1006
  head?: never;
@@ -1437,9 +1567,8 @@ export interface components {
1437
1567
  /** @description Current status: "draft", "approved", "denied", "failed" */
1438
1568
  status: components["schemas"]["AppAccessRequestStatus"];
1439
1569
  /** @description Role requested by the app */
1440
- requested_role: string;
1441
- /** @description Role approved (present when approved) */
1442
- approved_role?: string | null;
1570
+ requested_role: components["schemas"]["UserScope"];
1571
+ approved_role?: null | components["schemas"]["UserScope"];
1443
1572
  /** @description Access request scope (present when user-approved with tools) */
1444
1573
  access_request_scope?: string | null;
1445
1574
  };
@@ -1479,6 +1608,7 @@ export interface components {
1479
1608
  id: string;
1480
1609
  api_format: components["schemas"]["ApiFormat"];
1481
1610
  base_url: string;
1611
+ has_api_key: boolean;
1482
1612
  /** @description Models available through this alias (merged from cache for forward_all) */
1483
1613
  models: string[];
1484
1614
  prefix?: string | null;
@@ -1516,36 +1646,6 @@ export interface components {
1516
1646
  /** @enum {string} */
1517
1647
  action: "set";
1518
1648
  };
1519
- /**
1520
- * @description Output type for API model configuration.
1521
- * @example {
1522
- * "api_format": "openai",
1523
- * "base_url": "https://api.openai.com/v1",
1524
- * "created_at": "2024-01-01T00:00:00Z",
1525
- * "forward_all_with_prefix": false,
1526
- * "has_api_key": true,
1527
- * "id": "openai-gpt4",
1528
- * "models": [
1529
- * "gpt-4",
1530
- * "gpt-3.5-turbo"
1531
- * ],
1532
- * "prefix": "openai",
1533
- * "updated_at": "2024-01-01T00:00:00Z"
1534
- * }
1535
- */
1536
- ApiModelOutput: {
1537
- id: string;
1538
- api_format: components["schemas"]["ApiFormat"];
1539
- base_url: string;
1540
- has_api_key: boolean;
1541
- models: string[];
1542
- prefix?: string | null;
1543
- forward_all_with_prefix: boolean;
1544
- /** Format: date-time */
1545
- created_at: string;
1546
- /** Format: date-time */
1547
- updated_at: string;
1548
- };
1549
1649
  /**
1550
1650
  * @description Input request for creating or updating an API model configuration.
1551
1651
  * @example {
@@ -3196,13 +3296,6 @@ export interface components {
3196
3296
  page: number;
3197
3297
  page_size: number;
3198
3298
  };
3199
- /** @description Paginated response for API model listings */
3200
- PaginatedApiModelOutput: {
3201
- data: components["schemas"]["ApiModelOutput"][];
3202
- total: number;
3203
- page: number;
3204
- page_size: number;
3205
- };
3206
3299
  /** @description Paginated list of download requests */
3207
3300
  PaginatedDownloadResponse: {
3208
3301
  data: components["schemas"]["DownloadRequest"][];
@@ -4739,44 +4832,28 @@ export interface operations {
4739
4832
  };
4740
4833
  };
4741
4834
  };
4742
- listApiModels: {
4835
+ getAccessRequestStatus: {
4743
4836
  parameters: {
4744
- query?: {
4745
- /** @description Page number (1-based indexing) */
4746
- page?: number;
4747
- /** @description Number of items to return per page (maximum 100) */
4748
- page_size?: number;
4749
- /** @description Field to sort by. Common values: repo, filename, size, updated_at, snapshot, created_at */
4750
- sort?: string;
4751
- /** @description Sort order: 'asc' for ascending, 'desc' for descending */
4752
- sort_order?: string;
4837
+ query: {
4838
+ /** @description App client ID for verification */
4839
+ app_client_id: string;
4753
4840
  };
4754
4841
  header?: never;
4755
- path?: never;
4842
+ path: {
4843
+ /** @description Access request ID */
4844
+ id: string;
4845
+ };
4756
4846
  cookie?: never;
4757
4847
  };
4758
4848
  requestBody?: never;
4759
4849
  responses: {
4760
- /** @description API model configurations retrieved successfully */
4850
+ /** @description Status retrieved */
4761
4851
  200: {
4762
4852
  headers: {
4763
4853
  [name: string]: unknown;
4764
4854
  };
4765
4855
  content: {
4766
- /** @example {
4767
- * "data": [
4768
- * {
4769
- * "api_format": "openai",
4770
- * "base_url": "https://api.openai.com/v1",
4771
- * "has_api_key": true,
4772
- * "id": "openai-gpt4"
4773
- * }
4774
- * ],
4775
- * "page": 1,
4776
- * "page_size": 10,
4777
- * "total": 1
4778
- * } */
4779
- "application/json": components["schemas"]["PaginatedApiModelOutput"];
4856
+ "application/json": components["schemas"]["AccessRequestStatusResponse"];
4780
4857
  };
4781
4858
  };
4782
4859
  /** @description Invalid request parameters */
@@ -4806,6 +4883,15 @@ export interface operations {
4806
4883
  "application/json": components["schemas"]["OpenAIApiError"];
4807
4884
  };
4808
4885
  };
4886
+ /** @description Not found or app_client_id mismatch */
4887
+ 404: {
4888
+ headers: {
4889
+ [name: string]: unknown;
4890
+ };
4891
+ content: {
4892
+ "application/json": components["schemas"]["OpenAIApiError"];
4893
+ };
4894
+ };
4809
4895
  /** @description Internal server error */
4810
4896
  500: {
4811
4897
  headers: {
@@ -4817,26 +4903,22 @@ export interface operations {
4817
4903
  };
4818
4904
  };
4819
4905
  };
4820
- createApiModel: {
4906
+ appsListMcps: {
4821
4907
  parameters: {
4822
4908
  query?: never;
4823
4909
  header?: never;
4824
4910
  path?: never;
4825
4911
  cookie?: never;
4826
4912
  };
4827
- requestBody: {
4828
- content: {
4829
- "application/json": components["schemas"]["ApiModelRequest"];
4830
- };
4831
- };
4913
+ requestBody?: never;
4832
4914
  responses: {
4833
- /** @description API model created */
4834
- 201: {
4915
+ /** @description List of MCP instances accessible to the external app */
4916
+ 200: {
4835
4917
  headers: {
4836
4918
  [name: string]: unknown;
4837
4919
  };
4838
4920
  content: {
4839
- "application/json": components["schemas"]["ApiModelOutput"];
4921
+ "application/json": components["schemas"]["ListMcpsResponse"];
4840
4922
  };
4841
4923
  };
4842
4924
  /** @description Invalid request parameters */
@@ -4866,15 +4948,6 @@ export interface operations {
4866
4948
  "application/json": components["schemas"]["OpenAIApiError"];
4867
4949
  };
4868
4950
  };
4869
- /** @description Alias already exists */
4870
- 409: {
4871
- headers: {
4872
- [name: string]: unknown;
4873
- };
4874
- content: {
4875
- "application/json": components["schemas"]["OpenAIApiError"];
4876
- };
4877
- };
4878
4951
  /** @description Internal server error */
4879
4952
  500: {
4880
4953
  headers: {
@@ -4886,27 +4959,25 @@ export interface operations {
4886
4959
  };
4887
4960
  };
4888
4961
  };
4889
- getApiFormats: {
4962
+ appsGetMcp: {
4890
4963
  parameters: {
4891
4964
  query?: never;
4892
4965
  header?: never;
4893
- path?: never;
4966
+ path: {
4967
+ /** @description MCP instance UUID */
4968
+ id: string;
4969
+ };
4894
4970
  cookie?: never;
4895
4971
  };
4896
4972
  requestBody?: never;
4897
4973
  responses: {
4898
- /** @description API formats retrieved successfully */
4974
+ /** @description MCP instance */
4899
4975
  200: {
4900
4976
  headers: {
4901
4977
  [name: string]: unknown;
4902
4978
  };
4903
4979
  content: {
4904
- /** @example {
4905
- * "data": [
4906
- * "openai"
4907
- * ]
4908
- * } */
4909
- "application/json": components["schemas"]["ApiFormatsResponse"];
4980
+ "application/json": components["schemas"]["Mcp"];
4910
4981
  };
4911
4982
  };
4912
4983
  /** @description Invalid request parameters */
@@ -4936,6 +5007,13 @@ export interface operations {
4936
5007
  "application/json": components["schemas"]["OpenAIApiError"];
4937
5008
  };
4938
5009
  };
5010
+ /** @description MCP not found */
5011
+ 404: {
5012
+ headers: {
5013
+ [name: string]: unknown;
5014
+ };
5015
+ content?: never;
5016
+ };
4939
5017
  /** @description Internal server error */
4940
5018
  500: {
4941
5019
  headers: {
@@ -4947,26 +5025,25 @@ export interface operations {
4947
5025
  };
4948
5026
  };
4949
5027
  };
4950
- fetchApiModels: {
5028
+ appsRefreshMcpTools: {
4951
5029
  parameters: {
4952
5030
  query?: never;
4953
5031
  header?: never;
4954
- path?: never;
4955
- cookie?: never;
4956
- };
4957
- requestBody: {
4958
- content: {
4959
- "application/json": components["schemas"]["FetchModelsRequest"];
5032
+ path: {
5033
+ /** @description MCP instance UUID */
5034
+ id: string;
4960
5035
  };
5036
+ cookie?: never;
4961
5037
  };
5038
+ requestBody?: never;
4962
5039
  responses: {
4963
- /** @description Available models */
5040
+ /** @description Refreshed list of tools */
4964
5041
  200: {
4965
5042
  headers: {
4966
5043
  [name: string]: unknown;
4967
5044
  };
4968
5045
  content: {
4969
- "application/json": components["schemas"]["FetchModelsResponse"];
5046
+ "application/json": components["schemas"]["McpToolsResponse"];
4970
5047
  };
4971
5048
  };
4972
5049
  /** @description Invalid request parameters */
@@ -4996,6 +5073,13 @@ export interface operations {
4996
5073
  "application/json": components["schemas"]["OpenAIApiError"];
4997
5074
  };
4998
5075
  };
5076
+ /** @description MCP not found */
5077
+ 404: {
5078
+ headers: {
5079
+ [name: string]: unknown;
5080
+ };
5081
+ content?: never;
5082
+ };
4999
5083
  /** @description Internal server error */
5000
5084
  500: {
5001
5085
  headers: {
@@ -5007,26 +5091,31 @@ export interface operations {
5007
5091
  };
5008
5092
  };
5009
5093
  };
5010
- testApiModel: {
5094
+ appsExecuteMcpTool: {
5011
5095
  parameters: {
5012
5096
  query?: never;
5013
5097
  header?: never;
5014
- path?: never;
5098
+ path: {
5099
+ /** @description MCP instance UUID */
5100
+ id: string;
5101
+ /** @description Tool name to execute */
5102
+ tool_name: string;
5103
+ };
5015
5104
  cookie?: never;
5016
5105
  };
5017
5106
  requestBody: {
5018
5107
  content: {
5019
- "application/json": components["schemas"]["TestPromptRequest"];
5108
+ "application/json": components["schemas"]["McpExecuteRequest"];
5020
5109
  };
5021
5110
  };
5022
5111
  responses: {
5023
- /** @description Test result */
5112
+ /** @description Tool execution result */
5024
5113
  200: {
5025
5114
  headers: {
5026
5115
  [name: string]: unknown;
5027
5116
  };
5028
5117
  content: {
5029
- "application/json": components["schemas"]["TestPromptResponse"];
5118
+ "application/json": components["schemas"]["McpExecuteResponse"];
5030
5119
  };
5031
5120
  };
5032
5121
  /** @description Invalid request parameters */
@@ -5056,6 +5145,13 @@ export interface operations {
5056
5145
  "application/json": components["schemas"]["OpenAIApiError"];
5057
5146
  };
5058
5147
  };
5148
+ /** @description MCP or tool not found */
5149
+ 404: {
5150
+ headers: {
5151
+ [name: string]: unknown;
5152
+ };
5153
+ content?: never;
5154
+ };
5059
5155
  /** @description Internal server error */
5060
5156
  500: {
5061
5157
  headers: {
@@ -5067,37 +5163,27 @@ export interface operations {
5067
5163
  };
5068
5164
  };
5069
5165
  };
5070
- getApiModel: {
5166
+ createAccessRequest: {
5071
5167
  parameters: {
5072
5168
  query?: never;
5073
5169
  header?: never;
5074
- path: {
5075
- /**
5076
- * @description Unique identifier for the API model alias
5077
- * @example openai-gpt4
5078
- */
5079
- id: string;
5080
- };
5170
+ path?: never;
5081
5171
  cookie?: never;
5082
5172
  };
5083
- requestBody?: never;
5173
+ /** @description Access request details */
5174
+ requestBody: {
5175
+ content: {
5176
+ "application/json": components["schemas"]["CreateAccessRequest"];
5177
+ };
5178
+ };
5084
5179
  responses: {
5085
- /** @description API model configuration retrieved successfully */
5086
- 200: {
5180
+ /** @description Access request created */
5181
+ 201: {
5087
5182
  headers: {
5088
5183
  [name: string]: unknown;
5089
5184
  };
5090
5185
  content: {
5091
- /** @example {
5092
- * "api_format": "openai",
5093
- * "base_url": "https://api.openai.com/v1",
5094
- * "has_api_key": true,
5095
- * "id": "openai-gpt4",
5096
- * "models": [
5097
- * "gpt-4"
5098
- * ]
5099
- * } */
5100
- "application/json": components["schemas"]["ApiModelOutput"];
5186
+ "application/json": components["schemas"]["CreateAccessRequestResponse"];
5101
5187
  };
5102
5188
  };
5103
5189
  /** @description Invalid request parameters */
@@ -5127,19 +5213,12 @@ export interface operations {
5127
5213
  "application/json": components["schemas"]["OpenAIApiError"];
5128
5214
  };
5129
5215
  };
5130
- /** @description API model with specified ID not found */
5216
+ /** @description App client not found */
5131
5217
  404: {
5132
5218
  headers: {
5133
5219
  [name: string]: unknown;
5134
5220
  };
5135
5221
  content: {
5136
- /** @example {
5137
- * "error": {
5138
- * "code": "entity_not_found",
5139
- * "message": "API model 'invalid-model' not found",
5140
- * "type": "not_found_error"
5141
- * }
5142
- * } */
5143
5222
  "application/json": components["schemas"]["OpenAIApiError"];
5144
5223
  };
5145
5224
  };
@@ -5154,29 +5233,22 @@ export interface operations {
5154
5233
  };
5155
5234
  };
5156
5235
  };
5157
- updateApiModel: {
5236
+ appsListToolsets: {
5158
5237
  parameters: {
5159
5238
  query?: never;
5160
5239
  header?: never;
5161
- path: {
5162
- /** @description API model ID */
5163
- id: string;
5164
- };
5240
+ path?: never;
5165
5241
  cookie?: never;
5166
5242
  };
5167
- requestBody: {
5168
- content: {
5169
- "application/json": components["schemas"]["ApiModelRequest"];
5170
- };
5171
- };
5243
+ requestBody?: never;
5172
5244
  responses: {
5173
- /** @description API model updated */
5245
+ /** @description List of toolsets accessible to the external app */
5174
5246
  200: {
5175
5247
  headers: {
5176
5248
  [name: string]: unknown;
5177
5249
  };
5178
5250
  content: {
5179
- "application/json": components["schemas"]["ApiModelOutput"];
5251
+ "application/json": components["schemas"]["ListToolsetsResponse"];
5180
5252
  };
5181
5253
  };
5182
5254
  /** @description Invalid request parameters */
@@ -5206,15 +5278,6 @@ export interface operations {
5206
5278
  "application/json": components["schemas"]["OpenAIApiError"];
5207
5279
  };
5208
5280
  };
5209
- /** @description API model not found */
5210
- 404: {
5211
- headers: {
5212
- [name: string]: unknown;
5213
- };
5214
- content: {
5215
- "application/json": components["schemas"]["OpenAIApiError"];
5216
- };
5217
- };
5218
5281
  /** @description Internal server error */
5219
5282
  500: {
5220
5283
  headers: {
@@ -5226,24 +5289,32 @@ export interface operations {
5226
5289
  };
5227
5290
  };
5228
5291
  };
5229
- deleteApiModel: {
5292
+ appsExecuteToolsetTool: {
5230
5293
  parameters: {
5231
5294
  query?: never;
5232
5295
  header?: never;
5233
5296
  path: {
5234
- /** @description API model ID */
5297
+ /** @description Toolset instance UUID */
5235
5298
  id: string;
5299
+ /** @description Tool name to execute */
5300
+ tool_name: string;
5236
5301
  };
5237
5302
  cookie?: never;
5238
5303
  };
5239
- requestBody?: never;
5304
+ requestBody: {
5305
+ content: {
5306
+ "application/json": components["schemas"]["ExecuteToolsetRequest"];
5307
+ };
5308
+ };
5240
5309
  responses: {
5241
- /** @description API model deleted */
5242
- 204: {
5310
+ /** @description Tool execution result */
5311
+ 200: {
5243
5312
  headers: {
5244
5313
  [name: string]: unknown;
5245
5314
  };
5246
- content?: never;
5315
+ content: {
5316
+ "application/json": components["schemas"]["ToolsetExecutionResponse"];
5317
+ };
5247
5318
  };
5248
5319
  /** @description Invalid request parameters */
5249
5320
  400: {
@@ -5272,14 +5343,12 @@ export interface operations {
5272
5343
  "application/json": components["schemas"]["OpenAIApiError"];
5273
5344
  };
5274
5345
  };
5275
- /** @description API model not found */
5346
+ /** @description Toolset or method not found */
5276
5347
  404: {
5277
5348
  headers: {
5278
5349
  [name: string]: unknown;
5279
5350
  };
5280
- content: {
5281
- "application/json": components["schemas"]["OpenAIApiError"];
5282
- };
5351
+ content?: never;
5283
5352
  };
5284
5353
  /** @description Internal server error */
5285
5354
  500: {
@@ -5292,236 +5361,11 @@ export interface operations {
5292
5361
  };
5293
5362
  };
5294
5363
  };
5295
- syncModels: {
5364
+ completeOAuthFlow: {
5296
5365
  parameters: {
5297
5366
  query?: never;
5298
5367
  header?: never;
5299
- path: {
5300
- /**
5301
- * @description Unique identifier for the API model alias
5302
- * @example openai-gpt4
5303
- */
5304
- id: string;
5305
- };
5306
- cookie?: never;
5307
- };
5308
- requestBody?: never;
5309
- responses: {
5310
- /** @description Models synced to cache successfully */
5311
- 200: {
5312
- headers: {
5313
- [name: string]: unknown;
5314
- };
5315
- content: {
5316
- /** @example {
5317
- * "api_format": "openai",
5318
- * "base_url": "https://api.openai.com/v1",
5319
- * "created_at": "2024-01-01T00:00:00Z",
5320
- * "forward_all_with_prefix": false,
5321
- * "has_api_key": true,
5322
- * "id": "openai-gpt4",
5323
- * "models": [
5324
- * "gpt-4",
5325
- * "gpt-3.5-turbo",
5326
- * "gpt-4-turbo"
5327
- * ],
5328
- * "prefix": null,
5329
- * "updated_at": "2024-01-01T00:00:00Z"
5330
- * } */
5331
- "application/json": components["schemas"]["ApiModelOutput"];
5332
- };
5333
- };
5334
- /** @description Invalid request parameters */
5335
- 400: {
5336
- headers: {
5337
- [name: string]: unknown;
5338
- };
5339
- content: {
5340
- "application/json": components["schemas"]["OpenAIApiError"];
5341
- };
5342
- };
5343
- /** @description Not authenticated */
5344
- 401: {
5345
- headers: {
5346
- [name: string]: unknown;
5347
- };
5348
- content: {
5349
- "application/json": components["schemas"]["OpenAIApiError"];
5350
- };
5351
- };
5352
- /** @description Insufficient permissions */
5353
- 403: {
5354
- headers: {
5355
- [name: string]: unknown;
5356
- };
5357
- content: {
5358
- "application/json": components["schemas"]["OpenAIApiError"];
5359
- };
5360
- };
5361
- /** @description API model not found */
5362
- 404: {
5363
- headers: {
5364
- [name: string]: unknown;
5365
- };
5366
- content?: never;
5367
- };
5368
- /** @description Internal server error */
5369
- 500: {
5370
- headers: {
5371
- [name: string]: unknown;
5372
- };
5373
- content: {
5374
- "application/json": components["schemas"]["OpenAIApiError"];
5375
- };
5376
- };
5377
- };
5378
- };
5379
- getAccessRequestStatus: {
5380
- parameters: {
5381
- query: {
5382
- /** @description App client ID for verification */
5383
- app_client_id: string;
5384
- };
5385
- header?: never;
5386
- path: {
5387
- /** @description Access request ID */
5388
- id: string;
5389
- };
5390
- cookie?: never;
5391
- };
5392
- requestBody?: never;
5393
- responses: {
5394
- /** @description Status retrieved */
5395
- 200: {
5396
- headers: {
5397
- [name: string]: unknown;
5398
- };
5399
- content: {
5400
- "application/json": components["schemas"]["AccessRequestStatusResponse"];
5401
- };
5402
- };
5403
- /** @description Invalid request parameters */
5404
- 400: {
5405
- headers: {
5406
- [name: string]: unknown;
5407
- };
5408
- content: {
5409
- "application/json": components["schemas"]["OpenAIApiError"];
5410
- };
5411
- };
5412
- /** @description Not authenticated */
5413
- 401: {
5414
- headers: {
5415
- [name: string]: unknown;
5416
- };
5417
- content: {
5418
- "application/json": components["schemas"]["OpenAIApiError"];
5419
- };
5420
- };
5421
- /** @description Insufficient permissions */
5422
- 403: {
5423
- headers: {
5424
- [name: string]: unknown;
5425
- };
5426
- content: {
5427
- "application/json": components["schemas"]["OpenAIApiError"];
5428
- };
5429
- };
5430
- /** @description Not found or app_client_id mismatch */
5431
- 404: {
5432
- headers: {
5433
- [name: string]: unknown;
5434
- };
5435
- content: {
5436
- "application/json": components["schemas"]["OpenAIApiError"];
5437
- };
5438
- };
5439
- /** @description Internal server error */
5440
- 500: {
5441
- headers: {
5442
- [name: string]: unknown;
5443
- };
5444
- content: {
5445
- "application/json": components["schemas"]["OpenAIApiError"];
5446
- };
5447
- };
5448
- };
5449
- };
5450
- createAccessRequest: {
5451
- parameters: {
5452
- query?: never;
5453
- header?: never;
5454
- path?: never;
5455
- cookie?: never;
5456
- };
5457
- /** @description Access request details */
5458
- requestBody: {
5459
- content: {
5460
- "application/json": components["schemas"]["CreateAccessRequest"];
5461
- };
5462
- };
5463
- responses: {
5464
- /** @description Access request created */
5465
- 201: {
5466
- headers: {
5467
- [name: string]: unknown;
5468
- };
5469
- content: {
5470
- "application/json": components["schemas"]["CreateAccessRequestResponse"];
5471
- };
5472
- };
5473
- /** @description Invalid request parameters */
5474
- 400: {
5475
- headers: {
5476
- [name: string]: unknown;
5477
- };
5478
- content: {
5479
- "application/json": components["schemas"]["OpenAIApiError"];
5480
- };
5481
- };
5482
- /** @description Not authenticated */
5483
- 401: {
5484
- headers: {
5485
- [name: string]: unknown;
5486
- };
5487
- content: {
5488
- "application/json": components["schemas"]["OpenAIApiError"];
5489
- };
5490
- };
5491
- /** @description Insufficient permissions */
5492
- 403: {
5493
- headers: {
5494
- [name: string]: unknown;
5495
- };
5496
- content: {
5497
- "application/json": components["schemas"]["OpenAIApiError"];
5498
- };
5499
- };
5500
- /** @description App client not found */
5501
- 404: {
5502
- headers: {
5503
- [name: string]: unknown;
5504
- };
5505
- content: {
5506
- "application/json": components["schemas"]["OpenAIApiError"];
5507
- };
5508
- };
5509
- /** @description Internal server error */
5510
- 500: {
5511
- headers: {
5512
- [name: string]: unknown;
5513
- };
5514
- content: {
5515
- "application/json": components["schemas"]["OpenAIApiError"];
5516
- };
5517
- };
5518
- };
5519
- };
5520
- completeOAuthFlow: {
5521
- parameters: {
5522
- query?: never;
5523
- header?: never;
5524
- path?: never;
5368
+ path?: never;
5525
5369
  cookie?: never;
5526
5370
  };
5527
5371
  /** @description OAuth callback parameters from authorization server */
@@ -7400,7 +7244,7 @@ export interface operations {
7400
7244
  };
7401
7245
  };
7402
7246
  };
7403
- listModelFiles: {
7247
+ listAllModels: {
7404
7248
  parameters: {
7405
7249
  query?: {
7406
7250
  /** @description Page number (1-based indexing) */
@@ -7418,7 +7262,7 @@ export interface operations {
7418
7262
  };
7419
7263
  requestBody?: never;
7420
7264
  responses: {
7421
- /** @description Local model files retrieved successfully from cache */
7265
+ /** @description Paginated list of model aliases retrieved successfully */
7422
7266
  200: {
7423
7267
  headers: {
7424
7268
  [name: string]: unknown;
@@ -7427,17 +7271,45 @@ export interface operations {
7427
7271
  /** @example {
7428
7272
  * "data": [
7429
7273
  * {
7430
- * "filename": "mistral-7b-instruct-v0.1.Q4_K_M.gguf",
7431
- * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
7432
- * "size": 4815162,
7433
- * "snapshot_id": "ab12cd34"
7274
+ * "alias": "llama2:chat",
7275
+ * "context_params": [
7276
+ * "--ctx_size",
7277
+ * "4096"
7278
+ * ],
7279
+ * "filename": "llama-2-7b-chat.Q4_K_M.gguf",
7280
+ * "repo": "TheBloke/Llama-2-7B-Chat-GGUF",
7281
+ * "request_params": {
7282
+ * "temperature": 0.7,
7283
+ * "top_p": 0.95
7284
+ * },
7285
+ * "snapshot": "abc123",
7286
+ * "source": "user"
7287
+ * },
7288
+ * {
7289
+ * "alias": "TheBloke/Llama-2-7B-Chat-GGUF:Q4_K_M",
7290
+ * "filename": "llama-2-7b-chat.Q4_K_M.gguf",
7291
+ * "repo": "TheBloke/Llama-2-7B-Chat-GGUF",
7292
+ * "snapshot": "abc123",
7293
+ * "source": "model"
7294
+ * },
7295
+ * {
7296
+ * "api_format": "openai",
7297
+ * "base_url": "https://api.openai.com/v1",
7298
+ * "created_at": "2024-01-01T00:00:00Z",
7299
+ * "id": "openai-gpt4",
7300
+ * "models": [
7301
+ * "gpt-4",
7302
+ * "gpt-3.5-turbo"
7303
+ * ],
7304
+ * "source": "api",
7305
+ * "updated_at": "2024-01-01T00:00:00Z"
7434
7306
  * }
7435
7307
  * ],
7436
7308
  * "page": 1,
7437
7309
  * "page_size": 10,
7438
- * "total": 1
7310
+ * "total": 3
7439
7311
  * } */
7440
- "application/json": components["schemas"]["PaginatedLocalModelResponse"];
7312
+ "application/json": components["schemas"]["PaginatedAliasResponse"];
7441
7313
  };
7442
7314
  };
7443
7315
  /** @description Invalid request parameters */
@@ -7478,47 +7350,544 @@ export interface operations {
7478
7350
  };
7479
7351
  };
7480
7352
  };
7481
- listDownloads: {
7353
+ models_alias_create: {
7482
7354
  parameters: {
7483
- query?: {
7484
- /** @description Page number (1-based indexing) */
7485
- page?: number;
7486
- /** @description Number of items to return per page (maximum 100) */
7487
- page_size?: number;
7488
- /** @description Field to sort by. Common values: repo, filename, size, updated_at, snapshot, created_at */
7489
- sort?: string;
7490
- /** @description Sort order: 'asc' for ascending, 'desc' for descending */
7491
- sort_order?: string;
7355
+ query?: never;
7356
+ header?: never;
7357
+ path?: never;
7358
+ cookie?: never;
7359
+ };
7360
+ requestBody: {
7361
+ content: {
7362
+ "application/json": components["schemas"]["UserAliasRequest"];
7363
+ };
7364
+ };
7365
+ responses: {
7366
+ /** @description Alias created succesfully */
7367
+ 201: {
7368
+ headers: {
7369
+ [name: string]: unknown;
7370
+ };
7371
+ content: {
7372
+ "application/json": components["schemas"]["UserAliasResponse"];
7373
+ };
7374
+ };
7375
+ /** @description Invalid request parameters */
7376
+ 400: {
7377
+ headers: {
7378
+ [name: string]: unknown;
7379
+ };
7380
+ content: {
7381
+ "application/json": components["schemas"]["OpenAIApiError"];
7382
+ };
7383
+ };
7384
+ /** @description Not authenticated */
7385
+ 401: {
7386
+ headers: {
7387
+ [name: string]: unknown;
7388
+ };
7389
+ content: {
7390
+ "application/json": components["schemas"]["OpenAIApiError"];
7391
+ };
7392
+ };
7393
+ /** @description Insufficient permissions */
7394
+ 403: {
7395
+ headers: {
7396
+ [name: string]: unknown;
7397
+ };
7398
+ content: {
7399
+ "application/json": components["schemas"]["OpenAIApiError"];
7400
+ };
7401
+ };
7402
+ /** @description Internal server error */
7403
+ 500: {
7404
+ headers: {
7405
+ [name: string]: unknown;
7406
+ };
7407
+ content: {
7408
+ "application/json": components["schemas"]["OpenAIApiError"];
7409
+ };
7492
7410
  };
7411
+ };
7412
+ };
7413
+ models_alias_update: {
7414
+ parameters: {
7415
+ query?: never;
7416
+ header?: never;
7417
+ path: {
7418
+ /** @description UUID of the alias to update */
7419
+ id: string;
7420
+ };
7421
+ cookie?: never;
7422
+ };
7423
+ requestBody: {
7424
+ content: {
7425
+ "application/json": components["schemas"]["UserAliasRequest"];
7426
+ };
7427
+ };
7428
+ responses: {
7429
+ /** @description Alias updated succesfully */
7430
+ 200: {
7431
+ headers: {
7432
+ [name: string]: unknown;
7433
+ };
7434
+ content: {
7435
+ "application/json": components["schemas"]["UserAliasResponse"];
7436
+ };
7437
+ };
7438
+ /** @description Invalid request parameters */
7439
+ 400: {
7440
+ headers: {
7441
+ [name: string]: unknown;
7442
+ };
7443
+ content: {
7444
+ "application/json": components["schemas"]["OpenAIApiError"];
7445
+ };
7446
+ };
7447
+ /** @description Not authenticated */
7448
+ 401: {
7449
+ headers: {
7450
+ [name: string]: unknown;
7451
+ };
7452
+ content: {
7453
+ "application/json": components["schemas"]["OpenAIApiError"];
7454
+ };
7455
+ };
7456
+ /** @description Insufficient permissions */
7457
+ 403: {
7458
+ headers: {
7459
+ [name: string]: unknown;
7460
+ };
7461
+ content: {
7462
+ "application/json": components["schemas"]["OpenAIApiError"];
7463
+ };
7464
+ };
7465
+ /** @description Internal server error */
7466
+ 500: {
7467
+ headers: {
7468
+ [name: string]: unknown;
7469
+ };
7470
+ content: {
7471
+ "application/json": components["schemas"]["OpenAIApiError"];
7472
+ };
7473
+ };
7474
+ };
7475
+ };
7476
+ models_alias_destroy: {
7477
+ parameters: {
7478
+ query?: never;
7479
+ header?: never;
7480
+ path: {
7481
+ /** @description UUID of the alias to delete */
7482
+ id: string;
7483
+ };
7484
+ cookie?: never;
7485
+ };
7486
+ requestBody?: never;
7487
+ responses: {
7488
+ /** @description Alias deleted successfully */
7489
+ 200: {
7490
+ headers: {
7491
+ [name: string]: unknown;
7492
+ };
7493
+ content?: never;
7494
+ };
7495
+ /** @description Invalid request parameters */
7496
+ 400: {
7497
+ headers: {
7498
+ [name: string]: unknown;
7499
+ };
7500
+ content: {
7501
+ "application/json": components["schemas"]["OpenAIApiError"];
7502
+ };
7503
+ };
7504
+ /** @description Not authenticated */
7505
+ 401: {
7506
+ headers: {
7507
+ [name: string]: unknown;
7508
+ };
7509
+ content: {
7510
+ "application/json": components["schemas"]["OpenAIApiError"];
7511
+ };
7512
+ };
7513
+ /** @description Insufficient permissions */
7514
+ 403: {
7515
+ headers: {
7516
+ [name: string]: unknown;
7517
+ };
7518
+ content: {
7519
+ "application/json": components["schemas"]["OpenAIApiError"];
7520
+ };
7521
+ };
7522
+ /** @description Alias not found */
7523
+ 404: {
7524
+ headers: {
7525
+ [name: string]: unknown;
7526
+ };
7527
+ content?: never;
7528
+ };
7529
+ /** @description Internal server error */
7530
+ 500: {
7531
+ headers: {
7532
+ [name: string]: unknown;
7533
+ };
7534
+ content: {
7535
+ "application/json": components["schemas"]["OpenAIApiError"];
7536
+ };
7537
+ };
7538
+ };
7539
+ };
7540
+ models_alias_copy: {
7541
+ parameters: {
7542
+ query?: never;
7543
+ header?: never;
7544
+ path: {
7545
+ /** @description UUID of the alias to copy */
7546
+ id: string;
7547
+ };
7548
+ cookie?: never;
7549
+ };
7550
+ requestBody: {
7551
+ content: {
7552
+ "application/json": components["schemas"]["CopyAliasRequest"];
7553
+ };
7554
+ };
7555
+ responses: {
7556
+ /** @description Alias copied successfully */
7557
+ 201: {
7558
+ headers: {
7559
+ [name: string]: unknown;
7560
+ };
7561
+ content: {
7562
+ "application/json": components["schemas"]["UserAliasResponse"];
7563
+ };
7564
+ };
7565
+ /** @description Invalid request parameters */
7566
+ 400: {
7567
+ headers: {
7568
+ [name: string]: unknown;
7569
+ };
7570
+ content: {
7571
+ "application/json": components["schemas"]["OpenAIApiError"];
7572
+ };
7573
+ };
7574
+ /** @description Not authenticated */
7575
+ 401: {
7576
+ headers: {
7577
+ [name: string]: unknown;
7578
+ };
7579
+ content: {
7580
+ "application/json": components["schemas"]["OpenAIApiError"];
7581
+ };
7582
+ };
7583
+ /** @description Insufficient permissions */
7584
+ 403: {
7585
+ headers: {
7586
+ [name: string]: unknown;
7587
+ };
7588
+ content: {
7589
+ "application/json": components["schemas"]["OpenAIApiError"];
7590
+ };
7591
+ };
7592
+ /** @description Source alias not found */
7593
+ 404: {
7594
+ headers: {
7595
+ [name: string]: unknown;
7596
+ };
7597
+ content?: never;
7598
+ };
7599
+ /** @description Internal server error */
7600
+ 500: {
7601
+ headers: {
7602
+ [name: string]: unknown;
7603
+ };
7604
+ content: {
7605
+ "application/json": components["schemas"]["OpenAIApiError"];
7606
+ };
7607
+ };
7608
+ };
7609
+ };
7610
+ createApiModel: {
7611
+ parameters: {
7612
+ query?: never;
7613
+ header?: never;
7614
+ path?: never;
7615
+ cookie?: never;
7616
+ };
7617
+ requestBody: {
7618
+ content: {
7619
+ "application/json": components["schemas"]["ApiModelRequest"];
7620
+ };
7621
+ };
7622
+ responses: {
7623
+ /** @description API model created */
7624
+ 201: {
7625
+ headers: {
7626
+ [name: string]: unknown;
7627
+ };
7628
+ content: {
7629
+ "application/json": components["schemas"]["ApiAliasResponse"];
7630
+ };
7631
+ };
7632
+ /** @description Invalid request parameters */
7633
+ 400: {
7634
+ headers: {
7635
+ [name: string]: unknown;
7636
+ };
7637
+ content: {
7638
+ "application/json": components["schemas"]["OpenAIApiError"];
7639
+ };
7640
+ };
7641
+ /** @description Not authenticated */
7642
+ 401: {
7643
+ headers: {
7644
+ [name: string]: unknown;
7645
+ };
7646
+ content: {
7647
+ "application/json": components["schemas"]["OpenAIApiError"];
7648
+ };
7649
+ };
7650
+ /** @description Insufficient permissions */
7651
+ 403: {
7652
+ headers: {
7653
+ [name: string]: unknown;
7654
+ };
7655
+ content: {
7656
+ "application/json": components["schemas"]["OpenAIApiError"];
7657
+ };
7658
+ };
7659
+ /** @description Alias already exists */
7660
+ 409: {
7661
+ headers: {
7662
+ [name: string]: unknown;
7663
+ };
7664
+ content: {
7665
+ "application/json": components["schemas"]["OpenAIApiError"];
7666
+ };
7667
+ };
7668
+ /** @description Internal server error */
7669
+ 500: {
7670
+ headers: {
7671
+ [name: string]: unknown;
7672
+ };
7673
+ content: {
7674
+ "application/json": components["schemas"]["OpenAIApiError"];
7675
+ };
7676
+ };
7677
+ };
7678
+ };
7679
+ fetchApiModels: {
7680
+ parameters: {
7681
+ query?: never;
7682
+ header?: never;
7683
+ path?: never;
7684
+ cookie?: never;
7685
+ };
7686
+ requestBody: {
7687
+ content: {
7688
+ "application/json": components["schemas"]["FetchModelsRequest"];
7689
+ };
7690
+ };
7691
+ responses: {
7692
+ /** @description Available models */
7693
+ 200: {
7694
+ headers: {
7695
+ [name: string]: unknown;
7696
+ };
7697
+ content: {
7698
+ "application/json": components["schemas"]["FetchModelsResponse"];
7699
+ };
7700
+ };
7701
+ /** @description Invalid request parameters */
7702
+ 400: {
7703
+ headers: {
7704
+ [name: string]: unknown;
7705
+ };
7706
+ content: {
7707
+ "application/json": components["schemas"]["OpenAIApiError"];
7708
+ };
7709
+ };
7710
+ /** @description Not authenticated */
7711
+ 401: {
7712
+ headers: {
7713
+ [name: string]: unknown;
7714
+ };
7715
+ content: {
7716
+ "application/json": components["schemas"]["OpenAIApiError"];
7717
+ };
7718
+ };
7719
+ /** @description Insufficient permissions */
7720
+ 403: {
7721
+ headers: {
7722
+ [name: string]: unknown;
7723
+ };
7724
+ content: {
7725
+ "application/json": components["schemas"]["OpenAIApiError"];
7726
+ };
7727
+ };
7728
+ /** @description Internal server error */
7729
+ 500: {
7730
+ headers: {
7731
+ [name: string]: unknown;
7732
+ };
7733
+ content: {
7734
+ "application/json": components["schemas"]["OpenAIApiError"];
7735
+ };
7736
+ };
7737
+ };
7738
+ };
7739
+ getApiFormats: {
7740
+ parameters: {
7741
+ query?: never;
7742
+ header?: never;
7743
+ path?: never;
7744
+ cookie?: never;
7745
+ };
7746
+ requestBody?: never;
7747
+ responses: {
7748
+ /** @description API formats retrieved successfully */
7749
+ 200: {
7750
+ headers: {
7751
+ [name: string]: unknown;
7752
+ };
7753
+ content: {
7754
+ /** @example {
7755
+ * "data": [
7756
+ * "openai"
7757
+ * ]
7758
+ * } */
7759
+ "application/json": components["schemas"]["ApiFormatsResponse"];
7760
+ };
7761
+ };
7762
+ /** @description Invalid request parameters */
7763
+ 400: {
7764
+ headers: {
7765
+ [name: string]: unknown;
7766
+ };
7767
+ content: {
7768
+ "application/json": components["schemas"]["OpenAIApiError"];
7769
+ };
7770
+ };
7771
+ /** @description Not authenticated */
7772
+ 401: {
7773
+ headers: {
7774
+ [name: string]: unknown;
7775
+ };
7776
+ content: {
7777
+ "application/json": components["schemas"]["OpenAIApiError"];
7778
+ };
7779
+ };
7780
+ /** @description Insufficient permissions */
7781
+ 403: {
7782
+ headers: {
7783
+ [name: string]: unknown;
7784
+ };
7785
+ content: {
7786
+ "application/json": components["schemas"]["OpenAIApiError"];
7787
+ };
7788
+ };
7789
+ /** @description Internal server error */
7790
+ 500: {
7791
+ headers: {
7792
+ [name: string]: unknown;
7793
+ };
7794
+ content: {
7795
+ "application/json": components["schemas"]["OpenAIApiError"];
7796
+ };
7797
+ };
7798
+ };
7799
+ };
7800
+ testApiModel: {
7801
+ parameters: {
7802
+ query?: never;
7493
7803
  header?: never;
7494
7804
  path?: never;
7495
7805
  cookie?: never;
7496
7806
  };
7807
+ requestBody: {
7808
+ content: {
7809
+ "application/json": components["schemas"]["TestPromptRequest"];
7810
+ };
7811
+ };
7812
+ responses: {
7813
+ /** @description Test result */
7814
+ 200: {
7815
+ headers: {
7816
+ [name: string]: unknown;
7817
+ };
7818
+ content: {
7819
+ "application/json": components["schemas"]["TestPromptResponse"];
7820
+ };
7821
+ };
7822
+ /** @description Invalid request parameters */
7823
+ 400: {
7824
+ headers: {
7825
+ [name: string]: unknown;
7826
+ };
7827
+ content: {
7828
+ "application/json": components["schemas"]["OpenAIApiError"];
7829
+ };
7830
+ };
7831
+ /** @description Not authenticated */
7832
+ 401: {
7833
+ headers: {
7834
+ [name: string]: unknown;
7835
+ };
7836
+ content: {
7837
+ "application/json": components["schemas"]["OpenAIApiError"];
7838
+ };
7839
+ };
7840
+ /** @description Insufficient permissions */
7841
+ 403: {
7842
+ headers: {
7843
+ [name: string]: unknown;
7844
+ };
7845
+ content: {
7846
+ "application/json": components["schemas"]["OpenAIApiError"];
7847
+ };
7848
+ };
7849
+ /** @description Internal server error */
7850
+ 500: {
7851
+ headers: {
7852
+ [name: string]: unknown;
7853
+ };
7854
+ content: {
7855
+ "application/json": components["schemas"]["OpenAIApiError"];
7856
+ };
7857
+ };
7858
+ };
7859
+ };
7860
+ getApiModel: {
7861
+ parameters: {
7862
+ query?: never;
7863
+ header?: never;
7864
+ path: {
7865
+ /**
7866
+ * @description Unique identifier for the API model alias
7867
+ * @example openai-gpt4
7868
+ */
7869
+ id: string;
7870
+ };
7871
+ cookie?: never;
7872
+ };
7497
7873
  requestBody?: never;
7498
7874
  responses: {
7499
- /** @description Model download requests retrieved successfully */
7875
+ /** @description API model configuration retrieved successfully */
7500
7876
  200: {
7501
7877
  headers: {
7502
7878
  [name: string]: unknown;
7503
7879
  };
7504
7880
  content: {
7505
7881
  /** @example {
7506
- * "data": [
7507
- * {
7508
- * "created_at": "2024-01-15T10:30:00Z",
7509
- * "filename": "mistral-7b-instruct-v0.1.Q4_K_M.gguf",
7510
- * "id": "download_123",
7511
- * "progress": 45.5,
7512
- * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
7513
- * "status": "downloading",
7514
- * "updated_at": "2024-01-15T10:35:00Z"
7515
- * }
7516
- * ],
7517
- * "page": 1,
7518
- * "page_size": 10,
7519
- * "total": 1
7882
+ * "api_format": "openai",
7883
+ * "base_url": "https://api.openai.com/v1",
7884
+ * "has_api_key": true,
7885
+ * "id": "openai-gpt4",
7886
+ * "models": [
7887
+ * "gpt-4"
7888
+ * ]
7520
7889
  * } */
7521
- "application/json": components["schemas"]["PaginatedDownloadResponse"];
7890
+ "application/json": components["schemas"]["ApiAliasResponse"];
7522
7891
  };
7523
7892
  };
7524
7893
  /** @description Invalid request parameters */
@@ -7548,6 +7917,22 @@ export interface operations {
7548
7917
  "application/json": components["schemas"]["OpenAIApiError"];
7549
7918
  };
7550
7919
  };
7920
+ /** @description API model with specified ID not found */
7921
+ 404: {
7922
+ headers: {
7923
+ [name: string]: unknown;
7924
+ };
7925
+ content: {
7926
+ /** @example {
7927
+ * "error": {
7928
+ * "code": "entity_not_found",
7929
+ * "message": "API model 'invalid-model' not found",
7930
+ * "type": "not_found_error"
7931
+ * }
7932
+ * } */
7933
+ "application/json": components["schemas"]["OpenAIApiError"];
7934
+ };
7935
+ };
7551
7936
  /** @description Internal server error */
7552
7937
  500: {
7553
7938
  headers: {
@@ -7559,59 +7944,96 @@ export interface operations {
7559
7944
  };
7560
7945
  };
7561
7946
  };
7562
- pullModelFile: {
7947
+ updateApiModel: {
7563
7948
  parameters: {
7564
7949
  query?: never;
7565
7950
  header?: never;
7566
- path?: never;
7951
+ path: {
7952
+ /** @description API model ID */
7953
+ id: string;
7954
+ };
7567
7955
  cookie?: never;
7568
7956
  };
7569
- /** @description Model file download specification with repository and filename */
7570
7957
  requestBody: {
7571
7958
  content: {
7572
- /** @example {
7573
- * "filename": "mistral-7b-instruct-v0.1.Q8_0.gguf",
7574
- * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF"
7575
- * } */
7576
- "application/json": components["schemas"]["NewDownloadRequest"];
7959
+ "application/json": components["schemas"]["ApiModelRequest"];
7577
7960
  };
7578
7961
  };
7579
7962
  responses: {
7580
- /** @description Existing download request found */
7963
+ /** @description API model updated */
7581
7964
  200: {
7582
7965
  headers: {
7583
7966
  [name: string]: unknown;
7584
7967
  };
7585
7968
  content: {
7586
- /** @example {
7587
- * "created_at": "2024-11-10T04:52:06.786Z",
7588
- * "error": null,
7589
- * "filename": "mistral-7b-instruct-v0.1.Q8_0.gguf",
7590
- * "id": "550e8400-e29b-41d4-a716-446655440000",
7591
- * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
7592
- * "status": "pending",
7593
- * "updated_at": "2024-11-10T04:52:06.786Z"
7594
- * } */
7595
- "application/json": components["schemas"]["DownloadRequest"];
7969
+ "application/json": components["schemas"]["ApiAliasResponse"];
7596
7970
  };
7597
7971
  };
7598
- /** @description Download request created */
7599
- 201: {
7972
+ /** @description Invalid request parameters */
7973
+ 400: {
7600
7974
  headers: {
7601
7975
  [name: string]: unknown;
7602
7976
  };
7603
7977
  content: {
7604
- /** @example {
7605
- * "created_at": "2024-11-10T04:52:06.786Z",
7606
- * "error": null,
7607
- * "filename": "mistral-7b-instruct-v0.1.Q8_0.gguf",
7608
- * "id": "550e8400-e29b-41d4-a716-446655440000",
7609
- * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
7610
- * "status": "pending",
7611
- * "updated_at": "2024-11-10T04:52:06.786Z"
7612
- * } */
7613
- "application/json": components["schemas"]["DownloadRequest"];
7978
+ "application/json": components["schemas"]["OpenAIApiError"];
7979
+ };
7980
+ };
7981
+ /** @description Not authenticated */
7982
+ 401: {
7983
+ headers: {
7984
+ [name: string]: unknown;
7985
+ };
7986
+ content: {
7987
+ "application/json": components["schemas"]["OpenAIApiError"];
7988
+ };
7989
+ };
7990
+ /** @description Insufficient permissions */
7991
+ 403: {
7992
+ headers: {
7993
+ [name: string]: unknown;
7994
+ };
7995
+ content: {
7996
+ "application/json": components["schemas"]["OpenAIApiError"];
7997
+ };
7998
+ };
7999
+ /** @description API model not found */
8000
+ 404: {
8001
+ headers: {
8002
+ [name: string]: unknown;
8003
+ };
8004
+ content: {
8005
+ "application/json": components["schemas"]["OpenAIApiError"];
8006
+ };
8007
+ };
8008
+ /** @description Internal server error */
8009
+ 500: {
8010
+ headers: {
8011
+ [name: string]: unknown;
8012
+ };
8013
+ content: {
8014
+ "application/json": components["schemas"]["OpenAIApiError"];
8015
+ };
8016
+ };
8017
+ };
8018
+ };
8019
+ deleteApiModel: {
8020
+ parameters: {
8021
+ query?: never;
8022
+ header?: never;
8023
+ path: {
8024
+ /** @description API model ID */
8025
+ id: string;
8026
+ };
8027
+ cookie?: never;
8028
+ };
8029
+ requestBody?: never;
8030
+ responses: {
8031
+ /** @description API model deleted */
8032
+ 204: {
8033
+ headers: {
8034
+ [name: string]: unknown;
7614
8035
  };
8036
+ content?: never;
7615
8037
  };
7616
8038
  /** @description Invalid request parameters */
7617
8039
  400: {
@@ -7640,6 +8062,15 @@ export interface operations {
7640
8062
  "application/json": components["schemas"]["OpenAIApiError"];
7641
8063
  };
7642
8064
  };
8065
+ /** @description API model not found */
8066
+ 404: {
8067
+ headers: {
8068
+ [name: string]: unknown;
8069
+ };
8070
+ content: {
8071
+ "application/json": components["schemas"]["OpenAIApiError"];
8072
+ };
8073
+ };
7643
8074
  /** @description Internal server error */
7644
8075
  500: {
7645
8076
  headers: {
@@ -7651,14 +8082,14 @@ export interface operations {
7651
8082
  };
7652
8083
  };
7653
8084
  };
7654
- getDownloadStatus: {
8085
+ syncModels: {
7655
8086
  parameters: {
7656
8087
  query?: never;
7657
8088
  header?: never;
7658
8089
  path: {
7659
8090
  /**
7660
- * @description Unique identifier of the download request (UUID format)
7661
- * @example 550e8400-e29b-41d4-a716-446655440000
8091
+ * @description Unique identifier for the API model alias
8092
+ * @example openai-gpt4
7662
8093
  */
7663
8094
  id: string;
7664
8095
  };
@@ -7666,22 +8097,28 @@ export interface operations {
7666
8097
  };
7667
8098
  requestBody?: never;
7668
8099
  responses: {
7669
- /** @description Download request found */
8100
+ /** @description Models synced to cache successfully */
7670
8101
  200: {
7671
8102
  headers: {
7672
8103
  [name: string]: unknown;
7673
8104
  };
7674
8105
  content: {
7675
8106
  /** @example {
7676
- * "created_at": "2024-11-10T04:52:06.786Z",
7677
- * "error": null,
7678
- * "filename": "mistral-7b-instruct-v0.1.Q8_0.gguf",
7679
- * "id": "550e8400-e29b-41d4-a716-446655440000",
7680
- * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
7681
- * "status": "completed",
7682
- * "updated_at": "2024-01-20T12:00:10Z"
8107
+ * "api_format": "openai",
8108
+ * "base_url": "https://api.openai.com/v1",
8109
+ * "created_at": "2024-01-01T00:00:00Z",
8110
+ * "forward_all_with_prefix": false,
8111
+ * "has_api_key": true,
8112
+ * "id": "openai-gpt4",
8113
+ * "models": [
8114
+ * "gpt-4",
8115
+ * "gpt-3.5-turbo",
8116
+ * "gpt-4-turbo"
8117
+ * ],
8118
+ * "prefix": null,
8119
+ * "updated_at": "2024-01-01T00:00:00Z"
7683
8120
  * } */
7684
- "application/json": components["schemas"]["DownloadRequest"];
8121
+ "application/json": components["schemas"]["ApiAliasResponse"];
7685
8122
  };
7686
8123
  };
7687
8124
  /** @description Invalid request parameters */
@@ -7711,21 +8148,12 @@ export interface operations {
7711
8148
  "application/json": components["schemas"]["OpenAIApiError"];
7712
8149
  };
7713
8150
  };
7714
- /** @description Download request not found */
7715
- 404: {
7716
- headers: {
7717
- [name: string]: unknown;
7718
- };
7719
- content: {
7720
- /** @example {
7721
- * "error": {
7722
- * "code": "db_error-item_not_found",
7723
- * "message": "item '550e8400-e29b-41d4-a716-446655440000' of type 'download_requests' not found in db",
7724
- * "type": "not_found_error"
7725
- * }
7726
- * } */
7727
- "application/json": components["schemas"]["OpenAIApiError"];
8151
+ /** @description API model not found */
8152
+ 404: {
8153
+ headers: {
8154
+ [name: string]: unknown;
7728
8155
  };
8156
+ content?: never;
7729
8157
  };
7730
8158
  /** @description Internal server error */
7731
8159
  500: {
@@ -7738,7 +8166,7 @@ export interface operations {
7738
8166
  };
7739
8167
  };
7740
8168
  };
7741
- listAllModels: {
8169
+ listModelFiles: {
7742
8170
  parameters: {
7743
8171
  query?: {
7744
8172
  /** @description Page number (1-based indexing) */
@@ -7756,7 +8184,7 @@ export interface operations {
7756
8184
  };
7757
8185
  requestBody?: never;
7758
8186
  responses: {
7759
- /** @description Paginated list of model aliases retrieved successfully */
8187
+ /** @description Local model files retrieved successfully from cache */
7760
8188
  200: {
7761
8189
  headers: {
7762
8190
  [name: string]: unknown;
@@ -7765,45 +8193,17 @@ export interface operations {
7765
8193
  /** @example {
7766
8194
  * "data": [
7767
8195
  * {
7768
- * "alias": "llama2:chat",
7769
- * "context_params": [
7770
- * "--ctx_size",
7771
- * "4096"
7772
- * ],
7773
- * "filename": "llama-2-7b-chat.Q4_K_M.gguf",
7774
- * "repo": "TheBloke/Llama-2-7B-Chat-GGUF",
7775
- * "request_params": {
7776
- * "temperature": 0.7,
7777
- * "top_p": 0.95
7778
- * },
7779
- * "snapshot": "abc123",
7780
- * "source": "user"
7781
- * },
7782
- * {
7783
- * "alias": "TheBloke/Llama-2-7B-Chat-GGUF:Q4_K_M",
7784
- * "filename": "llama-2-7b-chat.Q4_K_M.gguf",
7785
- * "repo": "TheBloke/Llama-2-7B-Chat-GGUF",
7786
- * "snapshot": "abc123",
7787
- * "source": "model"
7788
- * },
7789
- * {
7790
- * "api_format": "openai",
7791
- * "base_url": "https://api.openai.com/v1",
7792
- * "created_at": "2024-01-01T00:00:00Z",
7793
- * "id": "openai-gpt4",
7794
- * "models": [
7795
- * "gpt-4",
7796
- * "gpt-3.5-turbo"
7797
- * ],
7798
- * "source": "api",
7799
- * "updated_at": "2024-01-01T00:00:00Z"
8196
+ * "filename": "mistral-7b-instruct-v0.1.Q4_K_M.gguf",
8197
+ * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
8198
+ * "size": 4815162,
8199
+ * "snapshot_id": "ab12cd34"
7800
8200
  * }
7801
8201
  * ],
7802
8202
  * "page": 1,
7803
8203
  * "page_size": 10,
7804
- * "total": 3
8204
+ * "total": 1
7805
8205
  * } */
7806
- "application/json": components["schemas"]["PaginatedAliasResponse"];
8206
+ "application/json": components["schemas"]["PaginatedLocalModelResponse"];
7807
8207
  };
7808
8208
  };
7809
8209
  /** @description Invalid request parameters */
@@ -7844,26 +8244,47 @@ export interface operations {
7844
8244
  };
7845
8245
  };
7846
8246
  };
7847
- createAlias: {
8247
+ listDownloads: {
7848
8248
  parameters: {
7849
- query?: never;
8249
+ query?: {
8250
+ /** @description Page number (1-based indexing) */
8251
+ page?: number;
8252
+ /** @description Number of items to return per page (maximum 100) */
8253
+ page_size?: number;
8254
+ /** @description Field to sort by. Common values: repo, filename, size, updated_at, snapshot, created_at */
8255
+ sort?: string;
8256
+ /** @description Sort order: 'asc' for ascending, 'desc' for descending */
8257
+ sort_order?: string;
8258
+ };
7850
8259
  header?: never;
7851
8260
  path?: never;
7852
8261
  cookie?: never;
7853
8262
  };
7854
- requestBody: {
7855
- content: {
7856
- "application/json": components["schemas"]["UserAliasRequest"];
7857
- };
7858
- };
8263
+ requestBody?: never;
7859
8264
  responses: {
7860
- /** @description Alias created succesfully */
7861
- 201: {
8265
+ /** @description Model download requests retrieved successfully */
8266
+ 200: {
7862
8267
  headers: {
7863
8268
  [name: string]: unknown;
7864
8269
  };
7865
8270
  content: {
7866
- "application/json": components["schemas"]["UserAliasResponse"];
8271
+ /** @example {
8272
+ * "data": [
8273
+ * {
8274
+ * "created_at": "2024-01-15T10:30:00Z",
8275
+ * "filename": "mistral-7b-instruct-v0.1.Q4_K_M.gguf",
8276
+ * "id": "download_123",
8277
+ * "progress": 45.5,
8278
+ * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
8279
+ * "status": "downloading",
8280
+ * "updated_at": "2024-01-15T10:35:00Z"
8281
+ * }
8282
+ * ],
8283
+ * "page": 1,
8284
+ * "page_size": 10,
8285
+ * "total": 1
8286
+ * } */
8287
+ "application/json": components["schemas"]["PaginatedDownloadResponse"];
7867
8288
  };
7868
8289
  };
7869
8290
  /** @description Invalid request parameters */
@@ -7904,39 +8325,58 @@ export interface operations {
7904
8325
  };
7905
8326
  };
7906
8327
  };
7907
- refreshModelMetadata: {
8328
+ pullModelFile: {
7908
8329
  parameters: {
7909
8330
  query?: never;
7910
8331
  header?: never;
7911
8332
  path?: never;
7912
8333
  cookie?: never;
7913
8334
  };
7914
- /** @description Refresh request - either bulk (source='all') or single model (source='model' with identifiers) */
8335
+ /** @description Model file download specification with repository and filename */
7915
8336
  requestBody: {
7916
8337
  content: {
7917
- "application/json": components["schemas"]["RefreshRequest"];
8338
+ /** @example {
8339
+ * "filename": "mistral-7b-instruct-v0.1.Q8_0.gguf",
8340
+ * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF"
8341
+ * } */
8342
+ "application/json": components["schemas"]["NewDownloadRequest"];
7918
8343
  };
7919
8344
  };
7920
8345
  responses: {
7921
- /** @description Metadata refreshed successfully (sync mode) */
8346
+ /** @description Existing download request found */
7922
8347
  200: {
7923
8348
  headers: {
7924
8349
  [name: string]: unknown;
7925
8350
  };
7926
8351
  content: {
7927
- "application/json": components["schemas"]["ModelAliasResponse"];
8352
+ /** @example {
8353
+ * "created_at": "2024-11-10T04:52:06.786Z",
8354
+ * "error": null,
8355
+ * "filename": "mistral-7b-instruct-v0.1.Q8_0.gguf",
8356
+ * "id": "550e8400-e29b-41d4-a716-446655440000",
8357
+ * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
8358
+ * "status": "pending",
8359
+ * "updated_at": "2024-11-10T04:52:06.786Z"
8360
+ * } */
8361
+ "application/json": components["schemas"]["DownloadRequest"];
7928
8362
  };
7929
8363
  };
7930
- /** @description Metadata refresh queued in background (bulk mode) */
7931
- 202: {
8364
+ /** @description Download request created */
8365
+ 201: {
7932
8366
  headers: {
7933
8367
  [name: string]: unknown;
7934
8368
  };
7935
8369
  content: {
7936
8370
  /** @example {
7937
- * "num_queued": "all"
8371
+ * "created_at": "2024-11-10T04:52:06.786Z",
8372
+ * "error": null,
8373
+ * "filename": "mistral-7b-instruct-v0.1.Q8_0.gguf",
8374
+ * "id": "550e8400-e29b-41d4-a716-446655440000",
8375
+ * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
8376
+ * "status": "pending",
8377
+ * "updated_at": "2024-11-10T04:52:06.786Z"
7938
8378
  * } */
7939
- "application/json": components["schemas"]["RefreshResponse"];
8379
+ "application/json": components["schemas"]["DownloadRequest"];
7940
8380
  };
7941
8381
  };
7942
8382
  /** @description Invalid request parameters */
@@ -7966,13 +8406,6 @@ export interface operations {
7966
8406
  "application/json": components["schemas"]["OpenAIApiError"];
7967
8407
  };
7968
8408
  };
7969
- /** @description Model alias not found for specified repo/filename/snapshot */
7970
- 404: {
7971
- headers: {
7972
- [name: string]: unknown;
7973
- };
7974
- content?: never;
7975
- };
7976
8409
  /** @description Internal server error */
7977
8410
  500: {
7978
8411
  headers: {
@@ -7984,25 +8417,37 @@ export interface operations {
7984
8417
  };
7985
8418
  };
7986
8419
  };
7987
- getAlias: {
8420
+ getDownloadStatus: {
7988
8421
  parameters: {
7989
8422
  query?: never;
7990
8423
  header?: never;
7991
8424
  path: {
7992
- /** @description UUID of the alias */
8425
+ /**
8426
+ * @description Unique identifier of the download request (UUID format)
8427
+ * @example 550e8400-e29b-41d4-a716-446655440000
8428
+ */
7993
8429
  id: string;
7994
8430
  };
7995
8431
  cookie?: never;
7996
8432
  };
7997
8433
  requestBody?: never;
7998
8434
  responses: {
7999
- /** @description Model alias details */
8435
+ /** @description Download request found */
8000
8436
  200: {
8001
8437
  headers: {
8002
8438
  [name: string]: unknown;
8003
8439
  };
8004
8440
  content: {
8005
- "application/json": components["schemas"]["UserAliasResponse"];
8441
+ /** @example {
8442
+ * "created_at": "2024-11-10T04:52:06.786Z",
8443
+ * "error": null,
8444
+ * "filename": "mistral-7b-instruct-v0.1.Q8_0.gguf",
8445
+ * "id": "550e8400-e29b-41d4-a716-446655440000",
8446
+ * "repo": "TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
8447
+ * "status": "completed",
8448
+ * "updated_at": "2024-01-20T12:00:10Z"
8449
+ * } */
8450
+ "application/json": components["schemas"]["DownloadRequest"];
8006
8451
  };
8007
8452
  };
8008
8453
  /** @description Invalid request parameters */
@@ -8032,7 +8477,7 @@ export interface operations {
8032
8477
  "application/json": components["schemas"]["OpenAIApiError"];
8033
8478
  };
8034
8479
  };
8035
- /** @description Alias not found */
8480
+ /** @description Download request not found */
8036
8481
  404: {
8037
8482
  headers: {
8038
8483
  [name: string]: unknown;
@@ -8040,8 +8485,8 @@ export interface operations {
8040
8485
  content: {
8041
8486
  /** @example {
8042
8487
  * "error": {
8043
- * "code": "alias_not_found",
8044
- * "message": "Alias 'unknown:model' not found",
8488
+ * "code": "db_error-item_not_found",
8489
+ * "message": "item '550e8400-e29b-41d4-a716-446655440000' of type 'download_requests' not found in db",
8045
8490
  * "type": "not_found_error"
8046
8491
  * }
8047
8492
  * } */
@@ -8059,87 +8504,40 @@ export interface operations {
8059
8504
  };
8060
8505
  };
8061
8506
  };
8062
- updateAlias: {
8507
+ refreshModelMetadata: {
8063
8508
  parameters: {
8064
8509
  query?: never;
8065
8510
  header?: never;
8066
- path: {
8067
- /** @description UUID of the alias to update */
8068
- id: string;
8069
- };
8511
+ path?: never;
8070
8512
  cookie?: never;
8071
8513
  };
8514
+ /** @description Refresh request - either bulk (source='all') or single model (source='model' with identifiers) */
8072
8515
  requestBody: {
8073
8516
  content: {
8074
- "application/json": components["schemas"]["UserAliasRequest"];
8517
+ "application/json": components["schemas"]["RefreshRequest"];
8075
8518
  };
8076
8519
  };
8077
8520
  responses: {
8078
- /** @description Alias updated succesfully */
8521
+ /** @description Metadata refreshed successfully (sync mode) */
8079
8522
  200: {
8080
8523
  headers: {
8081
8524
  [name: string]: unknown;
8082
8525
  };
8083
8526
  content: {
8084
- "application/json": components["schemas"]["UserAliasResponse"];
8085
- };
8086
- };
8087
- /** @description Invalid request parameters */
8088
- 400: {
8089
- headers: {
8090
- [name: string]: unknown;
8091
- };
8092
- content: {
8093
- "application/json": components["schemas"]["OpenAIApiError"];
8094
- };
8095
- };
8096
- /** @description Not authenticated */
8097
- 401: {
8098
- headers: {
8099
- [name: string]: unknown;
8100
- };
8101
- content: {
8102
- "application/json": components["schemas"]["OpenAIApiError"];
8103
- };
8104
- };
8105
- /** @description Insufficient permissions */
8106
- 403: {
8107
- headers: {
8108
- [name: string]: unknown;
8109
- };
8110
- content: {
8111
- "application/json": components["schemas"]["OpenAIApiError"];
8527
+ "application/json": components["schemas"]["ModelAliasResponse"];
8112
8528
  };
8113
8529
  };
8114
- /** @description Internal server error */
8115
- 500: {
8530
+ /** @description Metadata refresh queued in background (bulk mode) */
8531
+ 202: {
8116
8532
  headers: {
8117
8533
  [name: string]: unknown;
8118
8534
  };
8119
8535
  content: {
8120
- "application/json": components["schemas"]["OpenAIApiError"];
8121
- };
8122
- };
8123
- };
8124
- };
8125
- deleteAlias: {
8126
- parameters: {
8127
- query?: never;
8128
- header?: never;
8129
- path: {
8130
- /** @description UUID of the alias to delete */
8131
- id: string;
8132
- };
8133
- cookie?: never;
8134
- };
8135
- requestBody?: never;
8136
- responses: {
8137
- /** @description Alias deleted successfully */
8138
- 200: {
8139
- headers: {
8140
- [name: string]: unknown;
8536
+ /** @example {
8537
+ * "num_queued": "all"
8538
+ * } */
8539
+ "application/json": components["schemas"]["RefreshResponse"];
8141
8540
  };
8142
- content?: never;
8143
8541
  };
8144
8542
  /** @description Invalid request parameters */
8145
8543
  400: {
@@ -8168,7 +8566,7 @@ export interface operations {
8168
8566
  "application/json": components["schemas"]["OpenAIApiError"];
8169
8567
  };
8170
8568
  };
8171
- /** @description Alias not found */
8569
+ /** @description Model alias not found for specified repo/filename/snapshot */
8172
8570
  404: {
8173
8571
  headers: {
8174
8572
  [name: string]: unknown;
@@ -8186,24 +8584,20 @@ export interface operations {
8186
8584
  };
8187
8585
  };
8188
8586
  };
8189
- copyAlias: {
8587
+ getAlias: {
8190
8588
  parameters: {
8191
8589
  query?: never;
8192
8590
  header?: never;
8193
8591
  path: {
8194
- /** @description UUID of the alias to copy */
8592
+ /** @description UUID of the alias */
8195
8593
  id: string;
8196
8594
  };
8197
8595
  cookie?: never;
8198
8596
  };
8199
- requestBody: {
8200
- content: {
8201
- "application/json": components["schemas"]["CopyAliasRequest"];
8202
- };
8203
- };
8597
+ requestBody?: never;
8204
8598
  responses: {
8205
- /** @description Alias copied successfully */
8206
- 201: {
8599
+ /** @description Model alias details */
8600
+ 200: {
8207
8601
  headers: {
8208
8602
  [name: string]: unknown;
8209
8603
  };
@@ -8238,12 +8632,21 @@ export interface operations {
8238
8632
  "application/json": components["schemas"]["OpenAIApiError"];
8239
8633
  };
8240
8634
  };
8241
- /** @description Source alias not found */
8635
+ /** @description Alias not found */
8242
8636
  404: {
8243
8637
  headers: {
8244
8638
  [name: string]: unknown;
8245
8639
  };
8246
- content?: never;
8640
+ content: {
8641
+ /** @example {
8642
+ * "error": {
8643
+ * "code": "alias_not_found",
8644
+ * "message": "Alias 'unknown:model' not found",
8645
+ * "type": "not_found_error"
8646
+ * }
8647
+ * } */
8648
+ "application/json": components["schemas"]["OpenAIApiError"];
8649
+ };
8247
8650
  };
8248
8651
  /** @description Internal server error */
8249
8652
  500: {